/* Palette: Warm Ivory/Cream, Caramel Brown, Gold. --acc is the soft translucent gold; --gold is the same colour flattened on ivory, used for every solid surface so nothing shows through */
:root{--ink:#3d2817;--acc:#d9a441c7;--gold:#e1b768;--brown:#8c5a36;--sand:#fffaf0;--sand2:#f5e9d0;--pad:clamp(18px,5vw,80px);--r:28px;--f:'Bricolage Grotesque',sans-serif;--s:'Instrument Serif',serif}
*{margin:0;padding:0;box-sizing:border-box}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
html{overflow-x:hidden}
main{overflow-x:clip}
body{font-family:'DM Sans',sans-serif;background:var(--sand);color:var(--ink);line-height:1.65;overflow-x:clip}
img{display:block;max-width:100%;object-fit:cover;background:var(--sand2)}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-family:var(--f);font-weight:800;line-height:.92;letter-spacing:-.03em;text-transform:uppercase}
h2{font-size:clamp(2.6rem,7vw,6.2rem)}
i{font-family:var(--s);font-style:italic;font-weight:400;text-transform:none;color:var(--brown);letter-spacing:0}
.eyebrow{font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;color:var(--brown);font-weight:500;margin-bottom:14px}
.section{padding:clamp(70px,10vw,150px) var(--pad)}
.shead{margin-bottom:clamp(30px,5vw,70px)}
.btn{display:inline-block;padding:16px 34px;border-radius:60px;background:var(--gold);color:var(--ink);font-weight:500;transition:background .3s,color .3s}
.btn:hover{background:var(--ink);color:var(--sand)}.btn.mini{padding:10px 24px;font-size:.9rem}.btn.dark{background:var(--brown);color:var(--sand)}.btn.dark:hover{background:var(--ink)}
.link{border-bottom:1.5px solid currentColor;padding-bottom:2px}
.btns{display:flex;gap:28px;align-items:center;flex-wrap:wrap}

/* loader / cursor */
.loader{position:fixed;inset:0;z-index:300;display:grid;place-content:center;justify-items:center;gap:26px;text-align:center;overflow:hidden;color:#f6ead8;background:radial-gradient(circle at 50% 40%,#3d2916,#1b120a 70%)}
.loader::before{content:"";position:absolute;inset:-30%;background:conic-gradient(from 0deg,transparent 0 70%,rgba(232,184,101,.16) 80%,transparent 90%);animation:spin 5s linear infinite;pointer-events:none}
@keyframes spin{to{transform:rotate(360deg)}}
.ld-core{position:relative;width:min(46vw,210px);aspect-ratio:1;display:grid;place-items:center}
.ld-ring{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.ld-ring circle{fill:none;stroke-width:5;stroke-linecap:round}
.ld-track{stroke:rgba(246,234,216,.1)}
.ld-bar{stroke:#e8b865;stroke-dasharray:440;stroke-dashoffset:440}
.ld-pct{display:flex;align-items:flex-start;font:800 clamp(3.2rem,9vw,4.8rem)/1 var(--f);letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.ld-pct small{font-size:.4em;margin:.3em 0 0 .12em;color:#e8b865}
.ld-text{font-family:var(--s);font-style:italic;font-size:clamp(1.4rem,3vw,2rem);color:#e8b865;position:relative;z-index:1}
.ld-steam{display:flex;gap:12px;margin-top:-6px}
.ld-steam i{width:3px;height:30px;border-radius:3px;background:linear-gradient(#e8b865,transparent);animation:steam 1.8s ease-in-out infinite}
.ld-steam i:nth-child(2){animation-delay:.3s}.ld-steam i:nth-child(3){animation-delay:.6s}
/* Safety net: if the animation scripts cannot load, the loader still lifts away after 4.5s */
@keyframes ldFallback{to{opacity:0;visibility:hidden}}
.loader{animation:ldFallback .5s linear 4.5s forwards}
@keyframes steam{0%{transform:translateY(10px);opacity:0}40%{opacity:1}100%{transform:translateY(-16px);opacity:0}}

.cursor{position:fixed;top:0;left:0;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:var(--brown);border:2px solid var(--sand);pointer-events:none;z-index:250;display:none;transition:width .3s,height .3s,margin .3s,background .3s,border-color .3s}
.cursor.big{width:70px;height:70px;margin:-35px 0 0 -35px;background:rgba(140,90,54,.18);border-color:var(--brown)}
@media(hover:hover) and (min-width:992px){.cursor{display:block}}

/* header (sticky): logo left · nav centre · dark mode, RTL, login right */
.header{position:fixed;top:0;left:0;right:0;z-index:100}
.header::before{content:"";position:absolute;inset:0;z-index:-2;background:rgba(255,250,240,.96);backdrop-filter:blur(14px);box-shadow:0 8px 30px rgba(120,80,30,.14)}
.topbar{display:flex;justify-content:center;background:var(--brown);color:var(--sand);padding:9px var(--pad);font-size:.8rem;max-height:44px;overflow:hidden;transition:max-height .4s,padding .4s}
.header.scrolled .topbar{max-height:0;padding-block:0}
.bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;padding:18px var(--pad);transition:padding .4s}
.header.scrolled .bar{padding-block:10px}
.logo{font:800 1.6rem var(--f);letter-spacing:-.03em;justify-self:start}.logo b{color:var(--gold)}
.nav{display:flex;align-items:center;gap:4px;font-size:.92rem;justify-self:center}
.nav>a,.dd-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:30px;background:none;border:0;font:inherit;color:inherit;cursor:pointer;white-space:nowrap;transition:.3s}
.nav>a:hover,.nav>a[aria-current="page"],.dd-btn:hover,.dd.open .dd-btn{background:rgba(217,164,65,.25);color:var(--brown)}
.dd{position:relative}
.dd::after{content:"";position:absolute;left:0;right:0;top:100%;height:14px}
.dd-btn i{font-size:.7rem;transition:transform .3s}
.dd.open .dd-btn i{transform:rotate(180deg)}
.dd-menu{position:absolute;top:calc(100% + 12px);left:0;min-width:200px;list-style:none;background:var(--sand);border-radius:18px;box-shadow:0 18px 40px rgba(60,40,20,.18);padding:8px;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .3s,transform .3s,visibility .3s;z-index:5}
.dd-menu a{display:block;padding:10px 16px;border-radius:12px;transition:.2s}
.dd-menu a:hover,.dd-menu a[aria-current="page"]{background:rgba(217,164,65,.25);color:var(--brown)}
@media(hover:hover){.dd:hover .dd-menu{opacity:1;visibility:visible;transform:none}}
.dd.open .dd-menu{opacity:1;visibility:visible;transform:none}
.hright{display:flex;align-items:center;gap:10px;justify-self:end}
.ctl{width:44px;height:44px;border-radius:50%;border:1.5px solid rgba(61,40,23,.25);background:transparent;color:inherit;display:grid;place-items:center;cursor:pointer;font-size:1rem;transition:.3s}
.ctl:hover,.ctl[aria-pressed="true"]{background:var(--gold);color:var(--ink);border-color:var(--gold)}
.hright .btn.mini{display:inline-flex;align-items:center;gap:8px}
.m-login{display:none}
.fa-solid{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:900;color:inherit;text-transform:none;letter-spacing:0}
.burger{display:none;width:44px;height:44px;border-radius:50%;border:0;background:var(--gold);position:relative;cursor:pointer}
.burger span{position:absolute;left:12px;width:20px;height:2px;background:var(--ink);transition:.3s}
.burger span:first-child{top:17px}.burger span:last-child{top:25px}
.burger.open span:first-child{top:21px;transform:rotate(45deg)}.burger.open span:last-child{top:21px;transform:rotate(-45deg)}

/* hero */
:root{--glass:rgba(255,255,255,.72)}
.hero{--hero-glow:#fff;--hero-dot:rgba(140,90,54,.17);position:relative;isolation:isolate;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:clamp(120px,16vh,160px) var(--pad) clamp(72px,10vh,104px);overflow:hidden;background:radial-gradient(circle at 78% 42%,var(--hero-glow),var(--sand) 55%,var(--sand2))}
.hero::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background-image:radial-gradient(var(--hero-dot) 1px,transparent 1.5px);background-size:26px 26px;-webkit-mask-image:radial-gradient(ellipse at 72% 46%,#000 10%,transparent 68%);mask-image:radial-gradient(ellipse at 72% 46%,#000 10%,transparent 68%)}
.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);align-items:center;gap:clamp(28px,4vw,72px);width:100%;max-width:1440px;margin-inline:auto}
.hero-copy{display:flex;flex-direction:column;align-items:flex-start;gap:clamp(18px,2.6vh,28px);min-width:0}
.tag{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;opacity:.8}
.hero .tag{display:inline-flex;align-items:center;gap:14px;margin:0;padding:9px 18px 9px 14px;border-radius:60px;background:var(--glass);border:1px solid rgba(140,90,54,.25);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;font-weight:500;opacity:1;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.hero .live{position:relative;flex:none;width:9px;height:9px;border-radius:50%;background:#2e9e5b}
.hero .live::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:2px solid #2e9e5b;animation:livePulse 2s ease-out infinite}
@keyframes livePulse{from{transform:scale(.45);opacity:.9}to{transform:scale(1.7);opacity:0}}
.hero .mega{font-size:clamp(3.2rem,7.6vw,9.5rem);line-height:.84;margin:0;width:100%;position:relative;z-index:1}
.ln{display:block;overflow:hidden;padding:.04em 0}.ln>span{display:block}
.mega .o{background:linear-gradient(100deg,#a8741f,#e3b95f 50%,#8c5a36);-webkit-background-clip:text;background-clip:text;color:transparent}.hero .mega .ln:first-child{padding-inline-start:.45em}
.hero .plate{position:relative;z-index:2;justify-self:center;width:min(100%,clamp(270px,34vw,540px));aspect-ratio:1}
.hero .plate::before{content:"";position:absolute;inset:-14%;z-index:-1;border-radius:50%;background:radial-gradient(circle,rgba(232,184,101,.5),rgba(232,184,101,0) 66%);pointer-events:none}
.hero .plate::after{content:"";position:absolute;inset:-6%;z-index:-1;border-radius:50%;border:1.5px dashed var(--brown);opacity:.45;animation:rot 46s linear infinite;pointer-events:none}
.plate-big{position:absolute;inset:0}
.plate-big>img{width:100%;height:100%;border-radius:50%;border:10px solid #fff;box-shadow:0 40px 80px rgba(150,90,30,.3);will-change:transform,opacity}
.ring{position:absolute;inset:-9%;width:118%;animation:rot 22s linear infinite}
.ring text{fill:var(--ink);font:500 12px 'DM Sans';letter-spacing:1px}
@keyframes rot{to{transform:rotate(360deg)}}
.sticker{position:absolute;inset-inline-start:-6%;bottom:6%;width:104px;height:104px;border-radius:50%;background:var(--gold);color:var(--ink);display:grid;place-content:center;text-align:center;font:800 1.5rem var(--f);transform:rotate(-12deg)}
.sticker small{font:500 .62rem 'DM Sans';line-height:1.2}
.orbit{position:absolute;inset:-24%;pointer-events:none}
.trail{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.trail path{fill:none;stroke:var(--brown);stroke-width:.7;stroke-linecap:round;stroke-dasharray:.1 2.4}
.float{--s:clamp(60px,6vw,92px);position:absolute;z-index:3;left:var(--x);top:var(--y);width:var(--s);height:var(--s);margin:calc(var(--s) / -2) 0 0 calc(var(--s) / -2);border-radius:50%;object-fit:cover;border:4px solid #fff;box-shadow:0 0 0 2px var(--brown),0 14px 30px rgba(120,70,20,.25)}
.f1{--x:9.04%;--y:21.32%}.f2{--x:.19%;--y:45.64%}.f3{--x:4.69%;--y:71.13%}.f4{--x:21.32%;--y:90.96%}
.lead{max-width:430px;opacity:.85}
.hero .lead{max-width:470px;margin:0;font-size:clamp(1rem,1.15vw,1.12rem);opacity:.85}
.hero .btns{display:flex;flex-wrap:wrap;align-items:center;gap:18px 26px;margin:0}
.hero-chips{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:0;padding:0}
.hero-chips li{display:inline-flex;align-items:center;gap:9px;padding:9px 16px;border-radius:60px;background:var(--glass);border:1px solid rgba(140,90,54,.22);font-size:.88rem;font-weight:500}
.hero-chips i{color:var(--brown);font-size:.9rem}
.hero-stats{display:flex;flex-wrap:wrap;list-style:none;margin:6px 0 0;padding:0}
.hero-stats li{padding:0 clamp(14px,2.2vw,28px);border-inline-start:1px solid rgba(140,90,54,.3)}
.hero-stats li:first-child{padding-inline-start:0;border-inline-start:0}
.hero-stats b{display:flex;align-items:center;gap:6px;font:800 clamp(1.7rem,2.6vw,2.4rem)/1 var(--f);letter-spacing:-.03em}
.hero-stats b i{font-size:.6em;color:var(--brown);font-style:normal}
.hero-stats span{display:block;margin-top:8px;font-size:.78rem;letter-spacing:.04em;opacity:.75}
.hero-card{position:absolute;inset-inline-end:-6%;top:6%;z-index:5;display:flex;align-items:center;gap:12px;padding:10px 18px 10px 10px;border-radius:22px;background:var(--glass);box-shadow:0 18px 40px rgba(120,70,20,.22);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);animation:cardFloat 5.5s ease-in-out infinite}
.hero-card .ic{width:44px;height:44px;flex:none;border-radius:50%;background:var(--ink);color:var(--sand);display:grid;place-items:center;font-size:1rem}
.hero-card small{display:block;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--brown);font-weight:500}
.hero-card b{display:block;margin-top:2px;font:800 1rem/1.15 var(--f);text-transform:uppercase;letter-spacing:-.01em;color:var(--ink)}
@keyframes cardFloat{0%,100%{translate:0 0}50%{translate:0 -10px}}
.hero-scroll{position:absolute;z-index:3;inset-inline-start:var(--pad);bottom:clamp(18px,3vh,30px);display:flex;align-items:center;gap:12px;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);opacity:.75}
.hero-scroll i{width:38px;height:38px;border-radius:50%;border:1.5px solid currentColor;display:grid;place-items:center;font-size:.8rem;animation:bob 2.2s ease-in-out infinite}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}
@media(max-width:991px){
  .hero-grid{display:flex;flex-direction:column;align-items:flex-start;gap:clamp(22px,4vw,30px)}
  .hero-copy{display:contents}
  .hero .tag{order:0}
  .hero .plate{order:1;align-self:center;width:min(64vw,320px);margin:44px 0 60px}
  .hero .mega{order:2;font-size:clamp(3.2rem,11vw,7.5rem)}.hero .lead{order:3}.hero-chips{order:4}.hero .btns{order:5}.hero-stats{order:6}
  .orbit{inset:-8%}.float{--s:42px}
  .hero-scroll{display:none}
  .hero-card{inset-inline-end:-2%;top:2%}
}
@media(min-width:600px) and (max-width:991px){.hero .plate{width:min(50vw,420px)}}
@media(max-width:520px){
  .hero .tag{font-size:.68rem;letter-spacing:.06em}
  .hero-card{top:-3%;padding:8px 14px 8px 8px;gap:10px}.hero-card .ic{width:36px;height:36px}
  .hero-stats li{padding:0 12px}
  .hero .btns{gap:16px 20px}
}

/* marquee band */
.band{background:var(--gold);color:var(--ink);overflow:hidden;padding:14px 0;transform:rotate(-1.5deg);margin:-2vw -4vw 0;position:relative;z-index:4}
.mrow{display:flex;width:max-content;font:800 clamp(2rem,5vw,4rem)/1.1 var(--f);text-transform:uppercase;letter-spacing:-.02em}
.mrow span{padding:0 28px;white-space:nowrap}.mrow span::after{content:"✦";margin-left:56px;font-size:.5em;vertical-align:middle}
.mrow.out{color:transparent;-webkit-text-stroke:1.5px var(--ink)}

/* about bento */
.about{background:var(--sand);color:var(--ink);padding-top:clamp(90px,12vw,170px)}
.bento{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(230px,auto);gap:16px}
.tile{border-radius:var(--r);overflow:hidden;position:relative;padding:clamp(20px,2.5vw,36px);display:flex;flex-direction:column;justify-content:space-between}
.tile img{position:absolute;inset:0;width:100%;height:100%}
.t1{grid-column:1/3;grid-row:1/3}.t2{grid-column:3/5;background:var(--brown);color:var(--sand);gap:14px}
.t2 h3{font-size:clamp(1.6rem,3vw,2.6rem)}.t2 p{opacity:.75;font-size:.95rem}
.t3{background:var(--gold)}.t4{}.t5{grid-column:1/3;background:var(--sand2);justify-content:center}
.t6{grid-column:3/5;background:#fff;color:var(--ink)}
.tile b{font:800 clamp(3rem,6vw,5.5rem)/1 var(--f);letter-spacing:-.04em}.t6 b{color:var(--brown)}.tile span{font-size:.9rem;opacity:.8}
.t5 ul{list-style:none;display:flex;flex-wrap:wrap;gap:10px}
.t5 li{border:1.5px solid var(--ink);border-radius:50px;padding:8px 20px;font-weight:500;transition:.3s}.t5 li:hover{background:var(--ink);color:var(--sand)}

/* menu list */
.menu{background:var(--sand2)}
.mlist{list-style:none}
.mlist li{display:grid;grid-template-columns:70px 1fr auto auto;gap:24px;align-items:center;padding:clamp(18px,2.6vw,34px) 0;border-top:1px solid rgba(61,40,23,.2);transition:opacity .3s,color .3s,padding .4s;cursor:pointer}
.mlist li:last-child{border-bottom:1px solid rgba(61,40,23,.2)}
.mlist:hover li{opacity:.3}.mlist li:hover{opacity:1;color:var(--brown);padding-left:28px}
.mlist .n{font-size:.9rem;opacity:.6}.mlist h3{font-size:clamp(1.6rem,4.6vw,4.2rem)}
.mlist em{font-family:var(--s);font-size:1.4rem;opacity:.8}.mlist b{font:800 clamp(1.4rem,2.6vw,2.2rem) var(--f)}
.mthumb{display:none}
.mfloat{position:fixed;top:0;left:0;width:300px;height:380px;border-radius:var(--r);overflow:hidden;pointer-events:none;z-index:60;opacity:0;border:6px solid var(--gold)}
.mfloat img{position:absolute;inset:0;width:100%;height:100%;opacity:0;transform:scale(1.2);transition:.5s}.mfloat img.on{opacity:1;transform:none}

/* craft stack */
.craft{background:var(--sand);color:var(--ink)}
.stack{padding-bottom:6vh}
.scard{position:sticky;top:calc(100px + var(--i)*26px);display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(20px,4vw,60px);align-items:center;border-radius:var(--r);padding:clamp(18px,3vw,40px);min-height:min(58vh,420px);margin-bottom:40px;transform-origin:top center;overflow:hidden;isolation:isolate}
.scard .big{display:block;font:800 clamp(4rem,11vw,9rem)/.8 var(--f);color:transparent;-webkit-text-stroke:1.5px currentColor;margin-bottom:20px}
.scard h3{font-size:clamp(1.7rem,3.4vw,2.8rem);margin-bottom:12px}.scard p{max-width:420px;opacity:.85}
.scard img{width:100%;height:clamp(200px,28vw,340px);border-radius:20px}
/* Royal gold foil cards: gold gradient, sweeping shine, twinkling sparkles, gold text (HTML content unchanged) */
.scard{color:#3d2412;background:linear-gradient(125deg,#8a5a1e 0%,#e9c46a 18%,#fff2c2 30%,#c8923a 46%,#f7dc8c 62%,#9c6a24 78%,#f1cf78 92%,#a8742a 100%);border:2px solid #6b4212;box-shadow:inset 0 0 0 3px rgba(255,241,190,.55),inset 0 0 0 8px rgba(107,66,18,.22),0 24px 60px rgba(120,80,20,.35)}
.scard::before{content:"";position:absolute;top:-10%;bottom:-10%;left:0;width:45%;background:linear-gradient(100deg,transparent,rgba(255,253,235,.8),transparent);transform:translateX(-120%) skewX(-18deg);animation:shine 6s ease-in-out infinite;pointer-events:none;z-index:2}
@keyframes shine{0%{transform:translateX(-120%) skewX(-18deg)}35%,100%{transform:translateX(280%) skewX(-18deg)}}
.scard::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:2;background:radial-gradient(circle at 10% 20%,#fff 0 1.5px,transparent 3.5px),radial-gradient(circle at 72% 14%,#fff 0 2px,transparent 4.5px),radial-gradient(circle at 38% 84%,#fffbe6 0 1.5px,transparent 4px),radial-gradient(circle at 92% 70%,#fff 0 2px,transparent 4.5px),radial-gradient(circle at 56% 42%,#fff9d6 0 1px,transparent 3px);animation:twinkle 3.2s ease-in-out infinite alternate}
@keyframes twinkle{from{opacity:.35}to{opacity:1}}
.scard>div{position:relative;z-index:1}
.scard>img{position:relative;z-index:1;border:2px solid #fff2c2;box-shadow:0 0 0 3px #8a5a1e,0 14px 34px rgba(80,50,10,.4)}
.scard h3{background:linear-gradient(100deg,#3d2412 0%,#6b4212 30%,#b8862f 48%,#5a3510 62%,#3d2412 80%,#6b4212 100%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:goldText 7s linear infinite;filter:drop-shadow(0 1px 0 rgba(255,244,200,.7))}
@keyframes goldText{from{background-position:100% 0}to{background-position:-100% 0}}
.scard .big{display:block;line-height:1;margin-bottom:28px;color:transparent;-webkit-text-stroke:1.5px #5a3510;text-shadow:0 0 18px rgba(255,240,180,.7)}
.scard>div>p{color:#4a2c10;opacity:1;font-weight:500;border-left:3px solid #8a5a1e;padding-left:16px;max-width:430px}
/* craft cards: centred text block, lifted number, icon medallion and tags to fill the left panel */
.scard>div{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.scard>div>p{border-left:0;padding-left:0;margin-inline:auto;text-align:center}
.scard .big{transform:translateY(-16px);margin-bottom:30px}
.craft-ico{display:grid;place-items:center;width:68px;height:68px;border-radius:50%;margin-bottom:18px;background:linear-gradient(135deg,#fff3c4,#e0b15a 45%,#8a5a1e);box-shadow:0 0 0 3px #6b4212,0 8px 22px rgba(80,50,10,.35),inset 0 0 0 3px rgba(255,246,214,.6)}
.craft-ico i{font-size:1.6rem;color:#3d2412}
.craft-tags{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:24px}
.craft-tags li{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:40px;background:rgba(255,246,214,.6);border:1px solid #8a5a1e;color:#3d2412;font-size:.85rem;font-weight:500}
.craft-tags i{color:#6b4212;font-size:.95rem}

/* takeaway */
.take{background:var(--sand2)}
.take-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(30px,6vw,100px);align-items:start}
.steps{list-style:none;margin-top:40px}
.steps li{display:flex;align-items:center;gap:28px;padding:26px 0;border-top:1px solid rgba(61,40,23,.2);transition:padding .4s}
.steps li:hover{padding-left:20px}
.steps b{font:800 clamp(3rem,6vw,5rem)/1 var(--f);color:transparent;-webkit-text-stroke:1.5px var(--brown);min-width:1.4em;transition:.3s}.steps li:hover b{color:var(--brown)}
.steps h3{font-size:clamp(1.6rem,3vw,2.4rem)}.steps p{opacity:.7}
.ticket{position:sticky;top:110px;background:#fff;color:var(--ink);border-radius:var(--r);padding:20px 20px 28px;transform:rotate(2deg);border:3px dashed var(--brown);outline:8px solid #fff}
.ticket img{width:100%;aspect-ratio:4/3;border-radius:18px;margin-bottom:18px}
.ticket h3{font-size:2.2rem;margin-bottom:8px}.ticket p{opacity:.75;margin-bottom:18px}
.trow{display:flex;justify-content:space-between;align-items:center}.trow b{font:800 2.4rem var(--f)}
.stamp{position:absolute;z-index:2;right:-18px;top:-26px;width:96px;height:96px;border-radius:50%;background:var(--gold);display:grid;place-content:center;text-align:center;font:800 .8rem/1.1 var(--f);text-transform:uppercase;transform:rotate(14deg);animation:wob 4s ease-in-out infinite}
@keyframes wob{50%{transform:rotate(-6deg) scale(1.06)}}

/* stats */
.stats{background:var(--brown);color:var(--sand);display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:clamp(50px,8vw,110px) var(--pad);text-align:center}
.stats b{display:block;font:800 clamp(3rem,9vw,8rem)/1 var(--f);letter-spacing:-.05em}
.stats b{color:var(--gold)}
.stats span{font-size:.85rem;letter-spacing:.14em;text-transform:uppercase;font-weight:500}

/* reviews */
.reviews{background:var(--sand);color:var(--ink);overflow:hidden;padding-inline:0}
.reviews .shead{padding:0 var(--pad)}
.rtrack{display:flex;gap:24px;width:max-content;padding:20px 0}
blockquote{width:clamp(280px,30vw,400px);flex:none;background:#fff;color:var(--ink);padding:34px;border-radius:var(--r);transform:rotate(-2deg);box-shadow:0 14px 40px rgba(150,90,30,.15)}
blockquote:nth-child(even){transform:rotate(2deg) translateY(18px);background:var(--gold);color:var(--ink)}
blockquote span{letter-spacing:4px;font-size:.9rem}
blockquote p{font:500 1.35rem/1.35 var(--f);margin:14px 0 22px}
cite{font-style:normal;font-size:.8rem;letter-spacing:.15em;text-transform:uppercase;opacity:.8}

/* cta + footer */
.huge{font-size:clamp(5rem,23vw,21rem);line-height:.8;margin-bottom:30px}
.footer{background:var(--ink);color:var(--sand);padding:clamp(50px,7vw,90px) var(--pad) 28px}
.fcta{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;background:var(--gold);color:var(--ink);border-radius:var(--r);padding:clamp(26px,4vw,50px);margin-bottom:clamp(40px,6vw,80px)}
.fcta h3{font-size:clamp(1.8rem,4vw,3.2rem);max-width:720px}.fcta i{color:var(--brown)}
.fgrid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.3fr;gap:clamp(24px,4vw,60px);padding-bottom:clamp(30px,5vw,60px);border-bottom:1px solid rgba(255,250,240,.18)}
.fbrand p{opacity:.75;margin:14px 0 20px;max-width:340px;font-size:.95rem}
.footer .logo b{color:var(--gold)}
.social{display:flex;gap:10px}
.social a{width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,250,240,.3);display:grid;place-items:center;font-size:.75rem;font-weight:500;transition:.3s}
.social a:hover{background:var(--gold);color:var(--ink);border-color:var(--gold);transform:translateY(-4px)}
.footer h4{font:800 1rem var(--f);text-transform:uppercase;letter-spacing:.12em;color:var(--gold);margin-bottom:18px}
.footer ul{list-style:none}.footer li{margin-bottom:10px}
.footer li a,.footer address a{opacity:.8;transition:.3s}.footer li a:hover,.footer address a:hover{color:var(--gold);opacity:1;padding-left:6px}
.footer address{font-style:normal;opacity:.85;line-height:1.9}
.hours{margin-top:14px;display:inline-block;border:1px solid var(--gold);color:var(--gold);border-radius:30px;padding:4px 16px;font-size:.82rem}
.fbottom{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding-top:24px;font-size:.85rem;opacity:.85}
.fbottom p a{margin-left:20px}.fbottom p a:hover{color:var(--gold)}
/* back to top: fixed bottom-right, shown after the hero; ring shows scroll progress (--p set in main.js) */
.totop{position:fixed;right:clamp(16px,2.5vw,32px);bottom:clamp(16px,2.5vw,32px);z-index:90;width:56px;height:56px;border-radius:50%;border:0;padding:0;cursor:pointer;background:conic-gradient(#e8b865 calc(var(--p,0) * 1%),rgba(61,40,23,.22) 0);box-shadow:0 14px 30px rgba(60,35,10,.3);opacity:0;transform:translateY(24px) scale(.8);pointer-events:none;transition:opacity .4s,transform .5s cubic-bezier(.2,.8,.2,1)}
.totop.show{opacity:1;transform:none;pointer-events:auto}
.totop:hover{transform:translateY(-4px) scale(1.05)}
.tt-disc{position:absolute;inset:5px;border-radius:50%;display:grid;place-items:center;background:#3d2817;color:#f6ead8;transition:background .3s,color .3s}
.totop:hover .tt-disc{background:#e8b865;color:#2a1a0e}
.tt-disc i{font-size:1rem}

/* responsive */
@media(max-width:991px){
  .hero{padding-top:110px}
  .bento{grid-template-columns:repeat(2,1fr);grid-auto-rows:minmax(200px,auto)}
  .t1{grid-column:1/3;grid-row:auto;min-height:340px}.t2,.t5,.t6{grid-column:1/3}
  .take-grid{grid-template-columns:1fr}.ticket{position:relative;top:0;max-width:440px;margin:30px auto 0}
  .scard{grid-template-columns:1fr}.scard img{height:220px}
  .mlist li{grid-template-columns:64px 1fr auto;gap:16px}.mlist em,.mlist .n{display:none}
  .mthumb{display:block;width:64px;height:64px;border-radius:50%;order:-1}
  .mlist h3{font-size:clamp(1.4rem,4.8vw,2.4rem)}.mfloat{display:none}
  .stats{grid-template-columns:repeat(2,1fr);gap:40px}
  .bar{grid-template-columns:1fr auto auto}
  .nav{position:fixed;inset:0;z-index:-1;background:var(--sand);flex-direction:column;justify-content:center;align-items:center;gap:20px;font:800 2.6rem var(--f);transform:translateY(-100%);transition:transform .6s cubic-bezier(.77,0,.18,1);overflow-y:auto;padding:90px 20px 40px}
  .nav.open{transform:none}.nav>a,.dd-btn{padding:0;background:none!important;font:inherit}.dd{position:static}.dd::after{display:none}
  .dd-menu{position:static;transform:none;opacity:1;visibility:visible;display:none;box-shadow:none;background:none;min-width:0;padding:10px 0 0;text-align:center}
  .dd.open .dd-menu{display:grid;gap:12px}.dd-menu a{font:800 1.5rem var(--f);text-transform:uppercase;padding:4px}
  .dd-btn i{font-size:1rem}
  .nav .m-login{display:inline-block!important;background:var(--gold)!important;color:var(--ink);font:500 1rem "DM Sans";padding:14px 34px!important;margin-top:14px}
  .burger{display:block}.hright .btn.login{display:none}.topbar{display:none}.header::before{opacity:1}.hero{padding-top:110px}
  .fgrid{grid-template-columns:1fr 1fr}.fbrand{grid-column:1/3}
}
@media(max-width:520px){.fgrid{grid-template-columns:1fr}.fbrand{grid-column:auto}.fbottom{flex-direction:column;align-items:flex-start}..mlist li{grid-template-columns:56px 1fr auto}.mthumb{width:56px;height:56px}.bento{grid-template-columns:1fr}.t1,.t2,.t5,.t6{grid-column:auto}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ===== 07 BUILT IN ONE POT: scroll-driven story; the handi fills layer by layer, then steams ===== */
.story{position:relative;overflow:hidden;overflow:clip;isolation:isolate;background:var(--sand);color:var(--ink);padding:clamp(90px,11vw,160px) var(--pad)}
.story::before{content:"";position:absolute;z-index:-1;width:60vw;height:60vw;right:-22vw;top:-20vw;border-radius:50%;background:radial-gradient(circle,rgba(232,184,101,.4),transparent 65%);animation:glowDrift 16s ease-in-out infinite alternate}
@keyframes glowDrift{to{transform:translate(-14vw,12vw) scale(1.15)}}
.story-grain{position:absolute;inset:0;z-index:-1;pointer-events:none}
.story-grain span{position:absolute;left:var(--x);top:var(--y);width:12px;height:7px;border-radius:50%;background:#d9a441;opacity:.45;animation:grainFloat 14s linear infinite;animation-delay:var(--d)}
@keyframes grainFloat{0%{transform:translate(0,0) rotate(0)}50%{transform:translate(34px,-46px) rotate(180deg)}100%{transform:translate(0,0) rotate(360deg)}}
.story-wrap{position:relative;max-width:1400px;margin-inline:auto}
.story-head{max-width:720px;margin-bottom:clamp(40px,6vw,84px)}
.story-head h2{color:var(--ink)}
.story-head h2 i{color:var(--brown)}
.story-lead{font-size:1.1rem;opacity:.75;margin-top:18px;max-width:46ch}
.story-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,7vw,120px);align-items:start}
.pot-stage{position:sticky;top:120px;display:grid;justify-items:center;align-content:center;min-height:min(520px,calc(100vh - 150px))}
.pot-glow{position:absolute;top:50%;left:50%;width:82%;aspect-ratio:1;translate:-50% -50%;border-radius:50%;background:radial-gradient(circle,rgba(232,184,101,.5),transparent 65%);transition:opacity .8s,scale .8s;pointer-events:none}
.dum-pot[data-stage="4"] ~ .pot-caption{color:var(--brown)}
.dum-pot{position:relative;width:min(100%,440px)}
.dum-pot svg{display:block;width:100%;height:auto;overflow:visible;filter:drop-shadow(0 30px 40px rgba(110,60,20,.25))}
.lay{transform-box:fill-box;transform-origin:50% 100%;transform:scaleY(0);transition:transform 1s cubic-bezier(.2,.8,.2,1)}
.lay.is-on{transform:scaleY(1)}
.lid{transform:translateY(-140px);opacity:0;transition:transform 1.1s cubic-bezier(.2,.9,.2,1) .15s,opacity .6s .15s}
.dum-pot.sealed .lid{transform:none;opacity:1}
.steam path{stroke-dasharray:120;stroke-dashoffset:120;opacity:0}
.dum-pot.sealed .steam path{animation:steamRise 2.8s ease-in-out infinite}
.dum-pot.sealed .steam path:nth-child(2){animation-delay:.6s}
.dum-pot.sealed .steam path:nth-child(3){animation-delay:1.2s}
@keyframes steamRise{0%{stroke-dashoffset:120;opacity:0;transform:translateY(14px)}40%{opacity:.9}100%{stroke-dashoffset:0;opacity:0;transform:translateY(-14px)}}
.pot-caption{margin-top:20px;font:800 1.1rem/1 var(--f);text-transform:uppercase;letter-spacing:.06em;color:var(--brown);text-align:center;transition:color .5s}
.story-steps{list-style:none;display:grid;gap:clamp(40px,6vw,70px);padding-block:clamp(10px,4vw,40px)}
.s-step{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(16px,2.4vw,28px);opacity:.36;transition:opacity .6s,transform .6s cubic-bezier(.2,.8,.2,1)}
.s-step.is-active{opacity:1;transform:translateX(8px)}
.s-no{font:800 clamp(3rem,6vw,5rem)/1 var(--f);color:transparent;-webkit-text-stroke:1.5px var(--brown);transition:color .5s}
.s-step.is-active .s-no{color:var(--brown)}
.s-step h3{font-size:clamp(1.7rem,3vw,2.4rem);margin-bottom:10px}
.s-step p{font-size:1.02rem;line-height:1.6;opacity:.82;max-width:44ch}
.s-tags{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.s-tags li{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:40px;border:1px solid var(--brown);font-size:.86rem;font-weight:500}
.s-tags i{color:var(--brown);font-size:.8rem}
@keyframes marq{to{transform:translateX(-50%)}}
@media(max-width:991px){
  .story-grid{grid-template-columns:1fr}
  .pot-stage{position:relative;top:0;min-height:0;padding-top:10px}
  .dum-pot{width:min(86vw,380px)}
  .s-step{opacity:1}
}
@media(max-width:520px){
  .s-step{grid-template-columns:1fr;gap:6px}
  .s-no{font-size:2.6rem}
}

/* ===== 06 ORDER: pick the occasion, see the suggested pot, order in one tap ===== */
.order{position:relative;overflow:hidden;isolation:isolate;background:var(--sand2);color:var(--ink);padding:clamp(90px,11vw,170px) var(--pad)}
.order::before{content:"";position:absolute;inset:0;z-index:-1;background-image:radial-gradient(rgba(140,90,54,.18) 1px,transparent 1.3px);background-size:26px 26px;-webkit-mask-image:linear-gradient(transparent,#000 25%,#000 75%,transparent);mask-image:linear-gradient(transparent,#000 25%,#000 75%,transparent)}
.ord-wrap{position:relative;max-width:1400px;margin-inline:auto}
.ord-top{max-width:760px;margin-bottom:clamp(36px,5vw,64px)}
.ord-title{font-size:clamp(3.6rem,9vw,8.5rem);line-height:.88;color:var(--ink);margin-top:14px}
.ord-title i{font-family:var(--s);font-style:italic;font-weight:400;text-transform:none;letter-spacing:0;color:var(--brown)}
.ord-lead{font-size:1.15rem;opacity:.78;margin-top:20px;max-width:46ch}
.ord-occ{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:clamp(30px,4vw,50px)}
.occ{display:inline-flex;align-items:center;gap:10px;padding:14px 22px;border-radius:60px;border:1.5px solid var(--ink);background:transparent;color:var(--ink);font:500 1rem 'DM Sans',sans-serif;cursor:pointer;transition:background .35s,color .35s,transform .35s}
.occ i{color:var(--brown);transition:color .35s}
.occ:hover{transform:translateY(-3px)}
.occ[aria-pressed="true"]{background:var(--ink);color:var(--sand)}
.occ[aria-pressed="true"] i{color:#e8b865}
.occ:focus-visible,.ord-cta:focus-visible,.ord-ghost:focus-visible{outline:3px solid #e8b865;outline-offset:3px}
.ord-stage{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(30px,5vw,80px);align-items:center;padding:clamp(28px,4vw,56px) 0;border-top:1px solid rgba(61,40,23,.2);border-bottom:1px solid rgba(61,40,23,.2)}
.ord-pick{display:flex;gap:clamp(18px,2.4vw,30px);align-items:flex-start}
.ord-pick.swap{animation:pickIn .6s cubic-bezier(.2,.8,.2,1)}
@keyframes pickIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
.pick-ico{flex:none;width:clamp(72px,8vw,100px);height:clamp(72px,8vw,100px);border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#fff3c4,#e0b15a 45%,#8a5a1e);color:#3d2412;font-size:clamp(1.6rem,2.6vw,2.2rem);box-shadow:0 0 0 3px #6b4212,0 10px 26px rgba(80,50,10,.3)}
.pick-kicker{font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--brown);font-weight:500;margin-bottom:8px}
.pick-copy h3{font-size:clamp(2.2rem,4.4vw,3.8rem);line-height:.95;margin-bottom:12px;color:var(--ink)}
.pick-copy p{font-size:1.05rem;opacity:.8;max-width:40ch;line-height:1.6}
.pick-meta{display:flex;flex-wrap:wrap;gap:18px;align-items:center;margin-top:18px}
.pick-meta b{font:800 2rem/1 var(--f);color:var(--ink)}
.pick-meta span{padding:7px 14px;border-radius:40px;background:rgba(61,40,23,.1);font-size:.88rem;font-weight:500}
.ord-actions{display:grid;gap:14px;justify-items:start}
.ord-cta{display:inline-flex;align-items:center;gap:12px;padding:18px 30px;border-radius:60px;background:#e8b865;color:#2a1a0e;font-weight:500;transition:transform .35s,box-shadow .35s,background .35s}
.ord-cta:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(201,150,69,.35);background:#f6d98f}
.ord-cta i{transition:transform .35s}.ord-cta:hover i{transform:translateX(6px)}
.ord-ghost{display:inline-flex;align-items:center;gap:10px;padding:6px 0;color:var(--ink);border-bottom:1.5px solid currentColor;transition:color .3s}
.ord-ghost:hover{color:var(--brown)}
.ord-flow{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,40px);margin-top:clamp(50px,7vw,90px);position:relative}
.ord-flow li{position:relative;padding-top:clamp(56px,6vw,70px)}
.ord-flow li:not(:last-child)::after{content:"";position:absolute;top:22px;inset-inline-start:58px;width:calc(100% - 58px);height:2px;background:repeating-linear-gradient(90deg,var(--brown) 0 8px,transparent 8px 16px)}
.ord-flow span{position:absolute;top:0;inset-inline-start:0;width:46px;height:46px;border-radius:50%;background:var(--ink);color:var(--sand);display:grid;place-items:center;font:800 .95rem/1 var(--f)}
.ord-flow h3{font-size:clamp(1.4rem,2.2vw,1.9rem);margin-bottom:8px;color:var(--ink)}
.ord-flow p{opacity:.75;font-size:.98rem;max-width:32ch}
.ord-foot{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:30px 48px;margin-top:clamp(50px,7vw,90px);padding-top:28px;border-top:1px solid rgba(61,40,23,.2)}
.ord-status{display:flex;flex-wrap:wrap;align-items:center;gap:12px 26px;max-width:460px;width:100%}
.status{display:inline-flex;align-items:center;gap:10px;color:#1f7a43;font-weight:600;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase}
.status::before{content:"";width:9px;height:9px;border-radius:50%;background:#3fc46a;animation:pulse 2s infinite}
.status.closed{color:#b5462a}.status.closed::before{background:#e46b44;animation:none}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(63,196,106,.6)}70%,100%{box-shadow:0 0 0 10px rgba(63,196,106,0)}}
.oc-hours{display:flex;align-items:baseline;gap:10px}
.oc-hours span{font-size:.78rem;opacity:.7;letter-spacing:.12em;text-transform:uppercase}
.oc-hours b{font:800 clamp(1.4rem,2.4vw,2rem)/1 var(--f);color:var(--ink)}
.oc-next{color:var(--brown);font-size:.9rem}
.oc-bar{position:relative;flex-basis:100%;height:4px;border-radius:4px;background:rgba(61,40,23,.14);overflow:hidden}
.oc-bar span{position:absolute;top:0;bottom:0;left:0;width:0;border-radius:4px;background:linear-gradient(90deg,#8a5a1e,#e8b865,#fff1c4);transition:width 1s ease}
.ord-contact{list-style:none;display:flex;flex-wrap:wrap;gap:12px 28px}
.ord-contact a,.ord-contact span{display:inline-flex;align-items:center;gap:12px;font-size:1rem;transition:color .3s}
.ord-contact a:hover{color:var(--brown)}
.ord-contact i{width:40px;height:40px;flex:none;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:var(--sand)}
@media(max-width:991px){
  .ord-stage{grid-template-columns:1fr}
}
@media(max-width:767px){
  .ord-flow{grid-template-columns:1fr;gap:34px}
  .ord-flow li{padding-top:0;padding-inline-start:66px;min-height:46px}
  .ord-flow li:not(:last-child)::after{display:none}
}
@media(max-width:520px){
  .ord-title{font-size:clamp(3.2rem,18vw,4.6rem)}
  .ord-pick{flex-direction:column}
  .occ{padding:12px 16px;font-size:.92rem}
}

/* ===== OUR STORY (about.html): ten sections, each with its own layout. Surfaces use theme variables; cards on fixed light or gold surfaces keep dark text so dark mode stays readable ===== */
@keyframes lineUp{from{transform:translateY(105%)}to{transform:none}}
@keyframes archIn{from{clip-path:inset(100% 0 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes osSpin{to{transform:rotate(360deg)}}
.os{position:relative;isolation:isolate;overflow:hidden;padding:clamp(90px,11vw,150px) var(--pad);background:var(--sand)}
.os-in{position:relative;max-width:1400px;margin-inline:auto}
.os-h2{font-size:clamp(2.8rem,6.4vw,6.4rem);line-height:.9;color:var(--ink);margin-top:14px}
.os-h2 i{color:var(--brown)}

/* 1 hero */
.page-hero{position:relative;isolation:isolate;overflow:hidden;padding:clamp(140px,15vw,200px) var(--pad) clamp(80px,9vw,130px);background:var(--sand)}
.page-hero::before{content:"";position:absolute;z-index:-1;width:65vw;height:65vw;right:-20vw;top:-22vw;border-radius:50%;background:radial-gradient(circle,rgba(232,184,101,.38),transparent 65%);animation:glowDrift 16s ease-in-out infinite alternate}
.ph-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(40px,6vw,100px);align-items:center;max-width:1400px;margin-inline:auto}
.ph-title{font-size:clamp(3.6rem,8.4vw,8.6rem);line-height:.86;color:var(--ink);margin:16px 0 26px}
.ph-title .ln{display:block;overflow:hidden;padding-bottom:.06em}
.ph-title .ln>span{display:inline-block;animation:lineUp 1.1s cubic-bezier(.2,.8,.2,1) var(--d) both}
.ph-title i{color:var(--brown)}
.ph-lead{font-size:1.15rem;max-width:44ch;opacity:.8}
.ph-cta{display:flex;gap:28px;align-items:center;flex-wrap:wrap;margin-top:34px}
.ph-art{position:relative;width:100%;max-width:500px;aspect-ratio:4/5;justify-self:end}
.ph-arch{position:absolute;inset:0;border-radius:32px;overflow:hidden;animation:archIn 1.4s cubic-bezier(.2,.8,.2,1) .2s both;box-shadow:0 40px 70px rgba(120,70,20,.25)}
.ph-arch img{width:100%;height:100%;object-fit:cover}
.ph-badge{position:absolute;z-index:2;width:clamp(120px,14vw,168px);aspect-ratio:1;inset-inline-start:-7%;bottom:8%;border-radius:50%;background:var(--sand);display:grid;place-items:center;box-shadow:0 14px 30px rgba(90,55,20,.2)}
.ph-badge svg{position:absolute;inset:0;width:100%;height:100%;animation:osSpin 18s linear infinite}
.ph-badge text{fill:var(--ink);font:500 13px 'DM Sans',sans-serif;letter-spacing:2.6px}
.ph-badge>i{font-size:1.6rem;color:var(--brown)}

/* 2 origin */
.os-origin{background:var(--sand2)}
.os-origin-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(30px,5vw,90px);align-items:center}
.os-origin-copy{min-width:0}
.os-origin-copy .os-cols{grid-template-columns:1fr;margin-top:clamp(30px,4vw,50px)}
.os-stage{position:relative;width:min(100%,640px);aspect-ratio:1.1;justify-self:center;isolation:isolate}
.os-glow{position:absolute;inset:6% 4%;border-radius:50%;background:radial-gradient(circle,rgba(232,184,101,.55),rgba(232,184,101,0) 66%);z-index:-1;animation:osGlow 7s ease-in-out infinite alternate}
.os-float{position:absolute;inset:18% 0 14%;display:grid;place-items:center;animation:osFloat 6.5s ease-in-out infinite;will-change:transform}
.os-float img{width:100%;height:auto;max-height:100%;object-fit:contain}
.os-smoke{position:absolute;left:0;right:0;top:4%;height:52%;pointer-events:none;z-index:2}
.os-smoke i{position:absolute;bottom:0;display:block;width:clamp(70px,12vw,120px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.85) 0%,rgba(230,220,200,.55) 40%,rgba(230,220,200,0) 70%);filter:blur(6px);opacity:0;animation:osSmoke 6s ease-in infinite}
.os-smoke i:nth-child(1){left:18%;animation-delay:0s}
.os-smoke i:nth-child(2){left:36%;width:clamp(90px,15vw,150px);animation-delay:1.1s;animation-duration:7s}
.os-smoke i:nth-child(3){left:52%;animation-delay:2.2s}
.os-smoke i:nth-child(4){left:64%;width:clamp(60px,10vw,100px);animation-delay:3.3s;animation-duration:5.6s}
.os-smoke i:nth-child(5){left:28%;width:clamp(80px,13vw,130px);animation-delay:4.4s;animation-duration:6.8s}
.os-smoke i:nth-child(6){left:58%;width:clamp(60px,9vw,90px);animation-delay:2.8s;animation-duration:5.2s}
@keyframes osSmoke{0%{transform:translate(0,30px) scale(.5);opacity:0}15%{opacity:.75}55%{transform:translate(-14px,-70px) scale(1.2);opacity:.55}100%{transform:translate(18px,-160px) scale(1.9);opacity:0}}
@keyframes osFloat{0%,100%{transform:translateY(0) rotate(-1.2deg)}50%{transform:translateY(-22px) rotate(1.2deg)}}
@keyframes osShadow{0%,100%{transform:scale(1);opacity:.9}50%{transform:scale(.8);opacity:.55}}
@keyframes osGlow{from{transform:scale(.94);opacity:.7}to{transform:scale(1.06);opacity:1}}

.os-quote{font:400 clamp(2.4rem,5.4vw,5.2rem)/1.08 var(--s);max-width:22ch;margin-top:26px;color:var(--ink)}
.os-quote .w{opacity:.16;transition:opacity .5s ease}
.os-quote .w.on{opacity:1}
.os-quote i{color:var(--brown)}
.os-cols{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,80px);margin-top:clamp(50px,6vw,90px)}
.os-cols p{font-size:1.08rem;line-height:1.75;opacity:.85;margin-bottom:18px}
.drop{float:inline-start;font:800 6.4rem/.8 var(--f);color:var(--brown);margin:.1em .12em 0 0;text-transform:uppercase}

/* 3 journey: sticky track driven by vertical scroll */
.os-journey{position:relative;height:300vh;background:var(--sand);padding-bottom:clamp(60px,8vw,120px)}
.os-jstick{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;justify-content:center;overflow:hidden;padding:120px var(--pad) 40px}
.os-jhead{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:20px;margin-bottom:34px;max-width:1400px;width:100%;margin-inline:auto}
.os-jnote{font-size:.85rem;letter-spacing:.14em;text-transform:uppercase;opacity:.65}
.os-jrail{position:relative;height:4px;border-radius:4px;background:rgba(61,40,23,.15);margin:0 auto 44px;max-width:1400px;width:100%}
.os-jrail span{position:absolute;inset:0 auto 0 0;width:0;border-radius:4px;background:linear-gradient(90deg,#8a5a1e,#e8b865,#fff1c4);box-shadow:0 0 14px rgba(232,184,101,.6)}
.os-track{display:flex;gap:clamp(20px,3vw,40px);width:max-content;will-change:transform;direction:ltr;padding-inline-end:var(--pad)}
.os-stop{position:relative;width:min(440px,78vw);min-height:380px;padding:clamp(28px,3vw,42px);border-radius:var(--r);color:#2a1a0e;display:flex;flex-direction:column;justify-content:space-between;gap:22px;text-align:start;direction:ltr}
.os-stop p{font-size:1.02rem;line-height:1.6;opacity:.85}
.os-stop h3{font-size:clamp(1.7rem,2.6vw,2.3rem);color:#2a1a0e}
.os-stop .ico{font-size:1.6rem;color:#8a5a1e}
.os-year{font:800 clamp(4.4rem,8vw,7.2rem)/.85 var(--f);color:#8a5a1e;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.os-stop.s1{background:#fffdf7;border:2px dashed #8a5a1e;transform:rotate(-1deg)}
.os-stop.s2{background:#fff2c2;border-radius:220px 220px var(--r) var(--r);padding-top:clamp(56px,6vw,80px)}
.os-stop.s3{background:#fffdf7;box-shadow:0 0 0 3px #8a5a1e inset,0 26px 50px rgba(90,55,20,.18);transform:rotate(1deg)}
.os-stop.s4{background:#e8b865}
.os-stop.s4 .os-year{color:#2a1a0e}

/* 4 rules: four slats */
.os-slatsec{background:#e1b768;color:#2a1a0e}
.os-slatsec .eyebrow{color:#5a3510}
.os-slatsec .os-h2{color:#2a1a0e}
.os-slatsec .os-h2 i{color:#5a3510}
.os-slatrow{display:flex;gap:12px;height:clamp(460px,52vw,560px);margin-top:50px}
.slat{position:relative;flex:1 1 0;min-width:0;border-radius:28px;overflow:hidden;cursor:pointer;transition:flex .8s cubic-bezier(.7,0,.2,1);outline-offset:4px}
.slat.open{flex:4.2 1 0}
.slat:focus-visible{outline:3px solid #2a1a0e}
.slat img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.18);transition:transform 1.2s cubic-bezier(.2,.8,.2,1)}
.slat.open img{transform:scale(1)}
.slat::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(42,26,14,.05) 25%,rgba(42,26,14,.85));z-index:1}
.slat-name{position:absolute;z-index:2;inset-inline-start:26px;bottom:26px;font:800 clamp(1.4rem,2.4vw,2.3rem)/1 var(--f);text-transform:uppercase;color:#fff8e6;white-space:nowrap;transition:all .6s}
.slat:not(.open) .slat-name{writing-mode:vertical-rl;transform:rotate(180deg);bottom:auto;top:26px;inset-inline-start:auto;inset-inline-end:26px}
.slat-body{position:absolute;z-index:2;inset-inline:30px;bottom:86px;color:#fff8e6;opacity:0;transform:translateY(24px);transition:opacity .6s .3s,transform .7s .3s cubic-bezier(.2,.8,.2,1)}
.slat-body p{font-size:1.05rem;line-height:1.55;max-width:32ch}
.slat.open .slat-body{opacity:1;transform:none}

/* 5 ledger: receipt */
.os-ledger{background:var(--sand2)}
.os-rcpt-wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(40px,6vw,100px);align-items:center}
.os-rc-lead{font-size:1.1rem;opacity:.8;max-width:40ch;margin-top:20px}
.os-stamp{display:inline-grid;place-items:center;width:138px;height:138px;border-radius:50%;background:#e8b865;color:#2a1a0e;font:800 1.05rem/1.05 var(--f);text-transform:uppercase;text-align:center;transform:rotate(-12deg);margin-top:34px;box-shadow:inset 0 0 0 4px #2a1a0e33,0 14px 30px rgba(90,55,20,.25)}
.os-rcpt{position:relative;max-width:460px;width:100%;justify-self:center;background:#fffdf7;color:#2a1a0e;padding:44px 38px 56px;box-shadow:0 30px 60px rgba(90,55,20,.2);transform:rotate(-2deg);margin-bottom:14px}
.os-rcpt::after{content:"";position:absolute;inset-inline:0;bottom:-12px;height:14px;background:linear-gradient(-45deg,transparent 7px,#fffdf7 0) 0 0/14px 14px,linear-gradient(45deg,transparent 7px,#fffdf7 0) 0 0/14px 14px}
.rc-head{text-align:center;border-bottom:1.5px dashed rgba(42,26,14,.35);padding-bottom:18px;margin-bottom:10px}
.rc-head b{display:block;font:800 1.5rem/1.1 var(--f);letter-spacing:.04em}
.rc-head span{font-size:.85rem;opacity:.7}
.rc-row{display:flex;align-items:baseline;gap:10px;padding:14px 0;opacity:0;transform:translateY(12px);transition:opacity .6s calc(var(--i)*200ms + 300ms),transform .6s calc(var(--i)*200ms + 300ms) cubic-bezier(.2,.8,.2,1)}
.os-rcpt.in .rc-row{opacity:1;transform:none}
.rc-row span:first-child{font-size:1rem}
.rc-row em{flex:1;border-bottom:2px dotted rgba(42,26,14,.35);transform:translateY(-5px)}
.rc-n{font:800 1.9rem/1 var(--f);font-variant-numeric:tabular-nums}
.rc-total{display:flex;justify-content:space-between;font:800 1.8rem/1 var(--f);margin-top:16px;padding-top:16px;border-top:2px solid #2a1a0e}
.rc-bar{margin:20px 0 6px;height:54px}
.rc-bar svg{width:100%;height:100%;display:block}
.rc-foot{text-align:center;font-size:.9rem;opacity:.7}

/* 6 voices: full-bleed photo band; large quote on the left, timed guest list on the right */
.os-voices{background:#1a0f07 url("../images/grand-banquet-dark-bowl.webp") center/cover no-repeat;color:#f6ead8;text-align:start}
.os-voices{padding:clamp(60px,6.5vw,88px) var(--pad)}
.os-voices::before{content:none}
.os-voices::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,rgba(26,15,7,.97) 28%,rgba(26,15,7,.8) 62%,rgba(26,15,7,.62))}
.vq-wrap{max-width:1240px}
.vq-head .eyebrow{color:#e1b768}
.vq-head .os-h2{color:#fffaf0}
.vq-head .os-h2 i{color:#e1b768}
.vq-lead{margin:14px 0 0;max-width:46ch;font-size:1.05rem;line-height:1.6;color:#f6ead8;opacity:.78}
.vq-split{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(40px,6vw,96px);align-items:stretch;margin-top:clamp(28px,3vw,40px)}
.vq-main{display:flex;flex-direction:column;min-width:0}
.vq-stage{display:grid;flex:1}
.vq{grid-area:1/1;margin:0;display:flex;flex-direction:column;justify-content:center;gap:18px;opacity:0;transform:translateX(24px);transition:opacity .7s,transform .7s cubic-bezier(.2,.8,.2,1);pointer-events:none}
.vq.on{opacity:1;transform:none;pointer-events:auto}
.vq-ico{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,#f6dc9a,#e1b768 50%,#b8862f);color:#2a1a0e;font-size:1.2rem}
.vq p{margin:0;max-width:24ch;font:400 clamp(1.9rem,3.6vw,3.2rem)/1.12 var(--s);color:#fffaf0}
.vq figcaption{font:800 .9rem/1 var(--f);text-transform:uppercase;letter-spacing:.18em;color:#e1b768}
.vq-ctrl{display:flex;gap:12px;margin-top:auto;padding-top:24px}
.vq-btn{width:48px;height:48px;border-radius:50%;border:1.5px solid rgba(225,183,104,.6);background:transparent;color:#e1b768;cursor:pointer;display:grid;place-items:center;transition:background .3s,color .3s}
.vq-btn:hover{background:#e1b768;color:#2a1a0e}
.vq-dots{display:flex;flex-direction:column;justify-content:center;gap:10px}
.vq-dot{position:relative;overflow:hidden;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:16px;width:100%;padding:13px 18px;border-radius:20px;border:1px solid rgba(246,234,216,.18);background:rgba(255,250,240,.05);color:#f6ead8;cursor:pointer;text-align:start;font:inherit;transition:background .4s,border-color .4s,transform .4s}
.vq-dot:hover{transform:translateX(-4px)}
.vq-av{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;border:1.5px solid rgba(225,183,104,.55);color:#e1b768;font:800 .8rem/1 var(--f);letter-spacing:.04em;transition:background .4s,color .4s,border-color .4s}
.vq-who b{display:block;font:700 1.05rem/1.2 var(--f);color:inherit}
.vq-who small{font-size:.86rem;opacity:.7}
.vq-dot.on{background:#e1b768;border-color:#e1b768;color:#2a1a0e}
.vq-dot.on .vq-av{background:#2a1a0e;border-color:#2a1a0e;color:#e1b768}
.vq-dot.on .vq-who small{opacity:.85}
.vq-dot::after{content:"";position:absolute;inset-inline-start:0;bottom:0;height:3px;width:0;background:#2a1a0e}
.vq-dot.on::after{animation:vqBar 6s linear forwards}
@keyframes vqBar{from{width:0}to{width:100%}}
.vq-btn:focus-visible,.vq-dot:focus-visible{outline:3px solid #e8b865;outline-offset:3px}
@media(max-width:900px){
  .vq-split{grid-template-columns:minmax(0,1fr)}
  .vq-dots{flex-direction:row;flex-wrap:wrap}
  .vq-dot{width:auto;flex:1 1 220px}
}
@media(max-width:620px){
  .vq p{font-size:clamp(1.9rem,8vw,2.4rem)}
  .vq-dot{flex-basis:100%}
}
@media(prefers-reduced-motion:reduce){.vq-dot.on::after{animation:none;width:100%}}

/* 7 promises: stacking cards */
.os-promises{background:var(--sand2)}
.pr-list{margin-top:50px}
.pr{position:sticky;top:calc(118px + var(--i) * 26px);min-height:clamp(300px,34vw,370px);display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:clamp(20px,4vw,60px);align-items:center;padding:clamp(28px,4vw,56px);border-radius:var(--r);color:#2a1a0e;margin-bottom:26px;box-shadow:0 -12px 40px rgba(90,55,20,.14)}
.pr:nth-child(1){background:#fffdf7;border:1.5px solid rgba(138,90,30,.35)}
.pr:nth-child(2){background:#f5e9d0;border:1.5px solid rgba(138,90,30,.35)}
.pr:nth-child(3){background:#e8b865}
.pr-no{font:800 clamp(4.4rem,9vw,8.4rem)/.8 var(--f);-webkit-text-stroke:1.5px #8a5a1e;color:transparent}
.pr h3{font-size:clamp(1.9rem,4vw,3.4rem);color:#2a1a0e;margin-bottom:14px}
.pr p{font-size:1.08rem;line-height:1.6;max-width:46ch;opacity:.85}
.pr-ico{width:clamp(70px,7vw,100px);height:clamp(70px,7vw,100px);border-radius:50%;display:grid;place-items:center;background:#2a1a0e;color:#e8b865;font-size:clamp(1.6rem,2.6vw,2.3rem)}

/* 8 kitchens: route + cards */
.os-kitchens{background:var(--sand)}
.kt-route{position:relative;height:90px;margin:34px 0 0}
.kt-route svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.kt-route path{fill:none;stroke:#8a5a1e;stroke-width:2.5;stroke-dasharray:1400;stroke-dashoffset:1400;stroke-linecap:round;transition:stroke-dashoffset 2.6s cubic-bezier(.6,0,.2,1) .2s}
.kt-route.in path{stroke-dashoffset:0}
.kt-pin{position:absolute;top:50%;left:var(--x);width:24px;height:24px;translate:-50% -50%;border-radius:50%;background:#e8b865;border:4px solid var(--sand);box-shadow:0 0 0 2px #8a5a1e;transform:scale(0);transition:transform .6s cubic-bezier(.2,.9,.2,1.5) var(--d)}
.kt-route.in .kt-pin{transform:scale(1)}
.kt-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:40px}
.kt-card{position:relative;padding:34px 30px 30px;border-radius:24px;background:#fffdf7;color:#2a1a0e;border:1px solid rgba(138,90,30,.25);transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s}
.kt-card:hover{transform:translateY(-8px);box-shadow:0 26px 50px rgba(90,55,20,.16)}
.kt-no{position:absolute;top:22px;inset-inline-end:26px;font:800 2.6rem/1 var(--f);color:transparent;-webkit-text-stroke:1.2px #8a5a1e}
.kt-card h3{font-size:clamp(1.7rem,2.4vw,2.2rem);color:#2a1a0e;margin-bottom:16px;max-width:9ch}
.kt-card p{display:flex;gap:12px;align-items:flex-start;font-size:1rem;line-height:1.5;opacity:.85;margin-top:10px}
.kt-card p i{color:#8a5a1e;margin-top:4px;flex:none}

/* 9 gallery: asymmetric mosaic */
.os-gallery{background:var(--sand2)}
.gl-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:clamp(130px,14vw,200px);gap:16px;margin-top:50px}
.gl{position:relative;overflow:hidden;border-radius:26px;margin:0}
.gl img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.8,.2,1)}
.gl:hover img{transform:scale(1.08)}
.gl figcaption{position:absolute;inset-inline:0;bottom:0;padding:44px 24px 22px;background:linear-gradient(transparent,rgba(42,26,14,.82));color:#fff8e6;font:800 1.05rem/1.2 var(--f);text-transform:uppercase;letter-spacing:.06em;transform:translateY(10px);transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.gl:hover figcaption{transform:none}
.gl.g1{grid-column:span 5;grid-row:span 2}
.gl.g2{grid-column:span 7}
.gl.g3{grid-column:span 4}
.gl.g4{grid-column:span 3}

/* 10 contact */
.os-contact{background:var(--sand);padding-top:clamp(70px,9vw,120px)}
.ct-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(40px,6vw,100px);align-items:start;margin-top:clamp(50px,6vw,90px)}
.ct-title{font-size:clamp(3.2rem,7vw,7rem)}
.ct-lead{font-size:1.12rem;line-height:1.65;opacity:.8;max-width:42ch;margin:24px 0 26px}
.ct-form{display:grid;grid-template-columns:1fr 1fr;gap:26px 22px}
.fld{display:flex;flex-direction:column;gap:8px;min-width:0}
.fld.full{grid-column:1/-1}
.fld label{font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;font-weight:500;color:var(--brown)}
.fld input,.fld textarea{font:inherit;font-size:1.05rem;color:var(--ink);background:transparent;border:0;border-bottom:1.5px solid rgba(61,40,23,.35);border-radius:0;padding:12px 2px;outline:none;width:100%;resize:vertical;transition:border-color .3s}
.fld input:focus,.fld textarea:focus{border-color:var(--brown)}
.fld.bad input,.fld.bad textarea{border-color:#b5462a}
.fld.ok input,.fld.ok textarea{border-color:#2f8f55}
.err{min-height:1.2em;font-size:.86rem;color:#b5462a}
.ct-submit{justify-self:start;border:0;cursor:pointer;font:500 1.02rem 'DM Sans',sans-serif;grid-column:1/-1}
.ct-ok{display:none;grid-column:1/-1;align-items:center;gap:12px;padding:18px 22px;border-radius:18px;background:#e8b865;color:#2a1a0e;font-weight:500}
.ct-ok.show{display:flex}

/* responsive */
@media(max-width:1023px){
  .ph-grid{grid-template-columns:1fr}
  .ph-art{justify-self:center;max-width:430px}
  .os-cols{grid-template-columns:1fr}
  .os-origin-grid{grid-template-columns:minmax(0,1fr)}
  .os-stage{max-width:540px}
  .os-rcpt-wrap{grid-template-columns:1fr}
  .os-rc-copy{text-align:center}
  .os-stamp{margin-inline:auto}
  .ct-grid{grid-template-columns:1fr}
  .kt-cards{grid-template-columns:1fr 1fr}
  .kt-card:last-child{grid-column:1/-1}
}
@media(min-width:768px) and (max-width:1023px){
  .os-slatrow{height:440px}
}
@media(max-width:767px){
  .os-journey{height:auto}
  .os-jstick{position:static;height:auto;overflow:visible;padding:90px var(--pad) 40px}
  .os-jrail{display:none}
  .os-track{flex-direction:column;width:auto;transform:none!important;gap:22px;padding-inline-end:0}
  .os-stop{width:100%;min-height:0}
  .os-slatrow{flex-direction:column;height:auto}
  .slat{flex:none;height:116px;transition:height .8s cubic-bezier(.7,0,.2,1)}
  .slat.open{flex:none;height:380px}
  .slat-body{inset-inline:22px;bottom:70px}
  .slat-name{inset-inline-start:22px;bottom:20px}
  .slat:not(.open) .slat-name{writing-mode:horizontal-tb;transform:none;top:auto;bottom:24px;inset-inline-end:auto;inset-inline-start:22px}
  .os-stamp{width:116px;height:116px;font-size:.9rem}
  .os-rcpt{padding:34px 22px 46px}
  .kt-route{display:none}
  .kt-cards{grid-template-columns:1fr}
  .kt-card:last-child{grid-column:auto}
  .pr{position:relative;top:auto!important;grid-template-columns:1fr;gap:14px;min-height:0;padding:28px 24px}
  .pr-ico{display:none}
  .pr-no{font-size:3.6rem}
  .ct-form{grid-template-columns:1fr}
  .gl-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:150px}
  .gl.g1{grid-column:span 2;grid-row:span 2}
  .gl.g2{grid-column:span 2}
  .gl.g3,.gl.g4{grid-column:span 1}
  .gl figcaption{transform:none}
  .ph-badge{inset-inline-start:0}
}
@media(prefers-reduced-motion:reduce){
  .ph-arch,.ph-title .ln>span{animation:none}
  .ph-badge svg,.os-voices::before,.page-hero::before{animation:none}
}

/* ===== HOME 2: cinematic, scroll-driven and interactive. Every section has its own composition; surfaces use theme variables ===== */
@keyframes h2Rise{from{transform:translateY(110%) rotate(4deg)}to{transform:none}}
@keyframes h2Marq{to{transform:translateX(-50%)}}
@keyframes h2Bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.h2-h2{font-size:clamp(2.8rem,6.2vw,6.2rem);line-height:.9;color:var(--ink);margin-top:14px}
.h2-h2 i{color:var(--brown)}
.h2-kicker{font-size:.82rem;letter-spacing:.22em;text-transform:uppercase;color:var(--brown);font-weight:500}

/* 1 hero */
.h2-hero{position:relative;height:200vh;background:var(--sand)}
.h2-hero-stick{position:sticky;top:0;height:100vh;overflow:hidden;isolation:isolate;background-color:var(--sand);background-image:radial-gradient(var(--hero-dot,rgba(140,90,54,.16)) 1px,transparent 1.5px),radial-gradient(circle at 68% 52%,var(--hero-glow,#fff),transparent 46%);background-size:26px 26px,auto}
.h2-halo{position:absolute;z-index:0;left:68%;top:52%;width:min(440px,34vmin);aspect-ratio:1;translate:-50% -50%;pointer-events:none}
.h2-halo::before{content:"";position:absolute;inset:6%;border-radius:50%;border:1.5px dashed var(--brown);opacity:.45}
.h2-halo svg{width:100%;height:100%;overflow:visible;direction:ltr;animation:h2Spin 30s linear infinite}
.h2-halo text{font:500 8px 'DM Sans',sans-serif;letter-spacing:.18em;fill:var(--brown);text-transform:uppercase}
@keyframes h2Spin{to{transform:rotate(360deg)}}
.h2-hero-pots{position:absolute;z-index:2;inset-inline-end:var(--pad);top:calc(50% + 40px);translate:0 -50%;width:min(340px,26vw);display:grid;gap:14px;opacity:var(--o,1)}
.h2-pots-label{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--brown);font-weight:500;margin-bottom:2px}
.h2-pot{display:grid;grid-template-columns:64px minmax(0,1fr);gap:14px;align-items:center;padding:12px 18px 12px 12px;border-radius:22px;background:var(--glass);border:1px solid rgba(140,90,54,.18);box-shadow:0 14px 30px rgba(120,70,20,.12);color:var(--ink);transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s}
.h2-pot:nth-of-type(2){margin-inline-start:30px}.h2-pot:nth-of-type(3){margin-inline-start:12px}
.h2-pot:hover{transform:translateX(-8px);box-shadow:0 22px 40px rgba(120,70,20,.2)}
.h2-pot img{width:64px;height:64px;border-radius:50%;object-fit:cover;border:3px solid #fff;box-shadow:0 0 0 2px var(--brown)}
.h2-pot h3{font:800 1rem/1.1 var(--f);text-transform:uppercase;letter-spacing:-.01em;color:var(--ink)}
.h2-pot p{font-size:.84rem;line-height:1.4;opacity:.8;margin-top:4px}
.h2-pots-more{justify-self:start;margin-top:6px}
@media(max-width:1023px){.h2-hero-pots{display:none}}
.h2-kicker .h2-live{display:inline-block;width:8px;height:8px;border-radius:50%;background:#2e9e5b;margin-right:10px;vertical-align:middle;box-shadow:0 0 0 0 rgba(46,158,91,.6);animation:h2Live 2s ease-out infinite}
@keyframes h2Live{to{box-shadow:0 0 0 10px rgba(46,158,91,0)}}
.h2-hero-stats{display:flex;flex-wrap:wrap;list-style:none;margin:30px 0 0;padding:0;opacity:var(--o,1)}
.h2-hero-stats li{padding:0 clamp(14px,2.4vw,30px);border-inline-start:1px solid rgba(140,90,54,.3)}
.h2-hero-stats li:first-child{padding-inline-start:0;border-inline-start:0}
.h2-hero-stats b{display:flex;align-items:center;gap:6px;font:800 clamp(1.6rem,2.4vw,2.2rem)/1 var(--f);letter-spacing:-.03em}
.h2-hero-stats b i{font-size:.55em;color:var(--brown);font-style:normal}
.h2-hero-stats span{display:block;margin-top:6px;font-size:.78rem;letter-spacing:.04em;opacity:.75}
.h2-hero-bg{--cx:68%;--cy:52%;--r:12vmin;--s:1.25;position:absolute;inset:0;z-index:0;clip-path:circle(var(--r) at var(--cx) var(--cy));will-change:clip-path}
.h2-hero-bg img{width:100%;height:100%;object-fit:cover;transform:scale(var(--s));transition:transform .2s linear}
.h2-hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(42,26,14,.25),transparent 60%)}
.h2-hero-copy{--o:1;position:absolute;z-index:2;inset-inline-start:var(--pad);top:calc(50% + 40px);translate:0 -50%;width:min(600px,46vw);opacity:var(--o)}
.h2-hero-title{font-size:clamp(4.2rem,11vw,12rem);line-height:.82;color:var(--ink);margin:18px 0 28px}
.h2-line{display:block;overflow:hidden;padding-bottom:.06em;padding-inline-end:.12em}
.h2-line>span{display:inline-block;animation:h2Rise 1.1s cubic-bezier(.2,.8,.2,1) var(--d,0ms) both}
.outline{color:transparent;-webkit-text-stroke:2px var(--brown)}
.h2-hero-sub{font-size:1.15rem;max-width:36ch;opacity:.82}
.h2-hero-cta{display:flex;gap:28px;align-items:center;flex-wrap:wrap;margin-top:34px}
.h2-scroll{position:absolute;z-index:2;bottom:30px;inset-inline-start:var(--pad);display:flex;align-items:center;gap:14px;font-size:.76rem;letter-spacing:.2em;text-transform:uppercase;opacity:var(--o)}
.h2-scroll span{width:64px;height:1px;background:currentColor;position:relative;overflow:hidden}
.h2-scroll span::after{content:"";position:absolute;inset:0;background:var(--brown);animation:h2Sweep 2.2s ease-in-out infinite}
@keyframes h2Sweep{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}

/* 2 kinetic type */
.h2-kinetic{position:relative;overflow:hidden;background:var(--sand2);padding:clamp(56px,7vw,100px) 0;transform:skewY(-2deg);margin-block:clamp(10px,2vw,30px);display:grid;gap:clamp(14px,2vw,26px)}
.h2-kx{will-change:transform}
.h2-kx-track{display:flex;align-items:center;gap:.4em;width:max-content;white-space:nowrap;font:800 clamp(3.6rem,10vw,9.5rem)/1 var(--f);text-transform:uppercase;letter-spacing:-.02em;animation:h2Marq 46s linear infinite}
.h2-kx.r2 .h2-kx-track{animation-duration:58s;animation-direction:reverse}
.h2-kx.r1 .h2-kx-track{color:transparent;-webkit-text-stroke:1.5px var(--brown)}
.h2-kx.r2 .h2-kx-track{color:var(--ink)}
.h2-kx .dot{font-size:.22em;color:var(--brown);margin-inline:.3em}
.h2-kx img{width:clamp(96px,12vw,180px);height:clamp(56px,7vw,100px);object-fit:cover;border-radius:999px;margin-inline:.25em;flex:none}

/* 3 craft wheel */
.h2-craft{background:var(--sand);padding:clamp(90px,10vw,150px) var(--pad)}
.h2-craft-head{max-width:1400px;margin:0 auto}
.h2-wheel-wrap{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:clamp(30px,5vw,90px);max-width:1400px;margin:clamp(40px,6vw,80px) auto 0}
.h2-wheel{--R:clamp(120px,22vw,205px);--w:0deg;position:relative;width:calc(var(--R) * 2 + 120px);aspect-ratio:1;margin-inline:auto;transform:rotate(var(--w));transition:transform 1s cubic-bezier(.7,0,.2,1)}
.h2-wheel-ring{position:absolute;inset:60px;border-radius:50%;border:1.5px dashed rgba(138,90,30,.45);animation:h2Spin 60s linear infinite}
@keyframes h2Spin{to{transform:rotate(360deg)}}
.h2-core{position:absolute;top:50%;left:50%;translate:-50% -50%;width:calc(var(--R) * 1.05);aspect-ratio:1;border-radius:50%;background:var(--sand2);box-shadow:0 26px 60px rgba(90,55,20,.2);display:grid;place-content:center;text-align:center;padding:clamp(18px,3vw,32px);transform:rotate(calc(var(--w) * -1));transition:transform 1s cubic-bezier(.7,0,.2,1)}
.h2-core-no{font:800 .9rem/1 var(--f);letter-spacing:.2em;color:var(--brown)}
.h2-core h3{font-size:clamp(1.6rem,2.8vw,2.4rem);margin:10px 0 10px;color:var(--ink)}
.h2-core p{font-size:.95rem;line-height:1.5;opacity:.82;max-width:24ch;margin-inline:auto;transition:opacity .4s}
.h2-spoke{position:absolute;left:50%;top:50%;width:92px;height:92px;margin:-46px;border-radius:50%;border:1.5px solid rgba(138,90,30,.45);background:var(--sand);color:var(--ink);cursor:pointer;padding:0;transform:rotate(var(--a)) translateY(calc(var(--R) * -1));transition:background .5s,box-shadow .5s,color .5s}
.h2-spoke .sp-in{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:4px;transform:rotate(calc((var(--w) + var(--a)) * -1));transition:transform 1s cubic-bezier(.7,0,.2,1)}
.h2-spoke i{font-size:1.2rem;color:var(--brown)}
.h2-spoke b{font:500 .72rem/1 'DM Sans',sans-serif;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.h2-spoke.is-active{background:#e8b865;color:#2a1a0e;box-shadow:0 0 0 8px rgba(232,184,101,.25),0 18px 40px rgba(201,150,69,.4)}
.h2-spoke.is-active i{color:#2a1a0e}
.h2-spoke:focus-visible{outline:3px solid #e8b865;outline-offset:4px}
.h2-spoke:hover{box-shadow:0 14px 30px rgba(90,55,20,.2)}
.h2-craft-lead{font-size:clamp(1.2rem,2vw,1.5rem);line-height:1.5;max-width:30ch}
.h2-craft-hint{margin-top:26px;display:inline-flex;gap:10px;align-items:center;font-size:.85rem;letter-spacing:.14em;text-transform:uppercase;color:var(--brown);animation:h2Bob 2.6s ease-in-out infinite}

/* 4 frames: diagonal, wipe-in photographs */
.h2-frames{background:var(--sand2);padding:clamp(90px,10vw,150px) var(--pad);overflow:hidden}
.h2-frames-head{max-width:1400px;margin:0 auto}
.h2-frames-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(16px,2.5vw,36px);align-items:start;max-width:1400px;margin:clamp(40px,6vw,80px) auto 0}
.h2-frame{margin:0;transform:translateY(var(--py,0px));transition:transform .2s linear}
.h2-frame.f1{grid-column:1/7}
.h2-frame.f2{grid-column:8/13;margin-top:clamp(90px,14vw,200px)}
.h2-frame.f3{grid-column:3/10;margin-top:clamp(-40px,-3vw,-20px)}
.h2-frame-img{position:relative;overflow:hidden;background:var(--sand);aspect-ratio:4/5;clip-path:inset(100% 0 0 0);transition:clip-path 1.5s cubic-bezier(.7,0,.2,1)}
.h2-frame.f1 .h2-frame-img{border-radius:240px 240px 24px 24px;aspect-ratio:4/5}
.h2-frame.f2 .h2-frame-img{border-radius:24px 24px 240px 240px;aspect-ratio:3/4}
.h2-frame.f3 .h2-frame-img{border-radius:18px;aspect-ratio:16/10}
.h2-frame.in .h2-frame-img{clip-path:inset(0 0 0 0)}
.h2-frame-img img{width:100%;height:100%;object-fit:cover;transform:scale(1.35);transition:transform 2s cubic-bezier(.2,.8,.2,1) .2s}
.h2-frame.in .h2-frame-img img{transform:scale(1)}
.h2-frame figcaption{display:flex;justify-content:space-between;margin-top:14px;font-size:.84rem;letter-spacing:.16em;text-transform:uppercase;color:var(--brown)}

/* 5 fan */
.h2-fan-sec{background:var(--sand);padding:clamp(90px,10vw,150px) var(--pad) clamp(70px,8vw,120px);overflow:hidden;text-align:center}
.h2-fan-head{max-width:1400px;margin:0 auto;text-align:start}
.h2-fan-stage{position:relative;height:clamp(440px,46vw,540px);margin:clamp(30px,4vw,60px) auto 0;max-width:1100px;display:flex;justify-content:center;align-items:center}
.h2-fc{position:absolute;left:50%;top:50%;width:clamp(180px,19vw,250px);aspect-ratio:3/4;border-radius:28px;overflow:hidden;border:0;padding:0;cursor:pointer;background:var(--sand2);box-shadow:0 28px 60px rgba(90,55,20,.25);transform:translate(calc(-50% + var(--sx,0px)),-50%) rotate(var(--rot)) translateY(0);transition:transform .9s cubic-bezier(.2,.8,.2,1),box-shadow .6s,filter .6s;filter:saturate(.8)}
.h2-fc img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s}
.h2-fc:hover img{transform:scale(1.06)}
.h2-fc .lbl{position:absolute;left:14px;right:14px;bottom:14px;background:#fffaf0;color:#2a1a0e;border-radius:16px;padding:12px 14px;font:800 .95rem/1.1 var(--f);text-transform:uppercase;letter-spacing:.03em}
.h2-fan-stage:hover .h2-fc{transform:translate(calc(-50% + var(--sx,0px)),-50%) rotate(calc(var(--rot) * 1.2))}
.h2-fc.on{z-index:5;transform:translate(-50%,-50%) translateY(-18px) rotate(0deg) scale(1.06);box-shadow:0 40px 80px rgba(90,55,20,.35);filter:none}
.h2-fan-stage:hover .h2-fc.on{transform:translate(-50%,-50%) translateY(-18px) scale(1.06)}
.h2-fc:focus-visible{outline:3px solid #e8b865;outline-offset:6px}
.h2-fan-info{margin-top:clamp(20px,3vw,40px);display:grid;gap:10px;justify-items:center;min-height:160px}
.h2-fan-info h3{font-size:clamp(2.2rem,4.4vw,3.8rem);color:var(--ink);transition:opacity .4s}
.h2-fan-info p{font-size:1.08rem;opacity:.8;max-width:44ch}
.h2-fan-info b{font:800 1.8rem/1 var(--f);color:var(--brown)}

/* 6 order builder */
.h2-order{background:var(--sand2);padding:clamp(90px,10vw,150px) var(--pad)}
.h2-order-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(40px,6vw,110px);align-items:start;max-width:1400px;margin:0 auto}
.h2-order-lead{font-size:1.12rem;line-height:1.6;opacity:.8;max-width:40ch;margin-top:24px}
.h2-builder{display:grid;gap:28px;border-top:1.5px solid var(--ink);padding-top:34px}
.h2-dish{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:10px;min-width:0}
.h2-dish legend{font:500 .8rem/1 var(--f);letter-spacing:.16em;text-transform:uppercase;color:var(--brown);margin-bottom:14px;padding:0}
.h2-opt{position:relative;cursor:pointer}
.h2-opt input{position:absolute;opacity:0;pointer-events:none}
.h2-opt span{display:inline-flex;align-items:center;gap:10px;padding:14px 20px;border-radius:60px;border:1.5px solid var(--ink);color:var(--ink);font-weight:500;transition:background .35s,color .35s,transform .35s}
.h2-opt span i{color:var(--brown);transition:color .35s}
.h2-opt:hover span{transform:translateY(-3px)}
.h2-opt input:checked+span{background:var(--ink);color:var(--sand)}
.h2-opt input:checked+span i{color:#e8b865}
.h2-opt input:focus-visible+span{outline:3px solid #e8b865;outline-offset:3px}
.h2-qty{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.h2-qty label{font:500 .8rem/1 var(--f);letter-spacing:.16em;text-transform:uppercase;color:var(--brown);width:100%}
.h2-qty button{width:52px;height:52px;border-radius:50%;border:1.5px solid var(--ink);background:transparent;color:var(--ink);cursor:pointer;display:grid;place-items:center;transition:background .3s,color .3s}
.h2-qty button:hover{background:var(--ink);color:var(--sand)}
.h2-qty input{width:110px;text-align:center;font:800 2rem/1 var(--f);background:transparent;color:var(--ink);border:0;border-bottom:1.5px solid var(--ink);padding:8px 4px;outline:none;-moz-appearance:textfield}
.h2-qty input::-webkit-outer-spin-button,.h2-qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.h2-qty input.bad{border-bottom-color:#b5462a;color:#b5462a}
.err{display:block;min-height:1.2em;font-size:.86rem;color:#b5462a}
.h2-total{display:flex;justify-content:space-between;align-items:baseline;gap:16px;border-top:1px solid rgba(61,40,23,.2);padding-top:22px}
.h2-total span{font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;opacity:.7}
.h2-total b{font:800 clamp(2.4rem,4vw,3.4rem)/1 var(--f);color:var(--ink);font-variant-numeric:tabular-nums;transition:color .3s}
.h2-send{justify-self:start;border:0;cursor:pointer;font:500 1.02rem 'DM Sans',sans-serif;display:inline-flex;align-items:center;gap:12px}

/* 7 voices: draggable */
.h2-voices{background:var(--sand);padding:clamp(90px,10vw,150px) 0;overflow:hidden}
.h2-vhead{display:flex;justify-content:space-between;align-items:center;padding-inline:var(--pad);max-width:none;margin-bottom:clamp(30px,4vw,56px)}
.h2-drag-hint{font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:var(--brown);display:inline-flex;gap:10px;align-items:center}
.h2-vtrack{display:flex;gap:clamp(30px,5vw,80px);overflow-x:auto;scroll-snap-type:x mandatory;padding-inline:var(--pad);scrollbar-width:none;cursor:grab;user-select:none}
.h2-vtrack::-webkit-scrollbar{display:none}
.h2-vtrack.dragging{cursor:grabbing;scroll-snap-type:none}
.h2-vtrack.dragging .h2-v{pointer-events:none}
.h2-v{flex:0 0 min(680px,80vw);scroll-snap-align:start;margin:0;border-top:2px solid var(--ink);padding-top:30px;display:grid;gap:24px;align-content:start}
.h2-v .stars{color:#c99645;letter-spacing:.3em;font-size:.95rem}
.h2-v p{font:400 clamp(2.1rem,4vw,3.4rem)/1.14 var(--s);color:var(--ink)}
.h2-v figcaption{font:800 .9rem/1 var(--f);text-transform:uppercase;letter-spacing:.16em;color:var(--brown)}

/* 8 visit */
.h2-dum{background:var(--sand2);padding:clamp(80px,9vw,140px) var(--pad)}
.h2-dum-wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,6vw,110px);align-items:start;max-width:1400px;margin:0 auto}
.h2-dum-stage{position:sticky;top:110px;height:min(78vh,720px);border-radius:var(--r);overflow:hidden;background:var(--ink);box-shadow:0 40px 80px rgba(90,55,20,.25)}
.h2-dum-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.1);transition:opacity .9s ease,transform 1.8s cubic-bezier(.2,.7,.2,1)}
.h2-dum-stage img.on{opacity:1;transform:scale(1)}
.h2-dum-stage::after{content:"";position:absolute;inset:auto 0 0 0;height:50%;background:linear-gradient(transparent,rgba(20,12,6,.78));pointer-events:none;z-index:1}
.h2-dum-count{position:absolute;top:22px;inset-inline-start:24px;z-index:2;color:var(--sand);letter-spacing:.18em;font-size:.82rem}
.h2-dum-cap{position:absolute;inset-inline-start:24px;bottom:22px;z-index:2;margin:0;color:#fff;font-family:var(--s);font-style:italic;font-size:clamp(2.2rem,4vw,3.4rem);line-height:1}
.h2-dum-steps{list-style:none;display:grid;padding:0;margin:26px 0 0}
.h2-dum-step{display:grid;grid-template-columns:auto 1fr;gap:18px;padding:20px 0;border-top:1px solid rgba(72,44,22,.15);opacity:.42;transition:opacity .5s ease,transform .5s ease}
.h2-dum-step.is-active{opacity:1;transform:translateX(10px)}
.h2-dum-step .n{font-size:1rem;letter-spacing:.12em;color:var(--brown);padding-top:6px}
.h2-dum-step h3{font-size:1.5rem;margin:0 0 6px}
.h2-dum-step p{margin:0}
.h2-dum-step b{display:inline-block;margin-top:10px;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--brown)}
.h2-dum-bar{height:3px;background:rgba(72,44,22,.15);border-radius:3px;overflow:hidden;margin-top:24px}
.h2-dum-bar span{display:block;height:100%;width:0;background:linear-gradient(90deg,#c99645,var(--brown))}
.h2-dum-cta{display:flex;flex-wrap:wrap;gap:16px 28px;align-items:center;margin-top:30px}
.h2-dum-wa{display:inline-flex;align-items:center;gap:12px;font-size:1.02rem}
.h2-dum-wa i{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:var(--sand)}
.h2-dum-wa:hover{color:var(--brown)}
@media(max-width:900px){.h2-dum-wrap{grid-template-columns:1fr}.h2-dum-stage{position:relative;top:auto;height:62vw;min-height:280px}}
@media(prefers-reduced-motion:reduce){.h2-dum-stage img,.h2-dum-step{transition:none}}

/* 9 join */
.h2-join{padding:clamp(90px,10vw,150px) var(--pad);background:radial-gradient(circle at 85% 0%,rgba(225,183,104,.45),transparent 55%),radial-gradient(circle at 0% 100%,rgba(140,90,54,.25),transparent 50%),var(--sand2)}
.h2-join-card{position:relative;overflow:hidden;max-width:1120px;margin:0 auto;background:var(--sand);border-radius:var(--r);padding:clamp(36px,6vw,84px);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(30px,5vw,80px);align-items:center;box-shadow:0 50px 100px rgba(90,55,20,.2),0 0 0 1px rgba(72,44,22,.06)}
.h2-join-card::before{content:"";position:absolute;inset:0 0 auto 0;height:6px;background:linear-gradient(90deg,#c99645,var(--gold),var(--brown))}
.h2-join-copy p:not(.eyebrow){margin:20px 0 0;max-width:42ch;color:var(--brown);font-size:1.08rem}
.h2-join-side{display:grid;gap:14px;justify-items:start}
.h2-join-form{display:grid;gap:26px;justify-items:start;width:100%}
.h2-join-field{width:100%;display:flex;align-items:center;gap:14px;border-bottom:2px solid var(--ink);padding-bottom:4px}
.h2-join-field>i{color:var(--brown);font-size:1.1rem}
.h2-join-field input{flex:1;min-width:0;font:inherit;font-size:clamp(1.1rem,2vw,1.5rem);background:transparent;color:var(--ink);border:0;padding:14px 0;outline:none}
.h2-join-field input::placeholder{color:var(--brown);opacity:.65}
.h2-join-field:focus-within{border-color:var(--brown)}
.h2-join-field:has(input.bad){border-color:#b5462a}
.h2-join-field input.bad{color:#b5462a}
.h2-seal{position:relative;width:118px;height:118px;border-radius:50%;border:0;cursor:pointer;display:grid;place-items:center;color:#ffe9c4;font-family:var(--s);font-size:2.6rem;line-height:1;background:radial-gradient(circle at 34% 28%,#c8664a,#8a3320 62%,#5e2214);box-shadow:inset 0 -8px 16px rgba(0,0,0,.35),inset 0 6px 12px rgba(255,220,190,.22),0 20px 34px rgba(90,30,15,.38);transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.h2-seal::before{content:"";position:absolute;inset:12px;border-radius:50%;border:2px dashed rgba(255,226,180,.5)}
.h2-seal:hover{transform:rotate(-9deg) scale(1.05)}
.h2-seal:focus-visible{outline:3px solid var(--gold);outline-offset:6px}
.h2-join-card.sent .h2-seal{animation:sealPress .9s cubic-bezier(.3,1.4,.5,1) forwards;pointer-events:none}
.h2-join-card.sent .h2-join-field{opacity:.45}
@keyframes sealPress{0%{transform:scale(1.25) rotate(0)}55%{transform:scale(.9) rotate(-6deg)}100%{transform:scale(1) rotate(-4deg)}}
.h2-join-side .err{min-height:1em}
.h2-join-ok{display:none;align-items:center;gap:12px;padding:16px 20px;border-radius:18px;background:#e8b865;color:#2a1a0e;font-weight:500;width:fit-content}
.h2-join-ok.show{display:inline-flex}
@media(max-width:900px){.h2-join-card{grid-template-columns:1fr}.h2-join-side{justify-items:stretch}.h2-seal{justify-self:start}}
@media(prefers-reduced-motion:reduce){.h2-seal,.h2-join-card.sent .h2-seal{transition:none;animation:none}}

/* responsive */
@media(max-width:1023px){
  .h2-hero-copy{width:min(560px,58vw)}
  .h2-wheel-wrap{grid-template-columns:1fr}
  .h2-craft-side{text-align:center}
  .h2-frame.f1,.h2-frame.f2,.h2-frame.f3{grid-column:span 6}
  .h2-frame.f2{margin-top:clamp(60px,8vw,110px)}
  .h2-frame.f3{grid-column:span 12;margin-top:0}
  .h2-order-grid{grid-template-columns:1fr}
}
@media(max-width:767px){
  .h2-hero{height:180vh}
  .h2-hero-bg{--cx:50%;--cy:80%}
  .h2-halo{display:none}
  .h2-hero-stats{margin-top:22px}
  .h2-hero-stats li:first-child{padding-inline-start:0}
  .h2-hero-copy{top:104px;bottom:auto;inset-inline:var(--pad);width:auto;translate:none}
  .h2-hero-sub{font-size:1.02rem}
  .h2-hero-cta{margin-top:22px}
  .h2-hero-title{font-size:clamp(4rem,19vw,6rem)}
  .h2-scroll{bottom:22px}
  .h2-kinetic{transform:none}
  .h2-wheel{--R:110px;width:calc(var(--R) * 2 + 80px)}
  .h2-spoke{width:68px;height:68px;margin:-34px}
  .h2-spoke b{font-size:.56rem}
  .h2-spoke i{font-size:.95rem}
  .h2-core{width:calc(var(--R) * 1.45);padding:14px}
  .h2-core h3{font-size:1.25rem;margin:6px 0}
  .h2-core p{font-size:.74rem;line-height:1.35}
  .h2-craft-side{max-width:100%}
  .h2-craft-lead{max-width:none;font-size:1.1rem}
  .h2-frames-grid{grid-template-columns:1fr;gap:70px}
  .h2-frame.f1,.h2-frame.f2,.h2-frame.f3{grid-column:auto;margin-top:0}
  .h2-frame-img{aspect-ratio:4/5!important}
  .h2-fan-stage{height:auto;display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;justify-content:flex-start;padding:10px var(--pad) 24px;scrollbar-width:none}
  .h2-fan-stage::-webkit-scrollbar{display:none}
  .h2-fc{position:relative;left:auto;top:auto;flex:0 0 68vw;width:auto;transform:none!important;scroll-snap-align:center}
  .h2-fc.on{transform:translateY(-8px)!important}
  .h2-qty input{width:96px}
  .h2-vhead .h2-drag-hint{display:none}
}
@media(max-width:520px){
  .h2-hero-stats{flex-wrap:nowrap}.h2-hero-stats li{padding:0 10px}.h2-hero-stats b{font-size:1.35rem}.h2-hero-stats span{font-size:.66rem}
}
@media(prefers-reduced-motion:reduce){
  .h2-kx-track,.h2-wheel-ring,.h2-craft-hint,.h2-scroll span::after,.h2-line>span{animation:none!important}
}

/* ===================== MENU PAGE (pages/menu.html). Every rule is scoped to .mn-* ===================== */
.mn-page{overflow:clip;background:var(--sand);color:var(--ink)}
.mn-sec{position:relative;padding:clamp(70px,9vw,140px) var(--pad);isolation:isolate;overflow:hidden}
.mn-eyebrow{font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;color:var(--brown);font-weight:500;margin-bottom:14px}
.mn-h2{font-size:clamp(2.6rem,6vw,6rem);line-height:.9;color:var(--ink);margin-bottom:clamp(30px,4vw,56px)}
.mn-head{display:flex;flex-direction:column;align-items:flex-start}
.mn-page :is(h1,h2,h3,.mn-quote,.mn-chef-name) i{font-family:var(--s);font-style:italic;font-weight:400;text-transform:none;color:var(--brown)}
.mn-page i.fa-solid,.mn-page i[class*="fa-"]{font-family:"Font Awesome 6 Free"!important;font-style:normal;font-weight:900}
.mn-page [hidden]{display:none!important}

/* 1 hero */
.mn-hero{--hero-glow:#fff;--hero-dot:rgba(140,90,54,.17);position:relative;isolation:isolate;min-height:100vh;min-height:100svh;display:flex;align-items:center;padding:clamp(120px,16vh,160px) var(--pad) clamp(90px,12vh,120px);overflow:hidden;background:radial-gradient(circle at 78% 42%,var(--hero-glow),var(--sand) 55%,var(--sand2))}
.mn-hero::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background-image:radial-gradient(var(--hero-dot) 1px,transparent 1.5px);background-size:26px 26px;-webkit-mask-image:radial-gradient(ellipse at 72% 46%,#000 10%,transparent 68%);mask-image:radial-gradient(ellipse at 72% 46%,#000 10%,transparent 68%)}
.mn-hero-word{position:absolute;z-index:0;inset-inline-start:-1vw;bottom:-5vw;font:800 clamp(9rem,30vw,30rem)/.8 var(--f);letter-spacing:-.04em;text-transform:uppercase;color:transparent;-webkit-text-stroke:1px rgba(140,90,54,.2);white-space:nowrap;pointer-events:none;user-select:none}
.mn-hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);gap:clamp(28px,4vw,72px);align-items:center;width:100%;max-width:1440px;margin-inline:auto}
.mn-hero-copy{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.mn-tag{display:inline-flex;align-items:center;gap:12px;margin:0 0 22px;padding:9px 18px 9px 14px;border-radius:60px;background:var(--glass);border:1px solid rgba(140,90,54,.25);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;font-weight:500;opacity:1;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.mn-tag .live{position:relative;flex:none;width:9px;height:9px;border-radius:50%;background:#2e9e5b}
.mn-tag .live::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:2px solid #2e9e5b;animation:mnLive 2s ease-out infinite}
@keyframes mnLive{from{transform:scale(.45);opacity:.9}to{transform:scale(1.7);opacity:0}}
.mn-mega{font-size:clamp(3.2rem,8vw,9.8rem);line-height:.84;margin:0;width:100%;text-transform:uppercase;letter-spacing:-.03em;color:var(--ink)}
.mn-mega .ln{display:block;overflow:hidden;padding:.04em 0}
.mn-mega .ln>span{display:block}
.mn-mega .o{background:linear-gradient(100deg,#a8741f,#e3b95f 50%,#8c5a36);-webkit-background-clip:text;background-clip:text;color:transparent}
.mn-lead{max-width:470px;font-size:clamp(1rem,1.15vw,1.12rem);opacity:.85;margin:24px 0 30px}
.mn-jump{display:flex;flex-wrap:wrap;gap:10px;list-style:none}
.mn-jump a{display:inline-flex;align-items:center;gap:9px;padding:9px 16px;border-radius:60px;border:1px solid rgba(140,90,54,.3);background:var(--glass);font-size:.86rem;color:var(--ink);transition:background .3s,color .3s,transform .3s}
.mn-jump a i{color:var(--brown);font-size:.85rem;transition:color .3s}
.mn-jump a:hover{background:var(--gold);color:var(--ink);transform:translateY(-3px)}
.mn-jump a:hover i{color:var(--ink)}
.mn-art{position:relative;width:100%;justify-self:stretch;align-self:stretch;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.9fr);grid-template-rows:minmax(260px,1fr) minmax(200px,1fr) auto;grid-template-areas:"hero b" "hero c" "stats stats";gap:clamp(12px,1.3vw,18px)}
.mn-tile{margin:0;position:relative;min-height:0;overflow:hidden;border-radius:32px;border:6px solid #fff;box-shadow:0 26px 56px rgba(150,90,30,.22);will-change:transform}
.mn-tile img{width:100%;height:100%;object-fit:cover;display:block}
.mn-tile-hero{grid-area:hero;border-radius:32px;box-shadow:0 26px 56px rgba(150,90,30,.22)}
.mn-tile-b{grid-area:b}
.mn-tile-c{grid-area:c}
.mn-art img,.mn-pan-img img,.mn-tall .im img,.mn-chef-a img,.mn-chef-b img,.mn-cat img,.mn-float img{width:100%;height:100%;object-fit:cover;display:block}
.mn-art-tag{position:absolute;z-index:3;inset-inline-end:-39px;top:-48px;width:clamp(92px,9vw,112px);aspect-ratio:1;border-radius:50%;background:var(--gold);color:var(--ink);display:grid;place-content:center;justify-items:center;gap:4px;text-align:center;font:800 .78rem/1.05 var(--f);text-transform:uppercase;transform:rotate(-10deg);animation:mnBob 6s ease-in-out infinite}
.mn-art-tag i{font-size:.95rem}
@keyframes mnBob{0%,100%{transform:rotate(-10deg) translateY(0)}50%{transform:rotate(-6deg) translateY(-8px)}}
.mn-art-ring{position:absolute;inset:-6%;width:112%;height:112%;overflow:visible;animation:mnSpin 40s linear infinite;pointer-events:none}
.mn-art-ring text{font:500 8.5px 'DM Sans',sans-serif;letter-spacing:.22em;fill:var(--brown);direction:ltr}
@keyframes mnSpin{to{transform:rotate(360deg)}}
.mn-scroll{position:absolute;z-index:3;bottom:clamp(18px,3vh,30px);inset-inline-start:var(--pad);display:flex;align-items:center;gap:12px;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);opacity:.75}
.mn-scroll i{color:var(--brown);animation:mnBob2 2.2s ease-in-out infinite}
@keyframes mnBob2{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}

/* 2 pinned horizontal gallery */
.mn-biryani{background:var(--sand)}
.mn-hgal-wrap{position:relative;overflow:clip}
.mn-hgal{display:flex;gap:clamp(20px,3vw,44px);align-items:flex-start;padding-block:10px 24px}
.mn-pan{flex:none;width:clamp(260px,30vw,420px);position:relative;display:flex;flex-direction:column;gap:16px}
.mn-pan-no{font:800 clamp(4.4rem,8vw,7.6rem)/.8 var(--f);color:transparent;-webkit-text-stroke:1.5px var(--brown);margin-bottom:-.1em;transition:color .5s}
.mn-pan:hover .mn-pan-no{color:var(--brown)}
.mn-pan-img{position:relative;aspect-ratio:4/5;border-radius:var(--r);overflow:hidden;background:var(--sand2);box-shadow:0 26px 50px rgba(120,70,20,.16)}
.mn-pan-img img{transition:transform 1.2s cubic-bezier(.2,.8,.2,1)}
.mn-pan:hover .mn-pan-img img{transform:scale(1.08)}
.mn-meta{display:flex;gap:14px;align-items:center;font-size:.82rem;color:var(--brown)}
.mn-pan h3{font-size:clamp(1.7rem,2.6vw,2.5rem);color:var(--ink)}
.mn-pan p{opacity:.8;max-width:34ch;font-size:.95rem}
.mn-pan-end{justify-content:center;max-width:340px;padding:30px;border-radius:var(--r);background:var(--sand2);align-self:stretch;width:clamp(260px,26vw,360px);min-height:460px;border:1px dashed rgba(140,90,54,.4)}
.mn-pan-end h3{font-size:clamp(1.9rem,3vw,2.8rem)}
.mn-spice{display:inline-flex;gap:4px}
.mn-spice i{font-size:.8rem;color:var(--brown);opacity:.25}
.mn-spice i.on{opacity:1}
.mn-add{display:inline-flex;align-items:center;gap:10px;align-self:flex-start;padding:12px 22px;border-radius:60px;border:1.5px solid var(--ink);background:transparent;color:var(--ink);font:500 .95rem 'DM Sans',sans-serif;cursor:pointer;transition:background .35s,color .35s,transform .35s,border-color .35s}
.mn-add i{font-size:.85rem;transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.mn-add:hover{background:var(--ink);color:var(--sand);transform:translateY(-2px)}
.mn-add:focus-visible,.mn-chip input:focus-visible+span,.mn-seg button:focus-visible,.mn-jump a:focus-visible,.mn-cat:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.mn-add[aria-pressed="true"]{background:var(--gold);border-color:var(--gold);color:var(--ink)}
.mn-add[aria-pressed="true"] i{transform:rotate(360deg)}

/* 3 mosaic categories */
.mn-cats{background:var(--sand2)}
.mn-mosaic{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(3,minmax(170px,auto));gap:clamp(12px,1.6vw,22px);grid-template-areas:"a a b c" "a a d c" "e f f f"}
.mn-cat{position:relative;overflow:hidden;isolation:isolate;border-radius:var(--r);padding:clamp(18px,2.4vw,30px);display:flex;flex-direction:column;justify-content:space-between;gap:20px;background:var(--sand);color:var(--ink);transition:transform .6s cubic-bezier(.2,.8,.2,1),box-shadow .6s;box-shadow:0 18px 40px rgba(120,70,20,.1)}
.mn-cat:hover{transform:translateY(-6px);box-shadow:0 28px 56px rgba(120,70,20,.2)}
.mn-cat>img{position:absolute;inset:0;z-index:-2;opacity:0;transform:scale(1.15);transition:opacity .6s,transform 1.4s cubic-bezier(.2,.8,.2,1)}
.mn-cat::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(42,26,14,.1) 20%,rgba(42,26,14,.82));opacity:0;transition:opacity .6s}
.mn-cat:hover>img{opacity:1;transform:scale(1)}
.mn-cat:hover::after{opacity:1}
.mn-cat:hover,.mn-cat:hover .mn-cat-name,.mn-cat:hover .mn-cat-n{color:#fff}
.mn-cat-ico{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:var(--ink);font-size:1.05rem;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.mn-cat:hover .mn-cat-ico{transform:rotate(-12deg) scale(1.08)}
.mn-cat>span:last-child{display:flex;flex-direction:column;gap:6px}
.mn-cat-name{font:800 clamp(1.4rem,2.4vw,2.4rem)/1 var(--f);text-transform:uppercase;letter-spacing:-.01em}
.mn-cat-n{font-size:.85rem;opacity:.8}
.mn-cat.c-a{grid-area:a;background:var(--brown);color:var(--sand)}
.mn-cat.c-a .mn-cat-ico{background:var(--sand);color:var(--brown)}
.mn-cat.c-a .mn-cat-name{font-size:clamp(2.4rem,5vw,5rem)}
.mn-cat.c-e .mn-cat-name{font-size:clamp(1.2rem,1.7vw,1.7rem)}
.mn-cat.c-a:hover .mn-cat-name,.mn-cat.c-a:hover .mn-cat-n{color:#fff}
.mn-cat.c-b{grid-area:b}.mn-cat.c-c{grid-area:c;background:var(--gold);color:var(--ink)}
.mn-cat.c-c:hover .mn-cat-name,.mn-cat.c-c:hover .mn-cat-n{color:#fff}
.mn-cat.c-d{grid-area:d}.mn-cat.c-e{grid-area:e;flex-direction:row;align-items:flex-end;justify-content:flex-start}
.mn-cat.c-e>span:last-child{flex:1}
.mn-cat.c-f{grid-area:f;flex-direction:row;align-items:flex-end}
.mn-cat.c-f>span:last-child{flex:1}

/* 4 chef's special */
.mn-chef{background:var(--sand)}
.mn-chef-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(34px,5vw,90px);align-items:center}
.mn-page blockquote.mn-quote,.mn-page blockquote.mn-quote:nth-child(even){background:none;color:var(--ink);transform:none;box-shadow:none;border-radius:0;width:auto;flex:none;padding:0 0 0 22px;margin:0 0 26px}
.mn-quote{font:400 clamp(1.7rem,3vw,2.7rem)/1.18 var(--s);font-style:italic;color:var(--ink);margin:0 0 26px;padding-inline-start:22px;border-inline-start:3px solid var(--gold)}
.mn-chef-name{font-size:clamp(2rem,4vw,3.6rem);line-height:.92;color:var(--ink);margin-bottom:16px}
.mn-chef-desc{max-width:44ch;opacity:.82;margin-bottom:24px}
.mn-tags{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin-bottom:30px}
.mn-tags li{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:40px;border:1px solid var(--brown);font-size:.86rem;font-weight:500}
.mn-tags i{color:var(--brown);font-size:.8rem}
.mn-chef-art{position:relative;height:clamp(420px,46vw,620px)}
.mn-chef-a{position:absolute;inset:0 16% 14% 0;border-radius:var(--r);overflow:hidden;box-shadow:0 40px 70px rgba(120,70,20,.22);will-change:transform}
.mn-chef-b{position:absolute;inset-inline-end:0;bottom:0;width:50%;aspect-ratio:3/4;border-radius:var(--r);overflow:hidden;border:8px solid var(--sand2);transform:rotate(4deg);box-shadow:0 30px 60px rgba(120,70,20,.25);will-change:transform}
/* Lime soda card in the chef section: smaller than the other card (width and height scale together) */
.mn-chef-b.mn-chef-b--soda{width:34%}
.mn-chef-sticker{position:absolute;inset-inline-start:-2%;top:6%;width:clamp(116px,13vw,150px);aspect-ratio:1;border-radius:50%;background:var(--gold);color:var(--ink);display:grid;place-items:center;text-align:center;font:800 1.2rem/1.05 var(--f);text-transform:uppercase;transform:rotate(-12deg);box-shadow:0 18px 36px rgba(120,70,20,.25)}

/* 5 non-veg & veg */
.mn-veg{background:var(--sand2)}
.mn-seg{display:inline-flex;padding:6px;border-radius:60px;border:1px solid rgba(140,90,54,.3);background:var(--glass);margin-bottom:38px;max-width:100%}
.mn-seg button{padding:12px 28px;border-radius:60px;border:0;background:none;color:var(--ink);font:500 1rem 'DM Sans',sans-serif;cursor:pointer;transition:background .35s,color .35s}
.mn-seg button[aria-selected="true"]{background:var(--ink);color:var(--sand)}
.mn-list{list-style:none;max-width:980px;border-top:1px solid rgba(140,90,54,.25)}
.mn-list li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:clamp(14px,2vw,24px);align-items:center;padding:clamp(18px,2.4vw,28px) 0;border-bottom:1px solid rgba(140,90,54,.25);transition:padding .5s cubic-bezier(.2,.8,.2,1),color .4s}
.mn-list li:hover{padding-inline-start:18px;color:var(--brown)}
.mn-list h3{font:800 clamp(1.4rem,2.6vw,2.5rem)/1 var(--f);text-transform:uppercase;color:var(--ink);transition:color .4s}
.mn-list li:hover h3{color:var(--brown)}
.mn-list p{font-size:.9rem;opacity:.75;margin-top:6px}
.mn-dot{width:16px;height:16px;border-radius:3px;border:2px solid;display:inline-grid;place-items:center;flex:none}
.mn-dot::after{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.mn-dot.nv{color:#a8402a}.mn-dot.vg{color:#3f7d3a}
.mn-float{position:fixed;left:0;top:0;width:250px;height:310px;border-radius:var(--r);overflow:hidden;pointer-events:none;z-index:60;opacity:0;border:6px solid var(--gold);box-shadow:0 30px 60px rgba(60,35,10,.3)}
.mn-float img{position:absolute;inset:0;opacity:0;transition:opacity .4s}
.mn-float img.on{opacity:1}

/* 6 starters rail */
.mn-starters{background:var(--sand)}
.mn-rail{display:flex;gap:clamp(16px,2.4vw,30px);overflow-x:auto;scroll-snap-type:x mandatory;padding:10px var(--pad) 30px;margin-inline:calc(var(--pad) * -1);scrollbar-width:none;-webkit-overflow-scrolling:touch}
.mn-rail::-webkit-scrollbar{display:none}
.mn-tall{flex:none;width:clamp(230px,24vw,320px);scroll-snap-align:start;position:relative;border-radius:var(--r);overflow:hidden;background:var(--sand2);color:var(--ink);box-shadow:0 20px 40px rgba(120,70,20,.14);display:flex;flex-direction:column;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.mn-tall:hover{transform:translateY(-8px)}
.mn-tall .im{aspect-ratio:1/1.12;overflow:hidden}
.mn-tall .im img{transition:transform 1.1s cubic-bezier(.2,.8,.2,1)}
.mn-tall:hover .im img{transform:scale(1.08)}
.mn-tall .no{position:absolute;top:8px;inset-inline-end:16px;font:800 3.6rem/1 var(--f);color:transparent;-webkit-text-stroke:1.5px #fff;pointer-events:none}
.mn-tall .bd{padding:20px 22px 24px;display:grid;gap:10px;justify-items:start}
.mn-tall h3{font:800 1.5rem/1 var(--f);text-transform:uppercase}
.mn-tall p{font-size:.9rem;opacity:.8}

/* 7 combos */
.mn-combos{background:var(--sand2)}
.mn-combo-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:clamp(28px,4vw,60px);align-items:start}
.mn-groups{display:grid;gap:34px}
.mn-group{border:0;padding:0;margin:0;min-width:0}
.mn-group legend{font:800 1.3rem/1 var(--f);text-transform:uppercase;margin-bottom:16px;color:var(--ink);padding:0}
.mn-opts{display:flex;flex-wrap:wrap;gap:10px}
.mn-chip{position:relative;cursor:pointer;display:inline-flex}
.mn-chip input{position:absolute;width:1px;height:1px;opacity:0;margin:0}
.mn-chip span{display:inline-flex;align-items:center;gap:9px;padding:12px 18px;border-radius:60px;border:1.5px solid var(--ink);font-weight:500;transition:background .35s,color .35s,transform .35s}
.mn-chip span::before{font-family:"Font Awesome 6 Free";font-weight:900;content:"\f067";font-size:.7rem;transition:transform .4s}
.mn-chip:hover span{transform:translateY(-2px)}
.mn-chip input:checked+span{background:var(--ink);color:var(--sand)}
.mn-chip input:checked+span::before{content:"\f00c"}
.mn-combo-sum{position:sticky;top:84px;margin-top:-28px;padding:clamp(24px,3vw,40px);border-radius:var(--r);background:var(--gold);color:var(--ink);box-shadow:0 30px 60px rgba(120,70,20,.22)}
.mn-combo-sum .mn-eyebrow{color:var(--ink);opacity:.8}
.mn-combo-sum h3{font:800 clamp(2rem,3vw,2.8rem)/1 var(--f);text-transform:uppercase;margin-bottom:18px}
.mn-combo-list{list-style:none;display:grid;gap:8px;margin-bottom:24px;min-height:4em}
.mn-combo-list li{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:14px;background:rgba(255,255,255,.35);font-weight:500;animation:mnIn .45s cubic-bezier(.2,.8,.2,1)}
.mn-combo-list li.empty{background:none;opacity:.75;font-weight:400;padding:0}
.mn-combo-list li i{font-size:.8rem}
@keyframes mnIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.mn-combo-sum .btn:disabled{opacity:.45;cursor:not-allowed;transform:none}
.mn-combo-msg{margin-top:14px;min-height:1.4em;font-size:.9rem;font-weight:500}

/* 8 desserts band (fixed colours so the band reads the same in both modes) */
.mn-dessert{background:#4a2f1d;color:#f6ead8}
.mn-dessert .mn-eyebrow{color:#e8b865}
.mn-dessert .mn-h2{color:#f6ead8}
.mn-dessert .mn-h2 i{color:#e8b865}
.mn-stamp{position:absolute;inset-inline-end:var(--pad);top:clamp(40px,6vw,90px);width:clamp(120px,14vw,172px);aspect-ratio:1;border-radius:50%;background:#e8b865;color:#2a1a0e;display:grid;place-items:center;font-size:1.6rem;box-shadow:0 20px 40px rgba(0,0,0,.3)}
.mn-stamp svg{position:absolute;inset:0;width:100%;height:100%;animation:mnSpin 26s linear infinite}
.mn-stamp text{font:600 10px 'DM Sans',sans-serif;letter-spacing:.2em;fill:#2a1a0e;direction:ltr}
.mn-dcols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,5vw,90px)}
.mn-sub{font:800 clamp(1.1rem,1.6vw,1.4rem)/1 var(--f);text-transform:uppercase;letter-spacing:.14em;color:#e8b865;margin-bottom:10px}
.mn-dl{list-style:none}
.mn-dl li{position:relative;padding:22px 0;border-bottom:1px solid rgba(246,234,216,.2);display:flex;align-items:baseline;justify-content:space-between;gap:16px;transition:padding .5s cubic-bezier(.2,.8,.2,1)}
.mn-dl li::after{content:"";position:absolute;inset-inline-start:0;bottom:-1px;height:2px;width:0;background:#e8b865;transition:width .7s cubic-bezier(.2,.8,.2,1)}
.mn-dl li:hover{padding-inline-start:14px}
.mn-dl li:hover::after{width:100%}
.mn-dl h3{font:800 clamp(1.5rem,2.6vw,2.4rem)/1 var(--f);text-transform:uppercase}

/* 9 best sellers */
.mn-best{background:var(--sand)}
.mn-best-list{list-style:none;display:grid;gap:clamp(18px,2.4vw,30px)}
.mn-best-list li{display:grid;grid-template-columns:clamp(74px,9vw,150px) minmax(0,1fr) minmax(0,.9fr) auto;gap:clamp(14px,2.4vw,34px);align-items:center;padding-bottom:clamp(18px,2.4vw,30px);border-bottom:1px solid rgba(140,90,54,.25)}
.mn-best .rk{font:800 clamp(3.6rem,7vw,7.4rem)/.8 var(--f);color:transparent;-webkit-text-stroke:1.5px var(--brown);transition:color .5s}
.mn-best li:hover .rk{color:var(--brown)}
.mn-best h3{font:800 clamp(1.4rem,2.6vw,2.4rem)/1 var(--f);text-transform:uppercase;color:var(--ink)}
.mn-best .info p{font-size:.92rem;opacity:.75;margin-top:8px}
.mn-mb{display:grid;gap:8px}
.mn-meter-l{display:flex;justify-content:space-between;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--brown)}
.mn-meter{height:12px;border-radius:12px;background:var(--sand2);overflow:hidden;border:1px solid rgba(140,90,54,.2)}
.mn-meter span{display:block;height:100%;width:100%;background:linear-gradient(90deg,#a8741f,#e3b95f);transform:scaleX(0);transform-origin:left;border-radius:12px}

/* 10 final order CTA */
.mn-final{background:var(--gold);color:var(--ink)}
.mn-final .mn-eyebrow{color:var(--ink);opacity:.8}
.mn-final .mn-h2{color:var(--ink)}
.mn-final .mn-h2 i{color:#4a2f1d}
.mn-final-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,5vw,90px);align-items:start}
.mn-final-copy{display:flex;flex-direction:column;align-items:flex-start;gap:22px;padding-top:6px}
.mn-final-copy .mn-h2{margin:0}
.mn-final-copy .mn-final-lead{margin:0}
.mn-final-copy .mn-hours{width:100%;max-width:360px;margin-top:0}
.mn-final-copy .mn-final-btns{margin-top:4px}
.mn-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:600px){.mn-row{grid-template-columns:1fr}}
.mn-final-lead{max-width:44ch;font-size:1.05rem}
.mn-hours{display:inline-flex;align-items:center;gap:14px;margin-top:34px;padding:16px 20px;border-radius:var(--r);background:rgba(255,255,255,.35);border:1px solid rgba(74,47,29,.2);max-width:360px}
.mn-hours i{width:44px;height:44px;border-radius:50%;background:var(--ink);color:var(--sand);display:grid;place-items:center;flex:none}
.mn-hours b{display:block;font:800 1.15rem/1.1 var(--f);text-transform:uppercase}
.mn-hours span{font-size:.88rem;opacity:.85}
.mn-final-btns{display:flex;flex-wrap:wrap;gap:22px 28px;align-items:center}
.mn-final .link{color:var(--ink);border-color:var(--ink)}
.mn-form{display:grid;gap:18px;align-self:start;background:var(--sand);color:var(--ink);padding:clamp(24px,3vw,40px);border-radius:var(--r);box-shadow:0 30px 60px rgba(90,55,20,.25)}
.mn-field{display:grid;gap:7px;min-width:0}
.mn-field label{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;font-weight:500}
.mn-field input,.mn-field select,.mn-field textarea{font:inherit;font-size:1rem;width:100%;padding:13px 16px;border-radius:14px;border:1.5px solid rgba(140,90,54,.35);background:transparent;color:var(--ink);transition:border-color .3s,box-shadow .3s}
.mn-field textarea{resize:vertical}
.mn-field input:focus,.mn-field select:focus,.mn-field textarea:focus{outline:none;border-color:var(--brown);box-shadow:0 0 0 4px rgba(217,164,65,.25)}
.mn-field.bad input,.mn-field.bad textarea{border-color:#b3261e}
.mn-err{font-size:.82rem;color:#b3261e;min-height:1em}
.mn-sel-list{padding:14px 16px;border-radius:14px;background:var(--sand2);font-size:.95rem;min-height:3.2em;display:flex;flex-wrap:wrap;gap:8px;align-content:flex-start}
.mn-sel-list span{padding:6px 12px;border-radius:40px;background:var(--gold);color:var(--ink);font-size:.85rem;font-weight:500;animation:mnIn .4s cubic-bezier(.2,.8,.2,1)}
.mn-sel-list em{opacity:.75}
.mn-form>.btn{justify-self:start;cursor:pointer;border:0}
.mn-ok{padding:16px 18px;border-radius:14px;background:#e6f2e4;color:#1d4a1a;font-weight:500}

/* order bar (appears after the first pick) */
.mn-orderbar{position:fixed;bottom:clamp(16px,2.5vw,28px);left:50%;translate:-50% 0;z-index:80;display:flex;align-items:center;gap:16px;padding:8px 8px 8px 22px;border-radius:60px;background:var(--ink);color:var(--sand);box-shadow:0 20px 40px rgba(60,35,10,.35);white-space:nowrap;transform:translateY(160%);opacity:0;transition:transform .6s cubic-bezier(.2,.8,.2,1),opacity .4s}
.mn-orderbar.show{transform:translateY(0);opacity:1}
.mn-orderbar b{color:var(--gold);font-size:1.1rem}
.mn-orderbar .btn{padding:10px 20px;font-size:.9rem}

/* reveal helpers for the pinned gallery and bars */
.mn-page .btn.magnet{will-change:transform}

/* ---- responsive: phones 320-767, tablets 768-1023, laptops 1024-1280, large 1280+ ---- */
@media(max-width:1023px){
  .mn-hero-grid{grid-template-columns:minmax(0,1fr);gap:34px}
  .mn-art{width:min(74vw,440px);justify-self:center;order:-1}
  .mn-hero-copy{align-items:flex-start}
  .mn-combo-grid{grid-template-columns:minmax(0,1fr)}
  .mn-combo-sum{position:relative;top:0;margin-top:0}
  .mn-chef-grid{grid-template-columns:minmax(0,1fr)}
  .mn-dcols{grid-template-columns:minmax(0,1fr);gap:50px}
  .mn-stamp{top:auto;bottom:clamp(30px,5vw,60px)}
  .mn-final-grid{grid-template-columns:minmax(0,1fr)}
  .mn-mosaic{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;grid-template-areas:"a a" "b c" "d d" "e f";grid-auto-rows:minmax(170px,auto)}
  .mn-cat.c-e,.mn-cat.c-f{flex-direction:column;align-items:flex-start}
  .mn-cat.c-d{grid-area:d}
  .mn-best-list li{grid-template-columns:clamp(70px,14vw,110px) minmax(0,1fr) auto}
  .mn-best-list .mn-mb{grid-column:2 / -1;grid-row:2}
  .mn-best-list .mn-add{grid-column:3;grid-row:1}
  .mn-hgal-wrap{overflow:visible}
  .mn-hgal{overflow-x:auto;scroll-snap-type:x mandatory;padding-inline:var(--pad);margin-inline:calc(var(--pad) * -1);scrollbar-width:none;width:auto}
  .mn-hgal::-webkit-scrollbar{display:none}
  .mn-pan{scroll-snap-align:start}
  .mn-pan-end{min-height:0}
}
@media(max-width:767px){
  .mn-sec{padding-block:70px}
  .mn-mega{font-size:clamp(3rem,15vw,5rem)}
  .mn-lead{margin-top:18px}
  .mn-scroll{display:none}
  .mn-hero-word{font-size:34vw;bottom:-2vw}
  .mn-art{width:min(78vw,380px)}
  .mn-art-tag{width:88px;font-size:.7rem}
  .mn-mosaic{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .mn-cat-name{font-size:1.25rem}
  .mn-cat.c-a .mn-cat-name{font-size:2rem}
  .mn-cat{min-height:150px}
  .mn-list li{grid-template-columns:auto minmax(0,1fr)}
  .mn-list li .mn-add{grid-column:2;justify-self:start}
  .mn-float{display:none}
  .mn-seg button{padding:11px 20px}
  .mn-chip span{padding:10px 14px;font-size:.92rem}
  .mn-tall{width:min(72vw,280px)}
  .mn-best-list li{grid-template-columns:auto minmax(0,1fr)}
  .mn-best-list .mn-mb{grid-column:1 / -1;grid-row:auto}
  .mn-best-list .mn-add{grid-column:2;grid-row:auto;justify-self:start}
  .mn-pan{width:min(74vw,320px)}
  .mn-form{padding:22px}
  .mn-chef-art{height:440px}
  .mn-orderbar{left:16px;right:auto;translate:0 0;padding-inline-start:16px;font-size:.9rem;gap:10px;max-width:calc(100vw - 110px)}
  .mn-orderbar .btn{padding:9px 14px}
}
@media(max-width:360px){
  .mn-mosaic{grid-template-columns:minmax(0,1fr);grid-template-areas:none}
  .mn-mosaic>.mn-cat{grid-area:auto!important}
}
@media(min-width:1024px) and (max-width:1280px){
  .mn-mega{font-size:clamp(3.2rem,7.4vw,7rem)}
  .mn-pan{width:clamp(270px,30vw,360px)}
}
@media(min-width:992px){
  .mn-hgal{width:max-content}
}

/* ===================== PARTY ORDERS (pages/party-orders.html). Every rule is scoped to .po-* ===================== */
:root{--po-dir:1}
.po-page{overflow:clip;background:var(--sand);color:var(--ink)}
.po-page [hidden]{display:none!important}
.po-page i.fa-solid{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:900}
.po-page i.fa-brands{font-family:"Font Awesome 6 Brands";font-style:normal;font-weight:400}
.po-page :is(h1,h2,h3) i{font-family:var(--s);font-style:italic;font-weight:400;text-transform:none;color:var(--brown)}
.po-page :is(h1,h2,h3){overflow-wrap:break-word}
.po-sec{position:relative;isolation:isolate;padding:clamp(72px,9vw,150px) var(--pad);overflow:hidden}
.po-sec>:not(.po-bigword):not(.po-marq){max-width:1440px;margin-inline:auto;width:100%}
.po-head{margin-bottom:clamp(34px,5vw,72px);display:flex;flex-direction:column;align-items:flex-start}
.po-eyebrow{font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;color:var(--brown);font-weight:500;margin-bottom:14px}
.po-page h2{font-size:clamp(2rem,9.5vw,6.2rem);line-height:.9;letter-spacing:-.03em;margin:0}
.po-lead{max-width:520px;opacity:.85;font-size:clamp(1rem,1.1vw,1.15rem)}
.po-bigword{position:absolute;inset-inline-start:-2vw;z-index:-1;pointer-events:none;user-select:none;font:800 clamp(6rem,22vw,22rem)/.8 var(--f);text-transform:uppercase;letter-spacing:-.05em;color:transparent;-webkit-text-stroke:1.5px rgba(140,90,54,.22);white-space:nowrap}
.po-flip{display:inline-block}

/* 1 hero: cinematic, arch image wipes in, cut-out pot rises over it */
.po-hero{--hero-dot:rgba(140,90,54,.17);position:relative;isolation:isolate;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:clamp(150px,20vh,190px) var(--pad) clamp(90px,12vh,120px);overflow:hidden;background:radial-gradient(circle at 80% 30%,var(--hero-glow),var(--sand) 55%,var(--sand2))}
.po-hero::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background-image:radial-gradient(var(--hero-dot) 1px,transparent 1.5px);background-size:26px 26px;-webkit-mask-image:radial-gradient(ellipse at 72% 46%,#000 10%,transparent 68%);mask-image:radial-gradient(ellipse at 72% 46%,#000 10%,transparent 68%)}
.po-hero .po-bigword{top:10%;font-size:clamp(6rem,24vw,24rem)}
.po-hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:clamp(30px,4vw,80px);width:100%;max-width:1440px;margin-inline:auto}
.po-hero-copy{display:flex;flex-direction:column;align-items:flex-start;gap:clamp(18px,2.6vh,28px);min-width:0}
.po-kicker{display:inline-flex;align-items:center;gap:12px;padding:9px 18px;border-radius:60px;background:var(--glass);border:1px solid rgba(140,90,54,.25);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;font-weight:500;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.po-dot{width:9px;height:9px;border-radius:50%;background:var(--gold);animation:poPulse 2s infinite}
@keyframes poPulse{70%{box-shadow:0 0 0 12px rgba(225,183,104,0)}100%{box-shadow:0 0 0 0 rgba(225,183,104,0)}}
.po-mega{font-size:clamp(2.3rem,11.5vw,6.2rem);line-height:.84;letter-spacing:-.045em;margin:6px 0 0;position:relative;z-index:1;width:100%}
.po-ln{display:block;overflow:hidden;padding:.04em 0}.po-ln>span{display:block}
.po-mega .o{background:linear-gradient(100deg,#a8741f,#e3b95f 50%,#8c5a36);-webkit-background-clip:text;background-clip:text;color:transparent}
.po-mega .po-ln:nth-child(2)>span{padding-inline-start:.9em}
.po-hero-btns{display:flex;flex-wrap:wrap;gap:18px 28px;align-items:center}
.po-hero-art{position:relative;justify-self:center;width:min(100%,clamp(280px,34vw,560px));aspect-ratio:4/5}
.po-arch{position:absolute;inset:6% 4% 0 8%;border-radius:28px;overflow:hidden;clip-path:inset(100% 0 0 0 round 28px);animation:poArch 1.6s .3s cubic-bezier(.7,0,.2,1) forwards}
@keyframes poArch{to{clip-path:inset(0 0 0 0 round 28px)}}
.po-arch img{width:100%;height:100%;transform:scale(1.25);animation:poZoom 2.4s .3s ease-out forwards;transition:transform .8s}
@keyframes poZoom{to{transform:scale(1)}}
.po-cut-wrap{position:absolute;z-index:3;inset-inline-start:-6%;bottom:-4%;width:78%}
.po-cut{width:100%;filter:drop-shadow(0 30px 40px rgba(120,70,20,.35));animation:poRise 1.4s .9s cubic-bezier(.2,.8,.2,1) both}
@keyframes poRise{from{opacity:0;transform:translateY(60px) rotate(-8deg) scale(.9)}to{opacity:1;transform:none}}
.po-ring{position:absolute;z-index:4;inset-inline-end:-4%;top:-2%;width:clamp(120px,14vw,180px);height:auto;aspect-ratio:1;animation:poSpin 26s linear infinite}
.po-ring text{font:600 15px 'DM Sans',sans-serif;letter-spacing:.2em;fill:var(--ink)}
@keyframes poSpin{to{transform:rotate(360deg)}}
.po-facts{position:absolute;inset-inline-start:0;bottom:4%;z-index:5;display:flex;gap:12px;list-style:none;margin:0;padding:0}
.po-facts li{display:flex;flex-direction:column;gap:4px;padding:14px 18px;border-radius:22px;background:var(--glass);box-shadow:0 18px 40px rgba(120,70,20,.2);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.po-facts b{font:800 1.5rem/1 var(--f);letter-spacing:-.02em}
.po-facts span{font-size:.75rem;opacity:.75}
.po-scroll{position:absolute;inset-inline-start:var(--pad);bottom:30px;z-index:3;display:flex;align-items:center;gap:10px;font-size:.78rem;letter-spacing:.2em;text-transform:uppercase}
.po-scroll i{animation:poBob 1.8s infinite}
@keyframes poBob{50%{transform:translateY(6px)}}

/* 2 occasions: oversized tabs, one organic image stage */
.po-occ-grid{display:grid;gap:clamp(30px,4vw,60px)}
.po-occ-list{display:flex;flex-direction:column;border-top:1px solid rgba(140,90,54,.25)}
.po-occ-btn{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;column-gap:18px;row-gap:4px;padding:clamp(16px,2.2vw,28px) 0;background:none;border:0;border-bottom:1px solid rgba(140,90,54,.25);color:inherit;text-align:start;cursor:pointer;font:inherit}
.po-occ-btn .n{font:500 .9rem var(--f);color:var(--brown)}
.po-occ-btn .t{font:800 clamp(2.2rem,8vw,5.8rem)/.92 var(--f);text-transform:uppercase;letter-spacing:-.03em;transition:transform .6s cubic-bezier(.2,.8,.2,1),color .3s}
.po-occ-btn>i{font-size:clamp(1.3rem,2.4vw,2.2rem);color:var(--brown);opacity:.35;transition:opacity .4s,transform .6s}
.po-occ-btn .s{grid-column:2;font-size:.95rem;opacity:.7}
.po-occ-btn[aria-selected="true"] .t,.po-occ-btn:hover .t{transform:translateX(calc(var(--po-dir) * clamp(8px,2vw,28px)));color:var(--brown)}
.po-occ-btn[aria-selected="true"]>i,.po-occ-btn:hover>i{opacity:1;transform:rotate(-12deg)}
.po-occ-btn:focus-visible{outline:2px solid var(--brown);outline-offset:4px}
.po-occ-stage{position:relative;aspect-ratio:4/5;max-height:560px;width:100%;overflow:hidden;border-radius:42% 58% 60% 40% / 40% 45% 55% 60%}
.po-occ-stage img{position:absolute;inset:0;width:100%;height:100%;opacity:0;clip-path:inset(0 100% 0 0);transition:clip-path 1s cubic-bezier(.7,0,.2,1),opacity .4s}
.po-occ-stage img.on{opacity:1;clip-path:inset(0 0 0 0)}
.po-occ-caps{margin-top:22px;max-width:520px}
.po-occ-cap h3{font-size:clamp(1.6rem,3vw,2.4rem);margin-bottom:10px}
.po-occ-cap p{opacity:.85}
.po-tags{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin-top:16px}
.po-tags li{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:60px;border:1px solid rgba(140,90,54,.3);font-size:.84rem}
.po-tags i{color:var(--brown)}
@media(min-width:1024px){
  .po-occ-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:start}
  .po-occ-side{position:sticky;top:140px}
}

/* 3 packages: index list, one stage, live estimate */
.po-pkg{background:var(--sand2)}
.po-pkg-word{top:4%;font-size:clamp(5rem,18vw,18rem)}
.po-pkg-grid{display:grid;gap:clamp(30px,4vw,64px);position:relative}
.po-pk-list{display:flex;flex-direction:column}
.po-pk-btn{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:baseline;column-gap:16px;padding:clamp(16px,2vw,24px) 0;background:none;border:0;border-bottom:1.5px solid rgba(140,90,54,.3);color:inherit;text-align:start;cursor:pointer;font:inherit}
.po-pk-btn::before{content:"";position:absolute;inset-inline-start:0;bottom:-1.5px;height:1.5px;width:0;background:var(--gold);transition:width .6s cubic-bezier(.2,.8,.2,1)}
.po-pk-btn[aria-pressed="true"]::before{width:100%}
.po-pk-btn .n{font:500 .9rem var(--f);color:var(--brown)}
.po-pk-btn .nm{font:800 clamp(1rem,1.9vw,1.6rem)/1 var(--f);text-transform:uppercase;letter-spacing:-.02em;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.po-pk-btn:hover .nm,.po-pk-btn[aria-pressed="true"] .nm{transform:translateX(calc(var(--po-dir) * 14px))}
.po-pk-btn .po-pk-pr{font-size:.9rem;color:var(--brown);white-space:nowrap}
.po-pk-btn:focus-visible{outline:2px solid var(--brown);outline-offset:4px}
.po-pk-stage{display:grid;gap:22px;align-content:start}
.po-pk-media{position:relative;aspect-ratio:4/3;border-radius:34px 6px 34px 6px;overflow:hidden;background:var(--sand)}
.po-pk-media img{width:100%;height:100%}
.po-pk-price{position:absolute;inset-inline-end:16px;top:16px;width:104px;height:104px;border-radius:50%;background:var(--gold);color:var(--ink);display:grid;place-content:center;text-align:center;transform:rotate(-10deg);box-shadow:0 14px 30px rgba(90,50,20,.3)}
.po-pk-price small{font-size:.66rem;letter-spacing:.08em;text-transform:uppercase}
.po-pk-price b{font:800 1.6rem/1 var(--f)}
.po-pk-serves{display:flex;align-items:center;gap:10px;font-size:.9rem;color:var(--brown);font-weight:500}
.po-pk-info h3{font-size:clamp(1.6rem,3vw,2.5rem);margin:8px 0 12px}
.po-pk-note{max-width:560px;opacity:.85}
.po-pk-buy{display:flex;flex-wrap:wrap;gap:18px 30px;align-items:flex-end;margin-bottom:26px}
.po-stepper{display:grid;gap:8px}
.po-label{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;font-weight:500}
.po-step{display:inline-flex;align-items:center;border:1.5px solid rgba(140,90,54,.35);border-radius:60px;overflow:hidden}
.po-step button{width:50px;height:50px;background:none;border:0;color:inherit;cursor:pointer;font-size:1rem;transition:background .3s,color .3s}
.po-step button:hover{background:var(--gold);color:var(--ink)}
.po-step button:focus-visible{outline:2px solid var(--brown);outline-offset:-4px}
.po-step output{min-width:72px;text-align:center;font:800 1.4rem var(--f)}
.po-est{display:grid;gap:4px}
.po-est span{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;font-weight:500}
.po-est b{font:800 clamp(2rem,4vw,3.2rem)/1 var(--f);color:var(--brown)}
.po-est small{font-size:.78rem;opacity:.7;max-width:260px}
.po-pkg .btn{justify-self:start}
/* Packages: the stage stays put while the list scrolls past it and changes with the item in view (desktop only) */
@media(min-width:1024px){
  .po-pkg{overflow:clip}
  .po-pk-stage{position:sticky;top:112px}
  .po-pk-btn{min-height:min(60vh,520px);align-content:center}
  .po-pk-media{width:100%;aspect-ratio:auto;height:clamp(220px,36vh,440px)}
  .po-pk-stage{gap:14px}
  .po-pk-info h3{margin:4px 0 8px}
  .po-pk-buy{margin-bottom:16px}
  .po-pk-price{width:88px;height:88px}
}
@media(min-width:1024px){
  .po-pkg-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:start}
}

/* 4 signature feast: cut-out pot over a gold disc; platter rows wipe their photos in */
.po-feast-grid{display:grid;gap:clamp(40px,6vw,100px);align-items:center}
.po-plat{list-style:none;display:grid;gap:clamp(26px,3vw,42px);margin-top:10px}
.po-plat li{display:grid;grid-template-columns:minmax(0,clamp(260px,38vw,460px)) minmax(0,1fr) auto;gap:18px;align-items:center}
/* 2nd and 4th rows are mirrored: price, description, photo */
.po-plat li:nth-child(even){grid-template-columns:auto minmax(0,1fr) minmax(0,clamp(260px,38vw,460px))}
.po-plat li:nth-child(even) .po-price{order:-1}
.po-plat li:nth-child(even) .po-wipe{order:1}
/* the description sits right beside the photo, with the price at the far left */
.po-plat li:nth-child(even) .po-plat-txt{justify-self:end;max-width:460px}
.po-wipe{overflow:hidden;border-radius:999px 999px 18px 18px;aspect-ratio:1;clip-path:inset(0 100% 0 0);transition:clip-path 1.2s cubic-bezier(.7,0,.2,1)}
.po-wipe img{width:100%;height:100%;transition:transform 1.2s}
li.aos-animate .po-wipe{clip-path:inset(0 0 0 0)}
.po-plat li:hover .po-wipe img{transform:scale(1.1)}
.po-plat h3{font-size:clamp(1.3rem,2.4vw,2.1rem);margin-bottom:8px}
.po-plat-txt p{font-size:.95rem;opacity:.8;margin-bottom:10px}
/* Platter photos: fixed sizes so the photo's own pixel size never changes the layout.
   All platters use the same large size on desktop, matching the first one */
.po-plat .po-wipe{width:clamp(84px,22vw,130px)}
@media(min-width:1024px){
  .po-plat .po-wipe{width:clamp(260px,38vw,460px)}
}
.po-serve{display:inline-flex;align-items:center;gap:8px;font-size:.82rem;color:var(--brown);font-weight:500}
.po-price{font:800 clamp(1.3rem,2.6vw,2.4rem)/1 var(--f);color:var(--brown);white-space:nowrap}

/* 5 customise: sentence on the left, toggles on the right */

/* 6 how it works: the line fills as you scroll (horizontal on desktop, vertical below) */
.po-how{background:var(--sand2)}
.po-how-wrap{position:relative}
.po-how-line{position:absolute;inset-inline-start:22px;top:0;bottom:0;width:2px;background:rgba(140,90,54,.22)}
.po-how-line span{display:block;width:100%;height:100%;background:linear-gradient(180deg,var(--gold),var(--brown));transform-origin:top center}
.po-steps{list-style:none;display:grid;gap:34px;position:relative;padding-inline-start:64px}
.po-steps li{position:relative}
.po-st-no{font:800 .9rem var(--f);color:var(--brown);display:block;margin-bottom:6px}
.po-st-ico{position:absolute;inset-inline-start:-64px;top:-4px;width:46px;height:46px;border-radius:50%;background:var(--sand);border:2px solid var(--brown);display:grid;place-items:center;color:var(--brown);transition:background .4s,color .4s,transform .5s}
.po-steps li:hover .po-st-ico{background:var(--gold);color:var(--ink);transform:rotate(-12deg) scale(1.08)}
/* every heading reserves two lines, so the paragraphs all start at the same height */
.po-steps h3{font-size:clamp(1.4rem,2.2vw,2.1rem);line-height:1.02;min-height:2.04em;margin-bottom:12px;overflow-wrap:normal;word-break:keep-all}
.po-steps p{max-width:460px;opacity:.85}
@media(min-width:1024px){
  .po-how-line{inset-inline-start:0;inset-inline-end:0;top:44px;bottom:auto;width:auto;height:2px}
  .po-how-line span{transform-origin:left center;height:100%;width:100%}
  .po-steps{grid-template-columns:repeat(5,minmax(0,1fr));gap:28px;padding-inline-start:0;padding-top:0}
  .po-st-ico{position:relative;inset-inline-start:auto;top:auto;margin-bottom:18px;width:52px;height:52px}
  .po-steps li:first-child .po-st-no{margin-top:0}
  .po-steps li{padding-inline-end:10px}
}

/* 7 showcase: a tilted pile on desktop, a staggered grid on phones */
.po-show{background:var(--sand)}
.po-show-head{display:flex;flex-direction:column;align-items:flex-start;margin-bottom:clamp(30px,4vw,60px)}
.po-hint{display:inline-flex;align-items:center;gap:10px;font-size:.9rem;opacity:.75;margin-top:18px}
.po-pile{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}
.po-shot{position:relative;border:0;padding:0;border-radius:22px;overflow:hidden;cursor:pointer;background:var(--sand2);box-shadow:0 22px 44px rgba(90,50,20,.22);aspect-ratio:4/5;transition:transform .6s cubic-bezier(.2,.8,.2,1),box-shadow .4s}
.po-shot img{width:100%;height:100%;object-fit:cover;transition:transform 1s}
.po-shot:hover img,.po-shot:focus-visible img{transform:scale(1.08)}
.po-shot:hover,.po-shot:focus-visible{transform:translateY(-8px) rotate(-1.5deg);box-shadow:0 34px 60px rgba(90,50,20,.32);outline:none}
.po-shot span{position:absolute;inset-inline-start:12px;bottom:12px;padding:6px 12px;border-radius:40px;background:rgba(255,250,240,.94);color:#3d2817;font-size:.76rem;font-weight:500}
.po-shot.s5 img{object-fit:cover;padding:0}
.po-dlg{border:0;background:transparent;padding:0;width:min(92vw,980px);max-height:92vh;overflow:visible}
.po-dlg::backdrop{background:rgba(21,16,11,.86);backdrop-filter:blur(6px)}
.po-dlg img{width:100%;max-height:76vh;object-fit:contain;border-radius:22px;background:#2a1a0e}
.po-dlg p{color:#f6ead8;margin-top:14px;text-align:center;font-size:1rem}
.po-dlg-x{position:absolute;inset-inline-end:-6px;top:-18px;width:46px;height:46px;border-radius:50%;border:0;background:var(--gold);color:#2a1a0e;cursor:pointer;display:grid;place-items:center;font-size:1rem;z-index:2}
@media(min-width:768px){
  .po-pile{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(16px,2vw,28px);align-items:stretch}
  .po-shot{width:auto;inset:auto;top:auto;margin-top:0;grid-column:span 2;aspect-ratio:4/5}
  .po-shot:hover,.po-shot:focus-visible{transform:translateY(-6px);z-index:auto}
  .po-shot:nth-child(n+4){grid-column:span 3;aspect-ratio:16/10}
}

/* 8 why us: sticky statement, numbered reasons, marquee band */
.po-why{background:var(--sand2)}
.po-why-grid{display:grid;gap:clamp(40px,6vw,90px)}
.po-huge{font-size:clamp(2.8rem,6.6vw,7.2rem);line-height:.86}
.po-count{display:flex;flex-wrap:wrap;gap:28px 36px;margin-top:40px}
.po-count b{display:flex;font:800 clamp(2.4rem,4.6vw,4.4rem)/1 var(--f);letter-spacing:-.03em}
.po-count div>span:last-child{display:block;font-size:.8rem;letter-spacing:.06em;opacity:.75;margin-top:8px}
.po-reasons{list-style:none;display:grid}
.po-reasons li{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:22px;padding:clamp(26px,3vw,40px) 0;border-top:1px solid rgba(140,90,54,.25);transition:padding .5s}
.po-reasons li:hover{padding-inline-start:12px}
.po-num{font:800 clamp(3.2rem,6vw,6rem)/.8 var(--f);color:transparent;-webkit-text-stroke:1.5px var(--brown);transition:color .4s}
.po-reasons li:hover .po-num{color:var(--gold);-webkit-text-stroke-color:var(--gold)}
.po-reasons h3{font-size:clamp(1.5rem,2.6vw,2.4rem);margin-bottom:10px}
.po-reasons p{opacity:.85;max-width:520px}
@media(min-width:1024px){
  .po-why-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start}
  .po-why-stick{position:sticky;top:140px}
  .po-why h2{font-size:clamp(3rem,5.6vw,6.4rem)}
}
.po-marq{overflow:hidden;margin-top:clamp(60px,8vw,110px);background:var(--brown);color:var(--sand);padding:22px 0;transform:rotate(-2deg);width:calc(100% + 40px);margin-inline:-20px}
.po-marq-track{display:flex;align-items:center;gap:26px;width:max-content;animation:poMarq 28s linear infinite}
.po-marq-track span{font:800 clamp(1.8rem,3.6vw,3.2rem)/1 var(--f);text-transform:uppercase;white-space:nowrap}
.po-marq-track i{font-size:1rem;color:var(--gold)}
@keyframes poMarq{to{transform:translateX(-50%)}}

/* 9 stories: one quote at a time, organic portrait, highlights row */
.po-stories{background:var(--sand)}
.po-quotes{position:relative;display:grid;min-height:460px;touch-action:pan-y}
.po-q{grid-area:1/1;display:grid;gap:26px;align-items:center;opacity:0;visibility:hidden;transform:translateY(24px);transition:opacity .7s,transform .7s,visibility .7s}
.po-q.is-on{opacity:1;visibility:visible;transform:none}
.po-q img{width:min(260px,70vw);aspect-ratio:1;object-fit:cover;border-radius:48% 52% 60% 40% / 45% 40% 60% 55%}
.po-q-body{display:grid;gap:18px}
.po-q-body>i{font-size:2.2rem;color:var(--gold)}
.po-quote-text{font-family:var(--s);font-size:clamp(1.7rem,3.4vw,3.4rem);line-height:1.15;max-width:900px}
.po-q figcaption{display:grid;gap:4px}
.po-q figcaption b{font:800 1.1rem var(--f);text-transform:uppercase}
.po-q figcaption span{font-size:.88rem;opacity:.7}
.po-q-ctl{grid-area:auto;display:flex;align-items:center;gap:14px;margin-top:20px;position:relative;z-index:2}
.po-q-ctl>button{width:52px;height:52px;border-radius:50%;border:1.5px solid rgba(140,90,54,.4);background:none;color:inherit;cursor:pointer;display:grid;place-items:center;transition:background .3s,color .3s,transform .3s}
.po-q-ctl>button:hover{background:var(--gold);color:var(--ink);transform:scale(1.06)}
.po-q-dots{display:flex;gap:10px}
.po-q-dots button{width:12px;height:12px;border-radius:50%;border:0;background:rgba(140,90,54,.3);cursor:pointer;padding:0;transition:width .4s,background .3s}
.po-q-dots button[aria-current="true"]{width:36px;border-radius:10px;background:var(--brown)}
@media(min-width:1024px){
  .po-q{grid-template-columns:minmax(0,.4fr) minmax(0,1fr)}
  .po-q img{width:100%;max-width:400px}
}

/* 10 booking CTA: gold panel, enquiry form on fixed light fields so it reads the same in both modes */
.po-cta{background:var(--gold);color:#2a1a0e}
.po-cta h2{color:#2a1a0e;font-size:clamp(2rem,9.5vw,6.2rem)}
.po-cta h2 i{color:#4a2f1d}
.po-cta .po-eyebrow{color:#4a2f1d}
.po-cta .po-lead{color:#2a1a0e}
.po-cta-grid{display:grid;gap:clamp(40px,6vw,90px)}
.po-contact{list-style:none;display:grid;gap:12px;margin-top:28px}
.po-contact a{display:inline-flex;align-items:center;gap:12px;font-weight:500;border-bottom:1.5px solid transparent;transition:border-color .3s,transform .3s;justify-self:start}
.po-contact a:hover{border-color:#2a1a0e;transform:translateX(calc(var(--po-dir) * 6px))}
.po-contact i{width:40px;height:40px;border-radius:50%;background:#2a1a0e;color:#e1b768;display:grid;place-items:center;font-size:.95rem;flex:none}
.po-sumlist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px;margin-top:34px;padding-top:24px;border-top:1px solid rgba(42,26,14,.35)}
.po-sumlist dt{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;opacity:.75}
.po-sumlist dd{font:800 1.25rem/1.2 var(--f);margin-top:4px}
.po-form{display:grid;gap:18px;align-content:start}
.po-f2{display:grid;gap:18px}
.po-field{display:grid;gap:6px;align-content:start}
.po-field.full{grid-column:1/-1}
.po-field>label:not(.po-check){font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;font-weight:500}
.po-input{width:100%;padding:14px 16px;border:0;border-bottom:2px solid rgba(42,26,14,.55);border-radius:14px 14px 0 0;background:rgba(255,250,240,.78);color:#2a1a0e;font:inherit;font-size:1rem;transition:border-color .3s,background .3s,box-shadow .3s;appearance:auto}
textarea.po-input{resize:vertical;min-height:70px}
.po-input::placeholder{color:rgba(42,26,14,.5)}
.po-input:focus{outline:none;border-color:#2a1a0e;background:#fffaf0;box-shadow:0 8px 20px rgba(42,26,14,.15)}
.po-input[readonly]{background:rgba(255,250,240,.45);cursor:default}
.po-input[aria-invalid="true"]{border-color:#8a1a14;background:#fff0ee}
.po-err{min-height:1.1em;font-size:.84rem;font-weight:500;color:#5c0f0b}
.po-check{display:flex;align-items:flex-start;gap:12px;font-size:.95rem;cursor:pointer}
.po-check input{width:20px;height:20px;accent-color:#2a1a0e;margin-top:2px;flex:none}
.po-submit{justify-self:start;margin-top:6px}
.po-ok{padding:18px 22px;border-radius:20px;background:#fffaf0;color:#2a1a0e;font-weight:500;border-inline-start:6px solid #2e9e5b;line-height:1.5}
@media(min-width:640px){
  .po-f2{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(min-width:1024px){
  .po-cta-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start}
  .po-cta-copy{position:sticky;top:140px}
  .po-cta h2{font-size:clamp(3rem,5.6vw,6.4rem)}
}

/* ---- responsive: phones 320-767, tablets 768-1023, laptops 1024-1279, large 1280+ ---- */
@media(min-width:768px) and (max-width:1023px){
  .po-hero-art{width:min(100%,440px)}
}
@media(min-width:768px){
  .po-pk-media{aspect-ratio:16/10}
}
@media(max-width:1023px){
  .po-hero-grid{grid-template-columns:minmax(0,1fr);gap:40px}
  .po-hero-art{justify-self:center;order:2}
  .po-hero-copy{align-items:flex-start}
  .po-plat li,.po-plat li:nth-child(even){grid-template-columns:minmax(0,clamp(84px,22vw,130px)) minmax(0,1fr)}
  .po-plat li:nth-child(even) .po-price{order:0}
  .po-plat li:nth-child(even) .po-wipe{order:0}
  .po-plat li:nth-child(even) .po-plat-txt{justify-self:start;max-width:none}
  .po-plat .po-price{grid-column:2;justify-self:start}
  .po-how-line span{transform-origin:top center}
  .po-pk-price{width:92px;height:92px}
}
@media(max-width:767px){
  .po-sec{padding-block:70px}
  .po-hero{padding-top:150px}
  .po-hero .po-bigword{font-size:clamp(5rem,30vw,9rem)}
  .po-cut-wrap{width:84%;inset-inline-start:-2%}
  .po-facts{position:relative;inset-inline-start:auto;bottom:auto;margin-top:6px;flex-wrap:wrap}
  .po-facts li{padding:12px 14px}
  .po-ring{width:110px;inset-inline-end:-2%;top:-8%}
  .po-scroll{display:none}
  .po-occ-stage{aspect-ratio:1;border-radius:46% 54% 40% 60% / 52% 40% 60% 48%}
  .po-pk-price{width:86px;height:86px;inset-inline-end:10px;top:10px}
  .po-pk-price b{font-size:1.3rem}
  .po-pk-buy{align-items:stretch}
  .po-est small{max-width:none}
  .po-sumlist{grid-template-columns:minmax(0,1fr)}
  .po-steps{gap:30px}
  .po-marq-track span{font-size:1.6rem}
  .po-q-ctl{justify-content:space-between}
  .po-q-dots{gap:8px}
  .po-q img{width:min(200px,60vw)}
}
@media(prefers-reduced-motion:reduce){
  .po-page *,.po-page *::before,.po-page *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .po-marq-track{animation:none}
}
.po-page :is(.po-cut,.po-shot.s5 img){background:transparent}

/* ===================== CONTACT (pages/contact.html). Every rule is scoped to .cx-* ===================== */
.cx-page{overflow:clip;background:var(--sand);color:var(--ink)}
.cx-page [hidden]{display:none!important}
.cx-page i.fa-solid{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:900}
.cx-page i.fa-brands{font-family:"Font Awesome 6 Brands";font-style:normal;font-weight:400}
.cx-page :is(h1,h2,h3) i{font-family:var(--s);font-style:italic;font-weight:400;text-transform:none;color:var(--brown)}
.cx-page :is(h1,h2,h3){overflow-wrap:break-word}
.cx-sec{position:relative;isolation:isolate;padding:clamp(72px,9vw,150px) var(--pad);overflow:hidden}
.cx-sec>:not(.cx-bigword):not(.cx-marq){max-width:1440px;margin-inline:auto;width:100%}
.cx-eyebrow{font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;color:var(--brown);font-weight:500;margin-bottom:14px}
.cx-page h2{font-size:clamp(2rem,9.5vw,6.2rem);line-height:.9;letter-spacing:-.03em;margin:0}
.cx-lead{max-width:520px;opacity:.85;font-size:clamp(1rem,1.1vw,1.15rem)}
.cx-bigword{position:absolute;inset-inline-start:-2vw;z-index:-1;pointer-events:none;user-select:none;font:800 clamp(6rem,22vw,22rem)/.8 var(--f);text-transform:uppercase;letter-spacing:-.05em;color:transparent;-webkit-text-stroke:1.5px rgba(140,90,54,.2);white-space:nowrap}
.cx-dot{width:9px;height:9px;border-radius:50%;background:#2e9e5b;flex:none;animation:cxPulse 2s infinite}
@keyframes cxPulse{70%{box-shadow:0 0 0 12px rgba(46,158,91,0)}100%{box-shadow:0 0 0 0 rgba(46,158,91,0)}}

/* 1 hero: giant "Hello" behind, a circle-wipe photo, floating tokens */
.cx-hero{--hero-glow:#fff;--hero-dot:rgba(140,90,54,.17);position:relative;isolation:isolate;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:clamp(150px,20vh,190px) var(--pad) clamp(90px,12vh,120px);overflow:hidden;background:radial-gradient(circle at 20% 30%,var(--hero-glow),var(--sand) 55%,var(--sand2))}
.cx-hero::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background-image:radial-gradient(var(--hero-dot) 1px,transparent 1.5px);background-size:26px 26px;-webkit-mask-image:radial-gradient(ellipse at 30% 50%,#000 10%,transparent 68%);mask-image:radial-gradient(ellipse at 30% 50%,#000 10%,transparent 68%)}
.cx-hero .cx-bigword{top:12%;font-size:clamp(5rem,22vw,22rem)}
.cx-hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:clamp(30px,4vw,80px);width:100%;max-width:1440px;margin-inline:auto}
.cx-hero-copy{display:flex;flex-direction:column;align-items:flex-start;gap:clamp(18px,2.6vh,28px);min-width:0}
.cx-kicker{display:inline-flex;align-items:center;gap:12px;padding:9px 18px;border-radius:60px;background:var(--glass);border:1px solid rgba(140,90,54,.25);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;font-weight:500;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.cx-mega{font-size:clamp(2.3rem,11.5vw,6.2rem);line-height:.84;letter-spacing:-.045em;margin:6px 0 0;position:relative;z-index:1;width:100%}
.cx-ln{display:block;overflow:hidden;padding:.04em 0}.cx-ln>span{display:block}
.cx-mega .o{background:linear-gradient(100deg,#a8741f,#e3b95f 50%,#8c5a36);-webkit-background-clip:text;background-clip:text;color:transparent}
.cx-hero-btns{display:flex;flex-wrap:wrap;gap:18px 28px;align-items:center}
.cx-hero-art{position:relative;justify-self:center;width:min(100%,clamp(280px,34vw,540px));aspect-ratio:1}
.cx-disc{position:absolute;inset:8%;border-radius:50%;overflow:hidden;clip-path:circle(0% at 50% 50%);animation:cxDisc 1.6s .3s cubic-bezier(.7,0,.2,1) forwards;box-shadow:0 40px 80px rgba(150,90,30,.3)}
@keyframes cxDisc{to{clip-path:circle(75% at 50% 50%)}}
.cx-disc img{width:100%;height:100%;transform:scale(1.3);animation:cxZoom 2.4s .3s ease-out forwards}
@keyframes cxZoom{to{transform:scale(1)}}
.cx-disc::after{content:"";position:absolute;inset:-6%;border-radius:50%;border:1.5px dashed var(--brown);opacity:.45;animation:cxSpin 46s linear infinite;pointer-events:none}
@keyframes cxSpin{to{transform:rotate(360deg)}}
@keyframes cxRise{from{opacity:0;transform:translateY(60px) rotate(-8deg)}to{opacity:1;transform:none}}
.cx-token{position:absolute;z-index:5;display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border-radius:60px;background:var(--glass);box-shadow:0 18px 40px rgba(120,70,20,.2);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-weight:500;font-size:.92rem;white-space:nowrap;animation:cxFloat 6s ease-in-out infinite}
.cx-token i{color:var(--brown);font-size:1.05rem}
.cx-token.tk1{inset-inline-end:-2%;top:6%}
.cx-token.tk2{inset-inline-end:14%;top:44%;animation-delay:-2s}
.cx-token.tk3{inset-inline-start:4%;top:14%;animation-delay:-4s}
@keyframes cxFloat{50%{transform:translateY(-14px)}}
.cx-scroll{position:absolute;inset-inline-start:var(--pad);bottom:30px;z-index:3;display:flex;align-items:center;gap:10px;font-size:.78rem;letter-spacing:.2em;text-transform:uppercase}
.cx-scroll i{animation:cxBob 1.8s infinite}
@keyframes cxBob{50%{transform:translateY(6px)}}

/* 2 connect: sticky statement and four huge lines with sliding arrows */
.cx-connect{background:var(--sand)}
.cx-connect-grid{display:grid;gap:clamp(40px,6vw,90px)}
.cx-connect-stick{display:flex;flex-direction:column;align-items:flex-start;gap:20px;position:relative}
.cx-connect-stick .cx-lead{margin-top:6px}
.cx-ring-badge{position:relative;width:150px;height:150px;margin-top:18px;animation:cxSpin 30s linear infinite}
.cx-ring-badge svg{width:100%;height:100%}
.cx-ring-badge text{font:600 11px 'DM Sans',sans-serif;letter-spacing:.14em;fill:var(--ink)}
.cx-ring-badge i{position:absolute;inset:0;margin:auto;width:46px;height:46px;border-radius:50%;background:var(--gold);color:var(--ink);display:grid;place-items:center;font-size:1rem;animation:cxSpin 30s linear infinite reverse}
.cx-lines{list-style:none;display:grid;border-top:1px solid rgba(140,90,54,.25)}
.cx-line{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:6px 22px;padding:clamp(20px,2.6vw,34px) 0;border-bottom:1px solid rgba(140,90,54,.25);overflow:hidden}
.cx-line::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(225,183,104,.28),rgba(225,183,104,0));transform:scaleX(0);transform-origin:left center;transition:transform .7s cubic-bezier(.2,.8,.2,1);z-index:-1}
.cx-line:hover::before,.cx-line:focus-visible::before{transform:scaleX(1)}
.cx-line:focus-visible{outline:2px solid var(--brown);outline-offset:4px}
.cx-line-ico{width:58px;height:58px;border-radius:50%;border:1.5px solid var(--brown);display:grid;place-items:center;color:var(--brown);font-size:1.2rem;transition:background .4s,color .4s,transform .5s}
.cx-line:hover .cx-line-ico{background:var(--gold);color:var(--ink);border-color:var(--gold);transform:rotate(-12deg)}
.cx-line-txt{display:grid;gap:4px;min-width:0}
.cx-line-txt small{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;opacity:.7}
.cx-line-txt b{font:800 clamp(1.3rem,3.6vw,3.2rem)/1.05 var(--f);letter-spacing:-.02em;overflow-wrap:anywhere;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.cx-line:hover .cx-line-txt b{transform:translateX(calc(var(--po-dir) * 10px))}
.cx-line-go{font-size:clamp(1.2rem,2.4vw,2rem);color:var(--brown);transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.cx-line:hover .cx-line-go{transform:translateX(calc(var(--po-dir) * -10px))}
@media(min-width:1024px){
  .cx-connect-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start}
  .cx-connect-stick{position:sticky;top:140px}
  .cx-hero-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
}

/* 3 enquiry form: topic pills reshape the form; fields sit on light surfaces, the panel stays ivory in both modes */
.cx-form-sec{background:var(--sand2)}
.cx-form-grid{display:grid;gap:clamp(40px,5vw,80px)}
.cx-form-intro{display:flex;flex-direction:column;align-items:flex-start}
.cx-form-intro .cx-lead{margin:18px 0 30px}
.cx-topics{display:flex;flex-wrap:wrap;gap:10px 12px;border:0;padding:0}
.cx-topic{position:relative;cursor:pointer}
.cx-topic input{position:absolute;opacity:0;pointer-events:none}
.cx-topic span{display:inline-flex;align-items:center;gap:10px;padding:12px 20px;border-radius:60px;border:1.5px solid rgba(140,90,54,.35);background:var(--glass);font-weight:500;transition:background .3s,color .3s,border-color .3s,transform .3s}
.cx-topic span i{color:var(--brown)}
.cx-topic:hover span{transform:translateY(-3px);border-color:var(--brown)}
.cx-topic input:checked+span{background:var(--gold);border-color:var(--gold);color:#2a1a0e}
.cx-topic input:checked+span i{color:#2a1a0e}
.cx-topic input:focus-visible+span{outline:2px solid var(--brown);outline-offset:3px}
.cx-form{display:grid;gap:20px;align-content:start;background:var(--sand);padding:clamp(24px,4vw,56px);border-radius:48px 14px 48px 14px;box-shadow:0 30px 60px rgba(90,50,20,.12)}
.cx-f2{display:grid;gap:20px}
.cx-field{display:grid;gap:6px;align-content:start}
.cx-field>label:not(.cx-check){font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;font-weight:500}
.cx-input{width:100%;padding:14px 16px;border:0;border-bottom:2px solid rgba(140,90,54,.45);border-radius:14px 14px 0 0;background:var(--sand2);color:var(--ink);font:inherit;font-size:1rem;transition:border-color .3s,background .3s,box-shadow .3s;appearance:auto}
textarea.cx-input{resize:vertical;min-height:130px}
.cx-input::placeholder{color:var(--ink);opacity:.45}
.cx-input:focus{outline:none;border-color:var(--brown);background:var(--sand);box-shadow:0 8px 20px rgba(140,90,54,.15)}
.cx-input[aria-invalid="true"]{border-color:#b3261e;background:#fff0ee}
:root[data-theme="dark"] .cx-input[aria-invalid="true"]{background:#3a1d1a}
.cx-err{min-height:1.1em;font-size:.84rem;font-weight:500;color:#b3261e}
:root[data-theme="dark"] .cx-err{color:#ff8a80}
.cx-msg-foot{display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.cx-count{font-size:.8rem;opacity:.65;font-variant-numeric:tabular-nums;white-space:nowrap}
.cx-pref{border:0;padding:0;display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.cx-pref legend{font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;font-weight:500;margin-bottom:10px;width:100%}
.cx-pill{position:relative;cursor:pointer}
.cx-pill input{position:absolute;opacity:0;pointer-events:none}
.cx-pill span{display:inline-block;padding:9px 16px;border-radius:60px;border:1.5px solid rgba(140,90,54,.35);font-size:.92rem;transition:background .3s,border-color .3s}
.cx-pill input:checked+span{background:var(--brown);border-color:var(--brown);color:var(--sand)}
.cx-pill input:focus-visible+span{outline:2px solid var(--brown);outline-offset:3px}
.cx-check{display:flex;align-items:flex-start;gap:12px;font-size:.95rem;cursor:pointer}
.cx-check input{width:20px;height:20px;accent-color:var(--brown);margin-top:2px;flex:none}
.cx-submit{justify-self:start}
.cx-ok{padding:18px 22px;border-radius:20px;background:var(--sand2);border-inline-start:6px solid #2e9e5b;font-weight:500;line-height:1.5}
@media(min-width:640px){.cx-f2{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1024px){
  .cx-form-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:start}
  .cx-form-intro{position:sticky;top:140px}
}

/* 4 find us: a dark stylised kitchen map (fixed colours in both modes) with a pulsing pin */
.cx-find{background:var(--sand)}
.cx-find-head{margin-bottom:clamp(30px,4vw,60px)}
.cx-map{position:relative;border-radius:40px;overflow:hidden;background:#3d2817;aspect-ratio:4/3;min-height:340px;box-shadow:0 40px 80px rgba(60,35,15,.35)}
.cx-map-svg{position:absolute;inset:0;width:100%;height:100%}
.cx-map-art{transform-origin:400px 260px;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.m-bg{fill:#3d2817}
.m-blocks rect{fill:#4d3420;stroke:#5e4128;stroke-width:2}
.m-roads path{stroke:#6b4a2a;stroke-linecap:round}
.m-river{fill:none;stroke:#8c5a36;stroke-width:30;stroke-linecap:round;opacity:.55}
.m-label{font:600 14px 'DM Sans',sans-serif;letter-spacing:.2em;fill:#e8b865;opacity:.85}
.cx-pin{cursor:pointer;outline:none}
.cx-pin .pulse{fill:rgba(225,183,104,.35);transform-origin:center;transform-box:fill-box;animation:cxPulseSvg 2.4s ease-out infinite}
.cx-pin .pulse.p2{animation-delay:1.2s}
@keyframes cxPulseSvg{from{transform:scale(.4);opacity:1}to{transform:scale(2.2);opacity:0}}
.cx-pin .pin-body{fill:#e1b768;transition:fill .3s,transform .4s;transform-origin:center;transform-box:fill-box}
.cx-pin .pin-dot{fill:#3d2817}
.cx-pin:hover .pin-body,.cx-pin:focus-visible .pin-body{fill:#fff6e0;transform:translateY(-6px)}
.cx-pin:focus-visible{outline:none}
.cx-map-card{position:absolute;inset-inline-start:clamp(16px,3vw,36px);bottom:clamp(16px,3vw,36px);max-width:300px;padding:22px 24px;border-radius:26px;background:rgba(255,250,240,.96);color:#3d2817;box-shadow:0 20px 40px rgba(0,0,0,.3);transition:transform .5s cubic-bezier(.2,.8,.2,1),opacity .4s;z-index:2}
.cx-map-card.is-hidden{transform:translateY(20px);opacity:0;pointer-events:none}
.cx-map-kicker{display:inline-flex;align-items:center;gap:8px;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;font-weight:500;margin-bottom:8px}
.cx-map-card h3{font-size:1.5rem;margin-bottom:6px}
.cx-map-card p{font-size:.95rem;opacity:.85}
.cx-dir{display:inline-flex;align-items:center;gap:8px;margin-top:12px;font-weight:500;border-bottom:1.5px solid currentColor;padding-bottom:2px}
.cx-zoom{position:absolute;inset-inline-end:clamp(16px,3vw,36px);top:clamp(16px,3vw,36px);display:flex;flex-direction:column;gap:10px;z-index:2}
.cx-zoom button{width:48px;height:48px;border-radius:50%;border:0;background:var(--gold);color:#2a1a0e;cursor:pointer;display:grid;place-items:center;font-size:.95rem;transition:transform .3s,background .3s}
.cx-zoom button:hover{transform:scale(1.08);background:#f6ead8}
.cx-zoom button:focus-visible{outline:2px solid #f6ead8;outline-offset:3px}
.cx-find-tips{list-style:none;display:grid;gap:14px;margin-top:clamp(30px,4vw,50px)}
.cx-find-tips li{display:flex;align-items:center;gap:14px;font-size:1.05rem}
.cx-find-tips i{width:44px;height:44px;border-radius:50%;background:var(--sand2);color:var(--brown);display:grid;place-items:center;flex:none}
@media(min-width:768px){.cx-find-tips{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* 5 branches: shutter panels that open on tap or hover (stacked on phones) */
@keyframes cxFade{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(min-width:768px){
}

/* 6 hours: a 24-hour ruler, one bar per day; today's row lights up */
.cx-status.is-closed .cx-dot{background:#b3261e;animation:none}
@media(min-width:768px){
}

/* 7 WhatsApp: a chat stream and quick replies that prefill the message */
@keyframes cxBub{from{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}
.cx-send-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:6px}

/* 8 FAQ: oversized numbers, one open at a time reads as an editorial list */
.cx-faq-grid{display:grid;gap:clamp(40px,5vw,80px)}
.cx-faq-head{display:flex;flex-direction:column;align-items:flex-start}
.cx-faq-head .cx-lead{margin-top:18px}
.cx-faq-list{display:grid;border-top:1px solid rgba(140,90,54,.25)}
.cx-faq-item{border-bottom:1px solid rgba(140,90,54,.25)}
.cx-faq-item summary{list-style:none;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:6px 22px;padding:clamp(18px,2.4vw,30px) 0;cursor:pointer}
.cx-faq-item summary::-webkit-details-marker{display:none}
.cx-faq-item summary:focus-visible{outline:2px solid var(--brown);outline-offset:4px}
.cx-faq-item .n{font:800 clamp(1.8rem,3.4vw,3rem)/1 var(--f);color:transparent;-webkit-text-stroke:1.2px var(--brown);transition:color .4s}
.cx-faq-item .q{font:800 clamp(1.1rem,2.2vw,1.8rem)/1.15 var(--f);text-transform:uppercase;letter-spacing:-.01em;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.cx-faq-item summary>i{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--brown);display:grid;place-items:center;color:var(--brown);transition:transform .5s,background .4s,color .4s}
.cx-faq-item summary:hover .q{transform:translateX(calc(var(--po-dir) * 8px))}
.cx-faq-item summary:hover>i,.cx-faq-item[open] summary>i{background:var(--gold);border-color:var(--gold);color:#2a1a0e}
.cx-faq-item[open] summary>i{transform:rotate(45deg)}
.cx-faq-item[open] .n{color:var(--gold);-webkit-text-stroke-color:var(--gold)}
.cx-faq-a{padding:0 0 28px calc(clamp(1.8rem,3.4vw,3rem) + 22px);max-width:760px}
.cx-faq-a p{opacity:.85;font-size:1.02rem}
.cx-faq-item[open] .cx-faq-a{animation:cxBub .6s cubic-bezier(.2,.8,.2,1) both}
@media(min-width:1024px){
  .cx-faq-grid{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr)}
  .cx-faq-head{position:sticky;top:140px;align-self:start}
}

/* 9 social: an offset mosaic; each tile reveals its handle on hover or focus */
.cx-social{background:var(--sand)}
.cx-social-head{display:flex;flex-direction:column;align-items:flex-start;margin-bottom:clamp(30px,4vw,60px)}
.cx-social-head .cx-lead{margin-top:18px}
.cx-mosaic{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(12px,2vw,24px)}
.cx-tile{position:relative;display:block;overflow:hidden;border-radius:30px;aspect-ratio:4/5;background:var(--sand2)}
.cx-tile img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.8,.2,1),filter .6s}
.cx-tile span{position:absolute;inset-inline-start:14px;bottom:14px;display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:60px;background:rgba(255,250,240,.95);color:#3d2817;font-size:.82rem;font-weight:500;transform:translateY(calc(100% + 30px));transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.cx-tile:hover img,.cx-tile:focus-visible img{transform:scale(1.08);filter:saturate(1.15)}
.cx-tile:hover span,.cx-tile:focus-visible span{transform:none}
.cx-tile:focus-visible{outline:2px solid var(--brown);outline-offset:4px}
.cx-tile.mo2{margin-top:clamp(30px,5vw,70px)}
.cx-tile.mo4{margin-top:clamp(30px,5vw,70px)}
@media(min-width:1024px){
  .cx-mosaic{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
  .cx-tile.mo2,.cx-tile.mo4{margin-top:clamp(50px,7vw,110px)}
  .cx-tile.mo1{margin-top:0}
  .cx-tile.mo3{margin-top:clamp(20px,3vw,40px)}
}

/* 10 final CTA: gold panel, oversized sign-off, cut-out pot peeking in */
.cx-final{background:var(--gold);color:#2a1a0e;min-height:clamp(300px,30vw,400px);display:flex;align-items:center}
.cx-final h2{color:#2a1a0e;font-size:clamp(2.6rem,12vw,9.5rem);line-height:.86}
.cx-final h2 i{color:#4a2f1d}
.cx-final .cx-eyebrow{color:#4a2f1d}
.cx-final-grid{position:relative;display:grid;align-items:center;min-height:360px}
.cx-final-copy{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start;gap:clamp(18px,2.4vw,30px)}
.cx-final-btns{display:flex;flex-wrap:wrap;gap:18px 30px;align-items:center}
.cx-final-link{display:inline-flex;align-items:center;gap:10px;font-weight:500;border-bottom:1.5px solid #2a1a0e;padding-bottom:2px}
.cx-final-cut{position:absolute;inset-inline-end:-2%;bottom:-18%;width:min(46%,420px);background:transparent;z-index:1;filter:drop-shadow(0 30px 40px rgba(60,30,10,.35));pointer-events:none}
.cx-final .btn.dark{background:#2a1a0e;color:#f6ead8}
.cx-final .btn.dark:hover{background:#fffaf0;color:#2a1a0e}
.cx-final-btns .btn.dark i{color:#e1b768}

/* ---- responsive: phones 320-767, tablets 768-1023, laptops 1024-1279, large 1280+ ---- */
@media(max-width:1023px){
  .cx-hero-grid{grid-template-columns:minmax(0,1fr);gap:40px}
  .cx-hero-art{order:2;width:min(100%,460px)}
  .cx-hero-copy{align-items:flex-start}
  .cx-token.tk2{inset-inline-end:2%}
  .cx-ring-badge{width:120px;height:120px}
  .cx-line{grid-template-columns:auto minmax(0,1fr) auto}
  .cx-final-grid{min-height:0;padding-bottom:160px}
}
@media(max-width:767px){
  .cx-sec{padding-block:70px}
  .cx-hero{padding-top:150px}
  .cx-hero .cx-bigword{font-size:clamp(4rem,28vw,8rem)}
  .cx-token.tk1,.cx-token.tk2,.cx-token.tk3{font-size:.8rem;padding:10px 14px}
  .cx-token.tk3{inset-inline-start:0}
  .cx-scroll{display:none}
  .cx-line{grid-template-columns:auto minmax(0,1fr)}
  .cx-line-go{display:none}
  .cx-line-ico{width:46px;height:46px}
  .cx-form{padding:22px 18px;border-radius:30px}
  .cx-map{aspect-ratio:auto;height:460px}
  .cx-map-card{left:14px;right:14px;max-width:none;bottom:14px}
  .cx-zoom{top:auto;bottom:auto;top:14px;inset-inline-end:14px;flex-direction:row}
  .cx-zoom button{width:42px;height:42px}
  .cx-faq-item summary{grid-template-columns:auto minmax(0,1fr) auto;column-gap:14px}
  .cx-faq-a{padding-inline-start:0}
  .cx-tile span{font-size:.72rem;padding:6px 10px}
  .cx-final-cut{width:58%;bottom:-8%}
  .cx-final-grid{padding-bottom:120px}
}
@media(prefers-reduced-motion:reduce){
  .cx-page *,.cx-page *::before,.cx-page *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* Final CTA: copy and pot sit in their own columns (side by side on desktop, stacked on phones), so nothing overlaps */
.cx-final-grid{position:relative;display:grid;align-items:center;min-height:0;padding:0;gap:clamp(30px,4vw,60px)}
.cx-final-cut{position:relative;inset:auto;bottom:auto;width:min(100%,340px);justify-self:center;margin:0;z-index:1}
@media(min-width:1024px){
  .cx-final-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(40px,6vw,100px)}
  .cx-final h2{font-size:clamp(2.6rem,6.2vw,6.2rem)}
  .cx-final-cut{width:min(100%,500px);justify-self:end}
}
.cx-final h2 i{display:block}

/* 404 page: one centred message under a logo-and-controls header (no footer) */
.nf-page{min-height:100vh;min-height:100svh;display:grid;place-items:center;padding:150px var(--pad) 90px;background:var(--sand);color:var(--ink);text-align:center}
.nf-sec{display:grid;justify-items:center;gap:clamp(14px,2vw,24px);max-width:820px}
.nf-code{font:800 clamp(7rem,30vw,20rem)/.8 var(--f);letter-spacing:-.05em;color:transparent;-webkit-text-stroke:2px var(--brown);margin:0}
.nf-sec h1{font-size:clamp(2.2rem,6vw,4.6rem);line-height:.95;letter-spacing:-.03em;margin:0}
.nf-sec h1 i{font-family:var(--s);font-weight:400;color:var(--brown)}
.nf-lead{max-width:460px;opacity:.85;font-size:clamp(1rem,1.2vw,1.15rem);margin:0}

/* Footer: five columns on one line (desktop), equal-height cards, real social icons, email signup */
.fgrid>*{display:flex;flex-direction:column;min-width:0;background:none;border:0;border-radius:0;padding:0}
.fgrid .social{margin-top:0;padding-top:0}
.social a i{font-size:1rem}
.fjoin-form{margin-top:auto}
.fjoin p{font-size:.92rem;opacity:.8;margin-bottom:16px}
.fjoin-row{display:flex;align-items:center;gap:10px;background:rgba(255,250,240,.06);border:1px solid rgba(255,250,240,.18);border-radius:999px;padding:4px 4px 4px 18px;max-width:330px;transition:border-color .3s,background .3s}
.fjoin-input{flex:1;min-width:0;background:transparent;border:0;color:inherit;font:inherit;font-size:1.02rem;padding:12px 0;outline:none}
.fjoin-input::placeholder{color:inherit;opacity:.6}
.fjoin-row:focus-within{border-color:var(--gold);background:rgba(255,250,240,.1)}
.fjoin-btn{width:52px;height:52px;border-radius:50%;border:0;background:var(--gold);color:var(--ink);display:grid;place-items:center;cursor:pointer;flex:none;box-shadow:0 10px 24px rgba(0,0,0,.35);transition:transform .3s}
.fjoin-btn:hover{transform:scale(1.06)}
.fjoin-btn:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.fjoin-err{display:block;min-height:1.3em;margin-top:8px;font-size:.85rem;color:#ffb4a2}
.fjoin-row[aria-invalid="true"]{border-color:#ffb4a2}
.fjoin-ok{font-size:.9rem;color:var(--gold);margin:8px 0 0}
.fjoin-note{font-size:.8rem;opacity:.65;margin:14px 0 0 !important;margin-bottom:0 !important}
@media(min-width:1024px){
  .fgrid{grid-template-columns:1fr .85fr .85fr 1fr 1.3fr;gap:clamp(12px,1.2vw,18px)}
  .fgrid>*{padding:0}
  .fjoin-btn{width:40px;height:40px}
}

/* RTL toggle shows the text "RTL" inside the same round header button */
#rtlToggle{font:700 .72rem/1 var(--f);letter-spacing:.06em}

/* Header: the dropdown button (Home, Dashboard) stays highlighted while one of its pages is open */
.dd-btn.is-current{background:rgba(217,164,65,.25);color:var(--brown)}

/* Home 2: the pot wheel sits a little further left on desktop, clear of the pot cards */
@media(min-width:992px){.h2-wheel{translate:-2.5vw 0}}

/* Home 2: the scroll hint and its line sit further right on desktop, clear of the pot ring */
@media(min-width:992px){.h2-scroll{inset-inline-start:calc(var(--pad) + 4vw)}}

/* ===== Home 2: "Lift the lid" (tonight's pot) ===== */
.h2-lid{position:relative;overflow:hidden;padding:clamp(70px,9vw,140px) var(--pad);background:radial-gradient(circle at 18% 35%,rgba(232,184,101,.3),transparent 55%),var(--sand)}
.h2-lid-wrap{display:grid;gap:clamp(40px,6vw,90px);grid-template-columns:minmax(0,1fr);align-items:center;max-width:1400px;margin:0 auto}
@media (min-width:992px){.h2-lid-wrap{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr)}}
.lid-pot-stage{display:grid;justify-items:center;gap:26px;min-width:0}
.lid-pot{position:relative;width:min(470px,84vw);aspect-ratio:1}
.lid-pot-base{position:absolute;inset:6%;border-radius:50%;overflow:hidden;box-shadow:0 40px 80px rgba(90,55,20,.32)}
.lid-pot-base img{width:100%;height:100%;object-fit:contain;background:#fff;transition:transform 1.4s cubic-bezier(.2,.7,.2,1)}
.lid-pot-base::after{content:"";position:absolute;inset:0;background:radial-gradient(circle,transparent 45%,rgba(20,12,6,.45));pointer-events:none}
.lid-pot.is-open .lid-pot-base img{transform:scale(1.06)}
.lid-pot-msg{position:absolute;inset:0;z-index:3;display:grid;place-content:center;justify-items:center;text-align:center;color:#fffaf0;text-shadow:0 2px 14px rgba(0,0,0,.55);opacity:0;transform:translateY(10px);transition:opacity .9s .5s,transform .9s .5s;pointer-events:none}
.lid-pot.has-msg.is-open .lid-pot-msg{opacity:1;transform:none}
#lidMsg{font:800 clamp(1.5rem,3.6vw,2.4rem)/1 var(--f);letter-spacing:-.02em;text-transform:uppercase}
#lidMsg2{font:italic 400 clamp(1.1rem,2.2vw,1.4rem) var(--s);opacity:.92;margin-top:6px}
.h2-lid-cover{position:absolute;inset:0;z-index:2;border-radius:50%;background:radial-gradient(circle at 35% 28%,#f6dc9e,#d9a441 42%,#a86b35 78%,#7a4a22);box-shadow:inset 0 -14px 30px rgba(60,30,8,.35),0 22px 50px rgba(90,55,20,.3);transform-origin:50% 90%;transition:transform 1.2s cubic-bezier(.7,0,.2,1),opacity .9s .25s}
.h2-lid-cover::before{content:"";position:absolute;inset:14%;border-radius:50%;border:1.5px dashed rgba(255,240,200,.45)}
.h2-lid-cover::after{content:"";position:absolute;top:-30px;left:50%;translate:-50% 0;width:110px;height:40px;border-radius:60px 60px 0 0;border:12px solid #7a4a22;border-bottom:0}
.lid-pot.is-open .h2-lid-cover{transform:translate(-30%,-95%) rotate(-28deg);opacity:0}
.lid-pot.shake{animation:lidShake .6s cubic-bezier(.36,.07,.19,.97)}
@keyframes lidShake{0%,100%{transform:none}20%{transform:rotate(-2deg)}40%{transform:rotate(2deg)}60%{transform:rotate(-1deg)}80%{transform:rotate(1deg)}}
.h2-steam{position:absolute;left:24%;right:24%;top:-14%;height:34%;display:flex;justify-content:space-between;z-index:4;pointer-events:none}
.h2-steam i{display:block;width:7px;height:100%;border-radius:8px;background:linear-gradient(rgba(138,90,30,0),rgba(138,90,30,.42));opacity:0;font-style:normal;animation:steamRise 2.6s ease-in infinite;animation-play-state:paused}
.h2-steam i:nth-child(2){animation-delay:.4s}.h2-steam i:nth-child(3){animation-delay:.8s}.h2-steam i:nth-child(4){animation-delay:1.2s}.h2-steam i:nth-child(5){animation-delay:1.6s}
.lid-pot.is-open .h2-steam i{animation-play-state:running}
@keyframes steamRise{0%{transform:translateY(24px);opacity:0}35%{opacity:1}100%{transform:translateY(-70px);opacity:0}}
.h2-lift{display:inline-flex;align-items:center;gap:10px;padding:14px 26px;border-radius:60px;border:1.5px solid var(--ink);background:transparent;color:var(--ink);font:inherit;font-size:.95rem;cursor:pointer;transition:background .3s,color .3s}
.h2-lift:hover{background:var(--ink);color:var(--sand)}
.h2-lid-title{font-size:clamp(2.4rem,5.2vw,4.6rem)}
.h2-lid-title i{text-transform:none}
.h2-lid-status{display:flex;align-items:center;gap:10px;margin:18px 0 26px;font-size:.92rem;color:var(--brown)}
.h2-lid .live{width:9px;height:9px;border-radius:50%;background:#c2741c;flex:none}
.h2-lid-status.is-open .live{background:#2e9e5b;box-shadow:0 0 0 0 rgba(46,158,91,.6);animation:liveRing 2s infinite}
@keyframes liveRing{0%{box-shadow:0 0 0 0 rgba(46,158,91,.55)}70%{box-shadow:0 0 0 10px rgba(46,158,91,0)}100%{box-shadow:0 0 0 0 rgba(46,158,91,0)}}
.h2-moods{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:26px}
.h2-mood{padding:12px 18px;border-radius:60px;border:1.5px solid rgba(61,40,23,.25);background:transparent;color:var(--ink);font:inherit;font-size:.92rem;cursor:pointer;transition:background .3s,color .3s,border-color .3s}
.h2-mood:hover{border-color:var(--gold)}
.h2-mood[aria-pressed="true"]{background:var(--ink);color:var(--sand);border-color:var(--ink)}
.h2-surprise{display:inline-flex;align-items:center;gap:8px;background:var(--gold);color:var(--on-gold,#3d2817);border-color:var(--gold)}
.h2-surprise:hover{background:var(--ink);color:var(--sand);border-color:var(--ink)}
.lid-dish{display:grid;gap:10px;min-height:170px;padding:22px 0;border-top:1px solid rgba(61,40,23,.18)}
.lid-dish.swap{animation:dishIn .7s cubic-bezier(.2,.7,.2,1) both}
@keyframes dishIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.lid-dish h3{font-size:clamp(1.7rem,3.2vw,2.5rem);text-transform:uppercase}
.lid-dish p{max-width:46ch;opacity:.85}
.lid-dish-foot{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;margin-top:6px}
.lid-dish-price{font:800 1.3rem var(--f)}
.h2-lid-form{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end;margin-top:14px}
.h2-field{flex:1 1 260px;display:grid;gap:8px;min-width:0}
.h2-field label{font-size:.88rem;opacity:.8}
.h2-field input{width:100%;font:inherit;font-size:1rem;color:var(--ink);background:transparent;border:0;border-bottom:1.5px solid var(--brown);padding:10px 2px;border-radius:0;transition:border-color .3s}
.h2-field input:focus{outline:none;border-bottom-color:var(--gold);box-shadow:0 2px 0 var(--gold)}
.h2-field input[aria-invalid="true"]{border-bottom-color:#b4432f}
.h2-fe{font-size:.82rem;color:#b4432f;min-height:1em}
.h2-fe:empty{visibility:hidden}
.h2-lid-reply{margin-top:12px;min-height:1.5em;color:var(--brown);font-family:var(--s);font-style:italic;font-size:1.2rem}
@media (max-width:520px){.h2-steam{left:18%;right:18%}.h2-lid-cover::after{width:84px;height:32px}}
@media (prefers-reduced-motion:reduce){.h2-steam i,.lid-pot.shake,.lid-dish.swap,.h2-lid .live{animation:none!important}}

/* Home 1: party planner */
.plan{background:#2a1a0e;color:var(--sand);padding:clamp(90px,10vw,150px) var(--pad);position:relative;overflow:hidden}
.plan::before{content:"";position:absolute;width:60vw;aspect-ratio:1;right:-18vw;top:-22vw;border-radius:50%;background:radial-gradient(circle,rgba(225,183,104,.28),transparent 65%);pointer-events:none}
.plan-wrap{max-width:1100px;margin:0 auto;position:relative}
.plan .eyebrow{color:var(--gold)}
.plan h2{color:var(--sand);font-size:clamp(2.6rem,6vw,5rem)}
.plan h2 i{color:var(--gold)}
.plan-board{margin-top:clamp(30px,4vw,56px);display:grid;gap:26px;justify-items:start}
.plan-count{display:flex;align-items:baseline;gap:14px}
.plan-count output{font-family:var(--s);font-size:clamp(5rem,14vw,10rem);line-height:.9;color:var(--gold);font-variant-numeric:tabular-nums}
.plan-count span{font-size:1.1rem;letter-spacing:.2em;text-transform:uppercase;opacity:.7}
.plan-range{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:6px;outline:none;background:linear-gradient(90deg,var(--gold) var(--p,10%),rgba(255,250,240,.18) var(--p,10%));cursor:pointer}
.plan-range::-webkit-slider-thumb{-webkit-appearance:none;width:30px;height:30px;border-radius:50%;background:var(--sand);border:6px solid var(--gold);box-shadow:0 0 0 8px rgba(225,183,104,.2);transition:transform .25s}
.plan-range::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--sand);border:5px solid var(--gold)}
.plan-range:active::-webkit-slider-thumb{transform:scale(1.2)}
.plan-range:focus-visible{box-shadow:0 0 0 4px rgba(225,183,104,.5)}
.plan-scale{width:100%;display:flex;justify-content:space-between;font-size:.8rem;opacity:.55;margin-top:-14px}
.plan-result{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;width:100%}
.plan-line{display:flex;align-items:center;gap:18px;padding:22px;border-radius:24px;background:rgba(255,250,240,.06);border:1px solid rgba(225,183,104,.25);transition:transform .4s ease,background .4s ease}
.plan-line:hover{transform:translateY(-4px);background:rgba(255,250,240,.1)}
.plan-ico{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:#2a1a0e;flex:none;font-size:1.3rem}
.plan-line b{display:block;font-family:var(--s);font-size:2.8rem;line-height:1;color:var(--sand)}
.plan-line span{font-size:.92rem;opacity:.75}
.plan-say{font-family:var(--s);font-style:italic;font-size:clamp(1.3rem,2.4vw,1.8rem);color:var(--gold);margin:0}
.plan-cta{display:inline-flex;align-items:center;gap:12px;background:var(--gold);color:#2a1a0e;padding:17px 30px;border-radius:999px;font-weight:500;transition:transform .3s ease,box-shadow .3s ease}
.plan-cta:hover{transform:translateY(-3px);box-shadow:0 18px 30px rgba(225,183,104,.35)}
@media(max-width:600px){.plan-result{grid-template-columns:1fr}}

/* Home 2: menu in motion (pinned, scroll-driven gallery) */
.h2-rail{position:relative;height:320vh;background:#2a1a0e;color:#fff3dc}
.h2-rail-pin{position:sticky;top:0;height:100vh;overflow:hidden;display:flex;flex-direction:column;justify-content:center;padding:0 var(--pad)}
.h2-rail-head{margin-bottom:clamp(24px,4vh,44px)}
.h2-rail .eyebrow{color:#e1b768}
.h2-rail .h2-h2{color:#fff3dc}
.h2-rail .h2-h2 i{color:#e1b768}
.h2-rail-track{display:flex;gap:clamp(18px,2.4vw,36px);will-change:transform}
.h2-rail-card{position:relative;flex:none;width:min(40vw,540px);height:min(56vh,560px);border-radius:28px;overflow:hidden;color:#fff;box-shadow:0 40px 80px rgba(0,0,0,.35)}
.h2-rail-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.4s cubic-bezier(.2,.7,.2,1)}
.h2-rail-card:hover img{transform:scale(1.07)}
.h2-rail-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(20,12,6,.92));pointer-events:none}
.h2-rail-info{position:absolute;inset:auto 0 0 0;padding:clamp(20px,2.6vw,34px);z-index:2}
.h2-rail-no{font-family:var(--s);font-style:italic;color:#e1b768;font-size:1.15rem;margin:0}
.h2-rail-info h3{font-size:clamp(1.6rem,2.6vw,2.4rem);margin:6px 0 10px;color:#fff}
.h2-rail-info p{margin:0;opacity:.88;max-width:34ch;line-height:1.5}
.h2-rail-price{display:inline-flex;margin-top:18px;padding:10px 18px;border-radius:999px;background:#e1b768;color:#2a1a0e;font-weight:500}
.h2-rail-end{background:#e1b768;color:#2a1a0e;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:14px;padding:clamp(28px,4vw,56px)}
.h2-rail-end .h2-rail-no{color:#5e2214}
.h2-rail-end h3{font-size:clamp(2.2rem,4vw,3.6rem);line-height:1;margin:0;color:#2a1a0e}
.h2-rail-end h3 i{font-family:var(--s);font-weight:400;color:#8a3320}
.h2-rail-bar{height:2px;background:rgba(225,183,104,.25);margin-top:30px;border-radius:2px;overflow:hidden}
.h2-rail-bar span{display:block;height:100%;width:0;background:#e1b768}
@media(max-width:820px){
  .h2-rail{height:auto}
  .h2-rail-pin{position:static;height:auto;overflow:visible;padding-block:90px}
  .h2-rail-track{overflow-x:auto;scroll-snap-type:x mandatory;transform:none!important;padding-bottom:12px}
  .h2-rail-card{width:78vw;height:440px;scroll-snap-align:start}
}
@media(prefers-reduced-motion:reduce){.h2-rail-card img{transition:none}}

/* Menu: dessert photos on the right of each name */
.mn-dl-img .dl-item{display:flex;align-items:center;justify-content:space-between;gap:16px}
.mn-dl-img .dl-thumb{width:86px;height:86px;object-fit:cover;border-radius:16px;flex:none;box-shadow:0 12px 24px rgba(0,0,0,.25);transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.mn-dl-img .dl-item:hover .dl-thumb{transform:scale(1.08) rotate(-3deg)}
@media(max-width:600px){.mn-dl-img .dl-thumb{width:68px;height:68px;border-radius:12px}}

/* Menu starters: on desktop four plates fit the screen exactly, edge to edge within the page margins; the fifth scrolls in */
@media(min-width:821px){
  .mn-tall{width:calc((100% - 3 * clamp(16px,2.4vw,30px)) / 4)}
  .mn-rail{scroll-padding-inline:var(--pad)}
}

/* Footer: Visit us lines with gold icons */
.footer address .fi{display:flex;align-items:center;gap:12px;margin-bottom:6px}
.footer address .fi>i{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;flex:none;background:rgba(225,183,104,.16);color:var(--gold);font-size:.8rem}
.footer address .fi>span{min-width:0}

/* Footer social icons */
.footer .social a{color:#e1b768;opacity:1;border-color:rgba(225,183,104,.7)}
.footer .social a i{color:inherit}
.footer .social a:hover{color:var(--brown)}

/* Menu pots: the Add button sits on the top-right of the photo, so it stays visible while the photo is on screen */
.mn-pan-img>.mn-add{position:absolute;top:16px;inset-inline-end:16px;z-index:3;background:rgba(255,250,240,.94);box-shadow:0 10px 24px rgba(40,22,10,.25)}
.mn-pan-img>.mn-add:hover{background:var(--ink);color:var(--sand)}
.mn-pan-img>.mn-add[aria-pressed="true"]{background:var(--gold);border-color:var(--gold);color:var(--ink)}

/* Menu pots: name, description and spice level sit on the photo, over a soft dark fade */
.mn-pan-img::after{content:"";position:absolute;inset:auto 0 0 0;height:60%;background:linear-gradient(180deg,transparent,rgba(20,12,6,.88));pointer-events:none;z-index:1}
.mn-pan-info{position:absolute;inset:auto 0 0 0;padding:22px 24px 24px;z-index:2;color:#fff8ee;display:grid;gap:8px;justify-items:start}
.mn-pan-info .mn-meta{display:flex;gap:6px}
.mn-pan-info .mn-spice i{color:rgba(255,248,238,.35)}
.mn-pan-info .mn-spice i.on{color:#e1b768}
.mn-pan-info h3{font:800 clamp(1.4rem,2.2vw,1.9rem)/1.05 var(--f);text-transform:uppercase;color:#fff8ee;margin:0}
.mn-pan-info p{margin:0;font-size:.92rem;line-height:1.5;color:rgba(255,248,238,.88)}
.mn-pan-info .mn-meta,.mn-pan-info .mn-meta span:not(.mn-spice){color:rgba(255,248,238,.9);font-size:.85rem}

/* Menu hero: the title keeps its descenders (the y in "story"), and the small circle sits lower and further left */
.mn-mega .ln{overflow:visible;padding-bottom:.14em}
.mn-art .mn-art-card{grid-area:stats;position:relative;inset:auto;width:100%;justify-content:space-between}
.mn-art .mn-art-card>div{flex:1}

/* Menu veg section: the preview panel sits in a fixed column on the right of the list */
.mn-veg-grid{display:grid;grid-template-columns:minmax(0,1fr) clamp(260px,24vw,340px);gap:clamp(30px,4vw,70px);align-items:start}
.mn-veg-side{position:relative;align-self:stretch}
@media(min-width:1025px){.mn-veg-main{padding-bottom:150px}}
.mn-veg-side .mn-float img{opacity:1}
.mn-veg-side .mn-float{position:absolute;left:0;right:0;top:0;width:100%;height:auto;aspect-ratio:4/5;opacity:0;transform:translateY(-50%);z-index:1;transition:top .55s cubic-bezier(.2,.8,.2,1)}
@media(max-width:1024px){.mn-veg-grid{grid-template-columns:minmax(0,1fr)}.mn-veg-side{display:none}}

/* menu hero: three quick facts under the jump links */
.mn-hero-facts{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin-top:22px;padding:0}
.mn-hero-facts li{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border:1px solid rgba(140,90,54,.3);border-radius:999px;font-size:.9rem;color:var(--ink);background:rgba(255,250,240,.7)}
.mn-hero-facts i{color:var(--brown);font-size:.85rem}

/* Menu hero: a glass stat card that sits over the bottom-left of the photo */
.mn-art-card{position:absolute;inset-inline-end:3%;bottom:3%;z-index:4;display:flex;gap:6px;padding:14px 18px;border-radius:22px;background:rgba(255,250,240,.82);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 18px 40px rgba(60,35,15,.22);border:1px solid rgba(255,250,240,.7)}
.mn-art-card>div{display:grid;gap:2px;padding:0 14px;border-inline-start:1px solid rgba(140,90,54,.25)}
.mn-art-card>div:first-child{border:0;padding-inline-start:4px}
.mn-art-card b{font:800 1.5rem/1 var(--f);color:var(--ink)}
.mn-art-card span{font-size:.72rem;color:var(--brown);letter-spacing:.02em;white-space:nowrap}
@media(max-width:600px){.mn-art-card{inset-inline-end:2%;bottom:3%;padding:10px 12px}.mn-art-card>div{padding:0 9px}.mn-art-card b{font-size:1.2rem}.mn-art-card span{font-size:.64rem}}

/* Party hero: gold badge on the top-right of the photo */
.po-hero-badge{position:absolute;inset-inline-end:-3%;top:4%;z-index:5;width:clamp(118px,13vw,150px);aspect-ratio:1;border-radius:50%;background:var(--gold);color:var(--ink);display:grid;place-content:center;justify-items:center;gap:6px;text-align:center;font:800 1rem/1.05 var(--f);text-transform:uppercase;transform:rotate(-10deg);box-shadow:0 16px 34px rgba(90,50,20,.25)}
.po-hero-badge i{font-size:1.4rem}
@media(max-width:600px){.po-hero-badge{width:98px;font-size:.78rem}.po-hero-badge i{font-size:1.1rem}}

/* Contact: real map embed */
.cx-map.cx-map-real{aspect-ratio:auto;height:clamp(380px,46vw,520px);background:var(--sand2)}
.cx-map-real iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:sepia(.15) saturate(.9)}

/* ===== Redesigned contact sign-off (cxf) ===== */
.cxf{position:relative;isolation:isolate;overflow:hidden;background:var(--gold);color:#2a1a0e;padding:clamp(72px,9vw,140px) var(--pad)}
.cxf::before{content:"";position:absolute;inset-inline-end:-140px;top:-140px;width:460px;height:460px;border-radius:50%;border:1.5px dashed rgba(42,26,14,.28);animation:cxSpin 60s linear infinite;pointer-events:none;z-index:0}
.cxf::after{content:"";position:absolute;inset-inline-start:-90px;bottom:-120px;width:300px;height:300px;border-radius:50%;background:rgba(255,250,240,.14);pointer-events:none;z-index:0}
.cxf-wrap{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(40px,6vw,96px);align-items:center;max-width:1440px;margin-inline:auto}
.cxf-eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;color:#4a2f1d;font-weight:500;margin:0 0 16px}
.cxf-dot{width:8px;height:8px;border-radius:50%;background:#2a1a0e;display:inline-block}
.cxf h2{color:#2a1a0e;font-size:clamp(2.8rem,7.4vw,6.6rem);line-height:.9;letter-spacing:-.02em;font-weight:800;margin:0 0 22px}
.cxf h2 i{display:block;font-weight:400;color:#4a2f1d}
.cxf-lead{font-size:clamp(1rem,1.3vw,1.15rem);line-height:1.6;color:#3d2616;max-width:46ch;margin:0 0 30px}
.cxf-btns{display:flex;flex-wrap:wrap;gap:18px 30px;align-items:center}
.cxf .btn.dark{background:#2a1a0e;color:#f6ead8}
.cxf .btn.dark:hover{background:#fffaf0;color:#2a1a0e}
.cxf .btn.dark i{color:#e1b768}
.cxf-link{display:inline-flex;align-items:center;gap:10px;font-weight:500;color:#2a1a0e;border-bottom:1.5px solid #2a1a0e;padding-bottom:2px}
.cxf-chips{list-style:none;margin:34px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:12px}
.cxf-chips li{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:40px;background:rgba(255,250,240,.55);border:1px solid rgba(42,26,14,.15);font-size:.9rem;font-weight:500;color:#2a1a0e}
.cxf-chips i{color:#8a4b1c}
.cxf-card{justify-self:end;width:100%;max-width:520px;background:#2a1a0e;color:#f6ead8;border-radius:28px;overflow:hidden;box-shadow:0 40px 80px rgba(60,30,10,.35)}
.cxf-img{aspect-ratio:4/3;overflow:hidden}
.cxf-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s ease}
.cxf-card:hover .cxf-img img{transform:scale(1.05)}
.cxf-info{padding:clamp(22px,3vw,32px);display:grid;gap:14px}
.cxf-info h3{margin:0 0 4px;font-size:1.5rem;color:#f6ead8;line-height:1.2}
.cxf-info p,.cxf-info a{display:flex;align-items:center;gap:12px;margin:0;color:#f6ead8;font-size:.98rem;line-height:1.5}
.cxf-info a{transition:color .2s ease}
.cxf-info a:hover{color:#e1b768}
.cxf-info i{color:#e1b768;width:18px;text-align:center;flex:0 0 18px}
@media(max-width:900px){
  .cxf-wrap{grid-template-columns:minmax(0,1fr)}
  .cxf-card{justify-self:stretch;max-width:none}
}
@media(prefers-reduced-motion:reduce){.cxf::before{animation:none}}

/* ===== Contact hero art (cxh): same photo grid as the menu hero: tall tile, two stacked tiles, ticket strip ===== */
@keyframes cxhReveal{from{clip-path:inset(100% 0 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes cxhZoom{to{transform:scale(1)}}
@keyframes cxhFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes cxhPulse{0%{box-shadow:0 0 0 0 rgba(47,168,79,.6)}70%{box-shadow:0 0 0 12px rgba(47,168,79,0)}100%{box-shadow:0 0 0 0 rgba(47,168,79,0)}}
@keyframes cxhSpinBadge{to{transform:rotate(360deg)}}
.cx-hero-art.cxh{aspect-ratio:auto;width:100%;max-width:560px;justify-self:end}
.cxh-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.9fr);grid-template-rows:minmax(260px,1fr) minmax(200px,1fr) auto;grid-template-areas:"hero b" "hero c" "ticket ticket";gap:clamp(12px,1.3vw,18px)}
.cxh-tile{margin:0;position:relative;min-height:0;overflow:hidden;border-radius:32px;border:6px solid #fff;box-shadow:0 26px 56px rgba(150,90,30,.22);animation:cxhReveal 1.4s .2s cubic-bezier(.7,0,.2,1) both}
.cxh-tile img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.12);animation:cxhZoom 2.4s .2s ease-out forwards}
.cxh-tile-hero{grid-area:hero;border-width:10px;box-shadow:0 40px 80px rgba(150,90,30,.3)}
.cxh-tile-b{grid-area:b}
.cxh-tile-c{grid-area:c}
.cxh-status{position:absolute;inset-inline-start:18px;bottom:18px;z-index:4;display:flex;align-items:center;gap:12px;max-width:calc(100% - 36px);padding:12px 16px;border-radius:18px;background:var(--glass);color:var(--ink);box-shadow:0 18px 40px rgba(120,70,20,.2);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.cxh-status strong{display:block;font-size:.95rem;color:var(--ink)}
.cxh-status small{display:block;font-size:.78rem;color:var(--ink);opacity:.75}
.cxh-live{width:12px;height:12px;border-radius:50%;background:#2fa84f;flex:0 0 12px;animation:cxhPulse 2s infinite}
.cxh-live.off{background:#b8862f;animation:none}
.cxh-badge{position:absolute;top:-48px;inset-inline-end:-39px;z-index:4;width:clamp(96px,9vw,118px);aspect-ratio:1;border-radius:50%;background:#c99645;color:#2a1a0e;display:grid;place-items:center;box-shadow:0 20px 40px rgba(120,70,20,.25);text-decoration:none}
.cxh-badge svg{position:absolute;inset:0;width:100%;height:100%;fill:currentColor;animation:cxhSpinBadge 22s linear infinite}
.cxh-badge text{font-size:13px;font-weight:600;letter-spacing:.08em}
.cxh-badge i{font-size:clamp(1.4rem,2.2vw,2rem)}
.cxh-ticket{grid-area:ticket;display:flex;align-items:center;gap:14px;padding:14px 18px 14px 14px;border-radius:22px;background:#2a1a0e;color:#f6ead8;box-shadow:0 24px 50px rgba(60,30,10,.35);text-decoration:none;transition:transform .3s}
.cxh-ticket:hover{transform:translateY(-3px)}
.cxh-ticket small{display:block;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:#e1b768}
.cxh-ticket strong{display:block;font-size:1rem;font-weight:600;color:#f6ead8}
.cxh-ticket-ico{width:44px;height:44px;border-radius:14px;background:#e1b768;color:#2a1a0e;display:grid;place-items:center;flex:0 0 44px}
.cxh-price{margin-inline-start:auto;font-size:1.1rem;font-weight:700;color:#e1b768}
@media(max-width:620px){
  .cxh-tile{border-radius:24px}
  .cxh-status{padding:10px 12px}
  .cxh-status strong{font-size:.85rem}
  .cxh-badge{width:88px}
  .cxh-badge text{font-size:11px}
  .cxh-ticket{padding:10px 12px}
  .cxh-ticket strong{font-size:.9rem}
}
@media(prefers-reduced-motion:reduce){.cxh-arch,.cxh-arch img,.cxh-status,.cxh-ticket,.cxh-badge svg,.cxh-live{animation:none!important}}

/* ===== Home order section redesign (ord-grid): numbered occasion list + menu-ticket card ===== */
.ord-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(44px,6vw,100px);align-items:start}
.ord-side{position:relative}
@media(min-width:992px){.ord-side{position:sticky;top:120px}}
.ord-side .ord-title{margin-top:14px}
.ord-side .ord-lead{margin-top:18px;max-width:40ch}
.ord-occ{display:grid;gap:12px;margin-top:clamp(30px,4vw,44px)}
.ord-occ .occ{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:clamp(12px,1.6vw,18px);width:100%;padding:16px 20px;border-radius:24px;border:1.5px solid rgba(61,40,23,.18);background:var(--sand);color:var(--ink);text-align:start;font-family:'DM Sans',sans-serif;font-size:1rem;cursor:pointer;transition:background .35s,color .35s,border-color .35s,box-shadow .35s,transform .35s}
.ord-occ .occ:hover{transform:translateY(-2px);border-color:rgba(61,40,23,.4)}
.ord-occ .occ-n{font:800 .78rem/1 var(--f);letter-spacing:.14em;opacity:.45}
.ord-occ .occ-ico{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:rgba(61,40,23,.08);color:var(--brown);font-size:1.02rem;transition:background .35s,color .35s}
.ord-occ .occ-txt{display:flex;flex-direction:column;gap:3px;min-width:0}
.ord-occ .occ-txt b{font:700 1.08rem/1.2 var(--f);color:inherit}
.ord-occ .occ-txt small{font-size:.84rem;opacity:.7;line-height:1.4}
.ord-occ .occ-arr{font-size:.9rem;opacity:.3;transition:opacity .35s}
.ord-occ .occ[aria-pressed="true"]{background:var(--ink);color:var(--sand);border-color:var(--ink);box-shadow:0 20px 44px rgba(61,40,23,.25)}
.ord-occ .occ[aria-pressed="true"] .occ-ico{background:#e8b865;color:#2a1a0e}
.ord-occ .occ[aria-pressed="true"] .occ-arr{opacity:1}
.ord-occ .occ[aria-pressed="true"] .occ-n{opacity:.8}
.ord-stage{position:relative}
.ord-card{position:relative;background:var(--sand);border:1.5px dashed rgba(61,40,23,.28);border-radius:34px;padding:clamp(28px,4vw,52px);box-shadow:0 34px 80px rgba(61,40,23,.12)}
.ord-card::before,.ord-card::after{content:"";position:absolute;top:50%;width:36px;height:36px;margin-top:-18px;border-radius:50%;background:var(--sand2)}
.ord-card::before{inset-inline-start:-19px}
.ord-card::after{inset-inline-end:-19px}
.ord-pick{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(20px,2.6vw,34px);align-items:start}
.ord-pick.swap{animation:pickIn .6s cubic-bezier(.2,.8,.2,1)}
.ord-pick .pick-ico{width:clamp(84px,9vw,120px);height:clamp(84px,9vw,120px)}
.ord-pick .pick-copy h3{font-size:clamp(2.1rem,4.2vw,3.6rem)}
.ord-pick .pick-copy p#pickNote{margin-top:4px}
.ord-pick .pick-meta{gap:14px;margin-top:22px}
.ord-pick .pick-meta b{display:inline-block;padding:10px 18px;border:2px solid var(--ink);border-radius:14px;transform:rotate(-4deg);font:800 1.6rem/1 var(--f);color:var(--ink);background:var(--sand)}
.ord-pick .pick-meta span{background:rgba(61,40,23,.08)}
.ord-card .ord-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 30px;margin-top:clamp(26px,3vw,36px);padding-top:clamp(22px,2.6vw,30px);border-top:1px dashed rgba(61,40,23,.28)}
.ord-card .ord-cta{padding:17px 28px}
.ord-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:22px 30px;margin-top:26px;padding:0 6px}
.ord-foot .ord-status{max-width:none;width:auto;flex:1 1 280px}
.ord-foot .oc-bar{flex-basis:100%}
.ord-foot .ord-contact{gap:10px 22px}
.ord-foot .ord-contact a,.ord-foot .ord-contact span{font-size:.94rem}
.ord-foot .ord-contact i{width:36px;height:36px}
@media(max-width:991px){
  .ord-grid{grid-template-columns:minmax(0,1fr);gap:48px}
  .ord-stage{max-width:720px;width:100%;margin-inline:auto}
}
@media(max-width:767px){
  .ord-foot{flex-direction:column;align-items:flex-start;padding:0}
  .ord-foot .ord-status{flex-basis:auto}
}
@media(max-width:520px){
  .ord-occ .occ{grid-template-columns:auto minmax(0,1fr) auto;padding:14px 16px;border-radius:20px}
  .ord-occ .occ-n{display:none}
  .ord-occ .occ-ico{width:40px;height:40px;font-size:.95rem}
  .ord-occ .occ-txt b{font-size:1rem}
  .ord-card{border-radius:26px;padding:26px 22px}
  .ord-card::before,.ord-card::after{width:28px;height:28px;margin-top:-14px}
  .ord-card::before{inset-inline-start:-14px}
  .ord-card::after{inset-inline-end:-14px}
  .ord-pick{grid-template-columns:minmax(0,1fr);justify-items:start}
  .ord-pick .pick-ico{width:76px;height:76px}
  .ord-card .ord-actions{flex-direction:column;align-items:stretch}
  .ord-card .ord-cta{justify-content:center}
  .ord-card .ord-ghost{justify-content:center}
}
@media(prefers-reduced-motion:reduce){.ord-pick.swap{animation:none}}

/* ===== Home party planner redesign (plan-grid): light sand section, live pot drawing, dark pot-plan ticket ===== */
.plan{background:var(--sand);color:var(--ink);padding:clamp(90px,10vw,150px) var(--pad);position:relative;overflow:hidden;isolation:isolate}
.plan::before{content:"";position:absolute;width:55vw;aspect-ratio:1;right:-20vw;top:-24vw;border-radius:50%;background:radial-gradient(circle,rgba(225,183,104,.3),transparent 65%);pointer-events:none;z-index:-1}
.plan-wrap{max-width:1400px;margin:0 auto;position:relative}
.plan-head{max-width:760px;margin-bottom:clamp(40px,5vw,70px)}
.plan .eyebrow{color:var(--brown)}
.plan h2{color:var(--ink);font-size:clamp(3.2rem,8vw,7rem);line-height:.9;margin-top:14px}
.plan h2 i{color:var(--brown)}
.plan-lead{font-size:1.1rem;opacity:.78;margin-top:18px;max-width:46ch}
.plan-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,6vw,96px);align-items:stretch}
.plan-input{display:flex;flex-direction:column;justify-content:center;gap:28px}
.plan-count{display:flex;align-items:baseline;gap:16px}
.plan-count output{font-family:var(--s);font-style:italic;font-size:clamp(6rem,16vw,12rem);line-height:.85;color:var(--brown);font-variant-numeric:tabular-nums}
.plan-count span{font:700 1rem var(--f);letter-spacing:.22em;text-transform:uppercase;opacity:.7}
.plan-range{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:6px;outline:none;background:linear-gradient(90deg,var(--gold) var(--p,10%),rgba(128,100,70,.25) var(--p,10%));cursor:pointer}
.plan-range::-webkit-slider-thumb{-webkit-appearance:none;width:30px;height:30px;border-radius:50%;background:#fffaf0;border:6px solid var(--gold);box-shadow:0 0 0 8px rgba(225,183,104,.22);transition:transform .25s}
.plan-range::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#fffaf0;border:5px solid var(--gold)}
.plan-range:active::-webkit-slider-thumb{transform:scale(1.2)}
.plan-range:focus-visible{box-shadow:0 0 0 4px rgba(225,183,104,.5)}
.plan-scale{width:100%;display:flex;justify-content:space-between;font-size:.8rem;opacity:.55;margin-top:-14px}
.plan-chips{display:flex;flex-wrap:wrap;gap:10px}
.plan-chip{padding:10px 20px;border-radius:999px;border:1.5px solid rgba(61,40,23,.25);background:transparent;color:var(--ink);font-family:'DM Sans',sans-serif;font-size:.95rem;font-weight:500;cursor:pointer;transition:background .3s,color .3s,border-color .3s,transform .3s}
.plan-chip:hover{border-color:var(--brown);transform:translateY(-2px)}
.plan-chip[aria-pressed="true"]{background:var(--ink);color:var(--sand);border-color:var(--ink)}
.plan-chip:focus-visible,.plan-range:focus-visible{outline:3px solid #e8b865;outline-offset:3px}
.plan-say{font-family:var(--s);font-style:italic;font-size:clamp(1.3rem,2.4vw,1.8rem);color:var(--brown);margin:0}
.plan-ticket{position:relative;background:#2a1a0e;color:#f6ead8;border-radius:34px;padding:clamp(28px,4vw,48px);display:flex;flex-direction:column;gap:26px;box-shadow:0 34px 80px rgba(42,26,14,.3);overflow:hidden}
.plan-ticket::before{content:"";position:absolute;inset-inline-end:-90px;top:-90px;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(225,183,104,.3),transparent 65%);pointer-events:none}
.plan-pots{position:relative;min-height:clamp(120px,14vw,170px);display:flex;flex-wrap:wrap;align-content:flex-start;gap:14px 16px}
.pp-b,.pp-t{animation:ppIn .5s cubic-bezier(.2,.8,.2,1) both}
.pp-b{font-size:clamp(2.6rem,4vw,3.4rem);color:#e1b768}
.pp-t{font-size:clamp(1.8rem,2.8vw,2.2rem);color:#f6ead8;opacity:.85}
@keyframes ppIn{from{opacity:0;transform:translateY(12px) scale(.8)}to{opacity:1;transform:none}}
.plan-result{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.plan-line{display:flex;align-items:center;gap:16px;padding:20px;border-radius:22px;background:rgba(255,250,240,.07);border:1px solid rgba(225,183,104,.25);transition:transform .4s ease,background .4s ease}
.plan-line:hover{transform:translateY(-4px);background:rgba(255,250,240,.12)}
.plan-ico{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#e1b768;color:#2a1a0e;flex:none;font-size:1.2rem}
.plan-line b{display:block;font:800 2.4rem/1 var(--f);color:#fffaf0}
.plan-line span{font-size:.88rem;opacity:.75}
.plan-cta{position:relative;align-self:flex-start}
@media(max-width:900px){.plan-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:520px){
  .plan-result{grid-template-columns:minmax(0,1fr)}
  .plan-count output{font-size:6rem}
  .plan-ticket{border-radius:26px}
}
@media(prefers-reduced-motion:reduce){.pp-b,.pp-t{animation:none}}
.plan-right{display:flex;flex-direction:column;gap:26px;justify-content:center}
.plan-right .plan-lead{margin:0;font-size:1.15rem;max-width:44ch}
.plan-right .plan-ticket{flex:1}
/* Planner: both columns start at the top, right-hand content sits at the top of its column */
.plan-head{margin-bottom:clamp(28px,3.5vw,48px)}
.plan-grid{align-items:start}
.plan-input{justify-content:flex-start}
.plan-right{justify-content:flex-start}
.plan-right .plan-ticket{flex:none}
.plan-pots{min-height:clamp(80px,9vw,120px)}

/* ===== Home "Build your combo" (cb-): biryani required, dessert and drink optional, live receipt ===== */
.cb-head{max-width:760px;margin-bottom:clamp(40px,5vw,64px)}
.cb-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,.7fr);gap:clamp(40px,5vw,80px);align-items:stretch}
.cb-steps{display:grid;gap:clamp(30px,3.5vw,44px)}
.cb-step{border:0;padding:0;margin:0;min-width:0}
.cb-step legend{float:left;width:100%;display:flex;align-items:center;gap:14px;font:700 clamp(1.3rem,2.2vw,1.7rem)/1.1 var(--f);color:var(--ink);margin-bottom:18px;padding:0}
.cb-step legend small{font:500 .72rem/1 'DM Sans',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--brown);padding:6px 10px;border:1px solid rgba(140,90,54,.35);border-radius:999px;margin-inline-start:4px}
.cb-n{font:800 .8rem/1 var(--f);letter-spacing:.14em;color:var(--brown)}
.cb-opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;clear:both}
.cb-opt{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;column-gap:14px;row-gap:4px;align-items:center;padding:18px;border-radius:22px;border:1.5px solid rgba(61,40,23,.18);background:var(--sand);color:var(--ink);text-align:start;font-family:'DM Sans',sans-serif;cursor:pointer;transition:transform .35s,border-color .35s,background .35s,color .35s,box-shadow .35s}
.cb-opt:hover{transform:translateY(-3px);border-color:rgba(61,40,23,.45)}
.cb-ico{grid-row:1/3;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:rgba(61,40,23,.08);color:var(--brown);font-size:1rem;transition:background .35s,color .35s}
.cb-name{font:700 1.02rem/1.2 var(--f);color:inherit;align-self:end}
.cb-price{font-size:.88rem;opacity:.7;align-self:start}
.cb-opt[aria-checked="true"]{background:var(--ink);color:var(--sand);border-color:var(--ink);box-shadow:0 20px 44px rgba(61,40,23,.25)}
.cb-opt[aria-checked="true"] .cb-ico{background:#e8b865;color:#2a1a0e}
.cb-opt[aria-checked="true"] .cb-price{opacity:.85}
.cb-opt:focus-visible{outline:3px solid #e8b865;outline-offset:3px}
.cb-bill{position:sticky;top:120px;display:flex;flex-direction:column;height:100%;box-sizing:border-box;background:var(--sand);border-radius:26px;border:1.5px dashed rgba(61,40,23,.28);padding:clamp(20px,2.2vw,30px);box-shadow:0 24px 56px rgba(61,40,23,.1)}
@media(max-width:991px){.cb-bill{position:static}}
.cb-kicker{font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--brown);margin-bottom:6px}
.cb-bill h3{font:800 clamp(1.5rem,2.2vw,2rem)/1 var(--f);color:var(--ink);text-transform:uppercase}
.cb-lines{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:8px;min-height:7em;flex:1 0 auto;align-content:start}
.cb-lines li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 10px;padding:9px 12px;border-radius:14px;background:rgba(61,40,23,.06);animation:cbIn .45s cubic-bezier(.2,.8,.2,1)}
.cb-lines li span:first-child{grid-column:1/-1;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--brown)}
.cb-lines li b{font-weight:600;color:var(--ink)}
.cb-line-price{font-weight:700;color:var(--ink)}
.cb-lines li.empty{background:none;padding:0;opacity:.6;font-size:.95rem;animation:none}
@keyframes cbIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.cb-total{display:flex;justify-content:space-between;align-items:baseline;margin-top:22px;padding-top:20px;border-top:1px dashed rgba(61,40,23,.28)}
.cb-total span{font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;opacity:.7}
.cb-total b{font:800 clamp(1.8rem,2.8vw,2.4rem)/1 var(--f);color:var(--ink);font-variant-numeric:tabular-nums}
.cb-hint{min-height:1.4em;margin:12px 0 0;font-size:.92rem;color:#b5462a}
.cb-actions{display:grid;gap:14px;justify-items:start;margin-top:14px}
.cb-actions .ord-cta.is-disabled{opacity:.45;pointer-events:none;box-shadow:none}
.cb-status{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin-top:26px;padding-top:22px;border-top:1px solid rgba(61,40,23,.15)}
.cb-status .oc-bar{flex-basis:100%}
@media(max-width:991px){
  .cb-grid{grid-template-columns:minmax(0,1fr);gap:48px}
}
@media(max-width:520px){
  .cb-opts{grid-template-columns:minmax(0,1fr)}
  .cb-opt{padding:14px 16px}
  .cb-bill{border-radius:26px}
}
@media(prefers-reduced-motion:reduce){.cb-lines li,.cb-opt{animation:none;transition:none}}
.cb-head .ord-title{font-size:clamp(3rem,7.4vw,6.4rem)}
/* Desktop header: only the Login button in the right-hand group shows; the duplicate text link in the nav is for the mobile menu only */
.nav .m-login{display:none}

/* ===== Login and sign-up (au-): split "ticket" card, members' stage with arched photo, custom validation styles ===== */
.au-main{display:block}
.au{position:relative;isolation:isolate;overflow:hidden;background:var(--sand2);padding:clamp(120px,14vh,160px) var(--pad) clamp(60px,8vw,110px)}
.au::before{content:"";position:absolute;width:60vw;aspect-ratio:1;left:-22vw;top:-20vw;border-radius:50%;background:radial-gradient(circle,rgba(225,183,104,.32),transparent 65%);pointer-events:none;z-index:-1}
.au::after{content:"";position:absolute;width:44vw;aspect-ratio:1;right:-16vw;bottom:-18vw;border-radius:50%;background:radial-gradient(circle,rgba(140,90,54,.18),transparent 65%);pointer-events:none;z-index:-1}
.au-ticket{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);background:var(--sand);border-radius:40px;overflow:hidden;box-shadow:0 40px 100px rgba(61,40,23,.2)}
.au-stage{position:relative;overflow:hidden;background:#2a1a0e;color:#f6ead8;padding:clamp(28px,3.6vw,52px);display:flex;flex-direction:column;gap:28px}
.au-stage::before{content:"";position:absolute;width:380px;height:380px;inset-inline-end:-140px;top:-140px;border-radius:50%;background:radial-gradient(circle,rgba(225,183,104,.35),transparent 65%);pointer-events:none}
.au-stage::after{content:"";position:absolute;inset-inline-end:0;top:0;bottom:0;border-inline-end:2px dashed rgba(246,234,216,.22);pointer-events:none}
.au-chip{position:relative;z-index:1;align-self:flex-start;display:inline-flex;align-items:center;gap:10px;padding:9px 16px;border-radius:999px;background:rgba(255,250,240,.08);border:1px solid rgba(225,183,104,.4);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:#e1b768}
.au-arch{position:relative;z-index:1;aspect-ratio:4/5;border-radius:999px 999px 30px 30px;overflow:hidden;box-shadow:0 30px 60px rgba(0,0,0,.35)}
.au-arch img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.2s ease}
.au-arch:hover img{transform:scale(1.05)}
.au-stage-copy{position:relative;z-index:1}
.au-quote{font:400 clamp(1.8rem,3vw,2.5rem)/1.15 var(--s);color:#fffaf0}
.au-quote i{color:#e1b768}
.au-facts{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.au-facts li{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:rgba(255,250,240,.08);font-size:.88rem;color:#f6ead8}
.au-facts i{color:#e1b768}
.au-form{padding:clamp(28px,4.2vw,60px);display:flex;flex-direction:column;color:var(--ink)}
.au-tabs{align-self:flex-start;display:inline-flex;gap:6px;padding:6px;border-radius:999px;background:rgba(61,40,23,.08);margin-bottom:28px}
.au-tabs a{display:inline-flex;align-items:center;gap:8px;padding:11px 20px;border-radius:999px;color:var(--ink);font-weight:500;font-size:.95rem;transition:background .3s,color .3s}
.au-tabs a:hover{background:rgba(61,40,23,.1)}
.au-tabs a.on{background:var(--ink);color:var(--sand)}
.au-tabs a:focus-visible{outline:3px solid #e8b865;outline-offset:2px}
.au-form .eyebrow{margin:0 0 10px}
.au-title{font:800 clamp(2.4rem,4.6vw,3.8rem)/.98 var(--f);letter-spacing:-.02em;color:var(--ink);margin:0 0 14px}
.au-title i{font:400 1.05em/1 var(--s);color:var(--brown)}
.au-lead{font-size:1rem;line-height:1.6;opacity:.8;max-width:46ch;margin-bottom:30px}
.au-fm{display:flex;flex-direction:column}
.au-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 16px}
.au-field{display:grid;gap:8px;margin-bottom:18px;min-width:0}
.au-field label,.au-label-row label{font-weight:500;font-size:.92rem;color:var(--ink)}
.au-label-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.au-link{color:var(--brown);font-size:.88rem;font-weight:500;border-bottom:1px solid currentColor}
.au-in{position:relative}
.au-in>i{position:absolute;inset-inline-start:18px;top:50%;transform:translateY(-50%);color:var(--brown);pointer-events:none;font-size:.95rem}
.au-in input{width:100%;padding:16px 52px 16px 48px;border-radius:18px;border:1.5px solid rgba(61,40,23,.2);background:rgba(61,40,23,.03);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:1rem;transition:border-color .25s,box-shadow .25s,background .25s}
.au-in input::placeholder{color:var(--ink);opacity:.45}
.au-in input:hover{border-color:rgba(61,40,23,.4)}
.au-in input:focus{outline:none;border-color:var(--gold);background:var(--sand);box-shadow:0 0 0 4px rgba(225,183,104,.3)}
.au-field.is-invalid .au-in input{border-color:#c4502d;box-shadow:0 0 0 4px rgba(196,80,45,.12)}
.au-eye{position:absolute;inset-inline-end:8px;top:50%;transform:translateY(-50%);width:38px;height:38px;border-radius:50%;border:0;background:transparent;color:var(--brown);cursor:pointer;display:grid;place-items:center;transition:background .25s}
.au-eye:hover{background:rgba(61,40,23,.08)}
.au-eye:focus-visible{outline:3px solid #e8b865;outline-offset:2px}
.au-err{font-size:.84rem;line-height:1.4;color:#c4502d;margin:0}
.au-err:empty{display:none}
.au-check{display:flex;align-items:center;gap:10px;font-size:.93rem;color:var(--ink);cursor:pointer;margin:2px 0 22px}
.au-check input{width:18px;height:18px;accent-color:var(--brown);cursor:pointer;flex:none}
.au-terms .au-check{margin-bottom:0}
.au-terms{margin-bottom:24px}
.au-submit{width:100%;display:flex;justify-content:center;align-items:center;gap:12px;padding:18px 24px;border-radius:999px;border:0;background:#2a1a0e;color:#f6ead8;font-family:var(--f);font-weight:700;font-size:1.02rem;cursor:pointer;box-shadow:0 18px 40px rgba(42,26,14,.25);transition:background .3s,transform .3s,opacity .3s}
.au-submit:hover{background:var(--brown);transform:translateY(-2px)}
.au-submit:focus-visible{outline:3px solid #e8b865;outline-offset:3px}
.au-submit:disabled{opacity:.75;cursor:wait;transform:none}
.au-or{display:flex;align-items:center;gap:14px;margin:28px 0 18px;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--brown)}
.au-or::before,.au-or::after{content:"";flex:1;height:1px;background:rgba(61,40,23,.2)}
.au-social{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
.au-soc{display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 12px;border-radius:18px;border:1.5px solid rgba(61,40,23,.2);background:transparent;color:var(--ink);font-weight:500;font-size:.92rem;transition:background .3s,border-color .3s,transform .3s;text-align:center}
.au-soc:hover{background:var(--sand2);border-color:rgba(61,40,23,.4);transform:translateY(-2px)}
.au-soc:focus-visible{outline:3px solid #e8b865;outline-offset:3px}
.au-soc i{font-size:1.05rem}
.au-google i{color:#db4437}
.au-fb i{color:#1877f2}
.au-foot{margin-top:28px;text-align:center;font-size:.95rem}
.au-foot a{color:var(--brown);font-weight:600;border-bottom:1px solid currentColor}
@media(max-width:900px){
  .au-ticket{grid-template-columns:minmax(0,1fr)}
  .au-stage::after{inset-inline-end:auto;inset-inline-start:0;inset-block-start:auto;inset-block-end:0;width:100%;height:0;border-inline-end:0;border-block-end:2px dashed rgba(246,234,216,.22)}
  .au-arch{aspect-ratio:16/9}
  .au-facts{display:none}
}
@media(max-width:620px){
  .au-row{grid-template-columns:minmax(0,1fr)}
  .au-social{grid-template-columns:minmax(0,1fr)}
  .au-form{padding:26px 20px}
  .au-stage{padding:22px}
  .au-arch{display:none}
  .au-tabs a{padding:10px 16px;font-size:.9rem}
}
@media(max-width:360px){
  .au-in input{padding-inline:44px 46px}
  .au-in>i{inset-inline-start:14px}
}
/* Edge draws its own password reveal button; hide it so the site's eye button is the only one */
.au-in input::-ms-reveal,.au-in input::-ms-clear{display:none!important;width:0;height:0}

/* ===== 404 page (nfx-): gradient code, steaming arch photo, and four doors back into the site ===== */
.nfx{display:block}
.nfx-hero{position:relative;isolation:isolate;overflow:hidden;background:var(--sand2);padding:clamp(160px,21vh,210px) var(--pad) clamp(70px,9vw,120px)}
.nfx-hero::before{content:"";position:absolute;width:60vw;aspect-ratio:1;right:-18vw;top:-22vw;border-radius:50%;background:radial-gradient(circle,rgba(225,183,104,.35),transparent 65%);pointer-events:none;z-index:-1}
.nfx-grid{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(40px,6vw,96px);align-items:center}
.nfx-copy .eyebrow{margin:0 0 6px}
.nfx-code{display:flex;align-items:baseline;gap:.04em;font:800 clamp(6.5rem,17vw,14rem)/.85 var(--f);letter-spacing:-.04em;margin:8px 0 10px}
.nfx-code span{background:linear-gradient(135deg,var(--brown),#e1b768 90%);-webkit-background-clip:text;background-clip:text;color:transparent}
.nfx-zero{position:relative;display:inline-block}
.nfx-zero::after{content:"";position:absolute;inset:-10% -14%;border-radius:50%;border:2px dashed rgba(140,90,54,.45);animation:cxSpin 40s linear infinite}
.nfx-copy h1{font:800 clamp(2.4rem,4.8vw,4rem)/1 var(--f);letter-spacing:-.02em;color:var(--ink);margin:0 0 18px}
.nfx-copy h1 i{font:400 1.05em/1 var(--s);color:var(--brown)}
.nfx-lead{font-size:1.1rem;line-height:1.6;max-width:44ch;opacity:.82;margin-bottom:32px}
.nfx-btns{display:flex;flex-wrap:wrap;align-items:center;gap:18px 30px}
.nfx-btns .btn i{margin-inline-end:6px}
.nfx-link{display:inline-flex;align-items:center;gap:10px;color:var(--ink);font-weight:500;border-bottom:1.5px solid var(--ink);padding-bottom:2px}
.nfx-art{position:relative;justify-self:center;width:min(100%,520px);aspect-ratio:1}
.nfx-arch{position:absolute;inset:10% 8% 4% 12%;border-radius:999px 999px 40px 40px;overflow:hidden;box-shadow:0 40px 80px rgba(150,90,30,.3);animation:cxhReveal 1.4s .2s cubic-bezier(.7,0,.2,1) both}
.nfx-arch img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.12);animation:cxhZoom 2.4s .2s ease-out forwards}
.nfx-arch::after{content:"";position:absolute;inset:auto 0 0 0;height:35%;background:linear-gradient(transparent,rgba(42,26,14,.35));pointer-events:none}
.nfx-note{position:absolute;bottom:12%;inset-inline-start:-2%;display:flex;align-items:center;gap:12px;padding:14px 18px;border-radius:18px;background:var(--glass);color:var(--ink);box-shadow:0 18px 40px rgba(120,70,20,.2);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);z-index:4;animation:cxhFloat 6s ease-in-out infinite}
.nfx-note strong{display:block;font-size:.98rem;color:var(--ink)}
.nfx-note span:not(.nfx-live){display:block;font-size:.84rem;opacity:.75;color:var(--ink)}
.nfx-live{width:12px;height:12px;border-radius:50%;background:#2fa84f;flex:0 0 12px;animation:cxhPulse 2s infinite}
.nfx-badge{position:absolute;top:0;inset-inline-end:0;width:clamp(96px,11vw,128px);aspect-ratio:1;border-radius:50%;background:#c99645;color:#2a1a0e;display:grid;place-items:center;z-index:4;box-shadow:0 20px 40px rgba(120,70,20,.25);text-decoration:none}
.nfx-badge svg{position:absolute;inset:0;width:100%;height:100%;fill:currentColor;animation:cxhSpinBadge 22s linear infinite}
.nfx-badge text{font-size:13px;font-weight:600;letter-spacing:.08em}
.nfx-badge i{font-size:clamp(1.3rem,2vw,1.8rem)}
.nfx-lost{background:var(--sand);padding:clamp(70px,8vw,120px) var(--pad)}
.nfx-wrap{max-width:1280px;margin:0 auto}
.nfx-head{margin-bottom:clamp(36px,4vw,56px)}
.nfx-head .eyebrow{margin:0 0 10px}
.nfx-head h2{font:800 clamp(2.4rem,5vw,4.2rem)/1 var(--f);letter-spacing:-.02em;color:var(--ink);margin:0}
.nfx-head h2 i{font:400 1.05em/1 var(--s);color:var(--brown)}
.nfx-doors{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.nfx-door{position:relative;display:flex;flex-direction:column;gap:10px;height:100%;padding:28px 24px;border-radius:28px;background:var(--sand2);border:1.5px solid rgba(61,40,23,.12);color:var(--ink);transition:transform .4s cubic-bezier(.2,.7,.2,1),background .4s,box-shadow .4s,border-color .4s}
.nfx-door:hover{transform:translateY(-6px);background:var(--ink);color:var(--sand);box-shadow:0 30px 60px rgba(61,40,23,.22);border-color:var(--ink)}
.nfx-door:focus-visible{outline:3px solid #e8b865;outline-offset:4px}
.nfx-ico{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:#e1b768;color:#2a1a0e;font-size:1.1rem;margin-bottom:10px}
.nfx-door b{font:700 1.3rem/1.1 var(--f)}
.nfx-door span:not(.nfx-ico){font-size:.92rem;opacity:.75;line-height:1.5}
.nfx-arr{position:absolute;inset-inline-end:24px;top:28px;font-size:1rem;opacity:.4;transition:transform .4s,opacity .4s}
.nfx-door:hover .nfx-arr{opacity:1;transform:translateX(4px)}
html[dir="rtl"] .nfx-arr{transform:scaleX(-1)}
html[dir="rtl"] .nfx-door:hover .nfx-arr{transform:scaleX(-1) translateX(4px)}
@media(max-width:1024px){.nfx-doors{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){
  .nfx-grid{grid-template-columns:minmax(0,1fr);text-align:start}
  .nfx-art{width:min(100%,420px);margin-top:20px}
}
@media(max-width:560px){
  .nfx-doors{grid-template-columns:minmax(0,1fr)}
  .nfx-note{inset-inline-start:0}
  .nfx-badge{width:88px}
  .nfx-badge text{font-size:11px}
}
@media(prefers-reduced-motion:reduce){.nfx-zero::after,.nfx-arch,.nfx-arch img,.nfx-note,.nfx-live,.nfx-badge svg{animation:none!important}}

/* ===== 404 pot: drawn copper handi with rising steam (no photo) ===== */
.nfx-arch--pot{background:radial-gradient(ellipse at 50% 88%,#7a4420 0%,#3a1e0c 46%,#1e1008 100%);box-shadow:0 40px 80px rgba(60,30,10,.35)}
.nfx-arch--pot::after{display:none}
.nfx-pot{width:100%;height:100%;display:block;overflow:visible;transform-origin:50% 92%;animation:nfxSimmer 5s ease-in-out infinite}
.nfx-steam path{fill:none;stroke:rgba(255,244,228,.6);stroke-width:9;stroke-linecap:round;opacity:0;animation:nfxWisp 5.5s ease-in infinite}
.nfx-steam path:nth-child(2){animation-delay:1.1s;animation-duration:6.2s}
.nfx-steam path:nth-child(3){animation-delay:2.2s;animation-duration:5s}
.nfx-steam path:nth-child(4){animation-delay:3.3s;animation-duration:6s}
.nfx-steam path:nth-child(5){animation-delay:.6s;animation-duration:5.8s}
@keyframes nfxWisp{0%{transform:translateY(40px) scaleX(.9);opacity:0}15%{opacity:.85}70%{opacity:.35}100%{transform:translateY(-170px) scaleX(1.3);opacity:0}}
@keyframes nfxSimmer{0%,100%{transform:rotate(-.25deg)}50%{transform:rotate(.25deg)}}
.nfx-sheen{animation:nfxSheenPulse 7s ease-in-out infinite}
@keyframes nfxSheenPulse{0%,100%{opacity:.25}50%{opacity:.7}}
.nfx-drum{animation:nfxDrum 6s ease-in-out infinite}
.nfx-drum--b{animation-delay:-3s}
@keyframes nfxDrum{0%,100%{transform:translate(0,0)}50%{transform:translate(0,-2px)}}
@media(prefers-reduced-motion:reduce){.nfx-pot,.nfx-steam path,.nfx-sheen,.nfx-drum{animation:none!important}.nfx-steam path{opacity:.3}}
/* Home handi: the steam paths draw their own length (the dash setting above hid them) */
.dum-pot .steam path{stroke-dasharray:none;stroke-dashoffset:0}

/* ===== Home 2: "Said at the table" (hv-) as a dark premium band, and a refined "kitchen letter" ===== */
.h2-voices{position:relative;overflow:hidden;isolation:isolate;background:#2a1a0e;color:#f6ead8;padding:clamp(90px,10vw,150px) var(--pad)}
.h2-voices::before{content:"";position:absolute;width:60vw;aspect-ratio:1;right:-20vw;top:-24vw;border-radius:50%;background:radial-gradient(circle,rgba(225,183,104,.28),transparent 65%);pointer-events:none;z-index:-1}
.h2-voices::after{content:"";position:absolute;width:40vw;aspect-ratio:1;left:-16vw;bottom:-18vw;border-radius:50%;background:radial-gradient(circle,rgba(140,90,54,.3),transparent 65%);pointer-events:none;z-index:-1}
.hv-wrap{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(40px,6vw,100px);align-items:center}
.hv-head .eyebrow{color:#e1b768;margin:0}
.hv-title{font:800 clamp(2.6rem,5.2vw,4.6rem)/.95 var(--f);letter-spacing:-.02em;color:#fffaf0;margin:16px 0 0}
.hv-title i{font:400 1.05em/1 var(--s);color:#e1b768}
.hv-stage{position:relative;min-width:0}
.hv-slides{position:relative;min-height:clamp(300px,30vw,380px)}
.hv-slide{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;gap:0;opacity:0;visibility:hidden;transform:translateY(16px);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.8,.2,1),visibility .6s}
.hv-slide.is-on{opacity:1;visibility:visible;transform:none;position:relative}
.hv-stars{display:inline-flex;gap:8px;color:#e1b768;font-size:.9rem}
.hv-slide blockquote{margin:22px 0 0}
.hv-slide blockquote p{font:400 clamp(2rem,3.9vw,3.2rem)/1.16 var(--s);color:#fffaf0}
.hv-slide figcaption{display:flex;align-items:center;gap:14px;margin-top:30px;font:800 .9rem/1 var(--f);text-transform:uppercase;letter-spacing:.16em;color:#e1b768}
.hv-av{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#e1b768;color:#2a1a0e;font:400 1.4rem/1 var(--s);letter-spacing:0;text-transform:none;flex:none}
.hv-ctrl{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:clamp(34px,4vw,50px);padding-top:26px;border-top:1px solid rgba(246,234,216,.16)}
.hv-btn{width:54px;height:54px;border-radius:50%;border:1.5px solid rgba(225,183,104,.55);background:transparent;color:#e1b768;cursor:pointer;display:grid;place-items:center;font-size:.95rem;transition:background .3s,color .3s,border-color .3s,transform .3s;flex:none}
.hv-btn:hover{background:#e1b768;color:#2a1a0e;border-color:#e1b768;transform:translateY(-2px)}
.hv-btn:focus-visible,.hv-dots button:focus-visible{outline:3px solid #e8b865;outline-offset:3px}
.hv-dots{display:flex;align-items:center;gap:10px}
.hv-dots button{width:10px;height:10px;border-radius:99px;border:0;padding:0;background:rgba(246,234,216,.3);cursor:pointer;transition:width .4s ease,background .4s ease}
.hv-dots button.is-on{width:34px;background:#e1b768}
@keyframes hvIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(max-width:900px){
  .hv-wrap{grid-template-columns:minmax(0,1fr);gap:40px}
}
@media(max-width:520px){
  .hv-slides{min-height:clamp(330px,70vw,400px)}
  .hv-btn{width:46px;height:46px}
}
@media(prefers-reduced-motion:reduce){.hv-slide{transition:none}}

/* Newsletter card: the email field becomes a pill and the wax seal sits beside it */
.h2-join{background:radial-gradient(circle at 85% 0%,rgba(225,183,104,.42),transparent 55%),radial-gradient(circle at 0% 100%,rgba(140,90,54,.22),transparent 50%),var(--sand2)}
.h2-join-card{box-shadow:0 40px 80px rgba(90,55,20,.2),0 0 0 1px rgba(72,44,22,.06);padding:clamp(28px,4vw,56px);max-width:900px}
.h2-join-card::before{height:5px}
.h2-join-copy .eyebrow{color:var(--brown)}
.h2-join-copy h2{font-size:clamp(2.6rem,5.2vw,4.6rem);line-height:.95;letter-spacing:-.02em}
.h2-join-copy h2 i{font-size:1.05em}
.h2-join-side{gap:18px;width:100%}
.h2-join-form{display:flex;flex-wrap:nowrap;align-items:center;gap:18px;width:100%}
.h2-join-field{flex:1 1 0%;min-width:0;width:0;border:1.5px solid rgba(61,40,23,.2);border-radius:999px;background:rgba(255,250,240,.7);padding:6px 24px;transition:border-color .3s,box-shadow .3s}
.h2-join-field:focus-within{border-color:var(--brown);box-shadow:0 0 0 4px rgba(225,183,104,.28)}
.h2-join-field input{padding:16px 0}
.h2-join-field:has(input.bad){border-color:#b5462a;box-shadow:none}
.h2-seal{width:92px;height:92px;flex:0 0 92px;font-size:2.1rem}
.h2-seal::before{inset:9px}
.h2-join-side .err{min-height:1em;font-size:.88rem}
@media(max-width:900px){.h2-join-form{flex-direction:column;align-items:stretch}.h2-seal{align-self:flex-start}}
@media(max-width:520px){.h2-join-card{border-radius:26px;padding:30px 22px}.h2-join-field{padding:4px 18px}}
/* Review quotes sit on the dark band as plain type, not the site's tilted cards (light and dark mode) */
.h2-voices .hv-slide blockquote,
.h2-voices .hv-slide blockquote:nth-child(even),
:root[data-theme="dark"] .h2-voices .hv-slide blockquote,
:root[data-theme="dark"] .h2-voices .hv-slide blockquote:nth-child(even){width:auto;flex:none;background:none;color:#fffaf0;transform:none;box-shadow:none;border-radius:0;padding:0;margin:22px 0 0}
.h2-join-side,.h2-join-form{min-width:0}
@media(max-width:900px){.h2-join-field{flex:none;width:100%}}

/* Newsletter card: a paper letter preview, and perks under the form */
.h2-letter{position:relative;width:100%;max-width:440px;background:#fffdf6;border:1px solid rgba(72,44,22,.08);border-radius:6px 24px 24px 24px;padding:28px 30px 26px;box-shadow:0 24px 48px rgba(90,55,20,.16);transform:rotate(-1.4deg);background-image:repeating-linear-gradient(to bottom,transparent 0 33px,rgba(140,90,54,.1) 33px 34px);background-position:0 70px}
.h2-letter-stamp{position:absolute;top:-14px;inset-inline-end:-14px;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 34% 28%,#c8664a,#8a3320 62%,#5e2214);color:#ffe9c4;font:400 1.7rem/1 var(--s);box-shadow:0 12px 22px rgba(90,30,15,.35);transform:rotate(8deg)}
.h2-letter-hi{font:400 1.45rem/1.2 var(--s);color:var(--ink);margin:0 0 10px}
.h2-letter p:not(.h2-letter-hi){margin:0;font-size:1rem;line-height:1.6;color:var(--brown);max-width:36ch}
.h2-letter-sign{display:block;margin-top:16px;font:800 .72rem/1 var(--f);letter-spacing:.16em;text-transform:uppercase;color:var(--brown)}
@media(max-width:520px){.h2-letter{padding:24px 22px 22px}.h2-letter-stamp{width:46px;height:46px;font-size:1.45rem}}
/* Said at the table: tight, top-aligned spacing. All reviews share one grid cell, so the box is only as tall as the longest review */
.hv-slides{display:grid;min-height:0}
.hv-slide{grid-area:1/1;position:relative;justify-content:flex-start}
.hv-slide.is-on{position:relative}
.hv-stars{margin:0}
.h2-voices .hv-slide blockquote,.h2-voices .hv-slide blockquote:nth-child(even),:root[data-theme="dark"] .h2-voices .hv-slide blockquote,:root[data-theme="dark"] .h2-voices .hv-slide blockquote:nth-child(even){margin:16px 0 0}
.hv-slide figcaption{margin-top:20px}
.hv-ctrl{margin-top:clamp(26px,3vw,36px);padding-top:22px}
@media(max-width:520px){.hv-slides{min-height:0}}
/* Build your combo: heading on the left, lead text on the right */
.cb-head{max-width:none;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:end}
.cb-head .ord-lead{margin:0;max-width:44ch;justify-self:end}
@media(max-width:900px){.cb-head{grid-template-columns:minmax(0,1fr)}.cb-head .ord-lead{justify-self:start}}
/* Planner: heading on the left, lead text on the right, on the same line */
.plan-head{max-width:none;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:end}
.plan-lead--side{margin:0;max-width:44ch;justify-self:end}
@media(max-width:900px){.plan-head{grid-template-columns:minmax(0,1fr)}.plan-lead--side{justify-self:start}}


/* Dashboard, login and sign-up headers: logo on the left; dark mode, RTL and the back-to-site button on the right */
.bar.bar-simple{grid-template-columns:1fr auto}
.bar.bar-simple .hright{justify-self:end}
.hright .btn.back-site{white-space:nowrap}
@media(max-width:560px){.hright .btn.back-site{padding-inline:14px}.hright .btn.back-site span{display:none}}

/* Dashboard header profile: round photo with name and role */
.hprof{display:flex;align-items:center;gap:12px;margin-inline-start:10px}
.hprof img{width:46px;height:46px;border-radius:50%;object-fit:cover;border:2px solid #fff;box-shadow:0 8px 20px rgba(60,35,15,.18);flex:none}
.hprof b{display:block;font:700 .95rem/1.2 var(--f);color:var(--ink);white-space:nowrap}
.hprof span{display:block;font-size:.8rem;color:var(--brown);white-space:nowrap}
@media(max-width:560px){.hprof{margin-inline-start:4px}.hprof>div{display:none}}

/* Dashboards: the right-hand card in a two-column row takes the height of the left card; if its content is longer it scrolls inside the card */
@media (min-width:1100px){
  .g-main>:last-child,.g-eq>:last-child{height:0;min-height:100%;overflow:auto;scrollbar-width:thin}
}

/* Dashboard matched cards: the card is a container, so its form uses two columns only when the card is wide enough; otherwise fields stack and align full width */
.g-main>:last-child,.g-eq>:last-child{container-type:inline-size}
.g-main>:last-child .fgrid.two{grid-template-columns:minmax(0,1fr)}
@container (min-width:430px){.g-main>:last-child .fgrid.two{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Small phones only (320–425px): menu hero collage and contact hero art fit the screen */
@media (min-width:320px) and (max-width:425px){
  .mn-art .mn-art-card{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:10px 6px;inset-inline-start:3%;inset-inline-end:3%}
  .mn-art-card>div{padding:0 6px}
  .mn-art-card>div:first-child{padding-inline-start:2px}
  .mn-art-card b{font-size:1.05rem}
  .mn-art-card span{font-size:.6rem;white-space:normal;line-height:1.2}
  .mn-art-tag{inset-inline-end:-6px;top:-34px;width:78px;font-size:.62rem}
  .cx-ring-badge{width:112px;height:112px;margin-inline:auto}
  .cxh-badge{top:-30px;inset-inline-end:-4px;width:84px}
  .cxh-badge text{font-size:9.5px}
  .plate .sticker{width:74px;height:74px;inset-inline-start:auto;inset-inline-end:-2%;bottom:8%;font:800 .95rem/1 var(--f);transform:rotate(-8deg)}
  .plate .sticker small{font-size:.5rem;margin-top:2px}
  .plate .hero-card{top:-2%;inset-inline-end:0;padding:6px 10px 6px 6px;gap:8px;border-radius:16px}
  .plate .hero-card .ic{width:30px;height:30px;font-size:.8rem}
  .plate .hero-card small{font-size:.54rem;letter-spacing:.1em}
  .plate .hero-card b{font-size:.78rem;white-space:nowrap}
}

/* Home 2 hero: on short phone screens the "Scroll to open the pot" cue collided with the stats row, so it is hidden there only */
@media (max-width:767px) and (max-height:700px){.h2-scroll{display:none}}

/* Home 2 menu fan: cards rise into their fan one after another when the section scrolls into view */
.h2-fan-stage.js-ready:not(.is-in) .h2-fc{opacity:0}
.h2-fan-stage.is-in .h2-fc{animation:h2FanIn .9s cubic-bezier(.2,.8,.2,1) backwards;animation-delay:calc(var(--i,0) * 110ms)}
@keyframes h2FanIn{from{opacity:0;transform:translate(-50%,-50%) translateY(160px) rotate(0deg)}}
@media (max-width:991px){.h2-fan-stage.is-in .h2-fc{animation:none}}
