/* ==========================================================================
   RAJKABIR LOGISTIX PRIVATE LIMITED
   Design system + components
   ========================================================================== */

/* ---------- Tokens ---------- */
:root{
  /* core palette */
  --navy-950:#03080F;
  --navy-900:#050B16;
  --navy-850:#08111F;
  --navy-800:#0A1526;
  --navy-700:#0F1F35;
  --navy-600:#16304F;
  --navy-500:#1E4270;

  --white:#FFFFFF;
  --paper:#F5F8FC;
  --paper-2:#EDF2F9;

  --blue:#2563FF;
  --blue-2:#5B8CFF;
  --blue-3:#9DBAFF;
  --blue-deep:#0B2A6B;

  --orange:#FF7A2F;
  --orange-2:#FFA45C;

  --ink:#0A1526;
  --ink-2:#22344E;
  --muted:#5D6F88;
  --muted-light:rgba(255,255,255,.62);

  --line:rgba(10,21,38,.10);
  --line-2:rgba(10,21,38,.06);
  --line-dark:rgba(255,255,255,.10);
  --line-dark-2:rgba(255,255,255,.06);

  /* type */
  --font-display:'Sora','Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  --font-body:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;

  /* layout */
  --shell:1240px;
  --gutter:clamp(20px,5vw,48px);
  --radius:18px;
  --radius-lg:26px;
  --radius-sm:12px;

  /* elevation */
  --sh-1:0 1px 2px rgba(10,21,38,.05), 0 8px 24px -12px rgba(10,21,38,.16);
  --sh-2:0 2px 4px rgba(10,21,38,.05), 0 18px 46px -18px rgba(10,21,38,.22);
  --sh-3:0 30px 70px -28px rgba(10,21,38,.34);
  --sh-blue:0 18px 44px -16px rgba(37,99,255,.55);

  --ease:cubic-bezier(.2,.7,.25,1);
  --ease-out:cubic-bezier(.16,1,.3,1);

  /* 3D scene camera */
  --camX:58deg;
  --camZ:-32deg;
}

/* ---------- Reset ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:88px}
body{
  margin:0;
  font-family:var(--font-body);
  font-size:16.5px;
  line-height:1.65;
  color:var(--ink);
  background:var(--white);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}
img,svg{display:block;max-width:100%}
h1,h2,h3,h4{margin:0;font-family:var(--font-display);font-weight:600;line-height:1.08;letter-spacing:-.02em}
p{margin:0 0 1em}
ul,ol{margin:0;padding:0;list-style:none}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
address{font-style:normal}

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

.shell{width:100%;max-width:var(--shell);margin-inline:auto;padding-inline:var(--gutter)}

.skip-link{
  position:fixed;left:16px;top:-100px;z-index:200;
  background:var(--blue);color:#fff;padding:12px 18px;border-radius:10px;
  font-weight:600;transition:top .25s var(--ease);
}
.skip-link:focus{top:16px}

/* ---------- Typography helpers ---------- */
.h2{
  font-size:clamp(2rem,4.2vw,3.35rem);
  letter-spacing:-.032em;
  color:var(--ink);
}
.h2--light{color:#fff}

/* Blue-to-light only: interpolating straight from blue to orange desaturates
   through grey mid-word, which reads as muddy. Orange stays an accent colour. */
.grad{
  background:linear-gradient(96deg,#5B8CFF 0%,#9DBAFF 52%,#EEF4FF 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.grad-ink{
  background:linear-gradient(96deg,#3E7BFF 0%,var(--blue) 42%,var(--blue-deep) 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}

.eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-size:.775rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  color:var(--blue-3);margin:0 0 20px;
}
.eyebrow--dark{color:var(--blue)}
.eyebrow__dot{
  width:7px;height:7px;border-radius:50%;background:currentColor;
  box-shadow:0 0 0 4px color-mix(in srgb,currentColor 22%,transparent);
  animation:blip 2.6s var(--ease) infinite;
}
@keyframes blip{0%,100%{opacity:.5;transform:scale(.85)}50%{opacity:1;transform:scale(1)}}

.prose p{color:var(--muted);font-size:1.02rem;max-width:60ch}

/* ---------- Sections ---------- */
.section{position:relative;padding:clamp(84px,10vw,140px) 0}
.section--light{background:var(--white)}
.section--paper{background:var(--paper)}
.section--dark{background:var(--navy-900);color:#fff;overflow:hidden}
.section--dark p{color:var(--muted-light)}

.sec-head{max-width:720px;margin-bottom:clamp(44px,5vw,68px)}
.sec-head--center{margin-inline:auto;text-align:center}
.sec-head--center .eyebrow{justify-content:center}
.sec-head__lede{margin-top:20px;color:var(--muted);font-size:1.06rem}
.section--dark .sec-head__lede{color:var(--muted-light)}

/* ---------- Buttons ---------- */
.btn{
  --btn-bg:var(--blue);
  position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:15px 26px;border:0;border-radius:999px;cursor:pointer;
  font-family:var(--font-display);font-weight:600;font-size:.95rem;letter-spacing:-.01em;
  transition:transform .3s var(--ease-out),box-shadow .3s var(--ease),background .3s var(--ease),color .3s var(--ease);
  overflow:hidden;isolation:isolate;text-align:center;
}
.btn__ico{width:19px;height:19px;transition:transform .35s var(--ease-out)}
.btn:hover .btn__ico{transform:translateX(4px)}

.btn--primary{
  background:linear-gradient(135deg,var(--blue) 0%,#1B4FD8 62%,#12369E 100%);
  color:#fff;box-shadow:var(--sh-blue);
}
.btn--primary::after{
  content:"";position:absolute;inset:0;z-index:-1;opacity:0;
  background:linear-gradient(135deg,#3E7BFF 0%,var(--blue) 60%,#1B4FD8 100%);
  transition:opacity .35s var(--ease);
}
.btn--primary:hover{transform:translateY(-2px);box-shadow:0 24px 54px -18px rgba(37,99,255,.72)}
.btn--primary:hover::after{opacity:1}
.btn--primary:active{transform:translateY(0)}

.btn--ghost{
  background:rgba(255,255,255,.05);color:#fff;
  border:1px solid rgba(255,255,255,.20);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
}
.btn--ghost:hover{background:rgba(255,255,255,.11);border-color:rgba(255,255,255,.36);transform:translateY(-2px)}
.section--light .btn--ghost,.section--paper .btn--ghost{
  background:transparent;color:var(--ink);border-color:var(--line);
}
.section--light .btn--ghost:hover{background:var(--paper);border-color:rgba(10,21,38,.2)}

.btn--sm{padding:11px 20px;font-size:.875rem}
.btn--lg{padding:17px 34px;font-size:1rem}
.btn--block{width:100%;margin-top:8px}

/* ==========================================================================
   NAV
   ========================================================================== */
.nav{
  position:fixed;inset:0 0 auto;z-index:100;
  transition:background .4s var(--ease),box-shadow .4s var(--ease),backdrop-filter .4s;
}
.nav__inner{display:flex;align-items:center;gap:24px;height:80px;transition:height .4s var(--ease)}
.nav.scrolled{
  background:rgba(255,255,255,.82);
  backdrop-filter:saturate(180%) blur(18px);-webkit-backdrop-filter:saturate(180%) blur(18px);
  box-shadow:0 1px 0 var(--line),0 12px 34px -24px rgba(10,21,38,.5);
}
.nav.scrolled .nav__inner{height:68px}

.brand{display:flex;align-items:center;gap:12px;margin-right:auto;flex-shrink:0}
.brand__mark{display:block;width:40px;height:40px;border-radius:11px;box-shadow:0 8px 20px -8px rgba(37,99,255,.7)}
.brand__mark svg{width:40px;height:40px;border-radius:11px}
.brand__text{display:flex;flex-direction:column;line-height:1.05}
.brand__text strong{
  font-family:var(--font-display);font-size:1.02rem;font-weight:700;letter-spacing:.01em;color:#fff;
  transition:color .35s var(--ease);
}
.brand__text em{
  font-style:normal;font-size:.6rem;font-weight:600;letter-spacing:.18em;
  color:rgba(255,255,255,.55);transition:color .35s var(--ease);
}
.nav.scrolled .brand__text strong{color:var(--ink)}
.nav.scrolled .brand__text em{color:var(--muted)}

.nav__links{display:flex;align-items:center;gap:6px}
.nav__links > a:not(.btn){
  position:relative;padding:10px 14px;border-radius:10px;
  font-size:.925rem;font-weight:500;color:rgba(255,255,255,.76);
  transition:color .3s var(--ease),background .3s var(--ease);
}
.nav__links > a:not(.btn)::after{
  content:"";position:absolute;left:14px;right:14px;bottom:5px;height:2px;border-radius:2px;
  background:linear-gradient(90deg,var(--blue),var(--orange));
  transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease-out);
}
.nav__links > a:not(.btn):hover{color:#fff}
.nav__links > a:not(.btn):hover::after,
.nav__links > a.active::after{transform:scaleX(1)}
.nav.scrolled .nav__links > a:not(.btn){color:var(--ink-2)}
.nav.scrolled .nav__links > a:not(.btn):hover{color:var(--blue)}
.nav__cta{margin-left:10px}

.nav__toggle{
  display:none;width:44px;height:44px;border-radius:12px;background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.16);cursor:pointer;padding:0;
  flex-direction:column;align-items:center;justify-content:center;gap:5px;
}
.nav__toggle span{
  display:block;width:18px;height:2px;border-radius:2px;background:#fff;
  transition:transform .3s var(--ease),opacity .25s var(--ease),background .3s;
}
.nav.scrolled .nav__toggle{background:var(--paper);border-color:var(--line)}
.nav.scrolled .nav__toggle span{background:var(--ink)}
.nav__toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav__toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav__toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.nav__progress{
  height:2px;width:0%;
  background:linear-gradient(90deg,var(--blue),var(--blue-2) 60%,var(--orange));
  transition:width .1s linear;opacity:0;
}
.nav.scrolled .nav__progress{opacity:1}

/* ==========================================================================
   HERO
   ========================================================================== */
.hero{
  position:relative;
  background:linear-gradient(180deg,var(--navy-900) 0%,var(--navy-850) 55%,var(--navy-900) 100%);
  color:#fff;overflow:hidden;
  padding:clamp(110px,13vw,132px) 0 clamp(64px,8vw,96px);
  min-height:min(100svh,940px);
  display:flex;align-items:center;
}
.hero__bg{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.hero__grid{
  position:absolute;inset:-20% -10% 0;
  background-image:
    linear-gradient(rgba(91,140,255,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(91,140,255,.055) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(90% 70% at 50% 30%,#000 0%,transparent 78%);
  -webkit-mask-image:radial-gradient(90% 70% at 50% 30%,#000 0%,transparent 78%);
}
.orb{position:absolute;border-radius:50%;filter:blur(90px);opacity:.5;pointer-events:none}
.orb--blue{
  width:min(680px,70vw);height:min(680px,70vw);right:-14%;top:-22%;
  background:radial-gradient(circle,rgba(37,99,255,.65) 0%,rgba(37,99,255,0) 68%);
  animation:orbA 22s var(--ease) infinite alternate;
}
.orb--orange{
  width:min(460px,52vw);height:min(460px,52vw);left:-10%;bottom:-18%;
  background:radial-gradient(circle,rgba(255,122,47,.36) 0%,rgba(255,122,47,0) 68%);
  animation:orbB 26s var(--ease) infinite alternate;
}
.orb.soft{opacity:.32;filter:blur(110px)}
.orb.soft2{opacity:.2;filter:blur(120px)}
@keyframes orbA{to{transform:translate3d(-60px,50px,0) scale(1.12)}}
@keyframes orbB{to{transform:translate3d(50px,-40px,0) scale(1.15)}}

.hero__inner{
  position:relative;z-index:2;
  display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,1fr);
  gap:clamp(30px,5vw,64px);align-items:center;
}
.hero__title{
  font-size:clamp(2.5rem,5.3vw,4.05rem);
  font-weight:700;letter-spacing:-.042em;line-height:1.03;margin:0 0 22px;
}
.hero__title .line{display:block}
.hero__lede{
  max-width:50ch;font-size:clamp(1rem,1.25vw,1.11rem);
  color:rgba(255,255,255,.72);margin-bottom:30px;
}
.hero__actions{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:28px}

.hero__chips{display:flex;flex-wrap:wrap;gap:10px}
.hero__chips li{
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 16px 8px 13px;border-radius:999px;
  background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.11);
  font-size:.83rem;font-weight:500;color:rgba(255,255,255,.72);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
}
.hero__chips li::before{
  content:"";width:5px;height:5px;border-radius:50%;
  background:linear-gradient(135deg,var(--blue-2),var(--orange-2));
}

/* ---------- Hero visual wrapper ---------- */
.hero__copy{position:relative;z-index:3}
.hero__visual{position:relative;z-index:2;min-height:clamp(380px,44vw,540px)}

/* ==========================================================================
   3D SCENE
   ========================================================================== */
.scene{
  position:absolute;inset:-10% -14% -8% -6%;
  perspective:1350px;perspective-origin:52% 44%;
  pointer-events:none;overflow:hidden;
  mask-image:radial-gradient(60% 76% at 52% 48%,#000 32%,rgba(0,0,0,0) 82%);
  -webkit-mask-image:radial-gradient(60% 76% at 52% 48%,#000 32%,rgba(0,0,0,0) 82%);
}
.scene.paused *{animation-play-state:paused !important}
.scene__tilt{
  position:absolute;inset:0;
  transform-style:preserve-3d;
  transform:rotateX(var(--tiltX,0deg)) rotateY(var(--tiltY,0deg));
  transition:transform .9s var(--ease-out);
  will-change:transform;
}
.world{
  position:absolute;left:50%;top:52%;width:0;height:0;
  transform-style:preserve-3d;
  transform:rotateX(var(--camX)) rotateZ(var(--camZ)) scale(var(--sceneScale,1));
  animation:worldDrift 26s ease-in-out infinite alternate;
}
@keyframes worldDrift{
  0%  {transform:rotateX(var(--camX)) rotateZ(var(--camZ)) scale(var(--sceneScale,1)) translate3d(0,0,0)}
  100%{transform:rotateX(calc(var(--camX) - 2.5deg)) rotateZ(calc(var(--camZ) + 3deg)) scale(var(--sceneScale,1)) translate3d(0,0,14px)}
}

/* ground */
.ground{
  position:absolute;left:-560px;top:-430px;width:1120px;height:860px;
  border-radius:46% 46% 44% 44%/40%;
  background:
    radial-gradient(60% 50% at 46% 44%,rgba(30,66,112,.55) 0%,rgba(8,17,31,.9) 62%,rgba(5,11,22,0) 88%);
  transform:translateZ(-2px);
  box-shadow:0 0 120px 40px rgba(37,99,255,.06) inset;
}
.ground__grid{
  position:absolute;left:-520px;top:-400px;width:1040px;height:800px;
  background-image:
    linear-gradient(rgba(91,140,255,.13) 1px,transparent 1px),
    linear-gradient(90deg,rgba(91,140,255,.13) 1px,transparent 1px);
  background-size:52px 52px;
  mask-image:radial-gradient(52% 48% at 50% 50%,#000 0%,transparent 82%);
  -webkit-mask-image:radial-gradient(52% 48% at 50% 50%,#000 0%,transparent 82%);
  transform:translateZ(0);
  animation:gridShift 24s linear infinite;
}
@keyframes gridShift{to{background-position:-104px 0,-104px 0}}
.ground__glow{
  position:absolute;left:-260px;top:-200px;width:520px;height:400px;
  background:radial-gradient(50% 50% at 50% 50%,rgba(37,99,255,.30) 0%,rgba(37,99,255,0) 72%);
  transform:translateZ(1px);
  animation:groundPulse 9s ease-in-out infinite;
}
@keyframes groundPulse{0%,100%{opacity:.55}50%{opacity:.95}}

/* roads */
.road{position:absolute;transform-style:preserve-3d}
.road--x{
  left:-520px;top:-58px;width:1040px;height:116px;transform:translateZ(1px);
  background:linear-gradient(180deg,rgba(23,45,78,.0),rgba(28,56,96,.85) 22%,rgba(28,56,96,.85) 78%,rgba(23,45,78,0));
  mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);
}
.road--y{
  left:-30px;top:-420px;width:60px;height:840px;transform:translateZ(1px);
  background:linear-gradient(90deg,rgba(23,45,78,0),rgba(24,48,84,.6) 22%,rgba(24,48,84,.6) 78%,rgba(23,45,78,0));
  mask-image:linear-gradient(180deg,transparent,#000 14%,#000 86%,transparent);
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 14%,#000 86%,transparent);
}
.road__dash{
  position:absolute;left:0;right:0;top:50%;height:2px;margin-top:-1px;
  background:repeating-linear-gradient(90deg,rgba(155,190,255,.55) 0 26px,transparent 26px 56px);
  animation:dashRun 2.4s linear infinite;
}
.road__dash--y{
  left:50%;right:auto;top:0;bottom:0;width:2px;height:auto;margin:0 0 0 -1px;
  background:repeating-linear-gradient(180deg,rgba(155,190,255,.32) 0 22px,transparent 22px 48px);
  animation:dashRunY 3.2s linear infinite;
}
@keyframes dashRun{to{background-position:56px 0}}
@keyframes dashRunY{to{background-position:0 48px}}

/* ---------- cuboid primitive (Z is up) ---------- */
.cub{
  position:absolute;left:0;top:0;width:0;height:0;
  transform-style:preserve-3d;
  transform:translate3d(var(--x,0),var(--y,0),var(--z,0));
}
.cub > .f{position:absolute;left:0;top:0;transform-origin:0 0;display:block}
.cub > .top  {width:var(--w);height:var(--d);transform:translateZ(var(--h));background:var(--c-top,#254A7A)}
.cub > .front{width:var(--w);height:var(--h);transform:translate3d(0,var(--d),var(--h)) rotateX(-90deg);background:var(--c-front,#16304F)}
.cub > .side {width:var(--d);height:var(--h);transform:translate3d(0,0,var(--h)) rotateZ(90deg) rotateX(-90deg);background:var(--c-side,#0F2138)}

/* object materials */
.cub--warehouse{--c-top:#20406B;--c-front:#132B49;--c-side:#0D2039}
.cub--warehouse > .front{
  background-image:
    linear-gradient(90deg,transparent 0 12px,rgba(91,140,255,.22) 12px 30px,transparent 30px 46px),
    linear-gradient(90deg,transparent 0 12px,rgba(91,140,255,.22) 12px 30px,transparent 30px 46px);
  background-size:46px 100%;
  background-color:#132B49;
}
.cub--roof{--c-top:#2C558C;--c-front:#1B3A61;--c-side:#152E4F}
.cub--roof > .top{
  background-image:repeating-linear-gradient(90deg,rgba(255,255,255,.07) 0 3px,transparent 3px 16px);
  background-color:#2C558C;
}
.cub--dock{--c-top:#FF7A2F;--c-front:#D45E1E;--c-side:#B44E17}

.cub--ctr{--c-top:#1D5FD1;--c-front:#12408F;--c-side:#0D3271}
.cub--ctr.b{--c-top:#2B6FE3;--c-front:#1A4EA6;--c-side:#123C83}
.cub--ctr.c{--c-top:#E06A22;--c-front:#B4501A;--c-side:#963F13}
.cub--ctr.d{--c-top:#25508A;--c-front:#193A67;--c-side:#132E53}
.cub--ctr.e{--c-top:#2F6BB8;--c-front:#204A85;--c-side:#183B6B}
.cub--ctr > .front,.cub--ctr > .side{
  background-image:repeating-linear-gradient(90deg,rgba(0,0,0,.14) 0 2px,transparent 2px 9px);
}

.cub--trailer{--c-top:#EDF2F9;--c-front:#C9D6E8;--c-side:#AEC0D9}
.cub--trailer > .front{
  background-image:repeating-linear-gradient(90deg,rgba(10,21,38,.07) 0 2px,transparent 2px 11px),
                   linear-gradient(90deg,rgba(37,99,255,.20),rgba(37,99,255,0) 55%);
  background-color:#C9D6E8;
}
.cub--trailer.alt{--c-top:#8FB2FF;--c-front:#5B8CFF;--c-side:#3C6FE0}
.cub--cab{--c-top:#2563FF;--c-front:#1747C4;--c-side:#12369E}
.cub--cab.alt{--c-top:#FF8F4D;--c-front:#DA6A24;--c-side:#B4541A}
.cub--glass{--c-top:#BFD6FF;--c-front:#7FA9F5;--c-side:#5E8BDB}
.cub--axle{--c-top:#0B1524;--c-front:#070E1A;--c-side:#050A13}

.rig{
  position:absolute;left:0;top:0;width:0;height:0;transform-style:preserve-3d;
  animation:driveMain 19s linear infinite;
}
.rig--return{animation:driveReturn 23s linear infinite;animation-delay:-6s}
.rig__body{position:absolute;transform-style:preserve-3d;animation:bob 3.4s ease-in-out infinite}
.rig__shadow{
  position:absolute;left:-132px;top:-16px;width:178px;height:68px;border-radius:50%;
  background:radial-gradient(50% 50% at 50% 50%,rgba(2,6,14,.55) 0%,rgba(2,6,14,0) 70%);
  transform:translateZ(1px);
}
@keyframes driveMain{
  0%  {transform:translate3d(-400px,26px,0)}
  100%{transform:translate3d(420px,26px,0)}
}
@keyframes driveReturn{
  0%  {transform:translate3d(410px,-34px,0) rotateZ(180deg)}
  100%{transform:translate3d(-410px,-34px,0) rotateZ(180deg)}
}
@keyframes bob{0%,100%{transform:translateZ(0)}50%{transform:translateZ(3px)}}

/* tracking pins (billboarded back toward camera) */
.pin{
  position:absolute;left:0;top:0;width:0;height:0;transform-style:preserve-3d;
  transform:translate3d(var(--x),var(--y),0);
}
.pin__ring{
  position:absolute;left:-32px;top:-32px;width:64px;height:64px;border-radius:50%;
  border:1.5px solid rgba(91,140,255,.85);
  transform:translateZ(1px);
  animation:ripple 3.2s var(--ease-out) infinite;
  animation-delay:var(--delay,0s);
}
.pin__ring::after{
  content:"";position:absolute;inset:0;border-radius:50%;
  border:1.5px solid rgba(91,140,255,.5);
  animation:ripple 3.2s var(--ease-out) infinite;
  animation-delay:calc(var(--delay,0s) + 1.1s);
}
@keyframes ripple{
  0%{transform:translateZ(1px) scale(.2);opacity:0}
  25%{opacity:.9}
  100%{transform:translateZ(1px) scale(1.25);opacity:0}
}
/* vertical stem stands in the world XZ plane, rising from the ground */
.pin__stem{
  position:absolute;left:-1px;top:0;width:2px;height:var(--z);
  transform-origin:0 0;
  transform:translate3d(0,0,var(--z)) rotateX(-90deg);
  background:linear-gradient(180deg,rgba(91,140,255,.75),rgba(91,140,255,0));
}
/* head is lifted in world Z, then counter-rotated so it always faces the camera */
.pin__head{
  position:absolute;left:-13px;top:-13px;width:26px;height:26px;color:var(--blue-2);
  transform:translateZ(var(--z)) rotateZ(calc(var(--camZ) * -1)) rotateX(calc(var(--camX) * -1)) translateY(-13px);
  filter:drop-shadow(0 4px 10px rgba(37,99,255,.6));
  animation:pinFloat 4.6s ease-in-out infinite;
  animation-delay:var(--delay,0s);
}
.pin__head svg{width:26px;height:26px}
.pin--orange .pin__head{color:var(--orange-2);filter:drop-shadow(0 4px 10px rgba(255,122,47,.55))}
.pin--orange .pin__ring{border-color:rgba(255,164,92,.8)}
.pin--orange .pin__ring::after{border-color:rgba(255,164,92,.45)}
@keyframes pinFloat{
  0%,100%{transform:translateZ(var(--z)) rotateZ(calc(var(--camZ) * -1)) rotateX(calc(var(--camX) * -1)) translateY(-13px)}
  50%    {transform:translateZ(var(--z)) rotateZ(calc(var(--camZ) * -1)) rotateX(calc(var(--camX) * -1)) translateY(-20px)}
}

/* route overlay */
.scene__routes{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.routeline{fill:none;stroke:rgba(91,140,255,.20);stroke-width:1.4}
.routeline--faint{stroke:rgba(91,140,255,.10);stroke-dasharray:4 8}
.routeline--dash{
  stroke:url(#rg1);stroke-width:2.6;stroke-linecap:round;
  stroke-dasharray:26 640;stroke-dashoffset:666;
  animation:routeRun 5.4s linear infinite;
}
.routeline--return{stroke:url(#rg2);animation:routeRun 6.6s linear infinite;animation-delay:-2s}
@keyframes routeRun{to{stroke-dashoffset:0}}

/* ---------- floating HUD cards ---------- */
.hud{
  position:absolute;z-index:5;display:flex;align-items:center;gap:12px;
  padding:12px 18px 12px 13px;border-radius:16px;
  background:rgba(10,21,38,.58);
  border:1px solid rgba(255,255,255,.13);
  backdrop-filter:blur(16px) saturate(160%);-webkit-backdrop-filter:blur(16px) saturate(160%);
  box-shadow:0 22px 48px -22px rgba(0,0,0,.85);
  animation:hoverFloat 7s ease-in-out infinite;
}
.hud--a{left:-2%;top:12%}
.hud--b{right:-1%;bottom:16%;animation-delay:-3.2s}
.hud__ico{
  display:grid;place-items:center;width:36px;height:36px;border-radius:11px;flex-shrink:0;
  background:linear-gradient(140deg,rgba(37,99,255,.34),rgba(37,99,255,.10));
  border:1px solid rgba(91,140,255,.32);color:var(--blue-3);
}
.hud__ico--orange{
  background:linear-gradient(140deg,rgba(255,122,47,.30),rgba(255,122,47,.08));
  border-color:rgba(255,164,92,.34);color:var(--orange-2);
}
.hud__ico svg{width:20px;height:20px}
.hud__body{display:flex;flex-direction:column;line-height:1.35}
.hud__body b{font-size:.83rem;font-weight:600;color:#fff}
.hud__body i{font-style:normal;font-size:.72rem;color:rgba(255,255,255,.55)}
@keyframes hoverFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-11px)}}

/* ---------- metric badge ---------- */
.badge{
  position:absolute;z-index:6;left:2%;bottom:2%;
  display:flex;align-items:center;gap:16px;
  padding:16px 24px 16px 20px;border-radius:18px;
  background:linear-gradient(135deg,rgba(255,255,255,.11),rgba(255,255,255,.04));
  border:1px solid rgba(255,255,255,.17);
  backdrop-filter:blur(20px) saturate(170%);-webkit-backdrop-filter:blur(20px) saturate(170%);
  box-shadow:0 26px 60px -26px rgba(0,0,0,.9);
}
.badge::before{
  content:"";position:absolute;left:0;top:16px;bottom:16px;width:3px;border-radius:3px;
  background:linear-gradient(180deg,var(--blue-2),var(--orange));
}
.badge__num{
  font-family:var(--font-display);font-size:2.5rem;font-weight:700;letter-spacing:-.045em;
  background:linear-gradient(135deg,#fff,var(--blue-3));
  -webkit-background-clip:text;background-clip:text;color:transparent;line-height:1;
}
.badge__label{font-size:.78rem;line-height:1.35;color:rgba(255,255,255,.68);font-weight:500}

/* ---------- scroll cue ---------- */
.scroll-cue{
  position:absolute;left:50%;bottom:26px;transform:translateX(-50%);z-index:4;
  display:flex;flex-direction:column;align-items:center;gap:8px;
  font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.4);
  transition:color .3s var(--ease);
}
.scroll-cue:hover{color:rgba(255,255,255,.8)}
.scroll-cue__track{
  width:22px;height:36px;border-radius:12px;border:1.5px solid rgba(255,255,255,.22);
  display:grid;justify-items:center;padding-top:7px;
}
.scroll-cue__track span{
  width:3px;height:7px;border-radius:2px;background:var(--blue-2);
  animation:cue 2s var(--ease) infinite;
}
@keyframes cue{0%{transform:translateY(0);opacity:0}30%{opacity:1}100%{transform:translateY(13px);opacity:0}}

/* ==========================================================================
   ABOUT
   ========================================================================== */
.about{
  display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:clamp(36px,5.5vw,80px);align-items:center;
}
.about__copy .h2{margin-bottom:28px}
.about__stats{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;
  margin-top:40px;padding-top:34px;border-top:1px solid var(--line);
}
.about__stat b{
  display:block;font-family:var(--font-display);font-size:1.7rem;font-weight:700;
  letter-spacing:-.035em;color:var(--ink);margin-bottom:6px;
}
.about__stat span{font-size:.82rem;color:var(--muted);line-height:1.45}

.about__visual{position:relative}
.netcard{
  position:relative;border-radius:var(--radius-lg);overflow:hidden;
  background:linear-gradient(165deg,var(--navy-800) 0%,var(--navy-900) 100%);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:var(--sh-3);
  transform-style:preserve-3d;
  transition:transform .5s var(--ease-out),box-shadow .5s var(--ease);
}
.netcard__head{
  display:flex;align-items:center;gap:7px;
  padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.07);
  background:rgba(255,255,255,.02);
}
.netcard__head .dot{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.16)}
.netcard__head .dot:first-child{background:rgba(255,122,47,.7)}
.netcard__title{
  margin-left:12px;font-size:.78rem;font-weight:600;letter-spacing:.06em;
  text-transform:uppercase;color:rgba(255,255,255,.55);
}
.netcard__live{
  margin-left:auto;display:inline-flex;align-items:center;gap:6px;
  font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--blue-3);
}
.netcard__live i{
  width:6px;height:6px;border-radius:50%;background:#4ADE80;
  box-shadow:0 0 0 3px rgba(74,222,128,.18);animation:blip 2s var(--ease) infinite;
}
.netcard__svg{width:100%;height:auto;display:block}

.net-grid path{stroke:rgba(91,140,255,.07);stroke-width:1;fill:none}
.net-edges path{stroke:rgba(91,140,255,.20);stroke-width:1.2;fill:none}
.net-pulses path{
  fill:none;stroke:var(--blue-2);stroke-width:2.2;stroke-linecap:round;
  stroke-dasharray:16 200;stroke-dashoffset:216;
  animation:netRun 3.6s linear infinite;
  filter:drop-shadow(0 0 6px rgba(91,140,255,.7));
}
.net-pulses .p2{animation-delay:-.9s}
.net-pulses .p3{animation-delay:-1.8s}
.net-pulses .ret{stroke:var(--orange-2);filter:drop-shadow(0 0 6px rgba(255,164,92,.6))}
.net-pulses .p4{animation-delay:-2.4s;animation-duration:4.2s}
.net-pulses .p5{animation-delay:-1.2s;animation-duration:4.8s}
@keyframes netRun{to{stroke-dashoffset:0}}

.node__core{fill:rgba(37,99,255,.22);stroke:var(--blue-2);stroke-width:1.4}
.node__dot{fill:#fff}
.node--hub .node__core{fill:rgba(37,99,255,.34);stroke-width:1.8;r:9}
.node--hub .node__dot{fill:var(--orange-2)}
.node__pulse{
  fill:none;stroke:rgba(91,140,255,.55);stroke-width:1.2;
  transform-origin:center;animation:nodeWave 3s var(--ease-out) infinite;
}
@keyframes nodeWave{0%{transform:scale(.4);opacity:0}30%{opacity:.85}100%{transform:scale(1.5);opacity:0}}

.netcard__legend{
  display:flex;gap:22px;flex-wrap:wrap;
  padding:14px 20px 18px;border-top:1px solid rgba(255,255,255,.07);
  font-size:.76rem;color:rgba(255,255,255,.55);
}
.netcard__legend span{display:inline-flex;align-items:center;gap:8px}
.sw{width:16px;height:3px;border-radius:2px;display:inline-block}
.sw--blue{background:var(--blue-2)}
.sw--orange{background:var(--orange-2)}
.sw--check{width:12px;height:12px;border-radius:50%;border:1.5px solid #4ADE80;background:rgba(74,222,128,.2)}

.netcard__float{
  position:absolute;right:-6px;bottom:-26px;z-index:3;
  padding:14px 20px;border-radius:16px;background:#fff;
  border:1px solid var(--line);box-shadow:var(--sh-2);
  animation:hoverFloat 8s ease-in-out infinite;max-width:230px;
}
.netcard__float b{display:block;font-family:var(--font-display);font-size:.95rem;color:var(--ink)}
.netcard__float span{font-size:.78rem;color:var(--muted);line-height:1.4}

/* ==========================================================================
   VISION / MISSION
   ========================================================================== */
.vm{position:relative}
.vm__bg{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.vm__grid{
  position:relative;display:grid;
  grid-template-columns:minmax(0,1fr) 58px minmax(0,1fr);
  gap:0;align-items:stretch;
}
.vmcard{
  position:relative;padding:clamp(30px,3.4vw,46px);border-radius:var(--radius-lg);
  background:linear-gradient(160deg,rgba(255,255,255,.075) 0%,rgba(255,255,255,.025) 100%);
  border:1px solid rgba(255,255,255,.10);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  transform-style:preserve-3d;overflow:hidden;
  transition:transform .5s var(--ease-out),border-color .4s var(--ease),box-shadow .5s var(--ease);
}
.vmcard:hover{border-color:rgba(91,140,255,.34);box-shadow:0 40px 80px -40px rgba(37,99,255,.5)}
.vmcard__glow{
  position:absolute;left:-30%;top:-60%;width:120%;height:140%;pointer-events:none;
  background:radial-gradient(50% 50% at 50% 50%,rgba(37,99,255,.22) 0%,rgba(37,99,255,0) 70%);
  opacity:.7;transition:opacity .5s var(--ease);
}
.vmcard--mission .vmcard__glow{
  background:radial-gradient(50% 50% at 50% 50%,rgba(255,122,47,.16) 0%,rgba(255,122,47,0) 70%);
  left:auto;right:-30%;
}
.vmcard:hover .vmcard__glow{opacity:1}
.vmcard__ico{
  display:grid;place-items:center;width:54px;height:54px;border-radius:16px;margin-bottom:24px;
  background:linear-gradient(140deg,rgba(37,99,255,.30),rgba(37,99,255,.06));
  border:1px solid rgba(91,140,255,.3);color:var(--blue-2);
  box-shadow:0 14px 30px -16px rgba(37,99,255,.8);
}
.vmcard__ico--orange{
  background:linear-gradient(140deg,rgba(255,122,47,.28),rgba(255,122,47,.05));
  border-color:rgba(255,164,92,.32);color:var(--orange-2);
  box-shadow:0 14px 30px -16px rgba(255,122,47,.7);
}
.vmcard__ico svg{width:26px;height:26px}
.vmcard__title{
  font-size:clamp(1.5rem,2.3vw,1.95rem);color:#fff;margin-bottom:16px;letter-spacing:-.03em;
}
.vmcard p{color:rgba(255,255,255,.68);font-size:1.01rem;margin:0}

.ticks{display:grid;gap:14px}
.ticks li{
  position:relative;padding-left:32px;color:rgba(255,255,255,.7);font-size:.96rem;line-height:1.55;
}
.ticks li::before{
  content:"";position:absolute;left:0;top:3px;width:19px;height:19px;border-radius:50%;
  background:linear-gradient(140deg,rgba(37,99,255,.4),rgba(37,99,255,.12));
  border:1px solid rgba(91,140,255,.45);
}
.ticks li::after{
  content:"";position:absolute;left:5.5px;top:9px;width:8px;height:4.5px;
  border-left:1.8px solid var(--blue-2);border-bottom:1.8px solid var(--blue-2);
  transform:rotate(-45deg);
}

.vm__link{position:relative;display:grid;place-items:center}
.vm__link svg{width:40px;height:100%;overflow:visible}
.vm__path{fill:none;stroke:rgba(91,140,255,.2);stroke-width:1.6}
.vm__path--flow{
  stroke:var(--orange-2);stroke-width:2.4;stroke-linecap:round;
  stroke-dasharray:22 260;stroke-dashoffset:282;
  animation:netRun 4.2s linear infinite;
  filter:drop-shadow(0 0 6px rgba(255,164,92,.6));
}
.vm__node{
  position:absolute;left:50%;width:11px;height:11px;margin-left:-5.5px;border-radius:50%;
  background:var(--navy-900);border:2px solid var(--blue-2);
  box-shadow:0 0 0 5px rgba(37,99,255,.14);
}
.vm__node--a{top:calc(50% - 130px)}
.vm__node--b{top:calc(50% + 120px)}

/* ==========================================================================
   SERVICES
   ========================================================================== */
.svc{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(14px,1.6vw,22px);
}
.svc__card{
  position:relative;padding:30px 26px 34px;border-radius:var(--radius);
  background:#fff;border:1px solid var(--line);
  transform-style:preserve-3d;overflow:hidden;
  transition:transform .5s var(--ease-out),box-shadow .5s var(--ease),border-color .4s var(--ease);
  will-change:transform;
}
.svc__card::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:0;
  background:radial-gradient(60% 50% at 50% 0%,rgba(37,99,255,.10) 0%,transparent 70%);
  transition:opacity .45s var(--ease);
}
.svc__card:hover{border-color:rgba(37,99,255,.28);box-shadow:0 36px 66px -34px rgba(10,21,38,.42)}
.svc__card:hover::before{opacity:1}

.svc__ico{width:64px;height:64px;margin-bottom:22px;transform:translateZ(30px)}
.svc__ico svg{width:64px;height:64px;overflow:visible}
.svc__ico .iso{transition:transform .5s var(--ease-out)}
.svc__card:hover .iso{transform:translateY(-3px)}
.s-top{fill:#5B8CFF}
.s-top2{fill:#8FB2FF}
.s-left{fill:#1747C4}
.s-left2{fill:#2563FF}
.s-right{fill:#2563FF}
.s-right2{fill:#3E7BFF}
.s-cab{fill:#0F3AA8}
.s-chip{fill:#FF9E5C}
.s-dot{fill:#FF7A2F}
.s-dot2{fill:#9DBAFF}
.s-link{stroke:#5B8CFF;stroke-width:2;fill:none;stroke-linecap:round}
.s-top.o{fill:#FFA45C}.s-left.o{fill:#D45E1E}.s-right.o{fill:#FF7A2F}
.loop{stroke:#FF7A2F;stroke-width:2.2;stroke-linecap:round;stroke-dasharray:5 6;animation:loopSpin 6s linear infinite}
.loop-arrow{stroke:#FF7A2F;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
@keyframes loopSpin{to{stroke-dashoffset:-44}}

.svc__card h3{
  font-size:1.06rem;font-weight:600;letter-spacing:-.02em;margin-bottom:10px;
  transform:translateZ(18px);
}
.svc__card p{
  font-size:.9rem;color:var(--muted);margin:0;line-height:1.6;transform:translateZ(10px);
}
.svc__arrow{
  position:absolute;right:22px;top:30px;width:26px;height:26px;border-radius:50%;
  border:1px solid var(--line);opacity:0;transform:translate(-6px,6px);
  transition:opacity .4s var(--ease),transform .4s var(--ease-out),background .4s;
}
.svc__arrow::after{
  content:"";position:absolute;left:8px;top:9px;width:7px;height:7px;
  border-top:1.6px solid var(--blue);border-right:1.6px solid var(--blue);
  transform:rotate(45deg);
}
.svc__card:hover .svc__arrow{opacity:1;transform:translate(0,0);background:rgba(37,99,255,.07)}

/* featured — Return Load Management */
.svc__card--feature{
  grid-column:span 2;grid-row:span 1;
  background:
    radial-gradient(120% 100% at 100% 0%,rgba(255,122,47,.10) 0%,transparent 55%),
    linear-gradient(160deg,#0A1526 0%,#050B16 100%);
  border-color:rgba(255,164,92,.22);color:#fff;
  display:flex;flex-direction:column;
  box-shadow:0 36px 76px -38px rgba(10,21,38,.7);
}
.svc__card--feature h3{color:#fff;font-size:1.35rem}
.svc__card--feature p{color:rgba(255,255,255,.68);font-size:.96rem;max-width:46ch}
.svc__card--feature:hover{border-color:rgba(255,164,92,.5)}
.svc__card--feature::before{background:radial-gradient(60% 60% at 80% 0%,rgba(255,122,47,.18) 0%,transparent 70%)}
.svc__card--feature .svc__arrow{border-color:rgba(255,255,255,.18)}
.svc__card--feature .svc__arrow::after{border-color:var(--orange-2)}
.svc__tag{
  display:inline-flex;align-self:flex-start;margin-bottom:18px;
  padding:6px 13px;border-radius:999px;font-size:.68rem;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;color:var(--orange-2);
  background:rgba(255,122,47,.12);border:1px solid rgba(255,164,92,.3);
}

.rl-viz{margin-top:auto;padding-top:26px;display:grid;gap:12px}
.rl-viz__lane{display:flex;align-items:center;gap:14px}
.rl-viz__label{
  flex:0 0 96px;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;
  color:rgba(255,255,255,.45);
}
.rl-viz__track{
  position:relative;flex:1;height:2px;border-radius:2px;
  background:repeating-linear-gradient(90deg,rgba(91,140,255,.35) 0 8px,transparent 8px 16px);
}
.rl-viz__lane--ret .rl-viz__track{
  background:repeating-linear-gradient(90deg,rgba(255,164,92,.4) 0 8px,transparent 8px 16px);
}
.rl-viz__lane--ret .rl-viz__label{color:var(--orange-2)}
.rl-viz__truck{
  position:absolute;top:-5px;left:0;width:22px;height:12px;border-radius:3px;
  background:linear-gradient(90deg,var(--blue-2),#fff);
  box-shadow:0 0 14px rgba(91,140,255,.7);
  animation:laneRun 4.6s linear infinite;
}
.rl-viz__lane--ret .rl-viz__truck{
  background:linear-gradient(90deg,#fff,var(--orange-2));
  box-shadow:0 0 14px rgba(255,164,92,.7);
  animation:laneRunBack 4.6s linear infinite;animation-delay:-2.3s;
}
@keyframes laneRun{0%{left:-8%;opacity:0}10%{opacity:1}90%{opacity:1}100%{left:100%;opacity:0}}
@keyframes laneRunBack{0%{left:100%;opacity:0}10%{opacity:1}90%{opacity:1}100%{left:-8%;opacity:0}}

/* ==========================================================================
   WHY CHOOSE US
   ========================================================================== */
.why{position:relative}
.why__bg{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.why__inner{
  position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.02fr);
  gap:clamp(40px,6vw,90px);align-items:center;
}
.why__list{display:grid;gap:2px;margin-top:34px}
.why__list li{
  display:flex;align-items:center;gap:18px;padding:16px 18px;border-radius:14px;
  font-size:1.02rem;font-weight:500;color:rgba(255,255,255,.82);
  border:1px solid transparent;
  transition:background .35s var(--ease),border-color .35s var(--ease),transform .35s var(--ease-out);
}
.why__list li:hover{
  background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.09);transform:translateX(6px);
}
.why__n{
  flex:0 0 auto;font-family:var(--font-display);font-size:.76rem;font-weight:600;
  letter-spacing:.08em;color:var(--blue-2);
  padding:4px 9px;border-radius:7px;background:rgba(37,99,255,.13);
  border:1px solid rgba(91,140,255,.22);
}
.why__list li:nth-child(4) .why__n{color:var(--orange-2);background:rgba(255,122,47,.13);border-color:rgba(255,164,92,.26)}

/* India map */
.map{position:relative;margin:0;display:grid;justify-items:center}
.map__svg{width:100%;max-width:460px;height:auto;overflow:visible}
.map__shape{
  fill:url(#mapFill);stroke:url(#mapStroke);stroke-width:1.6;
  stroke-linejoin:round;
  filter:drop-shadow(0 24px 50px rgba(0,0,0,.5));
}
.map__routes path{fill:none;stroke:rgba(91,140,255,.22);stroke-width:1.2}
.flow{
  fill:none;stroke:var(--blue-2);stroke-width:2;stroke-linecap:round;
  stroke-dasharray:14 300;stroke-dashoffset:314;
  animation:netRun 4.4s linear infinite;
  filter:drop-shadow(0 0 5px rgba(91,140,255,.75));
}
.f2{animation-delay:-.8s;animation-duration:5s}
.f3{animation-delay:-1.6s;animation-duration:5.6s}
.f4{animation-delay:-2.4s;animation-duration:5.2s}
.f5{animation-delay:-3.2s;animation-duration:4.8s}
.flow.ret{stroke:var(--orange-2);filter:drop-shadow(0 0 5px rgba(255,164,92,.7))}
.r-a{animation-duration:6s;animation-delay:-1s}
.r-b{animation-duration:6.6s;animation-delay:-3s}
.r-c{animation-duration:5.8s;animation-delay:-4.4s}

.mnode__core{fill:rgba(37,99,255,.28);stroke:var(--blue-2);stroke-width:1.3}
.mnode__dot{fill:#fff}
.mnode--hub .mnode__core{fill:rgba(37,99,255,.45);stroke-width:1.8}
.mnode--hub .mnode__dot{fill:var(--orange-2)}
.mnode__wave{
  fill:none;stroke:rgba(91,140,255,.6);stroke-width:1.2;
  transform-origin:center;animation:nodeWave 3.4s var(--ease-out) infinite;
}
.mnode__wave.w2{animation-delay:1.7s}
.mnode--done .mnode__core{fill:rgba(74,222,128,.22);stroke:#4ADE80}
.mnode__check{fill:none;stroke:#4ADE80;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}

.veh{fill:#fff;filter:drop-shadow(0 0 6px rgba(255,255,255,.9))}
.veh.ret{fill:var(--orange-2);filter:drop-shadow(0 0 6px rgba(255,164,92,.9))}

.map__legend{
  display:flex;flex-wrap:wrap;gap:20px;margin-top:26px;
  font-size:.78rem;color:rgba(255,255,255,.55);
}
.map__legend span{display:inline-flex;align-items:center;gap:8px}

.map__badge{
  position:absolute;right:0;top:14%;
  padding:12px 18px;border-radius:14px;
  background:rgba(10,21,38,.7);border:1px solid rgba(255,255,255,.12);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  box-shadow:0 20px 44px -24px rgba(0,0,0,.9);
  animation:hoverFloat 9s ease-in-out infinite;
}
.map__badge b{display:block;font-family:var(--font-display);font-size:.95rem;color:#fff}
.map__badge span{font-size:.72rem;color:rgba(255,255,255,.5)}

/* ==========================================================================
   COVERAGE
   ========================================================================== */
.coverage{position:relative;overflow:hidden}
.coverage__bg{
  position:absolute;inset:0;pointer-events:none;
  background-image:radial-gradient(rgba(37,99,255,.16) 1px,transparent 1px);
  background-size:26px 26px;
  mask-image:radial-gradient(58% 62% at 50% 38%,#000 0%,transparent 78%);
  -webkit-mask-image:radial-gradient(58% 62% at 50% 38%,#000 0%,transparent 78%);
}

.coverage__stats{
  position:relative;z-index:1;
  display:flex;align-items:center;justify-content:center;
  gap:clamp(20px,4vw,40px);margin:-6px 0 clamp(36px,4.5vw,54px);
}
.coverage__stat{text-align:center}
.coverage__stat b{
  display:block;font-family:var(--font-display);font-size:clamp(2.1rem,3.6vw,2.6rem);
  font-weight:700;letter-spacing:-.04em;line-height:1;
  background:linear-gradient(135deg,var(--blue) 0%,var(--blue-deep) 55%,var(--orange) 130%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.coverage__stat span{
  display:block;margin-top:8px;font-size:.72rem;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:var(--muted);
}
.coverage__stat-divider{width:1px;height:40px;background:var(--line);flex-shrink:0}

.coverage__grid{
  position:relative;z-index:1;
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(18px,2.4vw,28px);max-width:980px;margin-inline:auto;
}
.coverage__card{
  position:relative;padding:clamp(26px,2.8vw,34px) clamp(24px,2.8vw,32px) 30px;
  border-radius:var(--radius-lg);background:#fff;border:1px solid var(--line);
  transform-style:preserve-3d;overflow:hidden;
  transition:transform .5s var(--ease-out),box-shadow .5s var(--ease),border-color .4s var(--ease);
}
.coverage__card::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:0;
  background:radial-gradient(60% 55% at 12% 0%,rgba(37,99,255,.08) 0%,transparent 70%);
  transition:opacity .45s var(--ease);
}
.coverage__card--accent::before{
  background:radial-gradient(60% 55% at 12% 0%,rgba(255,122,47,.09) 0%,transparent 70%);
}
.coverage__card:hover{border-color:rgba(37,99,255,.24);box-shadow:0 36px 66px -34px rgba(10,21,38,.38)}
.coverage__card--accent:hover{border-color:rgba(255,122,47,.4)}
.coverage__card:hover::before{opacity:1}

.coverage__card-head{
  position:relative;display:flex;align-items:center;gap:14px;margin-bottom:22px;
  transform:translateZ(20px);
}
.coverage__ico{
  display:grid;place-items:center;width:44px;height:44px;border-radius:13px;flex-shrink:0;
  background:linear-gradient(140deg,rgba(37,99,255,.14),rgba(37,99,255,.04));
  border:1px solid rgba(37,99,255,.2);color:var(--blue);
}
.coverage__ico svg{width:22px;height:22px}
.coverage__ico--orange{
  background:linear-gradient(140deg,rgba(255,122,47,.17),rgba(255,122,47,.04));
  border-color:rgba(255,122,47,.26);color:var(--orange);
}
.coverage__card-head h3{font-size:1.08rem;letter-spacing:-.02em;margin:0}
.coverage__count{
  margin-left:auto;font-family:var(--font-display);font-size:.76rem;font-weight:600;
  color:var(--muted);padding:4px 11px;border-radius:999px;background:var(--paper);
  border:1px solid var(--line);
}

.coverage__tags{position:relative;display:flex;flex-wrap:wrap;gap:9px;transform:translateZ(12px)}
.coverage__tags li{
  display:inline-flex;align-items:center;gap:7px;
  padding:8px 16px 8px 13px;border-radius:999px;font-size:.87rem;font-weight:500;color:var(--ink-2);
  background:var(--paper);border:1px solid var(--line);
  transition:transform .3s var(--ease-out),border-color .3s var(--ease),background .3s var(--ease),box-shadow .3s var(--ease);
}
.coverage__tags li::before{
  content:"";width:5px;height:5px;border-radius:50%;background:var(--blue-2);flex-shrink:0;
}
.coverage__tags li:hover{
  background:#fff;border-color:rgba(37,99,255,.32);box-shadow:0 10px 22px -14px rgba(10,21,38,.32);
  transform:translateY(-2px);
}
.coverage__tags--accent li::before{background:var(--orange-2)}
.coverage__tags--accent li:hover{border-color:rgba(255,122,47,.42)}

.coverage__tags li.is-hq{
  padding-right:9px;color:var(--blue-deep);font-weight:600;
  background:linear-gradient(135deg,rgba(37,99,255,.11),rgba(37,99,255,.03));
  border-color:rgba(37,99,255,.35);
}
.coverage__tags li.is-hq::before{background:var(--orange)}
.coverage__hq{
  font-family:var(--font-display);font-size:.6rem;font-weight:700;letter-spacing:.08em;
  color:#fff;background:linear-gradient(135deg,var(--blue),var(--blue-deep));
  padding:2px 7px;border-radius:999px;
}

/* ==========================================================================
   PROCESS
   ========================================================================== */
.flow{position:relative}
.flow__line{
  position:absolute;left:0;right:0;top:58px;width:100%;height:60px;pointer-events:none;
}
.flow__base{fill:none;stroke:var(--line);stroke-width:2;stroke-dasharray:3 7;stroke-linecap:round}
.flow__draw{
  fill:none;stroke:var(--blue);stroke-width:2.6;stroke-linecap:round;
  stroke-dasharray:1120;stroke-dashoffset:1120;
  transition:stroke-dashoffset 2.4s var(--ease-out);
}
.flow.drawn .flow__draw{stroke-dashoffset:0}

.flow__steps{
  position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));
  gap:clamp(14px,2vw,26px);
}
.step{position:relative;padding-top:104px;text-align:left}
.step__num{
  position:absolute;top:0;left:0;
  font-family:var(--font-display);font-size:.8rem;font-weight:600;letter-spacing:.12em;
  color:var(--blue);padding:5px 11px;border-radius:8px;
  background:rgba(37,99,255,.08);border:1px solid rgba(37,99,255,.16);
}
.step__node{
  position:absolute;top:78px;left:0;width:20px;height:20px;border-radius:50%;
  background:#fff;border:2px solid var(--blue);
  box-shadow:0 0 0 6px rgba(37,99,255,.10);
  transition:transform .5s var(--ease-out),box-shadow .5s var(--ease),background .4s;
}
.step__node::after{
  content:"";position:absolute;inset:4px;border-radius:50%;background:var(--blue);
  opacity:0;transform:scale(.4);transition:opacity .4s var(--ease),transform .4s var(--ease-out);
}
.flow.drawn .step__node::after{opacity:1;transform:scale(1)}
.flow.drawn .step:nth-child(1) .step__node::after{transition-delay:.2s}
.flow.drawn .step:nth-child(2) .step__node::after{transition-delay:.65s}
.flow.drawn .step:nth-child(3) .step__node::after{transition-delay:1.1s}
.flow.drawn .step:nth-child(4) .step__node::after{transition-delay:1.55s}
.flow.drawn .step:nth-child(5) .step__node::after{transition-delay:2s}
.step:hover .step__node{transform:scale(1.15);box-shadow:0 0 0 9px rgba(37,99,255,.12)}
.step h3{font-size:1.03rem;margin-bottom:9px;letter-spacing:-.02em}
.step p{font-size:.88rem;color:var(--muted);margin:0;line-height:1.6}

.flow__return{
  position:relative;margin-top:clamp(48px,5vw,72px);
  display:flex;align-items:center;gap:26px;flex-wrap:wrap;
  padding:26px 30px;border-radius:var(--radius);
  background:linear-gradient(120deg,rgba(255,122,47,.07),rgba(255,122,47,.02));
  border:1px dashed rgba(255,122,47,.35);
}
.flow__return-arc{width:min(420px,42%);height:92px;flex-shrink:0;overflow:visible}
.arc-base{fill:none;stroke:rgba(255,122,47,.25);stroke-width:1.6;stroke-dasharray:4 7}
.arc-flow{
  fill:none;stroke:var(--orange);stroke-width:2.6;stroke-linecap:round;
  stroke-dasharray:24 480;stroke-dashoffset:504;animation:netRun 4.6s linear infinite;
}
.arc-head{fill:none;stroke:var(--orange);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.flow__return-note{margin:0;flex:1;min-width:260px;font-size:.95rem;color:var(--ink-2)}
.flow__return-badge{
  display:inline-block;margin-right:10px;padding:5px 12px;border-radius:999px;
  font-family:var(--font-display);font-size:.7rem;font-weight:600;letter-spacing:.12em;
  text-transform:uppercase;color:#fff;background:linear-gradient(135deg,var(--orange),#E05F1B);
}

/* ==========================================================================
   TRUST / METRICS
   ========================================================================== */
.trust__grid{
  display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
  gap:clamp(40px,5vw,80px);align-items:center;
}
.trust__hero{
  display:flex;align-items:center;gap:22px;margin-top:38px;padding-top:34px;
  border-top:1px solid var(--line);
}
.trust__num{
  font-family:var(--font-display);font-size:clamp(3.6rem,7vw,5.4rem);font-weight:700;
  letter-spacing:-.05em;line-height:.9;
  background:linear-gradient(135deg,var(--blue) 0%,var(--blue-deep) 55%,var(--orange) 130%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.trust__num-label{font-size:.94rem;color:var(--muted);line-height:1.4;font-weight:500}

.trust__cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,1.6vw,20px)}
.tcard{
  padding:28px 24px;border-radius:var(--radius);background:var(--paper);
  border:1px solid var(--line-2);transform-style:preserve-3d;
  transition:transform .5s var(--ease-out),box-shadow .5s var(--ease),border-color .4s;
}
.tcard:hover{background:#fff;border-color:rgba(37,99,255,.22);box-shadow:0 30px 60px -32px rgba(10,21,38,.4)}
.tcard__ico{
  display:grid;place-items:center;width:44px;height:44px;border-radius:13px;margin-bottom:18px;
  background:linear-gradient(140deg,rgba(37,99,255,.13),rgba(37,99,255,.04));
  border:1px solid rgba(37,99,255,.16);color:var(--blue);
  transform:translateZ(24px);
}
.tcard__ico svg{width:22px;height:22px}
.tcard h3{font-size:1rem;margin-bottom:8px;letter-spacing:-.02em;transform:translateZ(14px)}
.tcard p{font-size:.87rem;color:var(--muted);margin:0;line-height:1.55}
.tcard--accent{
  background:linear-gradient(150deg,rgba(255,122,47,.09),rgba(255,122,47,.02));
  border-color:rgba(255,122,47,.24);
}
.tcard--accent .tcard__ico{
  background:linear-gradient(140deg,rgba(255,122,47,.18),rgba(255,122,47,.05));
  border-color:rgba(255,122,47,.28);color:var(--orange);
}
.tcard--accent:hover{border-color:rgba(255,122,47,.45)}

/* ==========================================================================
   FOUNDERS
   ========================================================================== */
.founders__grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(16px,2vw,26px);max-width:1180px;margin-inline:auto;
}
.fcard{
  position:relative;padding:38px 30px 34px;border-radius:var(--radius-lg);
  background:#fff;border:1px solid var(--line);text-align:center;
  transform-style:preserve-3d;overflow:hidden;
  transition:transform .5s var(--ease-out),box-shadow .5s var(--ease),border-color .4s;
}
.fcard::before{
  content:"";position:absolute;inset:0;opacity:0;pointer-events:none;
  background:radial-gradient(70% 55% at 50% 0%,rgba(37,99,255,.09),transparent 70%);
  transition:opacity .45s var(--ease);
}
.fcard:hover{border-color:rgba(37,99,255,.24);box-shadow:0 40px 70px -36px rgba(10,21,38,.4)}
.fcard:hover::before{opacity:1}
.fcard__portrait{
  position:relative;width:104px;height:104px;margin:0 auto 22px;
  border-radius:50%;display:grid;place-items:center;
  background:linear-gradient(150deg,var(--navy-700),var(--navy-900));
  box-shadow:0 20px 40px -20px rgba(10,21,38,.7);
  transform:translateZ(34px);
}
.fcard__initials{
  font-family:var(--font-display);font-size:1.65rem;font-weight:600;letter-spacing:.04em;
  background:linear-gradient(135deg,#fff,var(--blue-3));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.fcard__ring{
  position:absolute;inset:-6px;border-radius:50%;
  border:1.5px solid transparent;
  background:linear-gradient(135deg,rgba(37,99,255,.7),rgba(255,122,47,.5)) border-box;
  -webkit-mask:linear-gradient(#000 0 0) padding-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;
  animation:ringSpin 14s linear infinite;
}
@keyframes ringSpin{to{transform:rotate(360deg)}}
.fcard h3{font-size:1.14rem;letter-spacing:-.025em;margin-bottom:6px;transform:translateZ(16px)}
.fcard__role{
  margin:0;font-size:.76rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:var(--blue);
}

/* ==========================================================================
   FINAL CTA
   ========================================================================== */
.cta{
  position:relative;overflow:hidden;color:#fff;text-align:center;
  padding:clamp(90px,11vw,150px) 0;
  background:linear-gradient(150deg,var(--navy-800) 0%,var(--navy-950) 60%,#071227 100%);
}
.cta__bg{position:absolute;inset:0;pointer-events:none}
.cta__routes{position:absolute;inset:0;width:100%;height:100%}
.ctaline{fill:none;stroke:rgba(91,140,255,.16);stroke-width:1.4}
.ctaline--faint{stroke:rgba(255,164,92,.10);stroke-dasharray:5 9}
.ctaline--flow{
  stroke:var(--blue-2);stroke-width:2.4;stroke-linecap:round;
  stroke-dasharray:40 1900;stroke-dashoffset:1940;
  animation:netRun 8s linear infinite;
  filter:drop-shadow(0 0 8px rgba(91,140,255,.8));
}
.cta__inner{position:relative;z-index:2;max-width:840px}
.cta__title{font-size:clamp(2.2rem,5.4vw,4rem);font-weight:700;letter-spacing:-.04em;margin-bottom:22px}
.cta__lede{font-size:clamp(1rem,1.4vw,1.14rem);color:rgba(255,255,255,.72);max-width:60ch;margin:0 auto 38px}
.cta__actions{display:flex;justify-content:center;flex-wrap:wrap;gap:14px}

/* ==========================================================================
   CONTACT
   ========================================================================== */
.contact__grid{
  display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  gap:clamp(36px,5vw,72px);align-items:start;
}
.contact__lede{color:var(--muted);max-width:44ch;margin-top:18px}
.contact__address{
  display:flex;gap:16px;margin-top:34px;padding:24px;border-radius:var(--radius);
  background:var(--paper);border:1px solid var(--line-2);
  font-size:.94rem;color:var(--muted);line-height:1.65;
}
.contact__address b{display:block;color:var(--ink);font-weight:600;margin-bottom:6px;font-size:.96rem}
.contact__ico{
  display:grid;place-items:center;width:40px;height:40px;border-radius:12px;flex-shrink:0;
  background:rgba(37,99,255,.09);border:1px solid rgba(37,99,255,.16);color:var(--blue);
}
.contact__ico svg{width:21px;height:21px}
.contact__maplink{
  /* block flex, not inline-flex: this sits inside a <span> among address
     text nodes, so it needs its own box to break onto a new line */
  display:flex;width:fit-content;align-items:center;gap:6px;margin-top:14px;
  font-size:.85rem;font-weight:600;color:var(--blue);
  transition:gap .3s var(--ease-out);
}
.contact__maplink svg{width:14px;height:14px}
.contact__maplink:hover{gap:9px}

.contact__email{
  display:flex;gap:16px;align-items:center;margin-top:14px;padding:24px;border-radius:var(--radius);
  background:var(--paper);border:1px solid var(--line-2);
  font-size:.94rem;color:var(--muted);line-height:1.5;
  transition:border-color .3s var(--ease),background .3s var(--ease);
}
.contact__email:hover{background:#fff;border-color:rgba(37,99,255,.22)}
.contact__email b{display:block;color:var(--ink);font-weight:600;margin-bottom:3px;font-size:.96rem}

.qform{
  padding:clamp(26px,3vw,40px);border-radius:var(--radius-lg);
  background:#fff;border:1px solid var(--line);box-shadow:var(--sh-2);
}
.qform__title{font-size:1.35rem;margin-bottom:24px;letter-spacing:-.025em}
.qform__row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.field{margin-bottom:16px;display:flex;flex-direction:column}
.field label{font-size:.82rem;font-weight:600;color:var(--ink-2);margin-bottom:7px}
.field label span{color:var(--orange)}
.field input,.field textarea,.field select{
  width:100%;padding:13px 15px;border-radius:12px;
  border:1px solid var(--line);background:var(--paper);
  font-size:.94rem;transition:border-color .3s var(--ease),background .3s,box-shadow .3s;
}
.field textarea{resize:vertical;min-height:110px;font-family:inherit}
.field input::placeholder,.field textarea::placeholder{color:#9AA8BC}
.field input:focus,.field textarea:focus,.field select:focus{
  outline:none;background:#fff;border-color:var(--blue);
  box-shadow:0 0 0 4px rgba(37,99,255,.12);
}
.field.invalid input,.field.invalid textarea{border-color:#E5484D;background:rgba(229,72,77,.04)}
.field__err{
  display:none;margin-top:6px;font-size:.76rem;color:#D93B40;font-weight:500;
}
.field.invalid .field__err{display:block}

.select{position:relative}
.select select{appearance:none;-webkit-appearance:none;padding-right:42px;cursor:pointer}
.select__arrow{
  position:absolute;right:16px;top:50%;width:8px;height:8px;margin-top:-6px;pointer-events:none;
  border-right:1.8px solid var(--muted);border-bottom:1.8px solid var(--muted);
  transform:rotate(45deg);
}
.qform__status{
  margin:16px 0 0;font-size:.88rem;font-weight:500;min-height:1.2em;
}
.qform__status.ok{color:#158A4A}
.qform__status.err{color:#D93B40}

/* ==========================================================================
   LEGAL PAGES (terms.html / privacy.html)
   ========================================================================== */
.legal-hero{
  position:relative;color:#fff;overflow:hidden;
  padding:clamp(150px,16vw,180px) 0 clamp(56px,7vw,80px);
  background:linear-gradient(180deg,var(--navy-900) 0%,var(--navy-850) 100%);
}
.legal-hero__bg{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.legal-hero .shell{position:relative;z-index:1}
.legal-crumb{
  display:flex;align-items:center;gap:8px;margin-bottom:22px;
  font-size:.84rem;color:rgba(255,255,255,.5);
}
.legal-crumb a{color:rgba(255,255,255,.78);transition:color .3s var(--ease)}
.legal-crumb a:hover{color:#fff}
.legal-hero h1{font-size:clamp(2.1rem,4.6vw,3.2rem);letter-spacing:-.03em;margin-bottom:14px}
.legal-hero__meta{font-size:.9rem;color:rgba(255,255,255,.5)}

.legal{max-width:760px;margin-inline:auto;padding:clamp(56px,7vw,84px) 0}
.legal__intro{color:var(--muted);font-size:1.04rem;margin-bottom:40px;max-width:64ch}
.legal__clause{padding:26px 0;border-top:1px solid var(--line)}
.legal__clause:first-of-type{border-top:none}
.legal__clause h2{
  font-size:1.2rem;font-weight:600;letter-spacing:-.02em;color:var(--ink);margin-bottom:12px;
  display:flex;align-items:baseline;gap:10px;
}
.legal__clause h2 span{
  font-family:var(--font-display);font-size:.8rem;font-weight:600;color:var(--blue);
  padding:3px 9px;border-radius:7px;background:rgba(37,99,255,.08);
  border:1px solid rgba(37,99,255,.16);flex-shrink:0;
}
.legal__clause p{color:var(--muted);font-size:.98rem;margin:0 0 12px}
.legal__clause p:last-child{margin-bottom:0}
.legal__clause ul{display:grid;gap:8px;margin-top:4px}
.legal__clause ul li{
  position:relative;padding-left:20px;color:var(--muted);font-size:.98rem;line-height:1.6;
}
.legal__clause ul li::before{
  content:"";position:absolute;left:0;top:10px;width:6px;height:6px;border-radius:50%;
  background:var(--blue-2);
}

/* ==========================================================================
   FOOTER
   ========================================================================== */
.footer{background:var(--navy-950);color:rgba(255,255,255,.62);position:relative;overflow:hidden}
.footer::before{
  content:"";position:absolute;left:50%;top:-60%;width:900px;height:600px;transform:translateX(-50%);
  background:radial-gradient(50% 50% at 50% 50%,rgba(37,99,255,.14),transparent 70%);
  pointer-events:none;
}
.footer__inner{
  position:relative;display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(0,.7fr) minmax(0,1fr);
  gap:clamp(32px,4vw,60px);padding-top:clamp(56px,7vw,86px);padding-bottom:56px;
}
.brand--footer{margin-right:0;margin-bottom:20px}
.brand--footer .brand__text strong{color:#fff}
.footer__tag{
  font-family:var(--font-display);font-size:1.06rem;font-weight:600;color:#fff;
  letter-spacing:-.02em;margin-bottom:12px;
}
.footer__note{font-size:.88rem;max-width:38ch;line-height:1.65}
.footer h4{
  font-size:.74rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  color:rgba(255,255,255,.42);margin-bottom:18px;
}
.footer__nav ul{display:grid;gap:11px}
.footer__nav a{
  font-size:.92rem;color:rgba(255,255,255,.7);
  transition:color .3s var(--ease),padding-left .3s var(--ease-out);
}
.footer__nav a:hover{color:#fff;padding-left:6px}
.footer__contact address{font-size:.9rem;line-height:1.7}
.footer__contact address b{display:block;color:#fff;font-weight:600;margin-bottom:8px;font-size:.94rem}
.footer__link{
  display:block;margin-top:12px;font-size:.88rem;color:rgba(255,255,255,.62);
  transition:color .3s var(--ease);
}
.footer__link:hover{color:var(--blue-2)}
.footer__cta{margin-top:22px}

.footer__bar{border-top:1px solid rgba(255,255,255,.08);position:relative}
.footer__bar-inner{
  display:flex;justify-content:space-between;align-items:center;gap:16px 28px;flex-wrap:wrap;
  padding-top:22px;padding-bottom:22px;
}
.footer__bar p{margin:0;font-size:.8rem;color:rgba(255,255,255,.42)}
.footer__legal{display:flex;gap:22px;flex-wrap:wrap;order:1}
.footer__legal a{
  font-size:.8rem;color:rgba(255,255,255,.5);transition:color .3s var(--ease);
}
.footer__legal a:hover{color:#fff}
.footer__loc{order:2}
@media (max-width:640px){.footer__legal{order:0}}

/* ---------- back to top ---------- */
.to-top{
  position:fixed;right:22px;bottom:22px;z-index:90;
  width:46px;height:46px;border-radius:50%;cursor:pointer;
  display:grid;place-items:center;
  background:linear-gradient(135deg,var(--blue),#1747C4);color:#fff;border:0;
  box-shadow:var(--sh-blue);
  opacity:0;visibility:hidden;transform:translateY(14px) scale(.9);
  transition:opacity .4s var(--ease),transform .4s var(--ease-out),visibility .4s;
}
.to-top svg{width:20px;height:20px}
.to-top.show{opacity:1;visibility:visible;transform:translateY(0) scale(1)}
.to-top:hover{transform:translateY(-3px) scale(1.05)}

/* ==========================================================================
   SCROLL REVEAL
   ========================================================================== */
.has-js [data-reveal]{
  opacity:0;transform:translateY(26px);
  transition:opacity .85s var(--ease-out),transform .85s var(--ease-out);
  transition-delay:var(--rd,0ms);
}
.has-js [data-reveal].in{opacity:1;transform:none}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width:1180px){
  .svc{grid-template-columns:repeat(3,minmax(0,1fr))}
  .svc__card--feature{grid-column:span 3}
  .badge__num{font-size:2.1rem}
}

@media (max-width:1024px){
  /* keep the brand + toggle above the drawer panel */
  .brand,.nav__toggle{position:relative;z-index:3}
  .nav__links{
    position:fixed;inset:0 0 auto;top:0;z-index:2;padding:96px 24px 32px;
    flex-direction:column;align-items:stretch;gap:4px;
    /* fully opaque: a translucent panel lets the page text read through it */
    background:linear-gradient(180deg,#050B16 0%,#08111F 100%);
    transform:translateY(-102%);transition:transform .5s var(--ease-out);
    box-shadow:0 30px 60px -20px rgba(0,0,0,.6);
    border-bottom:1px solid rgba(255,255,255,.1);
  }
  .nav__links.open{transform:translateY(0)}

  /* while the drawer is open the header keeps its dark treatment,
     even if the page underneath is scrolled */
  .nav.menu-open,.nav.scrolled.menu-open{background:#050B16;box-shadow:none}
  .nav.scrolled.menu-open .brand__text strong{color:#fff}
  .nav.scrolled.menu-open .brand__text em{color:rgba(255,255,255,.55)}
  .nav.scrolled.menu-open .nav__toggle{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18)}
  .nav.scrolled.menu-open .nav__toggle span{background:#fff}
  .nav.menu-open .nav__progress{opacity:0}
  .nav__links > a:not(.btn){
    color:rgba(255,255,255,.82);padding:15px 12px;font-size:1.05rem;
    border-bottom:1px solid rgba(255,255,255,.06);border-radius:0;
  }
  .nav.scrolled .nav__links > a:not(.btn){color:rgba(255,255,255,.82)}
  .nav__links > a:not(.btn)::after{display:none}
  .nav__cta{margin:18px 0 0}
  .nav__toggle{display:flex}

  .hero{min-height:auto}
  .hero__inner{grid-template-columns:1fr;gap:44px}
  .hero__copy{max-width:660px}
  .hero__visual{min-height:min(72vw,460px);margin-top:8px}
  .scene{inset:-4% -6%}
  .world{--sceneScale:.82}
  .hud--a{left:0;top:4%}
  .hud--b{right:0;bottom:22%}
  .badge{left:0;bottom:-8px}
  .scroll-cue{display:none}

  .about,.why__inner,.trust__grid,.contact__grid{grid-template-columns:1fr}
  .about__visual{max-width:620px;margin-inline:auto;width:100%}
  .netcard__float{right:0}

  /* the floating map badge would sit on top of the map once it goes full-width */
  .map__badge{position:static;justify-self:center;margin-top:20px;animation:none}

  .vm__grid{grid-template-columns:1fr;gap:0}
  /* keep the connector's aspect ratio: stretching it wide with
     preserveAspectRatio="none" thickens the stroke horizontally */
  .vm__link{height:76px}
  .vm__link svg{width:40px;height:76px}
  .vm__node--a{top:8px}
  .vm__node--b{top:auto;bottom:8px}

  .flow__steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 26px}
  .flow__line{display:none}
  .flow__return-arc{width:100%;max-width:420px}

  .trust__cards{margin-top:8px}
  .founders__grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:560px}
  .coverage__grid{grid-template-columns:1fr;gap:32px}
}

@media (max-width:820px){
  .svc{grid-template-columns:repeat(2,minmax(0,1fr))}
  .svc__card--feature{grid-column:span 2}
  .footer__inner{grid-template-columns:1fr 1fr}
  .footer__brand{grid-column:1/-1}
}

@media (max-width:640px){
  html{scroll-padding-top:76px}
  body{font-size:16px}
  .section{padding:70px 0}
  .hero{padding-top:112px;padding-bottom:64px}
  .hero__title{font-size:clamp(2.15rem,9vw,2.9rem)}
  .hero__actions .btn{flex:1 1 100%}
  .hero__visual{min-height:min(94vw,400px)}
  .world{--sceneScale:.6}
  .hud{padding:9px 14px 9px 10px;border-radius:13px}
  .hud__ico{width:30px;height:30px;border-radius:9px}
  .hud__ico svg{width:16px;height:16px}
  .hud__body b{font-size:.74rem}
  .hud__body i{font-size:.65rem}
  .hud--a{top:0}
  .hud--b{bottom:26%}
  .badge{padding:12px 18px 12px 16px;gap:12px}
  .badge__num{font-size:1.8rem}
  .badge__label{font-size:.7rem}

  .about__stats{grid-template-columns:1fr;gap:18px;text-align:left}
  .about__stat{display:flex;align-items:baseline;gap:14px}
  .about__stat b{margin-bottom:0;font-size:1.35rem;flex:0 0 auto}
  .netcard__float{position:static;margin-top:16px;max-width:none;animation:none}

  .svc{grid-template-columns:1fr}
  .svc__card--feature{grid-column:span 1}
  .flow__steps{grid-template-columns:1fr;gap:26px}
  .step{padding-top:0;padding-left:62px;min-height:44px}
  .step__num{top:2px;left:0}
  .step__node{display:none}
  .flow__return{padding:22px;gap:18px}

  .trust__cards{grid-template-columns:1fr}
  .founders__grid{grid-template-columns:1fr;max-width:420px}
  .qform__row{grid-template-columns:1fr;gap:0}
  .footer__inner{grid-template-columns:1fr}
  .footer__bar-inner{flex-direction:column;align-items:flex-start;gap:10px}
  .to-top{right:14px;bottom:14px}
}

/* ==========================================================================
   REDUCED MOTION
   ========================================================================== */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
    scroll-behavior:auto !important;
  }
  .has-js [data-reveal]{opacity:1;transform:none}
  .flow__draw{stroke-dashoffset:0}
  .step__node::after{opacity:1;transform:scale(1)}
  .routeline--dash,.flow,.arc-flow,.ctaline--flow,.vm__path--flow,.net-pulses path{
    stroke-dasharray:none;stroke-dashoffset:0;opacity:.55;
  }
  .rl-viz__truck{animation:none;left:40%}
  .rl-viz__lane--ret .rl-viz__truck{left:40%}
  .world{animation:none}
  .scene__tilt{transition:none}
}
