/* ============ Termeh Persian Restaurant — design system ============ */
:root{
  --g950:#05170F; --g900:#08251A; --g800:#0C3323; --g700:#12452F;
  --gold:#C6A15B; --gold-l:#E6CC96; --gold-d:#9E7B3A;
  --cream:#F3EDDE; --cream2:#EAE2CE; --ink:#182018; --ash:#A8B3A5;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Jost',sans-serif;background:var(--g900);color:var(--cream);-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3,.serif{font-family:'Cormorant Garamond',serif;font-weight:500}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
::selection{background:var(--gold);color:var(--g950)}
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:90;opacity:.5;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3CfeComponentTransfer%3E%3CfeFuncA type='linear' slope='.05'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)'/%3E%3C/svg%3E")}

.k{font-size:.68rem;letter-spacing:.46em;text-transform:uppercase;color:var(--gold);font-weight:500;display:flex;align-items:center;gap:14px}
.k.center{justify-content:center;text-align:center}
.btn{position:relative;display:inline-block;padding:15px 34px;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;font-weight:500;overflow:hidden;transition:color .35s;z-index:1;border:0;cursor:pointer;font-family:'Jost',sans-serif}
.btn::before{content:"";position:absolute;inset:0;transform:translateX(-101%);transition:transform .4s cubic-bezier(.65,0,.35,1);z-index:-1}
.btn:hover::before{transform:translateX(0)}
.btn:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.btn-gold{background:linear-gradient(120deg,var(--gold-d),var(--gold) 55%,var(--gold-l));color:var(--g950)}
.btn-gold::before{background:var(--cream)}
.btn-line{border:1px solid rgba(198,161,91,.55);color:var(--gold-l)}
.btn-line::before{background:var(--gold)}
.btn-line:hover{color:var(--g950)}
.btn-green{background:var(--g800);color:var(--cream)}
.btn-green::before{background:var(--gold)}
.btn-green:hover{color:var(--g950)}
.btn-dark{border:1px solid var(--g800);color:var(--g800);background:transparent}
.btn-dark::before{background:var(--g800)}
.btn-dark:hover{color:var(--cream)}

/* reveal system */
.rv{opacity:0;transform:translateY(34px);transition:opacity 1s cubic-bezier(.22,1,.36,1),transform 1s cubic-bezier(.22,1,.36,1)}
.rv.in{opacity:1;transform:none}
.stagger>*{opacity:0;transform:translateY(28px);transition:opacity .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1)}
.stagger.in>*{opacity:1;transform:none}
.stagger.in>*:nth-child(1){transition-delay:.05s}.stagger.in>*:nth-child(2){transition-delay:.15s}
.stagger.in>*:nth-child(3){transition-delay:.25s}.stagger.in>*:nth-child(4){transition-delay:.35s}
.stagger.in>*:nth-child(5){transition-delay:.45s}.stagger.in>*:nth-child(6){transition-delay:.55s}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .rv,.stagger>*{opacity:1!important;transform:none!important}
  html{scroll-snap-type:none!important;scroll-behavior:auto}
}

/* ============ Header pill ============ */
.hdr{position:fixed;top:16px;left:50%;transform:translateX(-50%);z-index:80;
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;
  width:min(880px,94vw);padding:12px 26px;border-radius:44px;
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border:1px solid rgba(198,161,91,.3);background:rgba(8,37,26,.55);color:var(--cream);
  transition:color .45s,background .45s,border-color .45s}
.hdr.light{background:rgba(243,237,222,.62);border-color:rgba(12,51,35,.2);color:var(--g800)}
.hdr .lnav{display:flex;justify-content:space-between;justify-self:start;width:100%;max-width:238px;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase}
.hdr .lnav a{opacity:.82;transition:opacity .2s}.hdr .lnav a:hover,.hdr .lnav a[aria-current]{opacity:1}
.hdr .wm{font-weight:500;font-size:1.08rem;letter-spacing:.42em;text-align:center;padding-left:.42em;font-family:'Jost',sans-serif}
.hdr .rnav{display:flex;gap:10px;justify-self:end;align-items:center}
.hdr .pill{padding:9px 20px;border-radius:30px;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;font-weight:500;white-space:nowrap;transition:.25s}
.hdr .order{background:var(--gold);color:var(--g950)}
.hdr .order:hover{background:var(--gold-l)}
.hdr .res{border:1px solid currentColor}
.hdr .res:hover{background:var(--gold);border-color:var(--gold);color:var(--g950)}
@media(max-width:960px){
  .hdr{display:flex;justify-content:space-between;gap:10px;padding:10px 12px 10px 20px;width:94vw}
  .hdr .lnav{display:none}
  .hdr .wm{text-align:left;padding-left:0;letter-spacing:.3em;font-size:.95rem}
  .hdr .pill{padding:8px 13px;font-size:.6rem;letter-spacing:.08em}
}

/* ============ Home: scroll-snap slides ============ */
body.home{scroll-snap-type:unset}
html.snap-on{scroll-snap-type:y mandatory}
.snap{min-height:100lvh;scroll-snap-align:start;scroll-snap-stop:always}
footer.snap{display:flex;flex-direction:column;justify-content:center}

/* ============ Hero (home) ============ */
.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;overflow:hidden;
  background:radial-gradient(120% 100% at 78% 30%,var(--g700) 0%,var(--g900) 46%,var(--g950) 100%)}
.hero::before{content:"";position:absolute;inset:0;opacity:.05;
  background-image:radial-gradient(circle at center,var(--gold) 1px,transparent 1.6px);background-size:34px 34px}
.hero .glow{position:absolute;width:70vw;height:70vw;right:-18vw;top:-8vw;border-radius:50%;
  background:radial-gradient(circle,rgba(198,161,91,.20),transparent 62%);filter:blur(10px);animation:breathe 9s ease-in-out infinite}
@keyframes breathe{0%,100%{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.07)}}
.hero .paisley{position:absolute;left:-40px;bottom:-60px;width:min(360px,40vw);opacity:.08;
  filter:brightness(0) invert(78%) sepia(30%) saturate(420%) hue-rotate(6deg)}
.hero .wrap{position:relative;z-index:2;width:100%;flex:1;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;align-content:center;
  gap:clamp(20px,4vw,60px);padding:120px clamp(22px,6vw,84px) 40px}
.hero h1{font-size:clamp(3rem,6.6vw,6rem);line-height:1.02;margin-top:26px}
.hero h1 .line{display:block;overflow:hidden}
.hero h1 .line span{display:block;transform:translateY(110%);animation:rise 1.1s cubic-bezier(.22,1,.36,1) forwards}
.hero h1 .line:nth-child(2) span{animation-delay:.14s}
.hero h1 .line:nth-child(3) span{animation-delay:.28s}
.hero h1 em,.hero h2 em{font-style:italic;color:var(--gold-l)}
@keyframes rise{to{transform:none}}
.hero .lede{margin-top:26px;max-width:46ch;font-weight:300;font-size:1.06rem;line-height:1.8;color:var(--ash);opacity:0;animation:fade 1.2s ease .6s forwards}
.hero .cta{margin-top:38px;display:flex;gap:16px;flex-wrap:wrap;opacity:0;animation:fade 1.2s ease .85s forwards}
@keyframes fade{to{opacity:1}}
.hero .stage{position:relative;display:flex;justify-content:center}
.hero .halo{position:absolute;width:78%;aspect-ratio:1;border-radius:50%;border:1px solid rgba(198,161,91,.4);animation:spin 40s linear infinite}
.hero .halo::before{content:"✦";position:absolute;top:-9px;left:50%;color:var(--gold);font-size:.8rem}
.hero .halo.h2{width:92%;border-style:dashed;border-color:rgba(198,161,91,.22);animation-duration:70s;animation-direction:reverse}
@keyframes spin{to{transform:rotate(360deg)}}
.hero .plate{width:min(480px,80%);position:relative;z-index:2;filter:drop-shadow(0 50px 60px rgba(0,0,0,.55));
  opacity:0;transform:scale(.86);animation:platein 1.4s cubic-bezier(.22,1,.36,1) .4s forwards}
@keyframes platein{to{opacity:1;transform:scale(1)}}
.hero .dishbob{animation:bob 8s ease-in-out infinite;transition:transform .3s ease-out;will-change:transform}
@keyframes bob{0%,100%{translate:0 0}50%{translate:0 -16px}}
.hero .meta{position:relative;z-index:3;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;
  padding:20px clamp(22px,6vw,84px);border-top:1px solid rgba(198,161,91,.2);
  font-size:.68rem;letter-spacing:.26em;text-transform:uppercase;color:var(--ash)}
.hero .meta b{color:var(--gold-l);font-weight:500}
.hero .scroll{position:absolute;bottom:148px;left:50%;transform:translateX(-50%);width:1px;height:56px;overflow:hidden;opacity:.7}
.hero .scroll::before{content:"";position:absolute;inset:0;background:var(--gold);animation:drip 2.2s cubic-bezier(.65,0,.35,1) infinite}
@keyframes drip{0%{transform:translateY(-100%)}55%{transform:translateY(0)}100%{transform:translateY(100%)}}
@media(max-width:900px){.hero .wrap{grid-template-columns:1fr;text-align:center}
 .hero .lede{margin-inline:auto}.hero .cta{justify-content:center}.hero .scroll{display:none}}

/* marquee */
.marquee{background:linear-gradient(90deg,var(--gold-d),var(--gold) 30%,var(--gold-l) 50%,var(--gold) 70%,var(--gold-d));
  color:var(--g950);overflow:hidden;padding:15px 0;border-block:1px solid rgba(0,0,0,.18)}
.marquee .track{display:flex;gap:56px;width:max-content;white-space:nowrap;animation:mq 32s linear infinite;
  font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.35rem}
.hero .marquee{position:relative;z-index:3}
.marquee span::after{content:"✦";margin-left:56px;font-style:normal;font-size:.75rem;vertical-align:middle}
@keyframes mq{to{transform:translateX(-50%)}}

/* story */
.story{background:var(--cream);color:var(--ink);padding:clamp(80px,11vw,150px) clamp(22px,7vw,100px);
  display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(36px,6vw,100px);align-items:center}
.story .arch{position:relative;justify-self:center;width:min(430px,86vw)}
.story .arch .pic{border-radius:999px 999px 6px 6px;overflow:hidden;box-shadow:0 44px 70px rgba(12,51,35,.3)}
.story .arch .pic img{width:100%;height:560px;object-fit:cover;transform:scale(1.12);will-change:transform}
.story .arch::before{content:"";position:absolute;inset:-18px;border:1px solid var(--gold);border-radius:999px 999px 8px 8px;pointer-events:none}
.story .arch .badge{position:absolute;right:-46px;bottom:52px;width:120px;height:120px;border-radius:50%;
  background:var(--g900);color:var(--gold-l);display:flex;align-items:center;justify-content:center;text-align:center;
  font-size:.6rem;letter-spacing:.3em;text-transform:uppercase;line-height:1.9;animation:spin 26s linear infinite;box-shadow:0 20px 40px rgba(12,51,35,.35)}
.story h2{font-size:clamp(2.3rem,4.6vw,3.9rem);line-height:1.06;margin-top:22px;color:var(--g800)}
.story h2 em{font-style:italic;color:var(--gold-d)}
.story p{margin-top:24px;line-height:1.85;font-weight:300;color:#3D473C;max-width:56ch}
.story .stats{margin-top:38px;display:flex;gap:clamp(24px,4vw,60px)}
.story .stats b{font-family:'Cormorant Garamond',serif;font-size:2.3rem;color:var(--g800);display:block}
.story .stats small{font-size:.66rem;letter-spacing:.26em;text-transform:uppercase;color:var(--gold-d)}
.story .actions{margin-top:38px}
@media(max-width:920px){.story{grid-template-columns:1fr}.story .arch .pic img{height:440px}.story .arch .badge{right:-8px}}

/* dishes */
.dishes{background:linear-gradient(var(--g900),var(--g950));padding:clamp(80px,11vw,150px) clamp(22px,6vw,84px);position:relative}
.dishes header{max-width:1200px;margin:0 auto 64px;display:flex;align-items:flex-end;justify-content:space-between;gap:30px;flex-wrap:wrap}
.dishes h2{font-size:clamp(2.3rem,4.8vw,4rem);line-height:1.05;margin-top:20px}
.dishes h2 em{font-style:italic;color:var(--gold-l)}
.dgrid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:26px}
.dish{position:relative;background:linear-gradient(160deg,rgba(198,161,91,.09),rgba(198,161,91,.02));
  border:1px solid rgba(198,161,91,.22);padding:36px 26px 30px;text-align:center;display:block;
  transition:transform .45s cubic-bezier(.22,1,.36,1),border-color .45s,background .45s}
.dish::before{content:"";position:absolute;inset:8px;border:1px solid rgba(198,161,91,.14);pointer-events:none;transition:inset .45s}
.dish:hover{transform:translateY(-10px);border-color:rgba(198,161,91,.55);background:linear-gradient(160deg,rgba(198,161,91,.16),rgba(198,161,91,.04))}
.dish:hover::before{inset:5px}
.dish img{width:74%;height:190px;object-fit:contain;margin:0 auto;filter:drop-shadow(0 26px 30px rgba(0,0,0,.5));transition:transform .6s cubic-bezier(.22,1,.36,1)}
.dish:hover img{transform:scale(1.12) rotate(-5deg)}
.dish h3{margin-top:22px;font-size:1.6rem}
.dish small{display:block;margin-top:8px;min-height:2.6em;font-weight:300;font-size:.84rem;line-height:1.6;color:var(--ash)}
.dish .price{display:inline-block;margin-top:14px;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.3rem;color:var(--gold-l)}
.dish .tag{position:absolute;top:14px;left:14px;font-size:.58rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);border:1px solid rgba(198,161,91,.4);padding:5px 10px}
.swipe-hint{display:none}

/* feast */
.feast{position:relative;height:min(88vh,760px);overflow:hidden;display:flex;align-items:center;justify-content:center;text-align:center}
.feast .bg{position:absolute;inset:-12% 0;background:url('../img/feast.webp') center/cover;will-change:transform}
.feast .veil{position:absolute;inset:0;background:linear-gradient(rgba(5,23,15,.72),rgba(5,23,15,.5) 50%,rgba(5,23,15,.85))}
.feast .inner{position:relative;padding:0 22px;max-width:900px}
.feast h2{font-size:clamp(2.4rem,6vw,4.8rem);line-height:1.08}
.feast h2 em{font-style:italic;color:var(--gold-l)}
.feast p{margin:20px auto 0;max-width:52ch;font-weight:300;color:#D8D3C2;line-height:1.8}
.feast .cta{margin-top:34px;display:flex;gap:16px;justify-content:center;flex-wrap:wrap}

/* book (home teaser + shared cream section) */
.book{background:var(--cream);color:var(--ink);padding:clamp(80px,11vw,150px) clamp(22px,7vw,100px);
  display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,6vw,90px);align-items:center}
.book h2{font-size:clamp(2.3rem,4.6vw,3.8rem);line-height:1.06;margin-top:20px;color:var(--g800)}
.book h2 em{font-style:italic;color:var(--gold-d)}
.book p{margin-top:22px;font-weight:300;line-height:1.85;color:#3D473C;max-width:52ch}
.book dl{margin-top:34px;display:grid;gap:20px}
.book dt{font-size:.64rem;letter-spacing:.32em;text-transform:uppercase;color:var(--gold-d)}
.book dd{margin-top:5px;font-size:1.28rem;font-family:'Cormorant Garamond',serif}
.book .actions{margin-top:36px;display:flex;gap:14px;flex-wrap:wrap}
.book .frames{position:relative;height:560px}
.book .frames .f{position:absolute;overflow:hidden;box-shadow:0 40px 70px rgba(12,51,35,.28)}
.book .frames .f img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.22,1,.36,1)}
.book .frames .f:hover img{transform:scale(1.06)}
.book .f1{inset:0 18% 24% 0;border-radius:999px 999px 6px 6px}
.book .f2{width:52%;height:46%;right:0;bottom:0;border:8px solid var(--cream);border-radius:4px}
@media(max-width:920px){.book{grid-template-columns:1fr}.book .frames{height:440px}}

/* ============ Footer ============ */
footer{background:var(--g950);padding:90px clamp(22px,6vw,84px) 40px;position:relative;overflow:hidden}
footer .giant{font-family:'Cormorant Garamond',serif;font-size:clamp(4rem,15vw,13rem);line-height:.9;text-align:center;
  letter-spacing:.12em;background:linear-gradient(180deg,rgba(198,161,91,.85),rgba(198,161,91,.08));
  -webkit-background-clip:text;background-clip:text;color:transparent;user-select:none}
footer .cols{margin-top:70px;display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap;
  font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ash)}
footer .cols a:hover{color:var(--gold-l)}
footer .base{margin-top:50px;padding-top:22px;border-top:1px solid rgba(198,161,91,.16);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;color:#5E6B5E}
footer .base .dp{color:var(--gold);border-bottom:1px solid rgba(198,161,91,.4);transition:.25s}
footer .base .dp:hover{color:var(--gold-l);border-color:var(--gold-l)}

/* ============ Interior pages ============ */
.page-hero{position:relative;padding:170px clamp(22px,6vw,84px) 70px;text-align:center;overflow:hidden;
  background:radial-gradient(110% 130% at 50% -10%,var(--g700) 0%,var(--g900) 52%,var(--g950) 100%)}
.page-hero::before{content:"";position:absolute;inset:0;opacity:.05;
  background-image:radial-gradient(circle at center,var(--gold) 1px,transparent 1.6px);background-size:34px 34px}
.page-hero .crumbs{position:relative;font-size:.64rem;letter-spacing:.3em;text-transform:uppercase;color:var(--ash);margin-bottom:22px}
.page-hero .crumbs a{color:var(--gold)}.page-hero .crumbs a:hover{color:var(--gold-l)}
.page-hero h1{position:relative;font-size:clamp(2.6rem,6vw,4.6rem);line-height:1.05}
.page-hero h1 em{font-style:italic;color:var(--gold-l)}
.page-hero .sub{position:relative;margin:20px auto 0;max-width:58ch;font-weight:300;line-height:1.8;color:var(--ash)}
.section{padding:clamp(70px,9vw,120px) clamp(22px,6vw,84px)}
.section.cream{background:var(--cream);color:var(--ink)}
.wrap-n{max-width:1100px;margin:0 auto}
.wrap-s{max-width:760px;margin:0 auto}

/* menu page */
.mcat{max-width:1000px;margin:0 auto 70px}
.mcat h2{font-size:clamp(1.9rem,3.6vw,2.7rem);color:var(--gold-l);display:flex;align-items:center;gap:22px}
.mcat h2::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,rgba(198,161,91,.5),transparent)}
.mrow{display:flex;align-items:baseline;gap:14px;padding:22px 0;border-bottom:1px solid rgba(198,161,91,.14)}
.mrow .nm{font-family:'Cormorant Garamond',serif;font-size:1.45rem;white-space:nowrap}
.mrow .nm a{border-bottom:1px solid rgba(198,161,91,.35)}
.mrow .nm a:hover{color:var(--gold-l)}
.mrow .dots{flex:1;border-bottom:1px dotted rgba(198,161,91,.35);transform:translateY(-6px)}
.mrow .pr{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.3rem;color:var(--gold-l);white-space:nowrap}
.mrow p{flex-basis:100%;margin-top:6px;font-weight:300;font-size:.88rem;color:var(--ash);line-height:1.6}
.mrow{flex-wrap:wrap}
.mnote{max-width:1000px;margin:10px auto 0;font-size:.8rem;color:var(--ash);font-weight:300}

/* dish detail */
.dishpage{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(40px,6vw,90px);align-items:center;max-width:1100px;margin:0 auto}
.dishpage .arch{position:relative;justify-self:center;width:min(400px,84vw)}
.dishpage .arch .pic{border-radius:999px 999px 6px 6px;overflow:hidden;background:linear-gradient(160deg,var(--g800),var(--g950));box-shadow:0 44px 70px rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center;height:480px}
.dishpage .arch .pic img.cut{width:82%;height:auto;object-fit:contain;filter:drop-shadow(0 30px 40px rgba(0,0,0,.5))}
.dishpage .arch .pic img.full{width:100%;height:100%;object-fit:cover}
.dishpage .arch::before{content:"";position:absolute;inset:-16px;border:1px solid var(--gold);border-radius:999px 999px 8px 8px;pointer-events:none}
.dishpage h1{font-size:clamp(2.4rem,5vw,3.8rem);line-height:1.05}
.dishpage .price{display:inline-block;margin-top:14px;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.7rem;color:var(--gold-l)}
.dishpage .desc{margin-top:22px;font-weight:300;line-height:1.85;color:var(--ash)}
.dishpage .desc p+p{margin-top:14px}
.dishpage .cta{margin-top:32px;display:flex;gap:14px;flex-wrap:wrap}
.dishpage .facts{margin-top:30px;display:flex;gap:34px;flex-wrap:wrap}
.dishpage .facts dt{font-size:.62rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold)}
.dishpage .facts dd{margin-top:4px;font-family:'Cormorant Garamond',serif;font-size:1.15rem}
@media(max-width:900px){.dishpage{grid-template-columns:1fr}.dishpage .arch .pic{height:400px}}
.also{max-width:1100px;margin:0 auto}
.also h2{font-size:clamp(1.8rem,3.4vw,2.5rem);margin-bottom:36px}
.also h2 em{font-style:italic;color:var(--gold-l)}
.also .dgrid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}

/* forms */
.form{max-width:820px;margin:0 auto}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.fgrid .full{grid-column:1/-1}
label{display:block;font-size:.64rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold-d);margin-bottom:8px}
.input,select,textarea{width:100%;padding:15px 16px;background:#fff;border:1px solid rgba(12,51,35,.25);color:var(--ink);
  font-family:'Jost',sans-serif;font-size:.95rem;border-radius:2px;transition:border-color .25s,box-shadow .25s}
.input:focus,select:focus,textarea:focus{outline:none;border-color:var(--gold-d);box-shadow:0 0 0 3px rgba(198,161,91,.22)}
textarea{min-height:110px;resize:vertical}
.floors{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.floor{position:relative;cursor:pointer;font-size:1rem;letter-spacing:normal;text-transform:none;margin:0;color:var(--ink);display:block}
.floor input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.floor .card{display:block;border:1px solid rgba(12,51,35,.25);border-radius:4px;overflow:hidden;background:#fff;transition:border-color .3s,box-shadow .3s}
.floor img{height:130px;width:100%;object-fit:cover}
.floor .cbody{padding:14px 16px}
.floor .cbody b{font-family:'Cormorant Garamond',serif;font-size:1.3rem;font-weight:500;color:var(--g800)}
.floor .cbody small{display:block;margin-top:4px;font-weight:300;font-size:.8rem;color:#3D473C;line-height:1.5}
.floor input:checked+.card{border-color:var(--gold-d);box-shadow:0 0 0 3px rgba(198,161,91,.3)}
.floor input:focus-visible+.card{outline:2px solid var(--gold-d);outline-offset:2px}
.form .send{margin-top:30px}
.fmsg{margin-top:20px;padding:16px 18px;border-radius:3px;font-size:.92rem;display:none}
.fmsg.ok{display:block;background:#E7F0E4;border:1px solid #9DBA92;color:#274427}
.fmsg.err{display:block;background:#F6E9E4;border:1px solid #D3A08C;color:#6B3A26}
.hp{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}
@media(max-width:720px){.fgrid,.floors{grid-template-columns:1fr}}

/* prose (about, blog posts) */
.prose{font-weight:300;line-height:1.9;color:#3D473C}
.prose h2{font-size:clamp(1.7rem,3.2vw,2.3rem);color:var(--g800);margin:44px 0 16px}
.prose h2 em{font-style:italic;color:var(--gold-d)}
.prose p+p{margin-top:18px}
.prose a{color:var(--gold-d);border-bottom:1px solid rgba(158,123,58,.4)}
.prose a:hover{color:var(--g800)}
.prose blockquote{margin:34px 0;padding-left:22px;border-left:2px solid var(--gold);font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.35rem;color:var(--g800)}
.prose .figure{margin:36px 0}
.prose .figure img{border-radius:6px;box-shadow:0 30px 50px rgba(12,51,35,.22)}
.prose .figure figcaption{margin-top:10px;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-d)}

/* blog cards */
.bgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:26px;max-width:1100px;margin:0 auto}
.bcard{display:block;background:linear-gradient(160deg,rgba(198,161,91,.09),rgba(198,161,91,.02));border:1px solid rgba(198,161,91,.22);transition:transform .4s,border-color .4s}
.bcard:hover{transform:translateY(-8px);border-color:rgba(198,161,91,.5)}
.bcard img{height:210px;width:100%;object-fit:cover}
.bcard .bbody{padding:24px}
.bcard .bdate{font-size:.62rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold)}
.bcard h2,.bcard h3{font-size:1.55rem;margin-top:12px;line-height:1.25}
.bcard p{margin-top:10px;font-weight:300;font-size:.88rem;color:var(--ash);line-height:1.65}
.bcard .more{display:inline-block;margin-top:16px;font-size:.64rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold-l)}

/* contact */
.cgrid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,5vw,70px);max-width:1100px;margin:0 auto;align-items:start}
.cgrid iframe{width:100%;height:440px;border:0;border-radius:6px;box-shadow:0 30px 50px rgba(12,51,35,.25);filter:saturate(.9)}
@media(max-width:880px){.cgrid{grid-template-columns:1fr}}

/* CTA band */
.ctaband{background:linear-gradient(var(--g900),var(--g950));text-align:center;padding:clamp(70px,9vw,110px) 22px}
.ctaband h2{font-size:clamp(2rem,4.6vw,3.4rem)}
.ctaband h2 em{font-style:italic;color:var(--gold-l)}
.ctaband .cta{margin-top:30px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* ============ Mobile: full-height slides on home ============ */
@media(max-width:1024px){
  /* hero — one clean slide */
  .hero .wrap{padding:96px 24px 12px;gap:2px}
  .hero .k{font-size:.6rem;letter-spacing:.36em;justify-content:center;text-align:center}
  .hero h1{font-size:clamp(2.5rem,10.4vw,3.2rem);margin-top:16px}
  .hero .lede{font-size:.9rem;line-height:1.65;margin-top:14px;max-width:36ch}
  .hero .cta{margin-top:18px;gap:10px}
  .hero .cta .btn{padding:13px 26px;font-size:.66rem}
  .hero .plate{width:min(248px,58vw)}
  .hero .stage{margin-top:10px}
  .hero .glow{animation:none}
  .hero .meta{display:none}
  .hero .marquee{padding:12px 0}
  .hero .marquee .track{font-size:1.15rem}

  .story{display:flex;flex-direction:column;justify-content:center;gap:18px;padding:88px 24px 40px;text-align:center}
  .story .k{justify-content:center}
  .story .arch{width:min(270px,64vw)}
  .story .arch .pic img{height:30vh}
  .story .arch .badge{width:92px;height:92px;right:-24px;bottom:24px;font-size:.5rem}
  .story h2{margin-top:0;font-size:clamp(1.9rem,8vw,2.6rem)}
  .story p{margin:12px auto 0;font-size:.88rem;line-height:1.6;max-width:40ch}
  .story .stats{justify-content:center;margin-top:22px}
  .story .stats b{font-size:1.7rem}
  .story .actions{margin-top:24px}

  body.home .dishes{display:flex;flex-direction:column;justify-content:center;padding:100px 0 56px}
  body.home .dishes header{margin:0 24px 30px;display:block;text-align:center}
  body.home .dishes header .k{justify-content:center}
  body.home .dishes header .btn{display:none}
  body.home .dgrid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:16px;
    padding:10px 24px 26px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  body.home .dgrid::-webkit-scrollbar{display:none}
  body.home .dish{flex:0 0 74%;max-width:320px;scroll-snap-align:center}
  body.home .dish img{height:150px}
  body.home .swipe-hint{display:block;text-align:center;font-size:.6rem;letter-spacing:.34em;
    text-transform:uppercase;color:var(--gold);opacity:.75;animation:hint 2.4s ease-in-out infinite}
  @keyframes hint{0%,100%{transform:translateX(0)}50%{transform:translateX(8px)}}
  .dishes .mob-cta{text-align:center;margin-top:26px}

  .feast{height:auto;min-height:100lvh}
  .feast h2{font-size:clamp(2.2rem,9vw,3rem)}

  body.home .book{display:flex;flex-direction:column-reverse;justify-content:center;gap:20px;padding:88px 24px 40px;text-align:center}
  body.home .book .k{justify-content:center}
  body.home .book h2{margin-top:0;font-size:clamp(1.9rem,8vw,2.6rem)}
  body.home .book p{margin:10px auto 0;font-size:.86rem;line-height:1.6;max-width:42ch}
  body.home .book dl{gap:9px;margin-top:16px}
  body.home .book dd{font-size:1.02rem}
  body.home .book .actions{justify-content:center;margin-top:18px}
  body.home .book .actions .btn{padding:12px 24px;font-size:.66rem}
  body.home .book .frames{height:26vh;width:min(300px,74vw);margin:0 auto}
  body.home .book .f1{inset:0}
  body.home .book .f2{display:none}

  footer.snap{padding:100px 24px 40px}
  footer.snap .cols{justify-content:center;text-align:center;gap:16px 30px;margin-top:44px}
  footer.snap .base{flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px}
  footer .base{flex-direction:column;align-items:center;text-align:center;gap:12px}
  footer .cols{justify-content:center;text-align:center;gap:16px 30px}
}
@media(min-width:1025px){.swipe-hint,.dishes .mob-cta{display:none}}
