/* Layout: a night road. A fleet of work rigs rolls left to right; each one carries a hanging crew badge (About-page style).
   Pick a rig, flip its badge to read what owners post online, then the map below turns those problems into fixes and the CTA speaks that trade's language. */
:root{
  --ink:#0B0812; --ink-2:#151022; --ink-3:#1D1630; --plum:#2E2149; --plum-2:#3A2A5E; --violet:#8B6CFF; --violet-2:#B9A8FF;
  --gold:#C9A24B; --gold-2:#E7CF91; --paper:#F6F4F9; --paper-2:#ECE8F3; --good:#57D19A;
  --line-d:rgba(255,255,255,.12); --line-l:rgba(20,12,40,.12);
  --t-d:#F4F1FA; --t-d2:#A79FBA; --t-d3:#6C6582; --t-l:#140E22; --t-l2:#5B536E;
  --f-display:"Geist","Helvetica Neue",Helvetica,Arial,sans-serif;
  --f-serif:"Instrument Serif","Iowan Old Style",Georgia,serif;
  --f-mono:"Geist Mono",ui-monospace,"SF Mono",Menlo,monospace;
  --ease:cubic-bezier(.2,.7,.1,1);
  --gutter:clamp(16px,4vw,56px);
  --sw:min(360px,78vw);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--ink);color:var(--t-d);font-family:var(--f-display);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg{display:block;max-width:100%}
a{color:inherit}
.wrap{max-width:1180px;margin:0 auto;padding-inline:var(--gutter)}
.eyebrow{font-family:var(--f-mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);display:flex;align-items:center;gap:12px}
.eyebrow::before{content:"";width:28px;height:1px;background:currentColor;opacity:.6}
h1,h2,h3{margin:0;letter-spacing:-.035em;line-height:1.02;font-weight:600}
h1{font-size:clamp(44px,7.4vw,104px)}
h2{font-size:clamp(34px,5vw,64px)}
.it{font-family:var(--f-serif);font-style:italic;font-weight:400;letter-spacing:-.01em}
.gold{color:var(--gold)}
.sub{color:var(--t-d2);font-size:clamp(17px,1.6vw,20px);max-width:620px;line-height:1.5}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:6px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* NAV */
.nav{position:fixed;top:calc(env(safe-area-inset-top,0px) + 14px);left:50%;transform:translateX(-50%);z-index:50;display:flex;align-items:center;gap:4px;padding:6px;border-radius:999px;background:rgba(18,13,30,.66);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);border:1px solid var(--line-d);max-width:calc(100vw - 24px)}
.nav .brand{display:flex;align-items:center;gap:9px;padding:4px 12px 4px 4px;text-decoration:none;font-weight:600;font-size:14px;white-space:nowrap}
.nav .brand i{width:30px;height:30px;border-radius:50%;background:var(--paper);display:grid;place-items:center}
.nav .brand img{width:19px}
.nav .links a{font-size:13.5px;color:var(--t-d2);text-decoration:none;padding:8px 12px;border-radius:999px;white-space:nowrap}
.nav .links a:hover,.nav .links a.on{color:var(--t-d);background:rgba(255,255,255,.07)}
.nav .go{background:var(--gold);color:#17110A;font-weight:600;font-size:13.5px;padding:9px 15px;border-radius:999px;text-decoration:none;white-space:nowrap}
@media (max-width:820px){.nav .links{display:none}}
@media (max-width:420px){.nav .brand span{display:none}}

/* HERO */
.hero{position:relative;padding:150px 0 40px;overflow:hidden}
.hero::before{content:"";position:absolute;inset:-20% -10% auto;height:120%;background:radial-gradient(60% 50% at 70% 10%,rgba(139,108,255,.22),transparent 70%),radial-gradient(40% 40% at 10% 30%,rgba(201,162,75,.12),transparent 70%);pointer-events:none}
.hero .wrap{position:relative}
.hero h1{margin-top:22px;max-width:12ch}
.hero .sub{margin-top:24px}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:56px;background:var(--line-d);border:1px solid var(--line-d);border-radius:22px;overflow:hidden}
.stat{background:var(--ink-2);padding:22px 22px 20px;min-width:0}
.stat b{display:block;font-size:clamp(34px,4.4vw,52px);letter-spacing:-.04em;line-height:1;font-weight:600}
.stat b em{font-style:normal;color:var(--gold)}
.stat p{margin:10px 0 0;color:var(--t-d2);font-size:14px;line-height:1.4}
.stat small{display:block;margin-top:8px;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.06em;color:var(--t-d3)}
@media (max-width:760px){.stats{grid-template-columns:1fr}}

/* FLEET */
.fleet-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;padding-top:56px}
.fleet-head .sub{margin-top:14px;max-width:520px}
.chips{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:4px;margin-top:28px;border-radius:999px;background:rgba(255,255,255,.04);border:1px solid var(--line-d);max-width:100%}
.chips::-webkit-scrollbar{display:none}
.chip{flex:none;border:0;background:none;color:var(--t-d2);font:500 13.5px var(--f-display);padding:9px 14px;border-radius:999px;cursor:pointer;white-space:nowrap;transition:background .3s,color .3s}
.chip:hover{color:var(--t-d)}
.chip[aria-selected=true]{background:var(--paper);color:var(--t-l)}
.arrows{display:flex;gap:8px}
.arrows button{width:46px;height:46px;border-radius:50%;border:1px solid var(--line-d);background:rgba(255,255,255,.04);color:var(--t-d);font-size:18px;cursor:pointer;display:grid;place-items:center;transition:background .3s,transform .3s var(--ease)}
.arrows button:hover{background:rgba(255,255,255,.1);transform:scale(1.05)}
.arrows button:disabled{opacity:.3;cursor:default;transform:none}

.fleet{position:relative;margin-top:28px;overflow:hidden;--road:214px}
.layer{position:absolute;left:0;right:0;pointer-events:none;will-change:background-position}
.l-stars{top:0;height:var(--road);background-image:radial-gradient(1px 1px at 20px 30px,#fff8 50%,transparent 51%),radial-gradient(1.5px 1.5px at 140px 80px,#E7CF9199 50%,transparent 51%),radial-gradient(1px 1px at 260px 20px,#fff6 50%,transparent 51%),radial-gradient(1px 1px at 330px 120px,#B9A8FF88 50%,transparent 51%),radial-gradient(1px 1px at 90px 150px,#fff5 50%,transparent 51%);background-size:380px 190px}
.l-hills{top:calc(var(--road) - 120px);height:120px;opacity:.9;background-repeat:repeat-x;background-size:900px 120px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 900 120'%3E%3Cpath d='M0 120V78l60-18 70 22 90-40 80 30 60-20 90 34 70-26 90 16 80-38 90 30 60-14 60 20v46z' fill='%231D1630'/%3E%3Cg fill='%23251C3D'%3E%3Crect x='300' y='60' width='24' height='60'/%3E%3Crect x='330' y='44' width='18' height='76'/%3E%3Crect x='354' y='70' width='30' height='50'/%3E%3Crect x='640' y='56' width='20' height='64'/%3E%3Crect x='664' y='72' width='34' height='48'/%3E%3C/g%3E%3Cg fill='%23E7CF91' opacity='.5'%3E%3Crect x='336' y='52' width='3' height='3'/%3E%3Crect x='336' y='62' width='3' height='3'/%3E%3Crect x='306' y='70' width='3' height='3'/%3E%3Crect x='646' y='64' width='3' height='3'/%3E%3Crect x='672' y='80' width='3' height='3'/%3E%3C/g%3E%3C/svg%3E")}
.l-road{top:calc(var(--road) - 14px);height:44px;background:linear-gradient(180deg,#17112A,#120D20);border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.04)}
.l-road::after{content:"";position:absolute;left:0;right:0;top:20px;height:3px;background:repeating-linear-gradient(90deg,rgba(231,207,145,.55) 0 34px,transparent 34px 70px);background-position:var(--dash,0) 0}
.fleet::before,.fleet::after{content:"";position:absolute;top:0;bottom:0;width:min(14vw,160px);z-index:3;pointer-events:none}
.fleet::before{left:0;background:linear-gradient(90deg,var(--ink),transparent)}
.fleet::after{right:0;background:linear-gradient(270deg,var(--ink),transparent)}

.track{position:relative;z-index:2;display:flex;gap:clamp(18px,4vw,56px);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:20px calc(50% - var(--sw) / 2) 60px;outline:none;-webkit-overflow-scrolling:touch}
.track::-webkit-scrollbar{display:none}
.slide{flex:0 0 var(--sw);scroll-snap-align:center;display:flex;flex-direction:column;align-items:center;transition:opacity .6s var(--ease),transform .6s var(--ease),filter .6s var(--ease);opacity:.38;transform:scale(.9);filter:saturate(.6)}
.slide.on{opacity:1;transform:none;filter:none}
.veh{width:100%;height:190px;cursor:pointer;border:0;padding:0;background:none;position:relative}
.veh svg{width:100%;height:100%;overflow:visible}
.veh .beam{opacity:0;transition:opacity .8s var(--ease)}
.veh .hl{transition:fill .5s}
.slide.on .veh .beam{opacity:1}
.slide.on .veh .hl{fill:#FFF3C4}
.slide.on .veh .glow{opacity:1}
.veh .glow{opacity:.35;transition:opacity .8s}
.slide.on .veh svg{animation:idle 3.2s ease-in-out infinite}
@keyframes idle{0%,100%{transform:translateY(0)}50%{transform:translateY(-1.5px)}}
.vname{position:relative;z-index:1;margin-top:8px;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--t-d2);text-align:center;background:#120D20;border:1px solid var(--line-d);padding:5px 12px;border-radius:999px}
.slide.on .vname{border-color:rgba(201,162,75,.45)}
.slide.on .vname{color:var(--gold-2)}

/* hanging badge (About-page style) */
.lanyard{width:2px;height:56px;background:linear-gradient(var(--plum-2),#4a3a72);position:relative;margin-top:2px}
.clip{width:34px;height:16px;border-radius:6px 6px 10px 10px;background:#D9D3C7;border:1px solid #bdb5a6;margin-top:-2px}
.swing{transform-origin:50% -80px}
.slide.on .swing{animation:sway 6s ease-in-out infinite}
@keyframes sway{0%,100%{transform:rotate(-1.8deg)}50%{transform:rotate(1.8deg)}}
.card{position:relative;width:min(310px,74vw);aspect-ratio:310/468;perspective:1400px;margin-top:-1px;cursor:pointer;border:0;padding:0;background:none;font:inherit;color:inherit;text-align:left}
@media (max-width:400px){.card{aspect-ratio:310/520}}
@media (max-width:340px){.card{aspect-ratio:310/600}}
.card-in{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .9s var(--ease)}
.card.flip .card-in{transform:rotateY(180deg)}
.face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:22px;overflow:hidden;background:#fff;color:var(--t-l);box-shadow:0 40px 80px -30px rgba(0,0,0,.7);border:1px solid rgba(20,12,40,.08);display:flex;flex-direction:column}
.face.back{transform:rotateY(180deg);background:var(--ink-2);color:var(--t-d);padding:22px 20px 18px;border-color:var(--line-d)}
.card-head{background:var(--ink);color:#fff;padding:13px 15px;display:flex;align-items:center;gap:10px}
.card-head .tile{width:30px;height:30px;border-radius:50%;background:var(--paper);display:grid;place-items:center;flex:none}
.card-head .tile img{width:19px}
.card-head b{font-size:12px;letter-spacing:.14em;font-family:var(--f-mono);font-weight:500}
.card-head small{display:block;font-size:10px;color:var(--t-d2);font-family:var(--f-mono);letter-spacing:.08em}
.icon{margin:20px auto 0;width:44%;aspect-ratio:1;border-radius:18px;display:grid;place-items:center;background:radial-gradient(80% 80% at 30% 20%,#3A2A5E,#140E22);border:3px solid var(--ink)}
.icon svg{width:56%;height:56%}
.card-name{text-align:center;margin:14px 14px 0;font-weight:700;font-size:16.5px;letter-spacing:.03em;line-height:1.15}
.card-role{text-align:center;font-size:12.5px;color:var(--t-l2);margin:4px 16px 0;line-height:1.35}
.card-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:auto 16px 0;padding:12px 0 0;border-top:1px dashed var(--line-l);font-family:var(--f-mono);font-size:9px;color:var(--t-l2);letter-spacing:.06em;text-transform:uppercase}
.card-meta b{display:block;font-family:var(--f-display);font-size:11.5px;color:var(--t-l);letter-spacing:0;text-transform:none;font-weight:600;margin-top:2px;line-height:1.2}
.tapnote{display:flex;justify-content:space-between;align-items:center;margin:10px 16px 0;font-family:var(--f-mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--plum-2)}
.barcode{height:20px;margin:10px 16px 16px;background:repeating-linear-gradient(90deg,#140E22 0 2px,transparent 2px 4px,#140E22 4px 5px,transparent 5px 8px,#140E22 8px 11px,transparent 11px 12px)}
.back h4{margin:0 0 4px;font-size:17px;letter-spacing:-.02em;line-height:1.2}
.back .k{font-family:var(--f-mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-bottom:12px}
.back ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.back li{font-size:13px;line-height:1.3;font-weight:500;padding-left:12px;border-left:2px solid var(--plum-2)}
.back li small{display:block;color:var(--t-d3);font-family:var(--f-mono);font-size:9.5px;letter-spacing:.06em;margin-top:2px;font-weight:400}
.back .tomap{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px;font-weight:600;color:var(--gold-2);padding-top:10px;border-top:1px solid var(--line-d)}
.hint{font-family:var(--f-mono);font-size:11px;color:var(--t-d3);letter-spacing:.1em;text-transform:uppercase;text-align:center;margin:0 auto}

/* MAP */
.map{padding:80px 0 40px}
.map-head{display:grid;grid-template-columns:1.2fr 1fr;gap:32px;align-items:end}
.map-head .sub{margin:0}
@media (max-width:860px){.map-head{grid-template-columns:1fr}}
.legend4{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.legend4 span{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.08em;padding:6px 10px;border-radius:999px;border:1px solid var(--line-d);color:var(--t-d2)}
.rows{display:grid;gap:14px;margin-top:40px}
.row{display:grid;grid-template-columns:1.15fr .85fr 1fr;gap:1px;background:var(--line-d);border:1px solid var(--line-d);border-radius:22px;overflow:hidden;opacity:0;transform:translateY(14px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.row.in{opacity:1;transform:none}
.row>div{background:var(--ink-2);padding:22px 22px 20px;min-width:0}
.row .tag{display:inline-block;font-family:var(--f-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--violet-2);border:1px solid rgba(185,168,255,.3);padding:4px 8px;border-radius:999px}
.row q{display:block;margin-top:12px;font-family:var(--f-serif);font-style:italic;font-size:clamp(21px,2.1vw,26px);line-height:1.2;letter-spacing:-.01em;quotes:"\201C" "\201D"}
.row .p-note{margin:10px 0 0;color:var(--t-d2);font-size:14px;line-height:1.45}
.row .anc b{display:block;font-size:clamp(36px,4vw,50px);letter-spacing:-.04em;line-height:1;font-weight:600;color:var(--gold-2)}
.row .anc p{margin:10px 0 0;font-size:14px;line-height:1.4;color:var(--t-d)}
.row .anc small{display:block;margin-top:10px;font-family:var(--f-mono);font-size:10px;letter-spacing:.06em;color:var(--t-d3)}
.row .anc .kind{font-family:var(--f-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--t-d3);margin-bottom:10px;display:block}
.row .fix h3{font-size:clamp(20px,1.9vw,24px);letter-spacing:-.02em;line-height:1.2;font-weight:600}
.row .fix p{margin:10px 0 0;color:var(--t-d2);font-size:14px;line-height:1.45}
.comp{display:inline-flex;align-items:center;gap:10px;margin-top:16px;padding:8px 12px 8px 8px;border-radius:14px;background:rgba(201,162,75,.1);border:1px solid rgba(201,162,75,.35);text-decoration:none;transition:background .3s,transform .3s var(--ease)}
.comp:hover{background:rgba(201,162,75,.18);transform:translateY(-1px)}
.comp i{width:30px;height:30px;border-radius:9px;background:var(--gold);color:#17110A;display:grid;place-items:center;font-style:normal;font-weight:700;font-size:13px}
.comp span{font-size:13px;line-height:1.2}
.comp span b{display:block;font-size:13.5px}
.comp span small{color:var(--t-d2);font-size:11.5px}
@media (max-width:900px){.row{grid-template-columns:1fr}}
/* AI row */
.ai{display:grid;grid-template-columns:1.15fr 1.85fr;gap:1px;background:var(--line-d);border:1px solid rgba(139,108,255,.35);border-radius:22px;overflow:hidden;margin-top:14px;opacity:0;transform:translateY(14px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.ai.in{opacity:1;transform:none}
.ai>div{background:linear-gradient(160deg,#1A1330,#120D20);padding:24px;min-width:0}
.chat{display:grid;gap:10px;margin-top:4px}
.bubble{max-width:92%;padding:12px 14px;border-radius:16px;font-size:14px;line-height:1.4}
.bubble.me{justify-self:end;background:var(--paper);color:var(--t-l);border-bottom-right-radius:5px}
.bubble.bot{background:rgba(255,255,255,.06);border:1px solid var(--line-d);border-bottom-left-radius:5px}
.bubble.bot ol{margin:6px 0 0;padding-left:18px;color:var(--t-d2)}
.bubble.bot li.you{color:var(--gold-2);font-weight:600}
.typing{display:inline-flex;gap:4px;margin-left:4px}
.typing i{width:5px;height:5px;border-radius:50%;background:var(--t-d2);animation:dot 1.2s infinite}
.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}
@keyframes dot{0%,80%,100%{opacity:.25}40%{opacity:1}}
@media (max-width:900px){.ai{grid-template-columns:1fr}}

/* CTA */
.cta{padding:70px 0 40px}
.cta-box{position:relative;border-radius:32px;overflow:hidden;border:1px solid var(--line-d);background:radial-gradient(70% 90% at 85% 0%,rgba(139,108,255,.25),transparent 60%),radial-gradient(50% 70% at 0% 100%,rgba(201,162,75,.16),transparent 60%),var(--ink-2);padding:clamp(28px,5vw,64px)}
.cta-box h2{max-width:16ch}
.cta-box .sub{margin-top:18px}
.paths{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:40px}
.path{display:flex;flex-direction:column;border-radius:22px;padding:22px;background:rgba(11,8,18,.55);border:1px solid var(--line-d);text-decoration:none;min-width:0;transition:transform .4s var(--ease),border-color .4s}
.path:hover{transform:translateY(-3px);border-color:rgba(201,162,75,.5)}
.path .n{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--t-d3)}
.path h3{margin-top:12px;font-size:24px;letter-spacing:-.025em;line-height:1.1}
.path .price{margin-top:6px;font-family:var(--f-mono);font-size:12px;color:var(--gold-2);letter-spacing:.04em}
.path p{margin:12px 0 18px;color:var(--t-d2);font-size:14.5px;line-height:1.45}
.path .btn{margin-top:auto}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 18px;border-radius:999px;font-weight:600;font-size:14.5px;text-decoration:none;border:1px solid var(--line-d);color:var(--t-d);background:rgba(255,255,255,.04);transition:transform .3s var(--ease),box-shadow .3s}
.btn.gold{background:var(--gold);color:#17110A;border-color:transparent;box-shadow:0 0 0 0 rgba(201,162,75,.5)}
.path.lead{border-color:rgba(201,162,75,.55);background:linear-gradient(180deg,rgba(201,162,75,.12),rgba(11,8,18,.55))}
.path.lead .btn{animation:pulse 2.8s ease-in-out infinite}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(201,162,75,.45)}50%{box-shadow:0 0 0 10px rgba(201,162,75,0)}}
.cta-foot{display:flex;flex-wrap:wrap;gap:10px 24px;align-items:center;margin-top:26px;font-size:14px;color:var(--t-d2)}
.cta-foot a{color:var(--gold-2);text-decoration:none}
@media (max-width:900px){.paths{grid-template-columns:1fr}}

/* HOW */
.how{padding:60px 0}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:36px;counter-reset:s}
.step{position:relative;padding:22px;border-radius:20px;border:1px solid var(--line-d);background:var(--ink-2)}
.step::before{counter-increment:s;content:"0" counter(s);font-family:var(--f-mono);font-size:11px;letter-spacing:.14em;color:var(--gold)}
.step h3{font-size:20px;margin-top:12px;letter-spacing:-.02em}
.step p{margin:8px 0 0;color:var(--t-d2);font-size:14px;line-height:1.45}
@media (max-width:860px){.steps{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.steps{grid-template-columns:1fr}}

footer{border-top:1px solid var(--line-d);padding:40px 0 calc(40px + env(safe-area-inset-bottom,0px));color:var(--t-d3);font-size:13px}
footer .src{display:grid;gap:6px;margin-top:12px}
footer a{color:var(--t-d2)}
.fade{transition:opacity .35s var(--ease)}
.fade.out{opacity:0}
@media (prefers-reduced-motion:reduce){.slide.on .swing,.slide.on .veh svg,.path.lead .btn,.typing i{animation:none}.card-in,.slide,.row,.ai{transition:none}}
