/* Hi Speed. Tokens are the brand kit's measured values (brand-kit/tokens.css) plus store
   surfaces sampled from the client's own photos. See design-notes.md for every decision. */

:root{
  --ground:#FFFFFF;
  --floor:#EFEFED;
  --ink:#191A1F;
  --ink-2:#22232A;
  --ink-soft:#F4F3F0;
  --muted:#5C5B58;
  --muted-dark:#B9B7B2;
  --line:#D9D8D4;
  --line-dark:#33343A;
  --wood:#4F4745;
  --wood-2:#443C3A;
  --red:#E4171F;
  --red-orange:#FD4814;
  --orange:#FE7E0B;
  --amber:#FEAF0A;
  --yellow:#FBCD0F;
  --heat:linear-gradient(90deg,#FBCD0F 0%,#FEAF0A 25%,#FE7E0B 50%,#FD4814 75%,#E4171F 100%);
  --focus:#E4171F;

  --display:"Kanit",system-ui,sans-serif;
  --body:"Figtree",system-ui,sans-serif;

  --t-hero:clamp(2.75rem,7.2vw,6.25rem);
  --t-h2:clamp(2rem,4.6vw,3.75rem);
  --t-h3:clamp(1.375rem,2.4vw,1.75rem);
  --t-lead:clamp(1.125rem,1.6vw,1.375rem);
  --t-body:1.0625rem;
  --t-small:.9375rem;
  --t-label:.8125rem;

  --gut:clamp(20px,5vw,64px);
  --wrap:1240px;
  --sec:clamp(56px,9vw,128px);
  --gap:24px;
  --lean:35deg;
  --ease:cubic-bezier(.22,1,.36,1);
  --header-h:68px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--body);font-size:var(--t-body);line-height:1.55;overflow-x:hidden}
img,svg,video{max-width:100%;display:block}
img{height:auto}
a{color:inherit}
p{margin:0 0 1em}
h1,h2,h3,h4{font-family:var(--display);font-style:italic;font-weight:800;text-transform:uppercase;letter-spacing:-.01em;margin:0 0 .5em;line-height:.95}
h1{font-weight:900;font-size:var(--t-hero);line-height:.92}
h2{font-size:var(--t-h2)}
h3{font-size:var(--t-h3);line-height:1.05}
ul,ol{padding-left:1.2em}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.skip{position:absolute;left:-999px;top:8px;background:var(--red);color:#fff;padding:12px 18px;z-index:1000;text-decoration:none;font-family:var(--display);text-transform:uppercase}
.skip:focus{left:8px}
.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:var(--gut)}
.sec{padding-block:var(--sec)}
.sec-tight{padding-block:clamp(40px,6vw,80px)}
.lead{font-size:var(--t-lead);line-height:1.45;color:var(--muted);max-width:40rem}
.on-dark .lead{color:var(--muted-dark)}
.small{font-size:var(--t-small)}
.muted{color:var(--muted)}
.measure{max-width:38rem}
.ph{background:#FFF3C4;color:#5A4200;padding:0 .3em;font-family:var(--body);font-weight:600;font-style:normal;text-transform:none;letter-spacing:0}

/* The name is never typeset (brand kit, logo usage): where a heading needs it, the wordmark
   artwork sits inline at the cap height of the surrounding type. */
.wm{display:inline-block;height:.7em;width:auto;vertical-align:baseline;margin:0 .06em 0 .02em}

/* Bands: the store's surfaces */
.on-dark,.band-ink{background:var(--ink);color:var(--ink-soft)}
.band-red{background:var(--red);color:#fff;font-size:1.125rem}
.band-red .lead{color:#fff}
.band-floor{background:var(--floor)}
.band-wood{background:var(--wood);color:var(--ink-soft);background-image:repeating-linear-gradient(180deg,transparent 0 14px,var(--wood-2) 14px 16px)}
.band-wood .lead{color:#E2DCD6}

/* The speed bar and the heat rail (kit section 5). Bars never touch; heat order left to right. */
.bar{display:inline-block;width:.85em;height:.9em;background:var(--red);transform:skewX(calc(-1 * var(--lean)));vertical-align:-.08em;margin-right:.55em}
.rail{display:flex;gap:6px;height:12px;margin:0 0 22px;width:max-content}
.rail i{display:block;width:34px;height:100%;transform:skewX(calc(-1 * var(--lean)));transform-origin:left bottom}
.rail i:nth-child(1){background:var(--yellow)}
.rail i:nth-child(2){background:var(--amber)}
.rail i:nth-child(3){background:var(--orange)}
.rail i:nth-child(4){background:var(--red-orange)}
.rail i:nth-child(5){background:var(--red)}
.rail-sm{height:9px}
.rail-sm i{width:24px}
.rail.rev i{transform:scaleX(0) skewX(calc(-1 * var(--lean)))}
.rail.rev.in i{transform:scaleX(1) skewX(calc(-1 * var(--lean)));transition:transform .5s var(--ease)}
.rail.rev.in i:nth-child(2){transition-delay:.06s}
.rail.rev.in i:nth-child(3){transition-delay:.12s}
.rail.rev.in i:nth-child(4){transition-delay:.18s}
.rail.rev.in i:nth-child(5){transition-delay:.24s}
.label{font-family:var(--display);font-weight:600;font-style:normal;text-transform:uppercase;letter-spacing:.06em;font-size:var(--t-label);display:flex;align-items:center;margin:0 0 14px}
.label .bar{margin-right:.7em}
.on-dark .label,.band-wood .label{color:var(--ink-soft)}
.band-red .label .bar{background:#fff}
.on-dark .label .bar{background:var(--red-orange)}

/* Buttons: angled panels at the Hi's lean, label counter-skewed */
.btn{--bg:var(--red);--fg:#FFFFFF;position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 30px;margin-left:12px;font-family:var(--display);font-weight:600;font-style:normal;text-transform:uppercase;letter-spacing:.06em;font-size:var(--t-label);text-decoration:none;color:var(--fg);background:var(--bg);border:2px solid var(--bg);transform:skewX(calc(-1 * var(--lean)));transition:background .25s var(--ease),border-color .25s var(--ease),color .25s var(--ease);cursor:pointer;white-space:nowrap}
.btn>span{display:inline-block;transform:skewX(var(--lean))}
.btn:hover,.btn:focus-visible{--bg:var(--ink);--fg:#fff}
.btn-ghost{--bg:transparent;--fg:var(--ink);border-color:var(--ink)}
.btn-ghost:hover,.btn-ghost:focus-visible{--bg:var(--ink);--fg:#fff;border-color:var(--ink)}
.on-dark .btn-ghost,.band-wood .btn-ghost{--fg:var(--ink-soft);border-color:var(--ink-soft)}
.on-dark .btn:not(.btn-ghost),.band-wood .btn:not(.btn-ghost){--fg:#FFFFFF}
.on-dark .btn-ghost:hover,.band-wood .btn-ghost:hover{--bg:var(--ink-soft);--fg:var(--ink);border-color:var(--ink-soft)}
.band-red .btn{--bg:#fff;--fg:var(--red);border-color:#fff}
.band-red .btn:hover,.band-red .btn:focus-visible{--bg:var(--ink);--fg:#fff;border-color:var(--ink)}
.on-dark .btn:hover,.on-dark .btn:focus-visible{--bg:#fff;--fg:var(--ink);border-color:#fff}
.btn-group{display:flex;flex-wrap:wrap;gap:14px 22px;align-items:center;margin-top:28px}
.tlink{font-family:var(--display);font-weight:600;font-style:normal;text-transform:uppercase;letter-spacing:.06em;font-size:var(--t-label);text-decoration:none;color:var(--red);display:inline-flex;align-items:center;min-height:44px}
.tlink .bar{width:.7em;height:.8em}
.band-floor .tlink{color:var(--ink)}
.band-floor .tlink:hover{color:var(--red)}
.tlink:hover,.tlink:focus-visible{color:var(--ink)}
.tlink:hover .bar{background:var(--ink)}
.on-dark .tlink,.band-wood .tlink,.band-ink .tlink{color:var(--ink-soft)}
.on-dark .tlink .bar,.band-wood .tlink .bar,.band-ink .tlink .bar{background:var(--red-orange)}
.on-dark .tlink:hover,.band-wood .tlink:hover,.band-ink .tlink:hover{color:var(--red-orange)}
.on-dark .tlink:hover .bar,.band-wood .tlink:hover .bar,.band-ink .tlink:hover .bar{background:#fff}
.band-red .tlink{color:#fff}
.band-red .tlink .bar{background:#fff}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:var(--ground);border-bottom:1px solid transparent;transition:border-color .3s var(--ease)}
.site-header.scrolled{border-bottom-color:var(--line)}
.site-header::before{content:"";display:block;height:3px;background:var(--heat)}
.hdr{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:var(--header-h)}
.brand{display:flex;align-items:center;min-height:44px;text-decoration:none}
.brand img{height:26px;width:auto}
.nav{display:flex;align-items:center;gap:4px}
.nav a{font-family:var(--display);font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-size:var(--t-label);text-decoration:none;color:var(--ink);padding:12px 12px;min-height:44px;display:inline-flex;align-items:center;border-bottom:3px solid transparent}
.nav a:hover{color:var(--red)}
.nav a[aria-current="page"]{border-bottom-color:var(--red)}
.nav .btn{margin-left:22px}
.nav-toggle{display:none;background:none;border:0;padding:8px;min-width:44px;min-height:44px;cursor:pointer;color:var(--ink)}
.nav-toggle svg{width:28px;height:28px}
.menu{display:none}

/* Hero */
.hero{position:relative;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:32px;align-items:center}
.hero-copy{padding-block:clamp(40px,6vw,88px)}
.gauge{width:min(100%,240px);margin:0 0 28px}
.gauge svg{width:100%;height:auto;overflow:visible}
.hero h1{margin-bottom:.35em;font-size:clamp(2.5rem,4.9vw,4.75rem)}
.hero-media{position:relative;margin-inline:calc(-1 * var(--gut));}
.hero-media img{width:100%;height:100%;object-fit:cover;aspect-ratio:5/4}
.hero .rail{position:absolute;left:var(--gut);bottom:0;margin:0;height:14px;z-index:2}
.hero .rail i{width:38px}

/* Quick action strip: three angled panels on the black band */
.strip{display:grid;grid-template-columns:1fr;gap:2px;background:var(--line-dark)}
.panel{background:var(--ink);color:var(--ink-soft);text-decoration:none;padding:28px var(--gut);display:flex;flex-direction:column;gap:8px;min-height:44px;position:relative;transition:background .25s var(--ease)}
.panel:hover,.panel:focus-visible{background:var(--ink-2)}
.panel-h{margin:0;font-family:var(--display);font-style:italic;font-weight:800;text-transform:uppercase;letter-spacing:-.01em;line-height:1.05;font-size:clamp(1.5rem,2.6vw,2rem);color:var(--ink-soft)}
.panel p{margin:0;color:var(--muted-dark)}
.panel .tlink{margin-top:auto;padding-top:8px}
.panel::after{content:"";position:absolute;right:-14px;top:0;bottom:0;width:28px;background:var(--ink);transform:skewX(calc(-1 * var(--lean)));z-index:1;display:none}

/* Aisle sections: photo + copy */
.aisle{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--gap);align-items:center}
.aisle-copy{max-width:36rem}
.figure{margin:0}
.figure .frame{position:relative}
.figure img{width:100%;object-fit:cover;aspect-ratio:4/3}
.figure.tall img{aspect-ratio:4/5}
.figure.wide img{aspect-ratio:16/9}
.figure .rail{position:absolute;left:-6px;bottom:-6px;margin:0}
.figure figcaption{font-size:var(--t-small);color:var(--muted);margin-top:10px}
.on-dark .figure figcaption,.band-wood .figure figcaption{color:var(--muted-dark)}
.band-red .figure figcaption{color:#fff}
/* The clip lives on the picture, not the figure: IntersectionObserver measures the clipped box,
   so a clipped figure never reports as visible and never reveals. */
.figure.reveal picture{display:block;clip-path:inset(0 100% 0 0)}
.figure.reveal.in picture{clip-path:inset(0 0 0 0);transition:clip-path .9s var(--ease)}
.figure.reveal.from-right picture{clip-path:inset(0 0 0 100%)}
.figure.reveal.from-right.in picture{clip-path:inset(0)}
.list{list-style:none;padding:0;margin:20px 0 0;display:grid;gap:10px}
.list li{display:flex;gap:12px;align-items:flex-start}
.list li::before{content:"";flex:0 0 auto;width:14px;height:14px;margin-top:.45em;background:var(--red);transform:skewX(calc(-1 * var(--lean)))}
.band-red .list li::before{background:#fff}
.on-dark .list li::before,.band-wood .list li::before{background:var(--red-orange)}
.list.heat li:nth-child(5n+1)::before{background:var(--yellow)}
.list.heat li:nth-child(5n+2)::before{background:var(--amber)}
.list.heat li:nth-child(5n+3)::before{background:var(--orange)}
.list.heat li:nth-child(5n+4)::before{background:var(--red-orange)}
.list.heat li:nth-child(5n+5)::before{background:var(--red)}
.list+p,.menu-list+p{margin-top:16px}

[data-gap]{margin-top:32px}
.foot-contact{margin-top:18px}

/* Store card */
.store{border:2px solid var(--line);padding:clamp(22px,3vw,36px);display:grid;gap:18px;transition:border-color .2s var(--ease);background:var(--ground)}
.store:hover{border-color:var(--red)}
.store h3{margin:0}
.store address{font-style:normal;font-size:var(--t-lead);line-height:1.35}
.store .meta{display:grid;gap:6px;color:var(--muted)}
.store .meta strong{color:var(--ink);font-weight:600}
.chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0}
.chips li{font-family:var(--display);font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-size:.75rem;padding:7px 12px;background:var(--floor);color:var(--ink);transform:skewX(calc(-1 * var(--lean)))}
.chips li span{display:inline-block;transform:skewX(var(--lean))}
.chips li.fuel{background:var(--ink);color:var(--ink-soft)}
.chips li.food{background:var(--red);color:#fff}
.store .btn-group{margin-top:6px}
.hours{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin:0;padding:0;list-style:none}
.hours li{text-align:center;padding:8px 2px;background:var(--floor);font-size:.8rem;line-height:1.2}
.hours li b{display:block;font-family:var(--display);font-style:italic;font-weight:800;font-size:1.1rem;margin-bottom:2px}
.hours li.today{background:var(--ink);color:var(--ink-soft)}
.status{display:inline-flex;align-items:center;gap:8px;font-family:var(--display);font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-size:var(--t-label)}
.status::before{content:"";width:10px;height:10px;background:var(--muted)}
.status.open::before{background:#1E8E3E}
.status.closed::before{background:var(--red)}
.store-grid{display:grid;gap:var(--gap)}
.note{border:2px dashed var(--line);padding:clamp(22px,3vw,36px);color:var(--muted)}
.note h3{color:var(--ink)}


/* Locations: compact cards for the store list, the photographed store keeps the full card */
.region{padding-block:clamp(28px,4vw,48px)}
.region h2{margin-bottom:.15em}
.region .muted{margin:0 0 22px}
.store-grid.compact{grid-template-columns:1fr}
.store.compact{padding:20px 22px;gap:10px}
.store.compact h3{font-size:1.35rem}
.store.compact address{font-size:1.0625rem}
.store.compact .btn-group{margin-top:4px}
.store.compact .btn{min-height:44px;padding:0 22px}
.store.soon{border-style:dashed;background:var(--floor)}
.badge{display:inline-block;font-family:var(--display);font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;padding:5px 10px;margin-bottom:10px;background:var(--ink);color:var(--ink-soft);transform:skewX(calc(-1 * var(--lean)))}
.badge.soon{background:var(--red);color:#fff}
.store .meta.small{font-size:var(--t-small);margin:0}
@media (min-width:640px){.store-grid.compact{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}
@media (min-width:1100px){.store-grid.compact{grid-template-columns:repeat(3,1fr)}}
.store-grid.compact .store:not(.compact){grid-column:1/-1;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);column-gap:32px}
.store-grid.compact .store:not(.compact) .figure{grid-row:1/6}
@media (max-width:639px){.store-grid.compact .store:not(.compact){grid-template-columns:1fr}.store-grid.compact .store:not(.compact) .figure{grid-row:auto}}


/* Locations finder: Georgia cut into three bands (hover lights a band, click swaps the list beside it) */
.finder-section{padding-bottom:clamp(40px,6vw,80px)}
.finder{display:grid;gap:18px}
.map svg{width:100%;height:auto;display:block;max-width:250px;margin:0 auto}
.map .band{--band:#E4E3DF;cursor:pointer;outline:none}
.map .band path{fill:var(--band);stroke:var(--band);stroke-width:1.4;stroke-linejoin:round;transition:fill .25s var(--ease),stroke .25s var(--ease)}
.map .cut{stroke:#fff;stroke-width:3;pointer-events:none}
.map .band[data-region="south-of-atlanta"]:hover,.map .band[data-region="south-of-atlanta"]:focus-visible{--band:#F19A9E}
.map .band[data-region="middle-georgia"]:hover,.map .band[data-region="middle-georgia"]:focus-visible{--band:#FEC28A}
.map .band[data-region="south-georgia"]:hover,.map .band[data-region="south-georgia"]:focus-visible{--band:#FED98A}
.map .band[data-region="south-of-atlanta"].active{--band:var(--red)}
.map .band[data-region="middle-georgia"].active{--band:var(--orange)}
.map .band[data-region="south-georgia"].active{--band:var(--amber)}
.map .pin{fill:var(--ink);stroke:#fff;stroke-width:1.4;pointer-events:none;transition:opacity .25s var(--ease)}
.map .pin.soon{fill:#fff;stroke:var(--ink);stroke-width:1.6}
.map.has-active .pin:not(.active){opacity:.35}
.map .rlabel{font-family:var(--display);font-style:italic;font-weight:800;font-size:19px;text-transform:uppercase;fill:var(--ink);paint-order:stroke;stroke:#fff;stroke-width:5px;stroke-linejoin:round;pointer-events:none}
.map .rcount{font-family:var(--body);font-weight:600;font-size:14px;fill:var(--ink);paint-order:stroke;stroke:#fff;stroke-width:4px;pointer-events:none}
.map .band.active ~ .labels .rlabel{fill:var(--ink)}
.finder-map .small{text-align:center;margin:10px 0 0;display:none}
.tabs{display:flex;gap:0 6px;border-bottom:2px solid var(--line);margin-bottom:16px;position:sticky;top:var(--header-h);z-index:5;background:var(--ground);overflow-x:auto;-webkit-overflow-scrolling:touch}
.tab small{display:none}
.tab{display:flex;align-items:center;gap:8px;background:none;border:0;border-bottom:3px solid transparent;margin-bottom:-2px;padding:12px 8px 12px 2px;cursor:pointer;font:inherit;color:var(--muted);min-height:44px;white-space:nowrap;flex:0 0 auto}
.tab .sw{width:10px;height:22px;transform:skewX(calc(-1 * var(--lean)));background:var(--line)}
.tab[data-region="south-of-atlanta"] .sw{background:var(--red)} .tab[data-region="middle-georgia"] .sw{background:var(--orange)} .tab[data-region="south-georgia"] .sw{background:var(--amber)}
.tab b{font-family:var(--display);font-style:italic;font-weight:800;text-transform:uppercase;font-size:.85rem;line-height:1}
.tab small{font-size:.8rem}
.tab:hover,.tab:focus-visible{color:var(--ink)}
.tab[aria-selected="true"]{color:var(--ink);border-bottom-color:var(--ink)}
.pane[hidden]{display:none}
.pane h2{font-size:var(--t-h3);margin:0 0 .1em}
.pane .muted{margin:0 0 14px;font-size:var(--t-small)}
.rows{display:grid;gap:10px}
.row{border:2px solid var(--line);padding:14px 16px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 14px;align-items:center;background:#fff;transition:border-color .2s var(--ease)}
.row.soon{border-style:dashed;background:var(--floor)}
.row.flash,.row:hover{border-color:var(--ink)}
.row .label{margin:0 0 2px;font-size:.72rem}
.row h3{font-size:1.15rem;margin:0 0 4px;line-height:1.1}
.row address{font-style:normal;font-size:var(--t-small);color:var(--muted)}
.row .chips.small{margin-top:8px}
.chips.small li{font-size:.66rem;padding:5px 9px}
.row .tlink{min-height:32px;margin-top:4px;font-size:.75rem}
.row .badge{margin:0}
.row-cta .btn{min-height:40px;padding:0 18px;font-size:.72rem;margin-left:8px}
.badge{display:inline-block;font-family:var(--display);font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-size:.68rem;padding:5px 10px;background:var(--ink);color:var(--ink-soft);transform:skewX(calc(-1 * var(--lean)))}
.badge.soon{background:var(--red);color:#fff}
@media (min-width:860px){
  .finder{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:40px;align-items:start}
  .finder-map{position:sticky;top:calc(var(--header-h) + 16px)}
  .map svg{max-width:360px}
  .finder-map .small{display:block}
  .tabs{position:static;flex-wrap:wrap;overflow:visible}
  .tab{padding:12px 12px 12px 4px;gap:10px}
  .tab b{font-size:1rem}
  .tab small{display:inline}
}
@media (min-width:1100px){.rows{grid-template-columns:1fr 1fr}.row{grid-template-columns:1fr;align-items:start}.row-cta{justify-self:start}.row-cta .btn{margin-left:10px}}

/* Page hero (inner pages) */
.page-hero{padding-block:clamp(40px,6vw,88px) clamp(28px,4vw,56px)}
.page-hero h1{max-width:14em}
.page-hero .lead{margin-top:.5em}
.page-media{margin:0}
.page-media img{width:100%;object-fit:cover;aspect-ratio:21/9}

/* Anchored food sections */
.menu-list{list-style:none;padding:0;margin:20px 0 0;display:grid;gap:0;border-top:1px solid var(--line)}
.menu-list li{padding:14px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.menu-list li b{font-family:var(--display);font-style:italic;font-weight:800;text-transform:uppercase;font-size:1.15rem}
.menu-list li span{color:var(--muted)}
.band-red .menu-list{border-color:rgba(255,255,255,.35)}
.band-red .menu-list li{border-color:rgba(255,255,255,.35)}
.band-red .menu-list li span{color:#fff}
.anchor-nav{display:flex;flex-wrap:wrap;gap:8px 14px;list-style:none;padding:0;margin:20px 0 0}
.anchor-nav a{font-family:var(--display);font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-size:var(--t-label);text-decoration:none;color:var(--ink);padding:10px 0;display:inline-flex;align-items:center;gap:10px;min-height:44px}
.anchor-nav a:hover{color:var(--red)}

/* Forms */
.form{display:grid;gap:18px;max-width:40rem}
.form label{display:grid;gap:6px;font-family:var(--display);font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-size:var(--t-label)}
.form input,.form select,.form textarea{font:inherit;font-family:var(--body);font-size:1rem;padding:12px 14px;border:2px solid var(--line);background:#fff;color:var(--ink);min-height:48px;width:100%;border-radius:0;-webkit-appearance:none;appearance:none}
.form select{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'><path d='M1 1l6 6 6-6' fill='none' stroke='%23191A1F' stroke-width='2'/></svg>");background-repeat:no-repeat;background-position:right 14px center;padding-right:40px}
.form textarea{min-height:140px;resize:vertical}
.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--red);outline:none}
.form .row{display:grid;gap:18px}
.form .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form .btn{justify-self:start}
.form-status{min-height:1.5em;font-weight:600}
.form-status.err{color:var(--red)}
.form-status.ok{color:#1E8E3E}

/* Legal */
.legal{max-width:44rem}
.legal h2{font-size:clamp(1.375rem,2.4vw,1.75rem);margin-top:2em}
.legal h1{font-size:clamp(2rem,4.6vw,3.25rem)}

/* Footer */
.site-footer{background:var(--ink);color:var(--ink-soft);position:relative}
.site-footer::before{content:"";display:block;height:6px;background:var(--heat)}
.foot{display:grid;gap:36px;padding-block:clamp(44px,6vw,80px)}
.foot .brand img{height:30px}
.foot-cols{display:grid;gap:28px;grid-template-columns:repeat(2,minmax(0,1fr))}
.foot-h{font-family:var(--display);text-transform:uppercase;font-size:.9rem;letter-spacing:.06em;font-weight:600;margin:0 0 12px;color:var(--muted-dark)}
.store h2{font-size:var(--t-h3);line-height:1.05;margin:0}
.note h2{font-size:var(--t-h3);line-height:1.05;color:var(--ink)}
.foot ul{list-style:none;padding:0;margin:0;display:grid;gap:4px}
.foot a{text-decoration:none;color:var(--ink-soft);display:inline-flex;align-items:center;min-height:36px}
.foot a:hover{color:var(--red-orange)}
.foot-meta{border-top:1px solid var(--line-dark);padding-top:22px;display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between;font-size:var(--t-small);color:var(--muted-dark)}
.foot-meta a{min-height:0}
.foot-contact{color:var(--muted-dark)}
.foot-contact p{margin:0 0 .4em}

/* Mobile action bar */
.actbar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:none;grid-template-columns:1fr 1fr;transform:translateY(100%);transition:transform .35s var(--ease)}
.actbar.show{transform:none}
.actbar a{display:flex;align-items:center;justify-content:center;min-height:56px;font-family:var(--display);font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-size:var(--t-label);text-decoration:none;color:#fff;background:var(--ink)}
.actbar a:first-child{background:var(--red)}
body.has-actbar{padding-bottom:56px}

/* Reveals */
.reveal{opacity:0;transform:translateY(20px)}
.reveal.in{opacity:1;transform:none;transition:opacity .6s var(--ease),transform .6s var(--ease)}
.reveal.in[data-d="1"]{transition-delay:.1s}
.reveal.in[data-d="2"]{transition-delay:.2s}
.reveal.in[data-d="3"]{transition-delay:.3s}
@supports not (animation-timeline:view()){.x{}}

/* Page entrance */
.enter{opacity:0;transform:translateY(16px)}
body.loaded .enter{opacity:1;transform:none;transition:opacity .7s var(--ease),transform .7s var(--ease)}
body.loaded .enter[data-d="1"]{transition-delay:.35s}
body.loaded .enter[data-d="2"]{transition-delay:.5s}
body.loaded .enter[data-d="3"]{transition-delay:.62s}
.enter-clip{clip-path:inset(0 100% 0 0)}
body.loaded .enter-clip{clip-path:inset(0);transition:clip-path 1s var(--ease) .3s}

/* Gauge: needle sweeps about the measured hub (639.5, 655.2 in logo units); segments light in heat order */
.gauge .seg{opacity:.15}
body.loaded .gauge .seg{opacity:1;transition:opacity .35s var(--ease)}
body.loaded .gauge #seg01{transition-delay:.10s}
body.loaded .gauge #seg02{transition-delay:.14s}
body.loaded .gauge #seg03{transition-delay:.18s}
body.loaded .gauge #seg04{transition-delay:.22s}
body.loaded .gauge #seg05{transition-delay:.26s}
body.loaded .gauge #seg06{transition-delay:.30s}
body.loaded .gauge #seg07{transition-delay:.34s}
body.loaded .gauge #seg08{transition-delay:.38s}
body.loaded .gauge #seg09{transition-delay:.42s}
.gauge .needle-g{transform-box:view-box;transform-origin:639.5px 655.2px;transform:rotate(-143.3deg)}
body.loaded .gauge .needle-g{transform:rotate(0deg);transition:transform 1.1s var(--ease) .2s}

/* 404 */
.notfound{min-height:60vh;display:grid;align-content:center}

/* Breakpoints */
@media (min-width:640px){
  .form .row{grid-template-columns:1fr 1fr}
  .foot-cols{grid-template-columns:repeat(3,minmax(0,1fr))}
  .store-grid{grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}
}
@media (min-width:860px){
  .strip{grid-template-columns:repeat(3,1fr)}
  .aisle{grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,96px)}
  .aisle.flip .figure{order:2}
  .aisle.flip .aisle-copy{order:1}
  .hero-grid{grid-template-columns:1.05fr 1fr;gap:clamp(32px,5vw,80px)}
  .hero-media{margin-inline:0 calc(-1 * var(--gut));height:100%}
  .hero-media img{aspect-ratio:auto;min-height:560px;height:100%}
  .gauge{width:min(100%,280px)}
  .foot{grid-template-columns:1.2fr 2fr;align-items:start}
  .foot-meta{grid-column:1/-1}
  .foot-cols{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (min-width:1100px){
  .hero-grid{grid-template-columns:1fr 1.1fr}
  .gauge{width:min(100%,320px)}
}
@media (max-width:859px){
  :root{--header-h:60px}
  .nav{display:none}
  .nav-toggle{display:inline-flex;align-items:center;justify-content:center}
  .menu{display:block;position:fixed;inset:0;top:0;background:var(--ink);color:var(--ink-soft);z-index:60;padding:calc(var(--header-h) + 24px) var(--gut) 40px;transform:translateX(100%);transition:transform .4s var(--ease);overflow:auto}
  .menu.open{transform:none}
  .menu ul{list-style:none;padding:0;margin:0 0 28px;display:grid;gap:4px}
  .menu a{font-family:var(--display);font-style:italic;font-weight:800;text-transform:uppercase;font-size:clamp(2rem,9vw,3rem);text-decoration:none;color:var(--ink-soft);display:inline-flex;align-items:center;min-height:52px;line-height:1}
  .menu a:hover,.menu a[aria-current="page"]{color:var(--red-orange)}
  .menu .rail{margin-bottom:28px}
  .menu .close{position:absolute;top:10px;right:calc(var(--gut) - 8px);background:none;border:0;color:var(--ink-soft);min-width:44px;min-height:44px;cursor:pointer;padding:8px}
  .menu .close svg{width:28px;height:28px}
  body.menu-open{overflow:hidden}
  .actbar{display:grid}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;transition-duration:.01ms !important;scroll-behavior:auto !important}
  .reveal,.enter{opacity:1 !important;transform:none !important}
  .enter-clip,.figure.reveal picture{clip-path:inset(0) !important}
  .rail.rev i{transform:scaleX(1) skewX(calc(-1 * var(--lean))) !important}
  .gauge .seg{opacity:1 !important}
  .gauge .needle-g{transform:rotate(0deg) !important}
}
