@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Manrope:wght@400;500;600&family=Playfair+Display:ital,wght@0,500;1,500&display=swap";:root{--ink:#16231d;--moss:#294b3b;--paper:#f8f5ef;--gold:#c39a5d;--line:#16231d29}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);margin:0;font-family:DM Sans,Arial,sans-serif}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Playfair Display,Georgia,serif;font-weight:500;line-height:.94}p{line-height:1.7}.section-pad{padding:130px max(6vw,28px)}.site-header{z-index:20;color:#fff;background:linear-gradient(#00000073,#0000);justify-content:space-between;align-items:center;width:100%;height:76px;padding:0 4vw;display:flex;position:fixed;top:0;left:0}.brand{letter-spacing:.18em;align-items:center;gap:12px;font-size:.78rem;font-weight:600;display:flex}.brand-mark{border:1px solid;border-radius:50%;place-items:center;width:30px;height:30px;font-family:Georgia,serif;font-size:1rem;display:grid}.site-header nav{letter-spacing:.08em;align-items:center;gap:28px;font-size:.8rem;display:flex}.header-book{border:1px solid #ffffffb3;border-radius:99px;padding:10px 18px}.language-switch{align-items:center;gap:7px;padding-left:4px;display:flex}.language-switch button{color:#fff9;font:inherit;letter-spacing:.08em;cursor:pointer;background:0 0;border:0;padding:4px 0;font-size:.68rem}.language-switch button.active{color:#fff;border-bottom:1px solid}.language-switch span{color:#ffffff59}.hero{color:#fff;background:url(/images/hero.jpg) 50%/cover no-repeat;align-items:flex-end;min-height:100svh;padding:130px max(6vw,28px) 80px;display:flex;position:relative}.hero-shade{background:linear-gradient(90deg,#07100ccc 0%,#07100c40 62%,#07100c40),linear-gradient(#0000 55%,#060e0a73);position:absolute;inset:0}.hero-copy{z-index:1;max-width:900px;position:relative}.eyebrow{letter-spacing:.24em;margin-bottom:24px;font-size:.7rem;font-weight:600}.eyebrow.light{color:#ffffffd1}.hero h1{letter-spacing:-.055em;margin-bottom:24px;font-size:clamp(5.2rem,12vw,10.5rem)}.hero-lede{max-width:630px;font-family:Manrope,sans-serif;font-size:clamp(1.1rem,2vw,1.55rem);line-height:1.5}.hero-facts{flex-wrap:wrap;gap:10px;margin:28px 0 34px;display:flex}.hero-facts span{letter-spacing:.05em;border:1px solid #ffffff73;border-radius:99px;padding:9px 13px;font-size:.76rem}.ghost-button,.booking-button{letter-spacing:.08em;text-transform:uppercase;border:1px solid;justify-content:space-between;align-items:center;gap:60px;padding:17px 22px;font-size:.8rem;display:inline-flex}.hero-side{z-index:1;writing-mode:vertical-rl;letter-spacing:.28em;margin:0;font-size:.65rem;position:absolute;bottom:88px;right:3vw}.intro-grid{grid-template-columns:1.15fr .85fr;align-items:start;gap:10vw;display:grid}.intro h2,.section-heading h2,.meeting h2,.policies h2{letter-spacing:-.045em;margin:0;font-size:clamp(3.4rem,7vw,7rem)}.intro-grid>div{max-width:560px;padding-top:10px}.lead{font-size:1.35rem;line-height:1.55}.cinema-image{color:#fff;background:linear-gradient(#0000 35%,#030d09b3),url(/images/waterfall-wide.jpg) 50%/cover no-repeat;align-items:flex-end;min-height:85vh;padding:8vw;display:flex}.cinema-image div{max-width:850px}.cinema-image p{letter-spacing:.22em;font-size:.7rem}.cinema-image h2{margin:0;font-size:clamp(3.2rem,7vw,7rem)}.section-heading{grid-template-columns:.8fr 1.2fr;align-items:start;gap:5vw;margin-bottom:80px;display:grid}.highlight-grid{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid}.highlight-grid article{border-right:1px solid var(--line);padding:34px 7% 20px}.highlight-grid article:last-child{border:0}.highlight-grid span{color:var(--gold);font-size:.72rem}.highlight-grid h3{margin:28px 0 12px;font-family:Playfair Display,serif;font-size:2rem}.highlight-grid p{color:#53615a}.image-story{background:var(--moss);color:#fff;grid-template-columns:1.15fr .85fr;min-height:860px;display:grid}.image-story-photo{background:50%/cover no-repeat;min-height:650px}.waterfall-photo{background-image:url(/images/waterfall-tall.jpg)}.image-story-copy{flex-direction:column;justify-content:center;padding:8vw;display:flex}.image-story-copy h2,.yugori-card h2{margin-bottom:28px;font-size:clamp(3.4rem,6vw,6rem)}.image-story-copy p:last-child{color:#ffffffc7;max-width:500px}.itinerary{background:#fff}.timeline{max-width:960px;margin-left:auto}.timeline article{border-top:1px solid var(--line);grid-template-columns:160px 1fr;gap:30px;padding:32px 0;display:grid}.timeline time{letter-spacing:.12em;color:var(--moss);font-size:.8rem}.timeline h3{margin-bottom:7px;font-family:Playfair Display,serif;font-size:1.7rem}.timeline p{color:#617067;margin:0}.yugori-banner{background:url(/images/under-waterfall.jpg) 50%/cover no-repeat;align-items:flex-end;min-height:80vh;padding:7vw;display:flex}.yugori-card{color:#fff;background:#0e2219e0;max-width:650px;padding:50px}.yugori-card p:last-child{color:#ffffffc7;margin:0}.guide-grid{grid-template-columns:minmax(0,900px);justify-content:center;display:grid}.guide-grid article{grid-template-columns:1.15fr .85fr;align-items:start;column-gap:4vw;display:grid}.guide-photo{background:50%/cover no-repeat;grid-row:1/6;height:650px;margin:0}.iku-photo{background-image:-webkit-image-set(url(/images/iku-mitoma.webp) 1x type("image/webp"),url(/images/iku-mitoma.png) 1x type("image/png"));background-image:image-set("/images/iku-mitoma.webp" 1x type("image/webp"),"/images/iku-mitoma.png" 1x type("image/png"));background-position:50% 35%}.guide-grid span{letter-spacing:.2em;color:var(--gold);align-self:end;font-size:.67rem}.guide-grid h3{margin:12px 0;font-family:Playfair Display,serif;font-size:2.8rem}.guide-grid p{color:#526159;max-width:530px}.guide-grid .guide-credentials{color:var(--ink);letter-spacing:.02em;font-size:.86rem;line-height:1.75}.details-band{background:var(--ink);color:#fff;grid-template-columns:1fr 1fr;gap:10vw;display:grid}.details-band h2{font-size:clamp(3.2rem,6vw,6rem)}.details-band ul{margin:0;padding:0;list-style:none}.details-band li{border-bottom:1px solid #ffffff2e;padding:20px 0;font-size:1.05rem}.gallery{background:#dfe5dd;grid-template-rows:440px 520px;grid-template-columns:1fr 1fr;gap:18px;display:grid;position:relative}.gallery>div{background:50%/cover no-repeat}.gallery-a{background-image:url(/images/journey.jpg)!important}.gallery-b{background-image:url(/images/waterfall-person.jpg)!important}.gallery-c{grid-column:1/3;background-image:url(/images/practice.jpg)!important}.gallery-copy{color:#fff;width:min(520px,80vw);padding:44px;bottom:90px;right:8vw;background:#0d1f17e6!important;position:absolute!important}.gallery-copy h2{font-size:clamp(2.8rem,5vw,5rem)}.gallery-copy p:last-child{margin:0}.meeting{grid-template-columns:1fr 1fr;gap:10vw;display:grid}.meeting-copy{max-width:560px;padding-top:30px}.meeting-copy p{margin-bottom:25px}.notice{border-left:3px solid var(--gold);background:#efe9dd;padding:18px}.text-link{letter-spacing:.08em;border-bottom:1px solid;padding-bottom:5px;font-size:.8rem;display:inline-block}.policies{background:#fff;grid-template-columns:.8fr 1.2fr;gap:9vw;display:grid}.policy-list details{border-top:1px solid var(--line);padding:22px 0}.policy-list details:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;justify-content:space-between;font-family:Playfair Display,serif;font-size:1.35rem;list-style:none;display:flex}summary:after{content:"+";font-family:Arial;font-weight:300}.policy-list details[open] summary:after{content:"−"}.policy-list details p,.policy-list details ul{color:#5b6961;max-width:680px}.booking{color:#fff;text-align:center;background:-webkit-image-set(url(/images/sacred-setting.webp) 1x type("image/webp"),url(/images/sacred-setting.jpg) 1x type("image/jpeg")) 50%/cover no-repeat;background:image-set("/images/sacred-setting.webp" 1x type("image/webp"),"/images/sacred-setting.jpg" 1x type("image/jpeg")) 50%/cover no-repeat;place-items:center;min-height:90vh;padding:100px 28px;display:grid;position:relative}.booking-shade{background:#05110bb3;position:absolute;inset:0}.booking-inner{z-index:1;max-width:820px;position:relative}.booking h2{margin:0 0 20px;font-size:clamp(4rem,9vw,8rem)}.booking-sub{font-size:1.25rem}.price{justify-content:center;align-items:baseline;gap:12px;margin:35px 0;display:flex}.price strong{font-family:Playfair Display,serif;font-size:3rem}.price span,.availability{color:#ffffffbf}.availability{max-width:610px;margin:0 auto 30px}.booking-button{color:var(--ink);background:#fff;border-color:#fff}footer{color:#fff;background:#0b1711;justify-content:space-between;align-items:center;padding:45px max(5vw,25px) 110px;display:flex}footer p{color:#ffffff80;margin:0;font-size:.78rem}.sticky-book{z-index:30;background:var(--gold);color:#111b16;align-items:center;gap:36px;padding:14px 18px 14px 20px;font-size:.8rem;display:flex;position:fixed;bottom:18px;right:22px;box-shadow:0 12px 35px #00000047}.sticky-book span{font-family:Playfair Display,serif;font-size:1.05rem}.sticky-book small{letter-spacing:.14em;font-family:DM Sans,sans-serif;font-size:.55rem}.sticky-book strong{letter-spacing:.1em;font-size:.7rem}@media (max-width:800px){.section-pad{padding:90px 24px}.site-header{height:64px;padding:0 20px}.site-header nav a:not(.header-book){display:none}.hero{background-position:58%;padding:110px 24px 70px}.hero h1{font-size:clamp(4.4rem,22vw,7rem)}.hero-lede{font-size:1.05rem}.hero-side{display:none}.ghost-button{gap:36px}.intro-grid,.section-heading,.image-story,.details-band,.meeting,.policies{grid-template-columns:1fr}.intro-grid,.meeting,.policies{gap:40px}.intro h2,.section-heading h2,.meeting h2,.policies h2{font-size:clamp(3.1rem,15vw,5rem)}.cinema-image{min-height:70vh;padding:60px 24px}.highlight-grid{grid-template-columns:1fr}.highlight-grid article{border-right:0;border-bottom:1px solid var(--line);padding:28px 0}.image-story-photo{height:70vh;min-height:0}.image-story-copy{padding:70px 24px}.timeline article{grid-template-columns:85px 1fr;gap:16px}.timeline h3{font-size:1.4rem}.yugori-banner{min-height:75vh;padding:24px}.yugori-card{padding:34px 26px}.guide-grid{grid-template-columns:1fr}.guide-grid article:nth-child(2){margin-top:35px}.guide-photo{height:520px}.details-band{gap:30px}.gallery{grid-template-rows:320px 360px;padding:16px}.gallery-copy{padding:28px;bottom:36px;right:26px}.meeting-copy{padding:0}.booking{min-height:85vh}.booking-sub{font-size:1rem}footer{padding-bottom:130px;display:block}footer p{margin-top:20px}.sticky-book{justify-content:space-between;bottom:10px;left:12px;right:12px}.sticky-book span{font-size:.95rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media (max-width:800px){.site-header{padding-left:16px;padding-right:16px}.site-header nav{gap:12px}.site-header nav>a:not(.header-book){display:none}.header-book{padding:8px 12px}.language-switch{gap:5px}.guide-grid article{display:block}.guide-photo{height:520px;margin-bottom:28px}}[lang=ja] body,.jp-page{font-family:DM Sans,Noto Sans JP,Hiragino Kaku Gothic ProN,Yu Gothic,sans-serif}.jp-page h1,.jp-page h2,.jp-page h3{font-family:Playfair Display,Yu Mincho,Hiragino Mincho ProN,serif}.jp-page .hero-lede,.jp-page .lead{line-height:1.85}.jp-page .eyebrow{letter-spacing:.16em}:root{--ease-out:cubic-bezier(.2,.72,.18,1);--page-progress:0;interpolate-size:allow-keywords}body{overflow-x:hidden}.highlights,.image-story,.itinerary,.yugori-banner,.guides,.details-band,.gallery,.meeting,.policies,.booking{content-visibility:auto;contain-intrinsic-size:auto 850px}.site-header{transition:height .45s var(--ease-out),background-color .45s ease,backdrop-filter .45s ease,box-shadow .45s ease}.site-header:after{content:"";height:1px;transform:scaleX(var(--page-progress));transform-origin:0;opacity:0;background:#c39a5db8;transition:opacity .35s;position:absolute;bottom:0;left:0;right:0}.site-header.is-scrolled{-webkit-backdrop-filter:blur(18px)saturate(125%);backdrop-filter:blur(18px)saturate(125%);background:#0b1711d1;height:66px;box-shadow:0 8px 32px #030c0824}.site-header.is-scrolled:after{opacity:1}.site-header nav>a:not(.header-book){color:#ffffffc2;padding:9px 0;transition:color .25s;position:relative}.site-header nav>a:not(.header-book):after{content:"";background:var(--gold);transform-origin:100%;height:1px;transition:transform .4s var(--ease-out);position:absolute;bottom:3px;left:0;right:0;transform:scaleX(0)}.site-header nav>a:not(.header-book):hover,.site-header nav>a.is-current{color:#fff}.site-header nav>a:not(.header-book):hover:after,.site-header nav>a.is-current:after{transform-origin:0;transform:scaleX(1)}.brand-mark{transition:transform .45s var(--ease-out),background-color .3s ease,color .3s ease}.brand:hover .brand-mark{color:var(--ink);background:#fff;transform:rotate(12deg)}.hero{--pointer-x:0;--pointer-y:0;isolation:isolate;background:#0b1711;overflow:hidden}.hero:before{content:"";z-index:0;transform:scale(1.06) translate3d(calc(var(--pointer-x) * -12px),calc(var(--pointer-y) * -10px),0);transition:transform .9s var(--ease-out);background:-webkit-image-set(url(/images/hero.webp) 1x type("image/webp"),url(/images/hero.jpg) 1x type("image/jpeg")) 50%/cover no-repeat;background:image-set("/images/hero.webp" 1x type("image/webp"),"/images/hero.jpg" 1x type("image/jpeg")) 50%/cover no-repeat;position:absolute;inset:-3%}.hero-shade{z-index:1}.hero-side{z-index:2}.hero-copy{z-index:2;transform:translate3d(calc(var(--pointer-x) * 4px),calc(var(--pointer-y) * 3px),0);transition:transform .8s var(--ease-out)}.hero h1{transition:letter-spacing .65s var(--ease-out),text-shadow .65s ease}.hero h1:hover{letter-spacing:-.045em;text-shadow:0 12px 42px #0003}.motion-ready .hero-copy>.eyebrow,.motion-ready .hero-copy>h1,.motion-ready .hero-copy>.hero-lede,.motion-ready .hero-copy>.hero-facts,.motion-ready .hero-copy>.ghost-button{opacity:0;animation:hero-enter .95s var(--ease-out) forwards}.motion-ready .hero-copy>h1{animation-delay:80ms}.motion-ready .hero-copy>.hero-lede{animation-delay:.18s}.motion-ready .hero-copy>.hero-facts{animation-delay:.28s}.motion-ready .hero-copy>.ghost-button{animation-delay:.38s}@keyframes hero-enter{0%{opacity:0;filter:blur(5px);transform:translateY(24px)}to{opacity:1;filter:blur();transform:translateY(0)}}.ghost-button,.booking-button,.header-book{--magnet-x:0px;--magnet-y:0px;isolation:isolate;transform:translate3d(var(--magnet-x),var(--magnet-y),0);transition:transform .35s var(--ease-out),color .35s ease,border-color .35s ease,box-shadow .35s ease;position:relative;overflow:hidden}.ghost-button:before,.header-book:before{content:"";z-index:-1;transition:transform .42s var(--ease-out);background:#fff;position:absolute;inset:0;transform:translateY(102%)}.ghost-button:hover,.header-book:hover{color:var(--ink);border-color:#fff;box-shadow:0 12px 34px #00000026}.ghost-button:hover:before,.header-book:hover:before{transform:translateY(0)}.ghost-button span,.booking-button span{transition:transform .4s var(--ease-out);display:inline-block}.ghost-button:hover span{transform:translateY(4px)}.booking-button:after{content:"";z-index:-1;background:var(--gold);transition:transform .42s var(--ease-out);position:absolute;inset:0;transform:translateY(102%)}.booking-button:hover{border-color:var(--gold);box-shadow:0 16px 40px #0000003d}.booking-button:hover:after{transform:translateY(0)}.booking-button:hover span{transform:translate(4px,-4px)}.ghost-button:active,.booking-button:active,.header-book:active{transform:translate3d(var(--magnet-x),calc(var(--magnet-y) + 2px),0)}.motion-ready .reveal-item{transition:opacity .85s ease,transform 1s var(--ease-out),filter .85s ease,background-color .35s ease,color .35s ease;transition-delay:calc(var(--reveal-order,0) * 55ms)}.motion-ready .reveal-item:not(.is-visible){opacity:0;filter:blur(3px);transform:translateY(28px)}.motion-ready .reveal-item.is-visible{opacity:1;filter:blur();transform:translateY(0)}.eyebrow{width:max-content;max-width:100%;position:relative}.eyebrow:after{content:"";background:var(--gold);width:0;height:1px;transition:width .7s var(--ease-out) .25s;margin:0 0 3px 13px;display:inline-block}.eyebrow.is-visible:after,.is-visible>.eyebrow:after{width:34px}.cinema-image,.yugori-banner{isolation:isolate;background:#102018;position:relative;overflow:hidden}.cinema-image:before,.yugori-banner:before{content:"";z-index:0;background-position:50%;background-repeat:no-repeat;background-size:cover;position:absolute;inset:-9% -3%;transform:scale(1.06)}.cinema-image:before{background-image:-webkit-image-set(url(/images/waterfall-wide.webp) 1x type("image/webp"),url(/images/waterfall-wide.jpg) 1x type("image/jpeg"));background-image:image-set("/images/waterfall-wide.webp" 1x type("image/webp"),"/images/waterfall-wide.jpg" 1x type("image/jpeg"))}.yugori-banner:before{background-image:-webkit-image-set(url(/images/under-waterfall.webp) 1x type("image/webp"),url(/images/under-waterfall.jpg) 1x type("image/jpeg"));background-image:image-set("/images/under-waterfall.webp" 1x type("image/webp"),"/images/under-waterfall.jpg" 1x type("image/jpeg"))}.cinema-image:after{content:"";z-index:1;background:linear-gradient(#0000 35%,#030d09b3);position:absolute;inset:0}.yugori-banner:after{content:"";z-index:1;background:linear-gradient(90deg,#06120c33,#0000 70%);position:absolute;inset:0}.cinema-image>div,.yugori-card{z-index:2;position:relative}@supports (animation-timeline:view()){.cinema-image:before,.yugori-banner:before{animation:1ms linear both image-drift;animation-timeline:view();animation-range:entry -15% exit 115%}@keyframes image-drift{0%{transform:scale(1.09)translateY(-2%)}to{transform:scale(1.04)translateY(2%)}}}.highlight-grid article{transition:background-color .4s ease,padding .45s var(--ease-out);position:relative;overflow:hidden}.highlight-grid article:before{content:"";background:var(--gold);transform-origin:100%;height:2px;transition:transform .45s var(--ease-out);position:absolute;top:-1px;left:0;right:0;transform:scaleX(0)}.highlight-grid article:hover{background:#294b3b11;padding-top:28px}.highlight-grid article:hover:before{transform-origin:0;transform:scaleX(1)}.highlight-grid article span,.highlight-grid article h3{transition:transform .45s var(--ease-out),color .3s ease;display:block}.highlight-grid article:hover span{transform-origin:0;transform:scale(1.14)}.highlight-grid article:hover h3{color:var(--moss);transform:translateY(-3px)}.image-story{overflow:hidden}.image-story-photo{isolation:isolate;background-image:none;position:relative;overflow:hidden}.image-story-photo:before{content:"";z-index:0;transition:transform 1.1s var(--ease-out),filter .65s ease;background:50%/cover no-repeat;position:absolute;inset:-3%}.waterfall-photo:before{background-image:-webkit-image-set(url(/images/waterfall-tall.webp) 1x type("image/webp"),url(/images/waterfall-tall.jpg) 1x type("image/jpeg"));background-image:image-set("/images/waterfall-tall.webp" 1x type("image/webp"),"/images/waterfall-tall.jpg" 1x type("image/jpeg"))}.image-story:hover .image-story-photo:before{filter:saturate(1.06)contrast(1.02);transform:scale(1.045)}.yugori-card,.gallery-copy{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);box-shadow:0 25px 80px #030d092e}.timeline article{transition:padding-left .45s var(--ease-out),background-color .35s ease;position:relative}.timeline article:before{content:"";background:var(--gold);width:7px;height:7px;transition:transform .35s var(--ease-out);border-radius:50%;position:absolute;top:39px;left:-18px;transform:scale(0)}.timeline article:after{content:"";background:var(--gold);transform-origin:0;height:1px;transition:transform .7s var(--ease-out);position:absolute;top:-1px;left:0;right:0;transform:scaleX(0)}.timeline article:hover{background:linear-gradient(90deg,#c39a5d12,#0000 72%);padding-left:14px}.timeline article:hover:before{transform:scale(1)}.timeline article:hover:after{transform:scaleX(1)}.timeline h3{transition:transform .4s var(--ease-out),color .3s ease}.timeline article:hover h3{color:var(--moss);transform:translate(5px)}.details-band li{transition:padding-left .35s var(--ease-out),color .3s ease;padding-left:0;position:relative}.details-band li:before{content:"→";color:var(--gold);opacity:0;transition:opacity .3s ease,transform .35s var(--ease-out);position:absolute;left:0;transform:translate(-8px)}.details-band li:hover{color:#fff;padding-left:28px}.details-band li:hover:before{opacity:1;transform:translate(0)}.gallery>div:not(.gallery-copy){isolation:isolate;position:relative;overflow:hidden;background-image:none!important}.gallery>div:not(.gallery-copy):before{content:"";z-index:0;transition:transform .9s var(--ease-out),filter .55s ease;background:50%/cover no-repeat;position:absolute;inset:-2%}.gallery>div.gallery-a:before{background-image:-webkit-image-set(url(/images/journey.webp) 1x type("image/webp"),url(/images/journey.jpg) 1x type("image/jpeg"));background-image:image-set("/images/journey.webp" 1x type("image/webp"),"/images/journey.jpg" 1x type("image/jpeg"))}.gallery>div.gallery-b:before{background-image:-webkit-image-set(url(/images/waterfall-person.webp) 1x type("image/webp"),url(/images/waterfall-person.jpg) 1x type("image/jpeg"));background-image:image-set("/images/waterfall-person.webp" 1x type("image/webp"),"/images/waterfall-person.jpg" 1x type("image/jpeg"))}.gallery>div.gallery-c:before{background-image:-webkit-image-set(url(/images/practice.webp) 1x type("image/webp"),url(/images/practice.jpg) 1x type("image/jpeg"));background-image:image-set("/images/practice.webp" 1x type("image/webp"),"/images/practice.jpg" 1x type("image/jpeg"))}.gallery>div:not(.gallery-copy):after{content:"";z-index:1;opacity:0;pointer-events:none;background:#091b1224;transition:opacity .5s;position:absolute;inset:0}.gallery>div:not(.gallery-copy):hover:before{filter:saturate(1.08);transform:scale(1.055)}.gallery>div:not(.gallery-copy):hover:after{opacity:1}.text-link{transition:color .3s ease,padding-right .35s var(--ease-out);position:relative}.text-link:hover{color:var(--moss);padding-right:8px}.policy-list details{transition:background-color .35s ease,padding-left .4s var(--ease-out),padding-right .4s var(--ease-out)}.policy-list details:hover,.policy-list details[open]{background:#294b3b0b;padding-left:18px;padding-right:18px}.policy-list summary{transition:color .3s ease,transform .35s var(--ease-out)}.policy-list details:hover summary{color:var(--moss);transform:translate(3px)}.policy-list summary:after{transition:transform .4s var(--ease-out),color .3s ease}.policy-list details[open] summary:after{color:var(--gold);transform:rotate(180deg)}@supports selector(details::details-content){.policy-list details::details-content{opacity:0;block-size:0;transition:block-size .45s var(--ease-out),opacity .35s ease,content-visibility .45s allow-discrete;overflow:hidden}.policy-list details[open]::details-content{opacity:1;block-size:auto}}.sticky-book{transition:transform .6s var(--ease-out),opacity .4s ease,background-color .3s ease,box-shadow .3s ease}.motion-ready .sticky-book{opacity:0;pointer-events:none;transform:translateY(calc(100% + 35px))}.motion-ready .sticky-book.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}.sticky-book:hover{background:#d0a86b;box-shadow:0 16px 46px #00000057}:is(a:focus-visible,button:focus-visible,summary:focus-visible){outline:2px solid var(--gold);outline-offset:5px}@media (max-width:800px){.site-header.is-scrolled{height:60px}.hero:before{inset:-2%;transform:scale(1.04)}.hero-copy{transform:none}.hero h1:hover{letter-spacing:-.055em;text-shadow:none}.highlight-grid article:hover{padding-top:28px}.image-story:hover .image-story-photo:before,.gallery>div:not(.gallery-copy):hover:before{transform:none}.timeline article:before{left:-7px}.motion-ready .sticky-book{opacity:1;pointer-events:auto;transform:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.motion-ready .reveal-item:not(.is-visible),.motion-ready .reveal-item.is-visible{opacity:1;filter:none;transform:none}.hero:before,.hero-copy{transform:none!important}.motion-ready .sticky-book{opacity:1;pointer-events:auto;transform:none}}.hero h1{margin-bottom:20px;font-size:clamp(4.5rem,9vw,8.5rem)}.hero-lede{max-width:680px;font-size:clamp(1.05rem,1.65vw,1.4rem)}.hero-supplement{color:#ffffffd1;max-width:620px;margin:18px 0 0;font-size:.92rem;line-height:1.65}.hero-facts{margin:24px 0 28px}.authorization{content-visibility:auto;contain-intrinsic-size:auto 700px;background:#eee8dc}.authorization-grid{grid-template-columns:1.05fr .95fr;align-items:start;gap:9vw;display:grid}.authorization h2{letter-spacing:-.045em;margin:0;font-size:clamp(3.4rem,6.5vw,6.5rem)}.authorization-grid>div{max-width:620px}.authorization small{color:var(--moss);letter-spacing:.12em;text-transform:uppercase;margin-top:34px;font-size:.7rem;display:block}.section-kicker{color:var(--gold);letter-spacing:.22em;text-transform:uppercase;margin:-5px 0 48px;font-size:.68rem;font-weight:600}.cinema-image>div{max-width:1050px}.cinema-body{color:#ffffffdb;max-width:720px;margin-top:30px;font-size:1rem;line-height:1.75}.schedule-note{color:#758078;max-width:960px;margin:28px 0 0 auto;font-size:.76rem}.guide-grid article{grid-template-rows:auto auto auto auto auto}.booking-shade{background:#05110bbd}.booking-inner{max-width:920px}.booking h2{margin-bottom:24px;font-size:clamp(3.4rem,6.4vw,6.3rem)}.booking h2 em{color:#e5c99c;font-weight:500}.booking-sub{max-width:760px;margin-left:auto;margin-right:auto;font-size:1.05rem}.booking-authorization{color:#ffffffd1;border-top:1px solid #ffffff59;border-bottom:1px solid #ffffff59;max-width:700px;margin:28px auto 0;padding:18px;font-size:.8rem;line-height:1.7}.booking-authorization strong{color:#fff;letter-spacing:.12em}.price{flex-wrap:wrap;margin:30px 0}@media (max-width:800px){.hero{min-height:100svh;padding:100px 24px 54px}.hero h1{font-size:clamp(3.55rem,17vw,5.4rem)}.hero-lede{font-size:1rem}.hero-supplement{font-size:.82rem;line-height:1.55}.hero-facts{margin:18px 0 22px}.authorization-grid{grid-template-columns:1fr;gap:40px}.authorization h2{font-size:clamp(2.75rem,13vw,4.5rem)}.section-kicker{margin-bottom:32px}.cinema-image{min-height:78vh}.cinema-image h2{font-size:clamp(2.75rem,13vw,4.6rem)}.cinema-body{font-size:.9rem}.timeline article{grid-template-columns:78px 1fr;gap:14px}.booking{padding:82px 22px 110px}.booking h2{font-size:clamp(2.65rem,12vw,4rem)}.booking-sub{font-size:.92rem}.booking-authorization{font-size:.74rem}.price,.price strong,.price span{display:block}.price span{margin-top:8px;font-size:.8rem}}.booking-reservation{text-align:left;align-items:start;min-height:auto;padding:110px max(4vw,20px)}.reservation-shell{z-index:2;width:min(1120px,100%);color:var(--ink);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#f8f5eff7;margin:auto;padding:clamp(28px,5vw,64px);position:relative;box-shadow:0 30px 100px #030d0957}.reservation-heading{max-width:760px}.reservation-heading .eyebrow{color:var(--gold)}.booking .reservation-heading h2{color:var(--ink);letter-spacing:-.04em;margin:0;font-size:clamp(3rem,6vw,5.8rem)}.reservation-heading>p:last-child{color:#5e6b64;max-width:600px;margin:22px 0 0}.reservation-progress{background:#16231d24;height:2px;margin:38px 0 42px;position:relative}.reservation-progress span{background:var(--gold);height:100%;transition:width .5s var(--ease-out);position:absolute;top:0;left:0}.reservation-progress small{color:#7b857f;letter-spacing:.15em;font-size:.65rem;position:absolute;top:-24px;right:0}.calendar-panel{max-width:940px;margin:auto}.reservation-state{text-align:center;color:#66736c;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:70px 20px}.calendar-toolbar{justify-content:space-between;align-items:center;margin-bottom:25px;display:flex}.calendar-toolbar strong{font-family:Playfair Display,Yu Mincho,serif;font-size:1.75rem;font-weight:500}.calendar-toolbar button{border:1px solid var(--line);width:44px;height:44px;color:var(--ink);cursor:pointer;background:0 0;font-size:1.1rem}.calendar-toolbar button:hover{background:var(--ink);color:#fff}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.calendar-weekdays{margin-bottom:7px}.calendar-weekdays span{text-align:center;color:#7a857e;letter-spacing:.12em;padding:8px;font-size:.6rem}.calendar-grid>button{color:#9aa19d;cursor:default;text-align:left;background:#16231d09;border:1px solid #0000;min-height:88px;padding:12px;transition:transform .25s,background .25s,border-color .25s;position:relative}.calendar-grid>button:disabled{opacity:.7}.calendar-grid>button>span{font-family:Playfair Display,serif;font-size:1.2rem}.calendar-grid>button small{color:inherit;letter-spacing:.08em;margin-top:16px;font-size:.58rem;display:block}.calendar-grid>button.has-event{color:var(--ink);cursor:pointer;background:#e9dfcc;border-color:#b98c4e}.calendar-grid>button.has-event:hover,.calendar-grid>button.selected{z-index:1;background:var(--moss);border-color:var(--moss);color:#fff;transform:translateY(-2px);box-shadow:0 10px 25px #16231d29}.calendar-grid>button.is-full{color:#8a918d;cursor:not-allowed;background:#eee9e1;border-color:#d5cec2}.calendar-grid>button.is-full:hover{box-shadow:none;transform:none}.date-slots{border-top:1px solid var(--line);margin-top:34px;padding-top:28px}.date-slots h3{margin:0 0 15px;font-family:Playfair Display,Yu Mincho,serif;font-size:1.5rem;font-weight:500}.date-slots>button{border:1px solid var(--line);width:100%;color:var(--ink);cursor:pointer;text-align:left;background:#fff;justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.date-slots>button+button{margin-top:8px}.date-slots>button:hover:not(:disabled){border-color:var(--moss);background:var(--moss);color:#fff}.date-slots>button span{gap:5px;display:grid}.date-slots>button span:last-child{text-align:right}.date-slots>button strong{font-family:Playfair Display,serif;font-size:1.55rem}.date-slots>button small{color:#68746d}.date-slots>button b{font-family:Playfair Display,serif;font-size:1.45rem}.date-slots>button em{letter-spacing:.08em;font-size:.68rem;font-style:normal}.date-slots>button:disabled{cursor:not-allowed;opacity:.5}.reservation-step-card{border-top:3px solid var(--gold);background:#fff;max-width:760px;margin:0 auto;padding:38px;box-shadow:0 15px 50px #16231d12}.booking-summary{border-bottom:1px solid var(--line);grid-template-columns:1.7fr .65fr .55fr;gap:18px;margin-bottom:32px;padding-bottom:25px;display:grid}.booking-summary span{gap:7px;display:grid}.booking-summary small{color:#7b857f;letter-spacing:.15em;font-size:.58rem}.booking-summary strong{font-family:Playfair Display,Yu Mincho,serif;font-size:1.08rem;font-weight:500}.reservation-step-card>p{color:#657169}.guest-picker{grid-template-columns:repeat(6,1fr);gap:8px;margin:28px 0;display:grid}.guest-picker button{border:1px solid var(--line);min-height:78px;color:var(--ink);cursor:pointer;background:#faf8f3}.guest-picker button strong,.guest-picker button small{display:block}.guest-picker button strong{font-family:Playfair Display,serif;font-size:1.65rem}.guest-picker button small{color:#79837d;margin-top:3px;font-size:.62rem}.guest-picker button:hover,.guest-picker button.active{border-color:var(--moss);background:var(--moss);color:#fff}.guest-picker button.active small{color:#ffffffb3}.reservation-total{border-top:1px solid var(--line);border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;margin-top:28px;padding:18px 0;display:flex}.reservation-total span{letter-spacing:.12em;text-transform:uppercase;font-size:.72rem}.reservation-total strong{font-family:Playfair Display,serif;font-size:2rem;font-weight:500}.reservation-actions{justify-content:space-between;gap:12px;margin-top:28px;display:flex}.reservation-actions button,.pay-button,.completion-card>button{border:1px solid var(--ink);min-height:50px;color:var(--ink);cursor:pointer;letter-spacing:.04em;background:0 0;padding:0 22px;font-weight:600}.reservation-actions .primary,.pay-button{background:var(--ink);color:#fff;margin-left:auto}.reservation-actions button:hover,.pay-button:hover,.completion-card>button:hover{background:var(--gold);border-color:var(--gold);color:var(--ink)}.customer-form{grid-template-columns:1fr 1fr;gap:20px;display:grid}.customer-form .booking-summary,.customer-form .reservation-total,.customer-form .reservation-actions,.customer-form .reservation-error{grid-column:1/-1}.customer-form label{letter-spacing:.06em;gap:8px;font-size:.72rem;font-weight:600;display:grid}.customer-form label:first-of-type{grid-column:1/-1}.customer-form input{height:50px;color:var(--ink);font:inherit;background:#fbfaf7;border:1px solid #16231d3d;border-radius:0;padding:0 14px;font-size:1rem}.customer-form input:focus{outline:2px solid var(--gold);outline-offset:1px}.hold-timer{color:#294b3b;background:#e6ede7;justify-content:space-between;align-items:center;padding:13px 15px;display:flex}.hold-timer span{font-size:.75rem}.hold-timer strong{font-variant-numeric:tabular-nums}.hold-timer.urgent{color:#7d352a;background:#f1ded8}.wallet-options{gap:10px;margin-top:26px;display:grid}.apple-pay-button{cursor:pointer;-webkit-appearance:-apple-pay-button;-apple-pay-button-type:plain;-apple-pay-button-style:black;background:#000;border:0;border-radius:3px;width:100%;height:48px}.wallet-placeholder{display:none}.payment-divider{color:#7b857f;letter-spacing:.15em;align-items:center;gap:14px;margin:24px 0;font-size:.65rem;display:flex}.payment-divider:before,.payment-divider:after{content:"";background:var(--line);flex:1;height:1px}.square-card-container{min-height:90px}.pay-button{width:100%;margin-top:12px}.payment-not-configured{background:#f3ede1;border:1px dashed #b99969;margin-top:25px;padding:25px}.payment-not-configured strong{font-family:Playfair Display,serif;font-size:1.3rem}.payment-not-configured p{color:#667169;margin:8px 0 0}.payment-security{text-align:center;color:#869089!important;margin:18px 0 0!important;font-size:.66rem!important}.reservation-error{border-left:3px solid #a65449;padding:12px 15px;color:#7d352a!important;background:#f2dfda!important}.completion-card{text-align:center}.completion-mark{border:1px solid var(--gold);width:70px;height:70px;color:var(--gold);border-radius:50%;place-items:center;margin:0 auto 25px;font-family:Playfair Display,serif;font-size:2rem;display:grid}.completion-card dl{text-align:left;margin:30px 0}.completion-card dl div{border-top:1px solid var(--line);justify-content:space-between;gap:20px;padding:12px 0;display:flex}.completion-card dt{color:#77817b;font-size:.72rem}.completion-card dd{text-align:right;margin:0;font-weight:600}.completion-card>button{background:var(--ink);color:#fff}.pending-card{text-align:center}.pending-card>p{max-width:520px;margin:24px auto}.pending-card>strong{letter-spacing:.14em;color:#7b857f;font-size:.72rem}.pending-spinner{border:2px solid #16231d26;border-top-color:var(--gold);border-radius:50%;width:46px;height:46px;margin:auto;animation:.9s linear infinite reservation-spin}@keyframes reservation-spin{to{transform:rotate(360deg)}}@media (max-width:700px){.booking-reservation{padding:72px 12px 105px}.reservation-shell{padding:30px 16px}.booking .reservation-heading h2{font-size:clamp(2.65rem,13vw,4rem)}.reservation-progress{margin:32px 0}.calendar-toolbar strong{font-size:1.4rem}.calendar-grid{gap:3px}.calendar-grid>button{min-height:64px;padding:7px 5px}.calendar-grid>button>span{font-size:1rem}.calendar-grid>button small{letter-spacing:0;margin-top:9px;font-size:.48rem}.date-slots>button{padding:15px 13px}.date-slots>button em{font-size:.58rem}.reservation-step-card{padding:25px 16px}.booking-summary{grid-template-columns:1.5fr .55fr .45fr;gap:10px}.booking-summary strong{font-size:.88rem}.guest-picker{grid-template-columns:repeat(3,1fr)}.customer-form{grid-template-columns:1fr}.customer-form label:first-of-type,.customer-form .booking-summary,.customer-form .reservation-total,.customer-form .reservation-actions,.customer-form .reservation-error{grid-column:auto}.reservation-actions{grid-template-columns:.65fr 1.35fr;display:grid}.reservation-actions button{padding:0 12px}.reservation-total strong{font-size:1.7rem}.completion-card dl div{gap:5px;display:grid}.completion-card dd{text-align:left}}
