/* ===== Home — cinematic, dark opening, editorial body ===== */

/* hero */
.hero{
  position:relative;
  min-height:100vh;          /* fallback for browsers without svh (Safari < 15.4) */
  min-height:100svh;
  display:grid;align-items:end;
  color:var(--paper);
  /* top padding clears the fixed header when the hero copy is taller than the screen */
  padding:calc(var(--nav-h) + 1.5rem) 0 clamp(3rem,7vw,6rem);
  isolation:isolate;overflow:hidden
}
.hero__bg{position:absolute;inset:0;z-index:-2;animation:heroDrift 26s var(--ease) infinite alternate}
@keyframes heroDrift{from{transform:scale(1.06)}to{transform:scale(1.16) translateY(-2%)}}
.hero::after{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(21,18,16,.78) 0%,rgba(21,18,16,.35) 45%,rgba(21,18,16,.9) 100%)
}
.hero__inner{display:grid;gap:2.4rem}
.hero h1{font-size:clamp(3rem,10vw,8rem);line-height:.92}
.hero h1 em{font-style:italic;color:var(--gold);display:block}
.hero__row{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:2.5rem}
.hero__row p{max-width:38ch;color:rgba(246,240,231,.8);margin:0}
.hero__meta{
  display:flex;gap:2.5rem;flex-wrap:wrap;margin-top:2.5rem;padding-top:1.8rem;
  border-top:1px solid var(--line-dark);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;
  color:rgba(246,240,231,.6)
}
.hero__meta b{display:block;font-family:var(--display);font-size:1.5rem;letter-spacing:0;
  text-transform:none;color:var(--gold);font-weight:500;margin-bottom:.2rem}
.scrollcue{
  position:absolute;right:var(--pad);bottom:clamp(3rem,7vw,6rem);writing-mode:vertical-rl;
  font-size:.72rem;letter-spacing:.35em;text-transform:uppercase;color:rgba(246,240,231,.55);
  display:flex;align-items:center;gap:1rem
}
.scrollcue::after{content:"";width:1px;height:70px;background:currentColor;animation:cue 2.2s infinite}
@keyframes cue{0%,100%{opacity:.2;transform:scaleY(.4)}50%{opacity:1;transform:scaleY(1)}}

/* marquee */
.marquee{background:var(--ink);color:var(--sand);padding:1.1rem 0;overflow:hidden;border-block:1px solid var(--line-dark)}
.marquee__track{display:flex;gap:3.5rem;width:max-content;animation:slide 34s linear infinite}
.marquee span{font-family:var(--display);font-size:1.35rem;font-style:italic;white-space:nowrap;opacity:.8}
.marquee span::after{content:"✦";margin-left:3.5rem;color:var(--gold);font-style:normal;font-size:.8rem;vertical-align:middle}
@keyframes slide{to{transform:translateX(-50%)}}

/* intro split */
.intro{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,6vw,5.5rem);align-items:center}
.intro__art{position:relative;aspect-ratio:4/5;border-radius:2px}
.intro__art .badge{
  position:absolute;right:-2.2rem;bottom:2.5rem;width:150px;height:150px;border-radius:50%;
  background:var(--clay);color:var(--paper);display:grid;place-content:center;text-align:center;
  font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;line-height:1.9;box-shadow:var(--shadow)
}
.intro__art .badge b{font-family:var(--display);font-size:2rem;letter-spacing:0;display:block}
.intro__copy .sig{
  font-family:var(--display);font-style:italic;font-size:1.6rem;color:var(--clay);margin-top:2rem
}

/* signature dishes */
.signatures{background:var(--sand-deep)}
.dishes{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;margin-top:3.5rem}
.dish{background:var(--paper);border:1px solid var(--line);display:grid;grid-template-rows:auto 1fr;
  transition:transform .5s var(--ease),box-shadow .5s}
.dish:hover{transform:translateY(-8px);box-shadow:var(--shadow)}
.dish__art{aspect-ratio:5/4}
.dish__body{padding:1.8rem}
.dish__head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.6rem}
.dish__head h3{font-size:1.45rem}
.dish__price{font-family:var(--display);font-size:1.35rem;color:var(--clay)}
.dish p{font-size:.92rem;color:var(--ink-soft);margin:0}
.dish__tags{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1.1rem}
.tag{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;border:1px solid var(--line);
  padding:.3rem .7rem;border-radius:999px;color:var(--ink-soft)}
.dishes + .center{margin-top:3rem}

/* experience strip */
.exp{background:var(--ink);color:var(--sand)}
.exp__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line-dark);
  border:1px solid var(--line-dark);margin-top:3.5rem}
.exp__cell{background:var(--ink);padding:clamp(2rem,4vw,3.2rem);transition:background .4s}
.exp__cell:hover{background:#1d1815}
.exp__cell .num{font-family:var(--display);font-size:1rem;color:var(--gold);letter-spacing:.2em}
.exp__cell h3{margin:1.6rem 0 .8rem;color:var(--paper)}
.exp__cell p{color:rgba(246,240,231,.6);font-size:.94rem;margin:0}
.exp .eyebrow{color:var(--gold)}
.exp h2{color:var(--paper)}
.exp .lede{color:rgba(246,240,231,.7)}

/* stats */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;text-align:center}
.stat b{display:block;font-family:var(--display);font-size:clamp(2.6rem,5vw,4rem);color:var(--clay);line-height:1}
.stat span{font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-soft)}

/* quote */
.quote{background:var(--sand-deep);text-align:center}
.quote blockquote{
  font-family:var(--display);font-size:clamp(1.7rem,3.6vw,2.9rem);line-height:1.25;
  max-width:22ch;margin:0 auto;font-style:italic
}
.quote cite{display:block;margin-top:2rem;font-style:normal;font-size:.7rem;
  letter-spacing:.28em;text-transform:uppercase;color:var(--clay)}
.quote .stars{color:var(--gold);letter-spacing:.4em;margin-bottom:1.8rem}

/* closing CTA */
.cta{position:relative;color:var(--paper);text-align:center;isolation:isolate;overflow:hidden}
.cta__bg{position:absolute;inset:0;z-index:-2}
.cta::after{content:"";position:absolute;inset:0;z-index:-1;background:rgba(21,18,16,.72)}
.cta h2{font-size:clamp(2.4rem,6vw,4.6rem)}
.cta .btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-top:2.6rem}

@media (max-width:980px){
  .intro{grid-template-columns:1fr}
  .intro__art .badge{right:1rem;width:120px;height:120px}
  .dishes,.exp__grid{grid-template-columns:1fr}
  .stats{grid-template-columns:1fr 1fr;gap:2.6rem}
  .scrollcue{display:none}
}
