/* ===========================================================
   YUM! Thai Cuisine & Bar — site styles
   Inspired by the layered, photo-forward feel of casicieloatl.com:
   dark moody backgrounds, full-bleed photography, an elegant
   serif/sans pairing, and lots of negative space.
   =========================================================== */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&family=Inter:wght@300;400;500;600&display=swap');

:root{
  --bg:        #0d1410;          /* deep near-black            */
  --bg-soft:   #131c17;          /* slightly lifted panel      */
  --cream:     #f3ead8;          /* warm off-white text        */
  --cream-dim: #c8bfaa;
  --accent:    #c8a25a;          /* brushed gold               */
  --accent-2:  #8a9b6e;          /* sage green                 */
  --rule:      rgba(243,234,216,0.18);
  --serif:     'Cormorant Garamond', 'Playfair Display', Georgia, serif;
  --sans:      'Inter', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  --maxw:      1280px;
}

*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
html{scroll-behavior:smooth}
body{
  background:var(--bg);
  color:var(--cream);
  font-family:var(--sans);
  font-weight:300;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none;transition:color .25s ease}
a:hover{color:var(--accent)}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}

/* ---------- Type ---------- */
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;letter-spacing:.01em;line-height:1.1;overflow-wrap:break-word}
h1{font-size:clamp(1.9rem, 6vw, 5.4rem)}
h2{font-size:clamp(1.8rem, 4vw, 3.5rem)}
h3{font-size:clamp(1.4rem, 2.4vw, 2rem)}
.eyebrow{
  font-family:var(--sans);
  font-size:.78rem;
  letter-spacing:.32em;
  text-transform:uppercase;
  color:var(--accent);
  font-weight:500;
}
.lead{
  font-family:var(--serif);
  font-size:clamp(1.15rem, 1.6vw, 1.45rem);
  font-style:italic;
  color:var(--cream-dim);
  font-weight:300;
}
p{margin:0 0 1em}
.divider{
  width:60px;height:1px;background:var(--accent);
  margin:1.4rem auto;display:block;
}

/* ---------- Layout helpers ---------- */
.container{max-width:var(--maxw);margin:0 auto;padding:0 clamp(1.25rem, 4vw, 3rem)}
.section{padding:clamp(4rem, 9vw, 8rem) 0}
.section--tight{padding:clamp(3rem, 6vw, 5rem) 0}
.center{text-align:center}
.muted{color:var(--cream-dim)}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:44px;
  padding:.95rem 2.2rem;
  font-size:.78rem;
  letter-spacing:.28em;
  text-transform:uppercase;
  border:1px solid var(--accent);
  color:var(--cream);
  background:transparent;
  transition:all .3s ease;
  font-weight:500;
  touch-action:manipulation;
}
.btn:hover{background:var(--accent);color:#1a1208}
.btn--solid{background:var(--accent);color:#1a1208}
.btn--solid:hover{background:transparent;color:var(--cream)}

/* ---------- Nav ---------- */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  display:flex;align-items:center;justify-content:space-between;
  padding:1rem clamp(1.25rem, 4vw, 3rem);
  padding-top:max(1rem, env(safe-area-inset-top));
  padding-left:max(clamp(1.25rem, 4vw, 3rem), env(safe-area-inset-left));
  padding-right:max(clamp(1.25rem, 4vw, 3rem), env(safe-area-inset-right));
  /* Persistent soft gradient so links stay legible over photos at the top */
  background:linear-gradient(180deg, rgba(13,20,16,.78) 0%, rgba(13,20,16,.55) 60%, rgba(13,20,16,0) 100%);
  transition:background .3s ease, padding .3s ease, box-shadow .3s ease;
}
.nav.scrolled{
  background:rgba(13,20,16,.96);
  /* NOTE: no backdrop-filter here — it would create a containing block
     and trap the fixed-position mobile menu panel inside the nav bar. */
  padding:.55rem clamp(1.25rem, 4vw, 3rem);
  border-bottom:1px solid var(--rule);
  box-shadow:0 6px 24px rgba(0,0,0,.35);
}
.brand{
  display:inline-flex;align-items:center;
  font-family:var(--serif);
  font-size:1.65rem;
  letter-spacing:.06em;
  color:var(--cream);
}
.brand img{
  height:64px;width:auto;display:block;
  filter:drop-shadow(0 2px 6px rgba(0,0,0,.55));
  transition:height .3s ease;
}
.nav.scrolled .brand img{height:48px}
.brand b{color:var(--accent);font-weight:600}
.brand small{
  display:block;font-family:var(--sans);font-weight:400;
  font-size:.6rem;letter-spacing:.36em;color:var(--cream-dim);
  text-transform:uppercase;margin-top:-2px;
}
.nav-links{display:flex;gap:2.2rem;align-items:center;list-style:none}
.nav-links a{
  font-family:var(--sans);
  font-size:.92rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-weight:600;
  color:#fff;
  position:relative;
  text-shadow:0 1px 4px rgba(0,0,0,.5);
  padding:.4rem 0;
  transition:color .25s ease;
}
.nav-links a:hover{color:var(--accent)}
.nav-links a.active{color:var(--accent)}
.nav-links a.active::after,
.nav-links a:hover::after{
  content:"";position:absolute;left:0;right:0;bottom:-2px;
  height:2px;background:var(--accent);
}
.nav-cta{
  padding:.75rem 1.5rem;
  border:1.5px solid var(--accent);
  font-size:.82rem;letter-spacing:.22em;text-transform:uppercase;
  font-weight:600;
  color:#fff;
  background:rgba(200,162,90,.12);
  text-shadow:0 1px 4px rgba(0,0,0,.5);
  transition:all .3s ease;
}
.nav-cta:hover{background:var(--accent);color:#1a1208;text-shadow:none}
.nav-cta--order{
  background:var(--accent);
  color:#1a1208;
  border-color:var(--accent);
  text-shadow:none;
  margin-right:.5rem;
}
.nav-cta--order:hover{background:#a8843e;border-color:#a8843e;color:#1a1208}
.nav-ctas{display:inline-flex;align-items:center;gap:.5rem}
.nav-ig{display:inline-flex;align-items:center;line-height:1;opacity:.9;transition:opacity .2s}
.nav-ig:hover{opacity:1}
/* "Order Online" inline list item: gold accent on desktop, full pill on mobile */
.nav-link-order{display:none}
.nav-link-order a{color:var(--accent) !important}
.nav-toggle{display:none;font-size:1.6rem;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.5);position:relative;z-index:120}
/* Close button inside the open mobile panel */
.nav-close{
  display:none;
  position:absolute;top:1rem;right:1.25rem;
  width:44px;height:44px;line-height:1;
  font-size:1.5rem;color:var(--cream);
  background:transparent;border:1px solid var(--rule);
  border-radius:999px;cursor:pointer;
  transition:color .2s ease, border-color .2s ease, background .2s ease;
}
.nav-close:hover{color:var(--accent);border-color:var(--accent)}
/* Dimmer backdrop behind the open mobile menu (tap to close) */
.nav-backdrop{
  position:fixed;inset:0;z-index:990;
  background:rgba(0,0,0,.55);backdrop-filter:blur(2px);
  opacity:0;pointer-events:none;
  transition:opacity .3s ease;
}
.nav-backdrop.is-visible{opacity:1;pointer-events:auto}
/* Scroll lock pins body in place — works on iOS Safari */
body.nav-open{position:fixed;left:0;right:0;width:100%;overflow:hidden}
/* Hide the top-bar hamburger when the menu is open so only the in-panel ✕ shows */
body.nav-open .nav-toggle{display:none !important}

/* ---------- Hero ---------- */
.hero{
  position:relative;height:100vh;height:100svh;min-height:640px;
  display:flex;align-items:center;justify-content:center;
  text-align:center;color:var(--cream);
  overflow:hidden;
}
.hero__bg{
  position:absolute;inset:0;background-size:cover;background-position:center;
  transform:scale(1.04);
  animation:slowZoom 18s ease-out forwards;
  will-change:transform;
}
@keyframes slowZoom{
  from{transform:scale(1.12)}
  to{transform:scale(1)}
}
/* full-image frosted glass — very light tint + subtle blur */
.hero::after{
  content:"";position:absolute;inset:0;z-index:1;
  background:rgba(13,20,16,.40);
  backdrop-filter:blur(0.8px);
  -webkit-backdrop-filter:blur(0.8px);
}
/* edge-darkening gradient sits above the blur layer */
.hero::before{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(180deg, rgba(13,20,16,.42) 0%, rgba(13,20,16,.10) 40%, rgba(13,20,16,.50) 100%);
  z-index:2;
}
.hero__inner{
  position:relative;z-index:3;padding:0 1.5rem;max-width:900px;width:100%;min-width:0;
}
.hero__inner .eyebrow{margin-bottom:1.5rem;text-shadow:0 1px 6px rgba(0,0,0,.7)}
.hero__inner h1{font-weight:300;margin-bottom:1rem;color:#fff;text-shadow:none}
.hero__inner h1 em{font-style:italic;color:var(--accent);font-weight:400}
.hero__cta{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
.hero__cta .btn{background:rgba(13,20,16,.72);color:#fff;border-color:rgba(255,255,255,.55)}
.hero__cta .btn:hover{background:var(--accent);color:#1a1208;border-color:var(--accent)}
.hero__cta .btn--solid{background:var(--accent);color:#1a1208;border-color:var(--accent)}
.hero__cta .btn--solid:hover{background:rgba(13,20,16,.72);color:#fff;border-color:rgba(255,255,255,.55)}
.hero__scroll{
  position:absolute;bottom:2.4rem;left:50%;transform:translateX(-50%);
  z-index:2;font-size:.66rem;letter-spacing:.34em;text-transform:uppercase;
  color:var(--cream-dim);writing-mode:horizontal-tb;
}
.hero__scroll::after{
  content:"";display:block;width:1px;height:36px;
  background:var(--cream-dim);margin:.7rem auto 0;
  animation:scrollHint 2.2s ease-in-out infinite;
}
@keyframes scrollHint{
  0%,100%{opacity:.3;transform:scaleY(.4)}
  50%{opacity:1;transform:scaleY(1)}
}

/* ---------- Page header (interior pages) ---------- */
.page-hero{
  position:relative;height:60vh;min-height:420px;
  display:flex;align-items:center;justify-content:center;text-align:center;
  overflow:hidden;
}
.page-hero__bg{
  position:absolute;inset:0;background-size:cover;background-position:center;
  filter:brightness(.85);
}
.page-hero::before{
  content:"";position:absolute;inset:0;z-index:1;
  background:
    radial-gradient(ellipse 80% 65% at center, rgba(0,0,0,.50) 0%, rgba(0,0,0,.25) 60%, transparent 85%),
    linear-gradient(180deg, rgba(13,20,16,.60) 0%, rgba(13,20,16,.38) 45%, rgba(13,20,16,.68) 100%);
}
.page-hero__inner{
  position:relative;z-index:2;padding:0 1.5rem;padding-top:6rem;width:100%;min-width:0;
  text-shadow:0 2px 16px rgba(0,0,0,.9), 0 1px 4px rgba(0,0,0,.75);
}
.page-hero h1{margin-top:.6rem}
.page-hero .eyebrow{color:var(--accent);text-shadow:0 2px 10px rgba(0,0,0,.9), 0 0 20px rgba(0,0,0,.6)}
.page-hero .lead{color:#f3ead8}
.page-hero--no-filter .page-hero__bg{filter:brightness(.88) saturate(.9)}
.page-hero--no-filter::before{display:none}
.page-hero--banner{height:75vh;min-height:400px;max-height:680px}
.hero--banner{height:75vh;min-height:400px;max-height:720px}
.home-header{
  background:var(--bg);
  text-align:center;
  padding:clamp(2.5rem,5vw,4rem) 1.5rem clamp(2rem,4vw,3rem);
}
.home-header h1{color:#fff;font-weight:300;margin-bottom:1.6rem;text-shadow:none}
.home-header h1 em{font-style:italic;color:#000;font-weight:400}
.menu-header{
  background:var(--bg);
  text-align:center;
  padding:clamp(2.5rem,5vw,4rem) 1.5rem clamp(1.5rem,3vw,2.5rem);
}
.menu-header .eyebrow{display:block;margin-bottom:.75rem}
.menu-header h1{margin-bottom:.5rem}
.menu-header .divider{display:block;margin:.8rem auto 1rem}
.menu-header .lead{margin-bottom:2rem}

/* ---------- Section heading block ---------- */
.section-head{text-align:center;max-width:760px;margin:0 auto clamp(2.5rem,5vw,4rem)}
.section-head .eyebrow{display:block;margin-bottom:1rem}

/* ---------- Two-column with image ---------- */
.two-col{
  display:grid;grid-template-columns:1.05fr 1fr;
  gap:clamp(2rem, 5vw, 5rem);align-items:center;
}
.two-col--reverse{grid-template-columns:1fr 1.05fr}
.two-col__media{
  position:relative;aspect-ratio:4/5;background-size:cover;background-position:center;
  box-shadow:0 30px 80px rgba(0,0,0,.45);
}
.two-col__media::after{
  content:"";position:absolute;inset:18px;border:1px solid rgba(243,234,216,.25);
  pointer-events:none;
}
.two-col__body h2{margin-bottom:1.2rem}
.two-col__body p{color:var(--cream-dim);max-width:520px}

/* ---------- Photo grid ---------- */
.photo-grid{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  grid-auto-rows:140px;
  gap:1rem;
}
.photo-grid .tile{
  background-size:cover;background-position:center;
  position:relative;overflow:hidden;
  transition:transform .6s ease;
}
.photo-grid .tile:hover{transform:scale(1.02)}
.photo-grid .tile::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 60%,rgba(0,0,0,.45));
  opacity:0;transition:opacity .3s ease;
}
.photo-grid .tile:hover::after{opacity:1}

/* Default placement — varied mosaic */
.t-a{grid-column:span 6;grid-row:span 3}
.t-b{grid-column:span 3;grid-row:span 2}
.t-c{grid-column:span 3;grid-row:span 2}
.t-d{grid-column:span 4;grid-row:span 2}
.t-e{grid-column:span 4;grid-row:span 3}
.t-f{grid-column:span 4;grid-row:span 2}
.t-g{grid-column:span 6;grid-row:span 2}
.t-h{grid-column:span 3;grid-row:span 2}
.t-i{grid-column:span 3;grid-row:span 2}

/* ---------- Highlight (3-up cards) ---------- */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.card{
  background:var(--bg-soft);
  padding:0;overflow:hidden;
  transition:transform .35s ease, box-shadow .35s ease;
  border:1px solid var(--rule);
}
.card:hover{transform:translateY(-4px);box-shadow:0 20px 50px rgba(0,0,0,.4)}
.card__img{aspect-ratio:4/5;background-size:cover;background-position:center}
.card__body{padding:1.8rem 1.6rem 2rem}
.card__body h3{margin-bottom:.6rem}
.card__body p{color:var(--cream-dim);font-size:.96rem}

/* ---------- Marquee strip ---------- */
.strip{
  border-top:1px solid var(--rule);
  border-bottom:1px solid var(--rule);
  padding:1.6rem 0;text-align:center;
}
.strip span{
  font-family:var(--serif);font-style:italic;font-size:1.3rem;
  color:var(--cream-dim);margin:0 1.5rem;letter-spacing:.04em;
}
.strip .dot{color:var(--accent);font-style:normal}

/* Menu panels: skip the reveal fade — items must be readable immediately */
.menu-panel .reveal{opacity:1;transform:none;transition:none}

/* ---------- Menu page ---------- */
.menu-tabs{
  display:flex;justify-content:center;gap:1rem;margin-top:2rem;flex-wrap:wrap;
}
.menu-tab{
  display:inline-block;
  padding:.7rem 1.6rem;
  font-family:var(--sans);font-weight:600;font-size:.78rem;
  letter-spacing:.28em;text-transform:uppercase;
  color:#fff;
  border:1px solid var(--accent);
  background:rgba(200,162,90,.12);
  text-shadow:0 1px 4px rgba(0,0,0,.5);
  transition:all .3s ease;
}
.menu-tab:hover{background:var(--accent);color:#1a1208;text-shadow:none}
.menu-tab.is-active{background:var(--accent);color:#1a1208;text-shadow:none;cursor:default}
.menu-order-cta{margin:1.5rem 0 0;text-align:center}
.menu-order-cta .btn{display:inline-block}
.menu-grid{
  display:grid;grid-template-columns:repeat(2,1fr);
  gap:clamp(2.5rem, 5vw, 5rem) clamp(3rem, 6vw, 6rem);
}
.menu-section h3{
  font-family:var(--serif);font-weight:500;letter-spacing:.06em;
  margin-bottom:.4rem;color:var(--cream);
}
.menu-section .eyebrow{display:block;margin-bottom:1.2rem}
.menu-item{
  display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:baseline;
  padding:1rem 0;border-bottom:1px dashed var(--rule);
}
.menu-item:last-child{border-bottom:0}
.menu-item__name{font-family:var(--serif);font-size:1.25rem;color:var(--cream)}
.menu-item__name small{
  display:block;font-family:var(--sans);font-size:.82rem;font-weight:300;
  color:var(--cream-dim);font-style:normal;margin-top:.25rem;letter-spacing:.02em;
}
.menu-item__price{font-family:var(--sans);color:var(--accent);font-size:.95rem;letter-spacing:.04em}

/* ---------- About page ---------- */
.story{max-width:780px;margin:0 auto}
.story p{font-size:1.06rem;color:var(--cream-dim);margin-bottom:1.2em}
.story p:first-of-type::first-letter{
  font-family:var(--serif);font-size:3.6rem;float:left;
  line-height:.9;padding:.4rem .6rem 0 0;color:var(--accent);
}
.values{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem;margin-top:3.5rem}
.value h4{font-family:var(--serif);font-size:1.35rem;margin-bottom:.5rem;color:var(--accent)}
.value p{color:var(--cream-dim);font-size:.95rem}

/* ---------- Reservations / Visit ---------- */
.visit{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,5rem)}
.visit__panel{background:var(--bg-soft);padding:clamp(2rem,4vw,3.5rem);border:1px solid var(--rule)}
.visit__panel h3{color:var(--accent);margin-bottom:1.2rem}
.visit__panel ul{list-style:none}
.visit__panel li{
  display:flex;justify-content:space-between;padding:.6rem 0;
  border-bottom:1px solid var(--rule);font-size:.96rem;color:var(--cream-dim);
}
.visit__panel li:last-child{border-bottom:0}
.visit__panel li b{color:var(--cream);font-weight:500}
.visit__map{aspect-ratio:1/1;background-size:cover;background-position:center;position:relative}
.visit__map::after{
  content:"";position:absolute;inset:14px;border:1px solid rgba(243,234,216,.25);
}
.ot-widget{
  background:#fff;padding:1rem;border:1px solid var(--rule);
  min-height:340px;display:flex;align-items:flex-start;justify-content:center;
}
.ot-widget iframe{max-width:100%;border:0}

/* ---------- Form ---------- */
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}
.form-field{display:flex;flex-direction:column}
.form-field label{
  font-size:.7rem;letter-spacing:.28em;text-transform:uppercase;
  color:var(--cream-dim);margin-bottom:.5rem;
}
.form-field input,.form-field select,.form-field textarea{
  background:transparent;border:1px solid var(--rule);
  padding:.85rem 1rem;color:var(--cream);font-family:var(--sans);
  font-size:.95rem;transition:border-color .25s ease;
}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{
  outline:none;border-color:var(--accent)
}
.form-field textarea{min-height:110px;resize:vertical}

/* ---------- Catering page ---------- */
.catering-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:0;align-items:stretch;min-height:600px}
.catering-img{background-size:cover;background-position:center 30%;min-height:500px}
.catering-form{padding:clamp(2.5rem,5vw,4rem) clamp(2rem,4vw,3.5rem);background:var(--bg-soft)}
.catering-form h2{margin:.4rem 0 .6rem}
@media(max-width:960px){
  .catering-layout{grid-template-columns:1fr}
  .catering-img{min-height:300px;background-image:url('images/DSC_3573.jpg');background-position:center 82%}
}

/* ---------- Footer ---------- */
.footer{
  background:#0a0f0c;border-top:1px solid var(--rule);
  padding:clamp(3rem,6vw,5rem) 0 max(2rem, env(safe-area-inset-bottom));
  color:var(--cream-dim);font-size:.92rem;
}
.footer-grid{
  display:grid;grid-template-columns:1.4fr 1.6fr 1fr;gap:2.5rem;margin-bottom:2.5rem;
}
.footer h4{
  font-family:var(--sans);font-weight:500;font-size:.74rem;
  letter-spacing:.32em;text-transform:uppercase;color:var(--cream);
  margin-bottom:1.2rem;
}
.footer ul{list-style:none}
.footer li{margin-bottom:.55rem}
.footer .brand{font-size:1.8rem;margin-bottom:.6rem}
.footer .blurb{max-width:340px;color:var(--cream-dim);font-size:.95rem}
.footer-bottom{
  border-top:1px solid var(--rule);padding-top:1.4rem;
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:.6rem;
  font-size:.78rem;letter-spacing:.06em;color:var(--cream-dim);
}
.footer-bottom span{min-width:0}
.footer .socials{display:flex;gap:1rem}
.footer .socials a{
  width:36px;height:36px;border:1px solid var(--rule);
  display:inline-flex;align-items:center;justify-content:center;
  font-size:.82rem;letter-spacing:.04em;
}
.footer .socials a:hover{border-color:var(--accent);color:var(--accent)}

/* ---------- Reveal-on-scroll ---------- */
.reveal{opacity:0;transform:translateY(30px);transition:opacity .9s ease, transform .9s ease}
.reveal.is-visible{opacity:1;transform:translateY(0)}

/* ---------- Responsive ---------- */
@media (max-width: 960px){
  .nav-links{
    position:fixed;top:0;right:0;bottom:0;width:78%;max-width:340px;
    background:rgba(10,15,12,.97);backdrop-filter:blur(12px);
    flex-direction:column;justify-content:center;align-items:center;
    transform:translateX(100%);transition:transform .35s ease;
    gap:1.6rem;z-index:1100;padding:5rem 1.5rem 2rem;
  }
  .nav-links.open{transform:translateX(0);box-shadow:-20px 0 40px rgba(0,0,0,.4)}
  /* Show the in-panel close button on mobile */
  .nav-close{display:inline-flex;align-items:center;justify-content:center}
  .nav-links a{font-size:1rem;letter-spacing:.22em;text-shadow:none}
  .nav-toggle{display:block}
  .nav-cta{display:none}
  /* Keep Order Online visible on mobile so it's always one tap away */
  .nav-ctas .nav-cta--order{
    display:inline-block;padding:.55rem 1rem;
    font-size:.7rem;letter-spacing:.18em;margin-right:.5rem;
  }
  /* Show the bubble-menu Order Online item on mobile, styled as a gold pill */
  .nav-link-order{display:block;margin-top:.6rem}
  .nav-link-order a{
    display:inline-block;
    background:var(--accent);
    color:#1a1208 !important;
    padding:.85rem 2rem;
    letter-spacing:.22em;
    font-weight:600;
    border:1px solid var(--accent);
  }
  .nav-link-order a:hover{background:transparent;color:var(--accent) !important}
  .nav-link-order a::after{display:none !important}
  .brand img{height:52px}
  .nav.scrolled .brand img{height:42px}

  .two-col, .two-col--reverse{grid-template-columns:1fr}
  .two-col__media{aspect-ratio:4/3;order:-1}

  .cards{grid-template-columns:1fr}
  .menu-grid{grid-template-columns:1fr;gap:3rem}
  .values{grid-template-columns:1fr;gap:1.6rem}
  .visit{grid-template-columns:1fr}
  .form-row{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr;gap:2rem}

  /* Photo grid simpler on mobile */
  .photo-grid{grid-template-columns:repeat(6,1fr);grid-auto-rows:110px}
  .t-a{grid-column:span 6;grid-row:span 3}
  .t-b,.t-c,.t-d,.t-e,.t-f,.t-g,.t-h,.t-i{grid-column:span 3;grid-row:span 2}
}

@media (max-width: 520px){
  .strip span{font-size:1rem;margin:0 .8rem}
  .footer-grid{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column;align-items:center;text-align:center;gap:.5rem}
  .footer-grid .footer-li-hours{font-size:.82rem}
  .nav{padding:.7rem 1rem}
  .brand img{height:44px}
  .nav.scrolled .brand img{height:38px}
  .nav-toggle{font-size:1.5rem}
  .eyebrow{letter-spacing:.18em}
  .lead{font-size:1.05rem}
  h1{font-size:1.7rem}
  h2{font-size:1.6rem}
  /* prevent iOS Safari auto-zoom on input focus (requires ≥16px) */
  .form-field input,.form-field select,.form-field textarea{font-size:1rem}
  /* hero */
  .hero{min-height:560px}
  .hero__inner{padding:0 1.2rem}
  .hero__inner h1{font-weight:700;font-size:2.2rem}
  .hero__inner h1 em{color:var(--accent);font-weight:700;font-size:1.1em}
  .hero::after{background:rgba(13,20,16,.50)}
  .hero::before{
    background:linear-gradient(180deg, rgba(13,20,16,.50) 0%, rgba(13,20,16,.12) 40%, rgba(13,20,16,.55) 100%);
  }
  /* page banners */
  .page-hero--banner{height:48vh;min-height:240px}
  .menu-header{padding:2rem 1.2rem 1.5rem}
  .page-hero__bg{filter:brightness(.75)}
  .page-hero::before{
    background:
      radial-gradient(ellipse 100% 70% at center, rgba(0,0,0,.62) 0%, rgba(0,0,0,.32) 60%, transparent 85%),
      linear-gradient(180deg, rgba(13,20,16,.70) 0%, rgba(13,20,16,.50) 45%, rgba(13,20,16,.75) 100%);
  }
}
