:root {
  --white: #ffffff;
  --off-white: #faf8f8;
  --ink: #171216;
  --muted: #6f656b;
  --line: #eadfe4;
  --burgundy: #76002f;
  --wine: #980042;
  --magenta: #c0004d;
  --coral: #e25b49;
  --orange: #ef9143;
  --soft-pink: #fff1f5;
  --shadow: 0 24px 70px rgba(92, 0, 39, 0.12);
  --radius: 24px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: "Manrope", sans-serif;
  color: var(--ink);
  background: var(--white);
  line-height: 1.6;
}
body.menu-open { overflow: hidden; }
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }
.container { width: min(1180px, calc(100% - 40px)); margin: 0 auto; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(234,223,228,.8);
}
.nav-wrap { height: 82px; display: flex; align-items: center; gap: 32px; }
.brand img { width: 138px; height: 62px; object-fit: contain; }
.nav { display: flex; align-items: center; gap: 26px; margin-left: auto; }
.nav a { font-size: 14px; font-weight: 700; color: #554b50; }
.nav a:hover { color: var(--magenta); }
.desktop-cta { margin-left: 6px; }

.menu-toggle { display: none; width: 44px; height: 44px; border: 0; background: transparent; margin-left: auto; }
.menu-toggle span { display:block; height:2px; width:24px; background:var(--ink); margin:5px auto; transition:.25s; }

.button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 52px;
  padding: 0 24px;
  border-radius: 999px;
  border: 1px solid transparent;
  font-weight: 800;
  cursor: pointer;
  transition: .25s ease;
}
.button:hover { transform: translateY(-2px); }
.button-small { min-height: 44px; padding: 0 18px; font-size: 14px; }
.button-primary { color: white; background: linear-gradient(135deg, var(--burgundy), var(--magenta) 55%, var(--coral)); box-shadow: 0 12px 30px rgba(152,0,66,.22); }
.button-secondary { background: white; border-color: #d8c8cf; }
.button-light { background: white; color: var(--burgundy); }
.button-outline-light { border-color: rgba(255,255,255,.52); color: white; }

.hero {
  position: relative;
  overflow: hidden;
  min-height: 760px;
  display: flex;
  align-items: center;
  background:
    radial-gradient(circle at 88% 16%, rgba(226,91,73,.12), transparent 28%),
    radial-gradient(circle at 72% 70%, rgba(192,0,77,.12), transparent 26%),
    linear-gradient(180deg, #fff 0%, #fff 70%, #fff8fa 100%);
}
.hero::before {
  content: "";
  position: absolute; inset: 0;
  background-image: linear-gradient(rgba(152,0,66,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(152,0,66,.035) 1px, transparent 1px);
  background-size: 44px 44px;
  mask-image: linear-gradient(to right, transparent 0%, black 45%, black 100%);
}
.hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.03fr .97fr; align-items: center; gap: 70px; padding: 90px 0; }
.eyebrow, .section-number { color: var(--magenta); font-size: 12px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.hero h1, h2, h3 { font-family: "Space Grotesk", sans-serif; }
.hero h1 { max-width: 730px; font-size: clamp(50px, 6.1vw, 82px); line-height: .98; letter-spacing: -.055em; margin: 18px 0 24px; }
.hero-lead { font-size: 22px; font-weight: 700; margin: 0 0 14px; }
.hero-description { max-width: 640px; color: var(--muted); font-size: 17px; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.hero-proof { display: flex; gap: 34px; margin-top: 42px; padding-top: 26px; border-top: 1px solid var(--line); }
.hero-proof div { display: grid; }
.hero-proof strong { font-family: "Space Grotesk"; font-size: 28px; line-height: 1; }
.hero-proof span { color: var(--muted); font-size: 12px; margin-top: 7px; }

.hero-visual { position: relative; min-height: 520px; }
.dashboard-card {
  position: absolute; inset: 42px 10px 38px 24px;
  padding: 22px; border-radius: 28px;
  background: rgba(255,255,255,.9); border: 1px solid rgba(255,255,255,.85);
  box-shadow: var(--shadow); backdrop-filter: blur(16px);
  transform: rotate(1deg);
}
.dashboard-top { display:flex; align-items:center; gap:9px; padding-bottom:16px; border-bottom:1px solid var(--line); font-size:13px; font-weight:800; }
.status-dot { width:9px; height:9px; border-radius:50%; background:#25b66c; box-shadow:0 0 0 5px rgba(37,182,108,.12); }
.live-label { margin-left:auto; font-size:10px; color:var(--magenta); letter-spacing:.12em; }
.route-map { position:relative; height:270px; margin-top:16px; border-radius:20px; overflow:hidden; background:linear-gradient(145deg,#fff3f6,#f4edf0); }
.route-map::before { content:""; position:absolute; inset:0; opacity:.35; background-image:radial-gradient(var(--magenta) 1px,transparent 1px); background-size:18px 18px; }
.route-line { position:absolute; height:3px; transform-origin:left center; background:linear-gradient(90deg,var(--coral),var(--magenta)); box-shadow:0 3px 12px rgba(192,0,77,.25); }
.route-a { width:245px; left:78px; top:100px; transform:rotate(13deg); }
.route-b { width:190px; left:215px; top:157px; transform:rotate(-21deg); }
.route-c { width:160px; left:102px; top:188px; transform:rotate(-31deg); }
.map-point { position:absolute; width:13px; height:13px; border-radius:50%; background:white; border:4px solid var(--magenta); box-shadow:0 0 0 5px rgba(192,0,77,.1); }
.map-point span { position:absolute; top:15px; left:-20px; font-size:10px; font-weight:800; white-space:nowrap; }
.p1 { left:62px; top:81px; }.p2 { left:281px; top:132px; }.p3 { left:401px; top:88px; }.p4 { left:158px; top:208px; }
.truck-marker { position:absolute; left:212px; top:123px; font-size:23px; filter:drop-shadow(0 7px 8px rgba(0,0,0,.14)); animation:float 3s ease-in-out infinite; }
.dashboard-metrics { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:14px; }
.dashboard-metrics article { padding:14px; border-radius:16px; background:var(--off-white); }
.dashboard-metrics span,.dashboard-metrics small { display:block; color:var(--muted); font-size:10px; }
.dashboard-metrics strong { display:block; font-size:22px; margin:2px 0; }
.floating-card { position:absolute; z-index:3; display:grid; padding:14px 18px; background:white; border:1px solid var(--line); border-radius:16px; box-shadow:0 14px 40px rgba(92,0,39,.15); }
.floating-card span { color:var(--muted); font-size:10px; }.floating-card strong{font-size:18px;}
.floating-card-one { left:-22px; top:28px; }.floating-card-two{right:-16px;bottom:22px;}
.orb{position:absolute;border-radius:50%;filter:blur(1px)}.orb-one{width:180px;height:180px;background:linear-gradient(135deg,var(--orange),var(--magenta));right:-20px;top:0;opacity:.28}.orb-two{width:130px;height:130px;background:var(--burgundy);left:-10px;bottom:12px;opacity:.13}

.section { padding: 110px 0; }
.section-light { background: white; }
.section-tinted { background: var(--off-white); }
.section-heading { display:grid; grid-template-columns:1fr .7fr; gap:50px; align-items:end; margin-bottom:54px; }
.section-heading h2, .why-intro h2, .coverage-top h2, .contact-copy h2, .final-cta h2 { font-size:clamp(38px,4vw,58px); line-height:1.05; letter-spacing:-.045em; margin:10px 0 0; }
.section-heading p { color:var(--muted); margin:0; }
.data-label { color: var(--magenta)!important; font-weight:800; font-size:12px; letter-spacing:.08em; }

.process-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.process-card { min-height:230px; padding:28px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); transition:.25s; }
.process-card:hover { background:var(--soft-pink); transform:translateY(-4px); }
.process-card span,.capability-card span { color:var(--magenta);font-size:11px;font-weight:800;letter-spacing:.12em; }
.process-card h3 { font-size:24px;margin:42px 0 10px; }
.process-card p,.platform-card p,.sector-card p,.capability-card p,.benefit-list p { color:var(--muted);font-size:14px;margin:0; }

.platform-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.platform-card { padding:34px; border-radius:var(--radius); background:white; border:1px solid var(--line); box-shadow:0 12px 35px rgba(40,20,30,.05); }
.platform-card.featured { background:linear-gradient(160deg,var(--burgundy),var(--wine)); color:white; transform:translateY(-12px); }
.platform-index { width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--soft-pink);color:var(--magenta);font-weight:800;font-size:12px; }
.featured .platform-index { background:rgba(255,255,255,.12); color:white; }
.platform-card h3 { font-size:27px;margin:24px 0 12px; }
.featured p,.featured li { color:rgba(255,255,255,.74); }
.platform-card ul { list-style:none;padding:0;margin:24px 0; }
.platform-card li { padding:10px 0;border-bottom:1px solid var(--line);font-size:14px;font-weight:700; }
.featured li { border-color:rgba(255,255,255,.15); }
.platform-card a { color:var(--magenta);font-weight:800;font-size:14px; }
.featured a { color:white; }

.sector-grid,.capability-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:18px; }
.sector-card { padding:30px;border:1px solid var(--line);border-radius:20px;transition:.25s; }
.sector-card:hover { transform:translateY(-5px);box-shadow:var(--shadow); }
.sector-icon { width:54px;height:54px;display:grid;place-items:center;border-radius:16px;background:var(--soft-pink);font-size:24px; }
.sector-card h3 { font-size:22px;margin:24px 0 8px; }

.section-dark { background:#21151c;color:white;position:relative;overflow:hidden; }
.section-dark::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 90% 10%,rgba(192,0,77,.28),transparent 30%);}
.section-dark .container{position:relative;}
.section-heading.light p { color:rgba(255,255,255,.62); }
.capability-card { padding:32px;border-radius:20px;border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.045); }
.capability-card h3{font-size:22px;margin:36px 0 9px}.capability-card p{color:rgba(255,255,255,.62)}

.why-grid { display:grid;grid-template-columns:.85fr 1.15fr;gap:90px; }
.why-intro { position:sticky;top:130px;align-self:start; }
.why-intro p { color:var(--muted);max-width:520px; }
.big-stat { margin-top:40px;padding:28px;border-radius:20px;background:linear-gradient(135deg,var(--soft-pink),white);border:1px solid var(--line);display:grid; }
.big-stat strong{font-family:"Space Grotesk";font-size:68px;line-height:1;color:var(--magenta)}.big-stat span{font-weight:700;margin-top:10px}
.benefit-list article { display:grid;grid-template-columns:54px 1fr;gap:22px;padding:30px 0;border-bottom:1px solid var(--line); }
.benefit-list article>span{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--soft-pink);color:var(--magenta);font-weight:800;font-size:12px}
.benefit-list h3{font-size:23px;margin:0 0 8px}

.coverage-section { background:linear-gradient(145deg,#fff5f7,#fff 60%); }
.coverage-top{text-align:center;max-width:850px;margin:0 auto}.coverage-top em{font-style:normal;color:var(--magenta)}.coverage-top p{color:var(--muted);max-width:720px;margin:22px auto 0}
.coverage-stats{display:grid;grid-template-columns:repeat(4,1fr);margin-top:60px;border:1px solid var(--line);border-radius:22px;overflow:hidden;background:white}
.coverage-stats div{padding:30px;text-align:center;border-right:1px solid var(--line)}.coverage-stats div:last-child{border:0}.coverage-stats strong{display:block;font-size:34px;font-family:"Space Grotesk"}.coverage-stats span{color:var(--muted);font-size:13px}
.country-list{margin-top:24px;border:1px solid var(--line);border-radius:18px;background:white;padding:0 24px}
.country-list summary{cursor:pointer;padding:20px 0;font-weight:800;color:var(--magenta)}
.countries{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;padding:0 0 24px}.countries span{font-size:12px;color:var(--muted)}

.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
blockquote{margin:0;padding:32px;border:1px solid var(--line);border-radius:22px;background:white;box-shadow:0 12px 34px rgba(40,20,30,.05)}
blockquote>p{font-size:16px;line-height:1.75;margin:0 0 34px}blockquote footer{display:grid}blockquote footer strong{font-size:15px}blockquote footer span,blockquote footer small{color:var(--muted);font-size:12px}blockquote footer small{color:var(--magenta);font-weight:800;margin-top:7px}

.contact-section{background:var(--off-white)}
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px}
.contact-copy>p{color:var(--muted);max-width:500px}
.contact-details{display:grid;gap:20px;margin-top:38px}.contact-details>div{padding-top:18px;border-top:1px solid var(--line);display:grid}.contact-details span{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--magenta);font-weight:800}.contact-details a,.contact-details strong{font-weight:800}.contact-details p{margin:3px 0;color:var(--muted)}
.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:34px;border:1px solid var(--line);border-radius:24px;background:white;box-shadow:var(--shadow)}
.contact-form label{display:grid;gap:8px;font-size:12px;font-weight:800}.contact-form label:nth-child(4){grid-column:1/-1}.contact-form input,.contact-form textarea{width:100%;border:1px solid #dcced4;border-radius:12px;padding:14px 15px;outline:none;background:white}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--magenta);box-shadow:0 0 0 4px rgba(192,0,77,.08)}.contact-form button,.contact-form small{grid-column:1/-1}.contact-form small{color:var(--muted)}

.final-cta{padding:80px 0;background:linear-gradient(125deg,var(--burgundy),var(--wine) 45%,var(--coral));color:white}
.final-cta-inner{display:flex;justify-content:space-between;align-items:end;gap:40px}.final-cta h2{max-width:720px;font-size:clamp(34px,4vw,54px)}.final-cta .hero-actions{margin:0;justify-content:flex-end}

.site-footer{padding:60px 0 30px;background:#160f13;color:white}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:40px}.footer-brand img{width:150px;height:70px;object-fit:contain;background:white;border-radius:12px;padding:5px}.footer-brand p{color:rgba(255,255,255,.55);font-size:13px}.footer-links{display:flex;justify-content:flex-end;gap:24px;font-size:13px;font-weight:700}.footer-legal{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.1);padding-top:22px;display:flex;justify-content:space-between;color:rgba(255,255,255,.5);font-size:12px}.footer-legal div{display:flex;gap:20px}

.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}
@keyframes float{50%{transform:translateY(-8px)}}

@media (max-width: 980px){
  .desktop-cta{display:none}.menu-toggle{display:block;position:relative;z-index:102}
  .nav{position:fixed;inset:82px 0 auto 0;background:white;display:grid;gap:0;padding:20px;transform:translateY(-140%);transition:.3s;border-bottom:1px solid var(--line);box-shadow:0 20px 40px rgba(0,0,0,.08)}
  .nav.open{transform:none}.nav a{padding:15px;border-bottom:1px solid var(--line)}
  .hero-grid{grid-template-columns:1fr;padding-top:60px}.hero-visual{min-height:500px}.hero h1{font-size:64px}
  .section-heading{grid-template-columns:1fr}.process-grid{grid-template-columns:repeat(2,1fr)}.platform-grid{grid-template-columns:1fr}.platform-card.featured{transform:none}
  .sector-grid,.capability-grid{grid-template-columns:repeat(2,1fr)}.why-grid,.contact-grid{grid-template-columns:1fr}.why-intro{position:static}.coverage-stats{grid-template-columns:repeat(2,1fr)}.coverage-stats div:nth-child(2){border-right:0}.coverage-stats div:nth-child(-n+2){border-bottom:1px solid var(--line)}.countries{grid-template-columns:repeat(4,1fr)}
  .testimonial-grid{grid-template-columns:1fr}.final-cta-inner{display:block}.final-cta .hero-actions{justify-content:flex-start;margin-top:28px}
}
@media (max-width: 640px){
  .container{width:min(100% - 24px,1180px)}.nav-wrap{height:72px}.nav{top:72px}.brand img{width:118px;height:54px}
  .hero{min-height:auto}.hero-grid{padding:50px 0 70px;gap:30px}.hero h1{font-size:45px}.hero-lead{font-size:18px}.hero-description{font-size:15px}.hero-actions{display:grid}.hero-proof{gap:14px;justify-content:space-between}.hero-proof strong{font-size:24px}.hero-proof span{font-size:10px}
  .hero-visual{min-height:410px}.dashboard-card{inset:28px 0}.route-map{height:220px}.route-a{width:190px}.route-b{width:130px;left:175px}.route-c{width:125px}.p2{left:218px}.p3{left:300px}.floating-card{display:none}.dashboard-metrics strong{font-size:18px}
  .section{padding:78px 0}.section-heading{margin-bottom:34px}.section-heading h2,.why-intro h2,.coverage-top h2,.contact-copy h2{font-size:38px}
  .process-grid,.sector-grid,.capability-grid{grid-template-columns:1fr}.process-card{min-height:190px}.process-card h3{margin-top:28px}
  .platform-card{padding:26px}.coverage-stats{grid-template-columns:1fr}.coverage-stats div{border-right:0;border-bottom:1px solid var(--line)!important}.coverage-stats div:last-child{border-bottom:0!important}.countries{grid-template-columns:repeat(2,1fr)}
  .contact-form{grid-template-columns:1fr;padding:22px}.contact-form label{grid-column:1/-1}.footer-grid{grid-template-columns:1fr}.footer-links{justify-content:flex-start;flex-wrap:wrap}.footer-legal{display:grid;gap:14px}
}

.legal-hero {
  padding: 100px 0 58px;
  background: linear-gradient(145deg, #fff5f7, #ffffff 70%);
  border-bottom: 1px solid var(--line);
}
.legal-hero h1 {
  font-family: "Space Grotesk", sans-serif;
  font-size: clamp(48px, 7vw, 82px);
  line-height: 1;
  letter-spacing: -.055em;
  margin: 14px 0;
}
.legal-hero p { color: var(--muted); margin: 0; }
.legal-content { padding: 70px 0 100px; }
.legal-container { max-width: 860px; }
.legal-container h2 {
  font-family: "Space Grotesk", sans-serif;
  font-size: 25px;
  margin: 42px 0 10px;
  letter-spacing: -.025em;
}
.legal-container h2:first-child { margin-top: 0; }
.legal-container p { color: var(--muted); }
.legal-container a { color: var(--magenta); font-weight: 700; }
