/* Stress Driver site. Palette from Tools/BRAND.md. Type: Barlow + Barlow Condensed (SIL OFL, self-hosted),
   a family drawn from California highway signs and plates. Spacing on a 4px grid. */
@font-face{font-family:"Barlow";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/barlow-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow";font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/barlow-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/barlow-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow Condensed";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/barlow-condensed-latin-600-normal.woff2) format("woff2")}

:root{
  /* asphalt ramp (cool, from the in-game road) */
  --a-950:#121318;--a-900:#17181E;--a-800:#1C1D24;--a-700:#24252E;--a-600:#2A2C36;--a-500:#3A3D4A;
  --on-dark:#F6F3EA;--on-dark-2:#B4B7C5;--on-dark-3:#9A9DAD;
  /* paper ramp (sky-light) */
  --paper:#FFF6E0;--paper-2:#F7EACB;--card:#FFFDF6;
  --ink:#1C1D24;--ink-2:#45485A;--ink-3:#5E6172;
  --line-dark:rgba(246,243,234,.1);--line-paper:rgba(28,29,36,.12);
  /* the road */
  --signal:#FFCD3C;--signal-press:#F2BC1F;--sign:#0E6B3F;--rage:#C8321F;--calm:#1F7A3C;
  --display:"Barlow Condensed","Arial Narrow","Roboto Condensed",-apple-system,sans-serif;
  --text:"Barlow",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --ease:cubic-bezier(.2,.7,.2,1);
  /* document pages (support, legal) follow the system theme */
  --bg:var(--paper);--fg:var(--ink);--fg-2:var(--ink-2);--fg-3:var(--ink-3);--line:var(--line-paper);--raised:var(--card);--link:#2F55A4;--focus:#2F55A4;--input:#fff;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root{--bg:var(--a-800);--fg:var(--on-dark);--fg-2:var(--on-dark-2);--fg-3:var(--on-dark-3);--line:var(--line-dark);--raised:var(--a-600);--link:#9DB6F2;--focus:var(--signal);--input:var(--a-800);color-scheme:dark}
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:16px}
body{margin:0;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;background:var(--bg);color:var(--fg);font:400 18px/1.55 var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,video{max-width:100%;display:block}
a{color:var(--link);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:4px}
h1,h2,h3{font-family:var(--display);font-weight:600;line-height:1;margin:0;letter-spacing:0}
p{margin:0}
.wrap{width:100%;max-width:1200px;margin:0 auto;padding:0 16px}
@media (min-width:720px){.wrap{padding:0 32px}}
.skip{position:absolute;left:-9999px;top:8px;background:var(--signal);color:var(--ink);padding:8px 12px;border-radius:8px;z-index:20;font-weight:600;text-decoration:none}
.skip:focus{left:8px}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Lane line: the one recurring detail. Road paint dashes, 40 on / 32 off. */
.lane{height:6px;background:repeating-linear-gradient(90deg,var(--signal) 0 40px,transparent 40px 72px);opacity:.9}

/* Top bar (all pages) */
.top{background:var(--a-800);color:var(--on-dark)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;height:64px}
.brand{display:inline-flex;align-items:center;gap:12px;color:var(--on-dark);text-decoration:none}
.brand img{width:32px;height:32px;border-radius:8px}
.brand .wordmark,.wordmark{font:600 26px/1 var(--display);letter-spacing:.01em}
.wordmark span{display:inline}
.wordmark .w1::after{content:" "}
.top nav{display:flex;gap:4px}
.top nav a{color:var(--on-dark-2);font-weight:500;font-size:16px;text-decoration:none;padding:8px 12px;border-radius:8px;transition:color .15s var(--ease),background-color .15s var(--ease)}
.top nav a:hover,.top nav a[aria-current="page"]{color:var(--on-dark);background:var(--a-600)}
.top nav .nav-more{display:none}
@media (min-width:720px){.top nav .nav-more{display:inline-block}}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:12px 24px;border-radius:10px;font:600 18px/1.2 var(--text);text-decoration:none;border:0;cursor:pointer;transition:background-color .15s var(--ease),transform .1s var(--ease)}
.btn:active{transform:scale(.98)}
.btn-primary{background:var(--signal);color:var(--ink)}
.btn-primary:hover{background:var(--signal-press)}
.btn-primary[aria-disabled="true"]{cursor:default}
.btn-primary[aria-disabled="true"]:active{transform:none}
.btn svg{width:20px;height:20px;flex:none}

/* ---------- Landing ---------- */
.hero{background:var(--a-800);color:var(--on-dark);padding:16px 0 0;overflow:hidden}
.hero-grid{display:grid;gap:40px;padding-bottom:48px}
.hero h1{font-size:clamp(60px,17vw,112px);line-height:.92;margin:0 0 20px}
.hero h1 span{display:block}
.hero .lede{font-size:19px;line-height:1.5;color:var(--on-dark-2);max-width:30em;margin:0 0 28px}
.hero .lede strong{color:var(--on-dark);font-weight:500}
.cta-note{margin:12px 0 0;font-size:15px;color:var(--on-dark-3)}

/* The windshield: real gameplay, framed like the view from the driver's seat */
.windshield{position:relative;margin:0}
.glass{position:relative;aspect-ratio:1/1;overflow:hidden;background:#9fb8d6;border:10px solid var(--a-950);border-bottom-width:0;border-radius:44% 44% 0 0/14% 14% 0 0}
.glass img,.glass video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 62%}
.glass video{opacity:0;transition:opacity .5s var(--ease)}
.glass video.on{opacity:1}
.dash{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--a-950);color:var(--on-dark-3);font-size:14px;padding:12px 16px 14px;border-radius:0 0 16px 16px}
.dash b{color:var(--on-dark-2);font-weight:500}
.vidctl{flex:none;width:40px;height:40px;border-radius:50%;border:1px solid var(--line-dark);background:var(--a-700);color:var(--on-dark);display:none;place-items:center;cursor:pointer;transition:background-color .15s var(--ease)}
.vidctl:hover{background:var(--a-500)}
.vidctl.show{display:grid}
.vidctl svg{width:16px;height:16px}

@media (min-width:960px){
  .hero{padding-top:32px}
  .hero-grid{grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:center;gap:64px;padding-bottom:72px}
  .hero h1{font-size:clamp(88px,8.4vw,124px)}
  .glass{border-width:12px;border-bottom-width:0}
}

/* Section shells */
.sec{padding:72px 0}
.sec-paper{background:var(--paper);color:var(--ink)}
.sec-dark{background:var(--a-800);color:var(--on-dark)}
.sec-dash{background:var(--a-700);color:var(--on-dark)}
@media (min-width:960px){.sec{padding:112px 0}}
.kicker{font:600 20px/1.2 var(--display);color:var(--ink-3);margin:0 0 12px}
.sec-dark .kicker,.sec-dash .kicker{color:var(--on-dark-3)}
.sec h2{font-size:clamp(44px,11vw,80px);line-height:.95;margin:0 0 16px}
.sec .intro{font-size:19px;max-width:34em;color:var(--ink-2)}
.sec-dark .intro,.sec-dash .intro{color:var(--on-dark-2)}

/* Tailgater: the mirror + the script */
.tail{display:grid;gap:40px}
.mirror{margin:0;position:relative;padding-top:24px}
.mirror::before{content:"";position:absolute;left:50%;top:0;width:24px;height:32px;margin-left:-12px;background:var(--a-800);border-radius:6px 6px 2px 2px}
.mirror-frame{position:relative;border:12px solid var(--a-800);border-radius:999px;overflow:hidden;aspect-ratio:12/5;background:#5b5d68}
.mirror-frame img{width:100%;height:100%;object-fit:cover}
.mirror figcaption{font-size:15px;color:var(--ink-3);text-align:center;margin-top:12px}
.script{list-style:none;margin:0;padding:0;display:grid;gap:12px;max-width:34em}
.script li{display:grid;grid-template-columns:96px 1fr;gap:12px;align-items:baseline;font-size:19px;line-height:1.4}
.script .who{font:600 18px/1.4 var(--display);color:var(--ink-3)}
.script .shout{font-family:var(--display);font-weight:600;font-size:24px;line-height:1.2;color:var(--rage)}
.script .stage{color:var(--ink-3)}
.script .last{border-top:1px solid var(--line-paper);padding-top:12px;margin-top:4px}
.script .last span:last-child{font-weight:500}
.tail-copy p{font-size:19px;color:var(--ink-2);max-width:34em}
.tail-copy p+p{margin-top:16px}
.tail-copy .script{margin:32px 0}
@media (min-width:960px){
  .tail{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px;align-items:center}
}

/* Comic strip */
.strip-head{display:grid;gap:8px;margin-bottom:32px}
.strip{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.panel{position:relative;margin:0;border:3px solid var(--ink);background:#fff;aspect-ratio:1/1;overflow:hidden}
.panel img{width:100%;height:100%;object-fit:cover}
.panel .cap{position:absolute;left:-3px;bottom:-3px;max-width:78%;background:var(--paper);border:3px solid var(--ink);padding:4px 8px;font:600 14px/1.2 var(--display)}
.balloon{position:absolute;left:6px;right:6px;top:6px;background:#fff;border:2.5px solid var(--ink);border-radius:16px;padding:6px 8px;font:500 13px/1.25 var(--text);color:var(--ink);text-align:center}
.balloon::after{content:"";position:absolute;left:50%;bottom:-9px;width:14px;height:14px;margin-left:-7px;background:#fff;border-right:2.5px solid var(--ink);border-bottom:2.5px solid var(--ink);transform:rotate(45deg)}
.panel-karma .cap{display:none}
.panel-karma .balloon{top:auto;bottom:-3px;left:-3px;right:-3px;border-width:3px;border-radius:0;background:var(--signal);font:600 15px/1.15 var(--display);padding:6px 8px}
.panel-karma .balloon::after{display:none}
@media (min-width:720px){
  .strip{grid-template-columns:repeat(4,1fr);gap:16px}
  .panel .cap{font-size:16px}
  .balloon{font-size:15px;left:10px;right:10px;top:10px;padding:8px 12px;border-radius:20px}
  .panel-karma .balloon{font-size:19px;padding:8px 12px}
}

/* Rap sheet */
.rap{margin-top:64px}
.rap h3{font-size:32px;margin:0 0 8px}
.rap > p{color:var(--ink-2);margin:0 0 24px}
.rap ol{list-style:none;margin:0;padding:0;border-top:2px solid var(--ink)}
.rap li{display:grid;grid-template-columns:1fr auto;gap:4px 16px;padding:16px 0;border-bottom:1px solid var(--line-paper)}
.rap .off{font-weight:500}
.rap .pay{font:600 18px/1.4 var(--display);color:var(--calm);text-align:right}
.rap q{grid-column:1/-1;color:var(--ink-2);quotes:"“" "”"}
@media (min-width:720px){
  .rap li{grid-template-columns:minmax(0,4fr) minmax(0,3fr) minmax(0,6fr);align-items:baseline;gap:24px}
  .rap .pay{text-align:left}
  .rap q{grid-column:auto}
}

/* Cast */
.crew{list-style:none;margin:48px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:40px 16px}
.crew li{display:grid;gap:4px;align-content:start}
.crew img{width:120px;height:120px;border-radius:50%;background:var(--a-600);margin-bottom:12px}
.crew h3{font-size:28px}
.crew .role{font-size:16px;color:var(--on-dark-3);line-height:1.4}
.crew blockquote{margin:8px 0 0;font-size:18px;line-height:1.4;color:var(--on-dark)}
@media (min-width:960px){
  .crew{grid-template-columns:repeat(4,1fr);gap:32px}
  .crew img{width:144px;height:144px}
}
.lineup{margin-top:72px}
.lineup h3.lineup-title{font-size:32px;margin:0 0 8px}
.lineup > p{color:var(--on-dark-2);margin:0 0 24px}
.suspects{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.suspect{display:grid;grid-template-columns:144px 1fr;gap:20px;align-items:end;padding:20px;border-radius:12px;background:
  repeating-linear-gradient(180deg,transparent 0 23px,rgba(246,243,234,.14) 23px 24px),var(--a-800)}
.suspect img{width:144px;height:144px}
.placard{background:var(--a-950);border:1px solid var(--line-dark);border-radius:4px;padding:12px 16px;margin-bottom:8px}
.placard h4{margin:0;font:600 26px/1 var(--display);color:var(--on-dark)}
.placard p{margin:4px 0 0;font-size:15px;color:var(--on-dark-3)}
.suspect blockquote{margin:12px 0 0;font:600 22px/1.15 var(--display);color:#FF8A78}
@media (max-width:420px){.suspect{grid-template-columns:104px 1fr;gap:12px;padding:16px}.suspect img{width:104px;height:104px}}
@media (min-width:960px){.suspects{grid-template-columns:1fr 1fr;gap:24px}}

/* Chapters as exit signs along a road */
.route{margin-top:48px;position:relative;display:grid;gap:12px;padding-left:44px}
.route::before{content:"";position:absolute;left:0;top:0;bottom:0;width:28px;border-radius:4px;background:
  repeating-linear-gradient(180deg,var(--signal) 0 28px,transparent 28px 52px) center/4px 100% no-repeat,var(--a-600)}
.signs{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.sign{background:var(--sign);color:#fff;border-radius:10px;padding:4px}
.sign-in{border:2px solid rgba(255,255,255,.92);border-radius:7px;padding:12px 16px 14px;position:relative}
.exit{display:inline-block;background:#fff;color:var(--sign);font:600 15px/1 var(--display);padding:4px 8px;border-radius:3px;margin-bottom:8px}
.sign h3{font-size:30px;line-height:1}
.sign p{font-size:16px;line-height:1.35;margin-top:6px;color:rgba(255,255,255,.88)}
.sign .only{display:block;margin:12px -16px -14px;background:var(--signal);color:var(--ink);font:600 16px/1 var(--display);text-align:center;padding:8px;border-radius:0 0 5px 5px}
.toll{position:relative;margin:12px 0;padding:16px;border:2px dashed rgba(246,243,234,.3);border-radius:10px;color:var(--on-dark-2);font-size:16px}
.toll b{display:block;font:600 22px/1.1 var(--display);color:var(--on-dark);margin-bottom:4px}
.toll::before{content:"";position:absolute;left:-44px;top:50%;width:44px;height:6px;margin-top:-3px;background:repeating-linear-gradient(90deg,#fff 0 8px,var(--rage) 8px 16px)}
@media (min-width:960px){
  .route{padding-left:0}
  .route::before{left:50%;margin-left:-14px}
  .signs{grid-template-columns:1fr 1fr;column-gap:96px;row-gap:24px;padding-bottom:88px}
  .signs .sign:nth-child(even){transform:translateY(88px)}
  .toll{width:min(560px,100%);margin:24px auto 40px;text-align:center;background:var(--a-800)}
  .toll::before{display:none}
}

/* Pricing: a toll receipt */
.price{display:grid;gap:40px}
.price-copy p{font-size:19px;color:var(--ink-2);max-width:30em}
.price-copy p+p{margin-top:16px}
.price-copy .big{font:600 clamp(28px,6vw,40px)/1.1 var(--display);color:var(--ink)}
.receipt{position:relative;background:var(--card);color:var(--ink);padding:28px 24px 40px;max-width:440px;width:100%;border:1px solid var(--line-paper);border-bottom:0;font-variant-numeric:tabular-nums;
  -webkit-mask:linear-gradient(#000 0 0) top/100% calc(100% - 12px) no-repeat,conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) bottom/24px 12px repeat-x;
  mask:linear-gradient(#000 0 0) top/100% calc(100% - 12px) no-repeat,conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) bottom/24px 12px repeat-x}
.receipt h3{font-size:28px;text-align:center}
.receipt .sub{text-align:center;font-size:15px;color:var(--ink-3);margin:4px 0 20px}
.receipt dl{margin:0;border-top:1px dashed rgba(28,29,36,.35)}
.receipt .row{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px dashed rgba(28,29,36,.2);font-size:17px}
.receipt dt{color:var(--ink-2)}
.receipt dd{margin:0;font-weight:600;text-align:right;white-space:nowrap}
.receipt .total dd{color:var(--calm)}
.receipt .fine{margin-top:16px;font-size:14px;color:var(--ink-3);line-height:1.45}
.receipt .thanks{margin-top:16px;text-align:center;font:600 18px/1.2 var(--display)}
@media (min-width:960px){.price{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px;align-items:center}.receipt{justify-self:end}}

/* FAQ */
.faq-grid{display:grid;gap:32px}
@media (min-width:960px){.faq-grid{grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:72px}}
.qa details{border-bottom:1px solid var(--line)}
.qa details:first-child{border-top:1px solid var(--line)}
.qa summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 0;font-weight:500;font-size:19px;line-height:1.35}
.qa summary::-webkit-details-marker{display:none}
.qa summary::after{content:"";flex:none;width:12px;height:12px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-3px) rotate(45deg);transition:transform .2s var(--ease);opacity:.6}
.qa details[open] summary::after{transform:translateY(3px) rotate(-135deg)}
.qa details p,.qa details ul{margin:0 0 20px;color:var(--fg-2);max-width:40em}
.qa details ul{padding-left:20px}
.qa details li{margin:6px 0}
.sec-paper .qa{--line:var(--line-paper);--fg-2:var(--ink-2)}
.sec-paper a{color:#2F55A4}

/* Footer */
.foot{background:var(--a-900);color:var(--on-dark-3);font-size:15px}
.foot .lane{opacity:.7}
.foot .wrap{display:grid;gap:24px;padding-top:40px;padding-bottom:48px}
.foot .tag{font:600 24px/1.1 var(--display);color:var(--on-dark)}
.foot .tag span{display:block;font:400 15px/1.5 var(--text);color:var(--on-dark-3);margin-top:8px}
.foot nav{display:flex;flex-wrap:wrap;gap:8px 24px}
.foot nav a{color:var(--on-dark-2);text-decoration:none}
.foot nav a:hover{color:var(--on-dark);text-decoration:underline}
.foot .legal{color:var(--on-dark-3)}
@media (min-width:720px){.foot .wrap{grid-template-columns:1fr auto;align-items:end}.foot .legal{grid-column:1/-1}}

/* ---------- Document pages: support, privacy, terms, 404 ---------- */
main.doc{flex:1 0 auto;width:100%;max-width:720px;margin:0 auto;padding:48px 16px 80px}
@media (min-width:720px){main.doc{padding:72px 32px 112px}}
main.doc h1{font-size:clamp(48px,12vw,72px);line-height:.95;margin:0 0 12px}
main.doc h2{font-size:32px;margin:48px 0 12px}
main.doc h2:first-child{margin-top:0}
main.doc p,main.doc ul{margin:0 0 16px}
main.doc ul{padding-left:22px}
main.doc li{margin:6px 0}
.meta{color:var(--fg-3);font-size:16px;margin:0 0 32px}
.note{border-left:4px solid var(--signal);background:var(--raised);padding:16px 20px;border-radius:0 8px 8px 0;margin:0 0 32px}
.note strong{font-weight:600}
.panel-box{background:var(--raised);border:1px solid var(--line);border-radius:14px;padding:24px 20px;margin:0 0 48px}
@media (min-width:720px){.panel-box{padding:32px}}
.panel-box h2{margin-top:0}

/* Contact form */
form.contact{display:grid;gap:20px;margin-top:24px}
form.contact label{font-weight:500;font-size:16px;display:block;margin-bottom:6px}
form.contact .opt{font-weight:400;color:var(--fg-3)}
form.contact input,form.contact textarea{width:100%;font:400 17px/1.4 var(--text);padding:12px 14px;border-radius:10px;border:1px solid rgba(127,127,140,.45);background:var(--input);color:var(--fg);transition:border-color .15s var(--ease)}
form.contact input:focus,form.contact textarea:focus{border-color:var(--focus);outline:none;box-shadow:0 0 0 1px var(--focus)}
form.contact textarea{min-height:160px;resize:vertical}
form.contact .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.hint{font-size:15px;color:var(--fg-3);margin:6px 0 0}
.status{min-height:1.5em;font-weight:500;margin:0}
.status.ok{color:var(--calm)}
.status.err{color:var(--rage)}
@media (prefers-color-scheme:dark){.status.ok{color:#5CC47A}.status.err{color:#FF7A66}}
.doc .lane{margin:0 0 32px;max-width:216px}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
