:root{--paper:#f7f1d9;--cream:#f2e7bc;--green:#34433b;--rust:#b8582d;--rust-ink:#a24a25;--deep:#292825;--display:'Oswald','Arial Narrow',sans-serif;--sans:'DM Sans',Arial,sans-serif;--serif:'Fraunces',Georgia,serif;--line:#34433b36}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--green);font:16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}h1,h2,h3,h4,p,figure{margin:0}h1,h2,h3,h4{font-family:var(--display);font-weight:500;line-height:1.06;letter-spacing:-.04em}h2{font-size:clamp(3rem,6.7vw,7.4rem)}em{font-style:normal;color:var(--rust-ink)}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{border:0;background:none;color:inherit;cursor:pointer}button,a,input,select{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button:disabled{cursor:wait}img,video{display:block;max-width:100%}img{height:auto}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--rust-ink);outline-offset:6px}[hidden]{display:none!important}.sr-only,.skip-link:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link:focus{position:fixed;z-index:200;padding:15px;background:var(--cream)}.eyebrow{font:500 .75rem/1.5 var(--sans);letter-spacing:.12em}.chapter{position:relative}.webgl-stage{position:fixed;inset:0;z-index:2;pointer-events:none;opacity:0;transition:opacity .25s}.webgl-stage.ready{opacity:1}.webgl-stage canvas{display:block;width:100%;height:100%}.webgl-ready .hero-fallback,.webgl-ready .roulette-fallback{opacity:0;visibility:hidden}.section-label{display:flex;justify-content:space-between;align-items:center;gap:25px;border-top:1px solid var(--line);padding-top:20px;font-size:.75rem;letter-spacing:.1em;position:relative;z-index:4}.section-label button{font-size:.75rem;letter-spacing:0}.text-link{display:inline-flex;justify-content:space-between;align-items:center;gap:35px;padding:10px 0;border-bottom:1px solid currentColor;font-size:.9rem}.text-link span{font-size:1.4rem}.text-link:hover{color:var(--rust-ink)}
.site-nav{height:116px;padding:20px 4vw;position:absolute;inset:0 0 auto;z-index:20;display:flex;align-items:center;gap:55px}.brand{flex:none}.brand img{width:76px;height:76px;border-radius:50%;transition:transform .5s}.brand:hover img{transform:rotate(-10deg)}.site-nav nav{display:flex;align-items:center;gap:34px;font-size:.86rem}.site-nav nav a{padding:10px 0}.site-nav nav a:hover{text-decoration:underline;text-underline-offset:5px}.nav-actions{display:flex;gap:18px;align-items:center;margin-left:auto}.hours-button{font-size:.86rem;display:flex;align-items:center;gap:32px}.hours-button span{font-size:1.25rem}.icon-button{width:41px;height:41px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;font-size:1.25rem}.mobile-menu{display:none}
.hero{height:max(880px,100svh);min-height:880px;overflow:hidden;background:radial-gradient(ellipse at 56% 65%,#f1dfa36b,transparent 58%)}.hero-overline{position:absolute;top:145px;left:4vw;right:4vw;display:flex;justify-content:space-between;font-size:.7rem;line-height:1.5;letter-spacing:.1em;z-index:4}.hero-overline>span:last-child{text-align:right}.hero-type{position:absolute;top:23%;left:0;right:0;text-align:center;font:600 23.5vw/.9 var(--display);letter-spacing:-.065em;white-space:nowrap;color:var(--rust);z-index:1;user-select:none}.scene-input{position:absolute;inset:200px 12% 185px;z-index:5;touch-action:pan-y;cursor:grab}.scene-input:active{cursor:grabbing}.hero-bottom{position:absolute;left:4vw;right:4vw;bottom:68px;z-index:6;display:flex;justify-content:space-between;align-items:end;gap:30px;pointer-events:none}.hero-bottom>*{pointer-events:auto}.hero-bottom h1{font-size:clamp(1.6rem,2.2vw,2.7rem);letter-spacing:-.015em;line-height:1.2}.hero-bottom p{font-size:.86rem;line-height:1.75;margin-top:18px}.hero-invitation{display:flex;align-items:center;gap:45px}.drag-hint{font-size:.75rem;display:flex;align-items:center;gap:18px}.drag-hint>span{font-size:1.4rem}.circle-link{width:135px;height:135px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;border:1px solid #34433b66;border-radius:50%;transition:background .25s,transform .4s;background:#f7f1d955;backdrop-filter:blur(5px)}.circle-link>span{font-size:.64rem;letter-spacing:.11em}.circle-link b{font-size:2.2rem;font-weight:400;line-height:1}.circle-link:hover{background:var(--green);color:var(--cream);transform:rotate(-8deg)}.scroll-cue{position:absolute;bottom:21px;left:4vw;right:4vw;z-index:4;display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:12px;font-size:.67rem;letter-spacing:.04em}.hero-fallback{position:absolute;inset:21% 20% 15%;display:flex;align-items:center;justify-content:center;z-index:2;transition:opacity 1s}.hero-fallback img{width:57%;position:absolute;filter:drop-shadow(15px 30px 22px #34433b27)}.hero-fallback img:first-child{transform:translate(-30%,0) rotate(-15deg)}.hero-fallback img:nth-child(2){transform:translate(25%,-32%) rotate(20deg)}.hero-fallback img:last-child{width:40%;transform:translate(54%,45%) rotate(10deg)}
.place{padding:95px 4vw 105px}.place-heading{display:grid;grid-template-columns:1.25fr .65fr;gap:7vw;align-items:end;position:relative;z-index:4;margin:48px 0 45px}.place-heading h2 em{color:var(--green)}.place-heading>p{max-width:360px;font-size:.96rem;line-height:1.85;padding-bottom:4px}.place-photo-wrap{display:grid;grid-template-columns:1fr .31fr;gap:42px;align-items:center;position:relative;z-index:4}.place-photo{position:relative}.place-photo>img{width:100%;height:590px;object-fit:cover;object-position:50% 64%}.place-photo figcaption{position:absolute;bottom:22px;left:24px;font:500 1rem var(--serif);background:var(--paper);padding:11px 16px}.inside-photo{transform:rotate(5deg);background:var(--cream);padding:10px 10px 20px;box-shadow:7px 9px 0 #34433b0c}.inside-photo img{width:100%;aspect-ratio:3/4;object-fit:cover}.inside-photo figcaption{font:500 .95rem var(--serif);text-align:center;margin-top:17px}.moments-heading{display:flex;gap:45px;justify-content:space-between;align-items:end;margin:95px 0 36px;position:relative;z-index:4}.moments-heading h3{font-size:clamp(2.5rem,4.7vw,5rem)}.moments-heading p{max-width:380px;font-size:.96rem}.moments{display:grid;grid-template-columns:1.25fr .85fr 1fr;gap:3vw;align-items:center;position:relative;z-index:4}.moments figure:first-child img{aspect-ratio:4/5}.moments figure:nth-child(2){transform:translateY(40px)}.moments figure:nth-child(3){transform:translateY(-25px)}.moments img{width:100%;aspect-ratio:3/4;object-fit:cover}.moments figcaption{padding-top:13px;font-size:.76rem}
.roulette{padding:40px 4vw 90px;min-height:1020px;isolation:initial;background:radial-gradient(ellipse at 45% 55%,#e9d9ac70,transparent 60%)}.roulette-intro{position:relative;z-index:4;display:flex;justify-content:space-between;gap:50px;align-items:end;margin-top:46px}.roulette-intro h2{font-size:clamp(3.1rem,5.9vw,6.4rem)}.roulette-intro>p{max-width:360px;font-size:.94rem}.roulette-stage{height:530px;position:relative;pointer-events:none}.scene-caption{position:absolute;left:0;right:0;bottom:14px;text-align:center;font:500 .95rem var(--serif);z-index:4}.roulette-fallback{height:100%;position:relative;display:flex;align-items:center;justify-content:center;transition:opacity .5s}.roulette-fallback img{width:320px;filter:drop-shadow(15px 25px 15px #34433b1a)}.roulette-fallback img+img{margin-left:-80px;transform:translateY(-55px)}.roulette-console{position:relative;z-index:5;display:grid;grid-template-columns:240px minmax(280px,420px) 1fr;align-items:center;gap:4vw;border-block:1px solid var(--line);padding:24px 0}.serving-choice{display:flex;border:1px solid var(--green);border-radius:40px;padding:4px;margin:0}.serving-choice label{position:relative;flex:1}.serving-choice input{position:absolute;opacity:0}.serving-choice span{display:block;text-align:center;padding:11px 15px;border-radius:30px;font-size:.86rem;cursor:pointer}.serving-choice input:checked+span{color:var(--cream);background:var(--green)}.serving-choice input:focus-visible+span{outline:2px solid var(--rust-ink);outline-offset:5px}.spin-button{display:flex;align-items:center;justify-content:space-between;gap:25px;background:var(--green);color:var(--cream);border-radius:40px;padding:17px 25px;font-family:var(--display);font-size:1.5rem;letter-spacing:.02em;line-height:1.4;transition:background .25s,transform .25s}.spin-button b{font:500 2.1rem/1 var(--sans)}.spin-button:hover{background:var(--rust-ink);transform:translateY(-2px)}.spin-button:disabled{opacity:.75}.roulette-console>p{font-size:.79rem;line-height:1.6;max-width:240px}.receipt{position:relative;z-index:5;max-width:800px;margin:42px auto 0;text-align:center;padding:35px 40px 24px;background:var(--cream);border-top:2px solid var(--green);scroll-margin-bottom:90px;animation:receipt-in .6s cubic-bezier(.2,.7,.2,1) both}.receipt h3{font-size:clamp(2.5rem,4.5vw,4.6rem);margin:21px 0 17px}.receipt>p{max-width:580px;margin:0 auto;font-size:.96rem}.receipt .receipt-note{margin:26px auto 0;padding-top:21px;border-top:1px solid var(--line);font-size:.85rem}@keyframes receipt-in{from{opacity:0;transform:translateY(-15px)}to{opacity:1;transform:translateY(0)}}
.family{padding:95px 4vw 105px;position:relative;z-index:4}.family-heading{border-top:1px solid var(--line);padding-top:30px;display:flex;justify-content:space-between;gap:40px;align-items:start;margin-bottom:45px}.family-heading h2{text-align:right}.family-heading h2 em{color:var(--green)}.family-body{display:grid;grid-template-columns:1.25fr .75fr;gap:8vw;align-items:center}.family-body img{width:100%;aspect-ratio:4/3;object-fit:contain}.family-body>div{max-width:385px}.family-body p+p{margin-top:18px}.family-body blockquote{font:500 clamp(2rem,3.7vw,4rem)/1.17 var(--serif);letter-spacing:-.04em;color:var(--rust-ink);margin:32px 0 22px}.family-sign{font-size:.8rem}
/* One composition: the real freezer, the complete offer and a useful price. */
.rent-section{background:var(--cream);color:var(--green);padding:104px 5vw 110px}
.rent-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.96fr);gap:clamp(42px,7vw,108px);max-width:1480px;margin-inline:auto;align-items:start}
.rent-photo{margin:0;position:sticky;top:32px}
.rent-photo img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover}
.rent-photo figcaption{font:600 .66rem/1.5 var(--sans);letter-spacing:.12em;padding-top:17px}
.rent-eyebrow{margin:0 0 23px;font:600 .68rem/1.5 var(--sans);letter-spacing:.13em}
.rent-content h2{margin:0;font:600 clamp(4.2rem,6.7vw,7.3rem)/1.01 var(--display);letter-spacing:-.035em;color:var(--green)}
.rent-intro{max-width:440px;margin:23px 0 29px;font:400 .96rem/1.7 var(--sans)}
.rent-package{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid #34433b55;padding:23px 0}
.rent-package h3{margin:0 0 8px;font:600 1.5rem/1.2 var(--display);letter-spacing:-.015em}
.rent-package p:not(.rent-package-price){margin:0;font:.82rem/1.7 var(--sans)}
.rent-package .rent-package-price{margin:0;white-space:nowrap;font:500 2.6rem/1 var(--display);letter-spacing:-.03em}
.rent-package-price span{font:500 .85rem var(--sans);letter-spacing:0}
.rent-options{border-block:1px solid #34433b55}
.rent-options summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:18px;min-height:58px;padding:13px 0;font:600 .88rem/1.5 var(--sans)}
.rent-options summary::-webkit-details-marker{display:none}
.rent-options summary>span{font-size:1.55rem;font-weight:400;line-height:1;transition:transform .2s}
.rent-options[open] summary>span{transform:rotate(45deg)}
.rent-fields{border:0;margin:0;padding:0 0 23px;min-width:0}
.rent-option-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 0;border-top:1px solid #34433b24}
.rent-option-row label,.rent-service-row label{display:block;cursor:pointer;min-width:0}
.rent-option-row label strong,.rent-service-row label strong{display:block;font:600 .85rem/1.5 var(--sans)}
.rent-option-row label span,.rent-service-row label span{display:block;margin-top:3px;font:400 .73rem/1.5 var(--sans)}
.rent-quantity{display:flex;align-items:center;gap:9px;flex-shrink:0}
.rent-quantity>span{width:59px;font:400 .68rem/1.4 var(--sans)}
.rent-quantity input{width:59px;min-height:44px;padding:8px 6px 8px 10px;border:1px solid #34433b70;border-radius:0;background:var(--paper);color:var(--green);font:500 .88rem var(--sans)}
.rent-check{width:24px;height:24px;margin:10px 0;accent-color:var(--green);cursor:pointer;flex-shrink:0}
.rent-service-row{border-top:1px solid #34433b24;padding-top:17px}
.rent-service-row select{display:block;width:100%;max-width:100%;min-height:46px;margin-top:11px;padding:10px 34px 10px 12px;border:1px solid #34433b70;border-radius:0;background:var(--paper);color:var(--green);font:400 .84rem var(--sans)}
.rent-total-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:24px}
.rent-total-row>span{font:600 .9rem/1.4 var(--sans)}
.rent-total-row small{display:block;font:400 .72rem/1.5 var(--sans);margin-top:4px}
.rent-total-row output{white-space:nowrap;font:500 clamp(2.15rem,3.3vw,3.2rem)/1.1 var(--display);letter-spacing:-.025em}
.rent-selection{margin:13px 0 23px;font:400 .74rem/1.65 var(--sans)}
.rent-book{display:flex;justify-content:space-between;align-items:center;width:100%;gap:20px;min-height:58px;background:var(--green);color:var(--cream);padding:15px 20px;font:600 .9rem/1.5 var(--sans);text-decoration:none;transition:background .2s}
.rent-book>span{font-size:1.45rem;line-height:1;font-weight:400}
.rent-book:hover{background:#26382d}
.rent-mail-note{margin:12px 0 25px;font:400 .72rem/1.6 var(--sans)}
.rent-practical{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;padding:13px 0;border-block:1px solid #34433b40;font:500 .77rem/1.5 var(--sans);text-decoration:none}
.rent-practical>span{font-size:.66rem;letter-spacing:.06em;white-space:nowrap}
.rent-practical:hover{text-decoration:underline;text-underline-offset:4px}
.rent-section :is(a,input,select,summary):focus-visible{outline:3px solid var(--rust);outline-offset:4px}
.rent-fields:disabled{opacity:.6}
.rent-no-script{margin:0 0 18px;font:.82rem/1.6 var(--sans)}
.rent-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1700px){.rent-section{padding-inline:max(5vw,calc((100vw - 1580px)/2))}}
@media(max-width:1050px){.rent-section{padding-block:78px}.rent-layout{gap:40px}.rent-content h2{font-size:6.7vw}.rent-package{gap:17px}.rent-package h3{font-size:1.3rem}.rent-package .rent-package-price{font-size:2.25rem}.rent-package p:not(.rent-package-price){font-size:.75rem}.rent-quantity{gap:6px}.rent-quantity>span{width:51px}.rent-option-row{gap:12px}}
@media(max-width:760px){.rent-section{padding:54px 22px 60px}.rent-layout{grid-template-columns:1fr;gap:34px;max-width:560px}.rent-photo{position:static;order:2}.rent-photo img{aspect-ratio:3/4;max-height:560px;object-fit:cover}.rent-photo figcaption{font-size:.6rem;padding-top:12px}.rent-content{order:1}.rent-content h2{font-size:clamp(3.8rem,16vw,6rem);line-height:1.02}.rent-eyebrow{font-size:.63rem;margin-bottom:20px}.rent-intro{font-size:.89rem;margin:21px 0 25px;max-width:440px}.rent-package{padding:21px 0;gap:15px}.rent-package h3{font-size:1.35rem}.rent-package .rent-package-price{font-size:2.35rem}.rent-package p:not(.rent-package-price){font-size:.77rem}.rent-options summary{min-height:57px;font-size:.84rem}.rent-option-row{gap:15px;padding:14px 0}.rent-option-row label strong,.rent-service-row label strong{font-size:.82rem}.rent-option-row label span,.rent-service-row label span{font-size:.7rem}.rent-quantity{gap:7px}.rent-quantity>span{width:54px;font-size:.65rem}.rent-quantity input{width:53px;font-size:1rem}.rent-service-row select{font-size:1rem}.rent-total-row{padding-top:22px}.rent-total-row output{font-size:2.6rem}.rent-total-row>span{font-size:.85rem}.rent-selection{font-size:.73rem;margin-bottom:20px}.rent-book{font-size:.88rem;min-height:56px;padding-inline:17px}.rent-mail-note{font-size:.71rem;margin-bottom:23px}.rent-practical{font-size:.76rem}}
@media(max-width:360px){.rent-section{padding-inline:18px}.rent-content h2{font-size:3.65rem}.rent-package{gap:12px}.rent-package h3{font-size:1.2rem}.rent-package p:not(.rent-package-price){font-size:.72rem}.rent-package .rent-package-price{font-size:2rem}.rent-option-row{gap:10px}.rent-quantity>span{width:47px;font-size:.61rem}.rent-quantity input{width:48px}.rent-option-row label span{font-size:.66rem}.rent-total-row output{font-size:2.35rem}}
@media(prefers-reduced-motion:reduce){.rent-section *{transition:none!important}}
@media print{.rent-section{display:none!important}}

.rent-total-row[hidden],.rent-selection[hidden]{display:none}
.rent-book{margin-top:24px}

.rent-package-price>small{display:block;letter-spacing:0;font:400 .65rem/1.5 var(--sans);margin-top:7px;text-align:right}
.rent-section{position:relative;z-index:4;background:#ede4c4;padding-inline:4vw}.rent-layout{grid-template-columns:.92fr 1fr}.rent-photo img{border-radius:2px}.rent-content h2{font-weight:500}.rent-book{border-radius:40px;padding-inline:25px}.rent-photo{top:30px}.visit{background:var(--green);color:var(--cream);padding:45px 4vw 0;position:relative;z-index:4}.visit .section-label{border-color:#f2e7bc44}.visit h2{font-size:clamp(5rem,13vw,14rem);line-height:.99;margin:75px 0 60px;letter-spacing:-.055em}.visit h2 em{color:var(--cream)}.visit-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6vw;padding:35px 0 60px;border-top:1px solid #f2e7bc44}.visit-grid>.eyebrow,.visit-grid .eyebrow{font-size:.65rem}.visit address{font-style:normal;margin:25px 0 18px;font-size:1.13rem;line-height:1.7}.visit-grid>div>p:not(.season-note){font-size:1.05rem;margin-top:24px}.hours-large{font:500 5.5rem/1.1 var(--display);display:block;letter-spacing:-.04em;margin:7px 0 20px}.season-note{font-size:.75rem;line-height:1.75}.season-note a{text-decoration:underline;text-underline-offset:4px}.visit-contact{display:flex;flex-direction:column;align-items:start;gap:18px}.visit-contact>.eyebrow{margin-bottom:7px}.visit-contact>a{font-size:1rem}.visit-contact .text-link{font-size:.8rem;margin-top:8px}.visit footer{display:flex;gap:26px;align-items:center;padding:25px 0 30px;border-top:1px solid #f2e7bc44}.visit footer img{border-radius:50%;width:65px}.visit footer p{font-size:.78rem}.visit footer>a{margin-left:auto;font-size:.74rem}.visit footer>span{font-size:.66rem}.mobile-dock{display:none}
dialog{position:fixed;margin:auto;padding:45px;width:min(620px,calc(100vw - 40px));max-height:calc(100svh - 40px);border:0;border-radius:3px;background:var(--paper);color:var(--green);overflow:auto;box-shadow:0 30px 150px #182c2860}dialog::backdrop{background:#1a2a20a3;backdrop-filter:blur(10px)}dialog h2{font-size:3.6rem;line-height:1.08;margin:28px 0}.close-button{position:absolute;right:14px;top:14px;border:1px solid var(--line);width:38px;height:38px;border-radius:50%;font-size:1.5rem;line-height:1}dialog>.eyebrow{display:block;padding-right:35px}dialog>p{margin:20px 0}.dialog-navigation{display:flex;flex-direction:column;margin-top:25px}.dialog-navigation a{padding:18px 0;border-bottom:1px solid var(--line);font:500 1.7rem var(--display)}.track-list{margin-top:30px;border-top:1px solid var(--line)}.track-list button{width:100%;min-height:67px;display:flex;align-items:center;text-align:left;gap:15px;padding:14px 0;border-bottom:1px solid var(--line);font-size:.9rem}.track-list button>span{font-size:.7rem;opacity:.6}.track-list button i{margin-left:auto;font-style:normal;font-size:1.3rem}.track-list button.playing{color:var(--rust-ink)}#now-playing{font-size:.8rem}audio{width:100%;height:40px}
@media(min-width:1700px){.hero{max-height:1200px}.hero-type{font-size:23vw}.place,.family,.roulette{padding-inline:max(4vw,calc((100vw - 1640px)/2))}}
@media(max-width:1100px){.site-nav{gap:30px}.site-nav nav{gap:23px}.hero{min-height:830px;height:100svh}.hero-type{top:26%}.hero-bottom h1{font-size:1.8rem}.hero-invitation{gap:20px}.circle-link{width:112px;height:112px}.hero-bottom p{font-size:.82rem}.place-photo>img{height:470px}.place-photo-wrap{gap:28px}.place-heading{gap:5vw}.place-heading>p{font-size:.9rem}.roulette-intro>p{font-size:.86rem}.roulette-console{grid-template-columns:210px 1fr;gap:25px}.roulette-console>p{grid-column:1/-1;max-width:none;text-align:center;font-size:.78rem;margin-top:-9px}.roulette-stage{height:500px}.family-body{gap:6vw}.family-body p{font-size:.92rem}.visit-grid{gap:4vw}}
@media(max-width:760px){
 html{scroll-padding-top:16px;scroll-padding-bottom:80px}body{font-size:16px}.site-nav{height:94px;padding:15px 22px;gap:18px}.brand img{width:62px;height:62px}.site-nav nav,.hours-button{display:none}.nav-actions{gap:10px}.icon-button{width:38px;height:38px;font-size:1.1rem}.mobile-menu{display:grid}.hero{height:max(830px,100svh);min-height:830px}.hero-overline{top:118px;left:22px;right:22px;font-size:.59rem;letter-spacing:.08em}.hero-type{top:25%;font-size:23vw;letter-spacing:-.06em}.scene-input{inset:170px 0 250px;touch-action:pan-y}.hero-bottom{left:22px;right:22px;bottom:82px;align-items:end;gap:15px}.hero-bottom h1{font-size:clamp(1.02rem,4.4vw,1.55rem);letter-spacing:-.02em;line-height:1.3;white-space:nowrap}.hero-bottom p{font-size:.8rem;margin-top:13px;line-height:1.7}.hero-invitation{display:block}.drag-hint{position:absolute;right:0;bottom:158px;font-size:.62rem;gap:8px;white-space:nowrap}.circle-link{width:76px;height:76px;gap:5px}.circle-link>span{font-size:.45rem;letter-spacing:.025em}.circle-link b{font-size:1.8rem}.scroll-cue{bottom:33px;left:22px;right:22px;font-size:.65rem;padding-top:12px}.hero-fallback{inset:21% 3% 29%}.hero-fallback img{width:76%}.hero-fallback img:last-child{width:50%}
 .section-label{font-size:.65rem;letter-spacing:.07em;gap:20px;padding-top:16px}.section-label>span:last-child{font-size:.6rem}.place{padding:44px 22px 55px}.place-heading{display:block;margin:31px 0}.place-heading h2{font-size:10.1vw;letter-spacing:-.03em}.place-heading>p{font-size:.93rem;line-height:1.8;margin-top:23px;max-width:100%}.place-photo-wrap{display:block;padding-bottom:125px;position:relative}.place-photo>img{height:410px;object-position:50% 64%}.place-photo figcaption{left:12px;bottom:55px;padding:9px 11px;font-size:.79rem}.inside-photo{position:absolute;right:0;bottom:0;width:43%;padding:7px 7px 14px;transform:rotate(5deg)}.inside-photo img{aspect-ratio:4/5}.inside-photo figcaption{font-size:.66rem;margin-top:10px}.moments-heading{display:block;margin:55px 0 25px}.moments-heading h3{font-size:2.65rem}.moments-heading p{font-size:.9rem;margin-top:20px}.moments{grid-template-columns:1fr 1fr;gap:24px 15px}.moments figure:first-child{grid-column:1/-1}.moments figure:first-child img{aspect-ratio:4/5;max-height:520px}.moments figure:nth-child(2){transform:translateY(15px)}.moments figure:nth-child(3){transform:none}.moments figcaption{font-size:.68rem;padding-top:9px}
 .roulette{padding:35px 22px 55px;min-height:920px}.roulette-intro{display:block;margin-top:29px}.roulette-intro h2{font-size:9.8vw;line-height:1.07;letter-spacing:-.03em}.roulette-intro>p{font-size:.88rem;line-height:1.7;margin-top:20px}.roulette-stage{height:390px}.scene-caption{bottom:0;font-size:.79rem}.roulette-fallback img{width:230px}.roulette-fallback img+img{margin-left:-120px}.roulette-console{display:flex;flex-direction:column;gap:19px;padding:20px 0 17px;margin-top:10px}.serving-choice{width:230px;padding:3px}.serving-choice span{font-size:.84rem;padding:8px 14px}.spin-button{width:100%;font-size:1.3rem;min-height:62px;padding:13px 21px}.spin-button b{font-size:1.9rem}.roulette-console>p{font-size:.76rem;margin:0;max-width:100%}.receipt{padding:25px 20px 17px;margin-top:27px;scroll-margin-bottom:90px}.receipt>.eyebrow{font-size:.63rem}.receipt h3{font-size:2.6rem;margin:19px 0 16px;overflow-wrap:anywhere}.receipt>p{font-size:.89rem}
 .family{padding:45px 22px 55px}.family-heading{display:block;padding-top:19px;margin-bottom:29px}.family-heading>.eyebrow{font-size:.65rem}.family-heading h2{text-align:left;font-size:11vw;margin-top:21px}.family-body{display:block}.family-body>div{margin-top:27px}.family-body p{font-size:.94rem}.family-body blockquote{font-size:2.4rem;margin:25px 0 20px}.family-sign{font-size:.77rem}.rent-section{padding-inline:22px;padding-block:48px 55px}.rent-content h2{font-size:14vw}.rent-photo img{max-height:480px}.rent-photo{order:0}.rent-content{order:1}.rent-layout{gap:32px}.rent-photo figcaption{display:none}
 .visit{padding:30px 22px 0}.visit h2{font-size:16vw;margin:40px 0 33px;line-height:1.03}.visit-grid{display:block;padding:25px 0 15px}.visit-grid>div{margin-bottom:31px}.visit-grid>div+div{border-top:1px solid #f2e7bc44;padding-top:27px}.visit address{font-size:1.04rem;margin:19px 0 13px}.visit-grid>div>p:not(.season-note){margin-top:15px}.hours-large{font-size:5.2rem;margin:8px 0 16px}.season-note{font-size:.75rem}.visit-contact{gap:15px}.visit-contact>.eyebrow{margin-bottom:5px}.visit-contact>a{font-size:1rem}.visit footer{display:grid;grid-template-columns:58px 1fr;gap:18px;padding:23px 0 98px}.visit footer img{width:58px}.visit footer p{font-size:.74rem}.visit footer>a{margin-left:0;grid-column:1/-1;font-size:.73rem}.visit footer>span{grid-column:1/-1;font-size:.65rem}.mobile-dock{position:fixed;inset:auto 0 0;z-index:30;display:grid;grid-template-columns:1fr 1.35fr 1fr;background:var(--paper);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.mobile-dock>a,.mobile-dock>button{display:flex;justify-content:center;align-items:center;min-height:59px;padding:15px 7px;font-size:.71rem}.mobile-dock>a:nth-child(2){background:var(--green);color:var(--cream);font-family:var(--display);font-size:.97rem;letter-spacing:.015em}
 dialog{width:calc(100vw - 26px);max-height:calc(100svh - 30px);padding:35px 24px}dialog h2{font-size:2.85rem;margin-top:26px}.track-list button{font-size:.79rem;gap:12px}dialog>.eyebrow{font-size:.64rem}.dialog-navigation a{font-size:1.65rem}.close-button{top:12px;right:12px;width:35px;height:35px}
}
@media(max-width:370px){.hero-bottom h1{font-size:4.2vw}.hero-bottom p{font-size:.72rem}.circle-link{width:64px;height:64px}.circle-link>span{font-size:.4rem}.hero{min-height:790px;height:790px}.drag-hint{bottom:150px}.place-photo>img{height:370px}.place-photo figcaption{font-size:.7rem}.roulette-stage{height:350px}.rent-package-price>small{font-size:.61rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{body>*:not(main),main>section:not(.roulette),.roulette>*:not(.receipt){display:none!important}.roulette{min-height:0;padding:0}.receipt{display:block!important;margin:0;padding:30px;background:white;color:black}}

/* The scoop world continues in the margins; the content stays above it. */
.rent-section,.visit{z-index:auto}.rent-layout,.visit>h2,.visit-grid,.visit>footer{position:relative;z-index:4}
.roulette{min-height:0;padding-block:70px 110px;overflow-anchor:none}.roulette-intro{margin-bottom:60px}.roulette-console{grid-template-columns:240px minmax(280px,420px) 1fr}.roulette.is-spinning .spin-button b{animation:turn-wheel .95s cubic-bezier(.2,.7,.2,1)}
.receipt{background:#fdf9e9;box-shadow:0 20px 45px #34433b0b;border-top:0;border-bottom:1px solid var(--line);padding:46px 55px 28px;max-width:760px;transform:rotate(-1deg)}
.receipt:before{content:"";position:absolute;left:0;right:0;top:-6px;height:7px;background:linear-gradient(135deg,transparent 50%,#fdf9e9 50%) 0 0/12px 12px,linear-gradient(225deg,transparent 50%,#fdf9e9 50%) 0 0/12px 12px}
@keyframes turn-wheel{to{transform:rotate(720deg)}}
@media(min-width:1101px){.place,.family,.roulette,.rent-section,.visit{padding-inline:6vw}}
@media(max-width:1100px){.roulette-console{grid-template-columns:210px 1fr}}
@media(max-width:760px){.rent-layout{grid-template-columns:1fr}.roulette{padding-block:35px 60px}.roulette-intro{margin-bottom:35px}.roulette-console{display:flex}.receipt{padding:30px 22px 18px}.hero-type{font-size:25vw}}

.taste{height:1400px;position:relative;background:radial-gradient(ellipse at 50% 42%,#ecd4a852,transparent 67%)}.taste-inner{position:sticky;top:0;height:100svh;min-height:790px;max-height:1120px;padding:30px 6vw 45px}.taste-type{position:absolute;top:28%;left:0;right:0;text-align:center;font-size:clamp(5rem,14.1vw,15rem);line-height:.98;letter-spacing:-.04em;color:var(--rust);z-index:1}.taste-foot{position:absolute;bottom:50px;left:6vw;right:6vw;display:flex;justify-content:space-between;gap:30px;z-index:4;border-top:1px solid var(--line);padding-top:22px;font-size:.88rem}.taste-foot p:last-child{text-align:right}.taste-fallback{position:absolute;inset:12% 5% 15%;display:flex;justify-content:space-between;align-items:center;z-index:2;pointer-events:none}.taste-fallback img{height:70%;width:30%;object-fit:contain;filter:drop-shadow(10px 30px 20px #34433b26);transform:rotate(-13deg)}.taste-fallback img:nth-child(2){transform:rotate(15deg)}.taste-fallback img:nth-child(3){position:absolute;width:20%;height:40%;bottom:0;left:42%;transform:rotate(10deg)}.webgl-ready.products-ready .taste-fallback{visibility:hidden}
.family{background:var(--green);color:var(--cream);z-index:auto;padding-block:110px 130px}.family-grid{position:relative;z-index:4;display:grid;grid-template-columns:1.18fr 1fr;grid-template-areas:"portrait lead" "portrait story";column-gap:6vw;align-items:center}.family-portrait{grid-area:portrait;margin-left:-4vw;transform:rotate(-3deg)}.family-portrait img{width:100%;height:auto;aspect-ratio:1;object-fit:contain}.family-lead{grid-area:lead;align-self:end}.family-lead h2{font-size:clamp(3rem,5.7vw,6rem);line-height:1.08;margin-top:24px}.family-story{grid-area:story;align-self:start;max-width:440px;padding-top:28px}.family-story p{font-size:.93rem}.family-story p+p{margin-top:17px}.family-story blockquote{font:500 clamp(2.4rem,3.9vw,4.2rem)/1.13 var(--serif);letter-spacing:-.04em;margin:30px 0 20px}.family-story .family-sign{opacity:.7}
@media(max-width:760px){.taste{height:1100px}.taste-inner{min-height:760px;height:100svh;padding:30px 22px}.taste-type{top:34%;font-size:17.5vw;line-height:1.06}.taste-foot{left:30px;right:30px;bottom:100px;font-size:.75rem;display:block;padding-top:18px}.taste-foot p:last-child{text-align:left;margin-top:10px}.taste-fallback{inset:20% 5% 25%}.taste-fallback img{height:65%;width:42%}.taste-fallback img:nth-child(3){height:40%;width:29%;left:32%}.family{padding:45px 30px 65px}.family-grid{display:grid;grid-template-columns:1fr;grid-template-areas:"lead" "portrait" "story";gap:0}.family-lead h2{font-size:12vw;margin-top:17px}.family-lead>.eyebrow{font-size:.66rem}.family-portrait{margin:0 -25px -16px;transform:none}.family-story{padding-top:0;max-width:100%}.family-story p{font-size:.92rem}.family-story blockquote{font-size:2.6rem}}

.place{padding-bottom:90px}.place-heading{margin-bottom:55px}.place-photo-wrap{position:relative;display:block;padding-bottom:75px;perspective:1300px}.place-photo{width:100%;transform:translateY(var(--photo-y,0px)) rotateX(var(--photo-tilt,0deg));transform-origin:50% 75%;will-change:transform}.place-photo>img{height:650px;width:100%;object-fit:cover;object-position:50% 67%;mask-image:linear-gradient(to bottom,transparent,#000 4%,#000 92%,transparent)}.place-photo figcaption{position:static;background:none;padding:14px 0 0;margin-left:34%;font:400 .77rem var(--sans)}.inside-photo{position:absolute;left:-2%;right:auto;bottom:-30px;width:24%;max-width:300px;background:none;box-shadow:none;border:0;padding:0;transform:rotate(-7deg) translateY(var(--inset-y,0px))}.inside-photo img{aspect-ratio:4/5;mask-image:radial-gradient(ellipse 67% 64% at center,#000 62%,transparent 98%)}.inside-photo figcaption{font-size:.88rem;text-align:center;margin-top:-4px}
.rent-section{background:var(--paper);padding-block:115px 120px}.rent-layout{align-items:center;gap:5vw;grid-template-columns:1.08fr 1fr}.rent-photo{position:sticky;top:90px;filter:drop-shadow(0 40px 25px #34433b12);perspective:1000px}.rent-photo svg{width:115%;max-width:none;display:block;height:auto;transform:rotate(-5deg) translateY(var(--freezer-y,0px));margin-left:-8%;overflow:visible}.rent-photo figcaption{display:none}.rent-content{position:relative;z-index:5}.rent-content h2{font-size:clamp(4.5rem,8.8vw,9rem);color:var(--rust-ink)}
@media(max-width:760px){.place{padding-bottom:50px}.place-photo-wrap{padding-bottom:75px}.place-photo>img{height:390px;object-position:50% 66%}.place-photo figcaption{margin-left:0;font-size:.65rem;padding-top:9px;max-width:55%}.inside-photo{left:auto;right:-6px;bottom:-35px;width:43%;max-width:190px;transform:rotate(7deg)}.inside-photo img{aspect-ratio:1}.inside-photo figcaption{font-size:.62rem}.rent-section{padding:50px 30px 65px}.rent-layout{grid-template-columns:1fr;gap:25px}.rent-photo{position:static;top:auto;order:0}.rent-photo svg{width:104%;max-width:104%;margin-left:-2%;transform:rotate(-4deg)}.rent-content h2{font-size:17vw}.rent-content{order:1}}

body{overflow-x:clip}.taste-fallback{overflow:hidden}@media(max-width:760px){.hero-bottom h1{font-size:5.1vw}.taste-type{top:38%;font-size:17.5vw}.taste-foot{bottom:94px}}


.machine-stage{height:740px;position:relative;margin-top:-30px;isolation:initial}.machine-lever{display:none;position:absolute;width:72px;height:72px;left:0;top:0;transform:translate3d(-50%,-50%,0);border-radius:50%;padding:0;background:transparent;z-index:6;touch-action:none;cursor:grab}.webgl-ready.machine-ready .machine-lever{display:block}.machine-lever:active{cursor:grabbing}.machine-lever:focus-visible{outline:2px dashed var(--rust-ink);outline-offset:10px}.machine-hint{position:absolute;right:13%;top:34%;font-size:.8rem;z-index:4}.machine-hint span{display:block;font-size:2rem;text-align:center;margin-top:5px}.machine-fallback{width:340px;height:500px;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:170px 170px 12px 12px;background:var(--green);border:7px double #c49a56;display:flex;align-items:center;flex-direction:column;padding:45px 24px;color:var(--cream);box-shadow:16px 25px 0 #34433b12}.machine-fallback>img{width:90px;margin-bottom:22px}.machine-fallback>strong{font:500 2.5rem var(--display)}.machine-fallback>div{display:flex;gap:4px;margin-top:35px;padding:12px;background:#152d24;width:100%;justify-content:center}.machine-fallback span{background:var(--cream);color:var(--green);font:500 1.7rem var(--display);padding:18px 15px}.webgl-ready.machine-ready .machine-fallback{visibility:hidden}.roulette-intro{margin-bottom:15px}.roulette-console{margin-top:8px}
@media(max-width:1100px){.machine-hint{right:6%}}
@media(max-width:760px){.machine-stage{height:535px;margin-top:0;margin-inline:-22px}.machine-lever{width:64px;height:64px}.machine-hint{font-size:.69rem;top:auto;bottom:10px;right:22px;display:flex;align-items:center;gap:12px}.machine-hint span{font-size:1.2rem;margin:0}.machine-fallback{width:255px;height:385px;padding:35px 19px}.machine-fallback>img{width:65px;margin-bottom:15px}.machine-fallback>strong{font-size:2rem}.machine-fallback>div{margin-top:20px}.machine-fallback span{font-size:1.1rem;padding:18px 12px}.roulette-intro{margin-bottom:0}.roulette-console{margin-top:18px}}
@media(max-width:360px){.machine-stage{height:475px}}
.coffee-story{background:var(--green);color:var(--cream);padding:35px 4vw 36px;margin-block:35px 65px;overflow:clip;isolation:initial}
.coffee-story .section-label{border-color:#f2e7bc44;color:var(--cream)}
.coffee-scene{position:relative;display:grid;grid-template-columns:.75fr 1.75fr;gap:12px;align-items:center;min-height:760px}
.coffee-copy{position:relative;z-index:4;padding-block:55px 70px;pointer-events:none;transform:translateX(clamp(18px,3vw,50px))}
.coffee-copy h2{font-size:clamp(4.4rem,7.2vw,8.5rem);line-height:1.04;letter-spacing:-.035em;color:var(--cream)}
.coffee-copy p{font-size:1rem;line-height:1.7;margin-top:27px;max-width:340px}
.coffee-copy p+p{margin-top:16px;font-size:.9rem}
.television-stage{height:min(790px,70vw);min-height:580px;position:relative;overflow-anchor:none;margin-inline:-8px -3vw}
.coffee-fallback{position:absolute;inset:12% 8% 8%;display:flex;align-items:center;justify-content:center;transition:opacity .25s}
.coffee-fallback video{width:100%;height:100%;object-fit:contain;border-radius:16px}
.webgl-ready.television-ready .coffee-fallback{opacity:0;pointer-events:none}
.television-touch{display:none;position:absolute;inset:16% 0 5%;z-index:3;touch-action:pan-y;cursor:grab}
.webgl-ready.television-ready .television-touch{display:block}.television-touch:active{cursor:grabbing}
.tv-control{position:absolute;bottom:8%;z-index:5;display:flex;gap:9px;align-items:center;padding:10px 13px;font-size:.75rem;color:var(--cream);border:1px solid #f2e7bc66;border-radius:30px;background:#34433baa;touch-action:manipulation}
.coffee-motion{right:11%}.coffee-replay{left:11%}
.tv-control:focus-visible{outline:2px dashed var(--cream);outline-offset:5px}
.webgl-ready.television-ready .tv-control{left:0;top:0;bottom:auto;right:auto;width:54px;height:54px;padding:0;border:0;background:transparent;border-radius:50%;will-change:transform}
.webgl-ready.television-ready .tv-control span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(min-width:1600px){.coffee-scene{min-height:880px}.television-stage{height:850px}}
@media(max-width:1100px) and (min-width:761px){.coffee-scene{grid-template-columns:.8fr 1.6fr;min-height:690px}.coffee-copy h2{font-size:6.8vw}.coffee-copy p{font-size:.91rem}.coffee-copy p+p{font-size:.84rem}.television-stage{height:670px;min-height:0;margin-right:-4vw}}
@media(max-width:760px){
 .coffee-story{padding:29px 22px 40px;margin-block:20px 30px}
 .coffee-story .section-label{font-size:.63rem;letter-spacing:.07em;gap:12px;padding-top:16px}
 .coffee-scene{display:flex;flex-direction:column;align-items:stretch;min-height:0;gap:0;padding-top:35px}
 .coffee-copy{display:contents;transform:none}
 .coffee-copy h2{font-size:clamp(3.2rem,14.7vw,5.6rem);position:relative;z-index:4;order:0;line-height:1.04}
 .television-stage{order:1;align-self:center;width:calc(100% + 44px);height:138vw;max-height:760px;min-height:0;margin:-8px -22px -5px}
 .coffee-fallback{inset:12% 5% 8%}
 .coffee-copy p{order:2;position:relative;z-index:4;font-size:.95rem;line-height:1.65;margin-top:0}
 .coffee-copy p+p{order:3;font-size:.9rem;margin-top:12px}
 .webgl-ready.television-ready .tv-control{width:46px;height:46px}
}
@media(prefers-reduced-motion:reduce){.coffee-fallback{transition:none}}

html:not(.webgl-ready.television-ready) .tv-control{transform:none!important}

.machine-hint{top:auto;right:0;left:0;bottom:2px;text-align:center;font-size:.85rem;pointer-events:none}
@media(max-width:760px){.machine-hint{display:block;right:0;left:0;bottom:3px;font-size:.78rem}}

/* A complete 3D frame replaces the fallback; no flat mock-up during startup. */
.webgl-pending .hero-fallback,.webgl-pending .machine-fallback,
.webgl-ready:not(.machine-unavailable) .machine-fallback{visibility:hidden;opacity:0}
.webgl-pending .coffee-fallback,.webgl-ready:not(.television-unavailable) .coffee-fallback{opacity:0;pointer-events:none}
.webgl-pending .tv-control,.webgl-ready:not(.television-ready):not(.television-unavailable) .tv-control{visibility:hidden}
html.receipt-updating{overflow-anchor:none}
@media(prefers-reduced-motion:reduce){.webgl-stage{transition:none}}

html.webgl-pending{scroll-behavior:auto}
html:not(.machine-ready) .machine-hint{visibility:hidden}
