:root {
  --ink: #111827;
  --ink-2: #1f2937;
  --copper: #c65b1c;
  --copper-dark: #a84713;
  --copper-light: #f6b17a;
  --metallic-copper: #b87333;
  --cream: #fff8f2;
  --paper: #ffffff;
  --soft: #f6f7f9;
  --line: #e7e9ed;
  --muted: #626b78;
  --muted-dark: #aeb6c2;
  --green: #5ad178;
  --radius: 22px;
  --shadow: 0 20px 60px rgba(17, 24, 39, .09);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.6;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
img, svg { display: block; max-width: 100%; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; left: 16px; top: -70px; z-index: 999; background: white; padding: 10px 14px; border-radius: 8px; }
.skip-link:focus { top: 16px; }
.container { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.section { padding: 110px 0; }
main > section + section { border-top: 1px solid var(--metallic-copper); }

/* Header */
.site-header {
  position: sticky;
  top: 0;
  z-index: 80;
  background: rgba(17, 24, 39, .96);
  border-bottom: 1px solid rgba(255,255,255,.08);
  backdrop-filter: blur(16px);
}
.header-inner { height: 82px; display: flex; align-items: center; gap: 34px; }
.brand { display: inline-flex; align-items: center; flex: 0 0 auto; }
.brand-logo {
  display: block;
  width: 124px;
  height: auto;
  max-height: none;
  padding: 8px 12px;
  background: #ffffff;
  border: 1px solid rgba(17, 24, 39, .10);
  border-radius: 10px;
  box-shadow: 0 8px 20px rgba(0, 0, 0, .18);
  object-fit: contain;
  object-position: center;
}
.desktop-nav { margin-left: auto; display: flex; align-items: center; gap: 29px; }
.desktop-nav a { color: #d6dbe3; font-size: 14px; font-weight: 650; transition: color .2s ease; }
.desktop-nav a:hover { color: var(--copper-light); }
.header-cta { margin-left: 5px; }
.menu-toggle { display: none; margin-left: auto; width: 44px; height: 42px; border: 1px solid rgba(255,255,255,.18); border-radius: 10px; background: transparent; place-items: center; padding: 11px 10px; cursor: pointer; }
.menu-toggle > span:not(.sr-only) { display: block; width: 20px; height: 1px; background: white; transition: transform .2s ease; }
.menu-toggle[aria-expanded="true"] > span:first-child { transform: translateY(4px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] > span:nth-child(2) { transform: translateY(-4px) rotate(-45deg); }
.mobile-nav { display: none; }

/* Buttons */
.button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 50px; padding: 0 22px; border: 1px solid transparent; border-radius: 12px; font-weight: 780; line-height: 1; transition: transform .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease; cursor: pointer; }
.button:hover { transform: translateY(-2px); }
.button-solid { background: var(--copper); color: white; box-shadow: 0 10px 26px rgba(198, 91, 28, .22); }
.button-solid:hover { background: var(--copper-dark); box-shadow: 0 14px 34px rgba(198, 91, 28, .3); }
.button-outline { border-color: #cfd4dc; background: rgba(255,255,255,.76); color: var(--ink); }
.button-outline:hover { border-color: var(--copper); color: var(--copper-dark); }
.button-small { min-height: 42px; padding: 0 17px; font-size: 14px; }

/* Hero */
.hero { position: relative; overflow: hidden; isolation: isolate; background: var(--cream); }
.hero-grid {
  position: absolute;
  inset: -90px;
  z-index: -3;
  opacity: .96;
  overflow: hidden;
  pointer-events: none;
  background-image: linear-gradient(rgba(17,24,39,.052) 1px, transparent 1px), linear-gradient(90deg, rgba(17,24,39,.052) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: linear-gradient(to right, #000 0%, #000 52%, rgba(0,0,0,.5) 77%, transparent 100%);
  animation: gridDrift 30s linear infinite;
}
.hero-grid > span { position: absolute; display: block; }
.grid-solar {
  width: 148px;
  height: 148px;
  border-radius: 50%;
  border: 1px solid rgba(198,91,28,.26);
  background: radial-gradient(circle, rgba(246,177,122,.26) 0%, rgba(246,177,122,.13) 38%, transparent 64%);
  animation: solarPulseGrid 8s ease-in-out infinite alternate;
}
.grid-solar::before, .grid-solar::after { content: ""; position: absolute; inset: 50%; transform: translate(-50%, -50%); border-radius: 50%; }
.grid-solar::before { width: 24px; height: 24px; background: radial-gradient(circle, rgba(246,177,122,.95), rgba(198,91,28,.95)); box-shadow: 0 0 0 9px rgba(246,177,122,.07), 0 0 30px rgba(198,91,28,.18); }
.grid-solar::after { width: 100px; height: 100px; background: conic-gradient(from 0deg, rgba(198,91,28,0) 0deg 14deg, rgba(198,91,28,.28) 14deg 24deg, rgba(198,91,28,0) 24deg 44deg, rgba(198,91,28,.28) 44deg 54deg, rgba(198,91,28,0) 54deg 74deg, rgba(198,91,28,.28) 74deg 84deg, rgba(198,91,28,0) 84deg 104deg, rgba(198,91,28,.28) 104deg 114deg, rgba(198,91,28,0) 114deg 134deg, rgba(198,91,28,.28) 134deg 144deg, rgba(198,91,28,0) 144deg 164deg, rgba(198,91,28,.28) 164deg 174deg, rgba(198,91,28,0) 174deg 194deg, rgba(198,91,28,.28) 194deg 204deg, rgba(198,91,28,0) 204deg 224deg, rgba(198,91,28,.28) 224deg 234deg, rgba(198,91,28,0) 234deg 254deg, rgba(198,91,28,.28) 254deg 264deg, rgba(198,91,28,0) 264deg 284deg, rgba(198,91,28,.28) 284deg 294deg, rgba(198,91,28,0) 294deg 314deg, rgba(198,91,28,.28) 314deg 324deg, rgba(198,91,28,0) 324deg 344deg, rgba(198,91,28,.28) 344deg 354deg, rgba(198,91,28,0) 354deg 360deg);
  animation: solarRotateGrid 22s linear infinite;
}
.grid-solar-one { left: 3.5%; top: 8%; width: 168px; height: 168px; }
.grid-solar-two { right: 18%; top: 56%; width: 128px; height: 128px; opacity: .92; animation-delay: -2.4s; }
.grid-solar-two::before { width: 18px; height: 18px; }
.grid-solar-two::after { width: 74px; height: 74px; }
.grid-panel {
  width: 128px;
  height: 84px;
  border-radius: 16px;
  border: 1px solid rgba(17,24,39,.18);
  background: linear-gradient(145deg, rgba(255,255,255,.56), rgba(214,223,236,.14)), repeating-linear-gradient(90deg, rgba(17,24,39,.08) 0 1px, transparent 1px 21px), repeating-linear-gradient(rgba(17,24,39,.08) 0 1px, transparent 1px 19px);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.25), 0 18px 34px rgba(17,24,39,.08);
  transform: skewX(-18deg) rotate(-10deg);
}
.grid-panel::after { content: ""; position: absolute; left: 16px; right: 16px; bottom: -12px; height: 2px; background: linear-gradient(90deg, transparent, rgba(198,91,28,.3), transparent); }
.grid-panel-one { left: 17%; bottom: 15%; animation: panelFloatGrid 11s ease-in-out infinite alternate; }
.grid-panel-two { right: 5%; top: 18%; width: 94px; height: 62px; opacity: .7; transform: skewX(-16deg) rotate(12deg); animation: panelFloatGrid 9s ease-in-out -2s infinite alternate-reverse; }
.grid-route {
  height: 170px;
  border-top: 1.5px dashed rgba(198,91,28,.45);
  border-radius: 999px;
  opacity: 1;
}
.grid-route::after {
  content: "";
  position: absolute;
  top: -5px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--copper);
  box-shadow: 0 0 0 8px rgba(198,91,28,.11), 0 0 24px rgba(198,91,28,.24);
}
.grid-route-one { left: 7%; top: 18%; width: 380px; transform: rotate(8deg); }
.grid-route-one::after { animation: cargoMoveOne 9s linear infinite; }
.grid-route-two { right: -2%; bottom: 10%; width: 430px; transform: rotate(-12deg); }
.grid-route-two::after { animation: cargoMoveTwo 11s linear -3s infinite; background: var(--copper-light); }
.grid-cargo {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 62px;
  height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(17,24,39,.12);
  box-shadow: 0 16px 34px rgba(17,24,39,.09);
  backdrop-filter: blur(4px);
}
.grid-cargo::before {
  content: "";
  position: absolute;
  left: 8px;
  top: 50%;
  transform: translateY(-50%);
}
.grid-cargo::after {
  content: attr(data-label);
  margin-left: 10px;
  color: var(--copper-dark);
  font-size: 9px;
  letter-spacing: .16em;
  font-weight: 900;
}
.grid-cargo-ship { left: 35%; top: 9%; animation: cargoFloatLabel 8s ease-in-out infinite alternate; }
.grid-cargo-ship::before {
  width: 18px;
  height: 8px;
  background: linear-gradient(90deg, rgba(17,24,39,.72), rgba(17,24,39,.45));
  clip-path: polygon(0 65%, 18% 65%, 28% 0, 100% 0, 84% 100%, 10% 100%);
}
.grid-cargo-truck { right: 8%; bottom: 27%; animation: cargoFloatLabel 7.5s ease-in-out -2.4s infinite alternate-reverse; }
.grid-cargo-truck::before {
  width: 18px;
  height: 10px;
  border-radius: 2px;
  background: linear-gradient(90deg, rgba(17,24,39,.7) 0 11px, rgba(17,24,39,.55) 11px 18px);
  box-shadow: 0 6px 0 -3px rgba(17,24,39,.68), 8px 6px 0 -3px rgba(17,24,39,.68);
}
.hero-glow { position: absolute; z-index: -2; border-radius: 50%; pointer-events: none; }
.hero-glow-one { width: 650px; height: 650px; right: -220px; top: -250px; background: radial-gradient(circle, rgba(246,177,122,.5), rgba(246,177,122,0) 68%); animation: glowBreath 10s ease-in-out infinite alternate; }
.hero-glow-two { width: 540px; height: 540px; left: -270px; bottom: -330px; background: radial-gradient(circle, rgba(17,24,39,.12), rgba(17,24,39,0) 69%); animation: glowBreath 13s ease-in-out 1.2s infinite alternate-reverse; }
.hero-layout { min-height: 720px; display: grid; grid-template-columns: minmax(0, 1.04fr) minmax(470px, .96fr); gap: 76px; align-items: center; padding-top: 72px; padding-bottom: 78px; }
.eyebrow { margin: 0 0 18px; color: var(--copper-dark); text-transform: uppercase; letter-spacing: .14em; font-size: 12px; font-weight: 850; }
.eyebrow-light { color: var(--copper-light); }
.hero h1 { margin: 0; max-width: 780px; font-size: clamp(52px, 6vw, 82px); line-height: .97; letter-spacing: -.057em; font-weight: 800; }
.hero h1 span { color: var(--copper); }
.hero-lead { max-width: 670px; margin: 27px 0 0; color: #4f5966; font-size: 18px; line-height: 1.72; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.hero-proof { margin-top: 50px; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(17,24,39,.13); padding-top: 20px; max-width: 690px; }
.hero-proof span { color: #5d6672; font-size: 13px; line-height: 1.35; padding-right: 18px; }
.hero-proof strong { display: block; margin-bottom: 7px; color: var(--copper); font-size: 11px; letter-spacing: .12em; }

/* Hero procurement console */
.trade-console { background: var(--ink); color: white; border-radius: 28px; box-shadow: 0 30px 75px rgba(17,24,39,.24); overflow: hidden; border: 1px solid #202b3b; }
.console-topbar { min-height: 58px; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 0 20px; border-bottom: 1px solid rgba(255,255,255,.08); color: #c5ccd6; font-size: 11px; font-weight: 750; letter-spacing: .05em; }
.console-topbar div { display: flex; align-items: center; gap: 8px; }
.console-topbar > span { color: #7f8a99; font-size: 9px; letter-spacing: .15em; }
.status-dot { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 0 rgba(90,209,120,.4); animation: statusPulse 1.8s ease-out infinite; }
.network-stage { position: relative; min-height: 500px; overflow: hidden; background: radial-gradient(circle at center, rgba(198,91,28,.18), transparent 45%); }
.africa-map { position: absolute; width: 362px; left: 50%; top: 49%; transform: translate(-50%, -50%); }
.africa-backlight { fill: rgba(198,91,28,.16); filter: blur(22px); }
.africa-shape-real { fill: url(#africaFill); }
.africa-shape-outline { fill: none; stroke: rgba(246,177,122,.86); stroke-width: 5; stroke-linejoin: round; stroke-linecap: round; opacity: .95; }
.africa-light-sweep { fill: url(#africaHighlight); }
.africa-light-sweep-warm { fill: url(#africaHighlightWarm); }
.network-points circle { fill: #ffd0a7; stroke: var(--copper); stroke-width: 4.5; transform-box: fill-box; transform-origin: center; animation: nodePulse 2.1s ease-in-out infinite alternate; }
.network-points circle:nth-child(2) { animation-delay: -.5s; }.network-points circle:nth-child(3) { animation-delay: -1s; }.network-points circle:nth-child(4) { animation-delay: -1.5s; }.network-points circle:nth-child(5) { animation-delay: -2s; }
.network-links path { fill: none; stroke: rgba(246,177,122,.76); stroke-width: 4; stroke-dasharray: 16 13; animation: routeFlow 8s linear infinite; stroke-linecap: round; stroke-linejoin: round; }
.orbit { position: absolute; border: 1px solid rgba(246,177,122,.11); border-radius: 50%; left: 50%; top: 48%; transform: translate(-50%, -50%); }
.orbit-one { width: 436px; height: 436px; border-color: rgba(246,177,122,.18); animation: orbitSpin 24s linear infinite; }
.orbit-two { width: 332px; height: 332px; border-color: rgba(255,255,255,.10); animation: orbitSpinReverse 18s linear infinite; }
.orbit-one::before, .orbit-two::before { content: ""; position: absolute; width: 6px; height: 6px; border-radius: 50%; background: var(--copper); top: 14%; left: 13%; box-shadow: 0 0 0 6px rgba(198,91,28,.08); }
.orbit-two::before { top: auto; left: auto; bottom: 11%; right: 15%; background: var(--copper-light); }
.network-card { position: absolute; z-index: 2; display: flex; align-items: center; gap: 10px; min-width: 184px; padding: 12px 13px; background: rgba(15,23,36,.92); border: 1px solid rgba(255,255,255,.16); border-radius: 13px; box-shadow: 0 20px 38px rgba(0,0,0,.26); backdrop-filter: blur(10px); animation: cardFloat 3.8s ease-in-out infinite alternate; }
.network-card small { display: block; color: #7f8997; font-size: 8px; letter-spacing: .16em; font-weight: 800; }
.network-card strong { display: block; margin-top: 2px; color: #edf1f6; font-size: 11px; }
.card-icon { width: 30px; height: 30px; flex: 0 0 30px; display: grid; place-items: center; border-radius: 9px; background: rgba(198,91,28,.18); border: 1px solid rgba(246,177,122,.22); color: var(--copper-light); font-size: 12px; font-weight: 900; }
.card-source { top: 78px; left: 18px; }.card-demand { top: 182px; right: 14px; animation-delay: -1.6s; }.card-route { bottom: 70px; left: 34px; animation-delay: -3.1s; }
.console-caption { position: absolute; left: 18px; right: 18px; bottom: 17px; display: flex; align-items: center; justify-content: center; gap: 11px; color: #7d8795; text-transform: uppercase; letter-spacing: .13em; font-size: 8px; font-weight: 800; }
.console-caption i { display: block; width: 44px; height: 1px; background: linear-gradient(90deg, transparent, var(--copper-light), transparent); }

.category-strip { overflow: hidden; background: white; padding: 27px 0; }
.category-track { width: max-content; min-width: 100%; display: flex; align-items: center; justify-content: space-around; gap: 28px; padding: 0 32px; color: #5d6672; text-transform: uppercase; font-size: 10px; letter-spacing: .13em; font-weight: 800; animation: stripDrift 11s ease-in-out infinite alternate; }
.category-track i { width: 5px; height: 5px; border-radius: 50%; background: var(--copper); opacity: .7; }

/* shared headings */
.section-intro { margin-bottom: 52px; }
.section-intro h2, .corridors-head h2, .model-copy h2 { margin: 0; font-size: clamp(38px, 4.3vw, 58px); line-height: 1.06; letter-spacing: -.045em; }
.split-intro { display: grid; grid-template-columns: 1.12fr .88fr; gap: 80px; align-items: end; }
.split-intro > p { margin: 0 0 7px; color: var(--muted); max-width: 560px; font-size: 17px; }
.center-intro { text-align: center; max-width: 810px; margin-left: auto; margin-right: auto; }
.center-intro h2 { margin-inline: auto; }
.center-intro > p:last-child { margin: 18px auto 0; color: var(--muted); max-width: 690px; }

/* procurement cards */
.proposition-section { background: white; }
.procurement-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.procurement-card { position: relative; min-height: 360px; padding: 31px 27px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: white; transition: transform .2s ease, box-shadow .2s ease; }
.procurement-card.featured { background: var(--cream); }
.procurement-card:hover { z-index: 2; transform: translateY(-4px); box-shadow: 0 18px 44px rgba(17,24,39,.08); }
.card-number { position: absolute; top: 26px; right: 25px; color: #a2a9b2; font-size: 10px; font-weight: 850; letter-spacing: .14em; }
.line-icon { width: 56px; height: 56px; display: grid; place-items: center; margin-bottom: 62px; border-radius: 14px; background: var(--ink); color: var(--copper-light); box-shadow: 0 12px 28px rgba(17,24,39,.15); }
.line-icon svg { width: 31px; height: 31px; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
.procurement-card h3 { margin: 0 0 12px; font-size: 24px; line-height: 1.1; letter-spacing: -.03em; }
.procurement-card p { margin: 0; color: var(--muted); font-size: 14px; }

/* solar dark */
.solar-section { position: relative; overflow: hidden; background: var(--ink); color: white; }
.solar-noise { position: absolute; inset: 0; pointer-events: none; opacity: .48; background-image: radial-gradient(circle at 14% 20%, rgba(198,91,28,.2), transparent 25%), radial-gradient(circle at 88% 80%, rgba(246,177,122,.08), transparent 24%), linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px); background-size: auto, auto, 54px 54px, 54px 54px; }
.solar-layout { position: relative; display: grid; grid-template-columns: .86fr 1.14fr; gap: 92px; align-items: start; }
.solar-copy { position: sticky; top: 132px; }
.solar-copy h2 { margin: 0; font-size: clamp(40px, 4.5vw, 61px); line-height: 1.02; letter-spacing: -.047em; }
.solar-copy > p:not(.eyebrow) { margin: 24px 0 30px; color: var(--muted-dark); font-size: 17px; }
.text-link-light { display: inline-flex; gap: 10px; align-items: center; color: var(--copper-light); font-weight: 800; font-size: 14px; }
.solar-categories { border-top: 1px solid rgba(255,255,255,.11); }
.solar-item { display: grid; grid-template-columns: 56px 1fr; gap: 18px; padding: 31px 0; border-bottom: 1px solid rgba(255,255,255,.11); }
.solar-item > span { color: var(--copper-light); font-size: 10px; letter-spacing: .14em; font-weight: 850; padding-top: 5px; }
.solar-item h3 { margin: 0 0 8px; font-size: 26px; letter-spacing: -.025em; }
.solar-item p { margin: 0; color: #9fa8b5; font-size: 14px; }

/* Buyers */
.buyers-section { background: var(--soft); }
.buyer-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.buyer-card { position: relative; min-height: 300px; padding: 28px; background: rgba(255,255,255,.92); border: 1px solid #e6e9ed; border-radius: 18px; box-shadow: 0 10px 34px rgba(17,24,39,.035); transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.buyer-card::before { content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 2px; background: linear-gradient(90deg, transparent, var(--copper), var(--copper-light), transparent); background-size: 220% 100%; animation: cardSweep 7s ease-in-out infinite; }
.buyer-card:nth-child(2)::before { animation-delay: -1.7s; }.buyer-card:nth-child(3)::before { animation-delay: -3.4s; }.buyer-card:nth-child(4)::before { animation-delay: -5.1s; }
.buyer-card:hover { transform: translateY(-5px); box-shadow: 0 22px 50px rgba(17,24,39,.09); border-color: rgba(184,115,51,.28); }
.buyer-card > span { display: block; color: var(--copper); font-size: 10px; letter-spacing: .14em; font-weight: 850; }
.buyer-card h3 { margin: 79px 0 12px; font-size: 23px; line-height: 1.12; letter-spacing: -.03em; }
.buyer-card p { margin: 0; color: var(--muted); font-size: 14px; }

/* advantage */
.advantage-section { background: white; }
.advantage-layout { display: grid; grid-template-columns: .95fr 1.05fr; gap: 90px; align-items: center; }
.advantage-panel { background: var(--ink); color: white; border-radius: 24px; padding: 24px; box-shadow: 0 28px 70px rgba(17,24,39,.2); border: 1px solid #243044; }
.panel-label { color: #7f8a99; text-transform: uppercase; letter-spacing: .16em; font-size: 9px; font-weight: 800; padding: 0 4px 17px; border-bottom: 1px solid rgba(255,255,255,.09); }
.quote-line { display: flex; align-items: center; justify-content: space-between; gap: 22px; padding: 19px 4px; border-bottom: 1px solid rgba(255,255,255,.08); color: #aeb6c2; font-size: 13px; }
.quote-line b { color: var(--copper-light); font-size: 11px; letter-spacing: .08em; }
.quote-line b.good { color: #8ee8a5; }
.panel-footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px 4px 1px; color: #dbe1e8; font-size: 11px; font-weight: 750; }
.advantage-copy h2 { margin: 0; font-size: clamp(39px, 4.4vw, 59px); line-height: 1.04; letter-spacing: -.045em; }
.advantage-copy > p:not(.eyebrow) { margin: 23px 0 26px; color: var(--muted); font-size: 17px; }
.check-list { margin: 0; padding: 0; list-style: none; display: grid; gap: 0; border-top: 1px solid var(--line); }
.check-list li { position: relative; padding: 13px 0 13px 27px; border-bottom: 1px solid var(--line); color: #46505c; font-size: 14px; }
.check-list li::before { content: "✓"; position: absolute; left: 0; color: var(--copper); font-weight: 900; }

/* corridors */
.corridors-section { background: #0e1624; color: white; }
.corridors-head { display: grid; grid-template-columns: 1.12fr .88fr; gap: 80px; align-items: end; margin-bottom: 52px; }
.corridors-head > p { margin: 0 0 6px; color: #aab2be; max-width: 560px; font-size: 16px; }
.corridor-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.corridor-card { min-height: 360px; padding: 28px; border: 1px solid rgba(255,255,255,.11); border-radius: 19px; background: rgba(255,255,255,.035); transition: transform .2s ease, border-color .2s ease, background .2s ease; }
.corridor-card:hover { transform: translateY(-4px); border-color: rgba(246,177,122,.3); background: rgba(255,255,255,.055); }
.corridor-card.primary { background: linear-gradient(145deg, rgba(198,91,28,.18), rgba(255,255,255,.03)); border-color: rgba(246,177,122,.22); }
.corridor-top { display: flex; align-items: center; justify-content: space-between; }
.corridor-top > span { color: var(--copper-light); font-size: 10px; letter-spacing: .14em; font-weight: 850; }
.corridor-top small { color: #7f8997; font-size: 8px; letter-spacing: .15em; font-weight: 850; }
.corridor-card h3 { margin: 83px 0 12px; font-size: 27px; line-height: 1.08; letter-spacing: -.03em; }
.corridor-card p { margin: 0; color: #9fa8b5; font-size: 14px; }
.corridor-tags { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 28px; }
.corridor-tags span { padding: 6px 9px; border-radius: 999px; border: 1px solid rgba(255,255,255,.13); color: #bfc6d0; font-size: 9px; text-transform: uppercase; letter-spacing: .08em; }

/* model */
.model-section { background: var(--cream); }
.model-layout { display: grid; grid-template-columns: .9fr 1.1fr; gap: 90px; align-items: start; }
.model-copy { position: sticky; top: 132px; }
.model-list { border-top: 1px solid rgba(17,24,39,.14); }
.model-row { display: grid; grid-template-columns: 52px 1fr; gap: 17px; padding: 29px 0; border-bottom: 1px solid rgba(17,24,39,.14); }
.model-row > span { color: var(--copper); font-size: 10px; letter-spacing: .14em; font-weight: 850; padding-top: 4px; }
.model-row h3 { margin: 0 0 7px; font-size: 25px; letter-spacing: -.025em; }
.model-row p { margin: 0; color: var(--muted); }

/* quote form */
.quote-section { padding: 110px 0; background: var(--ink); color: white; }
.quote-shell { display: grid; grid-template-columns: .82fr 1.18fr; gap: 72px; align-items: start; }
.quote-copy { position: sticky; top: 128px; }
.quote-copy h2 { margin: 0; font-size: clamp(40px, 4.5vw, 60px); line-height: 1.03; letter-spacing: -.046em; }
.quote-copy > p:not(.eyebrow) { margin: 22px 0 34px; color: #aeb6c2; font-size: 17px; }
.contact-direct { border-top: 1px solid rgba(255,255,255,.12); }
.contact-direct a { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 16px 4px; border-bottom: 1px solid rgba(255,255,255,.12); transition: padding .18s ease, background .18s ease; }
.contact-direct a:hover { padding-left: 9px; padding-right: 9px; background: rgba(255,255,255,.025); }
.contact-direct span { display: grid; gap: 2px; }
.contact-direct small { color: #7f8997; font-size: 8px; letter-spacing: .14em; font-weight: 850; }
.contact-direct strong { color: #edf1f6; font-size: 13px; }
.contact-direct b { color: var(--copper-light); }
.quote-form { padding: 34px; background: white; color: var(--ink); border-radius: 22px; box-shadow: 0 26px 70px rgba(0,0,0,.2); }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.quote-form label { display: grid; gap: 7px; margin-bottom: 14px; }
.quote-form label > span { color: #4e5864; font-size: 11px; font-weight: 800; letter-spacing: .02em; }
.quote-form input, .quote-form select, .quote-form textarea { width: 100%; border: 1px solid #dce0e5; border-radius: 10px; background: #fbfbfc; color: var(--ink); outline: none; padding: 12px 13px; transition: border-color .18s ease, box-shadow .18s ease, background .18s ease; }
.quote-form input, .quote-form select { min-height: 49px; }
.quote-form textarea { min-height: 154px; resize: vertical; }
.quote-form input:focus, .quote-form select:focus, .quote-form textarea:focus { border-color: var(--copper); box-shadow: 0 0 0 3px rgba(198,91,28,.1); background: white; }
.button-submit { width: 100%; border: 0; margin-top: 2px; }
.button-submit:disabled { opacity: .62; cursor: wait; transform: none; }
.form-note { margin: 12px 0 0; color: #8a929d; font-size: 11px; text-align: center; }
.form-status { min-height: 22px; margin: 8px 0 0; font-size: 12px; font-weight: 750; text-align: center; }
.form-status.success { color: #18864b; }.form-status.error { color: #bb3030; }

/* footer */
.site-footer { background: #0c121d; color: white; border-top: 1px solid rgba(255,255,255,.08); }
.footer-main { display: grid; grid-template-columns: 1.7fr 1fr 1fr 1fr; gap: 50px; padding: 68px 0 50px; }
.brand-footer .brand-logo { width: 178px; max-height: 54px; }
.footer-brand p { color: #8f99a7; max-width: 340px; font-size: 13px; margin-top: 18px; }
.footer-main > div:not(.footer-brand) { display: grid; align-content: start; gap: 9px; }
.footer-main > div:not(.footer-brand) strong { font-size: 11px; text-transform: uppercase; letter-spacing: .1em; margin-bottom: 6px; }
.footer-main > div:not(.footer-brand) a { color: #9da6b3; font-size: 13px; }
.footer-main > div:not(.footer-brand) a:hover { color: var(--copper-light); }
.footer-bottom { min-height: 70px; border-top: 1px solid rgba(255,255,255,.08); display: flex; align-items: center; justify-content: space-between; gap: 20px; color: #747e8c; font-size: 11px; }

/* motion */
.reveal { opacity: 0; transform: translateY(22px); transition: opacity .72s ease, transform .72s cubic-bezier(.2,.75,.25,1); }
.reveal.in-view { opacity: 1; transform: translateY(0); }
.procurement-card.reveal:nth-child(2), .buyer-card.reveal:nth-child(2), .corridor-card.reveal:nth-child(2) { transition-delay: .08s; }
.procurement-card.reveal:nth-child(3), .buyer-card.reveal:nth-child(3), .corridor-card.reveal:nth-child(3) { transition-delay: .16s; }
.procurement-card.reveal:nth-child(4), .buyer-card.reveal:nth-child(4) { transition-delay: .24s; }

@keyframes gridDrift { to { transform: translate3d(72px,72px,0); } }
@keyframes glowBreath { from { transform: scale(.95); opacity: .75; } to { transform: translate(-18px, 13px) scale(1.08); opacity: 1; } }
@keyframes solarPulseGrid { from { transform: translate3d(0, 0, 0) scale(.92); opacity: .72; } to { transform: translate3d(16px, -12px, 0) scale(1.09); opacity: 1; } }
@keyframes solarRotateGrid { to { transform: translate(-50%, -50%) rotate(360deg); } }
@keyframes panelFloatGrid { from { transform: skewX(-18deg) rotate(-10deg) translateY(0) scale(1); } to { transform: skewX(-18deg) rotate(-10deg) translateY(-16px) scale(1.04); } }
@keyframes cargoMoveOne { 0% { left: 8%; opacity: .25; transform: scale(.8); } 12% { opacity: 1; } 50% { left: 50%; transform: scale(1); } 100% { left: 92%; opacity: .25; transform: scale(.8); } }
@keyframes cargoMoveTwo { 0% { left: 90%; opacity: .25; transform: scale(.8); } 12% { opacity: 1; } 50% { left: 45%; transform: scale(1); } 100% { left: 6%; opacity: .25; transform: scale(.8); } }
@keyframes cargoFloatLabel { from { transform: translate3d(0, 0, 0) scale(1); } to { transform: translate3d(18px, -10px, 0) scale(1.06); } }
@keyframes statusPulse { 0% { box-shadow: 0 0 0 0 rgba(90,209,120,.42); } 72%,100% { box-shadow: 0 0 0 8px rgba(90,209,120,0); } }
@keyframes nodePulse { from { transform: scale(.85); opacity: .75; } to { transform: scale(1.35); opacity: 1; } }
@keyframes routeFlow { to { stroke-dashoffset: -58; } }
@keyframes orbitSpin { to { transform: translate(-50%,-50%) rotate(360deg); } }
@keyframes orbitSpinReverse { to { transform: translate(-50%,-50%) rotate(-360deg); } }
@keyframes cardFloat { from { transform: translateY(-7px); } to { transform: translateY(10px); } }
@keyframes stripDrift { from { transform: translateX(12px); } to { transform: translateX(-12px); } }
@keyframes cardSweep { 0%,100% { background-position: 110% 0; opacity: .35; } 50% { background-position: -110% 0; opacity: .9; } }

@media (max-width: 1040px) {
  .desktop-nav, .header-cta { display: none; }
  .menu-toggle { display: grid; }
  .mobile-nav { position: fixed; inset: 82px 0 auto; display: grid; gap: 2px; padding: 15px 20px 22px; background: rgba(17,24,39,.99); border-bottom: 1px solid rgba(255,255,255,.08); transform: translateY(-120%); opacity: 0; pointer-events: none; transition: transform .25s ease, opacity .2s ease; }
  .mobile-nav.open { transform: translateY(0); opacity: 1; pointer-events: auto; }
  .mobile-nav a { padding: 11px 10px; border-radius: 8px; color: #d8dde5; font-size: 14px; font-weight: 700; }
  .mobile-nav a:hover { background: rgba(255,255,255,.06); color: var(--copper-light); }
  .hero-layout { min-height: 0; grid-template-columns: 1fr; gap: 56px; padding-top: 76px; }
  .hero-copy { max-width: 780px; }
  .trade-console { width: min(700px, 100%); }
  .split-intro, .corridors-head { grid-template-columns: 1fr; gap: 22px; }
  .procurement-grid { grid-template-columns: repeat(2, 1fr); }
  .solar-layout, .model-layout { grid-template-columns: 1fr; gap: 55px; }
  .solar-copy, .model-copy, .quote-copy { position: static; }
  .solar-copy { max-width: 760px; }
  .buyer-grid { grid-template-columns: repeat(2, 1fr); }
  .advantage-layout { grid-template-columns: 1fr; gap: 55px; }
  .advantage-panel { max-width: 680px; }
  .corridor-grid { grid-template-columns: 1fr 1fr; }
  .corridor-card:last-child { grid-column: span 2; }
  .quote-shell { grid-template-columns: 1fr; }
  .quote-copy { max-width: 760px; }
  .footer-main { grid-template-columns: 1.4fr 1fr 1fr; }
  .footer-main > div:last-child { grid-column: 2; }
}

@media (max-width: 700px) {
  .container { width: min(100% - 28px, 1180px); }
  .section, .quote-section { padding: 82px 0; }
  .header-inner { height: 72px; }
  .mobile-nav { inset: 72px 0 auto; }
  .brand-logo { width: 150px; max-height: 44px; }
  .brand-footer .brand-logo { width: 164px; max-height: 48px; }
  .hero-grid { inset: -40px; mask-image: linear-gradient(to bottom, #000 0%, rgba(0,0,0,.55) 60%, transparent 100%); }
  .grid-solar-one { left: -1%; top: 7%; }
  .grid-solar-two { right: 8%; top: 66%; }
  .grid-panel-one { left: 9%; bottom: 12%; }
  .grid-panel-two { right: -2%; top: 15%; }
  .grid-route-one { left: -3%; top: 24%; width: 255px; }
  .grid-route-two { right: -18%; bottom: 18%; width: 290px; }
  .grid-cargo-ship { left: 28%; top: 9%; }
  .grid-cargo-truck { right: 5%; bottom: 33%; }
  .hero-layout { padding-top: 57px; padding-bottom: 64px; gap: 45px; }
  .hero h1 { font-size: clamp(46px, 13vw, 66px); }
  .hero-lead { font-size: 17px; }
  .hero-actions { flex-direction: column; align-items: stretch; }
  .hero-actions .button { width: 100%; }
  .hero-proof { grid-template-columns: 1fr; gap: 13px; }
  .hero-proof span { display: grid; grid-template-columns: 34px 1fr; align-items: center; gap: 4px; }
  .hero-proof strong { margin: 0; }
  .trade-console { border-radius: 20px; }
  .console-topbar { padding: 0 14px; }
  .network-stage { min-height: 430px; }
  .africa-map { width: 336px; top: 49%; }
  .orbit-one { width: 374px; height: 374px; }.orbit-two { width: 282px; height: 282px; }
  .network-card { min-width: 151px; padding: 9px 10px; }
  .network-card strong { font-size: 10px; }.network-card small { font-size: 7px; }
  .card-source { top: 57px; left: 10px; }.card-demand { top: 171px; right: 8px; }.card-route { bottom: 64px; left: 14px; }
  .category-track { gap: 18px; padding: 0 18px; }
  .section-intro { margin-bottom: 36px; }
  .section-intro h2, .corridors-head h2, .model-copy h2 { font-size: clamp(36px, 11vw, 50px); }
  .procurement-grid { grid-template-columns: 1fr; border-left: 0; }
  .procurement-card { min-height: 0; padding: 28px 24px 31px; border-left: 1px solid var(--line); }
  .line-icon { margin-bottom: 43px; }
  .solar-item { grid-template-columns: 43px 1fr; }
  .buyer-grid { grid-template-columns: 1fr; }
  .buyer-card { min-height: 260px; }
  .buyer-card h3 { margin-top: 58px; }
  .advantage-panel { padding: 18px; border-radius: 18px; }
  .quote-line { padding: 16px 2px; font-size: 12px; }
  .corridor-grid { grid-template-columns: 1fr; }
  .corridor-card:last-child { grid-column: auto; }
  .corridor-card { min-height: 320px; }
  .corridor-card h3 { margin-top: 63px; }
  .model-row { grid-template-columns: 43px 1fr; }
  .quote-form { padding: 24px 20px; border-radius: 18px; }
  .form-row { grid-template-columns: 1fr; gap: 0; }
  .contact-direct a:hover { padding-left: 4px; padding-right: 4px; background: transparent; }
  .footer-main { grid-template-columns: 1fr 1fr; gap: 38px 22px; }
  .footer-brand { grid-column: span 2; }
  .footer-main > div:last-child { grid-column: auto; }
  .footer-bottom { min-height: 84px; padding: 18px 0; flex-direction: column; align-items: flex-start; justify-content: center; }
}

@media (max-width: 430px) {
  .network-stage { min-height: 405px; }
  .africa-map { width: 300px; }
  .orbit-one { width: 332px; height: 332px; }.orbit-two { width: 246px; height: 246px; }
  .network-card { min-width: 138px; }
  .network-card .card-icon { display: none; }
  .card-source { left: 7px; }.card-demand { right: 6px; }.card-route { left: 12px; }
}

@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 { opacity: 1; transform: none; }
}
