@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&family=Noto+Serif+JP:wght@400;500;600;700&display=swap');
:root{--cream:#fbf8f2;--paper:#fffdfa;--ink:#42352f;--muted:#796f65;--rose:#b85f70;--rose-dark:#944356;--blush:#f5e7e5;--gold:#ab8a52;--line:#e6dcd0;--serif:'Noto Serif JP','Yu Mincho',serif;--sans:'Noto Sans JP','Yu Gothic',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:112px}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.95;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input{font:inherit}a,button,summary{-webkit-tap-highlight-color:transparent}button{color:inherit}img{max-width:100%;height:auto;display:block}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:500}h2{font-size:clamp(27px,3.1vw,42px);line-height:1.7;letter-spacing:.06em;margin-bottom:25px}h3{font-size:21px;line-height:1.7}p{margin-bottom:20px}small,.small{font-size:12px}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid var(--rose);outline-offset:5px}::selection{background:#eed0d3}.container{width:min(1160px,calc(100% - 80px));margin-inline:auto}.narrow{max-width:820px}.center{text-align:center}.accent{color:var(--rose)}.eyebrow{font-family:Georgia,serif;font-size:12px;font-weight:400;letter-spacing:.19em;color:var(--gold);line-height:1.6;margin-bottom:16px}.eyebrow span{color:var(--rose);margin-left:8px}.section{padding:90px 0}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:36px}.section-heading h2{margin-bottom:0}.section-heading>p{color:var(--muted);font-size:14px;margin:0}.caption{font-size:11px;color:var(--muted);margin:24px 0 0}.button{display:inline-flex;align-items:center;justify-content:center;gap:32px;padding:17px 29px;min-height:58px;border-radius:4px;font-size:14px;font-weight:500;letter-spacing:.04em;border:1px solid transparent;transition:background .2s,transform .2s;cursor:pointer}.button:hover{transform:translateY(-2px)}.button span{font-size:20px;font-weight:400;line-height:1}.button-primary{background:var(--rose);color:white;box-shadow:0 6px 20px #9f4c5b16}.button-primary:hover{background:var(--rose-dark)}.button-outline{border-color:#bda88b;background:transparent;color:var(--ink)}.button-outline:hover{background:#efe6da}.button[aria-disabled=true]{cursor:default;transform:none;box-shadow:none;background:#e9ded6;color:#675b52}.text-link{display:inline-flex;align-items:center;gap:22px;font-size:13px;padding:7px 0;border-bottom:1px solid var(--gold);font-weight:500}.text-link span{color:var(--rose);font-size:18px}.text-link:hover{color:var(--rose)}.skip-link{position:fixed;top:-100px;left:20px;z-index:999;background:white;padding:10px 20px}.skip-link:focus{top:10px}.top-note{background:#efe3db;text-align:center;font-size:10px;color:#6c594b;letter-spacing:.12em;padding:5px 15px}.site-header{position:sticky;top:0;z-index:100;background:#fbf8f2f5;backdrop-filter:blur(14px);border-bottom:1px solid #e6dcd080}.header-inner{max-width:1360px;margin:auto;padding:17px 35px;display:flex;align-items:center;gap:25px;justify-content:space-between}.brand{display:block;flex-shrink:0;line-height:1.2}.brand-title{font-family:Georgia,serif;font-size:29px;letter-spacing:.015em}.brand-title b{font-weight:400;color:var(--rose)}.brand-sub{display:block;font-size:9px;letter-spacing:.15em;margin-top:7px;color:var(--muted)}.site-nav{display:flex;align-items:center;gap:25px;font-size:12px}.site-nav>a:not(.button){padding:12px 0}.site-nav>a:hover{color:var(--rose)}.site-nav .button{padding:11px 19px;min-height:44px;font-size:12px;gap:18px}.nav-dropdown{position:relative}.nav-dropdown summary{cursor:pointer;list-style:none;padding:12px 0}.nav-dropdown summary::-webkit-details-marker{display:none}.nav-dropdown summary:after{content:'⌄';margin-left:7px;color:var(--gold)}.nav-submenu{position:absolute;top:46px;left:-20px;width:240px;background:var(--paper);padding:15px 20px;box-shadow:0 12px 40px #634b381c;border:1px solid var(--line)}.nav-submenu a{display:block;padding:9px 0;border-bottom:1px solid var(--line)}.nav-submenu a:last-child{border:0}.nav-submenu a:hover{color:var(--rose)}.nav-helper{font-size:10px;text-align:right;padding:0 36px 9px;margin-top:-8px;color:var(--muted)}.nav-helper a:hover{text-decoration:underline}.menu-toggle{display:none;border:0;background:transparent;padding:10px;cursor:pointer;font-size:11px;letter-spacing:.1em}.menu-toggle i{display:block;height:1px;background:var(--ink);width:23px;margin:5px 0}.hero{position:relative;min-height:660px;overflow:hidden}.hero-visual{position:absolute;width:87%;right:0;top:0;height:100%;overflow:hidden}.hero-visual:after{position:absolute;content:'';inset:0;background:linear-gradient(90deg,var(--cream) 0%,#fbf8f2eb 12%,#fbf8f260 32%,transparent 52%)}.hero-visual img{width:100%;height:100%;object-fit:cover;object-position:70% center}.image-caption{position:absolute;bottom:14px;right:28px;font-family:Georgia,serif;letter-spacing:.12em;font-size:9px;z-index:2;color:#716457;background:#fffaf0aa;padding:3px 6px}.hero-content{position:relative;z-index:3;padding-top:63px;padding-bottom:58px;pointer-events:none}.hero-content>*{pointer-events:auto;max-width:540px}.hero-script{font-family:Georgia,serif;font-style:italic;font-size:19px;color:var(--gold);margin:0 0 18px}.hero h1{font-size:clamp(48px,5vw,70px);line-height:1.5;letter-spacing:.07em;margin:0 0 22px;font-weight:500}.hero h1 span{color:var(--rose)}.hero-description{font-size:14px;line-height:2.2;letter-spacing:.03em}.hero-actions{display:flex;align-items:center;gap:24px}.hero-small{margin-top:17px;font-size:11px;color:var(--muted)}.hero-side{position:absolute;writing-mode:vertical-rl;right:14px;top:120px;letter-spacing:.15em;font-family:Georgia,serif;font-size:10px;color:#786b5e;z-index:3}.event-ribbon{background:#f1e8dd;border-top:1px solid #e3d6c6;border-bottom:1px solid #e3d6c6}.ribbon-inner{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:23px 0}.ribbon-date{display:flex;align-items:center;gap:15px}.ribbon-year{font-family:Georgia,serif;font-size:17px;writing-mode:vertical-rl;color:var(--gold);letter-spacing:.1em}.ribbon-date>strong{font-family:Georgia,serif;font-size:61px;line-height:1;font-weight:400;letter-spacing:-.02em}.ribbon-day{font-family:Georgia,serif;font-size:13px;line-height:1.8;letter-spacing:.04em}.ribbon-venue{display:flex;flex-direction:column;border-left:1px solid #d8c7b3;padding-left:35px;font-size:11px}.ribbon-venue .eyebrow{margin:0;font-size:10px}.ribbon-venue strong{font-family:Georgia,serif;font-size:22px;font-weight:400}.ribbon-price{font-size:11px;display:flex;flex-direction:column}.ribbon-price>strong{font-family:Georgia,var(--serif);font-size:32px;font-weight:400;line-height:1.6;color:var(--rose)}.ribbon-price>strong>span{font-size:11px}.ribbon-price small{font-size:10px}.circle-link{width:45px;height:45px;border:1px solid #bfaa8c;border-radius:50%;display:grid;place-items:center;font-size:22px}.intro-section{position:relative;overflow:hidden;padding-top:100px}.intro-copy{font-size:15px;line-height:2.5;margin:30px 0}.intro-flower{position:absolute;right:-20px;bottom:8px;font-size:250px;line-height:1;color:#e8d5c45c;font-weight:100;transform:rotate(20deg)}.experience-section{background:#fffdfa}.experience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.experience-card{display:flex;flex-direction:column}.image-wrap{position:relative;overflow:hidden;aspect-ratio:1.25;margin-bottom:25px}.image-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.experience-card:hover img{transform:scale(1.04)}.experience-number{position:absolute;bottom:0;left:0;background:var(--paper);padding:7px 17px 0 0;font-family:Georgia,serif;color:var(--gold);font-size:29px;line-height:1.5}.experience-card .eyebrow{font-size:10px;margin:0 0 10px}.experience-card h3{font-size:21px;letter-spacing:.03em;margin:0 0 15px}.experience-card p:not(.eyebrow){font-size:12px;color:var(--muted);margin-bottom:22px}.card-link{margin-top:auto;padding-top:12px;border-top:1px solid var(--line);font-size:12px;display:flex;justify-content:space-between}.card-link b{font-weight:400;color:var(--rose);font-size:19px}.drink-feature{display:grid;grid-template-columns:1.15fr 1fr;background:#f2e8df;align-items:stretch}.drink-image img{width:100%;height:100%;object-fit:cover;min-height:460px}.drink-content{padding:70px max(45px,6vw)}.drink-content p:not(.eyebrow){font-size:13px}.drink-content small{display:block;font-size:10px;margin-top:24px;color:var(--muted);max-width:350px}.welcome-section{position:relative}.welcome-layout{display:grid;grid-template-columns:.85fr 1fr;align-items:center;gap:85px}.welcome-art{position:relative;max-width:365px;justify-self:center}.welcome-art:before{content:'';position:absolute;inset:20% -12% 2%;border-radius:50%;background:#f4e8df;z-index:-1}.welcome-art img{width:100%;max-height:565px;object-fit:contain}.welcome-content>p:not(.eyebrow){font-size:13px;color:var(--muted)}.welcome-points{padding:0;list-style:none;margin:27px 0}.welcome-points li{display:flex;gap:20px;padding:15px 0;border-bottom:1px solid var(--line)}.welcome-points li>span{font-family:Georgia,serif;color:var(--gold);font-size:20px}.welcome-points h3{font-size:17px;margin:0 0 5px}.welcome-points p{font-size:12px;margin:0;color:var(--muted)}.price-section{background:var(--blush)}.price-layout{display:grid;grid-template-columns:.8fr 1fr;gap:100px;align-items:center}.price-layout>div>p:not(.eyebrow){font-size:13px}.price-summary{background:#fffaf5;padding:35px 40px;border-top:2px solid var(--gold)}.price-label{font-size:13px;color:var(--rose);margin:0}.big-price{font-family:Georgia,var(--serif);font-size:69px;font-weight:400;line-height:1.5;color:var(--rose);margin:5px 0}.big-price span{font-size:15px;margin-left:8px}.regular-price{font-size:12px;color:var(--muted)}.price-includes{border-top:1px solid var(--line);padding-top:20px}.price-includes h3{font-family:var(--sans);font-size:12px;font-weight:600;margin:0 0 6px}.price-includes p{font-size:12px;margin-bottom:18px;line-height:1.9}.note{font-size:12px;color:var(--muted);line-height:1.9;border-left:2px solid #c9ae82;padding-left:16px;margin-top:20px}.home-steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);margin:20px 0 35px}.home-steps li{padding:20px 30px;border-left:1px solid var(--line)}.home-steps li:first-child{padding-left:0;border-left:0}.home-steps li>span{font-family:Georgia,serif;font-size:36px;color:#c1a476;line-height:1.4;display:block;margin-bottom:15px}.home-steps h3{font-size:19px}.home-steps p{font-size:12px;color:var(--muted);margin-bottom:0}.town-section{background:#e9ece4}.town-layout{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.town-script{font-family:Georgia,serif;font-style:italic;font-size:75px;line-height:1.2;letter-spacing:-.03em;color:#a3ad98;margin:0}.town-layout>div>p:not(.eyebrow){font-size:13px}.access-home{display:grid;grid-template-columns:1.15fr 1fr;gap:80px;align-items:center}.venue-name{font-family:Georgia,serif;font-size:23px;line-height:1.5;margin-bottom:20px}.venue-note{padding:35px 45px;background:#f1e9df;position:relative;text-align:center;border:1px solid #d7c3a7}.venue-big{font-family:Georgia,serif;font-size:85px;color:#b49a75;letter-spacing:-.08em;line-height:1.2}.venue-note>p{font-family:Georgia,var(--sans);font-size:16px;letter-spacing:.05em}.venue-note>p:nth-last-of-type(1){font-family:var(--sans);font-size:12px;line-height:2.2;letter-spacing:0}.venue-note hr{border:0;border-top:1px solid #d5c4ae;margin:25px 0}.home-faq{background:#fffdfa}.faq-group{border-top:1px solid var(--line)}.faq-group details{border-bottom:1px solid var(--line)}.faq-group summary{list-style:none;cursor:pointer;padding:23px 40px 23px 35px;position:relative;font-weight:500;font-size:14px}.faq-group summary::-webkit-details-marker{display:none}.faq-group summary:before{content:'Q';position:absolute;left:0;color:var(--rose);font-family:Georgia,serif;font-size:18px}.faq-group summary:after{content:'+';position:absolute;right:5px;color:var(--gold);font-size:22px;font-weight:400}.faq-group details[open] summary:after{content:'−'}.faq-group details>p,.faq-group details>div{margin:0;padding:0 35px 23px;font-size:13px;color:var(--muted)}.faq-group details a{color:var(--rose);text-decoration:underline;text-underline-offset:3px}.final-cta{position:relative;background:linear-gradient(120deg,#f2dedc,#f6ebe1 60%,#ece5d8);padding:80px 0}.final-cta h2{font-size:clamp(29px,3.2vw,42px)}.final-cta>div>p:not(.eyebrow){font-size:13px}.final-cta .small{margin:15px 0 0!important;font-size:11px!important}.site-footer{background:#423a33;color:#f2ebe2;padding:65px 0 25px}.footer-top{display:grid;grid-template-columns:.9fr 1.6fr;gap:60px}.site-footer .brand-title{font-size:36px}.site-footer .brand-sub{color:#d6c6b3}.footer-brand p{font-size:11px;margin:23px 0 0;color:#d7c9b9}.footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.footer-links a{display:block;font-size:11px;padding:4px 0;color:#e0d5c6}.footer-links a:hover{color:#f0afba}.footer-bottom{display:flex;justify-content:space-between;gap:30px;border-top:1px solid #675a4d;padding-top:20px;margin-top:40px;font-size:10px;color:#c6b7a4}.footer-bottom p{margin:0;max-width:650px}.mobile-action{display:none}.breadcrumb{font-size:10px;color:var(--muted);padding:24px 0}.breadcrumb a{text-decoration:underline;text-underline-offset:3px}.breadcrumb span{margin:0 10px}.page-hero{border-bottom:1px solid var(--line);background:linear-gradient(110deg,#f7eee5,var(--cream))}.page-hero-inner{display:grid;grid-template-columns:1fr .8fr;gap:70px;padding:35px 0 60px;align-items:center}.page-hero-inner.no-image{display:block;max-width:850px;margin-inline:0}.page-title{font-size:clamp(31px,4vw,51px);line-height:1.65;letter-spacing:.045em;margin-bottom:22px}.page-hero .lead{font-size:14px;color:var(--muted);max-width:650px}.page-image{position:relative}.page-image img{width:100%;aspect-ratio:1.55;object-fit:cover;border-radius:100px 0 0 0}.page-image.welcome img{object-fit:contain;aspect-ratio:1.6;border-radius:0;max-height:280px}.page-image .caption{position:absolute;bottom:5px;right:9px;background:#fff9;padding:0 7px;font-size:9px}.detail-body{max-width:1060px;width:calc(100% - 80px);margin-inline:auto;padding:20px 0 65px}.detail-body .section{padding:45px 0;border-bottom:1px solid var(--line)}.detail-body .section:last-child{border-bottom:0}.detail-body h2{font-size:28px;line-height:1.75}.detail-body h3{font-size:19px;margin-top:25px}.detail-body p,.detail-body li{font-size:14px}.detail-body .lead{font-size:16px}.detail-body a:not(.button){text-decoration:underline;text-underline-offset:4px;text-decoration-color:#c4a589}.detail-body a:hover{color:var(--rose)}.detail-body .eyebrow{font-size:12px}.detail-body .split{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center}.detail-body .split img{width:100%;max-height:430px;object-fit:cover}.prose{max-width:800px}.prose p{line-height:2.1}.paper{background:#fffcf6;padding:28px 32px;border:1px solid var(--line)}.info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:28px 0}.info-card{border-top:2px solid #bca07a;padding:23px;background:#fffdf8}.info-card h3{margin-top:0}.info-card p:last-child{margin-bottom:0}.detail-list{margin:25px 0}.detail-list>div{display:grid;grid-template-columns:180px 1fr;border-bottom:1px solid var(--line);padding:17px 0;gap:25px}.detail-list dt{font-size:13px;font-weight:500}.detail-list dd{margin:0;font-size:14px}.detail-list>dt{padding-top:15px;color:var(--gold);font-weight:500}.detail-list>dd{padding:5px 0 15px;border-bottom:1px solid var(--line)}.step-list{list-style:none;counter-reset:steps;padding:0;margin:25px 0}.step-list>li{counter-increment:steps;padding:20px 0 20px 55px;border-bottom:1px solid var(--line);position:relative}.step-list>li:before{content:counter(steps,decimal-leading-zero);position:absolute;left:0;top:17px;font-family:Georgia,serif;color:var(--gold);font-size:25px}.step-list h3{margin-top:0}.step-list p:last-child{margin-bottom:0}.fee-table{width:100%;border-collapse:collapse;margin:25px 0;text-align:left;font-size:14px}.fee-table th,.fee-table td{padding:19px 20px;border-bottom:1px solid var(--line);vertical-align:top}.fee-table th{font-weight:500;background:#eee4d8}.fee-table tbody td:last-child{font-family:var(--serif);font-size:20px}.tag{font-size:11px;padding:4px 9px;background:#f0e3d6;display:inline-block;margin:3px 6px 3px 0}.cta-inline{display:flex;gap:15px;align-items:center;flex-wrap:wrap;margin-top:28px}.entry-box{background:#f3e4e1;padding:32px;border:1px solid #d9b4b6}.entry-box h2,.entry-box h3{margin-top:0}.entry-status{display:inline-block;font-size:12px;color:var(--rose-dark);border:1px solid #c8959f;padding:5px 13px;margin-bottom:15px}.filter-bar{display:flex;flex-wrap:wrap;gap:10px;margin:25px 0}.filter-bar button,[data-filter]{padding:9px 18px;border:1px solid #cbb99f;border-radius:30px;background:transparent;cursor:pointer;font-size:12px}.filter-bar button[aria-pressed=true],[data-filter].active{background:var(--ink);border-color:var(--ink);color:white}[hidden]{display:none!important}.search-field{width:100%;max-width:500px;padding:14px 18px;border:1px solid #c8b99f;background:#fffdf8;border-radius:2px;margin:10px 0 25px}.empty-state{padding:25px;background:#f0e6dc}.last-updated{font-size:11px;color:var(--muted)}.page-return{display:flex;justify-content:space-between;margin-top:40px;font-size:12px}.mobile-only{display:none}.detail-body .container{width:100%}.detail-body img{margin:10px 0}.detail-body .note{font-size:12px}.detail-body .section-heading{margin-bottom:25px}.detail-body ul{padding-left:1.4em}.detail-body :where(h2,h3,section,div)[id]{scroll-margin-top:110px}
@media(min-width:1500px){.hero{min-height:740px}.hero-content{padding-top:80px}.hero h1{font-size:76px}}
@media(max-width:1150px){.site-nav{gap:15px;font-size:11px}.header-inner{padding-inline:25px;gap:15px}.brand-title{font-size:25px}.container{width:calc(100% - 60px)}.hero h1{font-size:58px}.hero-content>*{max-width:490px}.ribbon-inner{gap:20px}.ribbon-date>strong{font-size:52px}.ribbon-venue{padding-left:25px}.ribbon-venue strong{font-size:18px}.price-layout{gap:65px}.welcome-layout{gap:50px}}
@media(max-width:1000px){.header-inner{padding:14px 25px}.menu-toggle{display:block}.nav-helper{display:none}.site-nav{display:none}.site-nav.is-open{display:flex;position:fixed;left:0;right:0;top:75px;max-height:calc(100dvh - 75px);overflow:auto;background:var(--cream);padding:25px;align-items:stretch;flex-direction:column;gap:0;border-bottom:1px solid var(--line)}.site-nav.is-open>a,.nav-dropdown summary{padding:16px 0;border-bottom:1px solid var(--line);font-size:14px}.site-nav .button{margin-top:20px}.nav-submenu{position:static;width:100%;box-shadow:none;border:0;padding:0 20px;background:transparent}.top-note{font-size:9px}.hero-content{padding-top:52px}.hero h1{font-size:53px}.hero-content>*{max-width:440px}.hero-description{font-size:13px}.hero-actions{flex-direction:column;align-items:flex-start;gap:12px}.hero{min-height:680px}.hero-visual{width:90%}.hero-visual:after{background:linear-gradient(90deg,var(--cream),#fbf8f2d6 20%,#fbf8f230 52%,transparent 75%)}.ribbon-date>strong{font-size:44px}.ribbon-venue{display:none}.experience-grid{gap:20px}.experience-card h3{font-size:18px}.experience-card p:not(.eyebrow){font-size:11px}.drink-content{padding:45px 35px}.drink-content h2{font-size:28px}.welcome-layout{gap:35px}.price-layout{gap:40px}.access-home{gap:40px}.footer-top{gap:30px}.page-hero-inner{gap:35px}.detail-body{width:calc(100% - 60px)}}
@media(max-width:700px){html{scroll-padding-top:85px}.container{width:calc(100% - 40px)}body{font-size:14px}.section{padding:60px 0}.header-inner{padding:13px 20px}.brand-title{font-size:25px}.brand-sub{font-size:8px}.top-note{padding:4px 10px;font-size:8px;letter-spacing:.07em}.hero{min-height:0;padding-bottom:0;display:flex;flex-direction:column}.hero-visual{position:relative;order:0;width:100%;height:320px;flex-shrink:0}.hero-visual:after{background:linear-gradient(0deg,var(--cream),transparent 25%)}.hero-visual img{object-position:72% center;object-fit:cover}.hero-content{order:1;padding:0 0 30px;margin-top:-28px;width:calc(100% - 40px);text-align:left}.hero-content>*{max-width:100%}.hero .eyebrow{font-size:10px;margin:0 0 10px}.hero-script{font-size:16px;margin-bottom:10px}.hero h1{font-size:45px;line-height:1.45;margin-bottom:17px;letter-spacing:.06em}.hero h1 br{display:none}.hero-description{font-size:12px;line-height:2.15;margin-bottom:22px}.hero-actions{flex-direction:row;align-items:center;gap:18px;flex-wrap:wrap}.hero-actions .button{padding:14px 21px;font-size:12px;min-height:50px;gap:20px}.hero-actions .text-link{font-size:11px;gap:12px}.hero-small{font-size:10px;margin:14px 0 0}.hero-side{display:none}.image-caption{right:15px;bottom:20px;font-size:8px}.ribbon-inner{padding:18px 0;gap:20px}.ribbon-date{gap:9px}.ribbon-date>strong{font-size:37px}.ribbon-year{font-size:11px}.ribbon-day{font-size:9px}.ribbon-price{font-size:9px}.ribbon-price>strong{font-size:25px}.ribbon-price>strong>span{font-size:9px}.ribbon-price small{font-size:8px}.circle-link{display:none}.intro-section{padding-top:65px}.intro-section h2{font-size:29px}.intro-copy{font-size:12px;line-height:2.5;margin:20px 0}.intro-copy br{display:none}.intro-flower{font-size:150px;right:-55px;bottom:30px}.section-heading{display:block;margin-bottom:30px}.section-heading h2{font-size:29px}.section-heading>p{font-size:12px;margin-top:15px}.experience-grid{display:block}.experience-card{margin-bottom:42px}.experience-card:last-child{margin-bottom:0}.image-wrap{aspect-ratio:1.5;margin-bottom:20px}.experience-card h3{font-size:23px;margin-bottom:10px}.experience-card p:not(.eyebrow){font-size:12px}.experience-card .eyebrow{font-size:10px}.card-link{font-size:12px}.drink-feature{display:flex;flex-direction:column}.drink-image img{min-height:0;max-height:300px;aspect-ratio:1.5;object-fit:cover}.drink-content{padding:35px 25px 45px}.drink-content h2{font-size:29px}.drink-content p:not(.eyebrow){font-size:12px}.welcome-layout{display:flex;flex-direction:column;gap:25px}.welcome-art{max-width:240px;order:1}.welcome-art img{max-height:350px}.welcome-content{order:0;width:100%}.welcome-content>p:not(.eyebrow){font-size:12px}.welcome-content h2{font-size:30px}.welcome-content h2 br{display:none}.welcome-content .button{font-size:12px;gap:17px}.welcome-points{margin:20px 0}.welcome-points h3{font-size:16px}.welcome-points p{font-size:11px}.price-layout{display:block}.price-layout>div:first-child{margin-bottom:30px}.price-layout h2 br{display:none}.price-layout h2{font-size:30px}.price-summary{padding:28px 24px}.big-price{font-size:64px}.price-summary .note{font-size:11px}.home-steps{display:block;margin-bottom:20px}.home-steps li{border-left:0;border-top:1px solid var(--line);padding:22px 0 22px 58px;position:relative}.home-steps li:first-child{padding-left:58px}.home-steps li>span{position:absolute;left:0;top:20px;font-size:28px}.home-steps h3{font-size:18px;margin-bottom:10px}.home-steps p{font-size:12px}.town-layout{display:block}.town-script{font-size:47px;line-height:1.1;margin-bottom:30px}.town-script br{display:none}.town-layout h2{font-size:28px}.access-home{display:block}.access-home h2{font-size:27px}.venue-name{font-size:22px}.access-home>div:first-child{margin-bottom:35px}.venue-note{padding:28px}.venue-big{font-size:65px}.home-faq .section-heading .text-link{margin-top:20px}.faq-group summary{font-size:13px;padding:20px 30px}.faq-group details>p,.faq-group details>div{font-size:12px;padding-inline:30px}.final-cta{padding:60px 0}.final-cta .button{font-size:12px;gap:20px}.site-footer{padding:45px 0 95px}.footer-top{display:block}.footer-links{grid-template-columns:1fr 1fr;gap:15px;margin-top:30px}.footer-links a{font-size:11px;padding:7px 0}.footer-bottom{display:block;margin-top:25px}.footer-bottom p:first-child{margin-bottom:15px}.mobile-action{position:fixed;bottom:0;left:0;right:0;z-index:90;display:flex;align-items:center;gap:15px;padding:10px 16px max(10px,env(safe-area-inset-bottom));background:#fffaf4f5;backdrop-filter:blur(12px);border-top:1px solid var(--line)}.mobile-action p{font-size:10px;margin:0;line-height:1.6;white-space:nowrap}.mobile-action p strong{font-size:14px;font-family:Georgia,serif;display:block}.mobile-action .button{flex:1;min-height:43px;padding:10px 13px;font-size:11px;gap:15px}.mobile-only{display:initial}.breadcrumb{padding:18px 0;font-size:9px}.page-hero-inner{display:flex;flex-direction:column;gap:25px;padding:15px 0 35px;align-items:stretch}.page-title{font-size:32px;margin-bottom:15px}.page-hero .lead{font-size:12px}.page-image img{aspect-ratio:1.7;border-radius:60px 0 0 0}.page-image.welcome img{max-height:230px}.detail-body{width:calc(100% - 40px);padding:5px 0 45px}.detail-body .section{padding:32px 0}.detail-body h2{font-size:24px}.detail-body h3{font-size:18px}.detail-body p,.detail-body li{font-size:13px}.detail-body .lead{font-size:14px}.detail-body .split{display:block}.detail-body .split>*+*{margin-top:22px}.info-grid{grid-template-columns:1fr;gap:16px}.paper{padding:22px 20px}.info-card{padding:20px}.detail-list>div{grid-template-columns:95px 1fr;gap:15px;padding:15px 0}.detail-list dt{font-size:11px}.detail-list dd{font-size:12px;overflow-wrap:anywhere}.fee-table{font-size:12px}.fee-table th,.fee-table td{padding:14px 11px}.fee-table tbody td:last-child{font-size:16px;white-space:nowrap}.entry-box{padding:24px 20px}.detail-body .button{font-size:12px;padding:13px 21px;min-height:49px;gap:20px}.detail-body .big-price{font-size:58px}.detail-body .big-price span{font-size:12px}.step-list>li{padding-left:42px}.step-list>li:before{font-size:23px}.filter-bar{gap:7px}.filter-bar button,[data-filter]{padding:8px 13px;font-size:11px}.page-return{gap:20px;flex-wrap:wrap}.search-field{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@media print{.site-header,.mobile-action,.site-footer,.hero-side{display:none}.section{padding:25px 0}.detail-body,.container{width:95%}.page-hero-inner{padding:20px 0}.button{border:1px solid #999}.hero{min-height:500px}body{font-size:11px}}

/* Keep the ticket amount prominent within the home price panel. */
.price-layout .price-summary .big-price{font-size:69px;line-height:1.5}
@media(max-width:700px){.price-layout .price-summary .big-price{font-size:64px}}
@media(max-width:700px){.hero h1 br{display:initial}}
.detail-body :where(h2,h3,section,div)[id]{scroll-margin-top:0}
/* Detail layouts use clear, single-column section titles. */
.detail-body .section-heading{display:block;max-width:850px}.detail-body .section-heading h2{margin-bottom:18px}.detail-body .section-heading>p:not(.eyebrow){margin-top:15px}.detail-body .section-heading .eyebrow{margin-bottom:12px}.split-media{margin:0}.split-media figcaption{font-size:10px;color:var(--muted);margin-top:10px}.detail-body .split-media img{margin:0}.filter-list{display:flex;gap:9px;flex-wrap:wrap;margin:20px 0 30px}.filter-button.is-active{background:var(--ink);color:white}.faq-search-section{padding-bottom:15px!important}.detail-body .info-card h2{font-size:25px}.detail-body .info-card strong{color:var(--rose);font-size:30px}.detail-body .info-card h3 strong{display:block;font-family:Georgia,var(--serif);font-size:43px;font-weight:400;margin-top:8px}.detail-body #entry>.paper{background:var(--blush);border:1px solid #d9b4b6;margin:28px 0}.detail-body #entry>.paper h3{margin-top:10px}.detail-body #entry .detail-list{background:#fffaf3;padding:15px 25px}.detail-body #entry .detail-list>dt{font-size:12px;color:var(--rose);padding-top:18px}.detail-body #entry .detail-list>dd{font-size:13px}.detail-body .step-list strong{font-weight:500}

/* Actual photographs and editorial illustrations */
.history-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 20px;margin:30px 0}.history-gallery figure,.venue-photos figure,.outfit-reference{margin:0}.history-gallery a{display:block;position:relative;overflow:hidden;border-radius:4px}.history-gallery img{width:100%;aspect-ratio:3/2;object-fit:cover;height:auto;transition:transform .25s}.history-gallery a:hover img{transform:scale(1.03)}.history-gallery figcaption,.venue-photos figcaption,.outfit-reference figcaption{font-size:12px;color:var(--muted);margin-top:10px}.photo-zoom{position:absolute;bottom:9px;right:9px;background:var(--paper);border-radius:50%;width:30px;height:30px;text-align:center;line-height:30px}.feature-illustration{width:100%;aspect-ratio:3/2;object-fit:contain;margin-bottom:22px;border-radius:4px}.outfit-reference{margin-bottom:28px}.outfit-reference img{width:100%;height:auto}.venue-photos{display:grid;grid-template-columns:1fr 1fr;gap:20px}.venue-photos img{width:100%;aspect-ratio:3/2;object-fit:cover}.venue-photos>.caption{grid-column:1/-1;margin-top:0}.venue-home-photo{width:100%;border-radius:4px;margin-bottom:12px}.venue-note .caption{font-size:10px;margin:0 0 18px}@media(max-width:760px){.history-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}.history-gallery figcaption{font-size:10px}.venue-photos{grid-template-columns:1fr}.outfit-reference{overflow:hidden}.outfit-reference img{min-width:100%}}
.paged-gallery .history-gallery{grid-template-columns:repeat(3,minmax(0,1fr));margin:20px 0}.gallery-card[hidden],.gallery-toolbar[hidden],.gallery-pager[hidden]{display:none!important}.gallery-toolbar,.gallery-pager{display:flex;align-items:center;justify-content:space-between;gap:15px}.gallery-toolbar p{margin:0;font-size:13px}.gallery-toolbar label{font-size:12px;white-space:nowrap}.gallery-toolbar select{background:var(--paper);color:var(--ink);border:1px solid var(--line);padding:10px;font:inherit;border-radius:4px}.gallery-pager{margin:24px 0 0}.gallery-pager button:disabled{opacity:.35;cursor:default;transform:none}.gallery-card figcaption{min-height:2em}.photo-dialog{width:min(1100px,96vw);max-width:96vw;height:min(900px,94dvh);max-height:94dvh;border:0;border-radius:10px;padding:0;background:var(--cream);color:var(--ink)}.photo-dialog::backdrop{background:#211a17d9}.photo-dialog-inner{height:100%;display:flex;flex-direction:column;padding:18px 24px}.photo-dialog header,.photo-dialog footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0}.photo-dialog h2{font-size:17px;margin:0;letter-spacing:0}.photo-dialog button{border:1px solid var(--line);background:var(--paper);border-radius:4px;color:var(--ink);cursor:pointer;min-width:46px;min-height:46px;padding:8px 14px}.photo-dialog button:disabled{opacity:.3;cursor:default}.photo-stage{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;margin:14px 0;touch-action:pan-y pinch-zoom}.photo-large{width:100%;height:100%;object-fit:contain}.photo-description{font-size:13px;text-align:center;margin:0}.photo-hint{font-size:11px;text-align:center;margin:8px 0 0;color:var(--muted)}body.photo-open{overflow:hidden}@media(max-width:760px){.paged-gallery .history-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}.gallery-toolbar{gap:8px}.gallery-toolbar p{font-size:11px}.gallery-pager .button{padding:10px 12px;min-height:46px;font-size:12px}.gallery-pager>span{font-size:12px}.photo-dialog-inner{padding:12px}.photo-dialog h2{font-size:12px}.photo-dialog .photo-description{font-size:11px}.photo-dialog .photo-close{font-size:12px}.photo-dialog{height:88dvh}.photo-stage{margin:12px 0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.history-gallery img{transition:none}}

/* Event date is visible at entry and again after reading each page. */
.top-note{font-size:13px;font-weight:500;letter-spacing:.04em;padding:9px 15px;color:var(--rose-dark)}
.home-date-banner{background:var(--blush);border-bottom:1px solid #dfc6c5;text-align:center;padding:23px 0 25px}.home-date-banner p{margin:0;font-size:12px;letter-spacing:.1em}.home-date-main{display:flex;justify-content:center;align-items:center;gap:20px;margin:3px 0}.home-date-main strong{font-family:Georgia,var(--serif);font-size:clamp(42px,5.3vw,68px);font-weight:400;line-height:1.5;white-space:nowrap}.home-date-main strong span{font-family:var(--sans);font-size:.36em;margin:0 .15em}.date-sunday{background:var(--rose);color:#fff;border-radius:50%;width:61px;height:61px;display:grid;place-items:center;font-size:14px}.home-date-banner .home-date-time{font-size:21px;font-weight:500;letter-spacing:.03em}.home-date-time span{font-size:14px;font-weight:400}
.page-date-notice{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;padding:17px 22px;background:var(--blush);border-left:4px solid var(--rose);margin:0 0 22px}.page-date-notice>span{font-size:12px}.page-date-notice strong{font-size:23px;font-family:var(--serif);font-weight:500}.page-date-notice b{font-size:19px;font-weight:500}.page-event-reminder{background:var(--blush);padding:32px;text-align:center;margin:25px 0 40px;border-top:2px solid var(--rose)}.page-event-reminder>strong{display:block;font-family:var(--serif);font-size:clamp(23px,3vw,35px);font-weight:500}.page-event-reminder>span{display:block;font-size:23px;margin:5px 0 18px}.page-event-reminder>p{font-size:13px;margin-bottom:12px}.mobile-action p strong{font-family:var(--sans);font-size:12px;font-weight:600}.mobile-action p{font-size:11px}
@media(max-width:700px){.top-note{font-size:11px;letter-spacing:0;padding:7px 8px}.home-date-banner{padding:18px 0}.home-date-banner .container{width:calc(100% - 28px)}.home-date-main{gap:10px}.home-date-main strong{font-size:42px}.date-sunday{width:45px;height:45px;font-size:11px;flex-shrink:0}.home-date-banner .home-date-time{font-size:21px}.home-date-time span{display:block;font-size:12px;margin-top:2px}.home-date-banner>div>p:first-child{font-size:10px;letter-spacing:.05em}.page-date-notice{padding:13px 15px;gap:4px 10px}.page-date-notice>span:first-child{width:100%;font-size:10px}.page-date-notice strong{font-size:21px}.page-date-notice b{font-size:16px}.page-date-notice>span:last-child{width:100%;font-size:11px}.page-event-reminder{padding:25px 15px}.mobile-action{gap:10px}.mobile-action .button{padding-inline:8px;font-size:10px;gap:8px}.mobile-action p strong{font-size:11px}}

.advance-notice,.home-date-banner .advance-notice{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px 12px;width:100%;margin:14px 0 0;font-size:13px;letter-spacing:.02em}.advance-notice strong{display:inline-block;background:var(--rose-dark);color:#fff;border-radius:3px;padding:3px 12px;font-family:var(--sans);font-size:13px;font-weight:500;white-space:nowrap}.advance-notice span{font-size:13px}.page-date-notice .advance-notice{justify-content:flex-start;border-top:1px solid #dfc6c5;padding-top:12px;margin-top:5px}.page-date-notice .advance-notice strong{font-family:var(--sans);font-size:13px}.page-event-reminder .advance-notice{margin:18px 0}.page-event-reminder .advance-notice span{font-size:13px}@media(max-width:700px){.advance-notice,.home-date-banner .advance-notice{gap:7px;font-size:11px}.advance-notice span,.home-date-banner .advance-notice span{font-size:11px}.advance-notice strong,.page-date-notice .advance-notice strong{font-size:12px;padding:3px 9px}.page-date-notice .advance-notice span{font-size:11px}.page-event-reminder .advance-notice span{font-size:12px}}

/* Supplied manga: uncropped, original images */
.manga-feature{background:#f5e7e5}.manga-feature-inner{display:grid;grid-template-columns:260px 1fr;gap:70px;align-items:center;max-width:980px}.manga-cover img{width:100%;height:auto;box-shadow:0 12px 30px #54352c25;border-radius:4px}.manga-feature h2{font-size:clamp(25px,3vw,40px)}.manga-feature .button{margin-top:20px}.manga-intro{text-align:center;margin:0 auto 40px}.manga-jump{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:24px}.manga-jump a{display:grid;place-items:center;width:44px;min-height:44px;border:1px solid #b85f70;border-radius:50%;color:#944356;background:white}.manga-jump a:hover{background:#f5e7e5}.manga-reader{max-width:860px;margin:auto}.manga-page{margin:0 0 48px;scroll-margin-top:130px}.manga-page> a{display:block}.manga-page img{width:100%;height:auto;object-fit:contain;box-shadow:0 4px 24px #54352c14}.manga-page figcaption{display:flex;align-items:center;gap:16px;padding:12px 0;flex-wrap:wrap}.manga-page figcaption span{font-family:Georgia,serif;color:#944356}.manga-page figcaption h2{font-size:17px;margin:0;flex:1}.manga-page figcaption a{font-size:13px;text-decoration:underline;min-height:44px;display:flex;align-items:center}.manga-end{text-align:center;padding:36px 10px 60px}.manga-guide-link{text-align:center;margin-bottom:35px}body[data-page="manga"] .detail-body{max-width:1050px}a:focus-visible{outline:3px solid #944356;outline-offset:4px}@media(max-width:600px){.manga-feature-inner{grid-template-columns:1fr;gap:28px}.manga-cover{max-width:220px;margin:auto}.manga-feature-inner>div{text-align:center}.manga-page figcaption{gap:8px}.manga-page figcaption h2{font-size:14px}.manga-page{margin-bottom:28px}body[data-page="manga"] .detail-body{width:calc(100% - 20px);padding-left:0;padding-right:0}.manga-intro{font-size:13px;padding:0 8px}.manga-jump{max-width:280px;margin:20px auto}.manga-end .button{white-space:normal;font-size:13px}.manga-end h2{font-size:26px}}

/* Compact homepage comic invitation */
.manga-feature{background:#fbf8f2;padding:28px 0}.manga-feature-inner{width:calc(100% - 80px);max-width:900px;min-height:240px;grid-template-columns:128px minmax(0,1fr);gap:38px;padding:23px 38px;border:1px solid #cfb38a;border-radius:8px;background:radial-gradient(ellipse at top right,#fff9f5 0,transparent 60%),#f5e7e5;box-shadow:0 6px 22px #54352c08}.manga-cover{width:128px;margin:auto}.manga-feature .eyebrow{font-size:10px;margin:0 0 6px}.manga-feature h2{font-size:25px;line-height:1.45;margin:0 0 8px}.manga-feature-inner>div>p:not(.eyebrow){font-size:12px;line-height:1.8;margin:0}.manga-feature .button{margin-top:12px;min-height:44px;padding:10px 24px;font-size:13px}@media(max-width:800px){.manga-feature-inner{gap:24px;padding:22px 26px}.manga-feature h2{font-size:22px}}@media(max-width:600px){.manga-feature{padding:20px 0}.manga-feature-inner{width:calc(100% - 40px);min-height:310px;grid-template-columns:1fr;gap:9px;padding:16px 12px;align-content:center}.manga-cover{width:80px}.manga-feature .eyebrow{font-size:9px;margin:0 0 4px}.manga-feature h2{font-size:18px;line-height:1.4;margin:0 0 6px}.manga-feature-inner>div>p:not(.eyebrow){font-size:10px;line-height:1.7}.manga-feature .button{margin-top:8px;min-height:44px;padding:9px 22px;font-size:12px}}
