:root {
  --navy: #0b1726;
  --navy-2: #111f31;
  --ink: #172333;
  --muted: #647282;
  --line: #dce3e9;
  --soft: #f2f5f7;
  --orange: #f39a2f;
  --orange-dark: #d87c13;
  --white: #ffffff;
  --shadow: 0 24px 60px rgba(11, 23, 38, .12);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--white);
  font-family: Inter, Arial, sans-serif;
  line-height: 1.6;
}
a { color: inherit; text-decoration: none; }
.container { width: min(1120px, calc(100% - 40px)); margin: 0 auto; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 20;
  background: rgba(255,255,255,.94);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(220,227,233,.75);
}
.nav-wrap { min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display: flex; align-items: center; gap: 11px; }
.brand-logo {
  width: 76px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  overflow: hidden;
}
.brand-logo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.brand strong { display:block; font: 800 14px/1.2 Manrope, sans-serif; }
.brand small { display:block; margin-top: 3px; color: var(--muted); font-size: 10px; letter-spacing: .06em; text-transform: uppercase; }
.nav { display: flex; align-items: center; gap: 27px; font-size: 13px; font-weight: 600; color: #536171; }
.nav a:hover { color: var(--navy); }
.nav-cta { padding: 11px 16px; border-radius: 7px; background: var(--navy); color: white !important; }
.menu-toggle { display:none; border:0; background:none; padding:8px; }
.menu-toggle span { display:block; width:23px; height:2px; margin:5px; background:var(--navy); }

.hero {
  position: relative; overflow: hidden; min-height: 650px; background: var(--soft);
  display:flex; align-items:center;
}
.hero-grid {
  position:absolute; inset:0; opacity:.55;
  background-image: linear-gradient(rgba(11,23,38,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(11,23,38,.05) 1px, transparent 1px);
  background-size: 46px 46px;
}
.hero::before {
  content:""; position:absolute; width:620px; height:620px; border-radius:50%;
  right:-200px; top:-180px; background: rgba(11,23,38,.07);
}
.hero-inner { position:relative; display:grid; grid-template-columns: 1.02fr .98fr; gap:40px; align-items:center; padding:74px 0; }
.eyebrow { margin:0 0 14px; color:var(--orange-dark); font-size:11px; font-weight:800; letter-spacing:.16em; }
.eyebrow-light { color:#f7ad55; }
h1,h2,h3 { font-family:Manrope, Inter, sans-serif; }
h1 { max-width:680px; margin:0; color:var(--navy); font-size:clamp(42px, 5.1vw, 70px); line-height:1.02; letter-spacing:-.045em; }
h1 span { color:#637183; }
.hero-text { max-width:610px; margin:24px 0 0; color:#586777; font-size:16px; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:31px; }
.btn { display:inline-flex; align-items:center; gap:14px; min-height:47px; padding:0 19px; border-radius:7px; font-size:13px; font-weight:800; transition:.2s ease; }
.btn-primary { background:var(--navy); color:white; box-shadow:0 12px 26px rgba(11,23,38,.15); }
.btn-primary:hover { transform:translateY(-2px); background:#13263d; }
.btn-ghost { border:1px solid #c9d2da; color:var(--navy); background:rgba(255,255,255,.55); }
.hero-stats { display:flex; gap:34px; margin-top:48px; }
.hero-stats div { display:flex; flex-direction:column; }
.hero-stats strong { font:800 18px/1.2 Manrope; color:var(--navy); }
.hero-stats span { margin-top:5px; color:#778391; font-size:10px; text-transform:uppercase; letter-spacing:.07em; }

.hero-visual { min-height:440px; position:relative; display:grid; place-items:center; }
.visual-glow { position:absolute; width:380px; height:380px; border-radius:50%; background:#dbe2e7; filter:blur(1px); }
.truck-card {
  position:relative; width:min(560px, 100%); padding:28px 25px 20px; border-radius:18px;
  background:linear-gradient(145deg,#101d2d,#23354a); color:var(--orange);
  box-shadow:0 30px 70px rgba(11,23,38,.25); transform:rotate(-2deg);
}
.truck-label { font-size:10px; font-weight:800; letter-spacing:.15em; color:#cdd6de; }
.truck-svg { display:block; width:100%; margin:16px 0 0; }
.visual-badge {
  position:absolute; right:-16px; bottom:-18px; padding:11px 14px; border-radius:9px;
  background:white; color:var(--navy); box-shadow:var(--shadow); font-size:11px; font-weight:800;
}
.dot { display:inline-block; width:7px; height:7px; margin-right:6px; border-radius:50%; background:#37a66a; }
.road-line { position:absolute; height:1px; width:130px; background:#aab6c0; transform:rotate(-34deg); opacity:.7; }
.road-1 { left:6%; top:22%; } .road-2 { right:3%; bottom:17%; transform:rotate(-34deg); }

.section { padding:100px 0; }
.two-col { display:grid; grid-template-columns:.9fr 1.1fr; gap:90px; }
h2 { margin:0; color:var(--navy); font-size:clamp(30px,4vw,48px); line-height:1.08; letter-spacing:-.035em; }
.section-copy { color:#5f6d7b; font-size:15px; }
.section-copy p { margin:0 0 18px; }

.section-dark { background:var(--navy); color:white; }
.section-heading { display:flex; justify-content:space-between; gap:50px; align-items:end; margin-bottom:42px; }
.section-dark h2 { color:white; max-width:650px; }
.section-heading > p { max-width:350px; margin:0; color:#aeb9c5; font-size:14px; }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:17px; }
.service-card { min-height:280px; position:relative; padding:28px; border:1px solid rgba(255,255,255,.12); border-radius:13px; background:rgba(255,255,255,.045); }
.service-card.featured { background:#16283d; border-color:rgba(243,154,47,.42); }
.service-number { position:absolute; top:25px; right:27px; color:#77899b; font-size:10px; font-weight:800; }
.service-icon { width:48px; height:48px; display:grid; place-items:center; border-radius:9px; margin-bottom:45px; background:rgba(243,154,47,.12); color:#f4a64c; font-size:10px; font-weight:900; letter-spacing:.08em; }
.service-card h3 { margin:0 0 10px; font-size:22px; color:white; }
.service-card p { margin:0; color:#9eacba; font-size:13px; }

.partners { background:#f7f9fa; }
.section-heading.compact { margin-bottom:34px; }
.partner-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:13px; }
.partner { min-height:110px; display:grid; place-items:center; padding:18px; border:1px solid var(--line); background:white; border-radius:11px; color:var(--navy); font:800 15px Manrope; text-align:center; box-shadow:0 8px 30px rgba(11,23,38,.04); }
.partner-muted { color:#7b8793; font-size:11px; }

.location-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.location-card { padding:30px; border:1px solid var(--line); border-radius:13px; background:white; }
.location-top { display:flex; gap:11px; align-items:center; color:#687686; font-size:11px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.location-icon { display:grid; place-items:center; width:38px; height:38px; border-radius:8px; background:var(--soft); color:var(--navy); font-size:9px; }
.location-card h3 { margin:24px 0 18px; font-size:22px; }
.location-card a { color:var(--orange-dark); font-size:13px; font-weight:800; }

.contact-section { padding-top:20px; }
.contact-box { display:grid; grid-template-columns:1.1fr .9fr; gap:60px; padding:56px; border-radius:18px; background:var(--soft); }
.contact-main h2 { max-width:580px; }
.contact-main p:not(.eyebrow) { max-width:580px; color:#647282; margin:18px 0 26px; }
.contact-details { display:flex; flex-direction:column; gap:30px; justify-content:center; }
.contact-item { padding-bottom:23px; border-bottom:1px solid var(--line); display:flex; flex-direction:column; align-items:flex-start; }
.contact-label { margin-bottom:8px; color:#87929d; font-size:9px; font-weight:800; letter-spacing:.14em; }
.contact-item a { color:var(--navy); font-size:14px; margin-top:2px; }
.contact-item strong { font-size:14px; margin-top:4px; }

footer { background:#07111d; color:#9ba9b7; padding:30px 0; font-size:11px; }
.footer-wrap { display:flex; justify-content:space-between; gap:20px; align-items:center; }
.footer-wrap strong { color:white; font:800 13px Manrope; }
.footer-wrap p { margin:4px 0 0; }

@media (max-width: 850px) {
  .menu-toggle { display:block; }
  .nav { display:none; position:absolute; top:78px; left:0; right:0; padding:16px 20px 22px; background:white; border-bottom:1px solid var(--line); flex-direction:column; align-items:stretch; }
  .nav.open { display:flex; }
  .nav a { padding:8px 0; }
  .nav-cta { text-align:center; }
  .hero-inner, .two-col, .contact-box { grid-template-columns:1fr; }
  .hero-inner { padding-top:60px; }
  .hero-visual { min-height:340px; }
  .section-heading { display:block; }
  .section-heading > p { margin-top:18px; }
  .service-grid { grid-template-columns:1fr; }
  .partner-grid { grid-template-columns:1fr 1fr; }
  .location-grid { grid-template-columns:1fr; }
  .contact-box { padding:34px; }
}
@media (max-width: 520px) {
  .brand-logo { width: 64px; height: 48px; }
  .brand strong { font-size: 13px; }
  .brand small { font-size: 9px; }
  .container { width:min(100% - 28px, 1120px); }
  .hero-stats { gap:18px; flex-wrap:wrap; }
  .hero-stats div { min-width:105px; }
  .hero-visual { min-height:280px; }
  .truck-card { padding:20px 15px 13px; }
  .visual-badge { right:-2px; }
  .section { padding:72px 0; }
  .partner-grid { grid-template-columns:1fr; }
  .footer-wrap { display:block; }
  .footer-wrap > p { margin-top:20px; }
}
