/* ===== JB Charging CA  |  jb-core.css v8  |  external sheet, body-mounted ===== */
/* Tokens, type, component rules, the one orchestrated moment, focus, reduced motion. */
/* Builder (Webflow) CSS carries literal hexes and px; this sheet is the source of truth and wins the cascade. */

@import url('https://fonts.googleapis.com/css2?family=Barlow+Semi+Condensed:wght@600;700&family=Atkinson+Hyperlegible+Next:ital,wght@0,400;0,500;0,700;1,400&family=Atkinson+Hyperlegible+Mono:wght@400;500;700&display=swap');

@font-face{font-family:'JB Display Fallback';src:local('Arial Narrow'),local('Arial');size-adjust:94%;ascent-override:96%;descent-override:24%;line-gap-override:0%}
@font-face{font-family:'JB Body Fallback';src:local('Arial');size-adjust:102%;ascent-override:94%;descent-override:24%;line-gap-override:0%}
@font-face{font-family:'JB Mono Fallback';src:local('Courier New'),local('Menlo');size-adjust:98%}

:root{
  --ink:#25293c; --paper:#f5f2eb; --card:#ffffff; --amber:#ffc25a; --amber-deep:#8f5404; --muted:#5b6070;
  --rule:rgb(37 41 60 / .14); --rule-ink:rgb(245 242 235 / .16); --tint:rgb(255 194 90 / .16); --screen-off:#3a3f58;
  --muted-on-ink:rgb(245 242 235 / .72); --halo:rgb(255 194 90 / .45); --slot-off:rgb(245 242 235 / .22);
  --r-pill:999px; --r-card:16px; --r-sm:4px;
  --shadow-card:0 16px 40px -24px rgb(37 41 60 / .35);
  --f-display:'Barlow Semi Condensed','JB Display Fallback',Arial,sans-serif;
  --f-body:'Atkinson Hyperlegible Next','JB Body Fallback',Arial,sans-serif;
  --f-mono:'Atkinson Hyperlegible Mono','JB Mono Fallback','Courier New',monospace;
  --ease-out:cubic-bezier(.16,1,.3,1); --ease:cubic-bezier(.2,0,0,1); --ease-pop:cubic-bezier(.34,1.56,.64,1); --ease-screen:cubic-bezier(.2,.7,.2,1);
  --d-fast:150ms; --d-base:220ms;
  --in:5px;
  --ring:var(--ink);
}
@media (max-width:991px){:root{--in:4px}}
@media (max-width:767px){:root{--in:3.5px}}
@media (max-width:479px){:root{--in:3px}}

html,body{background:var(--paper);margin:0}
html{scroll-padding-top:88px}
body{font-family:var(--f-body);color:var(--ink)}
.jb-shell,.jb-nav,.jb-footer{font-family:var(--f-body);color:var(--ink)}
.jb-shell{background:var(--paper);line-height:1.6;overflow:clip}
.jb-band-ink{--ring:var(--amber);background:var(--ink);color:var(--paper)}
.jb-wrap{width:100%;max-width:1180px;margin-left:auto;margin-right:auto;padding-left:24px;padding-right:24px;box-sizing:border-box}
@media (max-width:479px){.jb-wrap{padding-left:20px;padding-right:20px}}
*,*::before,*::after{box-sizing:border-box}

/* ---------- type steps ---------- */
.jb-h1{font:700 clamp(40px,2.4rem + 2.6vw,64px)/.98 var(--f-display);letter-spacing:-.01em;text-wrap:balance;max-width:16ch;margin:0 0 20px;color:inherit}
.jb-h2{font:700 clamp(32px,1.8rem + 1.3vw,44px)/1.04 var(--f-display);letter-spacing:-.005em;text-wrap:balance;max-width:24ch;margin:0 0 16px;color:inherit}
.jb-h3{font:600 clamp(24px,1.4rem + .4vw,28px)/1.12 var(--f-display);margin:0 0 8px;color:inherit}
.jb-figure{font:700 clamp(56px,3rem + 3vw,88px)/.95 var(--f-display);letter-spacing:-.01em;font-variant-numeric:tabular-nums;color:var(--amber)}
.jb-sign{font:600 clamp(13px,.8rem + .2vw,15px)/1.2 var(--f-display);letter-spacing:.06em;text-transform:uppercase}
.jb-title{font:700 17px/1.35 var(--f-body);margin:0 0 6px}
.jb-lead{font:400 clamp(17px,1rem + .25vw,19px)/1.55 var(--f-body);color:var(--muted);max-width:56ch;margin:0}
.jb-band-ink .jb-lead{color:var(--muted-on-ink)}
.jb-body{font:400 16px/1.6 var(--f-body);max-width:62ch;margin:0}
.jb-small{font:400 14px/1.5 var(--f-body)}
.jb-label{font:500 12px/1.4 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--amber-deep);margin:0 0 18px}
.jb-label::before{content:'';display:inline-block;width:24px;height:2px;background:var(--amber);margin:0 10px 4px 0;vertical-align:middle}
.jb-band-ink .jb-label{color:var(--amber)}
.jb-data{font:400 14px/1.5 var(--f-mono);font-variant-numeric:tabular-nums}
.jb-data-lg{font:700 clamp(18px,1rem + .4vw,22px)/1.2 var(--f-mono);font-variant-numeric:tabular-nums}
.jb-muted{color:var(--muted)} .jb-band-ink .jb-muted{color:var(--muted-on-ink)}
.jb-center{text-align:center}
.jb-center .jb-h2,.jb-center .jb-lead,.jb-center .jb-body{margin-left:auto;margin-right:auto}

/* ---------- focus ---------- */
:focus-visible{outline:3px solid var(--ring);outline-offset:3px}
:focus:not(:focus-visible){outline:none}
.jb-btn:focus-visible{border-radius:var(--r-pill)}
.jb-skip{position:absolute;left:16px;top:-100px;z-index:200;background:var(--amber);color:var(--ink);padding:10px 14px;border-radius:var(--r-pill);font:700 15px/1 var(--f-body);text-decoration:none}
.jb-skip:focus-visible{top:16px}
.w-input:focus-visible,.w-select:focus-visible,textarea.w-input:focus-visible{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px var(--halo)}

/* ---------- buttons and links ---------- */
.jb-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;border-radius:var(--r-pill);background:var(--amber);color:var(--ink);font:700 15px/1 var(--f-body);letter-spacing:.01em;text-decoration:none;border:0;cursor:pointer;
  transition:background-color var(--d-fast) var(--ease),color var(--d-fast) var(--ease);-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.jb-btn:hover{background:var(--amber-deep);color:var(--paper)}
.jb-btn:active{transform:scale(.98)}
.jb-btn-sm{min-height:40px;padding:0 18px}
.jb-link{color:var(--ink);font:700 15px/1.4 var(--f-body);text-decoration:underline;text-decoration-color:var(--amber);text-decoration-thickness:2px;text-underline-offset:4px;
  transition:color var(--d-fast) var(--ease),text-decoration-thickness var(--d-fast) var(--ease)}
.jb-link:hover{color:var(--amber-deep);text-decoration-thickness:3px}
.jb-band-ink .jb-link{color:var(--paper)} .jb-band-ink .jb-link:hover{color:var(--amber)}
.jb-link-arrow::after{content:' \2192';display:inline-block;transition:transform var(--d-base) var(--ease)}
.jb-link-arrow:hover::after{transform:translateX(3px)}
.jb-btn-row{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;margin-top:28px}

/* ---------- nav ---------- */
.jb-nav{position:sticky;top:0;z-index:50;background:var(--paper);border-bottom:1px solid var(--rule)}
.jb-nav-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:1180px;margin:0 auto;padding:14px 24px}
.jb-logo{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--ink)}
.jb-band-ink .jb-logo{color:var(--paper)}
.jb-logo-word{font:700 18px/1 var(--f-display);letter-spacing:.08em;text-transform:uppercase}
.jb-logo-tag{background:var(--amber);color:var(--ink);border-radius:var(--r-sm);padding:3px 7px;font:700 12px/1 var(--f-mono);letter-spacing:.06em}
.jb-nav-links{display:flex;gap:28px}
.jb-nav-link{position:relative;padding:6px 0;color:var(--ink);font:500 15px/1 var(--f-body);text-decoration:none;transition:color var(--d-fast) var(--ease)}
.jb-nav-link::after{content:'';position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--amber);transform:scaleX(0);transform-origin:right;transition:transform var(--d-base) var(--ease)}
.jb-nav-link:hover::after,.jb-nav-link:focus-visible::after,.jb-nav-link.w--current::after{transform:scaleX(1);transform-origin:left}
.jb-nav-link.w--current{font-weight:700}
@media (max-width:991px){
  .jb-nav-inner{flex-wrap:wrap;row-gap:10px}
  .jb-nav-links{display:flex;order:3;flex-basis:100%;gap:20px;overflow-x:auto;padding:2px 0 8px;scrollbar-width:none}
  .jb-nav-links::-webkit-scrollbar{display:none}
  .jb-nav-link{white-space:nowrap;font-size:14px}
}
@supports (animation-timeline: scroll()){
  @media (prefers-reduced-motion:no-preference){
    .jb-nav{animation:jb-nav-scrolled linear both;animation-timeline:scroll(root);animation-range:0 120px}
    @keyframes jb-nav-scrolled{to{box-shadow:0 1px 0 var(--rule),0 10px 24px -18px rgb(37 41 60 / .35)}}
  }
}

/* ---------- machine figures (true scale via --in) ---------- */
.jb-fig{position:relative;width:calc(var(--w) * var(--in));height:calc(var(--h) * var(--in));background:var(--ink);border-radius:var(--r-sm);flex:0 0 auto}
.jb-fig-j8{--w:9.4;--h:16.1;--sw:8.56;--sh:5.35;--cols:4;--rows:2}
.jb-fig-j24{--w:14;--h:70.9;--sw:11.67;--sh:20.74;--cols:4;--rows:6}
.jb-fig-j48{--w:23;--h:80.7;--sw:21.08;--sh:37.48;--cols:6;--rows:8}
.jb-fig-screen{position:absolute;left:50%;top:calc(1 * var(--in));transform:translateX(-50%);width:calc(var(--sw) * var(--in));height:calc(var(--sh) * var(--in));background:var(--amber);border-radius:1px}
.jb-fig-j8 .jb-fig-screen{top:calc(.8 * var(--in))}
.jb-fig-slots{position:absolute;left:50%;transform:translateX(-50%);top:calc((var(--sh) + 2.2) * var(--in));width:calc((var(--sw) - 1) * var(--in));height:calc(var(--rows) * 2.4 * var(--in));
  background-image:radial-gradient(circle at 50% 50%,var(--slot-off) 0 38%,transparent 42%);
  background-size:calc(100% / var(--cols)) calc(100% / var(--rows))}
.jb-fig-slots-on{position:absolute;inset:0;background-image:radial-gradient(circle at 50% 50%,var(--amber) 0 38%,transparent 42%);background-size:calc(100% / var(--cols)) calc(100% / var(--rows));clip-path:inset(0 0 0 0)}
.jb-fig-foot{position:absolute;left:12%;right:12%;bottom:calc(1.2 * var(--in));height:calc(.5 * var(--in));background:var(--amber);opacity:.9;border-radius:1px}
.jb-fig-j8 .jb-fig-foot{display:none}
.jb-fig-mini{--in:1.7px}
.jb-plate-fig{--in:3px}
@media (max-width:767px){.jb-plate-fig{--in:2px}}

/* ---------- lineup ---------- */
.jb-lineup{position:relative;display:flex;align-items:flex-end;gap:calc(8 * var(--in));padding-left:calc(10 * var(--in));min-height:calc(84 * var(--in))}
.jb-lineup-col{position:relative;display:flex;flex-direction:column;align-items:center}
.jb-counter{width:calc(24 * var(--in));height:calc(42 * var(--in));border-top:3px solid var(--ink);background:none}
.jb-fig-cap{position:absolute;bottom:calc(100% + 10px);right:0;left:auto;transform:none;text-align:right;white-space:nowrap;font:500 12px/1.4 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.jb-ruler{position:absolute;left:0;bottom:0;top:0;width:calc(8 * var(--in));border-right:1px dotted var(--rule)}
.jb-ruler-mark{position:absolute;right:6px;transform:translateY(50%);font:400 12px/1 var(--f-mono);color:var(--muted);white-space:nowrap}
.jb-ruler-mark::after{content:'';position:absolute;left:calc(100% + 2px);top:50%;width:5px;height:1px;background:var(--muted)}
.jb-ruler-mark-0{bottom:0} .jb-ruler-mark-40{bottom:calc(40 * var(--in))} .jb-ruler-mark-80{bottom:calc(80 * var(--in))}
.jb-ruler-bar{position:absolute;left:calc(8 * var(--in));right:0;bottom:calc(42 * var(--in));border-top:1px dashed var(--rule);pointer-events:none}
.jb-ruler-bar span,.jb-ruler-bar-l{position:absolute;left:10px;right:auto;top:6px;bottom:auto;font:500 11px/1 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);white-space:nowrap}

/* ---------- route line and county stops ---------- */
.jb-route-line{height:8px;background:var(--amber);border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);transform-origin:left}
.jb-route-stops{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;padding-top:18px}
.jb-stop{position:relative;text-decoration:none;color:var(--ink);padding-left:2px}
.jb-stop::before{content:'';position:absolute;left:0;top:-32px;width:14px;height:14px;border-radius:50%;background:var(--paper);border:2px solid var(--ink);box-sizing:border-box;transition:background-color var(--d-fast) var(--ease)}
.jb-stop:hover::before,.jb-stop:focus-visible::before{background:var(--amber)}
.jb-stop-n{display:inline-block;font:600 clamp(13px,.8rem + .2vw,15px)/1.2 var(--f-display);letter-spacing:.06em;text-transform:uppercase;text-decoration:underline;text-decoration-color:var(--amber);text-decoration-thickness:2px;text-underline-offset:3px;transition:text-decoration-color var(--d-fast) var(--ease)}
.jb-stop:hover .jb-stop-n{text-decoration-color:var(--amber-deep)}
.jb-stop-c{display:block;margin-top:4px;font:400 12px/1.4 var(--f-mono);color:var(--muted)}
.jb-stop:hover .jb-stop-n{color:var(--amber-deep)}
@media (max-width:767px){
  .jb-route-stops{grid-template-columns:repeat(2,1fr);row-gap:16px;padding-top:20px}
  .jb-stop{padding-left:22px}
  .jb-stop::before{top:2px}
}

/* ---------- how-it-works rail ---------- */
.jb-rail{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:32px;padding-top:36px;border:0}
.jb-rail::before{content:'';position:absolute;left:0;right:0;top:12px;height:6px;background:var(--amber);border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}
.jb-rail-step{position:relative}
.jb-rail-n{position:absolute;left:0;top:-36px;width:26px;height:26px;border-radius:50%;background:var(--ink);color:var(--amber);font:700 14px/26px var(--f-mono);text-align:center}
@media (max-width:767px){.jb-rail{grid-template-columns:1fr;padding-top:0;padding-left:40px;row-gap:28px}
  .jb-rail::before{left:12px;right:auto;top:0;bottom:0;width:6px;height:auto;border:0;border-left:1px solid var(--ink);border-right:1px solid var(--ink)}
  .jb-rail-n{left:-40px;top:0}}

/* ---------- ledger and leader price rows ---------- */
.jb-ledger{background:var(--card);color:var(--ink);border:1px solid var(--rule);border-radius:var(--r-card);box-shadow:var(--shadow-card);padding:22px 24px 18px;font-family:var(--f-mono);position:relative;max-width:440px;width:100%}
.jb-ledger-head{display:flex;justify-content:space-between;gap:12px;font:500 12px/1.4 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;padding-bottom:12px;border-bottom:1px dashed var(--rule)}
.jb-ledger-tag{display:inline-block;margin:12px 0 6px;padding:3px 8px;border:1px solid var(--ink);border-radius:var(--r-sm);font:700 12px/1.2 var(--f-mono);letter-spacing:.08em;text-transform:uppercase}
.jb-lrow,.jb-price-row{display:flex;align-items:baseline;gap:8px;padding:7px 0;font:400 14px/1.5 var(--f-mono);font-variant-numeric:tabular-nums}
.jb-lrow-k,.jb-price-k{flex:0 1 auto}
.jb-leader{flex:1 1 12px;min-width:12px;border-bottom:1px dotted var(--ink);opacity:.45;transform:translateY(-5px)}
.jb-lrow-v,.jb-price-v{flex:0 0 auto;text-align:right;white-space:nowrap}
.jb-lrow-total{margin-top:8px;padding-top:12px;border-top:1px solid var(--ink);font-weight:700;position:relative}
.jb-lrow-total .jb-lrow-v{font:700 clamp(18px,1rem + .4vw,22px)/1.2 var(--f-mono)}
.jb-lrow-total::after{content:'';position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--amber);transform-origin:left}
.jb-ledger-note{margin:12px 0 0;font:400 12px/1.5 var(--f-mono);color:var(--muted)}
.jb-ledger::after{content:'';position:absolute;left:0;right:0;bottom:-8px;height:8px;background:linear-gradient(-45deg,var(--card) 5px,transparent 0) 0 0/12px 8px,linear-gradient(45deg,var(--card) 5px,transparent 0) 6px 0/12px 8px;filter:drop-shadow(0 1px 0 var(--rule))}
.jb-price-list{background:var(--card);color:var(--ink);border:1px solid var(--rule);border-radius:var(--r-card);padding:8px 24px}
.jb-price-row{border-bottom:1px solid var(--rule);padding:14px 0;align-items:center}
.jb-price-row:last-child{border-bottom:0}
.jb-price-k{font:700 17px/1.35 var(--f-body)}
.jb-price-sub{display:block;font:400 13px/1.4 var(--f-mono);color:var(--muted);margin-top:2px}
.jb-price-v{font:700 clamp(18px,1rem + .4vw,22px)/1.2 var(--f-mono)}
.jb-tag{display:inline-block;margin-left:8px;padding:3px 8px;border-radius:var(--r-pill);background:var(--amber);color:var(--ink);font:700 12px/1.2 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;vertical-align:middle}
.jb-band-ink .jb-price-list{background:var(--card);color:var(--ink)}
.jb-band-ink .jb-price-sub{color:var(--muted)}
@media (max-width:479px){.jb-price-row{flex-wrap:wrap}.jb-price-k{flex-basis:100%}}

/* ---------- spec table, plates, region sheet, ticket, fit, chips, faq ---------- */
.jb-spec-table{display:grid;grid-template-columns:repeat(3,1fr);background:var(--card);border:1px solid var(--rule);border-radius:var(--r-card);overflow:hidden}
.jb-mach-col{padding:24px;border-left:1px solid var(--rule);color:inherit;text-decoration:none;display:block;transition:background-color var(--d-fast) var(--ease)}
.jb-mach-col:first-child{border-left:0}
.jb-mach-col:hover{background:var(--tint)}
.jb-mach-figwrap{display:flex;align-items:flex-end;height:140px;margin-bottom:18px;border-bottom:1px solid var(--rule);padding-bottom:12px}
.jb-mach-n{margin:0 0 2px}
.jb-mach-place{font:400 14px/1.5 var(--f-body);color:var(--muted);margin:0 0 10px}
.jb-mach-price{margin:0 0 12px}
.jb-tag-space{display:block;height:20px}
.jb-spec-row{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid var(--rule);font:400 14px/1.5 var(--f-mono);font-variant-numeric:tabular-nums}
.jb-spec-row:last-child{border-bottom:0}
.jb-spec-k{color:var(--muted);font-weight:500;letter-spacing:.06em;text-transform:uppercase;font-size:12px;white-space:nowrap}
.jb-spec-v{text-align:right}
@media (max-width:767px){.jb-spec-table{grid-template-columns:1fr}.jb-mach-col{border-left:0;border-top:1px solid var(--rule)}.jb-mach-col:first-child{border-top:0}}
.jb-plate{display:grid;grid-template-columns:auto 1fr;gap:40px;background:var(--card);border:1px solid var(--rule);border-radius:var(--r-card);padding:32px;margin-bottom:24px;align-items:end}
.jb-plate-figwrap{display:flex;align-items:flex-end;min-width:120px}
.jb-spec-grid{display:grid;grid-template-columns:repeat(2,1fr);column-gap:32px;margin:16px 0}
@media (max-width:767px){.jb-plate{grid-template-columns:1fr;padding:24px}.jb-plate-figwrap{justify-content:center}.jb-spec-grid{grid-template-columns:1fr}}
.jb-regions{display:grid;grid-template-columns:repeat(2,1fr);column-gap:48px}
.jb-region{padding:18px 0;border-bottom:1px solid var(--rule)}
.jb-region:nth-last-child(-n+2){border-bottom:0}
.jb-region-n{margin:0 0 4px}
.jb-region-c{margin:0;color:var(--muted);font:400 15px/1.55 var(--f-body)}
@media (max-width:767px){.jb-regions{grid-template-columns:1fr}.jb-region:nth-last-child(2){border-bottom:1px solid var(--rule)}}
.jb-ticket{background:var(--card);border:1px solid var(--rule);border-radius:var(--r-card);padding:8px 24px;margin-top:40px}
.jb-ticket-row{display:grid;grid-template-columns:180px 1fr;gap:24px;padding:16px 0;border-bottom:1px solid var(--rule)}
.jb-ticket-row:last-child{border-bottom:0}
.jb-ticket-k{font:500 12px/1.6 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--amber-deep)}
.jb-ticket-v{margin:0;font:400 15px/1.6 var(--f-body)}
@media (max-width:767px){.jb-ticket-row{grid-template-columns:1fr;gap:4px}}
.jb-fit{display:grid;grid-template-columns:1fr 1fr;gap:48px}
.jb-fit-col{padding-top:16px;border-top:6px solid var(--amber);box-shadow:inset 0 1px 0 var(--ink)}
.jb-fit-col.jb-fit-no{border-top-color:var(--rule);box-shadow:none}
.jb-fit-t{margin:0 0 8px}
.jb-li{position:relative;padding:10px 0 10px 30px;border-bottom:1px solid var(--rule);font:400 15px/1.55 var(--f-body)}
.jb-li:last-child{border-bottom:0}
.jb-mark{display:none}
.jb-li::before{content:'';position:absolute;left:0;top:14px;width:16px;height:16px;border-radius:50%;box-sizing:border-box}
.jb-li-yes::before{background:var(--amber);border:1px solid var(--ink)}
.jb-li-yes::after{content:'';position:absolute;left:5px;top:18px;width:6px;height:3px;border-left:2px solid var(--ink);border-bottom:2px solid var(--ink);transform:rotate(-45deg)}
.jb-li-no::before{border:1px solid var(--muted)}
.jb-li-no::after{content:'';position:absolute;left:4px;top:21px;width:8px;height:2px;background:var(--muted)}
.jb-fit-no .jb-li{color:var(--muted)}
@media (max-width:767px){.jb-fit{grid-template-columns:1fr;gap:32px}}
.jb-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:32px}
.jb-chip{padding:7px 12px;border:1px solid var(--rule);border-radius:var(--r-pill);font:600 clamp(13px,.8rem + .2vw,15px)/1.2 var(--f-display);letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}
.jb-faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px 64px}
.jb-faq{border-top:1px solid var(--rule);padding-top:20px}
.jb-faq-q{margin:0 0 8px}
.jb-faq-a{margin:0;max-width:60ch;color:var(--muted);font:400 15px/1.6 var(--f-body)}
@media (max-width:767px){.jb-faq-grid{grid-template-columns:1fr;gap:24px}}

/* ---------- lanes, handle lists, dwell ruler ---------- */
.jb-lanes{display:grid;grid-template-columns:1fr 1fr;gap:48px;border-top:6px solid var(--amber);box-shadow:inset 0 1px 0 var(--ink);padding-top:24px}
@media (max-width:767px){.jb-lanes{grid-template-columns:1fr;gap:32px}}
.jb-plain{list-style:none;margin:0;padding:0}
.jb-plain li{padding:10px 0;border-bottom:1px solid var(--rule);font:400 15px/1.55 var(--f-body)}
.jb-plain li:last-child{border-bottom:0}
.jb-band-ink .jb-plain li{border-bottom-color:var(--rule-ink)}
.jb-dwell{position:relative;padding:48px 0 72px}
.jb-dwell-line{height:8px;background:var(--amber);border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}
.jb-dwell-ends{display:flex;justify-content:space-between;margin-top:10px}
.jb-dwell-marks{position:relative;height:0}
.jb-dwell-m{position:absolute;top:-58px;transform:translateX(-50%);font:400 12px/1.4 var(--f-mono);color:var(--muted);white-space:nowrap}
.jb-dwell-m::after{content:'';position:absolute;left:50%;top:100%;width:1px;height:18px;background:var(--muted)}
@media (max-width:767px){.jb-dwell-m{font-size:11px}}

/* ---------- territory map ---------- */
.jb-map{position:relative;aspect-ratio:3/2;background-color:var(--card);background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 400' fill='none'%3E%3Cdefs%3E%3Cpattern id='h' width='8' height='8' patternUnits='userSpaceOnUse' patternTransform='rotate(45)'%3E%3Cline x1='0' y1='0' x2='0' y2='8' stroke='%2325293c' stroke-opacity='.18' stroke-width='1'/%3E%3C/pattern%3E%3C/defs%3E%3Cpath d='M0,0 L20,60 70,75 120,82 160,92 185,105 200,125 235,140 275,150 290,175 310,178 345,195 370,215 390,235 410,265 425,295 438,325 450,350 462,372 475,392 475,400 0,400 Z' fill='url(%23h)'/%3E%3Cpath d='M20,60 L70,75 120,82 160,92 185,105 200,125 235,140 275,150 290,175 310,178 345,195 370,215 390,235 410,265 425,295 438,325 450,350 462,372 475,392' stroke='%2325293c' stroke-width='2' stroke-linejoin='round'/%3E%3Cpath d='M475,392 L600,392' stroke='%2325293c' stroke-width='1.5' stroke-dasharray='6 4'/%3E%3Cg stroke-linecap='round' stroke-linejoin='round'%3E%3Cg stroke='%2325293c' stroke-width='5'%3E%3Cpath d='M20,48 L120,66 190,92 260,128 300,118'/%3E%3Cpath d='M300,110 L330,170 380,220 430,300 462,368'/%3E%3Cpath d='M235,118 L300,150 340,186'/%3E%3Cpath d='M290,120 L420,160 520,225 600,245'/%3E%3Cpath d='M462,362 L470,260 470,120'/%3E%3Cpath d='M312,170 L470,148'/%3E%3C/g%3E%3Cg stroke='%23ffc25a' stroke-width='3'%3E%3Cpath d='M20,48 L120,66 190,92 260,128 300,118'/%3E%3Cpath d='M300,110 L330,170 380,220 430,300 462,368'/%3E%3Cpath d='M235,118 L300,150 340,186'/%3E%3Cpath d='M290,120 L420,160 520,225 600,245'/%3E%3Cpath d='M462,362 L470,260 470,120'/%3E%3Cpath d='M312,170 L470,148'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");background-position:center;background-size:contain;background-repeat:no-repeat;border:1px solid var(--rule);border-radius:var(--r-card);overflow:visible}
.jb-pin{position:absolute;width:14px;height:14px;transform:translate(-50%,-50%);border-radius:50%;background:var(--amber);border:2px solid var(--ink);box-sizing:border-box;text-decoration:none;transform-origin:center}
.jb-pin-l{position:absolute;left:18px;top:-4px;white-space:nowrap;font:600 clamp(13px,.8rem + .2vw,15px)/1.2 var(--f-display);letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}
.jb-pin:hover,.jb-pin:focus-visible{box-shadow:0 0 0 4px var(--halo)}
.jb-pin-vsb{left:22%;top:14%} .jb-pin-la{left:47%;top:26%} .jb-pin-oc{left:60%;top:45%} .jb-pin-ie{left:78%;top:34%} .jb-pin-cv{left:90%;top:56%} .jb-pin-sd{left:78%;top:84%}
.jb-pin-cv .jb-pin-l,.jb-pin-ie .jb-pin-l{left:auto;right:18px}
.jb-map-cap{margin:10px 0 0;font:400 12px/1.5 var(--f-mono);color:var(--muted)}
@media (max-width:479px){.jb-pin-l{font-size:11px}}

/* ---------- form ---------- */
.jb-form-card{background:var(--card);border:1px solid var(--rule);border-radius:var(--r-card);box-shadow:var(--shadow-card);padding:32px}
@media (max-width:479px){.jb-form-card{padding:24px 20px}}
.jb-field{margin-bottom:18px}
.jb-field-l{display:block;font:500 12px/1.4 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--amber-deep);margin-bottom:8px}
.jb-form-card .w-input,.jb-form-card .w-select{height:48px;border:1px solid var(--muted);border-radius:var(--r-sm);background:var(--card);color:var(--ink);padding:0 14px;font:400 16px/1.4 var(--f-body);width:100%;margin:0}
.jb-form-card textarea.w-input{height:140px;padding:12px 14px;resize:vertical}
.jb-form-card .w-input::placeholder{color:transparent;opacity:0}
.jb-form-card .jb-btn{width:100%;margin-top:6px}
.w-form-done{background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-card);color:var(--ink);padding:24px;text-align:left;font:400 16px/1.6 var(--f-body)}
.w-form-fail{background:var(--card);border:1px solid var(--amber-deep);color:var(--amber-deep);border-radius:var(--r-sm);padding:14px 16px;font:400 15px/1.5 var(--f-body)}

/* ---------- bands, cta, footer ---------- */
.jb-sec{padding:96px 0}
@media (max-width:991px){.jb-sec{padding:72px 0}}
@media (max-width:767px){.jb-sec{padding:56px 0}}
.jb-head{max-width:720px;margin-bottom:40px}
.jb-cta{padding:96px 0}
.jb-cta-inner{max-width:720px;margin:0 auto;text-align:center}
.jb-cta-inner .jb-h2{margin-left:auto;margin-right:auto}
.jb-cta-p{max-width:36rem;margin:0 auto;font:400 clamp(16px,1rem + .2vw,18px)/1.6 var(--f-body);color:var(--muted-on-ink)}
.jb-cta .jb-btn-row{justify-content:center}
.jb-footer{padding:64px 0 32px;border-top:1px solid var(--rule-ink)}
.jb-footer .jb-route-line{opacity:.5;margin-bottom:48px}
.jb-foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr 1fr;gap:32px}
.jb-foot-blurb{margin:16px 0 0;font:400 14px/1.6 var(--f-body);color:var(--muted-on-ink);max-width:300px}
.jb-foot-h{margin:0 0 14px}
.jb-foot-l{display:block;margin-bottom:10px;font:400 14px/1.5 var(--f-body);color:var(--paper);text-decoration:none}
a.jb-foot-l:hover{text-decoration:underline;text-decoration-color:var(--amber);text-underline-offset:3px}
span.jb-foot-l{color:var(--muted-on-ink)}
.jb-foot-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;margin-top:48px;padding-top:24px;border-top:1px solid var(--rule-ink)}
.jb-foot-legal{margin:0;font:400 13px/1.5 var(--f-body);color:var(--muted-on-ink)}
@media (max-width:991px){.jb-foot-grid{grid-template-columns:1fr 1fr}.jb-foot-brand{grid-column:1 / -1}}
@media (max-width:479px){.jb-foot-grid{grid-template-columns:1fr}}

/* ---------- split layouts ---------- */
.jb-split{display:flex;align-items:flex-start;gap:64px}
.jb-split-l{flex:1 1 0}
.jb-split-r{flex:0 0 440px;display:flex;justify-content:flex-end}
@media (max-width:991px){.jb-split{flex-direction:column;gap:40px}.jb-split-r{flex:1 1 auto;width:100%;justify-content:flex-start}}
.jb-figs{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin:32px 0 40px}
.jb-fig-l{margin:0;font:400 15px/1.6 var(--f-body);color:var(--muted-on-ink);max-width:34ch}
@media (max-width:767px){.jb-figs{grid-template-columns:1fr}}
.jb-hero{padding:80px 0 0}
@media (max-width:991px){.jb-hero{padding-top:64px}}
@media (max-width:767px){.jb-hero{padding-top:48px}}
.jb-hero-grid{display:flex;align-items:flex-end;gap:64px}
.jb-hero-copy{flex:1 1 58%;padding-bottom:40px}
.jb-hero-lineup{flex:0 0 auto}
.jb-hero-fine{margin:22px 0 0}
.jb-route{padding-bottom:56px}
@media (max-width:991px){.jb-hero-grid{gap:40px}}
@media (max-width:767px){.jb-hero-grid{flex-direction:column;align-items:stretch}.jb-hero-lineup{align-self:center}.jb-hero-copy{padding-bottom:0}.jb-hero-grid{gap:40px}}
.jb-hero-wide .jb-hero-copy{padding-bottom:48px}
.jb-hero-ledger{flex:0 0 440px;display:flex;justify-content:flex-end;padding-bottom:56px}
@media (max-width:991px){.jb-hero-ledger{flex:1 1 auto;width:100%;justify-content:flex-start;padding-bottom:40px}}

/* ---------- inner-page classes (builder cannot set font-family) ---------- */
.jb-wif-mt,.jb-wif-row-n,.jb-aff-strip,.jb-con-strip-cap,.jb-con-areas{font-family:var(--f-mono)}
.jb-wif-end{font-family:var(--f-display)}
.jb-aff-strip{font:500 12px/1.6 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--amber)}
.jb-con-select,.jb-con-textarea{font-family:var(--f-body);font-size:16px;color:var(--ink);background:var(--card);border:1px solid var(--muted);border-radius:var(--r-sm);width:100%}
.jb-con-select{height:48px;padding:0 14px}
.jb-con-textarea{min-height:140px;padding:12px 14px;resize:vertical}
.jb-con-select:focus-visible,.jb-con-textarea:focus-visible{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px var(--halo)}
.jb-con-textarea::placeholder{color:var(--muted);opacity:.8}
.jb-cov-county h2.jb-h2{margin-bottom:8px}

.jb-wif-dwell-sec{padding-top:24px}

/* ---------- hero photo lineup + nav logo (v6) ---------- */
.jb-lineup-photos{display:flex;align-items:flex-end;gap:20px}
@media (max-width:991px){.jb-lineup-photos{gap:16px}}
@media (max-width:479px){.jb-lineup-photos{gap:12px}}
.jb-ph-j8,.jb-ph-j24,.jb-ph-j48{filter:drop-shadow(0 14px 18px rgb(37 41 60 / .16))}
.jb-logo-img{height:32px;width:auto;display:block}
@media (max-width:479px){.jb-logo-img{height:28px}}

/* ---------- earnings estimator (v7) ---------- */
.jb-est{max-width:460px;width:100%}
.jb-est-ctl{padding:12px 0 4px}
.jb-est-l{display:flex;justify-content:space-between;align-items:baseline;font:500 12px/1.4 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--amber-deep);margin-bottom:8px}
.jb-est-v{font:700 15px/1.2 var(--f-mono);color:var(--ink);letter-spacing:0;text-transform:none;font-variant-numeric:tabular-nums}
.jb-est-range{-webkit-appearance:none;appearance:none;display:block;width:100%;height:6px;border-radius:999px;background:var(--rule);cursor:pointer;margin:6px 0 4px}
.jb-est-range::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:var(--amber);border:2px solid var(--ink);box-shadow:0 1px 4px rgb(37 41 60 / .3);cursor:pointer;transition:transform var(--d-fast) var(--ease)}
.jb-est-range::-webkit-slider-thumb:hover{transform:scale(1.12)}
.jb-est-range::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--amber);border:2px solid var(--ink);cursor:pointer}
.jb-est-range:focus-visible{outline:3px solid var(--ring);outline-offset:4px}
.jb-est .jb-lrow-v{transition:color var(--d-fast) var(--ease)}
.jb-est .jb-lrow-v.jb-est-tick{color:var(--amber-deep)}
.jb-est-split{display:flex;align-items:flex-start;gap:64px}
.jb-est-copy{flex:1 1 0}
.jb-est-card{flex:0 0 460px;display:flex;justify-content:flex-end}
@media (max-width:991px){.jb-est-split{flex-direction:column;gap:40px}.jb-est-card{flex:1 1 auto;width:100%;justify-content:flex-start}}

/* ---------- nav route progress line (v7, CSS scroll-driven) ---------- */
.jb-nav::after{content:'';position:absolute;left:0;right:0;bottom:-2px;height:3px;background:var(--amber);transform:scaleX(0);transform-origin:left;pointer-events:none}
@supports (animation-timeline: scroll()){
  @media (prefers-reduced-motion:no-preference){
    .jb-nav::after{animation:jb-nav-progress linear both;animation-timeline:scroll(root)}
  }
}
@keyframes jb-nav-progress{to{transform:scaleX(1)}}

/* ===== THE ONE MOMENT ===== */
@keyframes jb-screen-on{from{background-color:var(--screen-off);filter:brightness(1)}60%{background-color:var(--amber);filter:brightness(1.6)}to{background-color:var(--amber);filter:brightness(1)}}
@keyframes jb-slots-on{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes jb-route-draw{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes jb-pop{from{transform:scale(0)}70%{transform:scale(1.15)}to{transform:scale(1)}}
@keyframes jb-pin-pop{from{transform:translate(-50%,-50%) scale(0)}70%{transform:translate(-50%,-50%) scale(1.15)}to{transform:translate(-50%,-50%) scale(1)}}
@keyframes jb-print{from{opacity:0;clip-path:inset(0 100% 0 0)}40%{opacity:1}to{opacity:1;clip-path:inset(0 -2% 0 0)}}
@keyframes jb-rule{from{transform:scaleX(0)}to{transform:scaleX(1)}}

@media (prefers-reduced-motion:no-preference){
  .jb-hero .jb-fig-screen{animation:jb-screen-on 520ms var(--ease-screen) both}
  .jb-hero .jb-fig-slots-on{animation:jb-slots-on 600ms linear both}
  .jb-hero .jb-fig-j8 .jb-fig-screen{animation-delay:300ms}  .jb-hero .jb-fig-j8 .jb-fig-slots-on{animation-delay:500ms;animation-duration:400ms}
  .jb-hero .jb-fig-j24 .jb-fig-screen{animation-delay:600ms} .jb-hero .jb-fig-j24 .jb-fig-slots-on{animation-delay:800ms}
  .jb-hero .jb-fig-j48 .jb-fig-screen{animation-delay:900ms} .jb-hero .jb-fig-j48 .jb-fig-slots-on{animation-delay:1100ms;animation-duration:700ms}
  .jb-hero .jb-route-line{animation:jb-route-draw 700ms var(--ease-out) 1000ms both}
  .jb-hero .jb-stop::before{animation:jb-pop 360ms var(--ease-pop) both}
  .jb-hero .jb-stop:nth-child(1)::before{animation-delay:1500ms} .jb-hero .jb-stop:nth-child(2)::before{animation-delay:1580ms}
  .jb-hero .jb-stop:nth-child(3)::before{animation-delay:1660ms} .jb-hero .jb-stop:nth-child(4)::before{animation-delay:1740ms}
  .jb-hero .jb-stop:nth-child(5)::before{animation-delay:1820ms} .jb-hero .jb-stop:nth-child(6)::before{animation-delay:1900ms}
  .jb-hero .jb-lrow{animation:jb-print 300ms var(--ease-out) both;animation-delay:calc(400ms + var(--i,0) * 70ms)}
  .jb-hero .jb-lrow:nth-of-type(3){--i:1}.jb-hero .jb-lrow:nth-of-type(4){--i:2}.jb-hero .jb-lrow:nth-of-type(5){--i:3}.jb-hero .jb-lrow:nth-of-type(6){--i:4}.jb-hero .jb-lrow:nth-of-type(7){--i:5}.jb-hero .jb-lrow:nth-of-type(8){--i:6}
  .jb-hero .jb-lrow-total::after{animation:jb-rule 320ms var(--ease-out) 1000ms both}
  .jb-hero .jb-pin{animation:jb-pin-pop 360ms var(--ease-pop) both}
  .jb-hero .jb-pin:nth-of-type(1){animation-delay:400ms}.jb-hero .jb-pin:nth-of-type(2){animation-delay:520ms}.jb-hero .jb-pin:nth-of-type(3){animation-delay:640ms}
  .jb-hero .jb-pin:nth-of-type(4){animation-delay:760ms}.jb-hero .jb-pin:nth-of-type(5){animation-delay:880ms}.jb-hero .jb-pin:nth-of-type(6){animation-delay:1000ms}
  .jb-mach-col .jb-fig-screen,.jb-mach-col .jb-fig-slots-on{transition:filter var(--d-base) var(--ease),opacity var(--d-base) var(--ease)}
  .jb-mach-col:hover .jb-fig-screen{filter:brightness(1.2)}
  .jb-mach-col .jb-fig-slots-on{opacity:.55} .jb-mach-col:hover .jb-fig-slots-on{opacity:1}
}

/* mobile: hero objects stack under the copy; drive the same keyframes by scroll where supported, otherwise static and lit */
@media (max-width:767px){
  .jb-hero .jb-fig-screen,.jb-hero .jb-fig-slots-on,.jb-hero .jb-route-line,.jb-hero .jb-stop::before,.jb-hero .jb-lrow,.jb-hero .jb-lrow-total::after,.jb-hero .jb-pin{animation:none}
  @supports (animation-timeline: view()){
    @media (prefers-reduced-motion:no-preference){
      .jb-hero .jb-fig-screen{animation:jb-screen-on linear both;animation-timeline:view();animation-range:entry 10% entry 60%}
      .jb-hero .jb-fig-slots-on{animation:jb-slots-on linear both;animation-timeline:view();animation-range:entry 30% entry 90%}
      .jb-hero .jb-route-line{animation:jb-route-draw linear both;animation-timeline:view();animation-range:entry 0% entry 100%}
      .jb-hero .jb-lrow{animation:jb-print linear both;animation-timeline:view();animation-range:entry 0% entry 100%;animation-delay:0s}
      .jb-hero .jb-ledger{view-timeline-name:--jb-ledger}
      .jb-hero .jb-lrow-total::after{animation:jb-rule linear both;animation-timeline:--jb-ledger;animation-range:entry 70% entry 100%}
      .jb-hero .jb-pin{animation:jb-pin-pop linear both;animation-timeline:view();animation-range:entry 20% entry 60%}
    }
  }
}

/* reduced motion: everything static and visible; colour-only hovers remain */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;animation-delay:0s !important;transition-duration:.01ms !important;scroll-behavior:auto !important}
  .jb-btn:active{transform:none}
  .jb-link-arrow:hover::after{transform:none}
}

/* cross-document view transitions (progressive) */
@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:180ms;animation-timing-function:var(--ease)}
.jb-nav{view-transition-name:jb-nav}
@media (prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none !important}}

/* Webflow badge hidden on staging is not possible without JS; leave it. */
