@charset "UTF-8";
:root{--paper:#f2f0e7;--ink:#263d32;--muted:#657467;--line:rgba(38,61,50,.22);--yellow:#fff353;--soft:#e7e9dc;--sans:'Manrope',Arial,sans-serif;--serif:'EB Garamond',Georgia,serif;--pad:clamp(24px,5.2vw,90px);color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;transition:background .7s,color .7s}button,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button{color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button{border:0}img{display:block;max-width:100%;object-fit:cover}svg{display:block}h1,h2,h3,p,figure{margin:0}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid currentColor;outline-offset:7px}::selection{background:var(--yellow);color:#263d32}button:disabled{cursor:default;opacity:.25}.skip{position:fixed;z-index:200;left:20px;top:20px;transform:translateY(-160%);padding:14px;background:var(--yellow);color:#263d32}.skip:focus{transform:none}.scroll-line{position:fixed;z-index:110;top:0;left:0;height:3px;background:var(--yellow);width:0;pointer-events:none}.header{height:104px;position:absolute;z-index:100;top:0;left:0;right:0;padding:14px var(--pad);display:flex;align-items:center;justify-content:space-between;gap:30px;color:var(--paper);border-bottom:1px solid rgba(255,255,255,.22);transition:background .4s,height .4s}.header.scrolled{position:fixed;height:82px;background:rgba(30,46,38,.96);backdrop-filter:blur(16px);box-shadow:0 5px 25px #00000008;animation:headerIn .4s both}.brand{display:flex;flex-direction:column;align-items:center;flex-shrink:0;width:112px}.brand img{width:103px;height:40px;object-fit:contain}.brand>span{font-size:8px;letter-spacing:2.6px;color:var(--yellow);margin-top:1px}.desktop-nav{display:flex;gap:32px;margin-left:auto;margin-right:34px;font-size:12px}.desktop-nav a{position:relative;padding:10px 0}.desktop-nav a:after{content:'';position:absolute;left:0;right:0;bottom:4px;height:1px;background:var(--yellow);transform:scaleX(0);transform-origin:left;transition:transform .3s}.desktop-nav a:hover:after{transform:scaleX(1)}.header-actions{display:flex;align-items:center;gap:30px}.mood-switch{display:flex;padding:4px;border:1px solid #ffffff4d;border-radius:30px;gap:2px}.mood-button{padding:7px 13px;background:transparent;color:#f2f0e7b3;border-radius:24px;font-size:10px;transition:background .35s,color .35s;white-space:nowrap}.mood-button span{margin-right:4px;font-size:13px}.mood-button.active{background:var(--yellow);color:#263d32}.reserve-link{font-size:11px;display:flex;gap:24px;align-items:center;white-space:nowrap}.reserve-link span{color:var(--yellow);font-size:23px}.nav-toggle{display:none;background:none;width:36px;height:36px;padding:5px}.nav-toggle span{display:block;width:26px;height:1px;background:var(--paper);margin:7px 0;transition:transform .3s}.mobile-nav{display:none}.hero{position:relative;min-height:780px;height:100svh;max-height:1250px;color:var(--paper);overflow:hidden;background:#203c30}.hero-media,.hero-shade,.hero-photo{position:absolute;inset:0;width:100%;height:100%}.hero-media{will-change:transform}.hero-photo{object-position:50% 55%;transition:opacity 1.2s ease,filter 1s;transform:scale(1.04)}.hero-night{opacity:0;filter:saturate(.85)}.hero-day{filter:saturate(.75) brightness(.8)}.hero-shade{background:linear-gradient(90deg,rgba(12,26,19,.69) 0%,rgba(12,26,19,.24) 55%,rgba(12,26,19,.04) 100%),linear-gradient(0deg,rgba(12,26,19,.63),transparent 25%,transparent 70%,rgba(12,26,19,.22))}.hero-topline{position:absolute;top:157px;left:var(--pad);right:var(--pad);display:flex;align-items:center;justify-content:space-between}.eyebrow{font-size:9px;letter-spacing:1.7px;font-weight:600;line-height:1.6}.dot{display:inline-block;width:6px;height:6px;border-radius:100%;background:var(--yellow);margin-right:9px;box-shadow:0 0 0 4px #fff35319}.hero-content{position:absolute;left:var(--pad);right:var(--pad);top:48%;transform:translateY(-45%)}.hero h1{font:400 clamp(94px,10.2vw,176px)/.86 var(--serif);letter-spacing:-.052em;max-width:1050px}.hero h1 em{font-weight:400;color:var(--yellow)}.line{display:block;overflow:hidden;padding-bottom:.13em;margin-bottom:-.02em}.line>span,.line>em{display:block;animation:rise 1.25s cubic-bezier(.2,.7,.2,1) both}.line>em{animation-delay:.14s}.hero-bottom-copy{display:flex;gap:56px;align-items:center;margin-top:30px}.hero-bottom-copy p{font-size:12px;line-height:1.85;color:#f2f0e7d1;max-width:290px;min-height:44px;transition:opacity .3s}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:40px;min-height:54px;padding:18px 23px;font-weight:600;font-size:10px;border:1px solid transparent;border-radius:2px;line-height:1.3;transition:background .3s,color .3s,transform .3s}.button span{font-size:22px;font-weight:400;line-height:.7;transition:transform .3s}.button:hover span{transform:translate(3px,-3px)}.button-yellow{background:var(--yellow);color:#263d32}.button-yellow:hover{background:#fff79c}.button-ink{background:var(--ink);color:var(--paper)}.button-ink:hover{background:var(--yellow);color:#263d32}.round-stamp{position:absolute;right:8%;top:44%;width:144px;height:144px;color:var(--yellow);transition:color .3s}.round-stamp>svg:first-child{width:100%;height:100%;animation:rotate 35s linear infinite}.round-stamp text{font:500 10.5px var(--sans);letter-spacing:2.2px;fill:currentColor}.round-stamp .stamp-heart{position:absolute;inset:45px;width:54px;height:54px;fill:currentColor;animation:heartbeat 3.5s ease-in-out infinite}.round-stamp:hover{color:var(--paper)}.hero-foot{position:absolute;bottom:33px;left:var(--pad);right:var(--pad);display:flex;justify-content:space-between;align-items:center;font-size:8px;letter-spacing:1px}.scroll-cue{display:flex;align-items:center;gap:12px;font-size:10px;letter-spacing:.2px}.scroll-cue>span{display:grid;place-items:center;width:34px;height:45px;border:1px solid #ffffff50;border-radius:50px;font-size:18px;animation:nudge 2s ease-in-out infinite}.hero-hours{display:flex;gap:13px;align-items:center;color:#f2f0e7a3}.hero-hours i{display:block;width:3px;height:3px;border-radius:50%;background:var(--yellow)}.marquee{background:var(--yellow);color:#263d32;overflow:hidden;padding:19px 0}.marquee-track{display:flex;align-items:center;gap:36px;width:max-content;animation:marquee 34s linear infinite}.marquee-track span{font-size:12px;letter-spacing:2px;font-weight:600;white-space:nowrap}.marquee svg{width:18px;height:18px;fill:currentColor;flex-shrink:0}.section-pad{padding:105px var(--pad)}.section-top{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);padding-top:17px;margin-bottom:62px}.small-note{font-size:10px;color:var(--muted)}.serif{font:400 clamp(52px,5.2vw,90px)/.98 var(--serif);letter-spacing:-.045em}.serif em{font-weight:400}.intro{padding-bottom:135px}.intro-grid{display:grid;grid-template-columns:.82fr 1.2fr;gap:clamp(60px,10vw,185px);align-items:center}.intro-picture{position:relative;margin-top:45px}.intro-picture img{width:100%;aspect-ratio:.86;object-position:42% 50%}.picture-note{display:block;margin-top:14px;color:var(--muted);font-family:var(--serif);font-style:italic;font-size:18px}.drawn-heart{position:absolute;right:-43px;top:-50px;width:100px;height:100px;fill:none;stroke:var(--ink);stroke-width:1.2;transform:rotate(12deg)}.drawn-heart path{stroke-dasharray:500;stroke-dashoffset:500;transition:stroke-dashoffset 2s .5s}.is-visible .drawn-heart path{stroke-dashoffset:0}.intro-copy .serif{margin-bottom:34px}.intro-lead{font-family:var(--serif);font-size:clamp(23px,2.3vw,34px);line-height:1.35;max-width:420px;letter-spacing:-.02em;margin-bottom:22px}.body-copy{font-size:12px;line-height:1.95;color:var(--muted);max-width:380px}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;font-size:11px;font-weight:600;border-bottom:1px solid var(--ink);padding:12px 0;background:none;transition:gap .3s}.text-link>span{font-size:22px;font-weight:400}.text-link:hover{gap:55px}.intro-copy .text-link{margin-top:24px}.portal-section{height:190svh;position:relative;background:#304638}.portal-stage{position:sticky;top:0;height:100svh;min-height:600px;overflow:hidden;display:grid;place-items:center;color:var(--paper)}.portal-kicker{position:absolute;top:10%;z-index:2;color:#f2f0e7aa}.portal-visual{width:min(67vw,900px);height:min(87vh,810px);transform:scale(.86);will-change:transform}.portal-visual svg{width:100%;height:100%;overflow:visible}.portal-heading{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}.portal-heading h2{font:400 clamp(100px,12vw,200px)/.83 var(--serif);letter-spacing:-.06em;text-align:center;text-shadow:0 2px 35px #172c2255;transform:translateY(10px)}.portal-heading h2 em{font-weight:400;color:var(--yellow)}.portal-caption{position:absolute;bottom:9%;left:var(--pad);font-size:10px;line-height:1.8;color:#f2f0e7c4}.portal-caption span{display:block}.portal-scroll{position:absolute;right:var(--pad);bottom:9%;display:flex;align-items:center;gap:18px;font-size:8px;letter-spacing:1.5px}.portal-scroll span{font-size:25px}.moments{padding-top:110px}.moments-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:56px}.moments-heading>.body-copy{margin-bottom:4px;padding-right:8vw}.moment-tabs{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line);margin-bottom:40px}.moment-tabs button{display:flex;align-items:center;gap:17px;padding:18px 0 22px;text-align:left;font-size:14px;background:none;position:relative;color:var(--muted);transition:color .3s}.moment-tabs button:after{content:'';position:absolute;height:2px;bottom:-1px;left:0;right:24px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .35s}.moment-tabs button[aria-selected=true]{color:var(--ink)}.moment-tabs button[aria-selected=true]:after{transform:scaleX(1)}.moment-tabs button>span{font-size:8px;opacity:.6}.moment-tabs button i{font-size:19px;font-style:normal;margin-left:auto;margin-right:30px}.moment-panel{display:grid;grid-template-columns:1.25fr 1fr;min-height:490px}.moment-photo-wrap{position:relative;overflow:hidden}.moment-photo-wrap img{width:100%;height:100%;min-height:490px;object-position:center;transition:opacity .25s,transform .9s}.moment-photo-wrap:hover img{transform:scale(1.035)}.moment-time{position:absolute;bottom:24px;left:25px;color:#263d32;font-size:8px;letter-spacing:1.1px;background:var(--yellow);padding:10px 13px}.moment-content{padding:40px 0 30px clamp(35px,6vw,105px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.moment-content>.eyebrow{color:var(--muted);font-size:8px}.moment-content h3{font-size:clamp(42px,4.1vw,68px);margin-top:22px;margin-bottom:24px}.moment-content>.body-copy{max-width:300px}.moment-detail{font-size:10px;line-height:1.85;margin-top:20px}.moment-content>.text-link{margin-top:20px}.menu-callout{display:flex;justify-content:space-between;align-items:center;padding:38px 0 0;margin-top:46px;border-top:1px solid var(--line);gap:25px}.menu-callout .eyebrow{font-size:8px;color:var(--muted)}.menu-callout h3{font-size:clamp(32px,3.2vw,51px);margin-top:9px}.gallery-section{background:var(--soft);padding-bottom:70px;overflow:hidden;transition:background .7s}.gallery-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:48px}.gallery-controls{display:flex;gap:10px;margin-bottom:10px}.circle-button{display:grid;place-items:center;background:transparent;border:1px solid var(--line);border-radius:100%;width:48px;height:48px;font-size:22px;transition:background .3s,color .3s}.circle-button:hover{background:var(--ink);color:var(--paper)}.gallery-track{display:flex;gap:26px;overflow:auto;scrollbar-width:none;scroll-snap-type:x mandatory;margin-right:calc(var(--pad)*-1);padding-right:var(--pad);padding-bottom:5px;scroll-behavior:smooth}.gallery-track::-webkit-scrollbar{display:none}.gallery-item{flex:0 0 41%;background:transparent;text-align:left;padding:0;scroll-snap-align:start;min-width:0}.gallery-item:nth-child(even){padding-top:65px}.gallery-image{position:relative;display:block;overflow:hidden}.gallery-image img{width:100%;aspect-ratio:.99;transition:transform 1s cubic-bezier(.2,.6,.2,1);object-position:45% 50%}.gallery-item:hover img{transform:scale(1.05)}.gallery-open{position:absolute;bottom:18px;right:18px;display:grid;place-items:center;width:36px;height:36px;border-radius:100%;background:var(--yellow);color:#263d32;font-size:23px;transition:transform .3s}.gallery-item:hover .gallery-open{transform:rotate(45deg)}.gallery-caption{display:flex;flex-direction:column;gap:9px;margin-top:18px}.gallery-caption>span:first-child{font-size:8px;letter-spacing:1px;color:var(--muted)}.gallery-caption>span:last-child{font:400 27px var(--serif);letter-spacing:-.6px}.gallery-bottom{display:flex;align-items:center;gap:35px;margin-top:45px;font-size:7px;letter-spacing:1px;color:var(--muted)}.gallery-progress{height:1px;background:var(--line);flex:1;position:relative}.gallery-progress i{position:absolute;width:25%;height:2px;top:-.5px;left:0;background:var(--ink);transition:left .15s linear}.celebrate{min-height:620px;height:78svh;max-height:900px;position:relative;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;color:var(--paper);background:#1c3326}.celebrate>img{position:absolute;width:100%;height:120%;top:-10%;inset-inline:0;object-position:center;will-change:transform}.celebrate-shade{position:absolute;inset:0;background:#11291f8c}.celebrate-content{position:relative;padding:90px 24px;z-index:1}.celebrate-content>.eyebrow{display:block;color:var(--yellow);font-size:8px;margin-bottom:30px}.celebrate .serif{font-size:clamp(60px,7vw,110px)}.celebrate .serif em{color:var(--yellow)}.celebrate-content p{margin-top:27px;font-size:11px;line-height:1.85;color:#f2f0e7d9}.celebrate-content .button{margin-top:31px}.celebrate-side{position:absolute;right:28px;top:50%;writing-mode:vertical-rl;font-size:8px;letter-spacing:2px}.visit{padding-top:110px;padding-bottom:120px}.visit-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:8vw;align-items:center}.visit-copy h2{font-size:clamp(56px,5.5vw,90px);margin-bottom:40px}.visit-actions{display:flex;gap:25px;align-items:center;flex-wrap:wrap}.call-link{font-size:11px;white-space:nowrap}.reservation-note{margin-top:20px;font-size:9px;line-height:1.8;color:var(--muted);max-width:350px}.visit-details{display:grid;grid-template-columns:1fr 1fr;gap:30px;border-top:1px solid var(--line);margin-top:45px;padding-top:28px}.visit-details .eyebrow{font-size:7px;letter-spacing:1.1px;color:var(--muted)}.visit-details address{font-size:12px;font-style:normal;line-height:1.8;margin-top:16px}.visit-details .text-link{font-size:9px;padding-top:12px;gap:45px}.visit-details dl{margin:16px 0 0;font-size:11px}.visit-details dl>div{display:flex;justify-content:space-between;gap:20px;margin-top:8px}.visit-details dd{margin:0;white-space:nowrap}.opening-status{display:block;font-size:8px;margin-top:16px;color:var(--muted);line-height:1.6}.opening-status i{display:inline-block;background:#819c55;border-radius:100%;width:5px;height:5px;margin-right:7px}.visit-photo{position:relative;align-self:stretch;min-height:520px;margin-top:6px}.visit-photo>img{height:100%;width:100%;object-position:44% 50%;position:absolute}.address-label{position:absolute;bottom:0;left:0;right:0;background:var(--ink);color:var(--paper);padding:18px 23px;display:flex;justify-content:space-between;align-items:center;font-size:8px;letter-spacing:1.4px}.address-label>span{font-size:22px}.visit-photo-stamp{position:absolute;top:25px;right:25px;width:81px;height:81px;border-radius:100%;background:var(--yellow);color:#263d32;display:flex;align-items:center;justify-content:center;gap:3px;font:400 25px var(--serif);transform:rotate(13deg)}.visit-photo-stamp>span{font-size:27px}.footer{background:#24392f;color:var(--paper);padding:70px var(--pad) 26px}.footer-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:70px}.footer-name{position:relative;display:block;font:400 clamp(70px,9vw,160px)/.82 var(--serif);letter-spacing:-.06em}.footer-name em{font-weight:400;color:var(--yellow)}.footer-name>span{position:absolute;top:-13px;right:-120px;font-size:120px;color:var(--yellow);transition:transform .5s}.footer-name:hover>span{transform:translate(6px,-6px)}.footer-links{display:flex;flex-direction:column;gap:15px;min-width:150px}.footer-links>.eyebrow{font-size:8px;color:#f2f0e77d;margin-bottom:10px}.footer-links>a{font-size:11px}.footer-bottom{border-top:1px solid #ffffff29;padding-top:24px;display:flex;align-items:center;justify-content:space-between;font-size:7px;letter-spacing:.8px;color:#f2f0e77d;gap:20px;line-height:1.8}.footer-bottom>div{display:flex;gap:22px}.footer-bottom a:hover,.footer-links a:hover{color:var(--yellow)}.reveal{opacity:1;transform:none}.js-motion .reveal{opacity:0;transform:translateY(24px);transition:opacity .85s ease,transform .85s cubic-bezier(.2,.7,.2,1)}.js-motion .reveal.is-visible{opacity:1;transform:none}dialog{border:0;padding:0;color:#263d32;background:#f2f0e7;border-radius:0;box-shadow:0 15px 100px #0005}dialog::backdrop{background:#0b1c16cf;backdrop-filter:blur(10px)}.menu-dialog{width:min(720px,calc(100vw - 30px));max-height:94svh;margin:auto;overflow:auto}.dialog-top{position:sticky;top:0;padding:22px 30px;display:flex;justify-content:space-between;align-items:center;background:#f2f0e7;z-index:3;border-bottom:1px solid #263d3226}.dialog-top .eyebrow{font-size:7px;color:#657467}.dialog-top h2{font:400 35px/.95 var(--serif);letter-spacing:-1px;margin-top:7px}.close-dialog{display:grid;place-items:center;width:40px;height:40px;border:1px solid #263d3238;border-radius:100%;background:transparent;font-size:15px}.close-dialog:hover{background:#fff353}.menu-categories{display:flex;gap:8px;padding:18px 30px;overflow:auto;scrollbar-width:none;position:sticky;top:98px;z-index:2;background:#f2f0e7}.menu-categories button{padding:9px 12px;background:none;border:1px solid #263d3226;border-radius:50px;font-size:9px;white-space:nowrap}.menu-categories button:hover,.menu-categories button.active{background:#263d32;color:#f2f0e7}.menu-page-wrap{padding:0 50px}.menu-page-wrap img{width:100%;height:auto;max-height:70svh;object-fit:contain}.menu-pagination{display:flex;align-items:center;justify-content:center;gap:30px;padding:24px 30px 10px}.menu-pagination .circle-button{border-color:#263d3244;color:#263d32}.menu-pagination .circle-button:hover{background:#263d32;color:#f2f0e7}.menu-pagination>span{font-size:10px;letter-spacing:2px}.lightbox{width:min(1250px,94vw);max-height:94svh;background:#172c22;color:#f2f0e7;padding:55px 35px 20px;overflow:auto}.lightbox>.close-dialog{position:absolute;top:12px;right:15px;z-index:2;color:#f2f0e7;border-color:#f2f0e744}.lightbox>.close-dialog:hover{color:#263d32}.lightbox figure img{max-height:70svh;max-width:100%;width:auto;height:auto;object-fit:contain;margin:auto}.lightbox figcaption{font:400 22px var(--serif);text-align:center;margin-top:18px}.lightbox-controls{display:flex;align-items:center;justify-content:center;gap:30px;margin-top:20px}.lightbox-controls .circle-button{border-color:#ffffff44;color:#f2f0e7}.lightbox-controls .circle-button:hover{background:#fff353;color:#263d32}.lightbox-controls>span{font-size:9px;letter-spacing:1px}.cursor-label{display:none;position:fixed;left:0;top:0;z-index:120;pointer-events:none;background:var(--yellow);color:#263d32;min-width:82px;height:82px;border-radius:100%;font-size:8px;font-weight:600;letter-spacing:.5px;align-items:center;justify-content:center;transform:translate(-50%,-50%);opacity:0;transition:opacity .2s}body[data-cursor=gallery] .cursor-label{opacity:1}.dialog-open{overflow:hidden}
html[data-theme=night]{--paper:#1d3027;--ink:#ecebde;--muted:#b1bcae;--line:rgba(236,235,222,.2);--soft:#263d32;color-scheme:dark}html[data-theme=night] .hero-day{opacity:0}html[data-theme=night] .hero-night{opacity:1}html[data-theme=night] .hero h1 em{color:#fff353}html[data-theme=night] .hero-shade{background:linear-gradient(90deg,#0a1c15b5,transparent),linear-gradient(0deg,#0a1c1599,transparent 30%,transparent 70%,#0a1c1544)}html[data-theme=night] .moment-time,html[data-theme=night] .visit-photo-stamp{color:#263d32}html[data-theme=night] .button-ink{background:#fff353;color:#263d32}html[data-theme=night] .address-label{background:#fff353;color:#263d32}html[data-theme=night] .drawn-heart{stroke:#fff353}
@keyframes rise{from{transform:translateY(110%) rotate(2deg);opacity:0}to{transform:translateY(0) rotate(0);opacity:1}}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes heartbeat{0%,40%,80%,100%{transform:scale(1)}45%{transform:scale(1.12)}55%{transform:scale(.98)}65%{transform:scale(1.06)}}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes nudge{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}@keyframes headerIn{from{transform:translateY(-100%)}to{transform:translateY(0)}}
.header,.hero,.portal-stage,.celebrate,.footer{color:#f2f0e7}.nav-toggle span{background:#f2f0e7}
@media(min-width:1600px){.hero-content{top:49%}.hero h1{font-size:12vw}.hero-bottom-copy{margin-top:45px}.hero-bottom-copy p{font-size:14px}.hero h1{max-width:1300px}.round-stamp{width:165px;height:165px;right:10%}.round-stamp .stamp-heart{inset:53px;width:59px;height:59px}}
@media(max-width:1100px){.desktop-nav{gap:22px;margin-right:12px}.header-actions{gap:20px}.header{gap:20px}.reserve-link{gap:13px}.hero{min-height:730px}.round-stamp{right:7%;width:120px;height:120px;top:47%}.round-stamp .stamp-heart{inset:38px;width:44px;height:44px}.hero h1{font-size:clamp(95px,12vw,145px)}.intro-grid{gap:8vw}.intro-copy .serif{font-size:6vw}.moment-panel{min-height:450px}.moment-photo-wrap img{min-height:450px}.moment-content{padding-left:45px}.moments-heading>.body-copy{padding-right:0}.visit-grid{gap:5vw;grid-template-columns:1.3fr 1fr}.visit-details{gap:20px}.visit-details dl>div{gap:10px}.footer-name>span{right:-90px;font-size:90px}.body-copy{font-size:11px}.serif{font-size:6vw}}
@media(max-width:850px){.desktop-nav,.reserve-link{display:none}.header{height:88px}.header-actions{gap:24px}.nav-toggle{display:block}.mobile-nav{display:flex;position:fixed;inset:0;z-index:90;background:#263d32;color:#f2f0e7;padding:130px var(--pad) 40px;flex-direction:column;justify-content:center;gap:15px;visibility:hidden;opacity:0;transform:translateY(-15px);transition:opacity .35s,transform .35s,visibility .35s}.mobile-nav a{font:400 48px var(--serif);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff30;padding:10px 0}.mobile-nav a>span{font:400 9px var(--sans);color:var(--yellow)}.mobile-nav p{font-size:10px;margin-top:35px;opacity:.6}.nav-open .mobile-nav{visibility:visible;opacity:1;transform:none}.nav-open{overflow:hidden}.nav-open .header{position:fixed;background:#263d32}.nav-open .nav-toggle span:first-child{transform:translateY(4px) rotate(45deg)}.nav-open .nav-toggle span:last-child{transform:translateY(-4px) rotate(-45deg)}.hero-topline{top:130px}.hero-content{top:47%}.hero h1{font-size:clamp(100px,15.5vw,132px)}.hero-bottom-copy{gap:30px;margin-top:30px}.round-stamp{top:auto;bottom:155px;width:110px;height:110px;right:var(--pad)}.round-stamp .stamp-heart{inset:35px;width:40px;height:40px}.hero-hours{display:none}.hero-foot{bottom:25px}.section-pad{padding-top:75px;padding-bottom:75px}.section-top{margin-bottom:45px}.small-note{display:none}.intro-grid{gap:8vw;grid-template-columns:.8fr 1.2fr}.intro-copy .serif{font-size:6.7vw}.intro-lead{font-size:25px}.intro-picture{margin-top:0}.intro-picture img{aspect-ratio:.68}.drawn-heart{width:70px;height:70px;right:-24px;top:-37px}.picture-note{font-size:14px}.portal-section{height:170svh}.portal-visual{width:90vw;height:90vw}.portal-heading h2{font-size:17vw}.moment-panel{grid-template-columns:1fr 1fr}.moment-content{padding:25px 0 25px 32px}.moment-content h3{font-size:5.5vw}.moment-tabs button{font-size:12px;gap:12px}.moment-tabs button i{margin-right:20px}.gallery-item{flex-basis:57%}.serif{font-size:8vw}.moments-heading>.body-copy{font-size:10px}.celebrate{min-height:560px;height:72svh}.celebrate .serif{font-size:9vw}.visit-grid{grid-template-columns:1.2fr 1fr;gap:5vw}.visit-copy h2{font-size:7vw}.visit-photo{min-height:480px}.visit-details{grid-template-columns:1fr;gap:25px}.visit-details dl{max-width:190px}.footer-name{font-size:11vw}.footer-name>span{font-size:9vw;right:-9vw}.footer-links{min-width:100px}.footer-bottom>span:nth-child(2){display:none}}
/* Comfortable reading and touch controls on tablets and phones. */
@media(max-width:850px){
  html{scroll-padding-top:100px}
  body{-webkit-text-size-adjust:100%;text-size-adjust:100%}
  .header{position:fixed;height:86px;padding-top:max(12px,env(safe-area-inset-top));background:linear-gradient(#1c302be6,#1c302b25)}
  .header.scrolled{height:78px}
  .mood-button{min-height:44px;min-width:62px;padding:10px 12px;font-size:12px;color:#f2f0e7}
  .nav-toggle{width:44px;height:44px;padding:9px}
  .nav-toggle span{width:26px}
  .mobile-nav{padding:110px var(--pad) max(28px,env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain}
  .mobile-nav a{min-height:64px;font-size:clamp(34px,7vw,48px);line-height:1.15}
  .mobile-nav a>span{font-size:11px}
  .mobile-nav p{font-size:14px;line-height:1.7;opacity:.8}
  .hero-bottom-copy p{font-size:15px;line-height:1.7}
  .body-copy,.intro-copy>.body-copy,.moment-content>.body-copy,.moments-heading>.body-copy{font-size:15px;line-height:1.8}
  .button{min-height:54px;font-size:13px;padding:17px 22px}
  .text-link{min-height:48px;font-size:14px;gap:22px}
  .section-top .eyebrow{font-size:10px;letter-spacing:1.15px}
  .moment-content>.eyebrow{font-size:10px}
  .moment-detail{font-size:14px}
  .moment-tabs button{font-size:14px;min-height:56px}
  .circle-button,.close-dialog{width:44px;height:44px;min-width:44px;min-height:44px}
  .gallery-caption>span:first-child{font-size:10px;line-height:1.6}
  .gallery-bottom{font-size:10px;letter-spacing:.5px}
  .celebrate-content p{font-size:15px;line-height:1.75}
  .celebrate-content>.eyebrow{font-size:10px}
  .call-link{display:inline-flex;align-items:center;min-height:44px;font-size:15px}
  .reservation-note{font-size:13px;line-height:1.75}
  .visit-details .eyebrow{font-size:10px;letter-spacing:1px}
  .visit-details address,.visit-details dl{font-size:15px;line-height:1.7}
  .visit-details .text-link{font-size:14px;gap:20px}
  .visit-details dl{max-width:250px}
  .opening-status{font-size:12px}
  .address-label{font-size:10px}
  .footer-links>.eyebrow{font-size:10px}
  .footer-links>a{display:inline-flex;align-items:center;min-height:44px;font-size:15px}
  .footer-links{gap:3px}
  .footer-bottom{font-size:10px;letter-spacing:.4px}
  .footer-bottom a{display:inline-flex;align-items:center;min-height:44px;font-size:13px}
}
@media(max-width:600px){
  :root{--pad:clamp(20px,5.6vw,32px)}
  html{scroll-padding-top:94px}
  .header{height:82px;gap:12px;padding-top:max(10px,env(safe-area-inset-top));padding-bottom:10px;padding-left:max(var(--pad),env(safe-area-inset-left));padding-right:max(var(--pad),env(safe-area-inset-right))}
  .header.scrolled{height:76px}
  .brand{width:94px}.brand img{width:92px;height:36px}.brand>span{font-size:7px;letter-spacing:2px}
  .header-actions{gap:12px}.mood-switch{padding:2px;gap:0}.mood-button{min-width:58px;padding:10px 11px}
  .hero{height:100svh;min-height:690px;max-height:1000px;display:flex;flex-direction:column;justify-content:center;padding:172px var(--pad) 108px}
  .hero-photo{object-position:60% 50%;transform:scale(1.02)}
  .hero-shade{background:linear-gradient(90deg,#0b2016bb,#0b20164a),linear-gradient(0deg,#0b2016bb,transparent 65%,#0b20164a)}
  .hero-topline{top:116px}.hero-topline .eyebrow{font-size:10px;letter-spacing:1.2px}
  .hero-content{position:relative;inset:auto;transform:none;width:100%}
  .hero h1{font-size:clamp(66px,20.2vw,118px);line-height:.91;letter-spacing:-.052em;max-width:100%}
  .hero h1 .line>em{white-space:nowrap}
  .hero-bottom-copy{flex-direction:column;align-items:stretch;gap:24px;margin-top:26px}
  .hero-bottom-copy p{font-size:15px;line-height:1.7;max-width:340px;min-height:77px;color:#f2f0e7ed}
  .hero-bottom-copy .button{width:100%;max-width:340px;min-height:54px;padding:17px 20px;font-size:13px}
  .round-stamp{display:none}
  .hero-foot{bottom:max(24px,env(safe-area-inset-bottom));align-items:center;font-size:11px}
  .scroll-cue{font-size:11px;line-height:1.6;gap:12px}.scroll-cue>span{width:32px;height:42px;flex-shrink:0}
  .marquee{padding:18px 0}.marquee-track{gap:28px}.marquee-track span{font-size:11px;letter-spacing:1.2px}.marquee svg{width:16px;height:16px}
  .section-pad{padding-top:68px;padding-bottom:68px}.section-top{padding-top:16px;margin-bottom:36px}
  .section-top .eyebrow{font-size:10px;letter-spacing:1px;max-width:100%}
  .intro-grid{display:flex;flex-direction:column-reverse;gap:38px;align-items:stretch}
  .intro-copy .serif{font-size:clamp(43px,12.2vw,69px);margin-bottom:26px}
  .intro-lead{font-size:25px;line-height:1.4;max-width:100%;margin-bottom:20px}
  .intro-copy>.body-copy{max-width:100%}.intro-copy .text-link{margin-top:20px}
  .intro-picture{width:100%;align-self:auto}.intro-picture img{aspect-ratio:1.08;object-position:center}
  .drawn-heart{right:14px;top:18px;width:70px;height:70px;stroke:#fff353;filter:drop-shadow(0 1px 4px #263d3255);transform:rotate(15deg)}
  .picture-note{font-size:18px;line-height:1.4;margin-top:15px}
  .portal-section{height:155svh}.portal-stage{height:100svh;min-height:0}.portal-visual{width:115vw;height:115vw;max-width:none}
  .portal-heading h2{font-size:24vw;line-height:.88}
  .portal-kicker{top:15%;max-width:80%;text-align:center;font-size:10px;letter-spacing:1.1px}
  .portal-caption{bottom:10%;font-size:13px}.portal-scroll{bottom:10%;font-size:9px;letter-spacing:.5px;gap:10px}.portal-scroll span{font-size:22px}
  .serif{font-size:clamp(44px,12.5vw,72px)}
  .moments-heading{display:block;margin-bottom:28px}.moments-heading>.body-copy{margin-top:24px}
  .moment-tabs{gap:12px;margin-bottom:24px}.moment-tabs button{min-width:0;font-size:12px;line-height:1.4;padding:14px 0;gap:0;align-items:center}.moment-tabs button>span,.moment-tabs button i{display:none}.moment-tabs button:after{right:0}
  .moment-panel{grid-template-columns:minmax(0,1fr);min-height:0}.moment-photo-wrap{height:auto;aspect-ratio:1.1}
  .moment-photo-wrap img{height:100%;min-height:0;object-position:center}
  .moment-time{bottom:16px;left:16px;max-width:calc(100% - 32px);font-size:10px;line-height:1.5;letter-spacing:.6px;padding:9px 12px}
  .moment-content{padding:30px 0 0}.moment-content>.eyebrow{font-size:10px;line-height:1.7}
  .moment-content h3{font-size:clamp(42px,12vw,64px);margin-top:18px;margin-bottom:22px;overflow-wrap:normal}
  .moment-content>.body-copy{max-width:100%}.moment-detail{font-size:14px;line-height:1.8;margin-top:20px}.moment-content .text-link{margin-top:15px}
  .menu-callout{flex-direction:column;align-items:stretch;margin-top:38px;padding-top:30px;gap:26px}.menu-callout .eyebrow{font-size:10px}.menu-callout h3{font-size:38px;line-height:1.1;margin-top:12px}.menu-callout .button{font-size:13px;width:100%;min-height:54px}
  .gallery-heading{display:block;margin-bottom:28px}.gallery-heading h2{font-size:clamp(42px,12vw,67px)}.gallery-controls{justify-content:flex-end;margin:24px 0 0;gap:10px}
  .gallery-track{gap:17px;overscroll-behavior-x:contain}.gallery-item{flex-basis:86%}.gallery-item:nth-child(even){padding-top:26px}.gallery-image img{aspect-ratio:.94}.gallery-open{width:40px;height:40px}
  .gallery-caption{gap:8px;margin-top:16px}.gallery-caption>span:first-child{font-size:10px;letter-spacing:.7px}.gallery-caption>span:last-child{font-size:26px;line-height:1.2}
  .gallery-bottom{margin-top:30px;gap:14px;font-size:10px}.gallery-bottom>span:first-child{max-width:120px;line-height:1.6}.gallery-progress i{width:20%}
  .celebrate{min-height:590px;height:82svh}.celebrate .serif{font-size:clamp(42px,12vw,65px)}.celebrate-content{width:100%;padding:70px var(--pad)}.celebrate-content>.eyebrow{font-size:10px;letter-spacing:1px;margin-bottom:28px}.celebrate-content p{font-size:15px;line-height:1.75;margin-top:26px}.celebrate-content p br{display:none}.celebrate-content .button{font-size:13px;width:100%;min-height:54px;gap:20px;margin-top:30px}.celebrate-side{display:none}
  .visit-grid{display:flex;flex-direction:column;gap:36px;align-items:stretch}.visit-copy h2{font-size:clamp(42px,12vw,65px);margin-bottom:30px}
  .visit-actions{gap:12px;align-items:stretch;flex-direction:column}.visit-actions .button{font-size:13px;width:100%;min-height:54px;padding:17px 20px}.call-link{font-size:16px}
  .reservation-note{font-size:13px;max-width:100%;margin-top:16px}.visit-details{grid-template-columns:minmax(0,1fr);gap:30px;margin-top:30px;padding-top:28px}.visit-details .eyebrow{font-size:10px;letter-spacing:1.1px}.visit-details address{font-size:16px;margin-top:14px}.visit-details dl{font-size:15px;margin-top:14px;width:100%;max-width:280px}.visit-details dl>div{gap:16px}.visit-details .text-link{font-size:14px;gap:26px;padding-top:10px}.opening-status{font-size:12px;margin-top:16px}
  .visit-photo{height:auto;aspect-ratio:1.05;min-height:320px;margin-top:0}.visit-photo>img{object-position:center 58%}.visit-photo-stamp{width:65px;height:65px;top:20px;right:20px;font-size:20px}.visit-photo-stamp>span{font-size:23px}.address-label{font-size:10px;letter-spacing:1px;padding:16px 18px}
  .footer{padding-top:58px;padding-bottom:max(22px,env(safe-area-inset-bottom))}.footer-top{flex-direction:column;align-items:stretch;gap:42px;padding-bottom:34px}.footer-name{font-size:23vw;line-height:.88;letter-spacing:-.06em}.footer-name>span{right:0;top:auto;bottom:0;font-size:16vw}
  .footer-links{display:flex;flex-direction:column;gap:0;min-width:0;width:100%}.footer-links>.eyebrow{font-size:10px;margin-bottom:12px}.footer-links>a{font-size:15px;min-height:44px;width:max-content}
  .footer-bottom{flex-direction:column;align-items:flex-start;gap:10px;padding-top:22px;font-size:10px;line-height:1.8;letter-spacing:.3px}.footer-bottom>div{gap:24px}.footer-bottom a{font-size:13px;min-height:44px}
  .lightbox{padding:70px 12px 20px;width:calc(100vw - 16px);max-height:94svh}.lightbox figure img{max-height:60svh}.lightbox figure{touch-action:pan-y pinch-zoom}.lightbox figcaption{font-size:24px;margin-top:18px}.lightbox-controls>span{font-size:12px}.lightbox-controls{gap:24px}.lightbox>.close-dialog{top:12px;right:12px}
}
@media(max-width:350px){
  :root{--pad:18px}.header{gap:8px}.brand{width:81px}.brand img{width:80px;height:31px}.brand>span{font-size:6px;letter-spacing:1.7px}.header-actions{gap:8px}.mood-button{min-width:53px;padding:10px 8px;font-size:11px}.hero h1{font-size:20vw}.hero-bottom-copy p{font-size:14px}.mobile-nav a{font-size:34px}.portal-caption{font-size:12px}.portal-scroll{font-size:8px}.gallery-bottom{font-size:9px}
}
/* The card scrolls independently; its navigation stays within reach. */
.menu-dialog{width:min(720px,calc(100vw - 24px));height:min(92svh,1100px);max-height:92svh;overflow:hidden}
.menu-dialog[open]{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto}
.dialog-top{position:static;padding:20px 24px;gap:16px}.dialog-top .eyebrow{font-size:10px}.dialog-top h2{font-size:34px;line-height:1.05}
.close-dialog{width:44px;height:44px;min-width:44px;min-height:44px}
.menu-categories{position:static;padding:12px 24px;gap:8px;overscroll-behavior-x:contain}.menu-categories button{font-size:12px;padding:10px 14px;min-height:44px}
.menu-page-wrap{overflow:auto;overscroll-behavior:contain;padding:0 18px;min-height:0;touch-action:pan-y pinch-zoom;scrollbar-width:thin}
.menu-page-wrap img{height:auto;width:100%;max-height:none;object-fit:contain}
.menu-page-wrap.is-zoomed{touch-action:auto}.menu-page-wrap.is-zoomed img{width:max(100%,768px);max-width:none}
.menu-pagination{display:grid;grid-template-columns:1fr 44px auto 44px;gap:14px;align-items:center;padding:14px 24px max(14px,env(safe-area-inset-bottom));background:#f2f0e7;border-top:1px solid #263d3226}
.menu-pagination>span{font-size:12px;letter-spacing:1px;white-space:nowrap;text-align:center}.menu-pagination .circle-button{width:44px;height:44px}
.menu-zoom{min-height:44px;justify-self:start;background:none;color:#263d32;font-size:12px;text-decoration:underline;text-underline-offset:4px;padding:8px 0}
@media(max-width:600px){.dialog-top{padding:16px}.dialog-top h2{font-size:30px}.menu-categories{padding:10px 16px}.menu-page-wrap{padding:0 10px}.menu-pagination{gap:8px;padding-left:14px;padding-right:14px}.menu-pagination>span{font-size:11px}.menu-zoom{font-size:11px}}
@media(max-width:950px) and (max-height:520px){.hero{height:auto;min-height:680px}.mobile-nav{justify-content:flex-start;padding-top:104px}.mobile-nav a{min-height:54px;font-size:34px}.mobile-nav p{margin-top:18px}.portal-stage{min-height:0}}
@media(hover:hover) and (pointer:fine){.cursor-label{display:flex}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.js-motion .reveal{opacity:1;transform:none}.hero-media,.celebrate>img{transform:none!important}.portal-section{height:90svh;min-height:600px}.portal-stage{position:relative;height:100%}.portal-visual{transform:scale(1)!important}.drawn-heart path{stroke-dashoffset:0}.cursor-label{display:none!important}}
