/* ============================================================
   Gophr — variant-1 "VELOCITY"
   ============================================================ */

:root{
  --orange:   #F15A29;
  --amber:    #F7941D;
  --red:      #BE1E2D;
  --teal:     #2BBBAE;
  --ink:      #101114;
  --black:    #000000;
  --grey:     #777777;
  --offwhite: #F4F4F6;
  --white:    #FFFFFF;

  --ink-80:    rgba(16,17,20,.80);
  --orange-12: rgba(241,90,41,.12);
  --teal-12:   rgba(43,187,174,.12);
  --line:      rgba(16,17,20,.08);

  --grad-hero:      linear-gradient(115deg, #F15A29 0%, #F7941D 100%);
  --grad-hero-deep: linear-gradient(115deg, #BE1E2D 0%, #F15A29 45%, #F7941D 100%);
  --grad-text:      linear-gradient(100deg, #F15A29 0%, #F7941D 100%);

  --maxw: 1200px;
  --pad: clamp(1.25rem, 5vw, 2.5rem);
  --section-y: clamp(4.5rem, 9vw, 8rem);
  --gutter: clamp(1rem, 2.5vw, 2rem);

  --sh-card:    0 18px 50px -22px rgba(16,17,20,.28);
  --sh-card-hi: 0 28px 70px -24px rgba(241,90,41,.42);
}

/* ---------- reset / base ---------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ font-size:100%; scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{
  margin:0;
  font-family:"DM Sans",Poppins,system-ui,-apple-system,Segoe UI,Arial,sans-serif;
  color:var(--ink);
  background:var(--white);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{ max-width:100%; height:auto; display:block; }
a{ color:var(--orange); text-decoration:none; }
ul,ol{ list-style:none; margin:0; padding:0; }
h1,h2,h3{ margin:0; font-family:Poppins,system-ui,sans-serif; }
p{ margin:0; }
button{ font-family:inherit; cursor:pointer; }

.container{ width:100%; max-width:var(--maxw); margin-inline:auto; padding-inline:var(--pad); }

.skip-link{
  position:absolute; left:-999px; top:0; z-index:1000;
  background:var(--ink); color:#fff; padding:.7rem 1.1rem; border-radius:0 0 10px 0;
  font-family:Poppins; font-weight:600;
}
.skip-link:focus{ left:0; }

:focus-visible{ outline:3px solid var(--teal); outline-offset:2px; border-radius:6px; }

.grad-text{
  background:var(--grad-text);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent;
}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  font-family:Poppins; font-weight:600; font-size:clamp(.9375rem,1.4vw,1rem);
  letter-spacing:.01em; line-height:1;
  padding:.9rem 1.6rem; min-height:44px;
  border-radius:999px; border:1.5px solid transparent;
  background:var(--orange); color:#fff;
  transition:transform .18s ease, box-shadow .18s ease, background-color .18s ease, color .18s ease;
  will-change:transform;
}
.btn:hover{ background:var(--red); transform:scale(1.03); box-shadow:0 14px 30px -12px rgba(190,30,45,.6); }
.btn:active{ transform:scale(.98); }
.btn-arrow{ transition:transform .18s ease; }
.btn:hover .btn-arrow{ transform:translateX(4px); }

.btn--onhero{ background:#fff; color:var(--orange); }
.btn--onhero:hover{ background:#fff; color:var(--red); transform:scale(1.03); box-shadow:0 18px 40px -14px rgba(0,0,0,.4); }

.btn--ghost-hero{ background:transparent; border-color:rgba(255,255,255,.8); color:#fff; }
.btn--ghost-hero:hover{ background:rgba(255,255,255,.14); border-color:#fff; transform:scale(1.03); box-shadow:none; }

.btn--cta-header{ background:var(--orange); color:#fff; }
.btn--block{ width:100%; }

/* ============================================================
   HEADER
   ============================================================ */
.site-header{
  position:sticky; top:0; z-index:100;
  transition:background-color .3s ease, box-shadow .3s ease, backdrop-filter .3s ease;
}
.header-inner{
  display:flex; align-items:center; gap:1.5rem;
  height:72px;
}
.brand{ display:flex; align-items:center; flex:0 0 auto; }
.brand-logo{ height:34px; width:auto; }
.brand-logo--dark{ display:none; }

.nav{ margin-left:auto; }
.nav-list{ display:flex; gap:1.75rem; align-items:center; }
.nav-list a{
  position:relative; font-family:Poppins; font-weight:600; font-size:15px;
  color:#fff; padding:.3rem 0;
}
.nav-list a::after{
  content:""; position:absolute; left:0; bottom:-2px; height:2px; width:100%;
  background:#fff; transform:scaleX(0); transform-origin:left;
  transition:transform .25s ease;
}
.nav-list a:hover::after,.nav-list a:focus-visible::after{ transform:scaleX(1); }

.btn--cta-header.btn--cta-header{ flex:0 0 auto; }
.site-header:not(.is-scrolled) .btn--cta-header{ background:#fff; color:var(--orange); }

/* scrolled state */
.site-header.is-scrolled{
  background:rgba(255,255,255,.85);
  backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
}
.site-header.is-scrolled .brand-logo--light{ display:none; }
.site-header.is-scrolled .brand-logo--dark{ display:block; }
.site-header.is-scrolled .nav-list a{ color:var(--ink); }
.site-header.is-scrolled .nav-list a::after{ background:var(--teal); }
.site-header.is-scrolled .btn--cta-header{ background:var(--orange); color:#fff; }
.site-header.is-scrolled .nav-toggle-bar{ background:var(--ink); }

/* hamburger */
.nav-toggle{
  display:none; flex-direction:column; gap:5px; justify-content:center;
  width:44px; height:44px; background:transparent; border:0; padding:0; margin-left:auto;
}
.nav-toggle-bar{ width:26px; height:2.5px; border-radius:2px; background:#fff; transition:transform .3s ease, opacity .25s ease; }
.nav-toggle[aria-expanded="true"] .nav-toggle-bar:nth-child(1){ transform:translateY(7.5px) rotate(45deg); background:var(--ink); }
.nav-toggle[aria-expanded="true"] .nav-toggle-bar:nth-child(2){ opacity:0; }
.nav-toggle[aria-expanded="true"] .nav-toggle-bar:nth-child(3){ transform:translateY(-7.5px) rotate(-45deg); background:var(--ink); }

/* mobile nav panel */
.mobile-backdrop{
  position:fixed; inset:0; z-index:90; background:rgba(0,0,0,.45);
  opacity:0; transition:opacity .3s ease;
}
.mobile-backdrop.is-open{ opacity:1; }
.mobile-nav{
  position:fixed; top:0; right:0; z-index:95;
  height:100dvh; width:min(82vw,360px);
  background:rgba(16,17,20,.97); backdrop-filter:blur(8px);
  transform:translateX(100%); transition:transform .35s cubic-bezier(.16,1,.3,1);
  padding:6rem 2rem 2rem; display:flex; flex-direction:column;
}
.mobile-nav.is-open{ transform:translateX(0); }
.mobile-nav-list{ display:flex; flex-direction:column; gap:1.4rem; margin-bottom:2rem; }
.mobile-nav-list a{ font-family:Poppins; font-weight:600; font-size:1.5rem; color:#fff; }
.mobile-nav-list a:hover{ color:var(--orange); }

/* ============================================================
   HERO
   ============================================================ */
.hero{
  position:relative; isolation:isolate;
  margin-top:-72px; padding-top:72px;
  min-height:clamp(620px,92vh,880px);
  display:flex; align-items:center;
  background:var(--grad-hero);
  overflow:hidden; color:#fff;
}
@media (min-width:1200px){ .hero{ background:var(--grad-hero-deep); } }

.hero-bg{ position:absolute; inset:0; z-index:-1; pointer-events:none; overflow:hidden; }
.hero-glow{
  position:absolute; top:-20%; left:-10%; width:60%; height:80%;
  background:radial-gradient(circle, rgba(255,255,255,.35) 0%, transparent 65%);
}
.speedlines{
  position:absolute; inset:-20% -50%; width:200%; height:140%;
  background:repeating-linear-gradient(115deg, transparent 0 22px, rgba(255,255,255,.10) 22px 24px);
  transform:skewX(-12deg);
  animation:drift 12s linear infinite;
}
.speedlines--b{
  background:repeating-linear-gradient(115deg, transparent 0 34px, rgba(255,255,255,.07) 34px 37px);
  animation-duration:18s; opacity:.8;
}
.speedlines--fast{ animation-duration:7s; }
.speedlines--b.speedlines--fast{ animation-duration:10s; }
@keyframes drift{ from{ transform:skewX(-12deg) translateX(0); } to{ transform:skewX(-12deg) translateX(-25%); } }

.hero-route{
  position:absolute; right:-2%; top:50%; transform:translateY(-50%);
  width:min(48vw,560px); height:min(48vw,560px); opacity:.9;
}
.route-path{
  stroke-dasharray:10 14;
  animation:flow 1.4s linear infinite;
}
@keyframes flow{ to{ stroke-dashoffset:-48; } }
.route-pin{
  offset-path:path("M40 520 C 180 460, 160 320, 300 300 S 460 200, 560 80");
  offset-rotate:0deg;
  filter:drop-shadow(0 0 8px rgba(43,187,174,.9));
  animation:ride 6s ease-in-out infinite;
}
@keyframes ride{ 0%{ offset-distance:0%; } 50%{ offset-distance:100%; } 100%{ offset-distance:0%; } }

.hero-inner{ position:relative; z-index:1; padding-block:4rem; }
.hero-title{
  font-weight:900; font-size:clamp(2.75rem,6.5vw,5.5rem); line-height:1.02; letter-spacing:-.03em;
  margin:.4rem 0 1.2rem; max-width:720px;
}
.hero-underline{ position:relative; display:inline-block; }
.hero-underline::after{
  content:""; position:absolute; left:0; bottom:.06em; height:3px; width:100%;
  background:#fff; transform:scaleX(0); transform-origin:left;
  transition:transform .7s cubic-bezier(.16,1,.3,1) .9s;
}
.loaded .hero-underline::after{ transform:scaleX(1); }

.hero-sub{
  font-family:"DM Sans",Poppins,sans-serif; font-weight:500;
  font-size:clamp(1.05rem,1.5vw,1.375rem); line-height:1.5;
  color:rgba(255,255,255,.92); max-width:520px; margin-bottom:2rem;
}
.hero-cta{ display:flex; flex-wrap:wrap; gap:1rem; margin-bottom:1.6rem; }
.hero-trust{
  display:inline-flex; align-items:center; gap:.5rem;
  font-size:14px; color:rgba(255,255,255,.78);
}
.ico-inline{ flex:0 0 auto; }

.eyebrow-chip{
  display:inline-flex; align-items:center; gap:.6rem;
  background:rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.22);
  border-radius:999px; padding:.45rem 1rem;
  font-family:Poppins; font-weight:700; font-size:.8125rem; letter-spacing:.16em; text-transform:uppercase;
  color:#fff;
}
.pulse-dot{
  width:9px; height:9px; border-radius:50%; background:var(--teal); flex:0 0 auto;
  box-shadow:0 0 0 0 rgba(43,187,174,.6); animation:pulse 1.8s ease-out infinite;
}
.pulse-dot--teal{ background:var(--teal); }
@keyframes pulse{ 0%{ box-shadow:0 0 0 0 rgba(43,187,174,.6);} 70%{ box-shadow:0 0 0 8px rgba(43,187,174,0);} 100%{ box-shadow:0 0 0 0 rgba(43,187,174,0);} }

.hero-edge{ position:absolute; left:0; right:0; bottom:-1px; width:100%; height:clamp(40px,6vw,80px); z-index:0; }

/* ============================================================
   SECTIONS / HEADINGS
   ============================================================ */
.section{ padding-block:var(--section-y); }
.section--alt{ background:var(--offwhite); }
.section-head{ max-width:760px; margin:0 auto clamp(2.5rem,5vw,4rem); text-align:center; }
.eyebrow{
  display:inline-block; font-family:Poppins; font-weight:700; font-size:.8125rem;
  letter-spacing:.16em; text-transform:uppercase; margin-bottom:.9rem;
}
.section-title{ font-weight:800; font-size:clamp(2rem,4vw,3.25rem); line-height:1.06; letter-spacing:-.02em; }
.section-lead{
  font-family:"DM Sans",sans-serif; font-weight:500; font-size:clamp(1.05rem,1.5vw,1.375rem);
  line-height:1.5; color:var(--grey); margin-top:1rem;
}
.step-title{ font-weight:700; font-size:clamp(1.15rem,1.6vw,1.5rem); line-height:1.2; letter-spacing:-.01em; }

/* ---------- cards base ---------- */
.card{
  background:#fff; border:1px solid var(--line); border-radius:20px;
  box-shadow:var(--sh-card); padding:1.75rem;
  transition:transform .25s ease, box-shadow .25s ease;
}

/* ============================================================
   TRUST STRIP
   ============================================================ */
.trust{ background:#fff; padding:2.25rem 0; position:relative; z-index:1; }
.trust-inner{
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:2rem;
}
.trust-techstars{ display:inline-flex; align-items:center; gap:.7rem; color:var(--ink); }
.trust-label{ font-family:Poppins; font-weight:600; font-size:.95rem; color:var(--ink); }
.techstars-img{ height:22px; width:auto; }

.stats{ display:flex; flex-wrap:wrap; gap:0; }
.stat{
  display:flex; flex-direction:column; gap:.25rem; padding:0 clamp(1rem,3vw,2.25rem);
  border-left:1px solid var(--line); min-width:140px;
}
.stat:first-child{ border-left:0; }
.stat-num{ font-family:Poppins; font-weight:900; font-size:clamp(2rem,4vw,3rem); line-height:1; letter-spacing:-.02em; }
.stat-num--teal{ color:var(--teal); font-size:clamp(1.5rem,3vw,2.25rem); }
.stat-label{ font-size:14px; color:var(--grey); line-height:1.4; }

/* ============================================================
   HOW IT WORKS
   ============================================================ */
.steps{ position:relative; display:grid; grid-template-columns:repeat(4,1fr); gap:var(--gutter); }
.steps-line{ position:absolute; top:64px; left:7%; right:7%; height:4px; z-index:0; }
.steps-line svg{ width:100%; height:4px; overflow:visible; }
.steps-path{
  stroke-dasharray:1100; stroke-dashoffset:1100;
  transition:stroke-dashoffset 1.6s cubic-bezier(.16,1,.3,1);
}
.in-view .steps-path{ stroke-dashoffset:0; }

.card--step{ position:relative; text-align:center; overflow:hidden; }
.step-ghost{
  position:absolute; top:.4rem; right:1rem; font-family:Poppins; font-weight:900;
  font-size:4rem; line-height:1; color:var(--orange-12); z-index:0;
}
.step-circle{
  position:relative; z-index:1; display:inline-flex; align-items:center; justify-content:center;
  width:56px; height:56px; border-radius:50%; margin-bottom:1.1rem;
  background:var(--grad-hero); color:#fff;
}
.card--step p{ color:var(--grey); margin-top:.5rem; font-size:.95rem; }
.card--step:hover{ transform:translateY(-6px); box-shadow:var(--sh-card-hi); }

/* ============================================================
   SOLUTIONS
   ============================================================ */
.solutions-grid{ position:relative; display:grid; grid-template-columns:repeat(4,1fr); gap:var(--gutter); }
.road-line{
  position:absolute; left:4%; right:4%; top:46px; height:2px; z-index:0;
  background:repeating-linear-gradient(90deg, rgba(16,17,20,.18) 0 10px, transparent 10px 20px);
}
.card--solution{ position:relative; overflow:hidden; }
.vehicle{ color:var(--orange); margin-bottom:1rem; transition:transform .25s ease; }
.card--solution .sol-sub{ display:block; font-family:Poppins; font-weight:600; font-size:.8rem; color:var(--teal); text-transform:uppercase; letter-spacing:.08em; margin:.3rem 0 .5rem; }
.card--solution p{ color:var(--grey); font-size:.95rem; }
.card--solution::before{
  content:""; position:absolute; top:46px; left:1.75rem; width:40px; height:2px;
  background:var(--orange); transform:scaleX(0) translateX(0); transform-origin:left; opacity:0;
  transition:transform .3s ease, opacity .3s ease;
}
.card--solution:hover{ transform:translateY(-6px); box-shadow:var(--sh-card-hi); }
.card--solution:hover .vehicle{ transform:translateX(6px); }
.card--solution:hover::before{ transform:scaleX(1) translateX(60px); opacity:.7; }

/* ============================================================
   INDUSTRIES
   ============================================================ */
.industries-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:var(--gutter); }
.card--industry{ position:relative; overflow:hidden; }
.icon-tile{
  display:inline-flex; align-items:center; justify-content:center;
  width:48px; height:48px; border-radius:16px; margin-bottom:1.1rem;
  background:var(--orange-12); color:var(--orange);
  transition:background-color .25s ease, color .25s ease;
}
.card--industry p{ color:var(--grey); margin-top:.5rem; font-size:.95rem; }
.track-line{
  position:absolute; left:0; bottom:0; height:3px; width:100%;
  background:var(--teal); transform:scaleX(0); transform-origin:left; transition:transform .35s ease;
}
.card--industry:hover{ transform:translateY(-6px); box-shadow:var(--sh-card-hi); }
.card--industry:hover .icon-tile{ background:var(--orange); color:#fff; }
.card--industry:hover .track-line{ transform:scaleX(1); }

/* ============================================================
   WHY / AI PANEL
   ============================================================ */
.why-panel{
  background:var(--ink); color:#fff; border-radius:28px;
  padding:clamp(2rem,5vw,4rem);
  display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(2rem,5vw,4rem); align-items:center;
}
.why-title{ color:#fff; margin-top:.4rem; }
.why-lead{ color:rgba(255,255,255,.78); }
.features{ display:flex; flex-direction:column; gap:1.1rem; margin-top:2rem; }
.feature{ display:flex; gap:1rem; align-items:flex-start; }
.feature-ico{
  flex:0 0 auto; display:inline-flex; align-items:center; justify-content:center;
  width:34px; height:34px; border-radius:10px; background:var(--orange); color:#fff;
}
.feature div{ display:flex; flex-direction:column; }
.feature strong{ font-family:Poppins; font-weight:600; font-size:1.05rem; }
.feature span{ color:rgba(255,255,255,.7); font-size:.95rem; }

/* quote card */
.quote-card{
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.14);
  border-radius:22px; padding:1.6rem; backdrop-filter:blur(8px);
  box-shadow:0 30px 60px -30px rgba(0,0,0,.6);
}
.qc-head{ display:flex; justify-content:space-between; align-items:center; margin-bottom:1.4rem; }
.qc-badge{
  display:inline-flex; align-items:center; gap:.45rem; background:var(--teal-12); color:var(--teal);
  font-family:Poppins; font-weight:600; font-size:.78rem; padding:.35rem .75rem; border-radius:999px;
}
.qc-eta{ font-family:Poppins; font-weight:600; font-size:.85rem; color:rgba(255,255,255,.65); }
.qc-route{ display:flex; align-items:center; gap:.5rem; margin-bottom:.6rem; }
.qc-dot{ width:11px; height:11px; border-radius:50%; flex:0 0 auto; }
.qc-dot--start{ background:#fff; }
.qc-dot--end{ background:var(--orange); }
.qc-line{ position:relative; flex:1; height:2px; background:repeating-linear-gradient(90deg, rgba(255,255,255,.35) 0 6px, transparent 6px 12px); }
.qc-mover{ position:absolute; top:50%; left:0; width:8px; height:8px; margin-top:-4px; border-radius:50%; background:var(--teal); box-shadow:0 0 8px var(--teal); animation:qcride 3.5s linear infinite; }
@keyframes qcride{ from{ left:0; } to{ left:100%; } }
.qc-locs{ display:flex; justify-content:space-between; font-size:.85rem; color:rgba(255,255,255,.78); margin-bottom:1.2rem; font-family:Poppins; font-weight:500; }
.qc-meta{ display:flex; gap:.6rem; margin-bottom:1.4rem; }
.qc-chip{ background:var(--orange-12); color:#fff; font-family:Poppins; font-weight:600; font-size:.78rem; padding:.35rem .75rem; border-radius:999px; border:1px solid rgba(255,255,255,.12); }
.qc-chip--teal{ background:var(--teal-12); color:var(--teal); }
.qc-price{ display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:1.4rem; padding-top:1.2rem; border-top:1px solid rgba(255,255,255,.12); }
.qc-price-label{ font-size:.85rem; color:rgba(255,255,255,.65); }
.qc-price-val{ font-family:Poppins; font-weight:900; font-size:2.25rem; line-height:1; color:#fff; }

/* ============================================================
   INVESTORS
   ============================================================ */
.investors-inner{ max-width:720px; margin:0 auto; text-align:center; display:flex; flex-direction:column; align-items:center; }
.techstars-chip{ background:#fff; border:1px solid var(--line); border-radius:14px; padding:.9rem 1.4rem; margin:.5rem 0 1.6rem; box-shadow:var(--sh-card); }
.techstars-chip img{ height:40px; width:auto; }
.vet-badge{
  display:inline-flex; align-items:center; gap:.55rem; margin-top:1.6rem;
  background:var(--orange-12); color:var(--orange);
  font-family:Poppins; font-weight:600; font-size:.9rem; padding:.55rem 1.1rem; border-radius:999px;
}

/* ============================================================
   FINAL CTA
   ============================================================ */
.final-cta{ position:relative; isolation:isolate; overflow:hidden; background:var(--grad-hero-deep); color:#fff; padding-block:clamp(4rem,8vw,7rem); }
.final-cta .hero-bg{ z-index:-1; }
.final-cta-inner{ text-align:center; max-width:680px; margin:0 auto; }
.cta-title{ font-weight:900; font-size:clamp(2.25rem,5vw,4rem); line-height:1.04; letter-spacing:-.02em; }
.cta-sub{ font-family:"DM Sans",sans-serif; font-size:clamp(1.05rem,1.5vw,1.3rem); color:rgba(255,255,255,.9); margin:1rem 0 2rem; }
.final-cta .hero-cta{ justify-content:center; margin-bottom:0; }

/* ============================================================
   FOOTER
   ============================================================ */
.site-footer{ background:var(--ink); color:rgba(255,255,255,.7); padding-top:clamp(3rem,6vw,5rem); }
.footer-grid{ display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:clamp(2rem,4vw,3rem); padding-bottom:3rem; }
.footer-logo{ height:30px; width:auto; margin-bottom:1.1rem; }
.footer-tagline{ font-family:Poppins; font-weight:600; color:#fff; font-size:1.05rem; margin-bottom:.6rem; }
.footer-mini{ font-size:.9rem; color:rgba(255,255,255,.6); max-width:300px; }
.footer-col h3{ font-family:Poppins; font-weight:600; font-size:.95rem; color:#fff; margin-bottom:1rem; }
.footer-col ul{ display:flex; flex-direction:column; gap:.65rem; }
.footer-col a{ color:rgba(255,255,255,.7); font-size:.92rem; transition:color .2s ease; }
.footer-col a:hover{ color:var(--orange); }
.footer-bottom{
  display:flex; flex-wrap:wrap; justify-content:space-between; gap:1rem; align-items:center;
  border-top:1px solid rgba(255,255,255,.1); padding-block:1.5rem;
  font-size:14px; color:rgba(255,255,255,.6);
}
.footer-vet{ display:inline-flex; align-items:center; gap:.5rem; }

/* ============================================================
   SCROLL REVEAL
   ============================================================ */
.reveal{ opacity:0; transform:translateY(24px); transition:opacity .6s cubic-bezier(.16,1,.3,1), transform .6s cubic-bezier(.16,1,.3,1); transition-delay:calc(var(--i,0) * 80ms); }
.reveal.in-view{ opacity:1; transform:none; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:980px){
  .industries-grid{ grid-template-columns:repeat(2,1fr); }
  .why-panel{ grid-template-columns:1fr; }
  .why-copy{ order:1; }
  .quote-card{ order:2; max-width:440px; }
}
@media (max-width:880px){
  .nav,.header-inner > .btn--cta-header{ display:none; }
  .nav-toggle{ display:flex; }
  .header-inner{ height:64px; }
  .steps{ grid-template-columns:1fr; gap:1.25rem; }
  .steps-line{ display:none; }
  .card--step{ text-align:left; display:grid; grid-template-columns:auto 1fr; column-gap:1.2rem; align-items:start; }
  .step-circle{ margin-bottom:0; grid-row:span 2; }
  .step-ghost{ display:none; }
  .solutions-grid{ grid-template-columns:repeat(2,1fr); }
  .road-line{ display:none; }
}
@media (max-width:680px){
  .industries-grid{ grid-template-columns:1fr; }
  .solutions-grid{ grid-template-columns:1fr; }
  .trust-inner{ flex-direction:column; align-items:flex-start; }
  .stats{ width:100%; }
  .stat{ flex:1 1 40%; }
  .stat:nth-child(odd){ border-left:0; }
  .hero{ text-align:center; }
  .hero-cta{ justify-content:center; }
  .hero-route{ opacity:.35; }
}

/* ============================================================
   REDUCED MOTION
   ============================================================ */
@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  .speedlines,.route-path,.route-pin,.pulse-dot,.qc-mover{ animation:none !important; }
  .reveal{ opacity:1 !important; transform:none !important; transition:none !important; }
  .steps-path{ stroke-dashoffset:0 !important; transition:none !important; }
  .hero-underline::after{ transform:scaleX(1) !important; transition:none !important; }
  *{ scroll-behavior:auto !important; }
}
