/* ============================================================
   TAQUERO MUCHO GR — global styles
   ============================================================ */
:root{
  --magenta:#E6147D;
  --magenta-deep:#C00C68;
  --terracotta:#B5623A;
  --terracotta-deep:#964A28;
  --blush-paper:#FBEEF3;
  --rose-cocoa:#3A1722;
  --blush:#F4A7C4;
  --cream:#FAE3C9;
  /* confetti serape — decoration only */
  --serape-turquoise:#1FB8AE;
  --serape-marigold:#F4B400;
  --serape-guajillo:#E2651E;
  --white:#FFFDFB;

  /* type scale (1.25) */
  --h1:4rem; --h2:2.75rem; --h3:1.75rem;
  --body:1.0625rem; --caption:0.8125rem; --eyebrow:0.875rem;

  --maxw:1200px;
  --radius:18px;
  --radius-sm:10px;
  --shadow-soft:0 18px 50px -22px rgba(58,23,34,.35);
  --shadow-card:0 14px 34px -18px rgba(58,23,34,.28);
  --ease:cubic-bezier(.22,.61,.36,1);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

html{
  background-color:#FBEEF3;
  scroll-behavior:smooth;
  -webkit-text-size-adjust:100%;
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}

body{
  background-color:#FBEEF3;
  color:var(--rose-cocoa);
  font-family:'General Sans',-apple-system,BlinkMacSystemFont,sans-serif;
  font-size:var(--body);
  line-height:1.6;
  font-weight:400;
  padding-top:env(safe-area-inset-top,0px);
  overflow-x:hidden;
  /* soft pink->blush vertical wash deepening toward section breaks */
  background-image:linear-gradient(180deg,#FBEEF3 0%,#FCEFF4 40%,#FBE7EF 100%);
  background-attachment:fixed;
}

/* ~4% noise overlay (analog warmth) */
body::before{
  content:'';
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:1;
  opacity:.045;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
}

img{display:block;max-width:100%;height:auto}

h1,h2,h3,.eyebrow{font-family:'Clash Display',sans-serif;line-height:1.05;letter-spacing:-.01em}
h1{font-size:var(--h1);font-weight:700}
h2{font-size:var(--h2);font-weight:600}
h3{font-size:var(--h3);font-weight:600}
.script{font-family:'Fraunces',Georgia,serif;font-style:italic;font-weight:500;letter-spacing:0}

a{color:inherit;text-decoration:none}

.eyebrow{
  display:inline-block;
  font-size:var(--eyebrow);
  font-weight:500;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--terracotta);
}
.eyebrow.on-magenta{color:var(--blush)}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 clamp(20px,5vw,40px)}

section{position:relative;z-index:2}
.band{padding:96px 0}
.band--tight{padding:64px 0}
@media(max-width:768px){
  .band{padding:56px 0}
  .band--tight{padding:48px 0}
  :root{--h1:2.5rem;--h2:1.9rem;--h3:1.375rem;--body:1rem}
}

/* magenta full-bleed band */
.magenta{background-color:var(--magenta);color:var(--white)}
.magenta h1,.magenta h2,.magenta h3{color:var(--white)}
.cream{background-color:var(--cream)}
.blush-fill{background-color:var(--blush)}

/* serape confetti tick divider */
.serape-ticks{display:flex;gap:8px;align-items:center;justify-content:center;padding:6px 0}
.serape-ticks i{display:block;width:22px;height:5px;border-radius:3px}
.serape-ticks i:nth-child(1){background:var(--serape-turquoise)}
.serape-ticks i:nth-child(2){background:var(--serape-marigold)}
.serape-ticks i:nth-child(3){background:var(--magenta)}
.serape-ticks i:nth-child(4){background:var(--serape-guajillo)}
.serape-ticks i:nth-child(5){background:var(--blush)}

/* ---------- BUTTONS ---------- */
.btn{
  display:inline-flex;align-items:center;gap:.5em;
  font-family:'General Sans',sans-serif;font-weight:600;font-size:1rem;
  padding:.85em 1.5em;border-radius:999px;border:2px solid transparent;
  cursor:pointer;
  transition:background-color .2s var(--ease),transform .1s var(--ease),border-color .2s var(--ease),color .2s var(--ease);
  line-height:1;
}
.btn:active{transform:translateY(1px)}
.btn--magenta{background-color:var(--magenta);color:var(--white)}
.btn--magenta:hover{background-color:var(--magenta-deep)}
.btn--terracotta{background-color:var(--terracotta);color:var(--white)}
.btn--terracotta:hover{background-color:var(--terracotta-deep)}
.btn--ghost-light{background-color:transparent;color:var(--white);border-color:rgba(255,255,255,.7)}
.btn--ghost-light:hover{background-color:var(--white);color:var(--magenta)}
.btn--ghost-dark{background-color:transparent;color:var(--rose-cocoa);border-color:var(--terracotta)}
.btn--ghost-dark:hover{background-color:var(--terracotta);color:var(--white)}
.ext{width:.7em;height:.7em;flex:0 0 auto;opacity:.9}

:focus-visible{outline:2px solid var(--terracotta);outline-offset:3px;border-radius:4px}
.magenta :focus-visible{outline-color:var(--white)}

/* ---------- NAV ---------- */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  background-color:rgba(251,238,243,.82);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  transition:box-shadow .25s var(--ease),background-color .25s var(--ease);
  padding:
    calc(.85rem + env(safe-area-inset-top,0px))
    calc(clamp(20px,5vw,40px) + env(safe-area-inset-right,0px))
    .85rem
    calc(clamp(20px,5vw,40px) + env(safe-area-inset-left,0px));
}
.nav.scrolled{box-shadow:0 6px 28px -16px rgba(58,23,34,.4);background-color:rgba(251,238,243,.94)}
.nav__inner{max-width:var(--maxw);margin:0 auto;display:flex;align-items:center;gap:18px}
.brandmark{
  font-family:'Fraunces',Georgia,serif;font-style:italic;font-weight:500;
  font-size:1.5rem;color:var(--magenta);line-height:1;white-space:nowrap;
  font-variation-settings:"SOFT" 60,"opsz" 60;
}
.brandmark b{font-weight:600}
.nav__links{display:flex;gap:26px;margin-left:auto}
.nav__links a{
  font-weight:500;font-size:.98rem;position:relative;padding:4px 0;color:var(--rose-cocoa);
}
.nav__links a::after{
  content:'';position:absolute;left:0;bottom:-2px;height:2px;width:100%;
  background:var(--terracotta);transform:scaleX(0);transform-origin:left;
  transition:transform .25s var(--ease);
}
.nav__links a:hover::after,.nav__links a[aria-current="page"]::after{transform:scaleX(1)}
.nav__links a[aria-current="page"]{color:var(--magenta)}
.nav__right{display:flex;align-items:center;gap:14px;margin-left:8px}

/* open/closed pill */
.status-pill{
  display:inline-flex;align-items:center;gap:7px;
  background:var(--blush);color:var(--rose-cocoa);
  font-weight:600;font-size:.82rem;padding:.42em .85em;border-radius:999px;white-space:nowrap;
}
.status-pill .dot{width:8px;height:8px;border-radius:50%;background:#9a9a9a;flex:0 0 auto}
.status-pill.is-open .dot{background:#1f9d55;box-shadow:0 0 0 3px rgba(31,157,85,.22)}
.status-pill.is-closed .dot{background:#c0392b;box-shadow:0 0 0 3px rgba(192,57,43,.18)}

.hamburger{display:none;background:none;border:0;cursor:pointer;width:30px;height:30px;flex:0 0 auto;color:var(--rose-cocoa)}
.hamburger svg{width:30px;height:30px}

/* mobile drawer */
.drawer{
  position:fixed;inset:0;z-index:1100;background-color:var(--magenta);
  display:flex;flex-direction:column;
  padding:
    calc(5rem + env(safe-area-inset-top,0px))
    calc(2rem + env(safe-area-inset-right,0px))
    2rem
    calc(2rem + env(safe-area-inset-left,0px));
  transform:translateX(100%);transition:transform .32s var(--ease);
  visibility:hidden;
}
.drawer.open{transform:translateX(0);visibility:visible}
.drawer a{font-family:'Clash Display',sans-serif;font-weight:600;font-size:2rem;color:var(--white);padding:.5rem 0;border-bottom:1px solid rgba(255,255,255,.18)}
.drawer__close{position:absolute;top:calc(1.4rem + env(safe-area-inset-top,0px));right:1.6rem;background:none;border:0;color:var(--white);cursor:pointer}
.drawer__close svg{width:30px;height:30px}
.drawer .status-pill{align-self:flex-start;margin-top:1.6rem}
.drawer__order{margin-top:auto;align-self:stretch;justify-content:center}
/* the order CTA is a pill button, NOT a 2rem drawer nav link — override the
   .drawer a font-size so the label fits cleanly inside the oval with padding */
.drawer a.drawer__order{
  font-family:'General Sans',sans-serif;font-weight:600;font-size:1.05rem;
  line-height:1;white-space:nowrap;
  padding:.95em 1.6em;border-bottom:0;
}
.drawer a.drawer__order .ext{width:.7em;height:.7em}

/* sticky mobile order bar */
.mobile-order{
  position:fixed;left:0;right:0;bottom:0;z-index:980;display:none;
  padding:.7rem calc(1rem + env(safe-area-inset-right,0px)) calc(.7rem + env(safe-area-inset-bottom,0px)) calc(1rem + env(safe-area-inset-left,0px));
  background-color:rgba(251,238,243,.95);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  box-shadow:0 -6px 24px -16px rgba(58,23,34,.5);
  transform:translateY(120%);transition:transform .3s var(--ease);
}
.mobile-order.show{transform:translateY(0)}
.mobile-order .btn{width:100%;justify-content:center}

/* ---------- HERO ---------- */
.hero{padding-top:calc(64px + env(safe-area-inset-top,0px))}
.hero__grid{
  display:grid;grid-template-columns:58fr 42fr;min-height:min(86vh,800px);
  align-items:stretch;
}
.hero__photo{position:relative;overflow:hidden}
.hero__photo img{
  width:100%;height:100%;object-fit:cover;object-position:center;
  animation:foodSettle 1.1s var(--ease) both;
}
@keyframes foodSettle{from{transform:scale(1.04)}to{transform:scale(1)}}
.hero__panel{
  background-color:var(--magenta);color:var(--white);
  display:flex;flex-direction:column;justify-content:center;
  padding:clamp(32px,5vw,72px);position:relative;overflow:hidden;
}
.hero__panel .eyebrow{color:var(--blush)}
.hero__title{margin:.4em 0 .35em;font-size:clamp(2.5rem,4.6vw,4rem)}
.hero__title .word{display:inline-block;opacity:0;transform:translateY(18px);animation:wordRise .55s var(--ease) forwards}
.hero__tag{font-family:'Fraunces',Georgia,serif;font-style:italic;font-weight:500;font-size:clamp(1.15rem,1.8vw,1.5rem);color:#FFE6F1;margin-bottom:1.5em;display:block}
.hero__cta{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:1.4em}
.hero__status{display:flex;align-items:center;gap:10px;font-size:.9rem}
.hero__status .status-pill{background:rgba(255,255,255,.16);color:var(--white)}
@keyframes wordRise{to{opacity:1;transform:translateY(0)}}

/* blossom petals */
.petal{position:absolute;width:16px;height:16px;pointer-events:none;opacity:0;z-index:3;
  background:radial-gradient(circle at 35% 35%,#FBD3E4,#F4A7C4);
  border-radius:60% 60% 60% 0;
  animation:petalFall 3.2s var(--ease) forwards;}
@keyframes petalFall{
  0%{opacity:0;transform:translateY(-40px) rotate(0deg)}
  12%{opacity:.9}
  100%{opacity:0;transform:translateY(220px) rotate(180deg)}
}

@media(max-width:768px){
  .hero__grid{grid-template-columns:1fr;min-height:0}
  .hero__photo{aspect-ratio:16/11;min-height:240px}
  .hero__panel{padding:40px clamp(20px,6vw,32px) 48px}
  .hero__title{font-size:2.5rem}
}

/* ---------- WELCOME STRIP ---------- */
.welcome{display:grid;grid-template-columns:1.35fr 1fr;gap:clamp(32px,5vw,64px);align-items:center}
.welcome__copy p{font-size:clamp(1.1rem,1.6vw,1.35rem);line-height:1.5;max-width:34ch}
.welcome__copy .lead{font-family:'Fraunces',Georgia,serif;font-style:italic;color:var(--magenta);font-weight:500;font-size:clamp(1.4rem,2.4vw,2rem);line-height:1.25;margin-bottom:.6em}
.polaroid{
  background:var(--white);padding:12px 12px 44px;border-radius:6px;
  box-shadow:var(--shadow-card);transform:rotate(3deg);
  position:relative;justify-self:center;max-width:380px;width:100%;
}
.polaroid img{border-radius:3px;aspect-ratio:4/3;object-fit:cover;width:100%}
.polaroid figcaption{position:absolute;left:0;right:0;bottom:12px;text-align:center;font-family:'Fraunces',Georgia,serif;font-style:italic;color:var(--rose-cocoa);font-size:.95rem}
.polaroid.settle{animation:polaroidSettle .7s var(--ease) both}
@keyframes polaroidSettle{from{transform:rotate(-2deg) translateY(14px);opacity:0}to{transform:rotate(3deg) translateY(0);opacity:1}}
@media(max-width:768px){
  .welcome{grid-template-columns:1fr;gap:36px}
  .polaroid{transform:rotate(2deg);max-width:320px}
}

/* ---------- PINK SAUCE FEATURE ---------- */
.pink-feature{overflow:hidden}
.pink-feature__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,72px);align-items:center}
.pink-feature__media{position:relative;border-radius:var(--radius);overflow:hidden;box-shadow:0 26px 60px -28px rgba(0,0,0,.45)}
.pink-feature__media img{width:100%;aspect-ratio:4/5;object-fit:cover}
/* the drizzle mask reveal */
.drizzle{
  position:absolute;inset:0;pointer-events:none;mix-blend-mode:screen;
  background:
    radial-gradient(120px 120px at 30% 30%, rgba(255,140,200,.0) 60%, transparent 61%);
}
.pour-line{
  position:absolute;z-index:4;left:8%;top:6%;width:84%;height:88%;pointer-events:none;
}
.pour-line svg{width:100%;height:100%;overflow:visible}
.pour-line path{
  fill:none;stroke:#FF59A8;stroke-width:11;stroke-linecap:round;stroke-linejoin:round;
  filter:drop-shadow(0 2px 5px rgba(192,12,104,.55));
  stroke-dasharray:1400;stroke-dashoffset:1400;
}
.pink-feature.poured .pour-line path{animation:pour .95s var(--ease) forwards}
@keyframes pour{to{stroke-dashoffset:0}}
.pink-feature__copy .eyebrow{color:var(--blush)}
.pink-feature__title{margin:.25em 0 .5em;font-size:clamp(2rem,3.4vw,3rem);position:relative;display:inline-block;padding-bottom:.28em}
.pink-feature__title::after{
  /* sit BELOW the text descenders — clearance, no overlap */
  content:'';position:absolute;left:0;right:0;bottom:0;height:.16em;border-radius:4px;
  background:linear-gradient(90deg,#FF59A8,#FFC0DC);
  transform:scaleX(0);transform-origin:left;
}
.pink-feature.poured .pink-feature__title::after{animation:underlinePour .95s var(--ease) forwards}
@keyframes underlinePour{to{transform:scaleX(1)}}
.pink-feature__copy p{color:#FFE6F1;max-width:42ch;margin-bottom:1.1em}
@media(max-width:768px){
  .pink-feature__grid{grid-template-columns:1fr;gap:32px}
  .pink-feature__media img{aspect-ratio:4/4.4}
}

/* ---------- MENU PREVIEW ---------- */
.menu-preview .head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:36px}
.cat-strip{position:relative;overflow:hidden;margin:0 0 48px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.cat-track{display:flex;gap:14px;width:max-content;animation:catScroll 32s linear infinite;animation-play-state:paused}
.cat-strip.scroll-on .cat-track{animation-play-state:running}
@keyframes catScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.cat-pill{
  flex:0 0 auto;border:2px solid var(--terracotta);color:var(--terracotta);
  background:var(--blush-paper);border-radius:999px;padding:.55em 1.3em;font-weight:600;font-size:1rem;white-space:nowrap;
}
.dish-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,32px)}
.dish{background:var(--white);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-card);display:flex;flex-direction:column}
.dish__media{aspect-ratio:4/3;overflow:hidden}
.dish__media img{width:100%;height:100%;object-fit:cover}
.dish__body{padding:20px 22px 24px}
.dish__body h3{font-size:1.25rem;margin-bottom:.3em}
.dish__body p{font-size:.96rem;color:#6a4350}
.dish__body .tag{display:inline-block;margin-top:.7em;font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--white);background:var(--terracotta);padding:.3em .7em;border-radius:999px}
@media(max-width:900px){.dish-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.dish-grid{grid-template-columns:1fr}}

/* ---------- THE ROOM ---------- */
.room__grid{display:grid;grid-template-columns:.85fr 1fr;gap:clamp(32px,5vw,64px);align-items:center}
.room__media{position:relative;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-soft);max-width:440px;justify-self:center;width:100%}
.room__media img{width:100%;aspect-ratio:3/4;object-fit:cover}
.room__copy h2{position:relative;display:inline-block}
.room__copy .neon{
  color:var(--magenta);
  /* soft dim resting glow — intentional even with no animation / reduced motion */
  text-shadow:0 0 4px rgba(255,89,168,.45),0 0 12px rgba(230,20,125,.25);
}
/* gentle continuous breathing glow — eased in/out, symmetric so it never snaps.
   On scroll-in (.glow) it eases up over the first cycle from the resting glow,
   then breathes between dim and bright forever. */
.room__copy.glow .neon{animation:neonBreathe 4.4s ease-in-out .15s infinite both}
@keyframes neonBreathe{
  /* symmetric: 0% and 100% identical (dim resting), 50% peak — no abrupt edge */
  0%,100%{text-shadow:0 0 4px rgba(255,89,168,.45),0 0 12px rgba(230,20,125,.25)}
  50%{text-shadow:0 0 9px rgba(255,89,168,.9),0 0 22px rgba(255,89,168,.55),0 0 38px rgba(230,20,125,.35)}
}
@media (prefers-reduced-motion:reduce){
  /* no breathing — hold the dim resting glow */
  .room__copy.glow .neon{animation:none}
}
.room__copy p{max-width:42ch;margin:1em 0 1.4em}
.room__polaroid{margin-top:28px;max-width:260px;transform:rotate(-3deg)}
@media(max-width:768px){
  .room__grid{grid-template-columns:1fr;gap:32px}
  .room__media{max-width:340px}
  .room__polaroid{display:none}
}

/* ---------- REVIEWS ---------- */
.reviews{text-align:center}
.reviews .stars{font-size:1.1rem;letter-spacing:.1em;color:var(--blush);margin-bottom:.4em}
.quote-rotator{position:relative;min-height:170px;max-width:820px;margin:18px auto 0}
.quote{position:absolute;inset:0;opacity:0;transition:opacity .7s var(--ease);display:flex;flex-direction:column;justify-content:center}
.quote.active{opacity:1}
.quote blockquote{font-family:'Fraunces',Georgia,serif;font-style:italic;font-weight:500;font-size:clamp(1.4rem,2.8vw,2.1rem);line-height:1.3;color:var(--white)}
.quote cite{display:block;margin-top:1em;font-family:'General Sans',sans-serif;font-style:normal;font-weight:600;font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;color:var(--blush)}
.review-meta{margin-top:34px;font-weight:600}
.review-meta strong{font-size:1.3rem}

/* ---------- GALLERY ---------- */
.gallery .masonry{columns:3;column-gap:16px}
.gallery .tile{break-inside:avoid;margin-bottom:16px;border-radius:var(--radius-sm);overflow:hidden;box-shadow:var(--shadow-card);position:relative;display:block}
.gallery .tile img{width:100%;transition:transform .25s var(--ease)}
a.tile:hover img{transform:scale(1.03)}
@media(max-width:768px){.gallery .masonry{columns:2}}
@media(max-width:480px){.gallery .masonry{columns:1}}

/* ---------- VISIT TEASER ---------- */
.visit-teaser__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,56px);align-items:center}
.hours-table{width:100%;border-collapse:collapse}
.hours-table th,.hours-table td{text-align:left;padding:.55em 0;border-bottom:1px solid rgba(58,23,34,.12);font-size:1rem}
.hours-table th{font-weight:600;width:48%}
.hours-table td{text-align:right;color:#6a4350}
.hours-table tr.today th,.hours-table tr.today td{color:var(--magenta);font-weight:600}
.visit-card{background:var(--white);border-radius:var(--radius);padding:clamp(28px,3.5vw,40px);box-shadow:var(--shadow-card)}
.visit-card .addr{font-size:1.15rem;font-weight:600;margin:.2em 0 .1em}
.visit-card a.tel{color:var(--magenta);font-weight:600;font-size:1.2rem;display:inline-block;margin:.3em 0}
.visit-card .status-pill{margin:.6em 0}
@media(max-width:768px){.visit-teaser__grid{grid-template-columns:1fr;gap:28px}}

/* ---------- FOOTER ---------- */
.site-footer{background-color:var(--rose-cocoa);color:#F6D9E4;position:relative;z-index:2;padding:72px 0 0}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1.1fr .8fr;gap:40px}
.footer-col h4{font-family:'Clash Display',sans-serif;font-weight:600;font-size:.85rem;letter-spacing:.14em;text-transform:uppercase;color:var(--blush);margin-bottom:1em}
.footer-col a{color:#F6D9E4;display:inline-flex;align-items:center;gap:5px}
.footer-col a:hover{color:var(--white);text-decoration:underline;text-underline-offset:3px}
.footer-brand .brandmark{font-size:1.8rem;color:var(--blush);display:block;margin-bottom:.5em}
.footer-brand .tag{font-family:'Fraunces',Georgia,serif;font-style:italic;color:#F6D9E4;font-size:1.05rem;max-width:24ch;display:block;margin-bottom:1em}
.footer-hours{list-style:none;font-size:.95rem}
.footer-hours li{display:flex;justify-content:space-between;gap:16px;padding:.25em 0;border-bottom:1px solid rgba(246,217,228,.12)}
.footer-hours li.today{color:var(--blush);font-weight:600}
.footer-contact p{font-size:.95rem;line-height:1.55;margin-bottom:.6em}
.footer-contact .socials{display:flex;gap:14px;margin-top:.4em}
.footer-nav ul{list-style:none}
.footer-nav li{padding:.3em 0}
/* 5th block — order CTA panel */
.footer-order{margin-top:56px;background-color:var(--magenta);border-radius:var(--radius);padding:clamp(28px,4vw,44px);display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.footer-order h3{color:var(--white);font-size:clamp(1.4rem,2.4vw,2rem)}
.footer-order p{color:#FFE6F1;font-size:.98rem;margin-top:.3em}
.footer-order .btns{display:flex;gap:12px;flex-wrap:wrap}
.footer-legal{margin-top:48px;border-top:1px solid rgba(246,217,228,.16);padding:24px 0 calc(28px + env(safe-area-inset-bottom,0px));font-size:.82rem;color:#cfa9b8;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}
.footer-legal a{color:#cfa9b8;text-decoration:underline;text-underline-offset:2px}
.footer-legal a:hover{color:var(--white)}
@media(max-width:768px){
  .footer-grid{grid-template-columns:1fr 1fr}
  .footer-order{flex-direction:column;align-items:flex-start}
}
@media(max-width:480px){.footer-grid{grid-template-columns:1fr}}

/* ---------- SCROLL REVEAL ---------- */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.reveal.in{opacity:1;transform:none}
.reveal-stagger>*{opacity:0;transform:translateY(24px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.reveal-stagger.in>*{opacity:1;transform:none}
.reveal-stagger.in>*:nth-child(2){transition-delay:.08s}
.reveal-stagger.in>*:nth-child(3){transition-delay:.16s}
.reveal-stagger.in>*:nth-child(4){transition-delay:.24s}
.reveal-stagger.in>*:nth-child(5){transition-delay:.32s}
.reveal-stagger.in>*:nth-child(6){transition-delay:.4s}

.section-eyebrow{margin-bottom:.5em}
.section-head{margin-bottom:40px;max-width:60ch}
.section-head h2{margin-bottom:.25em}
.section-head p{color:#6a4350}
.magenta .section-head p{color:#FFE6F1}

/* nav hide when drawer open scroll lock */
body.lock{overflow:hidden}

@media(max-width:860px){
  /* hide the desktop nav cluster entirely so nothing reserves space mid-bar */
  .nav__links,.nav__right{display:none}
  /* pin the toggle flush to the right edge of the nav bar */
  .hamburger{display:block;margin-left:auto}
  .mobile-order{display:block}
}

/* ============================================================
   SUBPAGE — shared capped hero band
   ============================================================ */
.page-hero{
  padding:calc(120px + env(safe-area-inset-top,0px)) 0 80px;
  position:relative;overflow:hidden;
}
.page-hero.magenta{background-color:var(--magenta)}
.page-hero__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,4vw,56px);align-items:center}
.page-hero__copy .eyebrow{color:var(--blush)}
.page-hero__copy h1{font-size:clamp(2.4rem,4.4vw,3.6rem);margin:.3em 0 .35em}
.page-hero__copy .script{display:block;font-size:clamp(1.3rem,2.2vw,1.9rem);color:#FFE6F1;margin-bottom:.5em}
.page-hero__copy p{color:#FFE6F1;max-width:42ch}
.page-hero__media{border-radius:var(--radius);overflow:hidden;box-shadow:0 24px 56px -28px rgba(0,0,0,.5)}
.page-hero__media img{width:100%;aspect-ratio:16/10;object-fit:cover}
.page-hero__meta{display:flex;flex-wrap:wrap;gap:14px 24px;align-items:center;margin-top:1.2em}
.page-hero__meta a.tel{color:var(--white);font-weight:600;font-size:1.15rem}
.page-hero__meta .status-pill{background:rgba(255,255,255,.16);color:var(--white)}
@media(max-width:768px){
  .page-hero{padding-top:calc(100px + env(safe-area-inset-top,0px))}
  .page-hero__grid{grid-template-columns:1fr}
  .page-hero__media{order:-1}
}

/* ============================================================
   MENU PAGE
   ============================================================ */
.menu-note{font-family:'Fraunces',Georgia,serif;font-style:italic;color:#FFE6F1;font-size:1.05rem;margin-top:.8em}
.menu-section{padding:72px 0;border-bottom:1px solid rgba(58,23,34,.1)}
.menu-section:nth-child(even){background-color:var(--cream)}
.menu-section__head{display:grid;grid-template-columns:1fr;gap:8px;margin-bottom:36px}
.menu-section__head .eyebrow{margin-bottom:.2em}
.menu-layout{display:grid;grid-template-columns:1fr 360px;gap:clamp(32px,5vw,64px);align-items:start}
.menu-layout.reverse{grid-template-columns:360px 1fr}
.menu-anchor{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-card);position:sticky;top:96px}
.menu-anchor img{width:100%;aspect-ratio:3/4;object-fit:cover}
.dish-list{display:grid;grid-template-columns:1fr 1fr;gap:26px 40px}
.dish-item{}
.dish-item h3{font-size:1.2rem;margin-bottom:.2em;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.dish-item h3 .most-loved{font-family:'General Sans',sans-serif;font-size:.66rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--white);background:var(--terracotta);padding:.3em .6em;border-radius:999px;white-space:nowrap}
.dish-item p{font-size:.95rem;color:#6a4350}
.bebidas-list{columns:2;column-gap:48px;list-style:none}
.bebidas-list li{padding:.5em 0;border-bottom:1px solid rgba(58,23,34,.1);break-inside:avoid;font-weight:500}
.bebidas-list li span{display:block;font-weight:400;font-size:.9rem;color:#6a4350}
@media(max-width:900px){
  .menu-layout,.menu-layout.reverse{grid-template-columns:1fr}
  .menu-anchor{position:relative;top:0;max-width:420px}
  .menu-anchor img{aspect-ratio:4/3}
}
@media(max-width:600px){.dish-list{grid-template-columns:1fr}.bebidas-list{columns:1}}

/* band CTA (catering / order) */
.band-cta{padding:72px 0;text-align:center}
.band-cta.terracotta{background-color:var(--terracotta);color:var(--white)}
.band-cta.terracotta h2,.band-cta.magenta h2{color:var(--white)}
.band-cta h2{margin-bottom:.3em}
.band-cta p{max-width:50ch;margin:0 auto 1.4em}
.band-cta.terracotta p{color:#FBE6DA}
.band-cta.magenta{background-color:var(--magenta)}
.band-cta.magenta p{color:#FFE6F1}
.band-cta .btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* ============================================================
   STORY PAGE
   ============================================================ */
.family-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,72px);align-items:center;padding:64px 0}
.family-split:nth-child(even) .family-split__media{order:2}
.family-split__media{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-soft)}
.family-split__media img{width:100%;aspect-ratio:4/3;object-fit:cover}
.family-split__copy .eyebrow{margin-bottom:.5em}
.family-split__copy h2{margin-bottom:.4em}
.family-split__copy p{max-width:46ch;margin-bottom:1em}
.family-split__copy .yr{font-family:'Fraunces',Georgia,serif;font-style:italic;color:var(--magenta);font-weight:600}
@media(max-width:768px){
  .family-split{grid-template-columns:1fr;gap:28px;padding:40px 0}
  .family-split:nth-child(even) .family-split__media{order:-1}
  .family-split__media{order:-1}
}
.press-band{background-color:var(--cream);padding:80px 0}
.press-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:36px}
.press-card{background:var(--white);border-radius:var(--radius);padding:30px;box-shadow:var(--shadow-card)}
.press-card .src{font-family:'Clash Display',sans-serif;font-weight:600;color:var(--magenta);font-size:1.05rem;margin-bottom:.4em}
.press-card p{font-size:.96rem;color:#5e3b48}
@media(max-width:860px){.press-grid{grid-template-columns:1fr}}

/* ============================================================
   VISIT PAGE
   ============================================================ */
.map-hours{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(28px,4vw,48px);align-items:stretch}
.map-frame{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-card);min-height:380px;border:0}
.map-frame iframe{width:100%;height:100%;min-height:380px;border:0;display:block}
.hours-panel{background:var(--white);border-radius:var(--radius);padding:clamp(28px,3.5vw,40px);box-shadow:var(--shadow-card);display:flex;flex-direction:column}
.hours-panel .status-pill{align-self:flex-start;margin-bottom:1em}
@media(max-width:768px){.map-hours{grid-template-columns:1fr}.map-frame{order:-1;min-height:300px}}

.catering{padding:80px 0}
.catering__grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(32px,5vw,64px);align-items:start}
.catering__copy .eyebrow{margin-bottom:.5em}
.catering__copy p{max-width:38ch;margin-bottom:1em}
.cform{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.cform .full{grid-column:1/-1}
.cform label{display:block;font-weight:600;font-size:.85rem;margin-bottom:.4em;color:var(--rose-cocoa)}
.cform input,.cform select,.cform textarea{
  width:100%;font-family:'General Sans',sans-serif;font-size:1rem;color:var(--rose-cocoa);
  padding:.75em .9em;border:1.5px solid rgba(58,23,34,.18);border-radius:var(--radius-sm);
  background:var(--white);transition:border-color .2s var(--ease);
}
.cform input:focus,.cform select:focus,.cform textarea:focus{border-color:var(--magenta);outline:none}
.cform textarea{min-height:120px;resize:vertical}
.cform .submit-row{grid-column:1/-1;display:flex;align-items:center;gap:18px;flex-wrap:wrap}
#formNote{font-size:.92rem;color:var(--magenta);font-weight:500;max-width:42ch}
.follow{text-align:center;padding:64px 0;background-color:var(--cream)}
.follow h2{margin-bottom:.3em}
.follow p{max-width:46ch;margin:0 auto 1.2em;color:#5e3b48}
.follow .btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
@media(max-width:768px){.catering__grid{grid-template-columns:1fr}.cform{grid-template-columns:1fr}}
