/* =================================================================
   INDATRUCKS — award-winning freight site
   Design system + components
   ================================================================= */

/* ---------- Tokens ---------- */
:root{
  --ink:        #0a0e1a;   /* midnight base */
  --ink-2:      #0e1424;   /* raised dark surface */
  --ink-3:      #141c30;   /* card dark */
  --paper:      #f6f4ef;   /* warm off-white */
  --paper-2:    #ece8df;   /* dimmer paper */
  --amber:      #ff6a18;   /* hi-vis accent */
  --amber-2:    #ff8a44;
  --amber-deep: #e0560c;
  --steel:      #8d97ad;   /* muted on dark */
  --slate:      #5a6378;   /* muted on light */
  --white:      #f7f8fb;

  --line-dark:  rgba(255,255,255,.10);
  --line-light: rgba(10,14,26,.12);

  --font-display: 'Anton', 'Arial Narrow', sans-serif;
  --font-body:    'Inter', system-ui, -apple-system, sans-serif;
  --font-mono:    'Space Mono', ui-monospace, monospace;

  --container: 1240px;
  --gutter: clamp(1.25rem, 4vw, 3.5rem);

  --r-sm: 8px;
  --r-md: 16px;
  --r-lg: 26px;

  --ease: cubic-bezier(.22,.61,.36,1);
  --ease-out: cubic-bezier(.16,1,.3,1);

  --shadow-card: 0 28px 60px -28px rgba(0,0,0,.55);
  --shadow-amber: 0 18px 40px -16px rgba(255,106,24,.5);
}

/* ---------- Reset / base ---------- */
*,*::before,*::after{ box-sizing:border-box; }
*{ margin:0; }
html{
  -webkit-text-size-adjust:100%;
  scroll-behavior:smooth;
}
html.lenis,html.lenis body{ height:auto; }
.lenis.lenis-smooth{ scroll-behavior:auto !important; }
.lenis.lenis-smooth [data-lenis-prevent]{ overscroll-behavior:contain; }
.lenis.lenis-stopped{ overflow:clip; }

body{
  font-family:var(--font-body);
  background:var(--ink);
  color:var(--white);
  line-height:1.6;
  font-size:clamp(1rem,.95rem + .25vw,1.075rem);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img,svg,video{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
ul,ol{ list-style:none; padding:0; }
button{ font:inherit; color:inherit; background:none; border:none; cursor:pointer; }
input,select,textarea{ font:inherit; }
:focus-visible{ outline:2px solid var(--amber); outline-offset:3px; border-radius:4px; }

/* Hide native cursor on fine-pointer devices (custom cursor takes over) */
@media (hover:hover) and (pointer:fine){
  body.has-cursor, body.has-cursor a, body.has-cursor button,
  body.has-cursor [data-cursor]{ cursor:none; }
}

/* ---------- Layout ---------- */
.container{ width:100%; max-width:var(--container); margin-inline:auto; padding-inline:var(--gutter); }

.eyebrow{
  display:inline-flex; align-items:center; gap:.6em;
  font-family:var(--font-mono); font-size:.74rem; letter-spacing:.22em;
  text-transform:uppercase; color:var(--amber); font-weight:700;
}
.eyebrow--light{ color:var(--amber-2); }
.eyebrow__dot{ width:7px; height:7px; border-radius:50%; background:var(--amber); box-shadow:0 0 0 4px rgba(255,106,24,.18); animation:pulse 2.4s var(--ease) infinite; }
@keyframes pulse{ 0%,100%{ transform:scale(1); opacity:1 } 50%{ transform:scale(.6); opacity:.6 } }

.section-head{ max-width:760px; margin-bottom:clamp(2.5rem,5vw,4.5rem); }
.section-head--center{ margin-inline:auto; text-align:center; }
.section-title{
  font-family:var(--font-display); font-weight:400;
  font-size:clamp(2.4rem,1.4rem + 4.4vw,5rem);
  line-height:.96; letter-spacing:.01em; text-transform:uppercase;
  margin:.5rem 0 1.1rem;
}
.section-title--light{ color:var(--white); }
.section-lead{ color:var(--steel); font-size:clamp(1.05rem,1rem + .4vw,1.25rem); max-width:60ch; }
.section-head--center .section-lead{ margin-inline:auto; }
.section-lead--light{ color:rgba(247,248,251,.78); }
.accent{ color:var(--amber); }

/* light sections invert text colors */
.stats,.why,.process,.drivers{ background:var(--paper); color:var(--ink); }
.stats .section-lead,.why .section-lead,.process .section-lead,.drivers .section-lead{ color:var(--slate); }

/* ---------- Buttons ---------- */
.btn{
  position:relative; display:inline-flex; align-items:center; gap:.6em;
  padding:.95em 1.5em; border-radius:100px; font-weight:600; white-space:nowrap;
  font-size:.96rem; letter-spacing:.01em; line-height:1; isolation:isolate;
  transition:transform .5s var(--ease-out), box-shadow .5s var(--ease), color .35s var(--ease);
  will-change:transform;
}
.btn svg{ width:1.1em; height:1.1em; fill:none; stroke:currentColor; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; transition:transform .45s var(--ease-out); }
.btn:hover svg{ transform:translateX(4px); }
.btn--lg{ padding:1.1em 1.9em; font-size:1.02rem; }
.btn--block{ width:100%; justify-content:center; }

.btn--primary{ background:var(--amber); color:#1a0c02; box-shadow:var(--shadow-amber); }
.btn--primary::before{
  content:""; position:absolute; inset:0; border-radius:inherit; z-index:-1;
  background:linear-gradient(120deg,var(--amber-2),var(--amber));
  opacity:0; transition:opacity .4s var(--ease);
}
.btn--primary:hover{ transform:translateY(-3px); box-shadow:0 22px 46px -14px rgba(255,106,24,.65); }
.btn--primary:hover::before{ opacity:1; }

.btn--ghost{ color:var(--white); border:1px solid var(--line-dark); background:rgba(255,255,255,.03); backdrop-filter:blur(6px); }
.btn--ghost:hover{ border-color:var(--amber); color:var(--amber); transform:translateY(-3px); }

/* ---------- Scroll progress ---------- */
.scroll-progress{
  position:fixed; top:0; left:0; height:3px; width:100%; transform:scaleX(0); transform-origin:0 50%;
  background:linear-gradient(90deg,var(--amber),var(--amber-2)); z-index:1200; pointer-events:none;
}

/* ---------- Custom cursor ---------- */
.cursor{ position:fixed; top:0; left:0; z-index:1300; pointer-events:none; display:none; }
@media (hover:hover) and (pointer:fine){ .cursor{ display:block; } }
.cursor__wheel{
  position:fixed; top:0; left:0; width:40px; height:40px;
  transform:translate(-50%,-50%) scale(1); transform-origin:center;
  transition:transform .3s var(--ease); will-change:transform, left, top;
  filter:drop-shadow(0 4px 10px rgba(0,0,0,.4));
}
.cursor__wheel svg{ display:block; width:100%; height:100%; animation:wheelspin .9s linear infinite; }
@keyframes wheelspin{ to{ transform:rotate(360deg); } }
.cursor.is-hover .cursor__wheel{ transform:translate(-50%,-50%) scale(1.3); }
.cursor.is-cta .cursor__wheel{ transform:translate(-50%,-50%) scale(1.65); }
.cursor.is-hover .cursor__wheel svg,
.cursor.is-cta  .cursor__wheel svg{ animation-duration:.4s; }

/* ---------- Preloader ---------- */
.preloader{
  position:fixed; inset:0; z-index:1400; background:var(--ink);
  display:grid; place-items:center; overflow:hidden;
}
.preloader.is-done{ pointer-events:none; }
.preloader__inner{ text-align:center; width:min(80vw,420px); }
.preloader__mark svg{ width:84px; height:auto; margin-inline:auto; }
.pl-truck{ fill:none; stroke:var(--amber); stroke-width:2.4; stroke-linejoin:round; stroke-linecap:round;
  stroke-dasharray:240; stroke-dashoffset:240; animation:draw 1.5s var(--ease-out) forwards; }
@keyframes draw{ to{ stroke-dashoffset:0 } }
.preloader__counter{ font-family:var(--font-display); font-size:3.4rem; line-height:1; margin-top:1rem; color:var(--white); }
.preloader__counter i{ color:var(--amber); font-style:normal; font-size:1.6rem; }
.preloader__word{ margin-top:.6rem; display:flex; justify-content:center; gap:.04em; overflow:hidden; }
.preloader__word span{
  font-family:var(--font-display); font-size:1.1rem; letter-spacing:.35em; color:var(--steel);
  transform:translateY(110%); display:inline-block;
}

/* ---------- NAV ---------- */
.nav{
  position:fixed; top:0; left:0; width:100%; z-index:1100;
  transition:transform .5s var(--ease), background .4s var(--ease), backdrop-filter .4s;
}
.nav.is-hidden{ transform:translateY(-110%); }
.nav.is-solid{ background:rgba(10,14,26,.72); backdrop-filter:blur(14px) saturate(140%); border-bottom:1px solid var(--line-dark); }
.nav__inner{
  max-width:1400px; margin-inline:auto; padding:1.05rem var(--gutter);
  display:flex; align-items:center; justify-content:space-between; gap:1.5rem;
}
.brand{ display:inline-flex; align-items:center; gap:.6rem; }
.brand__mark svg{ fill:none; stroke:var(--amber); stroke-width:2.4; stroke-linejoin:round; stroke-linecap:round; }
.brand__name{ font-family:var(--font-display); font-size:1.35rem; letter-spacing:.06em; color:var(--white); }
.brand__name em{ color:var(--amber); font-style:normal; }
.brand--lg .brand__name{ font-size:1.7rem; }

.nav__links{ display:flex; gap:.4rem; margin-left:auto; }
.nav__links a{ position:relative; padding:.55rem .9rem; font-size:.92rem; font-weight:500; color:rgba(247,248,251,.82); }
.nav__links a span{ position:relative; }
.nav__links a::after{
  content:""; position:absolute; left:.9rem; right:.9rem; bottom:.35rem; height:1.5px;
  background:var(--amber); transform:scaleX(0); transform-origin:0; transition:transform .4s var(--ease-out);
}
.nav__links a:hover{ color:#fff; }
.nav__links a:hover::after,.nav__links a.is-active::after{ transform:scaleX(1); }

.nav__actions{ display:flex; align-items:center; gap:1rem; }
.nav__phone{ display:inline-flex; align-items:center; gap:.5rem; font-family:var(--font-mono); font-size:.82rem; color:rgba(247,248,251,.8); }
.nav__phone svg{ fill:currentColor; opacity:.7; }
.nav__phone:hover{ color:var(--amber); }

.nav__burger{ display:none; width:44px; height:44px; border:1px solid var(--line-dark); border-radius:50%; position:relative; }
.nav__burger span{ position:absolute; left:12px; right:12px; height:2px; background:#fff; transition:.4s var(--ease); }
.nav__burger span:nth-child(1){ top:18px; }
.nav__burger span:nth-child(2){ top:24px; }
.nav__burger[aria-expanded="true"] span:nth-child(1){ top:21px; transform:rotate(45deg); }
.nav__burger[aria-expanded="true"] span:nth-child(2){ top:21px; transform:rotate(-45deg); }

/* ---------- Mobile menu ---------- */
.mobile-menu{
  position:fixed; inset:0; z-index:1050; background:var(--ink-2);
  display:flex; flex-direction:column; justify-content:center; gap:2rem; padding:6rem var(--gutter) 3rem;
  clip-path:circle(0% at calc(100% - 44px) 44px); transition:clip-path .6s var(--ease);
  visibility:hidden;
}
.mobile-menu.is-open{ clip-path:circle(150% at calc(100% - 44px) 44px); visibility:visible; }
.mobile-menu__links{ display:flex; flex-direction:column; gap:1.2rem; }
.mobile-menu__links a{ font-family:var(--font-display); font-size:2rem; letter-spacing:.03em; text-transform:uppercase; }
.mobile-menu__links a.btn{ font-size:1rem; align-self:flex-start; }
.mobile-menu__foot{ display:flex; flex-direction:column; gap:.4rem; font-family:var(--font-mono); color:var(--steel); }

/* ---------- HERO ---------- */
.hero{ position:relative; min-height:100svh; display:flex; align-items:flex-end; overflow:hidden; isolation:isolate; padding-top:clamp(96px,12vh,132px); }
.hero__media{ position:absolute; inset:0; z-index:-2; }
.hero__img{
  position:absolute; inset:-8% 0; background-size:cover; background-position:center 40%;
  background-color:#0c1426; transform:scale(1.08);
}
.hero__scrim{
  position:absolute; inset:0;
  background:
    linear-gradient(180deg, rgba(10,14,26,.55) 0%, rgba(10,14,26,.15) 30%, rgba(10,14,26,.55) 70%, var(--ink) 100%),
    linear-gradient(90deg, rgba(10,14,26,.85) 0%, rgba(10,14,26,.25) 55%, rgba(10,14,26,0) 100%);
}
.hero__grid{
  position:absolute; inset:0; opacity:.4; mix-blend-mode:overlay;
  background-image:linear-gradient(var(--line-dark) 1px,transparent 1px),linear-gradient(90deg,var(--line-dark) 1px,transparent 1px);
  background-size:64px 64px; mask-image:radial-gradient(circle at 30% 50%,#000,transparent 75%);
}
.hero__content{ position:relative; padding:0 var(--gutter) clamp(3rem,7vw,6rem); max-width:1100px; }
.hero__title{
  font-family:var(--font-display); font-weight:400; text-transform:uppercase;
  font-size:clamp(3rem,1rem + 8vw,8.5rem); line-height:.88; letter-spacing:-.01em;
  margin:.6rem 0 1.2rem; text-shadow:0 30px 80px rgba(0,0,0,.4);
}
.hero__sub{ max-width:52ch; color:rgba(247,248,251,.85); font-size:clamp(1rem,.95rem + .4vw,1.2rem); }
.hero__actions{ display:flex; flex-wrap:wrap; gap:1rem; margin-top:1.6rem; }
.hero__ticker{
  display:flex; flex-wrap:wrap; gap:clamp(1.25rem,3.5vw,3rem); margin-top:2rem;
  padding-top:1.6rem; border-top:1px solid var(--line-dark);
}
.hero__ticker li{ display:flex; flex-direction:column; }
.hero__ticker strong{ font-family:var(--font-display); font-size:clamp(1.8rem,1.2rem + 2vw,2.8rem); line-height:1; color:#fff; }
.hero__ticker span{ font-family:var(--font-mono); font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--steel); margin-top:.4rem; }

.hero__scroll{ position:absolute; right:var(--gutter); bottom:clamp(3rem,7vw,6rem); display:flex; flex-direction:column; align-items:center; gap:.8rem; font-family:var(--font-mono); font-size:.66rem; letter-spacing:.2em; text-transform:uppercase; color:var(--steel); }
.hero__scroll-line{ width:1px; height:54px; background:var(--line-dark); position:relative; overflow:hidden; }
.hero__scroll-line i{ position:absolute; top:0; left:0; width:100%; height:40%; background:var(--amber); animation:scrolldown 1.8s var(--ease) infinite; }
@keyframes scrolldown{ 0%{ transform:translateY(-100%) } 100%{ transform:translateY(250%) } }
@media (max-width:760px){ .hero__scroll{ display:none; } }

/* ---------- MARQUEE ---------- */
.marquee{ background:var(--ink-2); border-block:1px solid var(--line-dark); padding:1.1rem 0; overflow:hidden; white-space:nowrap; }
.marquee__track{ display:inline-flex; align-items:center; gap:1.6rem; will-change:transform; }
.marquee__track span{ font-family:var(--font-display); font-size:clamp(1.4rem,1rem + 1.6vw,2.4rem); text-transform:uppercase; letter-spacing:.02em; color:rgba(247,248,251,.92); }
.marquee__track .dot{ color:var(--amber); font-size:.7em; }

/* ---------- STATS ---------- */
.stats{ padding:clamp(4rem,7vw,7rem) 0; }
.stats__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(1.5rem,3vw,3rem); }
.stat{ position:relative; padding-top:1.4rem; border-top:2px solid var(--ink); }
.stat__num strong{ font-family:var(--font-display); font-size:clamp(2.6rem,1.6rem + 4vw,5rem); line-height:.9; color:var(--ink); }
.stat__label{ display:block; margin-top:.6rem; color:var(--slate); font-size:.96rem; max-width:18ch; }
.trustbar{
  margin-top:clamp(3rem,5vw,4.5rem); padding-top:2rem; border-top:1px solid var(--line-light);
  display:flex; flex-wrap:wrap; align-items:center; gap:1rem 2.4rem;
}
.trustbar__label{ font-family:var(--font-mono); font-size:.72rem; letter-spacing:.18em; text-transform:uppercase; color:var(--slate); }
.trustbar ul{ display:flex; flex-wrap:wrap; gap:1rem 2.2rem; }
.trustbar li{ font-family:var(--font-display); font-size:1.15rem; letter-spacing:.04em; text-transform:uppercase; color:var(--ink); opacity:.62; transition:opacity .3s, color .3s; }
.trustbar li:hover{ opacity:1; color:var(--amber-deep); }
.trustbar sup{ font-size:.6em; }

/* ---------- SERVICES ---------- */
.services{ padding:clamp(4.5rem,8vw,8rem) 0; background:var(--ink); position:relative; }
.svc-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; }
.svc{
  position:relative; padding:2.2rem 2rem 2rem; border-radius:var(--r-lg); overflow:hidden; isolation:isolate;
  background:var(--ink-2); border:1px solid var(--line-dark); min-height:300px;
  display:flex; flex-direction:column; transition:transform .6s var(--ease-out), border-color .5s, box-shadow .6s;
  transform-style:preserve-3d;
}
.svc::after{ content:""; position:absolute; inset:0; z-index:-1; background:radial-gradient(420px circle at var(--mx,50%) var(--my,0%),rgba(255,106,24,.16),transparent 60%); opacity:0; transition:opacity .5s; }
.svc:hover{ border-color:rgba(255,106,24,.4); box-shadow:var(--shadow-card); }
.svc:hover::after{ opacity:1; }
.svc__no{ position:absolute; top:1.4rem; right:1.6rem; font-family:var(--font-mono); font-size:.8rem; color:var(--amber); letter-spacing:.1em; }
.svc__icon{ width:56px; height:56px; display:grid; place-items:center; border-radius:14px; background:rgba(255,106,24,.1); border:1px solid rgba(255,106,24,.25); margin-bottom:1.3rem; }
.svc__icon svg{ width:30px; height:30px; fill:none; stroke:var(--amber); stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.svc__title{ font-family:var(--font-display); font-size:1.7rem; text-transform:uppercase; letter-spacing:.02em; margin-bottom:.6rem; }
.svc__copy{ color:var(--steel); font-size:.97rem; flex:1; }
.svc__link{ display:inline-flex; align-items:center; gap:.5rem; margin-top:1.4rem; font-weight:600; font-size:.9rem; color:#fff; }
.svc__link svg{ fill:none; stroke:var(--amber); stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; transition:transform .4s var(--ease-out); }
.svc:hover .svc__link svg{ transform:translateX(5px); }
.svc__link:hover{ color:var(--amber); }

/* feature cards carry a photo */
.svc--feature{ color:#fff; border-color:transparent; min-height:380px; justify-content:flex-end; }
.svc--feature .svc__photo{ position:absolute; inset:0; z-index:-2; background-size:cover; background-position:center; transform:scale(1.05); transition:transform .8s var(--ease-out); }
.svc--feature::before{ content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,rgba(10,14,26,.1),rgba(10,14,26,.55) 45%,rgba(10,14,26,.96)); }
.svc--feature:hover .svc__photo{ transform:scale(1.12); }
.svc--feature .svc__copy{ color:rgba(247,248,251,.85); }
.svc--feature .svc__icon{ background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.2); }

/* ---------- WHY ---------- */
.why{ padding:clamp(4.5rem,8vw,8rem) 0; }
.why__inner{ display:grid; grid-template-columns:1.05fr 1fr; gap:clamp(2.5rem,5vw,5rem); align-items:center; }
.why__media{ position:relative; border-radius:var(--r-lg); overflow:hidden; aspect-ratio:4/5; background:var(--ink-3); box-shadow:var(--shadow-card); }
.why__img{ position:absolute; inset:-10% 0; background-size:cover; background-position:center; }
.why__badge{
  position:absolute; bottom:1.4rem; left:1.4rem; background:var(--amber); color:#1a0c02;
  padding:1.1rem 1.4rem; border-radius:var(--r-md); display:flex; flex-direction:column; box-shadow:var(--shadow-amber);
}
.why__badge strong{ font-family:var(--font-display); font-size:2.4rem; line-height:.9; }
.why__badge span{ font-family:var(--font-mono); font-size:.68rem; letter-spacing:.1em; text-transform:uppercase; }
.why__list{ display:grid; gap:1.6rem; margin-top:2.2rem; }
.why__list li{ display:flex; gap:1.1rem; align-items:flex-start; }
.why__ico{ flex:none; width:46px; height:46px; border-radius:12px; display:grid; place-items:center; background:var(--ink); }
.why__ico svg{ width:24px; height:24px; fill:none; stroke:var(--amber); stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.why__list h3{ font-size:1.1rem; font-weight:700; color:var(--ink); }
.why__list p{ color:var(--slate); font-size:.95rem; margin-top:.2rem; }

/* ---------- COVERAGE / MAP ---------- */
.coverage{ padding:clamp(4.5rem,8vw,8rem) 0; background:radial-gradient(120% 120% at 50% -10%,#0f1830,var(--ink) 60%); }
.map{ position:relative; margin-top:1rem; }
.map__svg{ width:100%; height:auto; }
.map__grid line{ stroke:var(--line-dark); stroke-width:1; }
.route{ stroke:var(--amber); stroke-width:2; stroke-linecap:round; opacity:.85;
  stroke-dasharray:var(--len,600); stroke-dashoffset:var(--len,600);
  filter:drop-shadow(0 0 6px rgba(255,106,24,.5)); }
.route.is-drawn{ stroke-dashoffset:0; transition:stroke-dashoffset 1.6s var(--ease-out); }
.hub__glow{ fill:url(#hubGlow); opacity:0; transform-box:fill-box; transform-origin:center; }
.hub.is-live .hub__glow{ animation:hubpulse 2.6s ease-in-out infinite; }
@keyframes hubpulse{ 0%,100%{ opacity:.25; transform:scale(.7) } 50%{ opacity:.7; transform:scale(1.15) } }
.hub__dot{ fill:#fff; stroke:var(--amber); stroke-width:2.5; }
.hub text{ fill:rgba(247,248,251,.85); font-family:var(--font-mono); font-size:13px; text-anchor:middle; letter-spacing:.04em; }
.map__stats{ display:flex; flex-wrap:wrap; justify-content:center; gap:clamp(2rem,6vw,5rem); margin-top:2.5rem; }
.map__stats strong{ font-family:var(--font-display); font-size:clamp(2.4rem,1.6rem + 3vw,4rem); color:#fff; display:block; }
.map__stats span{ font-family:var(--font-mono); font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; color:var(--steel); }
.map__stats > div{ text-align:center; }

/* ---------- PROCESS ---------- */
.process{ padding:clamp(4.5rem,8vw,8rem) 0; }
.steps{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.6rem; counter-reset:step; position:relative; }
.steps::before{ content:""; position:absolute; top:46px; left:6%; right:6%; height:2px; background:repeating-linear-gradient(90deg,var(--line-light) 0 10px,transparent 10px 20px); z-index:0; }
.step{ position:relative; z-index:1; }
.step__no{
  display:grid; place-items:center; width:72px; height:72px; border-radius:50%;
  background:var(--paper); border:2px solid var(--ink); color:var(--ink);
  font-family:var(--font-display); font-size:1.5rem; margin-bottom:1.2rem; transition:.5s var(--ease);
}
.step:hover .step__no{ background:var(--amber); border-color:var(--amber); color:#1a0c02; transform:translateY(-4px); }
.step h3{ font-size:1.2rem; color:var(--ink); margin-bottom:.4rem; }
.step p{ color:var(--slate); font-size:.95rem; }

/* ---------- FLEET ---------- */
.fleet{ position:relative; min-height:88svh; display:flex; align-items:center; overflow:hidden; isolation:isolate; }
.fleet__media{ position:absolute; inset:0; z-index:-2; }
.fleet__img{ position:absolute; inset:-10% 0; background-size:cover; background-position:center; transform:scale(1.06); }
.fleet__scrim{ position:absolute; inset:0; background:linear-gradient(90deg,var(--ink) 5%,rgba(10,14,26,.7) 45%,rgba(10,14,26,.2) 100%); }
.fleet__inner{ padding-block:clamp(4rem,8vw,7rem); }
.fleet__text{ max-width:620px; }
.fleet__specs{ display:grid; grid-template-columns:repeat(2,1fr); gap:1.4rem 2rem; margin-top:2.4rem; max-width:480px; }
.fleet__specs > div{ border-left:2px solid var(--amber); padding-left:1rem; }
.fleet__specs strong{ font-family:var(--font-display); font-size:clamp(2rem,1.4rem + 2vw,3rem); line-height:1; color:#fff; display:block; }
.fleet__specs span{ font-family:var(--font-mono); font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; color:var(--steel); }

/* ---------- DRIVERS ---------- */
.drivers{ padding:clamp(4.5rem,8vw,8rem) 0; }
.drivers__inner{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(2.5rem,5vw,5rem); align-items:center; }
.drivers__perks{ display:grid; grid-template-columns:repeat(2,1fr); gap:.9rem 1.6rem; margin:2rem 0 2.4rem; }
.drivers__perks li{ position:relative; padding-left:1.8rem; color:var(--ink); font-weight:500; font-size:.98rem; }
.drivers__perks li::before{ content:""; position:absolute; left:0; top:.55em; width:10px; height:10px; border-radius:2px; background:var(--amber); transform:rotate(45deg); }
.drivers__media{ position:relative; border-radius:var(--r-lg); overflow:hidden; aspect-ratio:4/5; box-shadow:var(--shadow-card); background:var(--ink-3); }
.drivers__img{ position:absolute; inset:-8% 0; background-size:cover; background-position:center; }
.drivers__quote{ position:absolute; left:1.2rem; right:1.2rem; bottom:1.2rem; background:rgba(10,14,26,.78); backdrop-filter:blur(8px); padding:1.2rem 1.4rem; border-radius:var(--r-md); border:1px solid var(--line-dark); }
.drivers__quote p{ color:#fff; font-size:1rem; font-style:italic; }
.drivers__quote span{ display:block; margin-top:.5rem; font-family:var(--font-mono); font-size:.72rem; letter-spacing:.1em; color:var(--amber-2); text-transform:uppercase; }

/* ---------- QUOTES ---------- */
.quotes{ padding:clamp(4.5rem,8vw,7rem) 0; background:var(--ink); overflow:hidden; }
.quotes__marquee{ margin-top:1rem; overflow:hidden; -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent); mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent); }
.quotes__track{ display:flex; gap:1.4rem; will-change:transform; padding-block:.5rem; }
.quote-card{ flex:0 0 clamp(300px,40vw,460px); background:var(--ink-2); border:1px solid var(--line-dark); border-radius:var(--r-lg); padding:2rem; transition:border-color .4s, transform .5s var(--ease-out); }
.quote-card:hover{ border-color:rgba(255,106,24,.4); transform:translateY(-4px); }
.quote-card blockquote{ font-size:1.12rem; line-height:1.5; color:#fff; }
.quote-card blockquote::before{ content:"“"; font-family:var(--font-display); color:var(--amber); font-size:2.4rem; line-height:0; vertical-align:-.35em; margin-right:.15em; }
.quote-card figcaption{ margin-top:1.4rem; padding-top:1rem; border-top:1px solid var(--line-dark); }
.quote-card figcaption strong{ display:block; font-size:.98rem; }
.quote-card figcaption span{ font-family:var(--font-mono); font-size:.72rem; color:var(--steel); letter-spacing:.04em; }

/* ---------- CTA ---------- */
.cta{ position:relative; padding:clamp(4.5rem,9vw,8rem) 0; overflow:hidden; isolation:isolate; }
.cta__bg{ position:absolute; inset:0; z-index:-2; }
.cta__img{ position:absolute; inset:-10% 0; background-size:cover; background-position:center; transform:scale(1.06); }
.cta__scrim{ position:absolute; inset:0; background:linear-gradient(120deg,var(--ink) 20%,rgba(10,14,26,.78) 60%,rgba(10,14,26,.55)); }
.cta__inner{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(2.5rem,5vw,5rem); align-items:center; }
.cta__title{ font-family:var(--font-display); font-size:clamp(2.6rem,1.6rem + 5vw,6rem); line-height:.9; text-transform:uppercase; }
.cta__text > p{ margin-top:1.2rem; color:rgba(247,248,251,.82); font-size:1.15rem; max-width:42ch; }
.cta__points{ display:grid; gap:.7rem; margin-top:1.6rem; }
.cta__points li{ display:flex; align-items:center; gap:.7rem; color:rgba(247,248,251,.9); }
.cta__points li::before{ content:""; width:20px; height:20px; flex:none; border-radius:50%; background:var(--amber); -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' d='m5 13 4 4L19 7'/%3E%3C/svg%3E") center/70% no-repeat; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' d='m5 13 4 4L19 7'/%3E%3C/svg%3E") center/70% no-repeat; }

/* ---------- FORM ---------- */
.quote-form{ background:rgba(14,20,36,.82); backdrop-filter:blur(16px); border:1px solid var(--line-dark); border-radius:var(--r-lg); padding:clamp(1.6rem,3vw,2.4rem); box-shadow:var(--shadow-card); }
.field{ display:flex; flex-direction:column; gap:.45rem; margin-bottom:1rem; }
.field-row{ display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.field label{ font-family:var(--font-mono); font-size:.7rem; letter-spacing:.12em; text-transform:uppercase; color:var(--steel); }
.field input,.field select{
  background:rgba(255,255,255,.04); border:1px solid var(--line-dark); border-radius:var(--r-sm);
  padding:.85rem 1rem; color:#fff; transition:border-color .3s, background .3s;
}
.field input::placeholder{ color:rgba(141,151,173,.7); }
.field input:focus,.field select:focus{ outline:none; border-color:var(--amber); background:rgba(255,106,24,.06); }
.field select{ appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23ff6a18' stroke-width='3'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 1rem center; padding-right:2.5rem; }
.field select option{ background:var(--ink-2); color:#fff; }
.field.is-invalid input{ border-color:#ff4d4d; }
.quote-form .btn{ margin-top:.5rem; }
.quote-form__note{ margin-top:1rem; font-size:.82rem; color:var(--steel); text-align:center; }
.quote-form__note.is-success{ color:var(--amber-2); font-weight:600; }
.quote-form__note.is-error{ color:#ff7a7a; font-weight:600; }
/* Honeypot — hidden from humans, catches bots */
.hp{ position:absolute !important; left:-9999px !important; width:1px; height:1px; opacity:0; pointer-events:none; }

/* ---------- FOOTER ---------- */
.footer{ background:#070a13; padding:clamp(3.5rem,6vw,5.5rem) 0 2.5rem; border-top:1px solid var(--line-dark); }
.footer__top{ display:grid; grid-template-columns:1.6fr 1fr 1fr 1.2fr; gap:2.5rem; }
.footer__brand p{ color:var(--steel); margin:1.1rem 0 1.4rem; max-width:34ch; font-size:.95rem; }
.footer__social{ display:flex; gap:.7rem; }
.footer__social a{ width:40px; height:40px; border-radius:50%; border:1px solid var(--line-dark); display:grid; place-items:center; transition:.35s var(--ease); }
.footer__social svg{ fill:rgba(247,248,251,.8); }
.footer__social a:hover{ background:var(--amber); border-color:var(--amber); transform:translateY(-3px); }
.footer__social a:hover svg{ fill:#1a0c02; }
.footer__col h4{ font-family:var(--font-mono); font-size:.74rem; letter-spacing:.16em; text-transform:uppercase; color:var(--amber); margin-bottom:1.1rem; }
.footer__col a{ display:block; color:var(--steel); padding:.32rem 0; font-size:.95rem; transition:color .3s, padding-left .3s; }
.footer__col a:hover{ color:#fff; padding-left:.4rem; }
.footer__contact address{ font-style:normal; color:var(--steel); margin:.6rem 0; font-size:.95rem; line-height:1.7; }
.footer__reg{ font-family:var(--font-mono); font-size:.74rem; color:var(--slate); letter-spacing:.05em; }
.footer__bottom{ display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:1rem; margin-top:3rem; padding-top:1.6rem; border-top:1px solid var(--line-dark); color:var(--steel); font-size:.85rem; }
.footer__legal{ display:flex; gap:1.4rem; }
.footer__legal a:hover{ color:#fff; }
.footer__built{ font-family:var(--font-mono); letter-spacing:.08em; opacity:.7; }

/* ---------- Reveal states (gated on JS) ---------- */
.js [data-reveal]{ opacity:0; transform:translateY(34px); }
.js [data-split] .line{ display:block; overflow:hidden; }
.js [data-split] .line > span{ display:inline-block; transform:translateY(110%); }
/* Hero title is driven entirely by the JS intro timeline; its natural state is
   VISIBLE so a missed/cancelled tween can never leave the headline hidden. */
.js .hero__title .line > span{ transform:none; }

/* ---------- Responsive ---------- */
@media (max-width:1024px){
  .svc-grid{ grid-template-columns:repeat(2,1fr); }
  .footer__top{ grid-template-columns:1fr 1fr; gap:2rem; }
}
@media (max-width:860px){
  .nav__links,.nav__phone{ display:none; }
  .nav__burger{ display:block; }
  .why__inner,.drivers__inner,.cta__inner{ grid-template-columns:1fr; }
  .drivers__media,.why__media{ aspect-ratio:16/11; }
  .stats__grid{ grid-template-columns:repeat(2,1fr); gap:2rem 1.5rem; }
  .steps{ grid-template-columns:1fr 1fr; gap:2rem; }
  .steps::before{ display:none; }
}
@media (max-width:600px){
  .svc-grid{ grid-template-columns:1fr; }
  .field-row{ grid-template-columns:1fr; }
  .footer__top{ grid-template-columns:1fr; }
  .drivers__perks{ grid-template-columns:1fr; }
  .fleet__specs{ grid-template-columns:1fr 1fr; }
  .hero__ticker{ gap:1.2rem 2rem; }
}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important; }
  .js [data-reveal]{ opacity:1 !important; transform:none !important; }
  .js [data-split] .line > span{ transform:none !important; }
  .route{ stroke-dashoffset:0 !important; }
  .preloader{ display:none !important; }
  .cursor{ display:none !important; }
}
