/* ===========================================================
   FASTLANE LOGISTICS — shared stylesheet
   Tokens
   bg        #05070B  Midnight Black
   accent    #0066FF  Electric Blue
   highlight #38B6FF  Speed Cyan
   ink       #E2E8F0  Metallic Silver
   panel     #1A1F26  Deep Charcoal
=========================================================== */

@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@400;500;600;700&family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap');

:root{
  --bg:#05070B;
  --accent:#0066FF;
  --highlight:#38B6FF;
  --ink:#E2E8F0;
  --panel:#1A1F26;
  --panel-line: rgba(226,232,240,0.08);
  --max: 1180px;
}

*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:'Inter', sans-serif;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%; display:block;}
a{color:inherit; text-decoration:none;}
ul{list-style:none;}

h1,h2,h3,h4{
  font-family:'Oswald', sans-serif;
  text-transform:uppercase;
  letter-spacing:0.01em;
  line-height:1.08;
  color:#fff;
}
.eyebrow{
  font-family:'JetBrains Mono', monospace;
  font-size:0.72rem;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--highlight);
  display:flex;
  align-items:center;
  gap:.55rem;
}
.eyebrow::before{
  content:"";
  width:22px; height:1px;
  background:var(--highlight);
}

:focus-visible{
  outline:2px solid var(--highlight);
  outline-offset:3px;
}

.wrap{max-width:var(--max); margin:0 auto; padding:0 24px;}

/* ---------- Header ---------- */
.site-header{
  position:sticky; top:0; z-index:100;
  background:rgba(5,7,11,0.86);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--panel-line);
}
.site-header .wrap{
  display:flex; align-items:center; justify-content:space-between;
  height:74px;
}
.logo{
  display:flex; align-items:center; gap:.6rem;
  font-family:'Oswald', sans-serif;
  font-weight:700; font-size:1.18rem;
  text-transform:uppercase;
  letter-spacing:.03em;
  color:#fff;
 
}

.logo .bolt{ color:var(--accent); }
.logo small{
  display:block;
  font-family:'JetBrains Mono', monospace;
  font-size:.58rem;
  letter-spacing:.15em;
  color:var(--highlight);
  text-transform:uppercase;
  font-weight:400;
}
.logo-mark{
  width:34px;height:34px;flex-shrink:0;
}

nav.main-nav{
  display:flex; align-items:center; gap:2rem;
}
nav.main-nav a{
  font-size:.86rem;
  text-transform:uppercase;
  letter-spacing:.05em;
  font-weight:500;
  color:var(--ink);
  position:relative;
  padding:6px 0;
}
nav.main-nav a::after{
  content:"";
  position:absolute; left:0; bottom:0;
  width:0; height:2px;
  background:var(--highlight);
  transition:width .25s ease;
}
nav.main-nav a:hover::after, nav.main-nav a[aria-current="page"]::after{ width:100%; }
nav.main-nav a[aria-current="page"]{ color:#fff; }

.header-cta{
  display:flex; align-items:center; gap:.9rem;
}
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  font-family:'Inter', sans-serif;
  font-weight:600; font-size:.86rem;
  letter-spacing:.02em;
  text-transform:uppercase;
  padding:.85rem 1.5rem;
  border-radius:3px;
  border:1px solid transparent;
  cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
}
.btn-primary{
  background:var(--accent);
  color:#fff;
  box-shadow:0 0 0 0 rgba(0,102,255,.5);
}
.btn-primary:hover{
  background:var(--highlight);
  box-shadow:0 6px 24px -6px rgba(56,182,255,.65);
  transform:translateY(-1px);
}
.btn-ghost{
  background:transparent;
  border-color:var(--panel-line);
  color:var(--ink);
}
.btn-ghost:hover{
  border-color:var(--highlight);
  color:var(--highlight);
}
.btn-sm{ padding:.62rem 1.1rem; font-size:.74rem; }

.nav-toggle{
  display:none;
  background:none; border:0;
  width:40px; height:40px;
  cursor:pointer;
  flex-direction:column; align-items:center; justify-content:center; gap:5px;
}
.nav-toggle span{
  width:22px; height:2px; background:var(--ink);
  transition:transform .25s ease, opacity .25s ease;
}
.nav-toggle.open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.nav-toggle.open span:nth-child(2){ opacity:0; }
.nav-toggle.open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

/* ---------- Route signature element ---------- */
.route-rail{
  position:relative;
  height:2px;
  background:repeating-linear-gradient(90deg, var(--panel-line) 0 10px, transparent 10px 18px);
  margin:0;
  overflow:visible;
}
.route-rail .van{
  position:absolute; top:50%; left:-40px;
  transform:translateY(-50%);
  width:26px; height:26px;
  color:var(--highlight);
  animation: drive 7s linear infinite;
}
@keyframes drive{
  0%{ left:-5%; opacity:0;}
  6%{ opacity:1;}
  92%{ opacity:1;}
  100%{ left:105%; opacity:0;}
}

/* ---------- Hero ---------- */
.hero{
  position:relative;
  padding:108px 0 96px;
  border-bottom:1px solid var(--panel-line);
  background:
    radial-gradient(ellipse 70% 60% at 80% 0%, rgba(0,102,255,0.18), transparent 60%),
    radial-gradient(ellipse 50% 40% at 0% 100%, rgba(56,182,255,0.10), transparent 60%);
}
.hero-grid{
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  gap:3rem;
  align-items:center;
}
.hero h1{
  font-size:clamp(2.4rem, 5vw, 4.1rem);
  margin:1rem 0 1.4rem;
}
.hero h1 .accent{ color:var(--highlight); }
.hero p.lede{
  font-size:1.05rem;
  color:#aab3c2;
  max-width:46ch;
  margin-bottom:2.2rem;
}
.hero-actions{ display:flex; gap:1rem; flex-wrap:wrap; }

.hero-stats{
  display:flex; gap:2.2rem; margin-top:3rem; flex-wrap:wrap;
}
.hero-stats div b{
  display:block;
  font-family:'Oswald', sans-serif;
  font-size:1.7rem; color:#fff;
}
.hero-stats div span{
  font-size:.74rem; color:#8b94a3;
  text-transform:uppercase; letter-spacing:.06em;
}

/* hero visual: route map card */
.route-card{
  background:var(--panel);
  border:1px solid var(--panel-line);
  border-radius:10px;
  padding:1.6rem;
  position:relative;
}
.route-card .tag{
  font-family:'JetBrains Mono', monospace;
  font-size:.68rem; color:var(--highlight);
  letter-spacing:.08em; text-transform:uppercase;
  margin-bottom:1rem; display:block;
}
.route-svg{ width:100%; height:auto; }

/* ---------- Sections generic ---------- */
section{ padding:88px 0; border-bottom:1px solid var(--panel-line); }
section.tight{ padding:60px 0; }
.section-head{ max-width:640px; margin-bottom:3rem; }
.section-head h2{ font-size:clamp(1.8rem,3.4vw,2.6rem); margin-top:.7rem; }
.section-head p{ color:#aab3c2; margin-top:1rem; }

/* ---------- Cards / grids ---------- */
.grid{ display:grid; gap:1.4rem; }
.grid-3{ grid-template-columns:repeat(3,1fr); }
.grid-2{ grid-template-columns:repeat(2,1fr); }

.card{
  background:var(--panel);
  border:1px solid var(--panel-line);
  border-radius:8px;
  padding:1.8rem;
  transition:border-color .2s ease, transform .2s ease;
}
.card:hover{ border-color:rgba(56,182,255,.4); transform:translateY(-3px); }
.card .num{
  font-family:'JetBrains Mono', monospace;
  font-size:.72rem; color:var(--highlight);
  letter-spacing:.1em;
}
.card h3{
  font-size:1.18rem; margin:.8rem 0 .6rem;
  text-transform:none; letter-spacing:0;
  color:#fff;
}
.card p{ color:#9aa3b1; font-size:.93rem; }
.card-icon{
  width:38px;height:38px;color:var(--accent); margin-bottom:.4rem;
}

/* ---------- How it works ---------- */
.steps{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
  position:relative;
}
.step{
  padding:0 1.4rem;
  position:relative;
}
.step:not(:last-child)::after{
  content:"";
  position:absolute; top:18px; right:-10%;
  width:20%; height:1px;
  background:repeating-linear-gradient(90deg, var(--panel-line) 0 6px, transparent 6px 11px);
}
.hero-image{
    width:100%;
    max-width:560px;
    height:auto;
    aspect-ratio:1/1;
    object-fit:cover;
    margin:auto;
    display:block;
    border-radius:10px;
}
.step .step-num{
  width:38px; height:38px; border-radius:50%;
  border:1px solid var(--highlight);
  color:var(--highlight);
  font-family:'JetBrains Mono', monospace;
  display:flex; align-items:center; justify-content:center;
  font-size:.85rem; margin-bottom:1.1rem;
}
.step h3{ font-size:1.02rem; color:#fff; text-transform:none; margin-bottom:.5rem;}
.step p{ font-size:.88rem; color:#9aa3b1; }

/* ---------- CTA band ---------- */
.cta-band{
  background:linear-gradient(120deg, #07101f, #050a14 60%);
  border-bottom:1px solid var(--panel-line);
  position:relative;
  overflow:hidden;
}
.cta-band::before{
  content:"";
  position:absolute; inset:0;
  background:radial-gradient(circle at 85% 20%, rgba(0,102,255,.25), transparent 55%);
}
.cta-inner{
  position:relative;
  display:flex; align-items:center; justify-content:space-between;
  gap:2rem; flex-wrap:wrap;
}
.cta-inner h2{ font-size:clamp(1.6rem,3vw,2.3rem); max-width:520px;}
.cta-inner p{ color:#aab3c2; margin-top:.6rem; max-width:460px;}

/* ---------- Footer ---------- */
footer{
  padding:64px 0 28px;
}
.footer-grid{
  display:grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr;
  gap:2.5rem;
  padding-bottom:2.6rem;
  border-bottom:1px solid var(--panel-line);
}
.footer-grid h4{
  font-size:.78rem; color:var(--highlight);
  text-transform:uppercase; letter-spacing:.1em;
  margin-bottom:1.1rem;
}
.footer-grid li{ margin-bottom:.65rem; }
.footer-grid a{ color:#9aa3b1; font-size:.9rem; }
.footer-grid a:hover{ color:var(--highlight); }
.footer-brand p{ color:#8b94a3; font-size:.88rem; margin-top:.9rem; max-width:32ch;}
.footer-bottom{
  display:flex; justify-content:space-between; align-items:center;
  padding-top:1.6rem; flex-wrap:wrap; gap:.8rem;
}
.footer-bottom p{ font-size:.78rem; color:#6b7383; }
.footer-social{ display:flex; gap:1rem; }
.footer-social a{
  width:36px;height:36px; border:1px solid var(--panel-line); border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  color:#9aa3b1;
}
.footer-social a:hover{ color:var(--highlight); border-color:var(--highlight); }

/* ---------- Page header (inner pages) ---------- */
.page-header{
  padding:64px 0 48px;
  border-bottom:1px solid var(--panel-line);
  background:radial-gradient(ellipse 60% 80% at 90% 0%, rgba(0,102,255,.16), transparent 60%);
  text-align: center;
}
.page-header h1{  text-align: center;
 font-size:clamp(2rem,4.2vw,3.1rem); margin-top:.9rem; }
.page-header p{   text-align: center;
color:#aab3c2; max-width:54ch; margin-top:1rem; }
.breadcrumb{
  font-family:'JetBrains Mono', monospace;
  font-size:.72rem; color:#6b7383; letter-spacing:.05em;
}
.breadcrumb a{ color:#9aa3b1; }
.breadcrumb a:hover{ color:var(--highlight); }
.page-header {
    text-align: center;
    padding: 80px 20px;
}

.page-header .wrap {
    max-width: 850px;
    margin: 0 auto;
}

.page-header h1,
.page-header p {
    margin-left: auto;
    margin-right: auto;
}

.page-header h1 {
    margin-bottom: 20px;
}

.page-header p {
    max-width: 700px;
    line-height: 1.7;
}

.company-badge{
    display:flex;              /* or inline-flex */
    align-items:center;
    justify-content:center;
    gap:18px;
    width:fit-content;
    margin:35px auto;
    padding:16px 26px;
    background:#fff;
    border-radius:18px;
    box-shadow:0 15px 40px rgba(0,0,0,.12);
}

.company-badge img{
    width:70px;
    height:70px;
    object-fit:contain;
}

.company-badge div{
    display:flex;
    flex-direction:column;
    text-align:left;
}

.company-badge strong{
    font-size:1.2rem;
    color:#111;
}

.company-badge span{
    font-size:.95rem;
    color:#666;
}
/* ---------- Forms ---------- */
.form-card{
  background:var(--panel);
  border:1px solid var(--panel-line);
  border-radius:10px;
  padding:2.2rem;
}
.field{ margin-bottom:1.3rem; }
.field label{
  display:block; font-size:.78rem; text-transform:uppercase;
  letter-spacing:.06em; color:#9aa3b1; margin-bottom:.5rem;
}
.field input, .field select, .field textarea{
  width:100%;
  background:#0c0f15;
  border:1px solid var(--panel-line);
  border-radius:6px;
  padding:.85rem .95rem;
  color:var(--ink);
  font-family:'Inter', sans-serif;
  font-size:.93rem;
}
.field textarea{ resize:vertical; min-height:110px; }
.field input:focus, .field select:focus, .field textarea:focus{
  outline:none; border-color:var(--highlight);
  box-shadow:0 0 0 3px rgba(56,182,255,.15);
}
.field-row{ display:grid; grid-template-columns:1fr 1fr; gap:1.2rem; }
.field-row-3{ display:grid; grid-template-columns:1fr 1fr 1fr; gap:1.2rem; }
fieldset{ border:0; margin-bottom:1.6rem; }
fieldset legend{
  font-family:'JetBrains Mono', monospace;
  font-size:.72rem; color:var(--highlight);
  text-transform:uppercase; letter-spacing:.1em;
  margin-bottom:1rem; padding:0;
}
.radio-group{ display:flex; gap:.8rem; flex-wrap:wrap; }
.radio-card{
  border:1px solid var(--panel-line);
  border-radius:6px;
  padding:.7rem 1rem;
  font-size:.85rem;
  cursor:pointer;
  display:flex; align-items:center; gap:.5rem;
}
.radio-card:has(input:checked){ border-color:var(--highlight); color:#fff; background:rgba(56,182,255,.06); }
.radio-card input{ accent-color:var(--highlight); }
.form-note{ font-size:.8rem; color:#6b7383; margin-top:1rem; }

.contact-grid{
  display:grid; grid-template-columns:.9fr 1.1fr; gap:2.6rem;
}
.contact-detail{
  display:flex; gap:1rem; padding:1.2rem 0;
  border-bottom:1px solid var(--panel-line);
}
.contact-detail:first-child{ padding-top:0; }
.contact-detail .ic{ width:22px;height:22px; color:var(--highlight); flex-shrink:0; margin-top:.15rem;}
.contact-detail h4{ font-size:.86rem; text-transform:uppercase; letter-spacing:.04em; color:#fff; margin-bottom:.25rem;}
.contact-detail p, .contact-detail a{ color:#aab3c2; font-size:.92rem; }

/* ---------- Policy page ---------- */
.policy-layout{ display:grid; grid-template-columns:260px 1fr; gap:3rem; align-items:start; }
.policy-toc{
  position:sticky; top:100px;
  border-left:1px solid var(--panel-line);
  padding-left:1.2rem;
}
.policy-toc a{
  display:block; padding:.45rem 0; font-size:.86rem; color:#9aa3b1;
}
.policy-toc a:hover{ color:var(--highlight); }
.policy-body h2{
  font-size:1.4rem; margin-top:2.6rem; margin-bottom:1rem;
  padding-top:1rem;
  scroll-margin-top:100px;
}
.policy-body h2:first-child{ margin-top:0; }
.policy-body p, .policy-body li{ color:#aab3c2; font-size:.95rem; margin-bottom:.9rem; }
.policy-body ul{ list-style:disc; padding-left:1.3rem; }
.policy-body strong{ color:#fff; }
.policy-updated{
  font-family:'JetBrains Mono', monospace;
  font-size:.72rem; color:var(--highlight); letter-spacing:.05em;
}

/* ---------- Why-us checklist ---------- */
.check-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:.9rem 2rem; }
.check-item{ display:flex; align-items:flex-start; gap:.7rem; }
.check-item svg{ width:18px;height:18px; color:var(--highlight); flex-shrink:0; margin-top:.2rem;}
.check-item span{ font-size:.93rem; color:#cfd6e0; }

/* ---------- Mobile ---------- */
@media (max-width:980px){
  nav.main-nav{
    position:fixed; inset:74px 0 0 0;
    background:var(--bg);
    flex-direction:column; align-items:flex-start;
    padding:2rem 24px; gap:1.6rem;
    transform:translateX(100%);
    transition:transform .3s ease;
    overflow-y:auto;
  }
  nav.main-nav.open{ transform:translateX(0); }
  nav.main-nav a{ font-size:1.1rem; }
  .nav-toggle{ display:flex; }
.header-cta .btn-ghost{
    display:none;
}
  .hero-grid{ grid-template-columns:1fr; }
  .hero{ padding:64px 0 56px; }
  .grid-3{ grid-template-columns:1fr; }
  .grid-2{ grid-template-columns:1fr; }
  .steps{ grid-template-columns:1fr; gap:1.8rem; }
  .step:not(:last-child)::after{ display:none; }
  .footer-grid{ grid-template-columns:1fr 1fr; gap:2rem 1.2rem; }
  .footer-brand{ grid-column:1/-1; }
  .contact-grid{ grid-template-columns:1fr; }
  .field-row, .field-row-3{ grid-template-columns:1fr; }
  .policy-layout{ grid-template-columns:1fr; }
  .policy-toc{ position:static; border-left:0; border-bottom:1px solid var(--panel-line); padding:0 0 1.2rem; margin-bottom:1.6rem; }
  .policy-toc a{ display:inline-block; padding:.3rem .8rem .3rem 0; }
  .check-grid{ grid-template-columns:1fr; }
  .cta-inner{ flex-direction:column; align-items:flex-start; }
}
@media (max-width:980px){

.header-cta{
    gap:.5rem;
}

.header-cta .btn{
    display:none;
}

.nav-toggle{
    display:flex;
}

}
@media (prefers-reduced-motion: reduce){
  *{ animation-duration:0.001s !important; transition-duration:0.001s !important; }
}
.logo img{
    width:60px;
    height:60px;
}
@media(max-width:980px){

.logo img{
    width:42px !important;
    height:42px !important;
}

.logo{
    font-size:.95rem;
}

.logo small{
    font-size:.5rem;
}

}
@media(max-width:980px){

.hero-actions{
    display:flex;
    flex-direction:column;
}

.hero-actions .btn{
    width:100%;
}

}
@media(max-width:980px){

.hero-stats{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:16px;
    text-align:center;
}

.hero-stats b{
    font-size:1.3rem;
}

}
.card{
    padding:2rem;
}

@media(max-width:980px){

.card{
    padding:1.5rem;
}

.card h3{
    font-size:1.3rem;
}

.card p{
    font-size:.95rem;
}

}
@media(max-width:980px){

section{
    padding:60px 0;
}

}
@media(max-width:980px){

.wrap{
    padding:0 18px;
}

}
@media(max-width:700px){

.footer-grid{
    grid-template-columns:1fr;
    text-align:center;
}

.footer-brand{
    text-align:center;
}

.footer-bottom{
    justify-content:center;
    text-align:center;
}

.footer-social{
    justify-content:center;
}

}
@media(max-width:980px){

.cta-inner{
    text-align:center;
    align-items:center;
}

.cta-inner p,
.cta-inner h2{
    max-width:100%;
}

.cta-inner .btn{
    width:100%;
}

}
@media(max-width:980px){

nav.main-nav{

    width:300px;

    left:auto;

    right:0;

    inset:74px 0 0 auto;

    border-left:1px solid var(--panel-line);

    box-shadow:-20px 0 50px rgba(0,0,0,.4);

}

}
@media(max-width:980px){

.btn{

    min-height:52px;

    font-size:.9rem;

}

}

html,
body{
    overflow-x:hidden;
}

img,
svg{
    max-width:100%;
}
@media(max-width:980px){

h2{

    font-size:2rem;

}

p{

    font-size:.98rem;

}

}
.route-card{

    padding:12px;

}

.route-card img{

    width:100%;

    height:auto;

    border-radius:8px;

}
@media (max-width:980px){

.main-nav{
    position:fixed;
    top:74px;
    right:-100%;
    width:300px;
    max-width:85%;
    height:calc(100vh - 74px);

    display:flex;
    flex-direction:column;
    gap:1.4rem;

    padding:2rem;

    background:var(--bg);
    border-left:1px solid var(--panel-line);

    transition:right .35s ease;
    z-index:999;

    overflow-y:auto;
}

.main-nav.open{
    right:0;
}

.nav-toggle{
    display:flex;
}

.header-cta .btn{
    display:none;
}

}
.transport-intro{
    display:grid;
    grid-template-columns:1fr 480px;
    gap:60px;
    align-items:center;
    margin-bottom:60px;
}

.transport-image img{
    width:100%;
    height:320px;
    object-fit:contain;
    border-radius:20px;
    box-shadow:0 20px 40px rgba(0,0,0,.25);
}

@media (max-width:900px){

.transport-intro{
    grid-template-columns:1fr;
}

.transport-image{
    order:-1;
}

.transport-image img{
    height:260px;
}

}
.values-intro{
    display:grid;
    grid-template-columns:1fr 450px;
    gap:60px;
    align-items:center;
    margin-bottom:60px;
}

.values-image img{
    width:100%;
    height:320px;
    object-fit:contain;
    border-radius:20px;
    display:block;
    box-shadow:0 20px 45px rgba(0,0,0,.25);
}

@media (max-width:900px){

.values-intro{
    grid-template-columns:1fr;
}

.values-image{
    order:-1;
}

.values-image img{
    height:260px;
}

}
.why-grid{
    display:grid;
    grid-template-columns:1fr 500px;
    gap:60px;
    align-items:center;
}

.why-image img{
    width:100%;
    height:600px;
    object-fit:contain;
    border-radius:24px;
    display:block;
    box-shadow:0 20px 50px rgba(0,0,0,.25);
}

@media (max-width:900px){

.why-grid{
    grid-template-columns:1fr;
}

.why-image{
    order:-1;
}

.why-image img{
    height:320px;
}

}