/* ============================================================
   GARDEN STATE NECTAR — design system (rebuild 2026-08-31)
   Deep forest green · rich gold · cream · bright leaf accent.
   Bold like Kota (giant condensed type, mono labels, marquees,
   stamps, color-blocked sections) but WARM — never neon-black.
   Fonts: Anton (display) · Archivo (body + labels; Space Mono retired 10 Sep 2026)
   ============================================================ */

/* ----------------------------------------------------------
   1 · TOKENS
   ---------------------------------------------------------- */
:root{
  /* palette */
  --forest:   #061A0C;   /* deepest green — hero / dark blocks   */
  --forest-2: #0C2A14;   /* dark panel                            */
  --pine:     #10371D;   /* mid dark green                        */
  --moss:     #1A6E31;   /* live green                            */
  --leaf:     #6BFF3C;   /* bright leaf accent                    */
  --leaf-2:   #B6FF8A;   /* pale leaf                             */
  --gold:     #F5A80F;   /* rich gold                             */
  --gold-2:   #FFD130;   /* bright gold                           */
  --gold-3:   #FFE9A3;   /* pale gold                             */
  --cream:    #F8F2DF;   /* page ground                           */
  --cream-2:  #F1E7C9;   /* alt band                              */
  --cream-3:  #E9DCB4;   /* deep cream                            */
  --ink:      #0B2314;   /* text on cream                         */
  --ink-soft: #33503D;   /* secondary text on cream               */
  --milk:     #FBF6E7;   /* text on forest                        */
  --milk-soft:rgba(248,242,223,.72);

  /* type */
  --f-display:"Anton", "Arial Narrow", Impact, sans-serif;
  --f-body:   "Archivo", "Helvetica Neue", Arial, sans-serif;
  --f-mono:   "Archivo", "Helvetica Neue", Arial, sans-serif; /* was Space Mono; changed 10 Sep 2026 at Jason and Kayla’s request */

  --fs-hero:  clamp(3.4rem, 12.5vw, 10.5rem);
  --fs-mega:  clamp(2.6rem,  8vw,   6.5rem);
  --fs-h2:    clamp(2.1rem,  5.4vw, 4.2rem);
  --fs-h3:    clamp(1.25rem, 2.6vw, 1.7rem);
  --fs-lead:  clamp(1.05rem, 1.7vw, 1.3rem);
  --fs-body:  1rem;
  --fs-small: .875rem;
  --fs-tiny:  .78rem;

  /* rhythm */
  --wrap:     1200px;
  --wrap-wide:1400px;
  --pad-sec:  clamp(64px, 9vw, 128px);
  --pad-sec-s:clamp(40px, 6vw, 80px);
  --pad-x:    clamp(18px, 4vw, 40px);
  --radius:   22px;
  --radius-s: 12px;

  /* motion */
  --ease-out: cubic-bezier(.22,.9,.28,1);
  --ease-pop: cubic-bezier(.34,1.56,.64,1);
  --t-fast:   .25s;
  --t-med:    .55s;
  --t-slow:   .9s;

  /* borders / shadows (warm, not techno) */
  --line:     1.5px solid rgba(11,35,20,.28);
  --line-milk:1.5px solid rgba(248,242,223,.24);
  --shadow-lift: 0 18px 40px -18px rgba(11,35,20,.35);
  --shadow-card: 0 8px 24px -12px rgba(11,35,20,.25);
}

/* ----------------------------------------------------------
   2 · RESET / BASE
   ---------------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
html,body{overflow-x:clip}
body{
  font-family:var(--f-body);
  font-size:var(--fs-body);
  line-height:1.6;
  color:var(--ink);
  background:var(--cream);
  -webkit-font-smoothing:antialiased;
}
img,svg,video{display:block;max-width:100%}
a{color:inherit}
button{font:inherit;cursor:pointer;background:none;border:0;color:inherit}
ul,ol{list-style:none}
strong,b{font-weight:700}
::selection{background:var(--gold-2);color:var(--forest)}

body.age-locked{overflow:hidden;height:100dvh}

.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:var(--pad-x)}
.wrap-wide{max-width:var(--wrap-wide);margin:0 auto;padding-inline:var(--pad-x)}

.visually-hidden{
  position:absolute;width:1px;height:1px;overflow:hidden;
  clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;padding:0;margin:-1px;
}

/* ----------------------------------------------------------
   3 · TYPE
   ---------------------------------------------------------- */
h1,h2,h3,.display{
  font-family:var(--f-display);
  font-weight:400;
  text-transform:uppercase;
  line-height:.96;
  letter-spacing:.01em;
}
h1{font-size:var(--fs-hero)}
h2{font-size:var(--fs-h2);margin-bottom:.5em}
h3{font-size:var(--fs-h3);line-height:1.1}
.mega{font-size:var(--fs-mega)}

.eyebrow{
  font-family:var(--f-mono);
  font-size:var(--fs-tiny);
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.32em;
  display:inline-flex;
  align-items:center;
  gap:.7em;
  margin-bottom:1.1em;
  color:var(--moss);
}
.eyebrow::before{
  content:"";width:34px;height:2px;background:var(--gold);flex:none;
}
.on-dark .eyebrow,.eyebrow.on-dark{color:var(--leaf)}
.on-gold .eyebrow,.eyebrow.on-gold{color:var(--forest)}
.on-gold .eyebrow::before{background:var(--forest)}

.lead{font-size:var(--fs-lead);line-height:1.55;max-width:62ch}
.fine{font-size:var(--fs-tiny);opacity:.75}
.mono{font-family:var(--f-mono)}

.hl-gold{color:var(--gold)}
.hl-leaf{color:var(--leaf)}
.hl-outline{
  color:transparent;
  -webkit-text-stroke:2px currentColor;
}
.hl-outline-milk{color:transparent;-webkit-text-stroke:2px var(--milk)}
.hl-outline-ink{color:transparent;-webkit-text-stroke:2px var(--ink)}

.underscore{position:relative;display:inline-block}
.underscore::after{
  content:"";position:absolute;left:0;right:0;bottom:.02em;height:.16em;
  background:var(--gold-2);z-index:-1;border-radius:3px;
}

/* ----------------------------------------------------------
   4 · SECTION BLOCKS  (color-blocked, Kota-scale)
   ---------------------------------------------------------- */
.sec{padding-block:var(--pad-sec);position:relative;overflow:clip}
.sec-tight{padding-block:var(--pad-sec-s);position:relative;overflow:clip}

.sec-cream  {background:var(--cream);  color:var(--ink)}
.sec-cream2 {background:var(--cream-2);color:var(--ink)}
.sec-cream3 {background:var(--cream-3);color:var(--ink)}
.sec-forest {background:var(--forest); color:var(--milk)}
.sec-forest2{background:var(--forest-2);color:var(--milk)}
.sec-pine   {background:var(--pine);   color:var(--milk)}
.sec-gold   {background:var(--gold-2); color:var(--forest)}
.sec-leaf   {background:var(--leaf);   color:var(--forest)}

.sec-forest .lead,.sec-forest2 .lead,.sec-pine .lead{color:var(--milk-soft)}
.sec-forest a,.sec-forest2 a,.sec-pine a{color:var(--gold-3)}

.sec-line-top{border-top:var(--line)}
.sec-line-bottom{border-bottom:var(--line)}
.sec-forest.sec-line-top,.sec-forest2.sec-line-top{border-top:var(--line-milk)}

.sec-head{max-width:820px;margin-bottom:clamp(30px,5vw,56px)}
.sec-head.center{margin-inline:auto;text-align:center}
.sec-head.center .eyebrow{justify-content:center}
.sec-head.center .lead{margin-inline:auto}

/* split layout */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,80px);align-items:center}
@media (max-width:860px){.split{grid-template-columns:1fr}}

/* grids */
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(16px,2.5vw,28px)}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2.5vw,28px)}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,2vw,24px)}
@media (max-width:960px){.grid-4{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}

/* ----------------------------------------------------------
   5 · BUTTONS
   ---------------------------------------------------------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.55em;
  font-family:var(--f-mono);font-weight:700;text-transform:uppercase;
  letter-spacing:.12em;font-size:.85rem;text-decoration:none;
  padding:.95em 1.9em;border-radius:999px;border:2px solid transparent;
  transition:transform var(--t-fast) var(--ease-pop),
             box-shadow var(--t-fast) ease,
             background var(--t-fast) ease,color var(--t-fast) ease;
  white-space:nowrap;
}
.btn:hover{transform:translateY(-3px);box-shadow:var(--shadow-lift)}
.btn:active{transform:translateY(-1px)}
.btn:focus-visible{outline:3px solid var(--leaf);outline-offset:3px}

/* Shared focus ring for the other primary interactive controls */
a.card:focus-visible,
.acc-btn:focus-visible,
.nav-toggle:focus-visible,
.q-opt:focus-visible,
.order-pill a:focus-visible{outline:3px solid var(--leaf);outline-offset:3px}

/* Skip link — uses the .visually-hidden pattern, revealed on focus */
.skip-link{
  position:absolute;left:-9999px;top:0;z-index:200;
  background:var(--gold-2);color:var(--forest);
  font-family:var(--f-mono);font-size:var(--fs-small);font-weight:700;
  text-transform:uppercase;letter-spacing:.12em;text-decoration:none;
  padding:.85em 1.4em;border-radius:0 0 14px 0;
}
.skip-link:focus{left:0;outline:3px solid var(--leaf);outline-offset:-3px}
body.age-locked .skip-link{display:none}

.btn-gold {background:var(--gold-2);color:var(--forest);border-color:var(--gold-2)}
.btn-gold:hover{background:var(--gold-3);border-color:var(--gold-3)}
.btn-green{background:var(--forest);color:var(--milk);border-color:var(--forest)}
.btn-green:hover{background:var(--pine);border-color:var(--pine)}
.btn-leaf {background:var(--leaf);color:var(--forest);border-color:var(--leaf)}
.btn-line {background:transparent;color:currentColor;border-color:currentColor}
.btn-cream{background:var(--cream);color:var(--forest);border-color:var(--cream)}
.btn-big{font-size:1rem;padding:1.15em 2.4em}

.btn-arrow::after{content:"→";font-family:var(--f-body);transition:transform var(--t-fast) ease}
.btn-arrow:hover::after{transform:translateX(4px)}

/* ----------------------------------------------------------
   6 · TICKER / MARQUEE
   ---------------------------------------------------------- */
.ticker{
  background:var(--forest);color:var(--gold-3);
  border-bottom:var(--line-milk);
  overflow:clip;padding-block:.55em;
}
.ticker.on-gold{background:var(--gold-2);color:var(--forest);border:0}
.ticker.on-leaf{background:var(--leaf);color:var(--forest);border:0}
.ticker.big{padding-block:.35em}

.ticker-track{
  display:flex;gap:0;width:max-content;
  animation:marquee 28s linear infinite;
}
.ticker.big .ticker-track{animation-duration:36s}
.ticker:hover .ticker-track{animation-play-state:paused}

.ticker-track span{
  font-family:var(--f-mono);font-weight:700;font-size:var(--fs-tiny);
  text-transform:uppercase;letter-spacing:.24em;
  padding-inline:1.6em;white-space:nowrap;
  display:inline-flex;align-items:center;gap:1.6em;
}
.ticker-track span::after{content:"✦";font-size:.9em;opacity:.7}

.ticker.big .ticker-track span{
  font-family:var(--f-display);font-size:clamp(1.6rem,4.5vw,3.2rem);
  letter-spacing:.04em;padding-inline:.7em;
}
.ticker.big .ticker-track span::after{content:"❋";opacity:.85}

@keyframes marquee{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}

/* ----------------------------------------------------------
   7 · REVEAL UTILITIES (JS adds .in)
   ---------------------------------------------------------- */
.rv{opacity:0;transform:translateY(28px);
  transition:opacity var(--t-slow) var(--ease-out),transform var(--t-slow) var(--ease-out)}
.rv.in{opacity:1;transform:none}
.rv-left {transform:translateX(-36px)}
.rv-right{transform:translateX(36px)}
.rv-pop  {transform:scale(.9)}
.rv-left.in,.rv-right.in,.rv-pop.in{transform:none}
.rv-d1{transition-delay:.1s}
.rv-d2{transition-delay:.2s}
.rv-d3{transition-delay:.3s}
.rv-d4{transition-delay:.4s}
.rv-d5{transition-delay:.5s}
.rv-d6{transition-delay:.6s}

/* ----------------------------------------------------------
   8 · HEADER + NAV
   ---------------------------------------------------------- */
.site-head{
  position:sticky;top:0;z-index:60;
  background:var(--forest);color:var(--milk);
  border-bottom:var(--line-milk);
}
.site-head .wrap{
  display:flex;align-items:center;justify-content:space-between;
  gap:18px;min-height:72px;
}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand img{width:46px;height:46px;object-fit:contain}
.brand span{display:flex;flex-direction:column;line-height:1.05}
.brand b{font-family:var(--f-display);font-weight:400;font-size:1.05rem;letter-spacing:.05em;text-transform:uppercase}
.brand small{font-family:var(--f-mono);font-size:.6rem;letter-spacing:.3em;color:var(--gold-3)}

.nav{display:flex;align-items:center;gap:clamp(14px,2vw,28px)}
.nav a{
  font-family:var(--f-mono);font-size:.8rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.14em;text-decoration:none;
  color:var(--milk-soft);transition:color var(--t-fast) ease;
  padding-block:.4em;position:relative;
}
.nav a:hover{color:var(--milk)}
.nav a[aria-current="page"]{color:var(--gold-2)}
.nav a[aria-current="page"]::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--gold-2);
}
.nav .btn{padding:.7em 1.4em;font-size:.78rem}

.nav-toggle{display:none;flex-direction:column;gap:5px;padding:10px}
.nav-toggle span{width:26px;height:2.5px;background:var(--milk);border-radius:2px;transition:transform var(--t-fast) ease,opacity var(--t-fast) ease}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}

@media (max-width:920px){
  .nav-toggle{display:flex}
  .nav{
    position:absolute;top:100%;left:0;right:0;
    flex-direction:column;align-items:stretch;gap:0;
    background:var(--forest-2);border-bottom:var(--line-milk);
    padding:12px var(--pad-x) 22px;display:none;
  }
  .nav.open{display:flex}
  .nav a{padding:.9em 0;border-bottom:1px solid rgba(248,242,223,.1);font-size:.9rem}
  .nav .btn{margin-top:14px;justify-content:center}
}

/* ----------------------------------------------------------
   9 · HERO
   ---------------------------------------------------------- */
.hero{
  background:var(--forest);color:var(--milk);
  min-height:calc(100svh - 108px);
  display:flex;flex-direction:column;justify-content:center;
  position:relative;overflow:clip;
  padding-block:clamp(48px,7vw,90px);
}
.hero-inner{position:relative;z-index:2}
.hero h1{
  font-size:var(--fs-hero);
  margin:.15em 0 .18em;
}
.hero h1 .line{display:block;overflow:hidden}
.hero h1 .line > span{display:inline-block;transform:translateY(110%);animation:heroRise .9s var(--ease-out) forwards}
.hero h1 .line:nth-child(2) > span{animation-delay:.12s}
.hero h1 .line:nth-child(3) > span{animation-delay:.24s}
@keyframes heroRise{to{transform:translateY(0)}}

.hero .lead{color:var(--milk-soft);max-width:56ch}
.hero-ctas{display:flex;flex-wrap:wrap;gap:14px;margin-top:clamp(22px,3vw,34px)}
.hero-meta{
  display:flex;flex-wrap:wrap;gap:10px 26px;margin-top:clamp(22px,3vw,34px);
  font-family:var(--f-mono);font-size:var(--fs-tiny);letter-spacing:.18em;
  text-transform:uppercase;color:var(--milk-soft);
}
.hero-meta b{color:var(--gold-2);font-weight:700}

/* floating accents */
.float-leaf{
  position:absolute;font-size:clamp(1.6rem,3.5vw,3rem);opacity:.5;
  animation:floaty 7s ease-in-out infinite;pointer-events:none;user-select:none;z-index:1;
}
.float-leaf.f2{animation-duration:9s;animation-delay:-3s}
.float-leaf.f3{animation-duration:11s;animation-delay:-6s}
@keyframes floaty{
  0%,100%{transform:translateY(0) rotate(-6deg)}
  50%{transform:translateY(-26px) rotate(8deg)}
}

/* giant faded word behind sections */
.ghost-word{
  position:absolute;inset-inline:0;top:50%;transform:translateY(-50%);
  font-family:var(--f-display);text-transform:uppercase;text-align:center;
  font-size:clamp(6rem,22vw,20rem);line-height:1;white-space:nowrap;
  color:transparent;-webkit-text-stroke:1.5px rgba(248,242,223,.08);
  pointer-events:none;user-select:none;z-index:0;
}
.on-cream .ghost-word,.ghost-word.on-cream{-webkit-text-stroke-color:rgba(11,35,20,.07)}

/* animated dashed "route" line */
.road{
  height:6px;position:relative;overflow:hidden;opacity:.85;
  background:
    repeating-linear-gradient(90deg,var(--gold-2) 0 34px,transparent 34px 62px);
  animation:roadmove 1.6s linear infinite;
  border-radius:3px;
}
@keyframes roadmove{from{background-position-x:0}to{background-position-x:62px}}

/* ----------------------------------------------------------
   10 · STATUS STRIP (open now)
   ---------------------------------------------------------- */
.status-strip{
  background:var(--gold-2);color:var(--forest);
  padding-block:14px;border-block:2px solid var(--forest);
}
.status-strip .wrap{
  display:flex;flex-wrap:wrap;align-items:center;gap:10px 28px;justify-content:center;
  font-family:var(--f-mono);font-weight:700;font-size:var(--fs-small);
  text-transform:uppercase;letter-spacing:.14em;text-align:center;
}
.status-strip a{color:var(--forest)}

.open-pill{
  display:inline-flex;align-items:center;gap:.6em;
  font-family:var(--f-mono);font-weight:700;font-size:var(--fs-tiny);
  text-transform:uppercase;letter-spacing:.14em;
  background:var(--forest);color:var(--leaf-2);
  padding:.5em 1.1em;border-radius:999px;white-space:nowrap;
}
.open-pill::before{
  content:"";width:9px;height:9px;border-radius:50%;
  background:var(--leaf);animation:pulse 1.6s ease-in-out infinite;flex:none;
}
.open-pill.closed{color:var(--gold-3)}
.open-pill.closed::before{background:var(--gold-2);animation:none}
@keyframes pulse{
  0%,100%{box-shadow:0 0 0 0 rgba(127,209,75,.65)}
  60%{box-shadow:0 0 0 8px rgba(127,209,75,0)}
}

/* ----------------------------------------------------------
   11 · COUNTERS / STATS
   ---------------------------------------------------------- */
.stat-row{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:clamp(18px,3vw,36px);
}
.stat{text-align:center;padding:clamp(18px,3vw,30px) 8px;position:relative}
.stat + .stat::before{
  content:"";position:absolute;left:calc(-1 * clamp(9px,1.5vw,18px));top:20%;bottom:20%;
  width:1.5px;background:currentColor;opacity:.2;
}
@media (max-width:600px){.stat + .stat::before{display:none}}
.stat b{
  display:block;font-family:var(--f-display);font-weight:400;
  font-size:clamp(2.6rem,7vw,5rem);line-height:1;color:var(--gold-2);
}
.stat .stat-suffix{font-size:.5em;vertical-align:.5em}
/* non-quantity stats (years, area codes) pop in instead of counting from 0 */
.stat b.pop{animation:statPop .7s var(--ease-pop) both}
@keyframes statPop{0%{transform:scale(.55);opacity:0}100%{transform:scale(1);opacity:1}}
.stat span{
  display:block;margin-top:.6em;font-family:var(--f-mono);
  font-size:var(--fs-tiny);text-transform:uppercase;letter-spacing:.22em;opacity:.8;
}
.on-cream .stat b{color:var(--moss)}

/* ----------------------------------------------------------
   12 · CARDS
   ---------------------------------------------------------- */
.card{
  background:var(--milk);border:var(--line);border-radius:var(--radius);
  padding:clamp(22px,3vw,32px);
  transition:transform var(--t-med) var(--ease-pop),box-shadow var(--t-med) ease;
  position:relative;display:flex;flex-direction:column;gap:12px;
  text-decoration:none;color:var(--ink);
}
.card:hover{transform:translateY(-8px) rotate(-.4deg);box-shadow:var(--shadow-lift)}
/* non-link cards: no lift, no false affordance */
.card.card-static:hover{transform:none;box-shadow:none}
.card h3{margin-bottom:2px}
.card p{font-size:var(--fs-small);color:var(--ink-soft)}
.card .card-tag{
  font-family:var(--f-mono);font-size:var(--fs-tiny);font-weight:700;
  text-transform:uppercase;letter-spacing:.16em;color:var(--gold);
}
.card .glyph{font-size:2.2rem;line-height:1}
/* inline-SVG iconography (stroke icons, botanical/delivery motifs) */
.glyph{color:var(--moss)}
.card-dark .glyph{color:var(--gold-2)}
.glyph svg{width:1.15em;height:1.15em;display:inline-block;vertical-align:middle;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.float-leaf svg{width:1em;height:1em;display:block}

.card-dark{background:var(--forest-2);border:var(--line-milk);color:var(--milk)}
.card-dark p{color:var(--milk-soft)}
.card-gold{background:var(--gold-2);border-color:var(--forest);color:var(--forest)}
.card-gold p{color:rgba(14,44,25,.78)}
.card-leaf{background:var(--leaf-2);border-color:var(--forest);color:var(--forest)}

/* Loyalty ladder — the climbing stagger only reads as a staircase while the
   grid is multi-column; below 601px the cards stack, so it must not apply.
   Must sit after .card's own padding to win on source order. */
@media (min-width:601px){
  .card.ladder-2{padding-top:clamp(30px,4.5vw,58px)}
  .card.ladder-3{padding-top:clamp(38px,6vw,84px)}
  .card.ladder-4{padding-top:clamp(46px,7.5vw,110px)}
}

.card-num{
  font-family:var(--f-display);font-size:2.4rem;line-height:1;
  color:var(--gold);
}

/* tilted chip */
.chip{
  display:inline-block;font-family:var(--f-mono);font-weight:700;
  font-size:var(--fs-tiny);text-transform:uppercase;letter-spacing:.12em;
  background:var(--cream);border:var(--line);border-radius:999px;
  padding:.55em 1.2em;transform:rotate(var(--tilt,0deg));
  transition:transform var(--t-fast) var(--ease-pop);
}
.chip:hover{transform:rotate(0) scale(1.06)}

/* ----------------------------------------------------------
   13 · STAMPS / BADGES
   ---------------------------------------------------------- */
.stamp{
  width:clamp(110px,14vw,150px);aspect-ratio:1;border-radius:50%;
  display:flex;align-items:center;justify-content:center;text-align:center;
  font-family:var(--f-mono);font-weight:700;font-size:var(--fs-tiny);
  text-transform:uppercase;letter-spacing:.12em;line-height:1.45;
  border:2.5px dashed currentColor;padding:16px;
  transform:rotate(var(--tilt,-6deg));
  transition:transform var(--t-med) var(--ease-pop);
}
.stamp:hover{transform:rotate(0deg) scale(1.05)}
.stamp-gold{color:var(--gold);border-color:var(--gold)}
.stamp-leaf{color:var(--leaf);border-color:var(--leaf)}
.stamp-milk{color:var(--milk);border-color:var(--milk)}
.stamp-spin{animation:spin 22s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

.badge-row{display:flex;flex-wrap:wrap;gap:clamp(16px,3vw,32px);justify-content:center}

/* ----------------------------------------------------------
   14 · STEP FLOW (delivery route)
   ---------------------------------------------------------- */
.steps{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:clamp(16px,2.5vw,28px);counter-reset:step;position:relative;
}
@media (max-width:960px){.steps{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.steps{grid-template-columns:1fr}}
.step{
  background:var(--milk);border:var(--line);border-radius:var(--radius);
  padding:clamp(22px,3vw,30px);position:relative;
  transition:transform var(--t-med) var(--ease-pop),box-shadow var(--t-med) ease;
}
.step:hover{transform:translateY(-8px);box-shadow:var(--shadow-lift)}
.step-mile{
  width:54px;height:54px;border-radius:50%;
  background:var(--forest);color:var(--gold-2);
  font-family:var(--f-display);font-size:1.5rem;
  display:flex;align-items:center;justify-content:center;
  margin-bottom:16px;border:2px solid var(--gold-2);
}
.step h3{margin-bottom:8px}
.step p{font-size:var(--fs-small);color:var(--ink-soft)}
.step p a{color:var(--moss);font-weight:700}

/* ----------------------------------------------------------
   15 · HOURS TABLE
   ---------------------------------------------------------- */
.hours-card{
  background:var(--milk);border:var(--line);border-radius:var(--radius);
  padding:clamp(22px,3vw,34px);box-shadow:var(--shadow-card);
}
.hours-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px;flex-wrap:wrap}
.hours-card table{width:100%;border-collapse:collapse}
.hours-card td,.hours-card th[scope="row"]{
  padding:.65em 0;border-bottom:1px solid rgba(11,35,20,.12);
  font-size:var(--fs-small);
}
.hours-card th[scope="row"]{text-align:left;font-weight:400;font-family:inherit}
.hours-card td:last-child{text-align:right;font-family:var(--f-mono);font-weight:700}
.hours-card tr:last-child td,.hours-card tr:last-child th{border-bottom:0}
.hours-card tr.is-today td,.hours-card tr.is-today th{
  color:var(--forest);font-weight:700;
  background:linear-gradient(90deg,transparent,rgba(233,188,79,.35) 12%,rgba(233,188,79,.35) 88%,transparent);
}
.hours-card tr.is-today th:first-child::after,
.hours-card tr.is-today td:first-child::after{
  content:"← today";font-family:var(--f-mono);font-size:.68rem;
  letter-spacing:.14em;text-transform:uppercase;color:var(--gold);
  margin-left:.9em;
}

/* is-today generic (deal cards etc.) */
.is-today{outline:3px solid var(--gold-2);outline-offset:3px}
table .is-today,tr.is-today{outline:none}

/* ----------------------------------------------------------
   16 · ACCORDION (FAQ)
   ---------------------------------------------------------- */
.acc{border-top:var(--line)}
.acc-item{border-bottom:var(--line)}
.acc-btn{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:18px;
  text-align:left;padding:clamp(18px,2.5vw,26px) 4px;
  font-family:var(--f-display);font-size:clamp(1.05rem,2.2vw,1.45rem);
  text-transform:uppercase;letter-spacing:.02em;line-height:1.15;
  transition:color var(--t-fast) ease,padding-left var(--t-fast) ease;
}
.acc-btn:hover{color:var(--moss);padding-left:10px}
.acc-btn .acc-ico{
  flex:none;width:38px;height:38px;border-radius:50%;
  border:2px solid currentColor;position:relative;
  transition:transform var(--t-med) var(--ease-pop),background var(--t-fast) ease;
}
.acc-btn .acc-ico::before,.acc-btn .acc-ico::after{
  content:"";position:absolute;inset:0;margin:auto;background:currentColor;border-radius:2px;
}
.acc-btn .acc-ico::before{width:14px;height:2.5px}
.acc-btn .acc-ico::after{width:2.5px;height:14px;transition:transform var(--t-med) var(--ease-pop)}
.acc-btn[aria-expanded="true"]{color:var(--moss)}
.acc-btn[aria-expanded="true"] .acc-ico{transform:rotate(135deg);background:rgba(46,107,62,.12)}
.acc-panel{
  overflow:hidden;max-height:0;
  transition:max-height var(--t-med) var(--ease-out);
}
.acc-panel-in{padding:0 4px clamp(20px,3vw,28px);max-width:70ch}
.acc-panel-in p{color:var(--ink-soft)}
.acc-panel-in p + p{margin-top:.7em}
.acc-panel-in a{color:var(--moss);font-weight:700}

.sec-forest .acc,.sec-forest2 .acc{border-top:var(--line-milk)}
.sec-forest .acc-item,.sec-forest2 .acc-item{border-bottom:var(--line-milk)}
.sec-forest .acc-btn:hover,.sec-forest .acc-btn[aria-expanded="true"]{color:var(--gold-2)}
.sec-forest .acc-panel-in p{color:var(--milk-soft)}

/* ----------------------------------------------------------
   17 · STICKY ORDER PILL
   ---------------------------------------------------------- */
.order-pill{
  position:fixed;bottom:18px;left:50%;transform:translate(-50%,140%);
  z-index:70;display:flex;align-items:center;gap:0;
  background:var(--forest);color:var(--milk);
  border:2px solid var(--gold-2);border-radius:999px;
  box-shadow:0 16px 40px -12px rgba(11,35,20,.55);
  transition:transform var(--t-med) var(--ease-pop);
  overflow:hidden;
}
.order-pill.show{transform:translate(-50%,0)}
.order-pill a{
  font-family:var(--f-mono);font-weight:700;font-size:.8rem;
  text-transform:uppercase;letter-spacing:.12em;text-decoration:none;
  padding:.95em 1.5em;display:inline-flex;align-items:center;gap:.5em;
  white-space:nowrap;
}
.order-pill a:first-child{background:var(--gold-2);color:var(--forest)}
.order-pill a:first-child:hover{background:var(--gold-3)}
.order-pill a + a{border-left:1.5px solid rgba(248,242,223,.25)}
.order-pill a:not(:first-child):hover{background:var(--forest-2)}

/* ----------------------------------------------------------
   18 · BIG CTA BAND
   ---------------------------------------------------------- */
.cta-band{text-align:center}
.cta-band h2{font-size:var(--fs-mega)}
.phone-big{
  font-family:var(--f-display);font-size:clamp(1.8rem,5vw,3.4rem);
  text-decoration:none;letter-spacing:.02em;display:inline-block;
  transition:transform var(--t-fast) var(--ease-pop),color var(--t-fast) ease;
}
.phone-big:hover{transform:scale(1.04);color:var(--gold-2)}

/* ----------------------------------------------------------
   19 · SIGNUP (mailto/sms — honest)
   ---------------------------------------------------------- */
.signup-box{
  background:var(--forest);color:var(--milk);
  border-radius:var(--radius);border:2px solid var(--gold-2);
  padding:clamp(28px,5vw,56px);
  display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(24px,4vw,48px);align-items:center;
}
@media (max-width:860px){.signup-box{grid-template-columns:1fr}}
.signup-form{display:flex;gap:10px;flex-wrap:wrap}
.signup-form input{
  flex:1 1 220px;min-width:0;
  font:inherit;padding:.95em 1.2em;border-radius:999px;
  border:2px solid rgba(248,242,223,.35);background:rgba(248,242,223,.08);
  color:var(--milk);
}
.signup-form input::placeholder{color:var(--milk-soft)}
.signup-form input:focus{border-color:var(--gold-2)}
.signup-form input:focus-visible{outline:3px solid var(--leaf);outline-offset:2px;border-color:var(--gold-2)}
.form-note{font-size:var(--fs-tiny);color:var(--milk-soft);margin-top:10px}

/* ----------------------------------------------------------
   20 · COMPLIANCE + FOOTER
   ---------------------------------------------------------- */
.compliance{
  background:var(--gold-2);color:var(--forest);
  padding-block:16px;border-top:2px solid var(--forest);
}
.compliance .wrap{
  display:flex;flex-wrap:wrap;gap:6px 26px;justify-content:center;align-items:center;
  font-family:var(--f-mono);font-size:var(--fs-tiny);font-weight:700;
  text-transform:uppercase;letter-spacing:.1em;text-align:center;
}

.site-foot{background:var(--forest);color:var(--milk);padding:clamp(48px,7vw,80px) 0 30px}
.foot-grid{
  display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;
  gap:clamp(26px,4vw,48px);margin-bottom:clamp(34px,5vw,56px);
}
@media (max-width:860px){.foot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.foot-grid{grid-template-columns:1fr}}
.foot-brand img{width:64px;height:64px;object-fit:contain;margin-bottom:14px}
.foot-brand p{color:var(--milk-soft);font-size:var(--fs-small);max-width:34ch}
.site-foot h4{
  font-family:var(--f-mono);font-size:var(--fs-tiny);font-weight:700;
  text-transform:uppercase;letter-spacing:.26em;color:var(--gold-2);margin-bottom:16px;
}
.site-foot ul li{margin-bottom:.65em}
.site-foot ul a{color:var(--milk-soft);text-decoration:none;font-size:var(--fs-small);transition:color var(--t-fast) ease}
.site-foot ul a:hover{color:var(--gold-3)}
.foot-base{
  border-top:var(--line-milk);padding-top:22px;
  display:flex;flex-wrap:wrap;gap:8px 28px;justify-content:space-between;
  font-family:var(--f-mono);font-size:var(--fs-tiny);color:var(--milk-soft);
  text-transform:uppercase;letter-spacing:.1em;
}

/* ----------------------------------------------------------
   21 · AGE GATE (localStorage gsnAge21 — fail-closed)
   ---------------------------------------------------------- */
.age-gate{
  position:fixed;inset:0;z-index:999;
  background:
    radial-gradient(1200px 700px at 50% -10%,rgba(233,188,79,.16),transparent 60%),
    var(--forest);
  display:flex;align-items:center;justify-content:center;
  padding:20px;overflow:auto;
}
.age-card{
  width:min(520px,100%);text-align:center;
  background:var(--cream);color:var(--ink);
  border:3px solid var(--gold-2);border-radius:var(--radius);
  padding:clamp(28px,5vw,48px);
  box-shadow:0 40px 90px -30px rgba(0,0,0,.6);
  animation:gateIn .55s var(--ease-pop) both;
}
@keyframes gateIn{from{opacity:0;transform:translateY(26px) scale(.96)}to{opacity:1;transform:none}}
.age-card img{width:88px;height:88px;object-fit:contain;margin:0 auto 18px}
.age-card h2{font-size:clamp(1.7rem,5vw,2.4rem)}
.age-card > p{color:var(--ink-soft);font-size:var(--fs-small);margin-top:10px}
.age-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:24px}
.age-denied{display:none;color:#a33;font-weight:700;margin-top:16px}
.age-note{
  margin-top:22px;padding-top:18px;border-top:var(--line);
  font-family:var(--f-mono);font-size:.68rem;letter-spacing:.06em;
  text-transform:uppercase;color:var(--ink-soft);
}

/* ----------------------------------------------------------
   22 · MISC / RESPONSIVE / MOTION SAFETY
   ---------------------------------------------------------- */
.center{text-align:center}
.mt-1{margin-top:14px}.mt-2{margin-top:26px}.mt-3{margin-top:40px}

.pay-chips{display:flex;flex-wrap:wrap;gap:10px}

.checklist li{
  position:relative;padding-left:2.1em;margin-bottom:.85em;
}
.checklist li::before{
  content:"✓";position:absolute;left:0;top:.05em;
  width:1.45em;height:1.45em;border-radius:50%;
  background:var(--leaf);color:var(--forest);font-weight:700;
  display:flex;align-items:center;justify-content:center;font-size:.85em;
}
.sec-forest .checklist li::before,.sec-forest2 .checklist li::before{background:var(--gold-2)}

.quote-band blockquote{
  font-family:var(--f-display);text-transform:uppercase;
  font-size:clamp(1.7rem,5.5vw,4rem);line-height:1.05;
}
.quote-band cite{
  display:block;margin-top:1em;font-family:var(--f-mono);font-style:normal;
  font-size:var(--fs-tiny);letter-spacing:.24em;text-transform:uppercase;opacity:.75;
}

@media (max-width:420px){
  .btn{white-space:normal;text-align:center}
  .order-pill a{padding:.85em 1.1em;font-size:.72rem}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
  }
  html{scroll-behavior:auto}
  .rv{opacity:1;transform:none}
  .hero h1 .line > span{transform:none;animation:none}
}

/* S9b — live Dutchie carousels */
.carousel-block{margin-top:2.6rem}
.carousel-block:first-of-type{margin-top:0}
.carousel-title{font-family:"Anton",sans-serif;font-size:clamp(1.4rem,2.6vw,2.1rem);letter-spacing:.01em;text-transform:uppercase;color:var(--forest,#14351f);margin:0 0 .9rem}
.carousel-block iframe{border-radius:14px}

/* ==========================================================
   NEON LAYER — client request 2026-08-31 "more neon, more vibrant"
   Glow is applied on DARK grounds only; cream bands stay clean
   so long-form copy and legal text remain high-contrast.
   ========================================================== */
:root{
  --neon-violet:#B14BFF;
  --neon-pink:  #FF4FD8;
  --neon-cyan:  #3DF0FF;
  --glow-leaf: 0 0 26px rgba(107,255,60,.55);
  --glow-gold: 0 0 26px rgba(255,209,48,.55);
  --glow-violet:0 0 26px rgba(177,75,255,.55);
}

/* hero headline — electric */
.hero h1{text-shadow:0 0 42px rgba(107,255,60,.28), 0 0 90px rgba(107,255,60,.12)}
.hero .hl-gold{color:var(--gold-2);text-shadow:0 0 34px rgba(255,209,48,.6), 0 0 70px rgba(255,209,48,.25)}
.hero .eyebrow.on-dark,.eyebrow.on-dark{color:var(--leaf);text-shadow:var(--glow-leaf)}

/* dark sections: headings + numerals glow */
.sec-forest h2,.sec-forest2 h2,.sec-pine h2{text-shadow:0 0 34px rgba(107,255,60,.22)}
.sec-forest .card-num,.sec-forest2 .card-num,.sec-pine .card-num,
.card-dark .card-num{color:var(--gold-2);text-shadow:var(--glow-gold)}
.sec-forest .eyebrow,.sec-forest2 .eyebrow,.sec-pine .eyebrow{color:var(--leaf);text-shadow:var(--glow-leaf)}

/* tickers — alternating neon */
.ticker{background:var(--forest);border-block:1.5px solid rgba(107,255,60,.32)}
.ticker span{color:var(--leaf-2);text-shadow:0 0 18px rgba(107,255,60,.45)}
.ticker span:nth-child(3n+2){color:var(--gold-2);text-shadow:0 0 18px rgba(255,209,48,.45)}
.ticker span:nth-child(3n+3){color:var(--neon-pink);text-shadow:0 0 18px rgba(255,79,216,.45)}
.ticker.big span{text-shadow:0 0 30px rgba(255,209,48,.5)}

/* buttons — glow on rest, brighter on hover */
.btn-gold{box-shadow:0 0 0 1px rgba(255,209,48,.35), 0 0 24px -4px rgba(255,209,48,.55)}
.btn-gold:hover{box-shadow:0 0 0 1px rgba(255,209,48,.6), 0 0 40px -2px rgba(255,209,48,.85)}
.btn-green,.btn-leaf{box-shadow:0 0 0 1px rgba(107,255,60,.3), 0 0 24px -4px rgba(107,255,60,.5)}
.btn-green:hover,.btn-leaf:hover{box-shadow:0 0 0 1px rgba(107,255,60,.6), 0 0 40px -2px rgba(107,255,60,.8)}
.sec-forest .btn-line,.sec-forest2 .btn-line,.sec-pine .btn-line,.hero .btn-line{
  border-color:rgba(107,255,60,.55);color:var(--leaf-2);
  box-shadow:0 0 18px -6px rgba(107,255,60,.5)}
.sec-forest .btn-line:hover,.hero .btn-line:hover{background:var(--leaf);color:var(--forest);
  box-shadow:0 0 34px -4px rgba(107,255,60,.85)}

/* live status + open pill — pulsing neon */
.open-pill{border-color:rgba(107,255,60,.6);color:var(--leaf-2);
  box-shadow:0 0 20px -4px rgba(107,255,60,.6)}
.status-strip{background:var(--forest-2);border-block:1.5px solid rgba(107,255,60,.28)}
.status-strip a{color:var(--leaf);text-shadow:var(--glow-leaf)}

/* dark cards — neon edge */
.card-dark{border:1.5px solid rgba(107,255,60,.3);box-shadow:0 0 34px -18px rgba(107,255,60,.55)}
.card-dark:hover{border-color:rgba(107,255,60,.65);box-shadow:0 0 46px -14px rgba(107,255,60,.8)}
.card-gold{box-shadow:0 0 40px -14px rgba(255,209,48,.75)}
.card-leaf{box-shadow:0 0 40px -14px rgba(107,255,60,.7)}

/* the road motif — neon strip */
.road{filter:drop-shadow(0 0 14px rgba(107,255,60,.55))}

/* floating accents pick up the violet/pink from their own flyers */
.float-leaf{filter:drop-shadow(0 0 16px rgba(107,255,60,.6))}
.float-leaf.f2{filter:drop-shadow(0 0 18px rgba(255,209,48,.6))}
.float-leaf.f3{filter:drop-shadow(0 0 18px rgba(177,75,255,.65))}

/* quiz band — violet neon so it reads as its own moment */
#quiz .card-num{color:var(--neon-violet);text-shadow:var(--glow-violet)}

/* deal day sections on dark grounds get a magenta kicker */
.sec-forest .card-tag,.sec-pine .card-tag,.card-dark .card-tag{
  color:var(--neon-pink);text-shadow:0 0 16px rgba(255,79,216,.5)}

/* links on dark */
.sec-forest a:not(.btn),.sec-forest2 a:not(.btn),.sec-pine a:not(.btn){
  color:var(--leaf);text-shadow:0 0 14px rgba(107,255,60,.4)}

@media (prefers-reduced-motion:reduce){
  .float-leaf{filter:none}
}
