/* ═══════════════════════════════════════════════════════════════
   RAPIDXPK — "THE MANIFEST"
   Paper, ink, rubber stamps, highlighter. The paperwork of
   logistics, made premium. v10
   ═══════════════════════════════════════════════════════════════ */

:root {
  /* new system */
  --paper: #F2F1EB;
  --paper-deep: #E9E7DD;
  --card: #FBFAF4;
  --ink: #191913;
  --ink-2: #636254;
  --rule: #DBD8CC;
  --rule-2: #BFBCA8;
  --lime: #C9FF3D;
  --lime-ink: #86B300;
  --stamp: #D9481F;
  --band: #14140F;
  --band-2: #1D1D16;

  --f-display: 'Anton', 'Arial Narrow', sans-serif;
  --f-body: 'Instrument Sans', 'Helvetica Neue', sans-serif;
  --f-mono: 'IBM Plex Mono', 'Courier New', monospace;

  --container: 1180px;
  --shadow-print: 5px 5px 0 rgba(25,25,19,.9);
  --shadow-print-sm: 3px 3px 0 rgba(25,25,19,.9);

  /* legacy shims — keep the dark tracking console + portal snippets alive */
  --black: #0a0a0a;
  --panel: #12120D;
  --white: #f0f0ee;
  --gray: #8a8a85;
  --line: rgba(245,245,243,0.09);
  --line-bright: rgba(245,245,243,0.18);
  --lime-dim: rgba(201,255,61,0.12);
  --display: 'Instrument Sans', sans-serif;
  --body: 'Instrument Sans', sans-serif;
  --mono: 'IBM Plex Mono', monospace;
  --r: 3px;
}

* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  background:var(--paper);
  color:var(--ink);
  font-family:var(--f-body);
  font-size:16.5px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  /* faint ruled-paper grain */
  background-image:
    repeating-linear-gradient(0deg, transparent 0 31px, rgba(25,25,19,.025) 31px 32px);
}
::selection { background:var(--lime); color:var(--ink); }

img { max-width:100%; display:block; }
a { color:inherit; text-decoration:none; }
.wrap { max-width:var(--container); margin:0 auto; padding:0 24px; }

/* ── TYPE ─────────────────────────────────────────── */
h1, h2, .display {
  font-family:var(--f-display);
  font-weight:400;
  text-transform:uppercase;
  letter-spacing:.005em;
  line-height:1.04;
  color:var(--ink);
}
h1 { font-size:clamp(2.9rem, 8vw, 6rem); line-height:1.06; }
h2 { font-size:clamp(2.1rem, 4.6vw, 3.4rem); }
h3 { font-family:var(--f-body); font-weight:700; font-size:1.15rem; letter-spacing:-.01em; }
.lede { font-size:clamp(1.02rem, 1.6vw, 1.2rem); color:var(--ink-2); max-width:56ch; }
.lede b { color:var(--ink); font-weight:600; }

/* highlighter stroke — the brand lime, used like a marker */
.hl {
  position:relative; white-space:nowrap;
  background:linear-gradient(101deg, transparent 1.5%, var(--lime) 4%, var(--lime) 96%, transparent 98.5%);
  background-size:100% .82em;
  background-position:center 58%;
  background-repeat:no-repeat;
  padding:0 .1em; margin:0 -.04em;
  -webkit-box-decoration-break:clone; box-decoration-break:clone;
}

/* field label — how a manifest names its sections */
.field-tag {
  display:inline-flex; align-items:center; gap:10px;
  font-family:var(--f-mono); font-size:.72rem; font-weight:600;
  letter-spacing:.22em; text-transform:uppercase; color:var(--ink-2);
  margin-bottom:18px;
}
.field-tag::before {
  content:''; width:26px; height:2px; background:var(--ink);
}
.field-tag b { color:var(--lime-ink); font-weight:600; }

/* rubber stamp */
.stamp {
  display:inline-block;
  font-family:var(--f-mono); font-weight:600; font-size:.72rem;
  letter-spacing:.16em; text-transform:uppercase;
  color:var(--stamp); border:2.5px solid var(--stamp);
  border-radius:4px; padding:5px 12px;
  transform:rotate(-4deg);
  opacity:.92;
  mask-image:radial-gradient(circle at 30% 60%, black 92%, transparent 100%);
}
.stamp.ok { color:var(--lime-ink); border-color:var(--lime-ink); }

/* ── BUTTONS ─────────────────────────────────────── */
.btn {
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  font-family:var(--f-body); font-weight:600; font-size:.95rem; letter-spacing:.01em;
  padding:13px 24px; border-radius:3px; cursor:pointer;
  border:2px solid var(--ink); transition:transform .15s ease, box-shadow .15s ease, background .15s;
  line-height:1;
}
.btn-fill { background:var(--lime); color:var(--ink); box-shadow:var(--shadow-print-sm); }
.btn-fill:hover { transform:translate(-2px,-2px); box-shadow:var(--shadow-print); }
.btn-fill:active { transform:translate(1px,1px); box-shadow:1px 1px 0 var(--ink); }
.btn-line { background:transparent; color:var(--ink); }
.btn-line:hover { background:var(--ink); color:var(--card); }
.btn-lg { padding:16px 30px; font-size:1.02rem; }
.btn:focus-visible, a:focus-visible, button:focus-visible, summary:focus-visible {
  outline:3px solid var(--lime-ink); outline-offset:2px;
}
/* buttons that sit on the dark band */
.on-band .btn-line { border-color:var(--white); color:var(--white); }
.on-band .btn-line:hover { background:var(--white); color:var(--ink); }
.on-band .btn-fill { border-color:var(--ink); box-shadow:3px 3px 0 rgba(201,255,61,.4); }

/* ── HEADER (ink band) ───────────────────────────── */
header.site {
  position:sticky; top:0; z-index:120;
  background:var(--band); color:var(--white);
}
/* soft lime rule that fades out at both ends — no hard line */
header.site::after {
  content:''; position:absolute; left:0; right:0; bottom:-1px; height:2px;
  background:linear-gradient(90deg, transparent, var(--lime) 16%, var(--lime) 84%, transparent);
  opacity:.85; pointer-events:none;
}
.nav {
  display:flex; align-items:center; gap:36px;
  height:78px;
}
.nav-logo img { height:30px; width:auto; }
.nav-links {
  display:flex; align-items:center; gap:4px; margin-left:auto;
  font-weight:500; font-size:.93rem;
}
.nav-links > a { color:#BDBCB1; padding:8px 13px; border-radius:3px; transition:color .15s, background .15s; }
.nav-links > a:hover { color:var(--white); background:rgba(245,245,243,.06); }
.nav-links > a.active { color:var(--lime); background:rgba(201,255,61,.08); }
.nav-cta { display:flex; align-items:center; gap:12px; margin-left:8px; }
.nav-cta .btn { padding:10px 18px; font-size:.88rem; }
.nav-mobile-cta { display:none; }
.nav-toggle { display:none; background:none; border:0; cursor:pointer; padding:8px; }
.nav-toggle span { display:block; width:24px; height:2.5px; background:var(--white); margin:5px 0; transition:transform .2s, opacity .2s; }
.nav-open .nav-toggle span:nth-child(1){ transform:translateY(7.5px) rotate(45deg); }
.nav-open .nav-toggle span:nth-child(2){ opacity:0; }
.nav-open .nav-toggle span:nth-child(3){ transform:translateY(-7.5px) rotate(-45deg); }

@media (max-width: 980px) {
  .nav { gap:16px; }
  .nav-toggle { display:block; }
  .nav-cta .btn { display:none; }
  .nav-links {
    position:fixed; inset:74px 0 auto 0; z-index:110;
    flex-direction:column; align-items:stretch; gap:0;
    background:var(--band); border-bottom:2px solid var(--ink);
    padding:8px 24px 22px;
    display:none;
  }
  .nav-open .nav-links { display:flex; }
  .nav-links > a { padding:15px 4px; font-size:1.05rem; border-bottom:1px solid rgba(245,245,243,.09); }
  .nav-mobile-cta { display:flex; gap:12px; margin-top:18px; }
  .nav-mobile-cta .btn { flex:1; }
}

/* ── HERO ────────────────────────────────────────── */
.hero { padding:118px 0 60px; position:relative; overflow:hidden; }
.hero::before {
  content:''; position:absolute; top:0; left:0; right:0; height:170px;
  background:linear-gradient(180deg, var(--band) 0%, rgba(20,20,15,.5) 34%, rgba(20,20,15,.18) 62%, rgba(20,20,15,0) 100%);
  pointer-events:none; z-index:0;
}
.hero > .wrap { position:relative; z-index:1; }
/* ghost freight lettering drifting behind the waybill */
.hero::after {
  content:'2-HR'; position:absolute; right:-2%; bottom:-7%;
  font-family:var(--f-display); font-size:clamp(11rem, 23vw, 20rem); line-height:1;
  color:transparent; -webkit-text-stroke:2px rgba(25,25,19,.06);
  pointer-events:none; user-select:none; z-index:0;
  animation:ghostDrift 12s ease-in-out infinite alternate;
}
@keyframes ghostDrift { from{ transform:translateY(0) } to{ transform:translateY(-26px) } }
.hero-grid {
  display:grid; grid-template-columns:1.15fr .85fr; gap:56px; align-items:center;
}
.hero h1 { margin:18px 0 26px; }
.hero .lede { margin-bottom:34px; }
.hero-btns { display:flex; flex-wrap:wrap; gap:14px; margin-bottom:26px; }
.hero-facts {
  display:flex; flex-wrap:wrap; gap:8px 26px;
  font-family:var(--f-mono); font-size:.76rem; letter-spacing:.06em;
  color:var(--ink-2); text-transform:uppercase;
}
.hero-facts span { display:inline-flex; align-items:center; gap:8px; }
.hero-facts span::before { content:'✓'; color:var(--lime-ink); font-weight:700; }

@media (max-width: 980px) {
  .hero { padding:56px 0 48px; }
  .hero-grid { grid-template-columns:1fr; gap:44px; }
}

/* ── WAYBILL (signature element) ─────────────────── */
.waybill {
  background:var(--card); border:2px solid var(--ink); border-radius:4px;
  box-shadow:var(--shadow-print);
  transform:rotate(.35deg);
  max-width:460px; margin-left:auto;
  position:relative;
}
@media (max-width:980px){ .waybill{ margin:0 auto; transform:rotate(0); } }
.wb-head {
  display:flex; justify-content:space-between; align-items:center;
  padding:14px 18px; border-bottom:2px solid var(--ink);
  font-family:var(--f-mono); font-size:.68rem; font-weight:600;
  letter-spacing:.18em; text-transform:uppercase;
}
.wb-head .live { display:inline-flex; align-items:center; gap:7px; color:var(--lime-ink); }
.wb-head .live i {
  width:8px; height:8px; border-radius:50%; background:var(--lime-ink);
  animation:wbPulse 1.8s ease-in-out infinite;
}
@keyframes wbPulse { 0%,100%{opacity:.35;} 50%{opacity:1;} }
.wb-code {
  display:flex; justify-content:space-between; align-items:flex-end;
  padding:16px 18px 12px;
}
.wb-code .code { font-family:var(--f-mono); font-weight:600; font-size:1.35rem; letter-spacing:.04em; }
.wb-code .code small { display:block; font-size:.62rem; font-weight:500; letter-spacing:.2em; color:var(--ink-2); margin-bottom:4px; text-transform:uppercase; }
.wb-barcode { display:flex; align-items:flex-end; gap:2px; height:34px; }
.wb-barcode i { display:block; width:2px; background:var(--ink); height:100%; }
.wb-barcode i:nth-child(3n){ width:4px; } .wb-barcode i:nth-child(4n){ height:72%; }
.wb-barcode i:nth-child(5n){ width:1.5px; } .wb-barcode i:nth-child(7n){ height:86%; }
.wb-meta { padding:2px 18px 14px; display:grid; grid-template-columns:1fr 1fr; gap:10px 16px; }
.wb-meta .f { font-size:.86rem; }
.wb-meta .f small {
  display:block; font-family:var(--f-mono); font-size:.6rem; font-weight:600;
  letter-spacing:.2em; text-transform:uppercase; color:var(--ink-2); margin-bottom:2px;
}
.wb-meta .f b { font-weight:600; }
/* perforation */
.wb-tear {
  border-top:2px dashed var(--rule-2); position:relative; margin:4px 0 0;
}
.wb-tear::before, .wb-tear::after {
  content:''; position:absolute; top:-7px; width:12px; height:12px; border-radius:50%;
  background:var(--paper); border:2px solid var(--ink);
}
.wb-tear::before { left:-8px; } .wb-tear::after { right:-8px; }
.wb-log { padding:16px 18px 62px; font-family:var(--f-mono); font-size:.8rem; min-height:200px; position:relative; }
.wb-log .lg {
  display:flex; gap:12px; padding:4px 0; opacity:0; transform:translateY(6px);
  transition:opacity .35s ease, transform .35s ease;
}
.wb-log .lg.in { opacity:1; transform:none; }
.wb-log .lg .t { color:var(--ink-2); flex-shrink:0; }
.wb-log .lg .d b { color:var(--lime-ink); font-weight:600; }
.wb-stamp {
  position:absolute; right:16px; bottom:12px;
  font-size:.78rem; padding:7px 14px; border-width:3px;
  transform:rotate(-7deg) scale(1.6); opacity:0;
  transition:transform .18s cubic-bezier(.2,2,.4,1), opacity .18s;
}
.wb-stamp.in { transform:rotate(-7deg) scale(1); opacity:.92; }
/* paperclip note */
.wb-note {
  position:absolute; top:-15px; left:-12px;
  font-family:var(--f-mono); font-size:.66rem; letter-spacing:.08em;
  background:var(--lime); border:2px solid var(--ink); border-radius:3px;
  padding:5px 10px; transform:rotate(3deg); box-shadow:var(--shadow-print-sm);
}

/* ── AREA MARQUEE ────────────────────────────────── */
.areas {
  background:var(--band); color:var(--white);
  border-top:2px solid var(--ink); border-bottom:2px solid var(--ink);
  overflow:hidden; padding:12px 0;
}
.areas-track {
  display:flex; gap:34px; width:max-content;
  font-family:var(--f-mono); font-size:.74rem; letter-spacing:.16em; text-transform:uppercase;
  animation:areasMove 38s linear infinite;
}
.areas-track span { display:inline-flex; align-items:center; gap:34px; white-space:nowrap; color:#CFCEC2; }
.areas-track span::after { content:'●'; color:var(--lime); font-size:.5rem; }
.areas-track b { color:var(--lime); font-weight:600; }
@keyframes areasMove { to { transform:translateX(-50%); } }
.areas:hover .areas-track { animation-play-state:paused; }

/* ── SECTIONS ────────────────────────────────────── */
section { padding:88px 0; }
section.tight { padding:72px 0; }
.sec-head { max-width:820px; margin-bottom:46px; }
.sec-head .lede { margin-top:18px; }
.rule-top { border-top:2px solid var(--ink); }

/* stats — manifest counters */
.stats { display:grid; grid-template-columns:repeat(4,1fr); border:2px solid var(--ink); border-radius:4px; overflow:hidden; background:var(--card); box-shadow:var(--shadow-print); }
.stat { padding:30px 26px; border-right:2px solid var(--ink); }
.stat:last-child { border-right:0; }
.stat .n { font-family:var(--f-display); font-size:clamp(2.4rem,4.4vw,3.6rem); line-height:1; }
.stat .n em { font-style:normal; color:var(--lime-ink); }
.stat .l { font-family:var(--f-mono); font-size:.68rem; letter-spacing:.18em; text-transform:uppercase; color:var(--ink-2); margin-top:10px; }
@media (max-width:900px){ .stats{ grid-template-columns:1fr 1fr; } .stat:nth-child(2){ border-right:0; } .stat:nth-child(1),.stat:nth-child(2){ border-bottom:2px solid var(--ink); } }
@media (max-width:460px){ .stats{ grid-template-columns:1fr; } .stat{ border-right:0!important; border-bottom:2px solid var(--ink); } .stat:last-child{ border-bottom:0; } }

/* service slips */
.slips { display:grid; grid-template-columns:repeat(auto-fit,minmax(255px,1fr)); gap:22px; }
.slip {
  background:var(--card); border:2px solid var(--ink); border-radius:4px;
  padding:26px 24px 24px; position:relative;
  transition:transform .18s ease, box-shadow .18s ease;
}
.slip:hover { transform:translate(-3px,-3px); box-shadow:var(--shadow-print); }
.slip .tag {
  font-family:var(--f-mono); font-size:.62rem; font-weight:600; letter-spacing:.2em;
  text-transform:uppercase; color:var(--ink-2); display:block; margin-bottom:16px;
}
.slip h3 { margin-bottom:10px; font-size:1.22rem; }
.slip p { color:var(--ink-2); font-size:.95rem; }
.slip .corner {
  position:absolute; top:0; right:0; width:0; height:0;
  border-top:22px solid var(--lime); border-left:22px solid transparent;
}
.slip .corner::after{ content:''; position:absolute; top:-24px; right:-2px; width:0; height:0;
  border-top:24px solid var(--ink); border-left:24px solid transparent; z-index:-1; }

/* route timeline */
.split { display:grid; grid-template-columns:.9fr 1.1fr; gap:64px; align-items:start; }
@media (max-width:900px){ .split{ grid-template-columns:1fr; gap:40px; } }
.route { position:relative; padding-left:34px; }
.route::before {
  content:''; position:absolute; left:9px; top:12px; bottom:12px; width:0;
  border-left:2.5px dashed var(--rule-2);
}
.route-stop { position:relative; padding:0 0 34px; }
.route-stop:last-child { padding-bottom:0; }
.route-stop::before {
  content:''; position:absolute; left:-32px; top:5px; width:14px; height:14px;
  background:var(--card); border:2.5px solid var(--ink); border-radius:50%;
}
.route-stop.hot::before { background:var(--lime); }
.route-stop .rt {
  font-family:var(--f-mono); font-size:.66rem; font-weight:600; letter-spacing:.2em;
  text-transform:uppercase; color:var(--lime-ink); display:block; margin-bottom:5px;
}
.route-stop h4 { font-weight:700; font-size:1.08rem; margin-bottom:5px; }
.route-stop p { color:var(--ink-2); font-size:.94rem; max-width:48ch; }

/* tech mocks */
.tech { display:grid; grid-template-columns:1fr 1fr; gap:26px; }
@media (max-width:900px){ .tech{ grid-template-columns:1fr; } }
.device { border:2px solid var(--ink); border-radius:5px; overflow:hidden; box-shadow:var(--shadow-print); }
.device .d-bar {
  padding:11px 16px; font-family:var(--f-mono); font-size:.64rem; font-weight:600;
  letter-spacing:.18em; text-transform:uppercase; border-bottom:2px solid var(--ink);
  display:flex; justify-content:space-between; align-items:center;
}
.device.dark { background:var(--panel); color:var(--white); }
.device.dark .d-bar { background:#0C0C08; color:#9c9c93; }
.device.light { background:var(--card); }
.device.light .d-bar { background:var(--paper-deep); }
.d-body { padding:20px; font-family:var(--f-mono); font-size:.82rem; }
.d-row { display:flex; justify-content:space-between; padding:9px 0; border-top:1px dashed rgba(140,140,130,.35); }
.d-row:first-child { border-top:0; padding-top:0; }
.device.dark .d-row span:last-child { color:var(--lime); }
.device.light .d-row span:last-child { font-weight:600; }
.d-kpis { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-bottom:14px; }
.d-kpi { border:1.5px solid var(--rule-2); border-radius:3px; padding:10px; }
.device.dark .d-kpi { border-color:rgba(245,245,243,.16); }
.d-kpi .v { font-family:var(--f-display); font-size:1.4rem; }
.device.dark .d-kpi .v { color:var(--lime); font-family:var(--f-mono); font-weight:600; }
.d-kpi .l { font-size:.6rem; letter-spacing:.1em; text-transform:uppercase; color:var(--gray); margin-top:3px; }
.d-cap { padding:14px 20px; border-top:2px solid var(--ink); font-weight:600; font-size:.92rem; }
.d-cap a { display:inline-flex; gap:6px; }
.d-cap a:hover { color:var(--lime-ink); }
.device.dark .d-cap { border-top-color:rgba(245,245,243,.14); }
.device.dark .d-cap a:hover { color:var(--lime); }
.pillx {
  font-size:.6rem; letter-spacing:.12em; border:1.5px solid currentColor;
  padding:3px 8px; border-radius:100px;
}

/* compare table */
.compare-wrap { overflow-x:auto; border:2px solid var(--ink); border-radius:4px; background:var(--card); box-shadow:var(--shadow-print); }
table.compare { width:100%; border-collapse:collapse; min-width:640px; }
.compare th, .compare td { padding:15px 20px; text-align:left; border-bottom:1.5px solid var(--rule); font-size:.95rem; }
.compare thead th {
  font-family:var(--f-mono); font-size:.68rem; font-weight:600; letter-spacing:.18em;
  text-transform:uppercase; border-bottom:2px solid var(--ink); color:var(--ink-2);
}
.compare tbody tr:last-child td { border-bottom:0; }
.compare .hl-col { background:rgba(201,255,61,.28); font-weight:600; }
.compare thead .hl-col { color:var(--ink); }
.compare .n { color:#A05540; }

/* pricing slips */
.prices { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; align-items:stretch; }
@media (max-width:900px){ .prices{ grid-template-columns:1fr; max-width:460px; margin:0 auto; } }
.price {
  background:var(--card); border:2px solid var(--ink); border-radius:4px; padding:30px 28px;
  display:flex; flex-direction:column; position:relative;
}
.price.featured { box-shadow:var(--shadow-print); transform:translateY(-6px); }
.price .p-stamp { position:absolute; top:-13px; right:18px; background:var(--card); }
.price .p-tier { font-family:var(--f-mono); font-size:.66rem; font-weight:600; letter-spacing:.22em; text-transform:uppercase; color:var(--ink-2); }
.price .p-name { font-family:var(--f-display); font-size:2rem; text-transform:uppercase; margin:8px 0 2px; }
.price .p-range { color:var(--ink-2); font-size:.92rem; padding-bottom:18px; border-bottom:2px dashed var(--rule-2); margin-bottom:18px; }
.price ul { list-style:none; margin-bottom:26px; flex:1; }
.price li { padding:7px 0 7px 26px; position:relative; font-size:.95rem; }
.price li::before { content:'✓'; position:absolute; left:0; color:var(--lime-ink); font-weight:700; }
.price .btn { width:100%; }
.price-note { text-align:center; color:var(--ink-2); font-size:.92rem; margin-top:26px; }

/* calculator */
.calc {
  display:grid; grid-template-columns:1fr 1.1fr; gap:44px;
  border:2px solid var(--ink); background:var(--card); box-shadow:var(--shadow-print);
  padding:36px; border-radius:4px;
}
@media (max-width:900px){ .calc{ grid-template-columns:1fr; padding:26px 22px; } }
.calc-field { margin-bottom:30px; }
.calc-field:last-child { margin-bottom:0; }
.calc-field label {
  display:flex; justify-content:space-between; align-items:baseline; gap:12px;
  font-family:var(--f-mono); font-size:.72rem; font-weight:600; letter-spacing:.16em;
  text-transform:uppercase; color:var(--ink-2); margin-bottom:14px;
}
.calc-field label b { font-size:1.05rem; color:var(--ink); letter-spacing:.02em; }
input[type=range].range { width:100%; appearance:none; height:4px; background:var(--rule-2); border-radius:2px; outline:none; }
input[type=range].range::-webkit-slider-thumb {
  appearance:none; width:22px; height:22px; border-radius:50%;
  background:var(--lime); border:2.5px solid var(--ink); cursor:grab;
}
input[type=range].range::-moz-range-thumb {
  width:18px; height:18px; border-radius:50%;
  background:var(--lime); border:2.5px solid var(--ink); cursor:grab;
}
.calc-out { display:grid; gap:14px; }
.calc-tile { border:2px dashed var(--rule-2); border-radius:4px; padding:16px 20px; display:flex; align-items:baseline; justify-content:space-between; gap:14px; }
.calc-tile .num { font-family:var(--f-display); font-size:clamp(1.6rem,3vw,2.2rem); }
.calc-tile .lbl { font-size:.85rem; color:var(--ink-2); text-align:right; }
.calc-note { grid-column:1/-1; font-size:.78rem; color:var(--ink-2); font-family:var(--f-mono); }

/* trust */
.trust-list { list-style:none; display:grid; gap:16px; }
.trust-list li {
  display:flex; gap:16px; align-items:flex-start;
  background:var(--card); border:2px solid var(--ink); border-radius:4px; padding:18px 20px;
}
.trust-list .chk {
  flex-shrink:0; width:28px; height:28px; border-radius:50%;
  background:var(--lime); border:2px solid var(--ink);
  display:flex; align-items:center; justify-content:center; font-weight:700; font-size:.85rem;
}
.trust-list p { font-size:.97rem; }

/* FAQ */
.faq { max-width:800px; }
.faq details { border-bottom:2px solid var(--ink); }
.faq details:first-child { border-top:2px solid var(--ink); }
.faq summary {
  cursor:pointer; list-style:none; display:flex; justify-content:space-between; align-items:center; gap:20px;
  padding:22px 4px; font-weight:600; font-size:1.05rem;
}
.faq summary::-webkit-details-marker { display:none; }
.faq summary .ico {
  font-family:var(--f-mono); font-size:1.2rem; color:var(--lime-ink);
  transition:transform .2s; flex-shrink:0;
}
.faq details[open] summary .ico { transform:rotate(45deg); }
.faq .a { padding:0 4px 24px; color:var(--ink-2); max-width:62ch; }

/* CTA band */
.cta-band { background:var(--band); color:var(--white); padding:96px 0; border-top:2px solid var(--ink); }
.cta-band h2 { color:var(--white); font-size:clamp(2.4rem,6vw,4.6rem); }
.cta-band h2 .hl { color:var(--ink); }
.cta-band .lede { color:#B9B8AD; margin:22px 0 34px; }
.cta-band .stamp { border-color:var(--lime); color:var(--lime); }

/* footer */
footer.site { background:var(--band); color:#B9B8AD; padding:64px 0 0; font-size:.93rem; position:relative; }
footer.site::before {
  content:''; position:absolute; left:0; right:0; top:-1px; height:2px;
  background:linear-gradient(90deg, transparent, var(--lime) 16%, var(--lime) 84%, transparent);
  opacity:.85;
}
.footer-grid { display:grid; grid-template-columns:1.3fr 1fr 1fr 1fr; gap:40px; padding-bottom:48px; }
@media (max-width:900px){ .footer-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:520px){ .footer-grid{ grid-template-columns:1fr; } }
.footer-grid img { height:32px; margin-bottom:16px; }
.footer-grid h4 {
  font-family:var(--f-mono); font-size:.66rem; font-weight:600; letter-spacing:.22em;
  text-transform:uppercase; color:var(--white); margin-bottom:14px;
}
.footer-grid a { display:block; padding:4px 0; }
.footer-grid a:hover { color:var(--lime); }
.footer-bottom {
  border-top:1px solid rgba(245,245,243,.1); padding:20px 0;
  display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap;
  font-family:var(--f-mono); font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; color:#7d7c72;
}

/* page hero (inner pages) */
.page-hero { padding:112px 0 56px; border-bottom:2px solid var(--ink); position:relative; overflow:hidden; }
.page-hero::before {
  content:''; position:absolute; top:0; left:0; right:0; height:150px;
  background:linear-gradient(180deg, var(--band) 0%, rgba(20,20,15,.45) 36%, rgba(20,20,15,0) 100%);
  pointer-events:none; z-index:0;
}
.page-hero > .wrap { position:relative; z-index:1; }
.page-hero h1 { margin:16px 0 22px; max-width:16ch; }
.page-hero .lede { max-width:60ch; }

/* forms (contact) */
.form-card { background:var(--card); border:2px solid var(--ink); border-radius:4px; box-shadow:var(--shadow-print); padding:34px 32px; }
.f-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 20px; }
@media (max-width:600px){ .f-grid{ grid-template-columns:1fr; } }
.f-field { margin-bottom:20px; }
.f-field label {
  display:block; font-family:var(--f-mono); font-size:.64rem; font-weight:600;
  letter-spacing:.2em; text-transform:uppercase; color:var(--ink-2); margin-bottom:8px;
}
.f-field input, .f-field select, .f-field textarea {
  width:100%; background:var(--paper); border:2px solid var(--ink); border-radius:3px;
  padding:13px 14px; font-family:var(--f-body); font-size:.98rem; color:var(--ink); outline:none;
  transition:box-shadow .15s;
}
.f-field input:focus, .f-field select:focus, .f-field textarea:focus { box-shadow:var(--shadow-print-sm); }
.f-field textarea { min-height:120px; resize:vertical; }
.f-err { display:none; margin-top:16px; border:2px solid var(--stamp); color:var(--stamp); border-radius:3px; padding:12px 16px; font-size:.9rem; }
.f-done { display:none; text-align:center; padding:30px 10px; }
.f-done .big { font-family:var(--f-display); text-transform:uppercase; font-size:1.9rem; margin-bottom:10px; }
.info-card { border:2px dashed var(--rule-2); border-radius:4px; padding:22px 24px; margin-bottom:18px; background:var(--card); }
.info-card .lab { font-family:var(--f-mono); font-size:.62rem; font-weight:600; letter-spacing:.22em; text-transform:uppercase; color:var(--lime-ink); display:block; margin-bottom:8px; }
.info-card a { display:block; padding:2px 0; font-weight:500; }
.info-card a:hover { color:var(--lime-ink); }

/* ── QUICK QUOTE MODAL (restyled) ────────────────── */
.rx-qq-veil {
  position:fixed; inset:0; z-index:400; background:rgba(20,20,15,.55);
  display:none; align-items:center; justify-content:center; padding:20px;
}
.rx-qq-veil.on { display:flex; animation:rxFadeIn .2s ease-out both; }
.rx-qq {
  width:100%; max-width:430px; background:var(--card); color:var(--ink);
  border:2px solid var(--ink); border-radius:5px; box-shadow:var(--shadow-print);
}
.rx-qq-head {
  display:flex; justify-content:space-between; align-items:center;
  padding:14px 18px; border-bottom:2px solid var(--ink);
  font-family:var(--f-mono); font-size:.7rem; font-weight:600; letter-spacing:.2em; text-transform:uppercase;
}
.rx-qq-x { background:none; border:0; font-size:1rem; cursor:pointer; color:var(--ink); padding:4px 8px; }
.rx-qq-body { padding:22px 22px 26px; }
.rx-qq-title { font-family:var(--f-display); text-transform:uppercase; font-size:1.5rem; margin-bottom:6px; }
.rx-qq-sub { color:var(--ink-2); font-size:.92rem; margin-bottom:20px; }
.rx-qq-field { margin-bottom:16px; }
.rx-qq-field label { display:block; font-family:var(--f-mono); font-size:.62rem; font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:var(--ink-2); margin-bottom:7px; }
.rx-qq-field input, .rx-qq-field select {
  width:100%; background:var(--paper); border:2px solid var(--ink); border-radius:3px;
  padding:12px 13px; font-size:.96rem; font-family:var(--f-body); color:var(--ink); outline:none;
}
.rx-qq-send { width:100%; margin-top:6px; background:var(--lime); border:2px solid var(--ink); border-radius:3px; padding:14px; font-weight:700; font-size:.98rem; cursor:pointer; box-shadow:var(--shadow-print-sm); font-family:var(--f-body); }
.rx-qq-send:hover { transform:translate(-1px,-1px); box-shadow:var(--shadow-print); }
.rx-qq-err { display:none; margin-top:14px; color:var(--stamp); font-size:.88rem; }
.rx-qq-done { display:none; text-align:center; padding:16px 4px 8px; }
.rx-qq-done .big { font-family:var(--f-display); text-transform:uppercase; font-size:1.5rem; margin-bottom:8px; }
.rx-qq-done p { color:var(--ink-2); font-size:.92rem; }

/* whatsapp float */
.whatsapp-float {
  position:fixed; right:22px; bottom:22px; z-index:200;
  width:56px; height:56px; border-radius:50%;
  background:var(--lime); border:2px solid var(--ink);
  display:flex; align-items:center; justify-content:center;
  box-shadow:var(--shadow-print-sm);
  transition:transform .15s ease, box-shadow .15s ease;
}
.whatsapp-float:hover { transform:translate(-2px,-2px); box-shadow:var(--shadow-print); }
.whatsapp-float svg { width:28px; height:28px; }

/* reveals */
.reveal { opacity:0; transform:translateY(18px); transition:opacity .45s ease-out, transform .45s cubic-bezier(.2,.8,.3,1); }
.reveal.in { opacity:1; transform:none; }
.reveal-child > * { opacity:0; transform:translateY(14px); transition:opacity .4s ease-out, transform .4s cubic-bezier(.2,.8,.3,1); }
.reveal-child.in > * { opacity:1; transform:none; }
.reveal-child.in > *:nth-child(2){ transition-delay:.06s; }
.reveal-child.in > *:nth-child(3){ transition-delay:.12s; }
.reveal-child.in > *:nth-child(4){ transition-delay:.18s; }
.reveal-child.in > *:nth-child(5){ transition-delay:.24s; }
.reveal-child.in > *:nth-child(6){ transition-delay:.3s; }

@keyframes rxFadeIn { from{opacity:0; transform:translateY(10px);} to{opacity:1; transform:none;} }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
  .reveal, .reveal-child > * { opacity:1; transform:none; }
}

/* primary contact number */
.footer-tel {
  font-family:var(--f-mono); font-weight:600; font-size:1.05rem !important;
  color:var(--lime) !important; letter-spacing:.03em;
  margin-top:4px;
}
.footer-tel:hover { color:var(--white) !important; }


/* ═══════════════════════════════════════════════
   MOTION SYSTEM v12 — choreography, not confetti
   ═══════════════════════════════════════════════ */

/* ── 1. HERO LOAD SEQUENCE ── */
@keyframes rise { from{opacity:0; transform:translateY(26px);} to{opacity:1; transform:none;} }
@keyframes tagDraw { from{opacity:0; letter-spacing:.5em;} to{opacity:1; letter-spacing:.22em;} }
.hero .field-tag { animation:tagDraw .5s cubic-bezier(.2,.9,.3,1) both; }
.hero .field-tag::before { transform-origin:left; animation:lineGrow .6s .15s cubic-bezier(.2,.9,.3,1) both; }
@keyframes lineGrow { from{transform:scaleX(0);} to{transform:scaleX(1);} }
.hero h1 { animation:rise .55s .08s cubic-bezier(.16,1,.3,1) both; }
.hero .lede { animation:rise .55s .18s cubic-bezier(.16,1,.3,1) both; }
.hero .hero-btns { animation:rise .55s .27s cubic-bezier(.16,1,.3,1) both; }
.hero .hero-facts { animation:rise .55s .34s cubic-bezier(.16,1,.3,1) both; }
.waybill { animation:wbIn .65s .25s cubic-bezier(.16,1,.3,1) both; }
@keyframes wbIn {
  from{opacity:0; transform:translateY(34px) rotate(2.5deg);}
  to{opacity:1; transform:translateY(0) rotate(.35deg);}
}
.page-hero .field-tag { animation:tagDraw .7s cubic-bezier(.2,.9,.3,1) both; }
.page-hero h1 { animation:rise .55s .07s cubic-bezier(.16,1,.3,1) both; }
.page-hero .lede { animation:rise .55s .16s cubic-bezier(.16,1,.3,1) both; }

/* ── 2. HIGHLIGHTER SWEEP — the marker drags across ── */
.hl { background-size:0% .82em; transition:background-size .55s cubic-bezier(.6,.05,.2,1); }
.hl.swept { background-size:100% .82em; }
@media (prefers-reduced-motion: reduce) { .hl { background-size:100% .82em; } }

/* ── 3. STAMP SLAM on scroll ── */
.stamp:not(.wb-stamp) { opacity:0; transform:rotate(-4deg) scale(1.7); }
.stamp.slam {
  animation:stampSlam .3s cubic-bezier(.2,2.2,.4,1) both;
}
@keyframes stampSlam {
  0% { opacity:0; transform:rotate(-9deg) scale(1.7); }
  70% { opacity:.95; transform:rotate(-3.4deg) scale(.96); }
  100% { opacity:.92; transform:rotate(-4deg) scale(1); }
}
@media (prefers-reduced-motion: reduce) { .stamp:not(.wb-stamp) { opacity:.92; transform:rotate(-4deg) scale(1); } }

/* ── 4. ROUTE draws itself ── */
.route::before { transition:clip-path 1.2s cubic-bezier(.4,0,.2,1); clip-path:inset(0 0 100% 0); }
.route.in::before { clip-path:inset(0 0 0 0); }
.route-stop { opacity:0; transform:translateX(-14px); transition:opacity .5s ease-out, transform .5s ease-out; }
.route-stop::before { transform:scale(0); transition:transform .3s cubic-bezier(.2,1.8,.4,1); }
.route.in .route-stop { opacity:1; transform:none; }
.route.in .route-stop::before { transform:scale(1); }
.route.in .route-stop:nth-child(1){ transition-delay:.1s; } .route.in .route-stop:nth-child(1)::before{ transition-delay:.15s; }
.route.in .route-stop:nth-child(2){ transition-delay:.32s; } .route.in .route-stop:nth-child(2)::before{ transition-delay:.37s; }
.route.in .route-stop:nth-child(3){ transition-delay:.54s; } .route.in .route-stop:nth-child(3)::before{ transition-delay:.59s; }
.route.in .route-stop:nth-child(4){ transition-delay:.76s; } .route.in .route-stop:nth-child(4)::before{ transition-delay:.81s; }
@media (prefers-reduced-motion: reduce){ .route::before{ clip-path:none; } .route-stop{ opacity:1; transform:none; } .route-stop::before{ transform:scale(1); } }

/* ── 5. TABLE rows cascade ── */
.reveal .compare tbody tr { opacity:0; transform:translateX(-10px); transition:opacity .45s ease-out, transform .45s ease-out; }
.reveal.in .compare tbody tr { opacity:1; transform:none; }
.reveal.in .compare tbody tr:nth-child(1){transition-delay:.05s} .reveal.in .compare tbody tr:nth-child(2){transition-delay:.11s}
.reveal.in .compare tbody tr:nth-child(3){transition-delay:.17s} .reveal.in .compare tbody tr:nth-child(4){transition-delay:.23s}
.reveal.in .compare tbody tr:nth-child(5){transition-delay:.29s} .reveal.in .compare tbody tr:nth-child(6){transition-delay:.35s}
.reveal.in .compare tbody tr:nth-child(7){transition-delay:.41s} .reveal.in .compare tbody tr:nth-child(8){transition-delay:.47s}

/* ── 6. STATS pop ── */
.reveal .stat { opacity:0; transform:translateY(18px); transition:opacity .5s ease-out, transform .5s cubic-bezier(.2,1.2,.4,1); }
.reveal.in .stat { opacity:1; transform:none; }
.reveal.in .stat:nth-child(2){transition-delay:.1s} .reveal.in .stat:nth-child(3){transition-delay:.2s} .reveal.in .stat:nth-child(4){transition-delay:.3s}

/* ── 7. BARCODE scanner sweep ── */
.wb-barcode { position:relative; overflow:hidden; }
.wb-barcode::after {
  content:''; position:absolute; top:-4px; bottom:-4px; width:3px;
  background:var(--stamp); opacity:.85; left:-6px;
  animation:scanSweep 4.5s ease-in-out infinite;
  box-shadow:0 0 8px rgba(217,72,31,.6);
}
@keyframes scanSweep {
  0%, 55% { left:-6px; opacity:0; }
  60% { opacity:.85; }
  85% { left:calc(100% + 3px); opacity:.85; }
  90%, 100% { left:calc(100% + 3px); opacity:0; }
}

/* ── 8. CONVEYOR strip on the CTA band ── */
.cta-band { position:relative; overflow:hidden; }
.cta-band::before {
  content:''; position:absolute; top:0; left:0; right:0; height:5px;
  background:repeating-linear-gradient(90deg, var(--lime) 0 26px, transparent 26px 44px);
  animation:conveyor 1.6s linear infinite;
}
@keyframes conveyor { to { transform:translateX(44px); } }

/* ── 9. HEADER compresses on scroll ── */
header.site { transition:box-shadow .25s ease; }
header.site .nav { transition:height .25s cubic-bezier(.2,.9,.3,1); }
header.site.scrolled { box-shadow:0 6px 24px rgba(20,20,15,.35); }
header.site.scrolled .nav { height:62px; }

/* ── 10. SLIP hover: corner folds, tag lights up ── */
.slip .corner { transition:border-top-width .2s cubic-bezier(.2,1.4,.4,1), border-left-width .2s cubic-bezier(.2,1.4,.4,1); }
.slip:hover .corner { border-top-width:34px; border-left-width:34px; }
.slip .tag { transition:color .2s; }
.slip:hover .tag { color:var(--lime-ink); }
.slip h3 { position:relative; display:inline-block; }
.slip h3::after {
  content:''; position:absolute; left:0; bottom:-3px; height:2.5px; width:0;
  background:var(--lime); transition:width .25s cubic-bezier(.2,.9,.3,1);
}
.slip:hover h3::after { width:100%; }

/* ── 11. TRUST checks tick in ── */
.reveal-child .chk { transform:scale(0) rotate(-40deg); transition:transform .35s cubic-bezier(.2,1.8,.4,1); }
.reveal-child.in .chk { transform:scale(1) rotate(0); }
.reveal-child.in li:nth-child(1) .chk{transition-delay:.15s} .reveal-child.in li:nth-child(2) .chk{transition-delay:.28s}
.reveal-child.in li:nth-child(3) .chk{transition-delay:.41s} .reveal-child.in li:nth-child(4) .chk{transition-delay:.54s}

/* ── 12. FAQ answers glide ── */
.faq details .a { overflow:hidden; }
.faq details[open] .a { animation:faqOpen .3s ease-out both; }
@keyframes faqOpen { from{opacity:0; transform:translateY(-8px);} to{opacity:1; transform:none;} }
.faq summary { transition:padding-left .2s ease, color .15s; }
.faq details[open] summary { padding-left:12px; color:var(--lime-ink); }

/* ── 13. WHATSAPP float — periodic ping ── */
.whatsapp-float { position:fixed; }
.whatsapp-float::before {
  content:''; position:absolute; inset:-2px; border-radius:50%;
  border:2px solid var(--lime); opacity:0;
  animation:waPing 6s ease-out infinite;
  animation-delay:3s;
}
@keyframes waPing {
  0%, 78% { transform:scale(1); opacity:0; }
  80% { opacity:.8; }
  92% { transform:scale(1.9); opacity:0; }
  100% { transform:scale(1.9); opacity:0; }
}

/* ── 14. CALC numbers thump on change ── */
.calc-tile .num.tick { animation:numTick .25s cubic-bezier(.2,1.6,.4,1); }
@keyframes numTick { 0%{transform:scale(1.12); color:var(--lime-ink);} 100%{transform:scale(1);} }

/* ── 15. DEVICE mock rows type in ── */
.reveal-child .device .d-row { opacity:0; transform:translateY(8px); transition:opacity .4s ease-out, transform .4s ease-out; }
.reveal-child.in .device .d-row { opacity:1; transform:none; }
.reveal-child.in .device .d-row:nth-child(1){transition-delay:.25s} .reveal-child.in .device .d-row:nth-child(2){transition-delay:.4s}
.reveal-child.in .device .d-row:nth-child(3){transition-delay:.55s} .reveal-child.in .device .d-row:nth-child(4){transition-delay:.7s}

@media (prefers-reduced-motion: reduce) {
  .hero .field-tag, .hero h1, .hero .lede, .hero .hero-btns, .hero .hero-facts, .waybill,
  .page-hero .field-tag, .page-hero h1, .page-hero .lede { animation:none; opacity:1; transform:none; }
  .waybill { transform:rotate(.35deg); }
  .reveal .compare tbody tr, .reveal .stat, .route-stop, .reveal-child .device .d-row { opacity:1; transform:none; }
  .reveal-child .chk { transform:none; }
  .wb-barcode::after, .cta-band::before, .whatsapp-float::before { animation:none; display:none; }
}


/* ═══ MOTION v13 additions ═══ */

/* scroll progress — thin lime line across the very top */
#scrollProg {
  position:fixed; top:0; left:0; height:3px; width:0; z-index:400;
  background:var(--lime); box-shadow:0 0 10px rgba(201,255,61,.5);
}

/* section headlines wipe upward out of an invisible fold */
.reveal .sec-head h2 {
  clip-path:inset(0 0 102% 0); transform:translateY(20px); opacity:0;
  transition:clip-path .75s cubic-bezier(.2,.9,.2,1), transform .75s cubic-bezier(.2,.9,.2,1), opacity .5s;
}
.reveal.in .sec-head h2 { clip-path:inset(-10% 0 -20% 0); transform:none; opacity:1; }

/* logo nudge */
.nav-logo img { transition:transform .25s cubic-bezier(.2,1.6,.4,1); }
.nav-logo:hover img { transform:rotate(-3deg) scale(1.05); }

/* lime buttons get a sheen sweep on hover */
.btn-fill { position:relative; overflow:hidden; }
.btn-fill::after {
  content:''; position:absolute; top:-40%; bottom:-40%; width:36px; left:-60px;
  background:rgba(255,255,255,.55); transform:skewX(-22deg);
  transition:none; opacity:0;
}
.btn-fill:hover::after { animation:sheen .55s ease-out; }
@keyframes sheen { from{ left:-60px; opacity:1; } to{ left:120%; opacity:1; } }

/* pricing: featured card levitates, others lift on hover */
.price { transition:transform .2s ease, box-shadow .2s ease; }
.price:not(.featured):hover { transform:translate(-3px,-3px); box-shadow:var(--shadow-print); }
.price.featured { animation:featFloat 3.2s ease-in-out infinite alternate; }
@keyframes featFloat { from{ transform:translateY(-6px); } to{ transform:translateY(-13px); } }

/* the paperclip note wiggles now and then */
.wb-note { animation:noteWiggle 6s ease-in-out infinite; }
@keyframes noteWiggle {
  0%, 86%, 100% { transform:rotate(3deg); }
  90% { transform:rotate(5.5deg); }
  94% { transform:rotate(1.5deg); }
  97% { transform:rotate(4deg); }
}

/* waybill LIVE dot ripples */
.wb-head .live i { position:relative; }
.wb-head .live i::after {
  content:''; position:absolute; inset:-3px; border-radius:50%;
  border:1.5px solid var(--lime-ink); opacity:0;
  animation:liveRing 1.8s ease-out infinite;
}
@keyframes liveRing { 0%{ transform:scale(.6); opacity:.8; } 100%{ transform:scale(2); opacity:0; } }

/* info cards + trust rows nudge on hover */
.trust-list li, .info-card { transition:transform .18s ease, box-shadow .18s ease; }
.trust-list li:hover { transform:translate(-2px,-2px); box-shadow:var(--shadow-print-sm); }
.info-card:hover { transform:translate(-2px,-2px); box-shadow:var(--shadow-print-sm); }

/* footer links slide on hover */
.footer-grid a { transition:transform .15s ease, color .15s; }
.footer-grid a:hover { transform:translateX(4px); }

/* stat numbers get the highlighter treatment on hover */
.stat { transition:background .2s; }
.stat:hover { background:rgba(201,255,61,.12); }

@media (prefers-reduced-motion: reduce) {
  .hero::after, .price.featured, .wb-note, .wb-head .live i::after { animation:none; }
  .reveal .sec-head h2 { clip-path:none; transform:none; opacity:1; }
  #scrollProg { display:none; }
}

/* ═══ MOBILE OVERHAUL v13 ═══ */
@media (max-width: 980px) {
  .nav { height:64px; }
  header.site.scrolled .nav { height:58px; }
  .nav-logo img { height:26px; }
  .nav-links {
    position:absolute; top:100%; left:0; right:0; inset:auto 0 auto 0; top:100%;
  }
  .hero::after { display:none; }
}
@media (max-width: 700px) {
  body { font-size:15.5px; }
  .wrap { padding:0 18px; }
  h1 { font-size:clamp(2.5rem, 11.5vw, 3.6rem); }
  h2 { font-size:clamp(1.8rem, 7.5vw, 2.5rem); }
  section { padding:58px 0; }
  section.tight { padding:48px 0; }
  .sec-head { margin-bottom:32px; }
  .hero { padding:92px 0 44px; }
  .hero-grid { gap:36px; }
  .hero-btns .btn { flex:1 1 100%; }
  .page-hero { padding:88px 0 40px; }
  .waybill { max-width:100%; }
  .wb-log { min-height:0; }
  .stats { box-shadow:var(--shadow-print-sm); }
  .stat { padding:22px 20px; }
  .split { gap:34px; }
  .calc { padding:22px 18px; gap:30px; }
  .calc-tile .num { font-size:1.5rem; }
  .cta-band { padding:70px 0; }
  .cta-band h2 { font-size:clamp(2rem, 10vw, 3rem); }
  footer.site { padding:48px 0 0; }
  .footer-grid { gap:30px; padding-bottom:38px; }
  .price.featured { transform:none; animation:none; }
  .faq summary { font-size:.98rem; padding:18px 4px; }
  .form-card { padding:24px 18px; }
  .whatsapp-float { width:50px; height:50px; right:16px; bottom:16px; }
}
@media (max-width: 430px) {
  .wb-meta { grid-template-columns:1fr; }
  .wb-code .code { font-size:1.15rem; }
  .areas-track { font-size:.68rem; gap:24px; }
  .areas-track span { gap:24px; }
  .stats { grid-template-columns:1fr; }
}


/* ═══ v14 — PERFORMANCE ═══ */
section.reveal { content-visibility:auto; contain-intrinsic-size:auto 640px; }
.areas-track { will-change:transform; transform:translateZ(0); }
.hero::after { will-change:transform; }

/* page-to-page fade */
body { animation:pageIn .28s ease-out; }
@keyframes pageIn { from{opacity:0;} to{opacity:1;} }
body.page-out { opacity:0; transition:opacity .15s ease-in; }

/* ═══ v14 — MOBILE BUG FIXES ═══ */
@media (max-width: 700px) {
  .field-tag { font-size:.6rem; letter-spacing:.16em; gap:8px; line-height:2; flex-wrap:wrap; }
  .field-tag::before { width:16px; }
  .hero .field-tag { animation:rise .45s both; }  /* letter-spacing anim caused reflow-wrap on phones */
  .hero::before { height:120px; }
  .page-hero::before { height:110px; }
  .hero-facts { font-size:.66rem; gap:7px 16px; }
  .btn-lg { padding:15px 24px; }
  /* whatsapp float: hidden until you scroll past the hero, never on top of CTAs */
  .whatsapp-float { opacity:0; pointer-events:none; transform:translateY(14px); transition:opacity .25s, transform .25s; }
  .whatsapp-float.show { opacity:1; pointer-events:auto; transform:none; }
}

/* ═══ v14 — DISPATCH BOARD (signature) ═══ */
.board-sec { background:var(--band); border-bottom:2px solid var(--ink); color:var(--white); }
.board-head { display:flex; align-items:baseline; justify-content:space-between; gap:14px; flex-wrap:wrap; margin-bottom:22px; }
.board-title { font-family:var(--f-display); text-transform:uppercase; font-size:clamp(1.5rem,3.4vw,2.2rem); color:var(--white); }
.board-demo { font-family:var(--f-mono); font-size:.64rem; letter-spacing:.2em; text-transform:uppercase; color:#8a8a7f; }
.board-demo b { color:var(--lime); animation:pulseDot 1.6s ease-in-out infinite; }
@keyframes pulseDot { 0%,100%{opacity:1} 50%{opacity:.3} }
.board { font-family:var(--f-mono); font-size:.82rem; border-top:1px solid rgba(245,245,243,.14); perspective:600px; }
.board-row {
  display:grid; grid-template-columns:64px 130px 1fr auto; gap:16px; align-items:center;
  padding:12px 4px; border-bottom:1px solid rgba(245,245,243,.09);
  transform-origin:top; backface-visibility:hidden;
}
.board-row.flip { animation:flipIn .45s cubic-bezier(.2,.9,.3,1) both; }
@keyframes flipIn { from{ transform:rotateX(-88deg); opacity:0; } to{ transform:rotateX(0); opacity:1; } }
.board-row .bt { color:#8a8a7f; }
.board-row .bc { color:var(--white); font-weight:600; letter-spacing:.04em; }
.board-row .ba { color:#BDBCB1; text-transform:uppercase; letter-spacing:.08em; font-size:.74rem; }
.board-row .bs { font-size:.66rem; letter-spacing:.14em; text-transform:uppercase; font-weight:600; padding:4px 10px; border:1.5px solid currentColor; border-radius:100px; white-space:nowrap; }
.board-row .bs.go { color:var(--lime); }
.board-row .bs.ok { color:var(--lime); background:rgba(201,255,61,.1); }
.board-row .bs.pk { color:#FFC14D; }
.board-row .bs.rc { color:#9c9b90; }
@media (max-width:700px) {
  .board { font-size:.72rem; }
  .board-row { grid-template-columns:48px 96px 1fr; gap:10px; }
  .board-row .bs { grid-column:3; justify-self:end; grid-row:1; }
  .board-row .ba { grid-column:2 / 4; grid-row:2; }
  .board-row .bc { grid-row:1; }
}

/* reverse services strip */
.areas-rev .areas-track { animation-direction:reverse; }

/* waybill pointer-tilt readiness */
.waybill.settled { animation:none; transition:transform .18s ease-out; }

@media (prefers-reduced-motion: reduce) {
  .board-row.flip { animation:none; }
  body { animation:none; }
  section.reveal { content-visibility:visible; }
}


/* ═══════════════════════════════════════════════════════════════
   THEME v15 — NIGHT OPS
   Same manifest language, executed on black. Lime is precision
   ink, not neon soup. This layer overrides the paper theme.
   ═══════════════════════════════════════════════════════════════ */
:root {
  --paper: #0B0B08;
  --paper-deep: #100F0B;
  --card: #131310;
  --ink: #EFEEE6;
  --ink-2: #A6A597;
  --rule: rgba(239,238,230,.13);
  --rule-2: rgba(239,238,230,.22);
  --lime-ink: #C9FF3D;
  --stamp: #FF5C39;
  --band: #0B0B08;
  --band-2: #131310;
  --shadow-print: 4px 4px 0 rgba(201,255,61,.28);
  --shadow-print-sm: 3px 3px 0 rgba(201,255,61,.24);
}

/* blueprint field + film grain */
body {
  background:var(--paper);
  background-image:
    linear-gradient(rgba(201,255,61,.028) 1px, transparent 1px),
    linear-gradient(90deg, rgba(201,255,61,.028) 1px, transparent 1px);
  background-size:52px 52px;
}
body::after {
  content:''; position:fixed; inset:0; z-index:2000; pointer-events:none; opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.6'/%3E%3C/svg%3E");
}

/* header & footer ARE the page now — hairline + lime rule only */
header.site { background:rgba(11,11,8,.86); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); }
.nav-links > a { color:var(--ink-2); }
.nav-links > a:hover { color:var(--ink); background:rgba(239,238,230,.05); }
.nav-links > a.active { color:var(--lime); background:rgba(201,255,61,.09); }
footer.site { background:var(--paper); color:var(--ink-2); }
@media (max-width:980px){ .nav-links { background:rgba(11,11,8,.97); backdrop-filter:blur(14px); border-bottom:1px solid var(--rule); } }

/* hero: no fog needed — replace with a lime operations glow */
.hero::before { background:radial-gradient(820px 420px at 72% -12%, rgba(201,255,61,.1), transparent 65%); height:440px; }
.hero { padding-top:88px; }
.page-hero { padding-top:84px; border-bottom-color:var(--rule); }
.page-hero::before { background:radial-gradient(700px 340px at 70% -14%, rgba(201,255,61,.09), transparent 65%); height:360px; }
.hero::after { -webkit-text-stroke:2px rgba(239,238,230,.06); }

/* highlighter on black: text flips to ink as the marker passes */
.hl { transition:background-size .55s cubic-bezier(.6,.05,.2,1), color .25s .18s; }
.hl.swept { color:#0B0B08; }
@media (prefers-reduced-motion: reduce){ .hl { color:#0B0B08; } }
.cta-band h2 .hl { color:#0B0B08; }

/* cards: dark slips, lime crosshair ticks at the corners */
.slip, .price, .form-card, .info-card, .trust-list li, .calc, .stats, .compare-wrap, .waybill, .device {
  background:var(--card);
  border-color:var(--rule-2);
  box-shadow:none;
}
.slip, .price, .stats, .calc, .waybill, .compare-wrap, .form-card { position:relative; }
.slip::before, .price::before, .stats::before, .calc::before, .form-card::before {
  content:'+'; position:absolute; top:-9px; left:-6px; color:var(--lime);
  font-family:var(--f-mono); font-size:14px; line-height:1; opacity:.85; pointer-events:none;
}
.slip:hover, .trust-list li:hover, .info-card:hover, .price:not(.featured):hover {
  transform:translate(-3px,-3px); box-shadow:var(--shadow-print-sm); border-color:var(--rule-2);
}
.kpis, .stat { border-color:var(--rule-2); }
.stat { border-right-color:var(--rule-2) !important; border-bottom-color:var(--rule-2) !important; }
.stat:hover { background:rgba(201,255,61,.07); }
.price.featured { border-color:var(--lime); box-shadow:0 0 0 1px rgba(201,255,61,.25), var(--shadow-print-sm); }
.waybill { box-shadow:var(--shadow-print); }
.wb-head, .wb-code .code, .wb-meta .f b { color:var(--ink); }
.wb-head { border-bottom-color:var(--rule-2); }
.wb-barcode i { background:var(--ink); }
.wb-tear { border-top-color:var(--rule-2); }
.wb-tear::before, .wb-tear::after { background:var(--paper); border-color:var(--rule-2); }
.wb-log .lg .d b { color:var(--lime); }
.wb-note { color:#0B0B08; box-shadow:var(--shadow-print-sm); }
.wb-head .live { color:var(--lime); }
.wb-head .live i { background:var(--lime); }
.wb-head .live i::after { border-color:var(--lime); }

/* type + tags */
.field-tag { color:var(--ink-2); }
.field-tag::before { background:var(--lime); }
.field-tag b { color:var(--lime); }
.lede b { color:var(--ink); }
.route-stop .rt { color:var(--lime); }
.route::before { border-left-color:var(--rule-2); }
.route-stop::before { background:var(--paper); border-color:var(--ink); }
.route-stop.hot::before, .route.in .route-stop.hot::before { background:var(--lime); }

/* buttons on black */
.btn-fill { border-color:var(--lime); }
.btn-line { border-color:var(--rule-2); color:var(--ink); }
.btn-line:hover { background:var(--ink); color:#0B0B08; border-color:var(--ink); }
.on-band .btn-line { border-color:var(--rule-2); color:var(--ink); }

/* compare table */
.compare th, .compare td { border-bottom-color:var(--rule); }
.compare thead th { border-bottom-color:var(--rule-2); color:var(--ink-2); }
.compare .hl-col { background:rgba(201,255,61,.1); color:var(--ink); }
.compare thead .hl-col { color:var(--lime); }
.compare .n { color:#FF8A70; }

/* stats slips + counters */
.stat .n em { color:var(--lime); }

/* devices: the customer console dark, the portal mock stays LIGHT —
   it's a truthful preview of your light portal, and the contrast pops */
.device.dark { border-color:var(--rule-2); }
.device.light { background:#F4F2EA; border-color:var(--rule-2); }
.device.light, .device.light .d-cap { color:#191913; }
.device.light .d-bar { background:#E9E7DD; color:#63625A; border-bottom-color:#191913; }
.device.light .d-cap { border-top-color:#D8D5C6; }
.device.light .d-kpi { border-color:#C4C1AF; }
.device.light .d-kpi .l { color:#8B8A7C; }
.device.light .d-row { border-top-color:rgba(25,25,19,.18); }

/* board + marquees sit flush on the black field */
.board-sec { background:var(--paper-deep); border-top:1px solid var(--rule); border-bottom:1px solid var(--rule); }
.areas { background:var(--paper-deep); border-color:var(--rule); }
.areas-track span { color:var(--ink-2); }
.rule-top { border-top-color:var(--rule); }
section[style*="--paper-deep"] { background:var(--paper-deep) !important; }

/* ══ THE INVERSION: CTA band goes full lime ══ */
.cta-band { background:var(--lime); color:#0B0B08; border-top:none; }
.cta-band h2 { color:#0B0B08; }
.cta-band h2 .hl { background:none; color:#0B0B08; text-decoration:underline; text-decoration-thickness:6px; text-underline-offset:8px; }
.cta-band .lede { color:rgba(11,11,8,.72); }
.cta-band::before { background:repeating-linear-gradient(90deg, #0B0B08 0 26px, transparent 26px 44px); }
.cta-band .btn-fill { background:#0B0B08; color:var(--lime); border-color:#0B0B08; box-shadow:4px 4px 0 rgba(11,11,8,.28); }
.cta-band .btn-line { border-color:#0B0B08; color:#0B0B08; }
.cta-band .btn-line:hover { background:#0B0B08; color:var(--lime); }
.cta-band .stamp { border-color:#0B0B08; color:#0B0B08; }

/* forms + modal on black */
.f-field input, .f-field select, .f-field textarea,
.rx-qq-field input, .rx-qq-field select {
  background:var(--paper); border-color:var(--rule-2); color:var(--ink);
}
.f-field input:focus, .f-field select:focus, .f-field textarea:focus { border-color:var(--lime); box-shadow:0 0 0 3px rgba(201,255,61,.12); }
.rx-qq { background:var(--card); color:var(--ink); border-color:var(--rule-2); box-shadow:var(--shadow-print); }
.rx-qq-head { border-bottom-color:var(--rule-2); }
.rx-qq-x { color:var(--ink); }
.rx-qq-send { border-color:var(--lime); }
.rx-qq-veil { background:rgba(0,0,0,.7); }
.f-err { border-color:var(--stamp); color:var(--stamp); }
.info-card { border-style:solid; }
.info-card .lab { color:var(--lime); }
.trust-list .chk { border-color:var(--lime); }
.faq details, .faq details:first-child { border-color:var(--rule-2); }
.faq summary .ico { color:var(--lime); }
.faq details[open] summary { color:var(--lime); }
.faq .a { color:var(--ink-2); }

/* calc */
.calc-tile { border-color:var(--rule-2); }
input[type=range].range { background:var(--rule-2); }
input[type=range].range::-webkit-slider-thumb { border-color:var(--ink); }
.calc-note, .price-note { color:var(--ink-2); }
.price .p-range { border-bottom-color:var(--rule-2); }
.price li::before { color:var(--lime); }
.price .p-stamp { background:var(--card); }

/* whatsapp float */
.whatsapp-float { border-color:var(--lime); box-shadow:0 4px 20px rgba(201,255,61,.25); }

/* scroll prog brighter */
#scrollProg { box-shadow:0 0 12px rgba(201,255,61,.55); }

/* section headline wipe stays; hero ghost + glow already tuned */
.footer-tel { color:var(--lime) !important; }
.footer-grid h4 { color:var(--ink); }
.footer-bottom { border-top-color:var(--rule); color:var(--ink-2); }

/* ══ ANIMATED CURSOR ══ */
@media (hover:hover) and (pointer:fine) {
  body.has-cursor, body.has-cursor a, body.has-cursor button, body.has-cursor summary, body.has-cursor label { cursor:none; }
  body.has-cursor input, body.has-cursor textarea, body.has-cursor select { cursor:auto; }
}
#cxDot, #cxRing { position:fixed; top:0; left:0; pointer-events:none; z-index:3000; border-radius:50%; }
#cxDot { width:6px; height:6px; background:var(--lime); transform:translate(-50%,-50%); }
#cxRing {
  width:34px; height:34px; border:1.5px solid rgba(201,255,61,.75);
  transform:translate(-50%,-50%); mix-blend-mode:difference;
  transition:width .18s ease, height .18s ease, background .18s ease, opacity .2s;
}
#cxRing.hot { width:56px; height:56px; background:rgba(201,255,61,.14); }
#cxRing.down { width:26px; height:26px; }
@media (prefers-reduced-motion: reduce), (hover:none) { #cxDot, #cxRing { display:none; } }


/* ═══ v16 — SENIOR PASS: restraint over effects ═══ */

/* kill the film grain (biggest AI tell) */
body::after { display:none !important; content:none !important; }

/* (grid removed in v17) */

/* animated cursor → gone. A senior site trusts the OS cursor. */
body.has-cursor, body.has-cursor a, body.has-cursor button,
body.has-cursor summary, body.has-cursor label { cursor:auto !important; }
#cxDot, #cxRing { display:none !important; }

/* corner + crosshairs → too cute, remove */
.slip::before, .price::before, .stats::before, .calc::before, .form-card::before { content:none !important; }

/* tighten color: lime only where it earns attention.
   Demote decorative lime to a restrained gold-ink where it was just texture. */
.field-tag::before { background:var(--ink-2); }
.route::before { border-left-style:solid; border-left-color:var(--rule); }

/* type discipline — asymmetric, editorial rhythm */
.sec-head { max-width:760px; }
.hero-grid { grid-template-columns:1.25fr .75fr; gap:72px; }
h1 { letter-spacing:-.01em; }
.lede { max-width:52ch; }

/* sharper, quieter cards — 1px hairline, no chunky 2px everywhere */
.slip, .price, .form-card, .info-card, .trust-list li,
.calc, .stats, .compare-wrap, .device { border-width:1px; }
.slip:hover { transform:translateY(-4px); box-shadow:none; border-color:var(--lime); }
.slip .corner { display:none; }
.trust-list li:hover, .info-card:hover, .price:not(.featured):hover {
  transform:translateY(-4px); box-shadow:none; border-color:var(--rule-2);
}

/* buttons: flatten the toy shadow, keep it crisp */
.btn-fill { box-shadow:none; }
.btn-fill:hover { transform:translateY(-2px); box-shadow:0 8px 24px rgba(201,255,61,.18); }
.btn-fill:active { transform:translateY(0); box-shadow:none; }

/* waybill: lose the paperclip gimmick + heavy shadow, keep the object elegant */
.wb-note { display:none; }
.waybill { box-shadow:0 30px 80px -30px rgba(0,0,0,.9); border-width:1px; transform:rotate(0deg); }
.waybill.settled { transition:transform .3s ease-out; }

/* stamps: quieter, one accent not many */
.stamp { opacity:.8; border-width:2px; }

/* section rhythm: generous, confident negative space */
section { padding:120px 0; }
section.tight { padding:80px 0; }
.hero { padding:120px 0 110px; }

/* nav: lighter weight, more air, tracked-out wordmark spacing */
.nav-links { gap:8px; font-size:.9rem; }
.nav-links > a { padding:8px 14px; }
.nav-links > a.active { background:none; color:var(--lime); }
.nav-links > a.active::after {
  content:''; display:block; height:1px; background:var(--lime); margin-top:5px;
}

/* CTA inversion stays — it's the one bold move, and bold ≠ AI when it's the ONLY one */

/* dispatch board: make it feel engineered, tighter leading */
.board-row { padding:14px 4px; }
.board-title { letter-spacing:-.01em; }

/* remove conveyor toy-stripe from CTA — too playful for 'elite' */
.cta-band::before { display:none; }

@media (max-width:700px){
  section { padding:72px 0; }
  .hero { padding:96px 0 64px; }
  .hero-grid { grid-template-columns:1fr; gap:40px; }
}


/* ═══════════════════════════════════════════════════════════════
   v17 — KILL THE GRID. REAL MOTION. COOL CURSOR BACK.
   ═══════════════════════════════════════════════════════════════ */

/* 1. NO GRID. Pure black with a single soft lime aura, top-right. */
body {
  background-image:none !important;
  background:
    radial-gradient(1100px 620px at 88% -8%, rgba(201,255,61,.06), transparent 62%),
    radial-gradient(900px 500px at -6% 40%, rgba(201,255,61,.03), transparent 60%),
    #070706 !important;
  background-attachment:fixed !important;
}
:root { --paper:#070706; --paper-deep:#0C0C09; --card:#111110; }

/* 2. BUTTON: deep lime→chartreuse gradient, real depth, not flat acid */
.btn-fill {
  background:linear-gradient(135deg, #D4FF4A 0%, #A8E000 100%) !important;
  color:#0A0A06 !important; border:none !important; font-weight:700;
  box-shadow:0 2px 0 #7BA000, 0 10px 30px -8px rgba(201,255,61,.45) !important;
}
.btn-fill:hover { transform:translateY(-2px); box-shadow:0 4px 0 #7BA000, 0 16px 40px -8px rgba(201,255,61,.55) !important; }
.btn-fill:active { transform:translateY(1px); box-shadow:0 1px 0 #7BA000 !important; }
.nav-cta .btn-fill { box-shadow:0 2px 0 #7BA000, 0 6px 18px -6px rgba(201,255,61,.4) !important; }

/* 4. MORE MOTION */

/* magnetic buttons pull toward cursor (JS sets --mx/--my) */
.btn { transition:transform .18s cubic-bezier(.2,.9,.3,1), box-shadow .18s; }
.magnetic { transform:translate(var(--mx,0), var(--my,0)); }

/* headline letters rise in sequence (JS splits into .ln spans) */
.hero h1 .ln { display:block; overflow:hidden; }
.hero h1 .ln > span { display:block; transform:translateY(105%); animation:lnRise .7s cubic-bezier(.16,1,.3,1) forwards; }
.hero h1 .ln:nth-child(1) > span { animation-delay:.15s; }
.hero h1 .ln:nth-child(2) > span { animation-delay:.26s; }
.hero h1 .ln:nth-child(3) > span { animation-delay:.37s; }
.hero h1 .ln:nth-child(4) > span { animation-delay:.48s; }
@keyframes lnRise { to { transform:translateY(0); } }
@media (prefers-reduced-motion:reduce){ .hero h1 .ln > span { transform:none; animation:none; } }

/* waybill floats gently, always alive */
.waybill { animation:wbIn .65s .25s cubic-bezier(.16,1,.3,1) both, wbFloat 6s 1.4s ease-in-out infinite; }
@keyframes wbFloat { 0%,100%{ transform:translateY(0) rotate(0); } 50%{ transform:translateY(-10px) rotate(.4deg); } }
.waybill.settled { animation:wbFloat 6s ease-in-out infinite; }

/* aura pulse behind hero */
.hero::before { animation:auraPulse 7s ease-in-out infinite; }
@keyframes auraPulse { 0%,100%{ opacity:.7; } 50%{ opacity:1; } }

/* nav links: lime underline wipes in */
.nav-links > a { position:relative; }
.nav-links > a::after { content:''; position:absolute; left:14px; right:14px; bottom:3px; height:1.5px; background:#C9FF3D; transform:scaleX(0); transform-origin:left; transition:transform .25s cubic-bezier(.2,.9,.3,1); }
.nav-links > a:hover::after { transform:scaleX(1); }
.nav-links > a.active::after { transform:scaleX(1); }

/* stat numbers count with a lime flash underline */
.stat { position:relative; overflow:hidden; }
.stat::after { content:''; position:absolute; left:0; bottom:0; height:2px; width:100%; background:linear-gradient(90deg,#C9FF3D,transparent); transform:scaleX(0); transform-origin:left; transition:transform .8s ease; }
.reveal.in .stat::after { transform:scaleX(1); }

/* slip lift + lime edge glow */
.slip { transition:transform .22s cubic-bezier(.2,.9,.3,1), border-color .22s, box-shadow .22s; }
.slip:hover { transform:translateY(-6px); border-color:#C9FF3D; box-shadow:0 20px 50px -20px rgba(201,255,61,.35); }

/* dispatch board rows glow on entry */
.board-row.flip { position:relative; }
.board-row.flip::before { content:''; position:absolute; inset:0; background:linear-gradient(90deg, rgba(201,255,61,.14), transparent 40%); animation:rowFlash .8s ease-out forwards; }
@keyframes rowFlash { to { opacity:0; } }

/* section headline: lime bar sweeps left→right before text */
.sec-head h2 { position:relative; }

/* whatsapp float: gradient + breathing */
.whatsapp-float { background:linear-gradient(135deg,#D4FF4A,#A8E000) !important; animation:waBreath 3s ease-in-out infinite; }
@keyframes waBreath { 0%,100%{ box-shadow:0 4px 20px rgba(201,255,61,.3); } 50%{ box-shadow:0 4px 30px rgba(201,255,61,.55); } }

/* remove leftover grid vars everywhere just in case */
.board-sec, .areas { background:var(--paper-deep) !important; }


/* ═══ v18 — cursor gone, white purged ═══ */
#cx { display:none !important; }
body.cx *, body.cx a, body.cx button, body.cx summary, body.cx label { cursor:auto !important; }

/* purge every remaining white: cards, raised surfaces, mock */
:root { --card:#111110; }
.device.light { background:#12120F !important; border-color:var(--rule-2) !important; }
.device.light, .device.light .d-cap { color:#EFEEE6 !important; }
.device.light .d-bar { background:#0C0C09 !important; color:#8a897d !important; border-bottom-color:var(--rule-2) !important; }
.device.light .d-cap { border-top-color:var(--rule) !important; }
.device.light .d-kpi { border-color:var(--rule-2) !important; }
.device.light .d-kpi .v { color:var(--lime) !important; }
.device.light .d-kpi .l { color:#75746a !important; }
.device.light .d-row { border-top-color:var(--rule) !important; }
.device.light .d-row span:last-child { color:var(--lime) !important; }
.price .p-stamp { background:var(--card) !important; }
.waybill, .slip, .price, .form-card, .info-card, .trust-list li, .calc, .stats, .compare-wrap { background:#111110 !important; }
.wb-tear::before, .wb-tear::after { background:#070706 !important; }
/* selection + range thumb were white-ish */
input[type=range].range::-webkit-slider-thumb { background:var(--lime) !important; }
input[type=range].range::-moz-range-thumb { background:var(--lime) !important; }


/* ═══ v22 — button hover fix + amazing cursor + white-line kill ═══ */

/* header 'Client login' outline button: proper dark-theme hover */
.nav-cta .btn-line, header .btn-line {
  border-color:rgba(240,238,230,.22) !important; color:var(--ink) !important; background:transparent !important;
}
.nav-cta .btn-line:hover, header .btn-line:hover {
  background:rgba(201,255,61,.1) !important; border-color:var(--lime) !important; color:var(--lime) !important;
}


/* ── THE CURSOR: a soft lime orb with a glowing halo, spring-trailed ── */
@media (hover:hover) and (pointer:fine) {
  body.orb, body.orb * { cursor:none !important; }
  body.orb input, body.orb textarea, body.orb select { cursor:text !important; }
}
#orb, #orbHalo { position:fixed; top:0; left:0; z-index:5000; pointer-events:none; border-radius:50%; }
#orb {
  width:8px; height:8px; margin:-4px 0 0 -4px;
  background:#D4FF4A;
  box-shadow:0 0 8px 2px rgba(201,255,61,.9);
}
#orbHalo {
  width:38px; height:38px; margin:-19px 0 0 -19px;
  border:1.5px solid rgba(201,255,61,.5);
  background:radial-gradient(circle, rgba(201,255,61,.1), transparent 70%);
  transition:width .28s cubic-bezier(.2,1.3,.4,1), height .28s cubic-bezier(.2,1.3,.4,1),
             margin .28s cubic-bezier(.2,1.3,.4,1), background .28s, border-color .28s, opacity .25s;
}
body.orb-hot #orbHalo {
  width:70px; height:70px; margin:-35px 0 0 -35px;
  background:radial-gradient(circle, rgba(201,255,61,.16), transparent 68%);
  border-color:rgba(201,255,61,.7);
}
body.orb-down #orbHalo { width:26px; height:26px; margin:-13px 0 0 -13px; }
body.orb-hide #orb, body.orb-hide #orbHalo { opacity:0; }
/* fading trail dots */
.orb-trail { position:fixed; width:5px; height:5px; margin:-2.5px 0 0 -2.5px; border-radius:50%; background:rgba(201,255,61,.5); z-index:4999; pointer-events:none; animation:orbFade .5s ease-out forwards; }
@keyframes orbFade { from{opacity:.5;transform:scale(1)} to{opacity:0;transform:scale(.2)} }
@media (prefers-reduced-motion:reduce),(hover:none){ #orb,#orbHalo{display:none} body.orb,body.orb *{cursor:auto !important} }


/* ═══ COVERAGE MAP ═══ */
.map-wrap{ display:grid; grid-template-columns:1.5fr .8fr; gap:36px; align-items:stretch; }
@media(max-width:900px){ .map-wrap{ grid-template-columns:1fr; gap:26px; } }
.map-frame{
  background:linear-gradient(160deg,#111110,#0b0b09); border:1px solid var(--rule-2);
  border-radius:16px; padding:18px; position:relative; overflow:hidden;
}
.map-frame::before{
  content:''; position:absolute; inset:0;
  background:
    linear-gradient(rgba(201,255,61,.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(201,255,61,.03) 1px, transparent 1px);
  background-size:34px 34px; pointer-events:none;
}
.khi-map{ width:100%; height:auto; display:block; position:relative; }
.map-sea{ fill:rgba(31,111,178,.5); font-family:var(--f-mono); font-size:12px; letter-spacing:.3em; }
.map-zones circle{ fill:var(--ink-2); opacity:.55; }
.map-zones text{ fill:var(--ink-2); font-family:var(--f-mono); font-size:11px; letter-spacing:.04em; opacity:.7; }

.map-route{ fill:none; stroke:var(--lime); stroke-width:1.5; stroke-dasharray:4 7; opacity:.4; animation:routeFlow 1.4s linear infinite; }
@keyframes routeFlow{ to{ stroke-dashoffset:-22; } }

.map-hub .hub-core{ fill:var(--lime); }
.map-hub .hub-icon{ fill:#0a0a06; }
.map-hub .hub-ping{ fill:none; stroke:var(--lime); stroke-width:1.5; transform-origin:center; animation:hubPing 2.2s ease-out infinite; }
@keyframes hubPing{ 0%{ transform:scale(.5); opacity:.9; } 100%{ transform:scale(2.6); opacity:0; } }
.map-hub .hub-label{ fill:var(--lime); font-family:var(--f-mono); font-size:11px; font-weight:600; letter-spacing:.14em; }

.map-side{ display:flex; flex-direction:column; gap:16px; justify-content:center; }
.map-stat{ border:1px solid var(--rule-2); border-radius:12px; padding:16px 18px; background:#111110; }
.map-stat .ms-n{ font-family:var(--f-display); font-size:2.4rem; line-height:1; color:var(--lime); }
.map-stat .ms-l{ font-family:var(--f-mono); font-size:.7rem; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-2); margin-top:6px; }
.map-note{ font-size:.9rem; color:var(--ink-2); line-height:1.7; }
@media(max-width:900px){ .map-side{ display:grid; grid-template-columns:1fr 1fr; } .map-note,.map-side .btn{ grid-column:1/-1; } }

/* reveal-in animates hub pings + routes only once visible (perf) */
.reveal .map-route, .reveal .hub-ping{ animation-play-state:paused; }
.reveal.in .map-route, .reveal.in .hub-ping{ animation-play-state:running; }


/* ═══ v24 — checkmark visible + map routes more visible ═══ */

/* trust-list tick: force dark ✓ on the lime disc (was invisible on dark theme) */
.trust-list .chk {
  color:#0A0A06 !important;
  background:linear-gradient(135deg,#D4FF4A,#A8E000) !important;
  border:none !important;
}
/* also the price-list ✓ and any inline check that went invisible */
.price li::before, .hero-facts span::before { color:var(--lime) !important; }

/* MAP: make delivery routes far more visible + brighter zones */
.map-route {
  stroke:var(--lime) !important; stroke-width:2.4 !important;
  opacity:.85 !important; stroke-dasharray:5 6 !important;
  filter:drop-shadow(0 0 4px rgba(201,255,61,.5));
}
.map-zones circle { fill:var(--lime) !important; opacity:.7 !important; }
.map-zones text { fill:var(--ink) !important; opacity:.85 !important; }
.map-hub .hub-ping { stroke-width:2 !important; }
.map-hub .hub-core { filter:drop-shadow(0 0 8px rgba(201,255,61,.9)); }


/* ═══ TRACK nav link — bright pill so it stands out in the menu ═══ */
.nav-links > a.nav-track{
  background:linear-gradient(135deg,#C9FF3D,#A8E000) !important;
  color:#0A0A06 !important; font-weight:800 !important;
  padding:9px 20px !important; border-radius:100px !important;
  margin-left:4px; letter-spacing:.01em;
  box-shadow:0 0 22px -4px rgba(201,255,61,.55);
  transition:transform .18s cubic-bezier(.2,1.4,.4,1), box-shadow .2s !important;
}
.nav-links > a.nav-track::after{ display:none !important; }  /* no underline, it's a pill */
.nav-links > a.nav-track:hover{
  background:linear-gradient(135deg,#D4FF4A,#B4EE00) !important;
  transform:translateY(-2px) scale(1.04);
  box-shadow:0 6px 26px -4px rgba(201,255,61,.7) !important;
  color:#0A0A06 !important;
}
.nav-links > a.nav-track.active{ color:#0A0A06 !important; }
/* mobile: keep it readable as a full-width bright row */
@media(max-width:980px){
  .nav-links > a.nav-track{ text-align:center; margin:8px 0; }
}


/* ═══ v28 — MOBILE MENU: proper left-aligned stack (was centering) ═══ */
@media (max-width: 980px) {
  .nav-links {
    position:absolute !important; top:100% !important; left:0 !important; right:0 !important;
    flex-direction:column !important; align-items:stretch !important; text-align:left !important;
    gap:0 !important; padding:10px 22px 20px !important;
    background:rgba(11,11,8,.98) !important; backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px);
    border-bottom:1px solid rgba(201,255,61,.2) !important;
  }
  .nav-links > a {
    display:block !important; width:100% !important; text-align:left !important;
    padding:16px 6px !important; font-size:1.06rem !important;
    border-bottom:1px solid rgba(240,238,230,.08) !important; border-radius:0 !important;
    background:none !important;
  }
  .nav-links > a::after { display:none !important; }
  /* Track pill: full-width bright row, left aligned label */
  .nav-links > a.nav-track {
    background:linear-gradient(135deg,#C9FF3D,#A8E000) !important; color:#0A0A06 !important;
    border-radius:10px !important; text-align:center !important;
    margin:12px 0 4px !important; padding:14px !important; border-bottom:none !important;
  }
  .nav-mobile-cta { display:flex !important; gap:12px; margin-top:16px; }
  .nav-mobile-cta .btn { flex:1; }
}


/* v30 — highlight sits cleaner on mobile so KARACHI isn't clipped */
@media(max-width:700px){
  .hl{ background-size:100% .72em !important; background-position:center 62% !important; }
}


/* ═══ v31 — REAL mobile fixes ═══ */
@media (max-width:980px){
  /* THE BUG: hamburger sat next to the logo. Push it to the far right. */
  .nav{ justify-content:space-between !important; }
  .nav-logo{ margin-right:auto !important; }
  .nav-cta{ margin-left:auto !important; }
  .nav-toggle{ margin-left:auto !important; }
}
