/* ============================================================
   MIAM CAFE v1.1 — Dark editorial / cinematic
   ============================================================ */

:root{
  --bg:#0a0807;
  --bg-soft:#13100d;
  --bg-card:#1a1410;
  --line:rgba(245,236,218,.10);
  --line-strong:rgba(245,236,218,.22);
  --cream:#f5ecda;
  --cream-bright:#fbf5e8;
  --mute:#8a7660;
  --mute-light:#a89580;
  --gold:#d4a657;
  --gold-bright:#e8c178;
  --terracotta:#d97843;
  --burgundy:#7a2e2a;
  --espresso:#2a1c14;
  --space:clamp(80px,10vh,140px);
}

*{margin:0;padding:0;box-sizing:border-box}
*::selection{background:var(--gold);color:var(--bg)}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
html.no-scroll{overflow:hidden}
body{
  font-family:'Inter',sans-serif;
  background:var(--bg);
  color:var(--cream);
  line-height:1.55;
  overflow-x:hidden;
  cursor:none;
}
@media (hover:none){body{cursor:auto}}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:none;background:none;border:none;color:inherit}
@media (hover:none){button{cursor:pointer}}

/* ============================================================
   Custom cursor
   ============================================================ */
.cursor{
  position:fixed;top:0;left:0;
  width:8px;height:8px;border-radius:50%;
  background:var(--gold);
  pointer-events:none;z-index:9999;
  transform:translate(-50%,-50%);
  transition:transform .15s ease,opacity .3s;
  mix-blend-mode:difference;
}
.cursor-ring{
  position:fixed;top:0;left:0;
  width:40px;height:40px;border-radius:50%;
  border:1px solid var(--gold);
  pointer-events:none;z-index:9998;
  transform:translate(-50%,-50%);
  transition:transform .25s cubic-bezier(.2,.7,.2,1),width .3s,height .3s,opacity .3s;
}
.cursor.click{transform:translate(-50%,-50%) scale(.5)}
.cursor-ring.hover{width:70px;height:70px;background:rgba(212,166,87,.1)}
@media (hover:none){.cursor,.cursor-ring{display:none}}

/* ============================================================
   Page loader
   ============================================================ */
.loader{
  position:fixed;inset:0;z-index:10000;
  background:var(--bg);
  display:flex;align-items:center;justify-content:center;
  transition:opacity .8s ease,visibility .8s;
}
.loader.done{opacity:0;visibility:hidden}
.loader-mark{
  font-family:'Fraunces','Cormorant Garamond',serif;
  font-size:clamp(60px,10vw,120px);
  font-weight:300;font-style:italic;
  letter-spacing:.04em;
  color:var(--cream);
  display:flex;align-items:baseline;gap:4px;
  opacity:0;
  animation:logoIn 1s .2s forwards;
}
.loader-mark span{color:var(--terracotta);font-style:normal}
.loader-bar{
  position:absolute;bottom:0;left:0;height:2px;
  width:0;background:var(--gold);
  animation:loadFill 1.2s .3s cubic-bezier(.7,0,.2,1) forwards;
}
@keyframes logoIn{
  from{opacity:0;letter-spacing:.4em}
  to{opacity:1;letter-spacing:.04em}
}
@keyframes loadFill{
  to{width:100%}
}

/* ============================================================
   Typography
   ============================================================ */
.eyebrow{
  font-size:11px;font-weight:500;
  letter-spacing:.32em;text-transform:uppercase;
  color:var(--gold);
  display:inline-flex;align-items:center;gap:14px;
}
.eyebrow::before{
  content:"";width:32px;height:1px;background:var(--gold);
}
.headline{
  font-family:'Fraunces','Cormorant Garamond',serif;
  font-weight:300;font-style:italic;
  font-size:clamp(56px,9vw,180px);
  line-height:.92;letter-spacing:-.02em;
}
.headline strong{font-weight:600;font-style:normal}
.headline em{font-style:italic;color:var(--gold)}
.h2{
  font-family:'Fraunces','Cormorant Garamond',serif;
  font-weight:300;font-style:italic;
  font-size:clamp(40px,5.5vw,90px);
  line-height:.98;letter-spacing:-.015em;
}
.h2 em{font-style:italic;color:var(--gold)}
.h2 strong{font-weight:600;font-style:normal}
.h3{
  font-family:'Fraunces','Cormorant Garamond',serif;
  font-weight:400;font-style:italic;
  font-size:clamp(26px,3vw,42px);
  line-height:1.05;letter-spacing:-.01em;
}
.lead{font-size:17px;line-height:1.7;color:var(--mute-light);max-width:540px}

/* ============================================================
   Top bar + Nav
   ============================================================ */
.topbar{
  position:fixed;top:0;left:0;right:0;
  z-index:50;padding:10px 0;
  font-size:10.5px;letter-spacing:.28em;text-transform:uppercase;
  color:rgba(245,236,218,.55);
  background:rgba(10,8,7,.6);backdrop-filter:blur(20px);
  border-bottom:1px solid var(--line);
}
.topbar .container{display:flex;justify-content:space-between;align-items:center}
.topbar a:hover{color:var(--gold)}

.nav{
  position:fixed;top:34px;left:0;right:0;
  z-index:50;padding:18px 0;
  transition:background .3s,backdrop-filter .3s,padding .3s,border-color .3s;
  border-bottom:1px solid transparent;
}
.nav.scrolled{
  background:rgba(10,8,7,.78);
  backdrop-filter:blur(20px);
  padding:14px 0;
  border-bottom-color:var(--line);
}
.nav-inner{
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:30px;
}
.nav-left,.nav-right{
  display:flex;gap:36px;align-items:center;
  font-size:12px;letter-spacing:.22em;text-transform:uppercase;font-weight:500;
}
.nav-right{justify-content:flex-end}
.nav-left a,.nav-right a:not(.nav-cta){
  position:relative;color:var(--cream);transition:color .3s;padding:6px 0;
}
.nav-left a::after,.nav-right a:not(.nav-cta)::after{
  content:"";position:absolute;left:0;bottom:0;width:0;height:1px;
  background:var(--gold);transition:width .4s cubic-bezier(.2,.8,.2,1);
}
.nav-left a:hover::after,.nav-right a:not(.nav-cta):hover::after,
.nav-left a.active::after,.nav-right a.active::after{width:100%}
.nav-logo{
  font-family:'Fraunces','Cormorant Garamond',serif;
  font-weight:300;font-style:italic;
  font-size:30px;letter-spacing:.02em;color:var(--cream);
  display:inline-flex;align-items:baseline;
}
.nav-logo span{color:var(--terracotta);font-style:normal}
.nav-cta{
  padding:12px 24px;border:1px solid var(--cream);border-radius:999px;
  font-size:11px;transition:all .3s;
}
.nav-cta:hover{background:var(--gold);border-color:var(--gold);color:var(--bg)}
.nav-burger{display:none;background:none;border:none;color:var(--cream);padding:8px}
.nav-burger svg{width:24px;height:24px}

/* ============================================================
   Container & sections
   ============================================================ */
.container{max-width:1480px;margin:0 auto;padding:0 48px}
.section{padding:var(--space) 0;position:relative}

/* ============================================================
   Buttons
   ============================================================ */
.btn{
  display:inline-flex;align-items:center;gap:14px;
  padding:18px 32px;border-radius:999px;
  font-size:12px;letter-spacing:.22em;text-transform:uppercase;font-weight:500;
  transition:all .35s cubic-bezier(.2,.8,.2,1);
  border:1px solid transparent;font-family:inherit;
  position:relative;overflow:hidden;
  cursor:none;
}
@media (hover:none){.btn{cursor:pointer}}
.btn span{position:relative;z-index:2}
.btn svg{width:14px;height:14px;transition:transform .35s;position:relative;z-index:2}
.btn:hover svg{transform:translateX(6px)}
.btn-gold{background:var(--gold);color:var(--bg)}
.btn-gold::before{
  content:"";position:absolute;inset:0;background:var(--cream);
  transform:translateY(101%);transition:transform .4s cubic-bezier(.2,.8,.2,1);
}
.btn-gold:hover::before{transform:translateY(0)}
.btn-outline{border-color:var(--cream);color:var(--cream)}
.btn-outline::before{
  content:"";position:absolute;inset:0;background:var(--cream);
  transform:translateY(101%);transition:transform .4s cubic-bezier(.2,.8,.2,1);
}
.btn-outline:hover::before{transform:translateY(0)}
.btn-outline:hover{color:var(--bg)}
.btn-ghost{color:var(--cream);padding:14px 0;border-radius:0}
.btn-ghost::after{
  content:"";position:absolute;left:0;bottom:6px;width:100%;height:1px;
  background:currentColor;transform-origin:right;
  transition:transform .5s cubic-bezier(.2,.8,.2,1);
}
.btn-ghost:hover::after{transform-origin:left;transform:scaleX(0)}

/* ============================================================
   HERO SLIDER
   ============================================================ */
.hero{
  position:relative;height:100vh;min-height:680px;
  overflow:hidden;background:var(--bg);
}
.slider{position:relative;width:100%;height:100%}
.slide{
  position:absolute;inset:0;
  opacity:0;pointer-events:none;
  visibility:hidden;
}
.slide.active{
  opacity:1;pointer-events:auto;visibility:visible;
  z-index:2;
}
.slide-bg{
  position:absolute;inset:0;overflow:hidden;
  clip-path:inset(0 100% 0 0);
  transition:clip-path 1.4s cubic-bezier(.7,0,.2,1);
}
.slide.active .slide-bg{clip-path:inset(0 0 0 0)}
.slide.exit .slide-bg{clip-path:inset(0 0 0 100%)}
.slide-bg img{
  width:100%;height:100%;object-fit:cover;
  transform:scale(1.15);
  transition:transform 8s ease-out;
}
.slide.active .slide-bg img{transform:scale(1)}
.slide-bg::after{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(180deg,rgba(10,8,7,.35) 0%,rgba(10,8,7,.1) 30%,rgba(10,8,7,.85) 100%),
    linear-gradient(90deg,rgba(10,8,7,.6) 0%,transparent 50%);
}

.slide-content{
  position:absolute;inset:0;z-index:3;
  display:flex;flex-direction:column;justify-content:flex-end;
  padding:0 0 140px;
}
.slide-content .container{
  display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:flex-end;
}
.slide-eyebrow{
  margin-bottom:30px;
  opacity:0;transform:translateY(20px);
  transition:opacity .8s .4s,transform .8s .4s;
}
.slide.active .slide-eyebrow{opacity:1;transform:translateY(0)}

.slide-headline{
  font-family:'Fraunces','Cormorant Garamond',serif;
  font-weight:300;font-style:italic;
  font-size:clamp(60px,10vw,180px);
  line-height:.88;letter-spacing:-.025em;
  color:var(--cream);margin-bottom:24px;
}
.slide-headline strong{font-weight:600;font-style:normal}
.slide-headline em{font-style:italic;color:var(--gold)}
.slide-headline .word{
  display:inline-block;overflow:hidden;vertical-align:bottom;
  padding-right:.05em;
}
.slide-headline .word span{
  display:inline-block;
  transform:translateY(110%) rotate(8deg);
  transition:transform 1s cubic-bezier(.2,.8,.2,1);
}
.slide.active .slide-headline .word span{transform:translateY(0) rotate(0)}
.slide-headline .word:nth-child(1) span{transition-delay:.5s}
.slide-headline .word:nth-child(2) span{transition-delay:.6s}
.slide-headline .word:nth-child(3) span{transition-delay:.7s}
.slide-headline .word:nth-child(4) span{transition-delay:.8s}
.slide-headline .word:nth-child(5) span{transition-delay:.9s}
.slide-headline .word:nth-child(6) span{transition-delay:1s}

.slide-body{
  align-self:end;justify-self:end;max-width:380px;
  opacity:0;transform:translateY(20px);
  transition:opacity .8s 1.1s,transform .8s 1.1s;
}
.slide.active .slide-body{opacity:1;transform:translateY(0)}
.slide-body p{
  font-size:16px;line-height:1.7;color:rgba(245,236,218,.78);
  margin-bottom:28px;
}

/* Slide number indicator */
.slide-num{
  position:absolute;top:50%;right:48px;z-index:4;
  transform:translateY(-50%) rotate(90deg);
  transform-origin:right center;
  font-family:'Fraunces',serif;font-style:italic;
  font-size:14px;letter-spacing:.4em;color:rgba(245,236,218,.6);
  display:flex;align-items:center;gap:14px;
  pointer-events:none;
}
.slide-num-current{
  color:var(--gold);font-size:18px;font-weight:600;
  min-width:40px;text-align:center;
  display:inline-block;
}
.slide-num-line{width:60px;height:1px;background:rgba(245,236,218,.3)}

/* Slider controls bottom bar */
.slider-controls{
  position:absolute;bottom:48px;left:0;right:0;z-index:5;
  display:flex;justify-content:space-between;align-items:center;
  pointer-events:none;
}
.slider-controls > *{pointer-events:auto}
.slider-dots{display:flex;gap:14px;align-items:center}
.slider-dot{
  width:28px;height:28px;
  display:flex;align-items:center;justify-content:center;
  position:relative;cursor:none;
}
@media (hover:none){.slider-dot{cursor:pointer}}
.slider-dot::after{
  content:"";width:6px;height:6px;border-radius:50%;
  background:rgba(245,236,218,.4);
  transition:all .3s;
}
.slider-dot.active::after{background:var(--gold);width:8px;height:8px}
.slider-dot:hover::after{background:var(--cream)}

.slider-arrows{display:flex;gap:6px}
.slider-arrow{
  width:54px;height:54px;border:1px solid var(--line-strong);
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  transition:all .3s;cursor:none;
}
@media (hover:none){.slider-arrow{cursor:pointer}}
.slider-arrow svg{width:16px;height:16px;color:var(--cream)}
.slider-arrow:hover{background:var(--cream);border-color:var(--cream)}
.slider-arrow:hover svg{color:var(--bg)}

/* Progress bar */
.slider-progress{
  position:absolute;bottom:0;left:0;right:0;height:2px;
  background:rgba(245,236,218,.08);z-index:5;
}
.slider-progress-fill{
  height:100%;width:0;background:var(--gold);
  transition:width .15s linear;
}

/* Scroll cue */
.scroll-cue{
  position:absolute;bottom:48px;left:50%;
  transform:translateX(-50%);z-index:5;
  font-size:10px;letter-spacing:.4em;text-transform:uppercase;
  color:rgba(245,236,218,.5);
  display:flex;flex-direction:column;align-items:center;gap:12px;
  pointer-events:none;
}
.scroll-cue::after{
  content:"";width:1px;height:36px;background:rgba(245,236,218,.3);
  animation:scrollLine 2s ease-in-out infinite;
  transform-origin:top;
}
@keyframes scrollLine{
  0%,100%{transform:scaleY(0)}
  50%{transform:scaleY(1)}
}

/* ============================================================
   Marquee
   ============================================================ */
.marquee{
  background:var(--bg);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  padding:32px 0;overflow:hidden;
}
.marquee-track{
  display:flex;gap:80px;
  animation:marqueeScroll 38s linear infinite;
  white-space:nowrap;
}
.marquee-track.reverse{animation-direction:reverse;animation-duration:46s}
.marquee-track span{
  font-family:'Fraunces','Cormorant Garamond',serif;
  font-weight:300;font-style:italic;
  font-size:48px;color:var(--cream);
  display:flex;align-items:center;gap:80px;
  letter-spacing:-.01em;
}
.marquee-track span em{font-style:italic;color:var(--gold)}
.marquee-track span::after{
  content:"✦";color:var(--terracotta);font-style:normal;font-size:18px;
}
@keyframes marqueeScroll{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}

/* ============================================================
   Manifesto / Story sticky
   ============================================================ */
.manifesto{
  position:relative;background:var(--bg-soft);
  padding:160px 0;
}
.manifesto-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;
}
.manifesto-img{
  position:relative;aspect-ratio:4/5;overflow:hidden;
  border-radius:0;
}
.manifesto-img img{
  width:100%;height:100%;object-fit:cover;
  transform:scale(1.1);
  transition:transform 1.6s cubic-bezier(.2,.8,.2,1);
}
.manifesto-img.in img{transform:scale(1)}
.manifesto-img::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(45deg,rgba(10,8,7,.3),transparent);
}
.manifesto-img-tag{
  position:absolute;top:24px;left:24px;z-index:2;
  font-family:'Caveat',cursive;font-size:32px;color:var(--gold);
}

.manifesto-text .eyebrow{margin-bottom:30px}
.manifesto-text .h2{margin-bottom:40px}
.manifesto-text p{
  font-size:17px;line-height:1.85;color:var(--mute-light);
  margin-bottom:24px;max-width:520px;
}
.manifesto-text p em{color:var(--cream);font-style:italic}

/* Stats row */
.stats{
  display:grid;grid-template-columns:repeat(4,1fr);gap:20px;
  margin-top:60px;padding-top:50px;
  border-top:1px solid var(--line);
}
.stat{position:relative}
.stat-num{
  font-family:'Fraunces',serif;font-weight:300;font-style:italic;
  font-size:clamp(48px,5vw,76px);line-height:1;color:var(--cream);
  margin-bottom:8px;letter-spacing:-.02em;
}
.stat-num em{color:var(--gold);font-style:italic}
.stat-label{
  font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;
  color:var(--mute);
}

/* ============================================================
   Horizontal scroll signature dishes
   ============================================================ */
.signatures{padding:var(--space) 0 0;background:var(--bg);position:relative}
.sig-head{
  display:flex;justify-content:space-between;align-items:flex-end;
  margin-bottom:80px;gap:40px;flex-wrap:wrap;
}
.sig-head .h2{max-width:760px}

.sig-scroll{
  display:flex;gap:24px;overflow-x:auto;
  padding:0 48px 60px;
  scroll-snap-type:x mandatory;
  scrollbar-width:thin;scrollbar-color:var(--gold) transparent;
}
.sig-scroll::-webkit-scrollbar{height:2px}
.sig-scroll::-webkit-scrollbar-track{background:var(--line)}
.sig-scroll::-webkit-scrollbar-thumb{background:var(--gold)}

.sig-card{
  flex:0 0 420px;scroll-snap-align:start;
  position:relative;
  background:var(--bg-card);
  transition:transform .5s cubic-bezier(.2,.8,.2,1);
}
.sig-card:hover{transform:translateY(-10px)}
.sig-img{
  position:relative;aspect-ratio:4/5;overflow:hidden;
}
.sig-img img{
  width:100%;height:100%;object-fit:cover;
  transition:transform 1s cubic-bezier(.2,.8,.2,1);
}
.sig-card:hover .sig-img img{transform:scale(1.08)}
.sig-num{
  position:absolute;top:24px;left:24px;z-index:2;
  font-family:'Fraunces',serif;font-style:italic;font-weight:300;
  font-size:64px;color:var(--cream);
  text-shadow:0 4px 24px rgba(0,0,0,.6);
}
.sig-tag{
  position:absolute;top:24px;right:24px;z-index:2;
  padding:8px 14px;background:rgba(245,236,218,.95);color:var(--bg);
  font-size:10px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;
}
.sig-tag.bestseller{background:var(--gold)}

.sig-body{padding:30px}
.sig-meta{
  display:flex;justify-content:space-between;align-items:baseline;
  margin-bottom:12px;
  font-size:10.5px;letter-spacing:.28em;text-transform:uppercase;color:var(--mute);
}
.sig-meta .price{
  font-family:'Fraunces',serif;font-style:italic;font-weight:400;
  font-size:22px;color:var(--gold);letter-spacing:.02em;
  text-transform:none;
}
.sig-card h3{
  font-family:'Fraunces',serif;font-weight:400;font-style:italic;
  font-size:32px;line-height:1.05;color:var(--cream);
  margin-bottom:12px;letter-spacing:-.01em;
}
.sig-card p{font-size:14px;color:var(--mute-light);line-height:1.65}

/* ============================================================
   Locations preview
   ============================================================ */
.locs{padding:var(--space) 0;background:var(--bg-soft)}
.locs-head{text-align:center;margin-bottom:80px}
.locs-head .h2{margin:30px auto 0;max-width:900px}

.locs-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.loc{
  position:relative;aspect-ratio:16/11;overflow:hidden;
  background:var(--bg-card);cursor:none;
}
@media (hover:none){.loc{cursor:pointer}}
.loc img{
  width:100%;height:100%;object-fit:cover;
  transition:transform 1.2s cubic-bezier(.2,.8,.2,1);
  filter:brightness(.7);
}
.loc:hover img{transform:scale(1.06);filter:brightness(.85)}
.loc::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 30%,rgba(10,8,7,.85) 100%);
}
.loc-content{
  position:absolute;left:36px;right:36px;bottom:32px;z-index:2;
  display:flex;justify-content:space-between;align-items:flex-end;gap:20px;
}
.loc-content h3{
  font-family:'Fraunces',serif;font-weight:300;font-style:italic;
  font-size:48px;color:var(--cream);line-height:1;letter-spacing:-.015em;
  margin-bottom:8px;
}
.loc-meta{
  font-size:11px;letter-spacing:.25em;text-transform:uppercase;
  color:rgba(245,236,218,.7);
}
.loc-arrow{
  width:54px;height:54px;border-radius:50%;
  background:var(--cream);color:var(--bg);
  display:flex;align-items:center;justify-content:center;
  transition:transform .4s;
  flex-shrink:0;
}
.loc-arrow svg{width:18px;height:18px}
.loc:hover .loc-arrow{transform:rotate(-45deg) scale(1.1);background:var(--gold)}

/* ============================================================
   Newsletter
   ============================================================ */
.news{
  padding:var(--space) 0;background:var(--bg);
  text-align:center;border-top:1px solid var(--line);
}
.news .eyebrow{justify-content:center;display:inline-flex;margin-bottom:24px}
.news .h2{margin:0 auto 16px;max-width:780px}
.news p{font-size:17px;color:var(--mute-light);max-width:520px;margin:0 auto 36px}
.news-form{
  max-width:540px;margin:0 auto;
  display:flex;gap:0;
  border-bottom:1px solid var(--cream);
}
.news-form input{
  flex:1;background:transparent;border:none;outline:none;
  padding:18px 4px;font-family:inherit;font-size:15px;
  color:var(--cream);
}
.news-form input::placeholder{color:var(--mute)}
.news-form button{
  padding:18px 24px;background:none;border:none;cursor:none;
  font-family:inherit;font-weight:500;font-size:11px;
  letter-spacing:.28em;text-transform:uppercase;color:var(--cream);
  transition:color .3s;
}
@media (hover:none){.news-form button{cursor:pointer}}
.news-form button:hover{color:var(--gold)}

/* ============================================================
   Footer
   ============================================================ */
footer{background:var(--bg);padding:80px 0 30px;border-top:1px solid var(--line)}
.foot-top{
  display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:60px;
  padding-bottom:60px;border-bottom:1px solid var(--line);margin-bottom:30px;
}
.foot-logo{
  font-family:'Fraunces','Cormorant Garamond',serif;
  font-weight:300;font-style:italic;
  font-size:54px;color:var(--cream);margin-bottom:6px;
  display:inline-flex;align-items:baseline;
}
.foot-logo span{color:var(--terracotta);font-style:normal}
.foot-tag{
  font-family:'Caveat',cursive;font-size:22px;color:var(--gold);margin-bottom:24px;
}
.foot-blurb{color:var(--mute);font-size:14px;line-height:1.8;max-width:340px;margin-bottom:24px}
.socials{display:flex;gap:10px}
.social{
  width:40px;height:40px;border-radius:50%;border:1px solid var(--line-strong);
  display:flex;align-items:center;justify-content:center;transition:all .3s;
}
.social:hover{background:var(--gold);border-color:var(--gold);color:var(--bg)}
.social svg{width:15px;height:15px}
.foot-h{
  font-size:10.5px;letter-spacing:.32em;text-transform:uppercase;
  color:var(--gold);margin-bottom:24px;font-weight:600;
}
.foot-list li{list-style:none;margin-bottom:11px;font-size:14px;color:var(--mute-light)}
.foot-list a{transition:color .3s}
.foot-list a:hover{color:var(--cream)}
.foot-bot{
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;
  font-size:11px;color:var(--mute);letter-spacing:.06em;
}

/* ============================================================
   Page-hero (other pages)
   ============================================================ */
.page-hero{
  position:relative;padding:200px 0 100px;
  border-bottom:1px solid var(--line);overflow:hidden;
}
.page-hero-bg{
  position:absolute;inset:0;opacity:.35;
  background-size:cover;background-position:center;
}
.page-hero-bg::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(10,8,7,.65),rgba(10,8,7,.95));
}
.page-hero-inner{position:relative;z-index:2;text-align:center}
.page-hero .breadcrumb{
  font-size:11px;letter-spacing:.28em;text-transform:uppercase;
  color:var(--mute);margin-bottom:30px;
}
.page-hero .breadcrumb a:hover{color:var(--gold)}
.page-hero .breadcrumb-sep{margin:0 10px;opacity:.5}
.page-hero .headline,.page-hero .h2{margin-bottom:24px}
.page-hero .lead{margin:0 auto}

/* ============================================================
   Menu page
   ============================================================ */
.menu-nav{
  position:sticky;top:62px;z-index:40;
  background:rgba(10,8,7,.85);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
}
.menu-nav-track{
  display:flex;justify-content:center;gap:6px;flex-wrap:wrap;
  padding:18px 48px;max-width:1480px;margin:0 auto;
}
.menu-tab{
  padding:10px 22px;border-radius:999px;
  font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;font-weight:500;
  background:none;border:1px solid transparent;color:var(--mute-light);
  transition:all .3s;font-family:inherit;cursor:none;
}
@media (hover:none){.menu-tab{cursor:pointer}}
.menu-tab:hover{color:var(--cream)}
.menu-tab.active{background:var(--gold);color:var(--bg);border-color:var(--gold)}

.menu-sec{padding:120px 0;border-bottom:1px solid var(--line)}
.menu-sec-head{
  display:grid;grid-template-columns:1fr 1.2fr;gap:60px;
  align-items:center;margin-bottom:60px;
}
.menu-sec-head.reverse{grid-template-columns:1.2fr 1fr}
.menu-sec-head.reverse .menu-sec-photo{order:2}
.menu-sec-photo{aspect-ratio:5/6;overflow:hidden}
.menu-sec-photo img{width:100%;height:100%;object-fit:cover}
.menu-sec-num{
  font-family:'Fraunces',serif;font-style:italic;font-weight:300;
  font-size:14px;color:var(--gold);letter-spacing:.32em;text-transform:uppercase;
  margin-bottom:14px;
}
.menu-list{display:grid;grid-template-columns:1fr 1fr;gap:0 70px}
.menu-item{
  padding:24px 0;border-bottom:1px solid var(--line);
  display:grid;grid-template-columns:1fr auto;gap:24px;align-items:start;
}
.menu-item-head{
  display:flex;align-items:baseline;gap:10px;margin-bottom:8px;
  font-family:'Fraunces',serif;
}
.menu-item-name{
  font-size:24px;font-weight:400;font-style:italic;color:var(--cream);
  letter-spacing:-.01em;
}
.menu-item-name .v{
  margin-left:8px;font-family:'Inter',sans-serif;font-style:normal;
  font-size:9px;font-weight:700;letter-spacing:.15em;color:var(--gold);
  border:1px solid var(--gold);padding:2px 6px;border-radius:3px;vertical-align:middle;
}
.menu-item-dots{flex:1;border-bottom:1px dotted var(--line-strong);position:relative;top:-7px;min-width:24px}
.menu-item-price{font-family:'Fraunces',serif;font-style:italic;font-size:20px;color:var(--gold)}
.menu-item-desc{font-size:13.5px;color:var(--mute-light);line-height:1.6;max-width:420px;font-style:italic}

/* ============================================================
   Story page
   ============================================================ */
.story-block{
  display:grid;grid-template-columns:1fr 1fr;gap:80px;
  align-items:center;padding:120px 0;
}
.story-block.reverse .story-img{order:2}
.story-img{aspect-ratio:4/5;overflow:hidden}
.story-img img{width:100%;height:100%;object-fit:cover}
.story-block-text h3{margin-bottom:24px}
.story-block-text p{
  font-size:16px;color:var(--mute-light);line-height:1.85;margin-bottom:18px;
}
.story-block-text p em{color:var(--cream);font-style:italic}

/* ============================================================
   Catering page
   ============================================================ */
.cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:80px}
.cat-card{
  padding:50px 36px;background:var(--bg-card);
  border:1px solid var(--line);
  transition:all .4s;
}
.cat-card:hover{border-color:var(--gold);transform:translateY(-6px)}
.cat-card .num{
  font-family:'Fraunces',serif;font-style:italic;font-weight:300;
  font-size:60px;color:var(--gold);line-height:1;margin-bottom:18px;
}
.cat-card h4{
  font-family:'Fraunces',serif;font-weight:400;font-style:italic;
  font-size:32px;color:var(--cream);margin-bottom:14px;
}
.cat-card p{font-size:14px;color:var(--mute-light);line-height:1.7}
.cat-card .price{
  display:block;margin-top:20px;font-family:'Fraunces',serif;
  font-style:italic;font-size:18px;color:var(--gold);
}

.cat-form-sec{padding:var(--space) 0;background:var(--bg-soft)}
.cat-form-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:80px;align-items:center}
.cat-form-img{aspect-ratio:4/5;overflow:hidden}
.cat-form-img img{width:100%;height:100%;object-fit:cover}
.cat-form{display:grid;gap:14px;margin-top:30px}
.cat-form input,.cat-form select,.cat-form textarea{
  width:100%;padding:16px 18px;background:var(--bg);
  border:1px solid var(--line-strong);color:var(--cream);
  font-family:inherit;font-size:14px;border-radius:0;
  transition:border-color .3s;
}
.cat-form input:focus,.cat-form select:focus,.cat-form textarea:focus{
  outline:none;border-color:var(--gold);
}
.cat-form textarea{resize:vertical;min-height:120px}
.cat-form .row{display:grid;grid-template-columns:1fr 1fr;gap:14px}

/* ============================================================
   Locations detail
   ============================================================ */
.locs-detail-grid{display:grid;grid-template-columns:1fr;gap:30px}
.loc-detail{
  display:grid;grid-template-columns:1fr 1fr;gap:0;
  background:var(--bg-card);border:1px solid var(--line);
}
.loc-detail.reverse .loc-detail-img{order:2}
.loc-detail-img{aspect-ratio:4/3;overflow:hidden;position:relative}
.loc-detail-img img{width:100%;height:100%;object-fit:cover;transition:transform 1s}
.loc-detail:hover .loc-detail-img img{transform:scale(1.04)}
.loc-detail-body{padding:50px 50px;display:flex;flex-direction:column;justify-content:center}
.loc-detail-name{
  font-family:'Fraunces',serif;font-weight:300;font-style:italic;
  font-size:48px;color:var(--cream);margin-bottom:24px;line-height:1;
}
.loc-detail-name em{color:var(--gold);font-size:30px;margin-left:4px}
.loc-detail p.desc{font-size:15px;color:var(--mute-light);line-height:1.75;margin-bottom:24px}
.loc-row{display:flex;gap:12px;margin-bottom:10px;font-size:14px;color:var(--cream)}
.loc-row svg{width:16px;height:16px;color:var(--gold);flex-shrink:0;margin-top:3px}
.loc-row b{color:var(--cream);font-weight:500}
.loc-row a{color:var(--mute-light);transition:color .3s}
.loc-row a:hover{color:var(--gold)}
.loc-actions{display:flex;gap:18px;margin-top:24px;padding-top:24px;border-top:1px solid var(--line)}
.loc-actions a{
  font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--cream);
  position:relative;padding-bottom:4px;
}
.loc-actions a::after{
  content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;
  background:var(--gold);transform:scaleX(0);transform-origin:right;
  transition:transform .4s;
}
.loc-actions a:hover::after{transform:scaleX(1);transform-origin:left}

/* ============================================================
   BLOG — index controls
   ============================================================ */
.blog-controls{
  padding:60px 0 30px;border-bottom:1px solid var(--line);
  position:sticky;top:62px;z-index:30;
  background:rgba(10,8,7,.92);backdrop-filter:blur(18px);
}
.blog-search{
  position:relative;max-width:680px;margin:0 auto 28px;
  display:flex;align-items:center;
  border:1px solid var(--line-strong);border-radius:999px;
  padding:6px 6px 6px 22px;
  transition:border-color .3s;
}
.blog-search:focus-within{border-color:var(--gold)}
.blog-search svg{width:18px;height:18px;color:var(--gold);flex-shrink:0}
.blog-search input{
  flex:1;background:transparent;border:none;outline:none;
  padding:14px 14px;font-family:inherit;font-size:15px;color:var(--cream);
}
.blog-search input::placeholder{color:var(--mute)}
.blog-search-clear{
  width:36px;height:36px;border-radius:50%;
  background:transparent;color:var(--mute);font-size:20px;
  line-height:1;cursor:none;display:none;
  transition:background .3s,color .3s;
}
@media (hover:none){.blog-search-clear{cursor:pointer}}
.blog-search-clear:hover{background:var(--bg-card);color:var(--cream)}
.blog-search.has-value .blog-search-clear{display:flex;align-items:center;justify-content:center}

.blog-chips{
  display:flex;gap:8px;flex-wrap:wrap;justify-content:center;
}
.blog-chip{
  padding:9px 18px;border-radius:999px;
  border:1px solid var(--line-strong);background:transparent;
  font-family:inherit;font-size:11px;letter-spacing:.22em;
  text-transform:uppercase;font-weight:500;color:var(--mute-light);
  cursor:none;transition:all .3s;
  display:inline-flex;align-items:center;gap:8px;
}
@media (hover:none){.blog-chip{cursor:pointer}}
.blog-chip:hover{color:var(--cream);border-color:var(--cream)}
.blog-chip.active{background:var(--gold);color:var(--bg);border-color:var(--gold)}
.chip-count{
  font-family:'Fraunces',serif;font-style:italic;font-size:13px;
  letter-spacing:0;text-transform:none;opacity:.8;
}

/* ============================================================
   BLOG — grid + cards
   ============================================================ */
.blog-grid-section{padding:60px 0 120px}
.blog-results-count{
  font-size:11px;letter-spacing:.28em;text-transform:uppercase;
  color:var(--mute);margin-bottom:30px;text-align:center;
  display:none;
}
.blog-results-count.show{display:block}

.blog-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:30px;
}
.blog-card{
  background:var(--bg-card);
  border:1px solid var(--line);
  display:flex;flex-direction:column;
  transition:transform .5s cubic-bezier(.2,.8,.2,1),border-color .4s;
  cursor:none;
}
@media (hover:none){.blog-card{cursor:pointer}}
.blog-card:hover{transform:translateY(-8px);border-color:var(--line-strong)}
.blog-card-img{aspect-ratio:16/10;overflow:hidden;background:var(--bg)}
.blog-card-img img{
  width:100%;height:100%;object-fit:cover;
  transition:transform 1s cubic-bezier(.2,.8,.2,1);
}
.blog-card:hover .blog-card-img img{transform:scale(1.06)}
.blog-card-body{padding:30px;display:flex;flex-direction:column;flex:1}
.blog-card-meta{
  display:flex;gap:8px;align-items:center;flex-wrap:wrap;
  font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--mute);margin-bottom:14px;
}
.blog-card-meta .dot{color:var(--line-strong)}
.blog-card-meta .article-cat{color:var(--gold)}
.blog-card h2{
  font-family:'Fraunces',serif;font-weight:400;font-style:italic;
  font-size:24px;line-height:1.15;color:var(--cream);
  margin-bottom:14px;letter-spacing:-.005em;
}
.blog-card p{font-size:14.5px;color:var(--mute-light);line-height:1.65;margin-bottom:18px}
.blog-card-cta{
  margin-top:auto;display:inline-flex;align-items:center;gap:10px;
  font-size:11px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--gold);font-weight:500;
}
.blog-card-cta svg{width:14px;height:14px;transition:transform .35s}
.blog-card:hover .blog-card-cta svg{transform:translateX(5px)}
.blog-card.hidden{display:none}

.blog-empty{
  display:none;text-align:center;padding:80px 20px;
}
.blog-empty.show{display:block}
.blog-empty .h3{margin:0 auto;max-width:560px}
.blog-empty .h3 em{color:var(--gold);font-style:italic}
.blog-empty-reset{cursor:none}
@media (hover:none){.blog-empty-reset{cursor:pointer}}

/* ============================================================
   ARTICLE — single post
   ============================================================ */
.article{position:relative}
.article-hero{
  position:relative;padding:200px 0 100px;
  border-bottom:1px solid var(--line);overflow:hidden;
}
.article-hero-bg{
  position:absolute;inset:0;opacity:.35;
}
.article-hero-bg img{
  width:100%;height:100%;object-fit:cover;
  transform:scale(1.08);
  animation:articleZoom 12s ease-out forwards;
}
@keyframes articleZoom{to{transform:scale(1)}}
.article-hero-bg::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(10,8,7,.55),rgba(10,8,7,.95));
}
.article-hero-inner{position:relative;z-index:2;text-align:center;max-width:920px}
.article-hero-inner .breadcrumb{
  font-size:11px;letter-spacing:.28em;text-transform:uppercase;
  color:var(--mute);margin-bottom:24px;
}
.article-hero-inner .breadcrumb a{color:var(--mute-light)}
.article-hero-inner .breadcrumb a:hover{color:var(--gold)}
.article-hero-inner .breadcrumb-sep{margin:0 10px;opacity:.5}
.article-cat{
  display:inline-block;padding:8px 16px;
  background:var(--gold);color:var(--bg);
  font-size:10.5px;letter-spacing:.28em;text-transform:uppercase;font-weight:600;
  margin-bottom:24px;
}
.article-title{
  font-family:'Fraunces',serif;font-weight:300;font-style:italic;
  font-size:clamp(40px,6vw,82px);line-height:1.02;letter-spacing:-.02em;
  color:var(--cream);margin-bottom:24px;max-width:880px;
}
.article-meta{
  display:inline-flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:center;
  font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--mute-light);
}

.article-body{
  display:grid;grid-template-columns:1fr 320px;gap:80px;
  padding:80px 48px;max-width:1280px;
}
.article-content{
  max-width:720px;
  font-family:'Inter',sans-serif;
  font-size:18px;line-height:1.85;color:var(--cream);
}
.article-content p{margin-bottom:24px;color:var(--cream)}
.article-content p:first-of-type::first-line{font-weight:500}
.article-content p em{font-family:'Fraunces',serif;font-style:italic;color:var(--gold);font-size:1.04em}
.article-content p strong{font-weight:600;color:var(--cream)}
.article-content h2{
  font-family:'Fraunces',serif;font-weight:400;font-style:italic;
  font-size:32px;line-height:1.15;margin:50px 0 18px;color:var(--cream);
}
.article-content h3{
  font-family:'Fraunces',serif;font-weight:500;
  font-size:22px;line-height:1.2;margin:40px 0 12px;color:var(--cream);
}
.article-content blockquote{
  margin:30px 0;padding:20px 0 20px 28px;
  border-left:2px solid var(--gold);
  font-family:'Fraunces',serif;font-style:italic;
  font-size:24px;line-height:1.5;color:var(--cream);
}
.article-content a{color:var(--gold);border-bottom:1px solid var(--gold);transition:opacity .3s}
.article-content a:hover{opacity:.7}
.article-content ul,.article-content ol{margin:0 0 24px 24px;color:var(--cream)}
.article-content li{margin-bottom:8px}

.article-tags{
  display:flex;gap:8px;flex-wrap:wrap;
  margin-top:50px;padding-top:30px;border-top:1px solid var(--line);
}
.article-tag{
  padding:7px 14px;border:1px solid var(--line-strong);border-radius:999px;
  font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--mute-light);
}
.article-share{
  display:flex;gap:18px;align-items:center;flex-wrap:wrap;
  margin-top:24px;padding-top:24px;border-top:1px solid var(--line);
  font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--mute);
}
.article-share .cap{color:var(--gold);margin-right:6px}
.article-share a,.article-share button{
  color:var(--cream);border-bottom:1px solid transparent;
  padding:2px 0;background:none;font:inherit;
  font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  transition:border-color .3s,color .3s;cursor:none;
}
@media (hover:none){.article-share button{cursor:pointer}}
.article-share a:hover,.article-share button:hover{border-color:var(--gold);color:var(--gold)}

.article-aside{position:relative}
.article-aside-card{
  position:sticky;top:140px;
  padding:34px 28px;background:var(--bg-card);
  border:1px solid var(--line);
}

/* ============================================================
   RELATED posts section
   ============================================================ */
.related-section{
  padding:100px 0;background:var(--bg-soft);border-top:1px solid var(--line);
}
.related-head{text-align:center;margin-bottom:60px}
.related-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
}
.related-card{
  background:var(--bg-card);border:1px solid var(--line);
  transition:transform .5s,border-color .4s;
  display:flex;flex-direction:column;cursor:none;
}
@media (hover:none){.related-card{cursor:pointer}}
.related-card:hover{transform:translateY(-6px);border-color:var(--line-strong)}
.related-img{aspect-ratio:16/10;overflow:hidden}
.related-img img{width:100%;height:100%;object-fit:cover;transition:transform 1s}
.related-card:hover .related-img img{transform:scale(1.05)}
.related-body{padding:24px}
.related-body .article-cat{margin-bottom:14px;font-size:9.5px;padding:6px 12px}
.related-body h3{
  font-family:'Fraunces',serif;font-style:italic;font-weight:400;
  font-size:22px;line-height:1.15;color:var(--cream);margin-bottom:10px;
}
.related-body p{font-size:14px;color:var(--mute-light);line-height:1.6}

/* ============================================================
   PRINT styles
   ============================================================ */
@media print{
  *{cursor:auto!important}
  body{background:#fff;color:#000;font-size:11pt;line-height:1.5}
  .loader,.cursor,.cursor-ring,.topbar,.nav,.nav-mobile,
  .marquee,.slider-controls,.slider-progress,.scroll-cue,.slide-num,
  .blog-controls,.related-section,footer,.skip-link,.btn,
  .article-share,.article-aside,.news,.locs,.signatures,.manifesto,
  .nav-burger{display:none!important}
  .article-hero{padding:0;border:none}
  .article-hero-bg{display:none}
  .article-hero-inner{text-align:left;max-width:none;color:#000;padding:0 0 24px;border-bottom:2px solid #000;margin-bottom:24px}
  .article-cat{background:none;color:#000;padding:0;border:1px solid #000;margin-bottom:14px}
  .article-title{color:#000;font-size:28pt;line-height:1.1;margin:0 0 14px;font-style:italic}
  .article-meta{color:#444;font-size:9pt}
  .article-body{display:block;padding:0;max-width:none}
  .article-content{max-width:none;font-size:11pt;line-height:1.6;color:#000}
  .article-content p{color:#000;margin-bottom:12pt}
  .article-content p em{color:#000;font-style:italic}
  .article-content p strong{color:#000}
  .article-content blockquote{border-color:#000;color:#000;font-size:13pt;margin:14pt 0}
  .article-content a{color:#000;border-color:#000}
  .article-tags{border-color:#000;margin-top:24pt}
  .article-tag{border-color:#000;color:#000}
  a[href^="http"]::after{content:" (" attr(href) ")";font-size:9pt;color:#666}
  a[href^="tel"]::after,a[href^="mailto"]::after{content:" (" attr(href) ")";font-size:9pt;color:#666}
  /* Add print footer */
  .article::after{
    content:"miamcafe.com · Made slow. Served warm. · Open Daily 8am — 4pm";
    display:block;margin-top:30pt;padding-top:14pt;
    border-top:1px solid #000;font-size:9pt;color:#444;text-align:center;
  }
  /* Page break helpers */
  h2,h3{break-after:avoid;page-break-after:avoid}
  p,blockquote{break-inside:avoid;page-break-inside:avoid}
  @page{margin:1.5cm}
}

/* ============================================================
   Reveal animations
   ============================================================ */
.reveal{opacity:0;transform:translateY(40px);transition:opacity 1s cubic-bezier(.2,.8,.2,1),transform 1s cubic-bezier(.2,.8,.2,1)}
.reveal.in{opacity:1;transform:translateY(0)}
.reveal.delay-1{transition-delay:.1s}
.reveal.delay-2{transition-delay:.2s}
.reveal.delay-3{transition-delay:.3s}

/* Split text reveal */
.split-line{overflow:hidden;display:block}
.split-line > *{
  display:inline-block;
  transform:translateY(105%) rotate(4deg);
  transition:transform 1.1s cubic-bezier(.2,.8,.2,1);
}
.split-line.in > *{transform:translateY(0) rotate(0)}

/* Skip link */
.skip-link{
  position:absolute;left:-9999px;top:8px;z-index:200;
  background:var(--gold);color:var(--bg);
  padding:10px 18px;border-radius:4px;font-size:13px;
  letter-spacing:.15em;text-transform:uppercase;font-weight:600;
}
.skip-link:focus{left:8px}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation-duration:.01ms!important;
    transition-duration:.01ms!important;
  }
}

/* ============================================================
   Responsive
   ============================================================ */
@media (max-width:1100px){
  .blog-grid,.related-grid{grid-template-columns:repeat(2,1fr)}
  .article-body{grid-template-columns:1fr;gap:50px;padding:60px 32px}
  .article-aside-card{position:static}
  .container{padding:0 32px}
  .slide-content .container{grid-template-columns:1fr;gap:30px;align-items:flex-end}
  .slide-body{align-self:start;justify-self:start;max-width:none}
  .manifesto-grid,.cat-form-grid,.story-block,.menu-sec-head{grid-template-columns:1fr!important;gap:50px}
  .story-block.reverse .story-img,.menu-sec-head.reverse .menu-sec-photo{order:0}
  .manifesto-img,.story-img,.cat-form-img{aspect-ratio:16/10}
  .menu-sec-photo{aspect-ratio:16/10}
  .stats{grid-template-columns:repeat(2,1fr);gap:30px}
  .cat-grid{grid-template-columns:1fr;gap:16px}
  .locs-grid{grid-template-columns:1fr}
  .loc-detail{grid-template-columns:1fr}
  .loc-detail.reverse .loc-detail-img{order:0}
  .menu-list{grid-template-columns:1fr;gap:0}
  .foot-top{grid-template-columns:1fr 1fr;gap:40px}
  .sig-card{flex-basis:340px}
}
@media (max-width:760px){
  .blog-controls{padding:40px 0 20px;top:54px}
  .blog-grid,.related-grid{grid-template-columns:1fr}
  .blog-chips{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding-bottom:6px}
  .blog-chip{flex-shrink:0}
  .article-hero{padding:140px 0 70px}
  .article-body{padding:50px 22px;gap:40px}
  .article-content{font-size:17px}
  .article-content blockquote{font-size:20px}
  :root{--space:80px}
  body{cursor:auto}
  .cursor,.cursor-ring{display:none}
  .topbar{padding:8px 0}
  .topbar .container > span:not(:first-child){display:none}
  .nav{top:30px;padding:14px 0}
  .nav-left,.nav-right{display:none}
  .nav-burger{display:flex}
  .nav-inner{grid-template-columns:auto 1fr auto;gap:14px}
  .nav-burger{justify-self:end}
  .nav-logo{font-size:24px}
  .container{padding:0 22px}
  .hero{min-height:560px}
  .slide-content{padding:0 0 100px}
  .slider-controls{padding:0 22px;bottom:24px;flex-direction:column-reverse;gap:24px;align-items:flex-start}
  .slide-num{display:none}
  .scroll-cue{display:none}
  .marquee-track span{font-size:32px;gap:50px}
  .sig-scroll{padding:0 22px 60px}
  .sig-card{flex-basis:280px}
  .sig-num{font-size:42px}
  .loc-content h3{font-size:34px}
  .loc-content{left:22px;right:22px}
  .loc-detail-body{padding:32px 28px}
  .loc-detail-name{font-size:36px}
  .foot-top{grid-template-columns:1fr;gap:36px}
}

/* Mobile nav overlay */
.nav-mobile{
  position:fixed;inset:0;z-index:60;
  background:var(--bg);padding:90px 32px 40px;
  transform:translateX(100%);transition:transform .5s cubic-bezier(.7,0,.2,1);
  display:flex;flex-direction:column;gap:30px;
}
.nav-mobile.open{transform:translateX(0)}
.nav-mobile a{
  font-family:'Fraunces',serif;font-style:italic;font-weight:300;
  font-size:42px;color:var(--cream);
}
.nav-mobile-foot{margin-top:auto;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--mute)}
