/* ================================================================================
   ROCK THE GUAC — design system
   "Beach cantina poster craft" — warm tortilla cream paper, brand red/orange/green
   (from his real wordmark), chunky Bricolage Grotesque poster type, hand-written Caveat
   notes, gingham basket-paper accents. Festive but premium: no clip-art fiesta.
   Completely distinct from the Magic Smoothies dark-cosmic theme.
   ================================================================================ */

:root{
  --red:#D7282F; --red-deep:#A31C23; --orange:#F7A823; --sunset:#EE6B33;
  --green:#2E9E44; --green-deep:#1E6B33; --pine:#15351F;
  --lime:#A9CE3C; --guac:#7FB643;
  --cream:#FBF4E2; --sand:#F4E7C8; --paper:#FFFDF4;
  --ink:#27301E; --muted:#68664F;
  --line:rgba(39,48,30,.16);
  --shadow:0 10px 30px -12px rgba(39,48,30,.22);
  --pop:6px 6px 0 rgba(39,48,30,.13);
  --r-lg:22px; --r-md:16px; --r-sm:10px;
  --wrap:1120px;
  --display:'Bricolage Grotesque',system-ui,-apple-system,sans-serif;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:clip;}
/* grid/flex blowout guard — layout children may always shrink below content size */
.hero__inner>*,.split>*,.cater-tease>*,.order-wrap>*,.visit-grid>*,.story-cols>*,.steps>*,.mgrid>*,.rev>*,.cater-cards>*,.strip__road>*{min-width:0;}
body{margin:0;font-family:'Plus Jakarta Sans',system-ui,-apple-system,sans-serif;color:var(--ink);
  background:var(--cream);font-size:16.5px;line-height:1.62;overflow-x:hidden;}
img{max-width:100%;height:auto;}
a{color:var(--green-deep);}
::selection{background:var(--orange);color:var(--ink);}

h1,h2,h3,h4{font-family:var(--display);line-height:1.02;margin:0;color:var(--ink);
  font-weight:800;letter-spacing:-.022em;}
p{margin:0 0 1em;}

.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:#fff;padding:10px 16px;z-index:99;border-radius:0 0 10px 0;}
.skip:focus{left:0;}

/* accent words inside headings */
.w-red{color:var(--red);}
.w-org{color:var(--orange);}
.w-grn{color:var(--green);}
.w-sun{color:var(--sunset);}

/* hand-written margin note */
.scrawl{font-family:'Caveat',cursive;font-size:1.55rem;font-weight:700;line-height:1.1;color:var(--green-deep);}
.scrawl--red{color:var(--red);}
.scrawl--sun{color:var(--sunset);}

/* section kicker */
.kick{display:inline-flex;align-items:center;gap:8px;font-weight:800;font-size:.74rem;letter-spacing:.18em;
  text-transform:uppercase;color:var(--red);margin:0 0 14px;}
.kick::before,.kick::after{content:"";width:26px;height:2px;background:currentColor;border-radius:2px;opacity:.55;}

/* gingham basket-paper strip (echo of his red-check food baskets) */
.gingham{height:14px;background:
  repeating-linear-gradient(90deg,rgba(215,40,47,.55) 0 14px,transparent 14px 28px),
  repeating-linear-gradient(0deg,rgba(215,40,47,.55) 0 14px,transparent 14px 28px),
  #fff;
  background-blend-mode:multiply;opacity:.9;}

/* ── layout ─────────────────────────────────────────────────────────────────── */
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 22px;}
section{position:relative;}
.sec{padding:84px 0;}
.sec--sand{background:var(--sand);}
.sec--paper{background:var(--paper);}
.sec--pine{background:var(--pine);color:#F4EFDD;}
.sec--pine h2,.sec--pine h3{color:#F9F4E2;}
.sec-head{max-width:720px;margin:0 0 42px;}
.sec-head h2{font-size:clamp(1.9rem,4.4vw,3rem);text-transform:uppercase;}
.sec-head p{color:var(--muted);margin-top:14px;font-size:1.05rem;}
.sec--pine .sec-head p{color:rgba(244,239,221,.75);}
.sec-head--center{margin-inline:auto;text-align:center;}
.sec-head--center .kick{justify-content:center;}

/* wavy divider */
.wave{display:block;width:100%;height:34px;}

/* ── nav ────────────────────────────────────────────────────────────────────── */
.nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:18px;
  padding:10px 20px;background:rgba(251,244,226,.92);backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line);}
.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;}
.brand img{width:52px;height:39px;object-fit:contain;}
.brand__word{font-family:var(--display);font-weight:800;font-size:1.22rem;letter-spacing:-.01em;white-space:nowrap;}
.brand__word .b1{color:var(--red);}
.brand__word .b2{color:var(--orange);font-size:.82em;padding:0 1px;}
.brand__word .b3{color:var(--green);}
.links{margin-left:auto;display:flex;align-items:center;gap:4px;}
.links a{text-decoration:none;color:var(--ink);font-weight:700;font-size:.93rem;padding:9px 13px;border-radius:999px;transition:background .18s,color .18s;}
.links a:hover{background:rgba(46,158,68,.12);}
.links a.on{background:var(--pine);color:#FBF4E2;}
.links a.cta{background:var(--red);color:#fff;margin-left:8px;box-shadow:0 4px 14px -6px rgba(215,40,47,.6);}
.links a.cta:hover{background:var(--red-deep);}
.burger{display:none;margin-left:auto;background:none;border:2px solid var(--ink);border-radius:10px;
  width:44px;height:40px;cursor:pointer;padding:8px 9px;flex-direction:column;justify-content:space-between;}
.burger span{display:block;height:2.5px;background:var(--ink);border-radius:2px;}

@media (max-width:920px){
  .burger{display:flex;}
  .links{position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:2px;
    background:var(--cream);border-bottom:2px solid var(--line);padding:10px 16px 16px;display:none;}
  .links.is-open{display:flex;}
  .links a{padding:12px 14px;border-radius:12px;font-size:1.02rem;}
  .links a.cta{margin-left:0;text-align:center;margin-top:8px;}
}

/* ── buttons ────────────────────────────────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:800;font-size:1rem;
  padding:15px 28px;border-radius:999px;text-decoration:none;border:2.5px solid transparent;
  transition:transform .16s,box-shadow .16s,background .16s;cursor:pointer;}
.btn--solid{background:var(--red);color:#fff;box-shadow:var(--pop);border-color:var(--ink);}
.btn--solid:hover{transform:translate(-2px,-2px);box-shadow:8px 8px 0 rgba(39,48,30,.16);background:var(--red-deep);}
.btn--solid:active{transform:translate(2px,2px);box-shadow:2px 2px 0 rgba(39,48,30,.14);}
.btn--green{background:var(--green-deep);}
.btn--green:hover{background:var(--pine);}
.btn--ghost{background:transparent;color:var(--ink);border-color:var(--ink);}
.btn--ghost:hover{background:var(--ink);color:var(--cream);}
.sec--pine .btn--ghost{color:#F4EFDD;border-color:#F4EFDD;}
.sec--pine .btn--ghost:hover{background:#F4EFDD;color:var(--pine);}
.btn .ic{width:19px;height:19px;}
.btn--big{font-size:1.1rem;padding:18px 34px;}
.btn__ext{opacity:.75;font-weight:600;font-size:.8em;}

/* inline svg icon default */
.ic{width:20px;height:20px;flex:none;vertical-align:-4px;}

/* ── hero ───────────────────────────────────────────────────────────────────── */
.hero{position:relative;overflow:hidden;background:
  radial-gradient(900px 480px at 85% -10%,rgba(247,168,35,.28),transparent 65%),
  radial-gradient(700px 420px at -12% 108%,rgba(169,206,60,.30),transparent 60%),
  var(--cream);}
.hero__inner{position:relative;z-index:2;display:grid;grid-template-columns:1.15fr .85fr;gap:34px;
  align-items:center;max-width:var(--wrap);margin:0 auto;padding:64px 22px 86px;}
.hero__copy{max-width:600px;}
.hero__wordmark{width:min(430px,100%);height:auto;display:block;margin-bottom:6px;}
.hero__tag{font-size:clamp(2.1rem,5.2vw,3.55rem);text-transform:uppercase;line-height:1.02;margin:14px 0 18px;}
.hero__scrawl{margin:0 0 12px;font-size:1.7rem;}
.hero__lede{font-size:1.12rem;color:var(--muted);max-width:52ch;}
.hero__ctas{display:flex;flex-wrap:wrap;gap:14px;margin-top:26px;}
.hero__mascot{position:relative;text-align:center;}
.hero__mascot img{width:min(430px,100%);filter:drop-shadow(0 24px 30px rgba(39,48,30,.18));}
.infotags{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:30px;padding:0;list-style:none;}
.infotags li{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:.88rem;color:var(--green-deep);}
.infotags .ic{width:17px;height:17px;color:var(--sunset);}
/* trust chip (dated real snapshot) */
.trust{display:inline-flex;align-items:center;gap:10px;margin-top:26px;padding:9px 16px;background:#fff;
  border:1.5px solid var(--line);border-radius:999px;text-decoration:none;color:var(--ink);
  font-size:.88rem;font-weight:700;box-shadow:var(--shadow);transition:transform .16s;}
.trust:hover{transform:translateY(-2px);}
.trust__stars{color:var(--orange);letter-spacing:2px;font-size:.95rem;}
.trust small{color:var(--muted);font-weight:600;}
/* chip confetti (own-brand tortilla-chip triangles, generated in build.mjs) */
.chip{position:absolute;z-index:1;width:0;height:0;border-style:solid;opacity:.16;pointer-events:none;
  animation:chipDrift 12s ease-in-out infinite alternate;}
@keyframes chipDrift{from{transform:translateY(-8px) rotate(var(--rot,0deg));}to{transform:translateY(10px) rotate(calc(var(--rot,0deg) + 12deg));}}

@media (max-width:880px){
  .hero__inner{grid-template-columns:1fr;padding:44px 22px 66px;text-align:center;}
  .hero__copy{margin:0 auto;}
  .hero__wordmark{margin-inline:auto;}
  .hero__ctas{justify-content:center;}
  .infotags{justify-content:center;}
  .hero__mascot{order:-1;}
  .hero__mascot img{width:min(300px,72%);}
  .hero__lede{margin-inline:auto;}
  .hero__wordmark{width:min(340px,92%);}
  .chip{display:none;}
}

/* ── guac story split ───────────────────────────────────────────────────────── */
.split{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center;}
.split__media{position:relative;}
.split__media img{display:block;border-radius:var(--r-lg);border:3px solid var(--ink);box-shadow:var(--pop);}
.split__media .scrawl-tape{position:absolute;left:18px;top:-20px;background:var(--orange);color:var(--ink);
  font-family:'Caveat',cursive;font-weight:700;font-size:1.35rem;line-height:1;padding:8px 18px;border-radius:8px;
  border:2px solid var(--ink);transform:rotate(-3deg);box-shadow:3px 3px 0 rgba(39,48,30,.18);}
.split__copy h2{font-size:clamp(1.8rem,4vw,2.7rem);text-transform:uppercase;}
.split__copy .lead{font-size:1.12rem;margin-top:16px;}
.ticklist{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:12px;}
.ticklist li{display:flex;gap:12px;align-items:flex-start;font-weight:600;}
.ticklist .ic{color:var(--green);margin-top:3px;}
@media (max-width:880px){.split{grid-template-columns:1fr;gap:36px;}}

/* ── heat meter (signature interactive) ─────────────────────────────────────── */
.heat{--heat:0;}
.heat__card{background:var(--paper);border:3px solid var(--ink);border-radius:var(--r-lg);
  box-shadow:var(--pop);padding:40px clamp(20px,5vw,56px) 44px;max-width:880px;margin:0 auto;position:relative;overflow:hidden;}
.heat__zone{text-align:center;min-height:5.2rem;display:flex;align-items:center;justify-content:center;}
.heat__word{font-family:var(--display);font-weight:800;text-transform:uppercase;line-height:1;
  font-size:clamp(2.6rem,7vw,4.6rem);letter-spacing:-.01em;color:var(--zonec,var(--green));
  transition:color .25s,transform .25s;}
.heat.is-max .heat__word{animation:wow .5s ease;}
@keyframes wow{0%{transform:scale(1);}40%{transform:scale(1.14) rotate(-2deg);}70%{transform:scale(.97) rotate(1deg);}100%{transform:scale(1);}}
.heat__desc{text-align:center;color:var(--muted);font-weight:600;min-height:3.2em;margin:8px auto 26px;max-width:46ch;}
.heat__track{position:relative;height:38px;border-radius:999px;border:2.5px solid var(--ink);
  background:linear-gradient(90deg,#BFDF7A 0%,#F3D75B 30%,var(--orange) 55%,var(--sunset) 75%,var(--red) 100%);}
.heat__mask{position:absolute;inset:0;border-radius:999px;
  background:linear-gradient(90deg,transparent 0,transparent calc(var(--heat)*100%),rgba(251,244,226,.88) calc(var(--heat)*100%));
  pointer-events:none;transition:background .1s linear;}
.heat input[type=range]{position:absolute;inset:-14px 0;width:100%;height:calc(100% + 28px);margin:0;
  -webkit-appearance:none;appearance:none;background:transparent;cursor:pointer;}
.heat input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:52px;height:52px;border-radius:50%;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23D7282F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12.6 6.9c.4-1.6-.3-3-1.6-3.9 2.6-.3 4.4 1.2 4.6 3.5 3.3.6 5.4 3.6 4.9 7.6-.6 4.6-4.8 7.9-9.7 7.9-4.4 0-7.8-2.6-8.6-6.3-.2-.8.8-1.3 1.4-.8 1.2 1 2.9 1.6 4.4 1.3 2.1-.4 3.5-2 3.9-4.2.3-1.7.2-3.5.7-5.1z'/%3E%3C/svg%3E") center/28px no-repeat;
  border:3px solid var(--ink);box-shadow:3px 3px 0 rgba(39,48,30,.25);margin-top:0;}
.heat input[type=range]::-moz-range-thumb{width:52px;height:52px;border-radius:50%;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23D7282F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12.6 6.9c.4-1.6-.3-3-1.6-3.9 2.6-.3 4.4 1.2 4.6 3.5 3.3.6 5.4 3.6 4.9 7.6-.6 4.6-4.8 7.9-9.7 7.9-4.4 0-7.8-2.6-8.6-6.3-.2-.8.8-1.3 1.4-.8 1.2 1 2.9 1.6 4.4 1.3 2.1-.4 3.5-2 3.9-4.2.3-1.7.2-3.5.7-5.1z'/%3E%3C/svg%3E") center/28px no-repeat;
  border:3px solid var(--ink);box-shadow:3px 3px 0 rgba(39,48,30,.25);}
.heat input[type=range]:focus-visible{outline:3px solid var(--green);outline-offset:6px;border-radius:999px;}
.heat__ends{display:flex;justify-content:space-between;margin-top:14px;font-family:'Caveat',cursive;
  font-weight:700;font-size:1.5rem;}
.heat__ends .wimpy{color:var(--green-deep);}
.heat__ends .wow{color:var(--red);}
.heat__peppers{display:flex;justify-content:center;gap:10px;margin:26px 0 0;}
.heat__peppers .ic{width:30px;height:30px;color:rgba(39,48,30,.18);transition:color .2s,transform .2s;}
.heat__peppers .ic.lit{color:var(--red);transform:rotate(-6deg) scale(1.08);}
.heat__burst{position:absolute;inset:0;pointer-events:none;overflow:hidden;}
.heat__burst span{position:absolute;top:18%;left:50%;font-size:20px;opacity:0;}
.heat.is-max .heat__burst span{animation:burst 1s ease-out forwards;}
@keyframes burst{0%{opacity:1;transform:translate(0,0) rotate(0);}100%{opacity:0;transform:translate(var(--bx),var(--by)) rotate(var(--br));}}
.heat__note{text-align:center;margin:26px 0 0;color:var(--muted);font-size:.94rem;}

/* ── build-your-own steps ───────────────────────────────────────────────────── */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.step{background:#fff;border:2.5px solid var(--ink);border-radius:var(--r-lg);padding:30px 26px;
  box-shadow:var(--pop);position:relative;transition:transform .18s;}
.step:hover{transform:translateY(-5px);}
.step__num{position:absolute;top:-18px;left:22px;width:40px;height:40px;border-radius:50%;background:var(--orange);
  border:2.5px solid var(--ink);display:grid;place-items:center;font-family:var(--display);font-weight:800;font-size:1.15rem;}
.step .ic{width:38px;height:38px;color:var(--green-deep);margin-bottom:14px;}
.step h3{font-size:1.35rem;text-transform:uppercase;margin-bottom:8px;}
.step p{margin:0;color:var(--muted);font-size:.98rem;}
.step em{font-style:normal;font-weight:800;color:var(--red);}
@media (max-width:820px){.steps{grid-template-columns:1fr;gap:28px;}}

/* jackfruit callout */
.jack{display:flex;align-items:center;gap:20px;background:linear-gradient(115deg,rgba(127,182,67,.16),rgba(169,206,60,.24));
  border:2.5px dashed var(--green-deep);border-radius:var(--r-lg);padding:24px 28px;margin-top:34px;}
.jack .ic{width:44px;height:44px;color:var(--green-deep);flex:none;}
.jack b{font-family:var(--display);font-size:1.18rem;display:block;}
.jack p{margin:4px 0 0;color:var(--muted);}
@media (max-width:600px){.jack{flex-direction:column;text-align:center;}}

/* ── reviews (pine band) ────────────────────────────────────────────────────── */
.rev{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:8px;}
.rcard{background:rgba(251,244,226,.06);border:1.5px solid rgba(251,244,226,.22);border-radius:var(--r-lg);
  padding:28px 26px;margin:0;display:flex;flex-direction:column;}
.rcard blockquote{margin:0 0 18px;font-size:1.04rem;line-height:1.55;flex:1;font-weight:500;}
.rcard blockquote::before{content:"“";display:block;font-family:var(--display);font-size:3rem;line-height:.4;
  color:var(--orange);margin:8px 0 14px;}
.rcard figcaption{font-size:.86rem;color:rgba(244,239,221,.66);font-weight:600;}
.rcard__stars{color:var(--orange);letter-spacing:3px;margin-bottom:6px;}
.rev-aggs{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin:38px 0 0;}
.agg{display:inline-flex;align-items:center;gap:10px;background:rgba(251,244,226,.09);border:1.5px solid rgba(251,244,226,.22);
  border-radius:999px;padding:10px 20px;font-size:.9rem;font-weight:700;color:#F4EFDD;text-decoration:none;transition:background .18s;}
a.agg:hover{background:rgba(251,244,226,.16);}
.agg b{color:var(--orange);font-size:1.05rem;}
.agg small{color:rgba(244,239,221,.6);font-weight:600;}
@media (max-width:880px){.rev{grid-template-columns:1fr;}}

/* ── catering teaser + page ─────────────────────────────────────────────────── */
.cater-tease{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;}
.bignum{display:flex;align-items:baseline;gap:6px;font-family:var(--display);font-weight:800;color:var(--green-deep);}
.bignum b{font-size:clamp(3.4rem,7vw,5.4rem);line-height:1;}
.bignum span{font-size:1.1rem;font-weight:700;color:var(--muted);}
.cater-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.ccard{background:#fff;border:2.5px solid var(--ink);border-radius:var(--r-lg);padding:28px 24px;box-shadow:var(--pop);}
.ccard .ic{width:36px;height:36px;color:var(--sunset);margin-bottom:12px;}
.ccard h3{font-size:1.22rem;text-transform:uppercase;margin-bottom:6px;}
.ccard p{margin:0;color:var(--muted);font-size:.96rem;}
@media (max-width:880px){.cater-tease{grid-template-columns:1fr;gap:30px;}.cater-cards{grid-template-columns:1fr;}}
.occasions{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 0;padding:0;list-style:none;}
.occasions li{background:var(--sand);border:1.5px solid var(--line);border-radius:999px;padding:8px 16px;
  font-weight:700;font-size:.9rem;color:var(--green-deep);}
.callout-call{display:flex;flex-wrap:wrap;align-items:center;gap:20px;justify-content:space-between;background:var(--pine);
  color:#F4EFDD;border-radius:var(--r-lg);padding:34px 36px;margin-top:44px;}
.callout-call h3{color:#F9F4E2;font-size:1.5rem;text-transform:uppercase;}
.callout-call p{margin:6px 0 0;color:rgba(244,239,221,.72);}

/* ── menu page ──────────────────────────────────────────────────────────────── */
.page-head{padding:64px 0 30px;}
.page-head h1{font-size:clamp(2.3rem,5.5vw,3.7rem);text-transform:uppercase;}
.page-head .lede{font-size:1.12rem;color:var(--muted);max-width:60ch;margin-top:16px;}
.mgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px;}
.mcard{background:#fff;border:2.5px solid var(--ink);border-radius:var(--r-lg);padding:34px 30px;box-shadow:var(--pop);position:relative;}
.mcard .ic{width:42px;height:42px;color:var(--green-deep);margin-bottom:14px;}
.mcard h2{font-size:1.6rem;text-transform:uppercase;}
.mcard .scrawl{display:block;margin:2px 0 12px;font-size:1.35rem;}
.mcard p{color:var(--muted);margin:0;}
.mcard--wide{grid-column:1 / -1;background:linear-gradient(115deg,#fff, var(--sand));}
@media (max-width:820px){.mgrid{grid-template-columns:1fr;}}
.price-note{display:flex;flex-wrap:wrap;align-items:center;gap:18px;justify-content:space-between;
  border:2.5px dashed var(--ink);border-radius:var(--r-lg);background:var(--paper);padding:26px 30px;margin-top:40px;}
.price-note b{font-family:var(--display);font-size:1.25rem;}
.price-note p{margin:4px 0 0;color:var(--muted);}
/* static heat strip on menu */
.heatline{display:flex;align-items:center;gap:14px;margin-top:16px;}
.heatline__bar{flex:1;height:14px;border-radius:999px;border:2px solid var(--ink);
  background:linear-gradient(90deg,#BFDF7A,#F3D75B,var(--orange),var(--sunset),var(--red));}
.heatline span{font-family:'Caveat',cursive;font-weight:700;font-size:1.3rem;white-space:nowrap;}

/* ── order page ─────────────────────────────────────────────────────────────── */
.order-wrap{display:grid;grid-template-columns:1.2fr .8fr;gap:26px;align-items:stretch;}
.ocard{background:#fff;border:2.5px solid var(--ink);border-radius:var(--r-lg);padding:38px 34px;box-shadow:var(--pop);
  display:flex;flex-direction:column;align-items:flex-start;}
.ocard--hero{background:linear-gradient(130deg,#fff 30%,rgba(169,206,60,.18));}
.ocard .ic{width:40px;height:40px;color:var(--green-deep);margin-bottom:16px;}
.ocard h2{font-size:1.55rem;text-transform:uppercase;margin-bottom:8px;}
.ocard p{color:var(--muted);}
.ocard .btn{margin-top:auto;}
.ocard__badge{display:inline-block;background:var(--orange);border:2px solid var(--ink);border-radius:999px;
  padding:4px 14px;font-weight:800;font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:16px;}
.osmall{margin-top:26px;color:var(--muted);font-size:.94rem;}
@media (max-width:820px){.order-wrap{grid-template-columns:1fr;}}

/* ── visit page ─────────────────────────────────────────────────────────────── */
.visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:stretch;}
.vinfo{background:#fff;border:2.5px solid var(--ink);border-radius:var(--r-lg);padding:36px 32px;box-shadow:var(--pop);}
.vinfo h2{font-size:1.4rem;text-transform:uppercase;display:flex;align-items:center;gap:10px;margin:26px 0 10px;}
.vinfo h2:first-child{margin-top:0;}
.vinfo h2 .ic{color:var(--sunset);}
.vinfo address{font-style:normal;font-size:1.08rem;font-weight:600;}
.hours{list-style:none;margin:0;padding:0;max-width:340px;}
.hours li{display:flex;justify-content:space-between;gap:18px;padding:7px 0;border-bottom:1px dashed var(--line);font-weight:600;}
.hours li span:last-child{color:var(--green-deep);font-weight:700;white-space:nowrap;}
.open-now{display:inline-block;font-weight:800;font-size:.72rem;letter-spacing:.03em;padding:3px 11px;border-radius:999px;
  vertical-align:2px;margin-left:8px;border:1.5px solid var(--ink);}
.open-now.is-open{background:var(--lime);color:var(--pine);}
.open-now.is-closed{background:var(--sand);color:var(--muted);}
.vmap{border:3px solid var(--ink);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--pop);min-height:380px;display:flex;}
.vmap iframe{border:0;width:100%;min-height:380px;flex:1;}
@media (max-width:880px){.visit-grid{grid-template-columns:1fr;}}

/* strip-cluster diagram */
.strip{margin-top:22px;}
.strip__road{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;position:relative;padding-top:26px;}
.strip__road::before{content:"";position:absolute;top:0;left:4%;right:4%;height:3px;
  background:repeating-linear-gradient(90deg,var(--ink) 0 18px,transparent 18px 30px);opacity:.4;}
.stop{background:#fff;border:2px solid var(--ink);border-radius:var(--r-md);padding:18px 14px;text-align:center;position:relative;}
.stop::before{content:"";position:absolute;top:-31px;left:50%;transform:translateX(-50%);width:12px;height:12px;
  border-radius:50%;background:var(--sand);border:2.5px solid var(--ink);}
.stop b{font-family:var(--display);font-size:.98rem;display:block;line-height:1.25;}
.stop small{color:var(--muted);font-weight:600;}
.stop--us{background:var(--pine);border-color:var(--pine);}
.stop--us b{color:#F9F4E2;}
.stop--us small{color:var(--lime);}
.stop--us::before{background:var(--red);}
.stop--us .youare{display:inline-block;font-family:'Caveat',cursive;color:var(--orange);font-size:1.15rem;line-height:1;}
.strip__label{text-align:center;margin-top:14px;color:var(--muted);font-size:.9rem;font-weight:600;}
@media (max-width:760px){
  .strip__road{grid-template-columns:1fr;gap:10px;padding-top:0;padding-left:26px;}
  .strip__road::before{left:8px;right:auto;top:4%;bottom:4%;width:3px;height:auto;
    background:repeating-linear-gradient(180deg,var(--ink) 0 18px,transparent 18px 30px);}
  .stop::before{top:50%;left:-24px;transform:translateY(-50%);}
}

/* socials */
.socials{display:flex;gap:12px;margin-top:14px;}
.socials a{display:inline-flex;align-items:center;gap:9px;background:#fff;border:2px solid var(--ink);border-radius:999px;
  padding:9px 18px;font-weight:700;font-size:.9rem;color:var(--ink);text-decoration:none;transition:transform .16s;}
.socials a:hover{transform:translateY(-2px);}
.socials .ic{width:18px;height:18px;color:var(--red);}

/* ── story page ─────────────────────────────────────────────────────────────── */
.story-lead{font-family:var(--display);font-size:clamp(1.3rem,2.6vw,1.7rem);line-height:1.45;font-weight:600;max-width:30ch;}
.story-cols{display:grid;grid-template-columns:1fr 1fr;gap:44px;margin-top:40px;align-items:start;}
.story-cols p{color:var(--ink);}
@media (max-width:820px){.story-cols{grid-template-columns:1fr;}}
.since{display:inline-flex;align-items:center;gap:12px;background:var(--pine);color:#F9F4E2;border-radius:999px;
  padding:10px 22px;font-family:var(--display);font-weight:800;font-size:1.05rem;margin:26px 0 0;}
.since .ic{color:var(--orange);}

/* ── footer ─────────────────────────────────────────────────────────────────── */
.foot{background:var(--pine);color:rgba(244,239,221,.82);padding:64px 0 0;margin-top:0;}
.foot a{color:#F4EFDD;}
.foot .socials a{color:var(--ink);} /* white pill needs dark label — beat .foot a (equal specificity, later wins) */
.foot__grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:40px;max-width:var(--wrap);margin:0 auto;padding:0 22px 46px;}
.foot__logo{width:120px;height:auto;margin-bottom:14px;}
.foot h3{color:#F9F4E2;font-size:1.02rem;text-transform:uppercase;display:flex;align-items:center;gap:8px;margin:0 0 10px;}
.foot h3 .ic{color:var(--orange);width:18px;height:18px;}
.foot p{font-size:.95rem;}
.foot__link{font-weight:700;text-decoration:none;}
.foot__link:hover{text-decoration:underline;}
.foot__note{border-top:1px solid rgba(244,239,221,.18);padding:20px 22px 26px;text-align:center;font-size:.85rem;color:rgba(244,239,221,.55);}
@media (max-width:820px){.foot__grid{grid-template-columns:1fr;gap:26px;}}

/* mobile action bar */
.actionbar{position:fixed;bottom:0;left:0;right:0;z-index:60;display:none;grid-template-columns:1fr 1fr 1fr;
  background:var(--cream);border-top:2px solid var(--ink);}
.actionbar a{display:flex;flex-direction:column;align-items:center;gap:3px;padding:9px 4px 11px;text-decoration:none;
  color:var(--ink);font-weight:800;font-size:.72rem;letter-spacing:.02em;}
.actionbar .ic{width:21px;height:21px;color:var(--red);}
@media (max-width:820px){.actionbar{display:grid;}
  /* fixed action bar (~66px) must not occlude footer copyright — reserve space site-wide */
  body{padding-bottom:calc(72px + env(safe-area-inset-bottom, 0px));}}

/* ── scroll-reveal fx ───────────────────────────────────────────────────────── */
.fx{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease;}
.fx--in{opacity:1;transform:none;}

/* ── reduced motion kill-switch ─────────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.001s !important;animation-iteration-count:1 !important;transition-duration:.001s !important;}
  .chip{animation:none;}
  .fx{opacity:1;transform:none;}
}
