:root{--ink:#0b0b0a;--paper:#f3eedf;--cream:#fffaf0;--amber:#f0a10a;--orange:#ef5b24;--acid:#d9ec3f;--muted:#a29c90;--line:rgba(255,255,255,.12);--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif;--mono:'Courier New',monospace;--radius:26px}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--ink)}body{margin:0;font-family:var(--sans);background:var(--ink);color:var(--paper);overflow-x:hidden}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}button,input,select{font:inherit}.progress{position:fixed;top:0;left:0;height:4px;background:linear-gradient(90deg,var(--amber),var(--orange));width:0;z-index:9999}.noise{position:fixed;inset:0;pointer-events:none;z-index:1000;opacity:.06;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E")}.loader{position:fixed;inset:0;background:var(--ink);z-index:9998;display:grid;place-items:center;transition:opacity .55s ease,visibility .55s}.loader.hide{opacity:0;visibility:hidden}.loader-mark{width:88px;height:88px;border:3px solid var(--paper);border-radius:50%;display:grid;place-items:center;font:900 48px/1 var(--sans);position:relative;transform:rotate(-7deg)}.loader-mark:after{content:'';position:absolute;right:-14px;top:12px;width:28px;height:8px;background:var(--orange);transform:rotate(28deg)}.loader small{position:absolute;bottom:8vh;letter-spacing:.2em;text-transform:uppercase;font:11px var(--mono);color:var(--muted)}
.site-header{position:fixed;z-index:100;top:0;left:0;right:0;padding:18px 22px;display:flex;align-items:center;justify-content:space-between;mix-blend-mode:difference}.brand{display:flex;gap:10px;align-items:center;font-weight:900;letter-spacing:-.04em}.brand-badge{width:42px;height:42px;border-radius:50%;border:2px solid currentColor;display:grid;place-items:center;font-size:25px}.brand-copy{line-height:.84;text-transform:uppercase}.brand-copy span{display:block;font-size:10px;letter-spacing:.17em;margin-top:5px;font-family:var(--mono)}.nav{display:flex;align-items:center;gap:26px;text-transform:uppercase;font:12px var(--mono);letter-spacing:.1em}.nav a{position:relative}.nav a:after{content:'';position:absolute;left:0;right:100%;bottom:-6px;height:2px;background:currentColor;transition:right .25s}.nav a:hover:after,.nav a.active:after{right:0}.nav-cta{padding:12px 18px;border:1px solid currentColor;border-radius:999px}.menu-toggle{display:none;border:0;background:none;color:inherit;font-size:25px}.mobile-menu{position:fixed;inset:0;z-index:90;background:var(--orange);color:var(--ink);padding:100px 26px 120px;transform:translateY(-105%);transition:transform .55s cubic-bezier(.2,.8,.2,1)}.mobile-menu.open{transform:translateY(0)}.mobile-menu a{display:block;font-weight:900;font-size:clamp(38px,12vw,72px);line-height:.98;letter-spacing:-.05em;margin:8px 0}.mobile-menu small{position:absolute;bottom:90px;font:11px var(--mono);text-transform:uppercase;letter-spacing:.12em}
.page-hero{min-height:100svh;position:relative;display:grid;align-items:end;overflow:hidden}.hero-media{position:absolute;inset:0}.hero-media:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,11,10,.08) 20%,rgba(11,11,10,.2) 45%,rgba(11,11,10,.94) 100%)}.hero-media img{scale:1.04;transition:transform .1s linear}.hero-content{position:relative;z-index:2;padding:140px 6vw 64px;max-width:1500px}.kicker{font:12px var(--mono);text-transform:uppercase;letter-spacing:.18em;display:flex;align-items:center;gap:12px}.kicker:before{content:'';width:36px;height:2px;background:var(--orange)}h1{font-size:clamp(68px,12.5vw,190px);line-height:.76;letter-spacing:-.075em;text-transform:uppercase;margin:22px 0 28px;font-weight:900}.hero-word{display:block}.hero-word.outline{-webkit-text-stroke:1.5px var(--paper);color:transparent}.hero-sub{max-width:570px;font-size:clamp(18px,2vw,26px);line-height:1.25}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:11px;border-radius:999px;padding:15px 22px;background:var(--paper);color:var(--ink);font-weight:800;text-transform:uppercase;font-size:12px;letter-spacing:.08em;transition:transform .25s,background .25s,color .25s}.btn:hover{transform:translateY(-2px) rotate(-1deg);background:var(--acid)}.btn.dark{background:var(--ink);color:var(--paper)}.btn.orange{background:var(--orange);color:var(--ink)}.btn.ghost{background:transparent;color:var(--paper);border:1px solid rgba(255,255,255,.45)}
.ticker{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--orange);color:var(--ink);white-space:nowrap}.ticker-track{display:inline-flex;gap:30px;padding:13px 0;animation:ticker 22s linear infinite;font-weight:900;text-transform:uppercase;letter-spacing:-.03em;font-size:clamp(18px,2vw,30px)}@keyframes ticker{to{transform:translateX(-50%)}}.section{padding:110px 6vw}.section.light{background:var(--paper);color:var(--ink)}.section.orange{background:var(--orange);color:var(--ink)}.section.acid{background:var(--acid);color:var(--ink)}.eyebrow{font:11px var(--mono);text-transform:uppercase;letter-spacing:.17em;color:var(--muted);margin-bottom:18px}.light .eyebrow,.orange .eyebrow,.acid .eyebrow{color:rgba(11,11,10,.6)}.display{font-size:clamp(52px,8vw,128px);line-height:.84;letter-spacing:-.065em;text-transform:uppercase;margin:0;font-weight:900}.display em{font-family:var(--serif);font-weight:400;text-transform:none}.lead{font-size:clamp(19px,2.1vw,30px);line-height:1.25;max-width:760px}.split{display:grid;grid-template-columns:1.05fr .95fr;gap:6vw;align-items:center}.photo-stack{position:relative;min-height:700px}.photo-card{position:absolute;overflow:hidden;border-radius:var(--radius);box-shadow:0 20px 80px rgba(0,0,0,.25)}.photo-card.one{inset:0 18% 18% 0;transform:rotate(-2deg)}.photo-card.two{inset:22% 0 0 35%;transform:rotate(4deg);border:8px solid var(--paper)}.sticker{position:absolute;z-index:2;display:grid;place-items:center;width:130px;height:130px;border-radius:50%;background:var(--acid);color:var(--ink);font-weight:900;text-align:center;text-transform:uppercase;right:5%;top:4%;transform:rotate(9deg);line-height:.9}.chain-grid{background-image:linear-gradient(45deg,transparent 47%,rgba(255,255,255,.08) 48%,rgba(255,255,255,.08) 52%,transparent 53%),linear-gradient(-45deg,transparent 47%,rgba(255,255,255,.08) 48%,rgba(255,255,255,.08) 52%,transparent 53%);background-size:36px 36px}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:50px}.feature-card{border:1px solid var(--line);padding:28px;border-radius:22px;min-height:280px;position:relative;overflow:hidden;transition:transform .3s,background .3s}.feature-card:hover{transform:translateY(-6px) rotate(-.5deg);background:rgba(255,255,255,.05)}.feature-card .num{font:12px var(--mono);opacity:.6}.feature-card h3{font-size:36px;line-height:.95;letter-spacing:-.05em;text-transform:uppercase;margin:60px 0 12px}.feature-card p{color:var(--muted);line-height:1.5}.food-rail{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:10px 0 28px;scrollbar-width:none}.food-rail::-webkit-scrollbar{display:none}.food-card{min-width:min(62vw,520px);height:650px;scroll-snap-align:start;position:relative;border-radius:28px;overflow:hidden;background:#222}.food-card img{transition:transform .55s}.food-card:hover img{transform:scale(1.04)}.food-card:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.87))}.food-copy{position:absolute;z-index:2;left:26px;right:26px;bottom:26px}.food-copy h3{font-size:clamp(34px,4vw,62px);margin:0 0 8px;line-height:.9;letter-spacing:-.045em;text-transform:uppercase}.pill{display:inline-block;padding:7px 10px;border-radius:999px;background:var(--paper);color:var(--ink);font:10px var(--mono);text-transform:uppercase;letter-spacing:.08em}.marquee-word{font-size:clamp(80px,18vw,280px);font-weight:900;line-height:.7;letter-spacing:-.08em;white-space:nowrap;text-transform:uppercase;transform:translateX(-7vw)}.experiences-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px;margin-top:60px}.event-card{grid-column:span 4;background:var(--paper);color:var(--ink);padding:30px;border-radius:28px;min-height:430px;display:flex;flex-direction:column;justify-content:space-between}.event-card:nth-child(2){transform:translateY(45px);background:var(--acid)}.event-card:nth-child(3){background:var(--orange)}.event-day{font:11px var(--mono);letter-spacing:.12em;text-transform:uppercase}.event-card h3{font-size:48px;line-height:.9;letter-spacing:-.05em;text-transform:uppercase;margin:18px 0}.event-icon{font-size:72px}.visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}.hours{border-top:1px solid var(--line);margin-top:30px}.hours-row{display:flex;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid var(--line);font:14px var(--mono)}.map-card{min-height:520px;border-radius:28px;background:var(--orange);color:var(--ink);padding:35px;position:relative;overflow:hidden}.map-card:after{content:'';position:absolute;inset:0;background-image:radial-gradient(circle at 30% 30%,rgba(255,255,255,.22) 0 2px,transparent 2px),linear-gradient(45deg,transparent 48%,rgba(0,0,0,.12) 49%,rgba(0,0,0,.12) 51%,transparent 52%);background-size:34px 34px,90px 90px}.map-pin{position:absolute;z-index:2;left:52%;top:45%;width:78px;height:78px;border-radius:50% 50% 50% 0;background:var(--ink);color:var(--paper);transform:rotate(-45deg);display:grid;place-items:center}.map-pin span{transform:rotate(45deg);font-weight:900}.map-copy{position:relative;z-index:3;max-width:320px}.map-copy h3{font-size:58px;line-height:.85;margin:0 0 15px;text-transform:uppercase;letter-spacing:-.05em}.footer{padding:80px 6vw 110px;border-top:1px solid var(--line)}.footer-top{display:grid;grid-template-columns:1.5fr .5fr .5fr;gap:50px}.footer h2{font-size:clamp(60px,9vw,130px);line-height:.75;letter-spacing:-.07em;margin:0;text-transform:uppercase}.footer a{display:block;margin:9px 0;font:12px var(--mono);text-transform:uppercase}.footer-bottom{display:flex;justify-content:space-between;margin-top:80px;padding-top:20px;border-top:1px solid var(--line);color:var(--muted);font:10px var(--mono);text-transform:uppercase}.mobile-dock{display:none}
/* interior */.subhero{min-height:72svh;padding:160px 6vw 70px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden}.subhero h1{font-size:clamp(70px,13vw,185px);margin:0}.subhero .ghost-word{position:absolute;right:-2vw;top:12vh;font-size:28vw;line-height:.8;font-weight:900;opacity:.045;pointer-events:none}.menu-toolbar{position:sticky;top:0;z-index:40;background:rgba(11,11,10,.92);backdrop-filter:blur(14px);padding:14px 6vw;border-bottom:1px solid var(--line);display:flex;gap:10px;overflow-x:auto}.menu-toolbar button{white-space:nowrap;border:1px solid var(--line);background:none;color:var(--paper);border-radius:999px;padding:10px 14px;font:11px var(--mono);text-transform:uppercase;cursor:pointer}.menu-toolbar button.active{background:var(--orange);color:var(--ink);border-color:var(--orange)}.menu-section{padding:70px 6vw;border-bottom:1px solid var(--line)}.menu-section h2{font-size:clamp(48px,7vw,92px);text-transform:uppercase;letter-spacing:-.06em;margin:0 0 30px}.menu-list{display:grid;grid-template-columns:1fr 1fr;gap:0 50px}.menu-item{padding:22px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:18px}.menu-item h3{margin:0 0 7px;font-size:24px;letter-spacing:-.02em}.menu-item p{margin:0;color:var(--muted);line-height:1.45;font-size:14px}.menu-price{font:14px var(--mono);color:var(--acid)}.menu-banner{margin:30px 6vw 80px;border-radius:30px;overflow:hidden;background:var(--paper);color:var(--ink);display:grid;grid-template-columns:.8fr 1.2fr;min-height:620px}.menu-banner .copy{padding:55px}.menu-banner h2{font-size:clamp(50px,7vw,100px);line-height:.82;letter-spacing:-.06em;text-transform:uppercase;margin:0 0 20px}.menu-image-full{background:#ded6c7;padding:24px;display:grid;place-items:center}.menu-image-full img{object-fit:contain;max-height:760px}.reserve-panel{max-width:1000px;margin:0 auto;background:var(--paper);color:var(--ink);border-radius:28px;padding:50px;box-shadow:0 30px 100px rgba(0,0,0,.25)}.reserve-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:30px 0}.field label{font:10px var(--mono);text-transform:uppercase;display:block;margin-bottom:8px}.field select,.field input{width:100%;border:1px solid #cfc7b7;background:#fff9ef;padding:15px;border-radius:12px;color:var(--ink)}.note{font-size:13px;line-height:1.55;color:#5f5a50}.story-timeline{max-width:1100px;margin:0 auto}.story-block{display:grid;grid-template-columns:150px 1fr;gap:40px;padding:50px 0;border-top:1px solid var(--line)}.story-block .year{font:14px var(--mono);color:var(--orange)}.story-block h2{font-size:clamp(42px,6vw,86px);margin:0 0 16px;line-height:.9;letter-spacing:-.05em;text-transform:uppercase}.story-block p{max-width:720px;color:var(--muted);font-size:18px;line-height:1.55}.reveal{opacity:0;transform:translateY(36px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.8,.2,1)}.reveal.visible{opacity:1;transform:none}
@media(max-width:980px){.nav{display:none}.menu-toggle{display:block}.split,.visit-grid{grid-template-columns:1fr}.photo-stack{min-height:600px;margin-top:50px}.feature-grid{grid-template-columns:1fr}.feature-card{min-height:210px}.feature-card h3{margin-top:35px}.experiences-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.event-card{min-width:80vw;scroll-snap-align:center;transform:none!important}.footer-top{grid-template-columns:1fr 1fr}.footer-top>div:first-child{grid-column:1/-1}.menu-list{grid-template-columns:1fr}.menu-banner{grid-template-columns:1fr}.reserve-grid{grid-template-columns:1fr}.story-block{grid-template-columns:1fr;gap:10px}.mobile-dock{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;z-index:80;left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));background:rgba(15,15,14,.9);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.13);border-radius:22px;padding:8px}.mobile-dock a{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 2px;font:9px var(--mono);text-transform:uppercase}.mobile-dock b{font-size:18px}.footer{padding-bottom:140px}}
@media(max-width:640px){.site-header{padding:14px 16px}.brand-copy{font-size:13px}.brand-badge{width:36px;height:36px}.hero-content{padding:120px 18px 42px}.page-hero{min-height:94svh}h1{font-size:19vw}.section{padding:80px 18px}.display{font-size:15vw}.hero-sub{font-size:18px}.food-card{min-width:84vw;height:520px}.photo-stack{min-height:500px}.photo-card.one{inset:0 10% 24% 0}.photo-card.two{inset:36% 0 0 26%}.sticker{width:100px;height:100px;font-size:12px}.map-card{min-height:450px}.footer{padding-left:18px;padding-right:18px}.footer-top{grid-template-columns:1fr}.footer h2{font-size:18vw}.footer-bottom{flex-direction:column;gap:8px}.subhero{padding:130px 18px 50px;min-height:65svh}.subhero h1{font-size:20vw}.menu-toolbar{padding-left:18px}.menu-section{padding:55px 18px}.menu-banner{margin:20px 18px 60px}.menu-banner .copy{padding:32px}.reserve-panel{margin:0 18px;padding:28px}.story-block{padding:35px 0}.marquee-word{font-size:28vw}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}.hero-media img{transform:none!important}}

/* experience detail system */
.experience-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px;font:11px var(--mono);text-transform:uppercase;letter-spacing:.08em}.experience-meta:before{content:'FREE EXPERIENCE';background:var(--ink);color:var(--paper);padding:8px 12px;border-radius:999px}.experience-index{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.experience-tile{min-height:520px;padding:32px;border-radius:30px;background:var(--ink);color:var(--paper);display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;transition:transform .35s cubic-bezier(.2,.8,.2,1)}.experience-tile:hover{transform:translateY(-7px) rotate(-.35deg)}.experience-tile:after{content:'↗';position:absolute;right:28px;top:22px;font-size:36px}.experience-tile.acid-card{background:var(--acid);color:var(--ink)}.experience-tile.orange-card{background:var(--orange);color:var(--ink)}.experience-tile.photo-tile{background:linear-gradient(145deg,#111,#29251e)}.event-big{font-size:clamp(56px,8vw,112px);font-weight:900;line-height:.76;letter-spacing:-.075em;text-transform:uppercase;margin:auto 0 30px}.experience-tile p{max-width:420px;font-size:17px;line-height:1.45}.experience-tile>span{font:11px var(--mono);text-transform:uppercase;letter-spacing:.09em}.experience-detail-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:center}.experience-copy .lead{color:#4e493f}.experience-photo{margin:0;min-height:620px;border-radius:30px;overflow:hidden;position:relative}.experience-photo figcaption{position:absolute;right:18px;bottom:18px;background:var(--paper);color:var(--ink);padding:8px 10px;border-radius:999px;font:9px var(--mono);text-transform:uppercase}.experience-rules{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0}.experience-rules span{padding:8px 11px;border-radius:999px;border:1px solid rgba(11,11,10,.18);font:10px var(--mono);text-transform:uppercase}.text-link{display:inline-block;margin-top:22px;font:11px var(--mono);text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:4px}.booking-shell{max-width:1040px;margin:0 auto;border:1px solid var(--line);border-radius:30px;padding:48px;background:rgba(255,255,255,.035)}.booking-intro{display:grid;grid-template-columns:.8fr 1.2fr;gap:24px;align-items:end;margin-bottom:30px}.booking-intro h2{font-size:clamp(46px,7vw,94px);line-height:.82;text-transform:uppercase;letter-spacing:-.06em;margin:0}.booking-intro p{color:var(--muted);max-width:470px}.local-booking-form .field input,.local-booking-form .field select{background:#fffaf0;color:var(--ink);border:0}.booking-feedback{min-height:24px;margin:18px 0 0;color:var(--acid);font:12px var(--mono);text-transform:uppercase;letter-spacing:.04em}.booking-feedback.success:before{content:'✓ ';}.local-booking-form button{border:0;cursor:pointer}.experience-hero h1{max-width:1100px;font-size:clamp(66px,11vw,160px)}
@media(max-width:980px){.experience-index{grid-template-columns:1fr}.experience-tile{min-height:390px}.experience-detail-grid{grid-template-columns:1fr}.experience-photo{min-height:520px}.booking-intro{grid-template-columns:1fr}}
@media(max-width:640px){.experience-tile{min-height:330px;padding:24px}.event-big{font-size:17vw}.experience-photo{min-height:420px}.booking-shell{margin:0 18px;padding:28px 20px}.experience-rules{gap:6px}.experience-rules span{font-size:9px}}
.marquee-section{overflow:hidden;padding-left:0;padding-right:0}.marquee-section .marquee-word{transform:none;line-height:.85}.marquee-track{display:inline-flex;will-change:transform;animation:ticker 26s linear infinite}.marquee-track span{flex:none}
