
/* Design tokens: CTS corporate VIS palette (Pantone 287C #003685, 7688C #4C8DCB, 663C #E6E6E6, 365C #C1DB81) applied to the North America layout */
:root{
  --primary:#4C8DCB;--primary-hover:#3F7DBB;--primary-press:#003685;--primary-soft:#94BBE0;--primary-light:#E4EEF7;
  --accent-blue:#D2E2F2;--amber:#C1DB81;
  --bg-deep:#00204F;--bg-card:#002257;--bg-elevated:#00275d;--bg-hover:#002c67;--bg-light:#F5F5F5;
  --text-primary:#F4F8FC;--text-secondary:#AFC0D9;--text-muted:#8A9DBE;
  --text-light-h:#002760;--text-light-body:#6B7280;
  --border-default:#0E3B76;--border-subtle:#234E8C;--border-light:rgba(0,39,96,.1);
  --land:#0B3A7A;
  --r-btn:8px;--r-card:12px;--r-panel:14px;--r-pill:9999px;
  --btn-shadow:0 4px 24px rgba(76,141,203,.4);
  --display:"Plus Jakarta Sans",ui-sans-serif,system-ui,sans-serif;
  --body:"Inter",ui-sans-serif,system-ui,sans-serif;
  --max:1200px;--gutter:clamp(16px,4vw,40px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--text-light-h);font-family:var(--body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
svg{display:block;max-width:100%}
a{color:inherit}
:focus-visible{outline:3px solid var(--primary-soft);outline-offset:3px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}
h1,h2,h3{font-family:var(--display);line-height:1.1;margin:0;color:var(--text-light-h);font-weight:800}
h2{font-size:clamp(30px,3.8vw,44px);letter-spacing:-.5px;max-width:20ch}
h3{font-size:20px;letter-spacing:-.2px}
p{margin:0}
.lede{font-size:clamp(17px,1.5vw,19px);color:var(--text-light-body);max-width:60ch}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hl{color:var(--primary)}

.notice{background:#001A40;color:var(--text-secondary);font-size:13.5px;padding:8px var(--gutter);text-align:center;border-bottom:1px solid var(--border-default)}
.notice strong{color:var(--text-primary);font-weight:600}

/* Header (dark, as on the NA site) */
.site-header{position:sticky;top:0;z-index:30;background:rgba(0,32,79,.92);backdrop-filter:saturate(1.5) blur(12px);border-bottom:1px solid var(--border-default)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;height:76px}
.brand{display:flex;align-items:center;gap:16px;text-decoration:none}
.logo{height:44px;width:auto}
.brand-region{font-family:var(--display);font-weight:700;color:var(--text-primary);font-size:15px;line-height:1.2;padding-left:16px;border-left:1px solid var(--border-subtle)}
.nav{display:flex;gap:30px;font-size:15px;font-weight:500}
.nav a{text-decoration:none;color:var(--text-secondary);padding:6px 0;transition:color .15s}
.nav a:hover{color:var(--text-primary)}
.header-actions{display:flex;gap:10px;align-items:center}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--body);font-weight:600;font-size:15px;padding:12px 22px;border-radius:var(--r-btn);text-decoration:none;border:1px solid transparent;cursor:pointer;white-space:nowrap;transition:all 150ms ease}
.btn-primary{background:var(--primary);color:#fff;box-shadow:var(--btn-shadow)}
.btn-primary:hover{background:var(--primary-hover)}
.btn-primary:active{background:var(--primary-press)}
.btn-glass{border-color:rgba(255,255,255,.3);color:#fff;background:transparent}
.btn-glass:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.5)}
.btn-ghost{color:var(--text-secondary)}
.btn-ghost:hover{color:#fff}
.menu-toggle{display:none;background:none;border:1px solid var(--border-subtle);color:var(--text-primary);font:600 14px var(--body);padding:9px 14px;border-radius:var(--r-btn);cursor:pointer}

/* Hero */
.hero{position:relative;overflow:hidden;background:
  radial-gradient(720px 720px at -5% -5%,rgba(76,141,203,.34) 0%,rgba(0,0,0,0) 58%),
  radial-gradient(560px 560px at 108% 30%,rgba(76,141,203,.22) 0%,rgba(0,0,0,0) 58%),
  linear-gradient(160deg,#00245B 0%,#00204F 60%);color:var(--text-primary)}
.hero-top{text-align:center;padding-top:72px}
.badges{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:26px}
.badge{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;color:var(--primary-soft);background:rgba(76,141,203,.12);border:1px solid rgba(76,141,203,.28);padding:6px 14px;border-radius:var(--r-pill);text-decoration:none}
.badge::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--primary)}
.hero h1{color:var(--text-primary);font-size:clamp(38px,5.6vw,68px);letter-spacing:-1.2px;max-width:17ch;margin:0 auto;line-height:1.05}
.hero .lede{color:var(--text-secondary);margin:22px auto 0;max-width:56ch}
.hero-ctas{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:30px}
.map-fig{margin:30px auto 0;max-width:1240px;padding:0 var(--gutter) 30px}
.map-scroll{position:relative}
.map{width:100%;height:auto}
.swipe{display:none;color:var(--primary-soft);font-weight:600}
.map-fig figcaption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;font-size:12.5px;color:var(--text-muted);border-top:1px solid var(--border-default);padding-top:12px;margin-top:6px}

/* Map styling (dark) */
.grat{fill:none;stroke:#0B2D61;stroke-width:.8}
.land{fill:var(--land)}
.borders{fill:none;stroke:#002152;stroke-width:.9;stroke-linejoin:round}
.routes path{fill:none;stroke-linecap:round;stroke-linejoin:round}
.case{stroke:#00204F;stroke-width:8;opacity:.85}
.r-sea{stroke:var(--primary);stroke-width:3.4;filter:drop-shadow(0 0 6px rgba(76,141,203,.55))}
.r-rail{stroke:var(--amber);stroke-width:3.2;filter:drop-shadow(0 0 5px rgba(193,219,129,.45))}
.r-thin{stroke-width:2.3}
.r-air{stroke:var(--accent-blue);stroke-width:2.8;stroke-dasharray:.01 8}
.air-mask{fill:none;stroke:#fff;stroke-width:14}
.halo{fill:var(--primary);opacity:.25}
.n-origin{fill:var(--primary);stroke:#fff;stroke-width:2.2}
.n-dest{fill:var(--bg-deep);stroke:var(--text-primary);stroke-width:2.2}
.n-via{fill:var(--text-muted);stroke:var(--bg-deep);stroke-width:1.6}
.leader{fill:none;stroke:#4A6178;stroke-width:1}
.lbl{font-family:var(--body);font-size:13px;font-weight:600;fill:var(--text-primary);paint-order:stroke;stroke:#002051;stroke-width:4px;stroke-linejoin:round}
.lbl-strong{font-family:var(--display);font-weight:800;font-size:14.5px;fill:#fff}
.lbl-muted{fill:var(--text-secondary);font-weight:500}
.pill-bg{fill:rgba(0,40,95,.92);stroke:var(--border-subtle);stroke-width:1}
.pill-mode{font-family:var(--display);font-weight:800;font-size:14px;fill:var(--text-primary)}
.pill-days{font-family:var(--body);font-size:12.5px;font-weight:500;fill:var(--text-secondary)}
.k-sea{stroke:var(--primary);stroke-width:3.4;stroke-linecap:round}
.k-rail{stroke:var(--amber);stroke-width:3.2;stroke-linecap:round}
.k-air{stroke:var(--accent-blue);stroke-width:2.8;stroke-linecap:round;stroke-dasharray:.01 6}
.mv{stroke:#fff;stroke-width:1.6}
.mv-sea{fill:var(--primary)}.mv-rail{fill:var(--amber)}.mv-air{fill:var(--accent-blue)}
@media (prefers-reduced-motion:no-preference){
  .draw{stroke-dasharray:1;stroke-dashoffset:1;animation:draw 2.2s cubic-bezier(.55,.05,.25,1) forwards}
  .d1{animation-delay:.25s}.d1b{animation-delay:1.9s;animation-duration:.8s}
  .d2{animation-delay:.7s;animation-duration:1.8s}.d2b{animation-delay:2.3s;animation-duration:.7s}
  .d3{animation-delay:1.1s;animation-duration:1.6s}
  .pills,.nodes,.labels{opacity:0;animation:fade .7s ease forwards}
  .nodes{animation-delay:.1s}.labels{animation-delay:1.6s}.pills{animation-delay:2.4s}
  .movers{opacity:0;animation:fade .5s ease forwards 3s}
}
@media (prefers-reduced-motion:reduce){.movers{display:none}}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes fade{to{opacity:1}}


/* Network map */
.map-tools{display:flex;justify-content:center;margin-bottom:10px}
.seg{display:inline-flex;gap:4px;padding:4px;border-radius:var(--r-pill);background:rgba(255,255,255,.04);border:1px solid var(--border-subtle)}
.seg button{white-space:nowrap;display:inline-flex;align-items:center;gap:8px;font:600 13.5px var(--body);color:var(--text-secondary);background:transparent;border:0;border-radius:var(--r-pill);padding:8px 16px;cursor:pointer;transition:all 150ms ease}
.seg button:hover{color:var(--text-primary)}
.seg button[aria-pressed="true"]{background:var(--primary);color:#fff;box-shadow:var(--btn-shadow)}
.seg .key{width:16px;margin:0}
.seg button[aria-pressed="true"] .key{filter:brightness(1.6)}
.legend{display:flex;flex-wrap:wrap;gap:6px 18px;width:100%}
.legend span{display:inline-flex;align-items:center;gap:6px}
.legend svg{width:14px;height:14px}
.mk-port{fill:var(--bg-deep);stroke:var(--primary-soft);stroke-width:2.2}
.mk-origin{fill:var(--primary);stroke:#fff;stroke-width:2}
.mk-rail{fill:var(--bg-deep);stroke:var(--amber);stroke-width:2.2}
.mk-air{fill:var(--bg-deep);stroke:var(--accent-blue);stroke-width:2.2}
.mk-cross{fill:var(--amber);stroke:var(--bg-deep);stroke-width:1.4}
.mk-via{fill:var(--text-secondary);stroke:var(--bg-deep);stroke-width:1.4}
.hit{fill:transparent}
.nd{cursor:pointer;outline:none}
.nd:hover .hit,.nd:focus-visible .hit{fill:rgba(76,141,203,.18);stroke:var(--primary-soft);stroke-width:1.2}
.eu-dot{fill:var(--text-secondary)}
.inset-frame{fill:rgba(76,141,203,.07);stroke:var(--primary-soft);stroke-width:1;stroke-dasharray:3 3}
.inset-link{fill:none;stroke:#4A6178;stroke-width:1;stroke-dasharray:3 4}
.inset-bg{fill:#001F4D}
.inset .land{fill:#24467B}
.inset .borders{stroke:#0C3068}
.inset-border{fill:none;stroke:var(--border-subtle);stroke-width:1.2}
.inset-title{font-family:var(--display);font-weight:800;font-size:13px;fill:var(--text-primary)}
.lbl-in{font-size:11.5px;stroke:#001E4B}
.lbl-cap{font-size:11px;font-weight:600;fill:var(--text-muted)}
.lbl-note{fill:var(--amber);font-size:12px}
.r-ferry{stroke:var(--amber);stroke-width:2.2;stroke-dasharray:4 5;fill:none}
.r-air{fill:none;stroke-linecap:round}
.r-air:not(.r-air-main){stroke-width:2.2;opacity:.75}
.netmap .rt,.netmap .nd,.netmap .lab,.netmap .pill,.netmap .mv,.netmap .eu-dot{transition:opacity .35s ease}
.netmap[data-mode="ocean"] :is(.rt,.nd,.pill,.mv):not(.m-ocean),
.netmap[data-mode="rail"] :is(.rt,.nd,.pill,.mv):not(.m-rail),
.netmap[data-mode="air"] :is(.rt,.nd,.pill,.mv):not(.m-air){opacity:.07}
.netmap[data-mode="all"] .lab:not(.s-all),
.netmap[data-mode="ocean"] .lab:not(.s-ocean),
.netmap[data-mode="rail"] .lab:not(.s-rail),
.netmap[data-mode="air"] .lab:not(.s-air){opacity:0}
.map-tip{position:absolute;z-index:5;pointer-events:none;min-width:150px;max-width:240px;background:rgba(0,40,95,.96);border:1px solid var(--border-subtle);border-radius:10px;padding:10px 12px;box-shadow:0 12px 30px rgba(0,0,0,.45);transform:translate(-50%,calc(-100% - 14px))}
.map-tip strong{display:block;font-family:var(--display);font-weight:800;font-size:14px;color:var(--text-primary)}
.map-tip span{display:block;font-size:12.5px;color:var(--text-secondary);margin-top:2px}
.map-tip .tip-modes{display:flex;gap:6px;margin-top:8px}
.map-tip .tip-modes i{font-style:normal;font-size:11px;font-weight:700;padding:2px 8px;border-radius:var(--r-pill);border:1px solid var(--border-subtle);color:var(--text-primary)}
@media (prefers-reduced-motion:no-preference){
  .lane2{opacity:0;animation:fadeLane .8s ease forwards 2.1s}
  .inset,.eu-dots,.inset-frame,.inset-link{opacity:0;animation:fade .8s ease forwards 2.5s}
}
@keyframes fadeLane{to{opacity:1}}

/* Tracking */
.track{background:var(--bg-elevated);color:var(--text-primary);border-top:1px solid var(--border-default)}
.track .wrap{display:grid;grid-template-columns:auto 1fr;gap:12px 32px;align-items:center;padding-top:26px;padding-bottom:26px}
.track h2{color:var(--text-primary);font-size:20px;max-width:none}
.track form{display:flex;gap:10px}
.track input{flex:1;min-width:0;font:16px var(--body);padding:13px 16px;border:1px solid var(--border-subtle);border-radius:var(--r-btn);background:var(--bg-deep);color:var(--text-primary)}
.track input::placeholder{color:var(--text-muted)}
.track input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px rgba(76,141,203,.25)}
.track-msg{grid-column:2;font-size:14px;color:var(--text-secondary)}
.track-msg:empty{display:none}

/* Sections */
section{padding:96px 0}
.section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:end;margin-bottom:52px}
.tint{background:var(--bg-light)}
.lavender{background:var(--primary-light)}

/* Solutions cards */
.sol-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;list-style:none;margin:0;padding:0}
.sol{background:#fff;border:1px solid var(--border-light);border-radius:var(--r-panel);padding:28px;display:flex;flex-direction:column;gap:12px;transition:transform .2s ease,box-shadow .2s ease}
.sol:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(0,40,95,.08)}
.sol p{color:var(--text-light-body);font-size:16px}
.tile{width:60px;height:60px;border-radius:var(--r-card);background:var(--primary-light);display:grid;place-items:center;margin-bottom:6px}
.ico{width:40px;height:40px;fill:none;stroke:var(--primary-press);stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.ico .f{fill:#fff}.ico .f2{fill:#D6E6F5}
.ico .w{stroke:var(--accent-blue)}
.ico .seal{fill:var(--primary);stroke:#fff;stroke-width:2}
.ico .tick{stroke:#fff;stroke-width:2}
.facts{list-style:none;margin:6px 0 0;padding:14px 0 0;border-top:1px solid var(--border-light);font-size:14.5px;font-weight:500;color:var(--text-light-h);display:grid;gap:6px}
.facts li{padding-left:20px;position:relative}
.facts li::before{content:"";position:absolute;left:0;top:.5em;width:8px;height:8px;border-radius:50%;background:var(--primary-light);box-shadow:inset 0 0 0 2px var(--primary)}

/* Hero vertical chips */
.v-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:22px}
.v-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 16px 8px 12px;border-radius:var(--r-pill);border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);color:var(--text-primary);font-size:14px;font-weight:600;text-decoration:none;transition:all 150ms ease}
.v-chip:hover{border-color:rgba(76,141,203,.6);background:rgba(76,141,203,.14)}
.glyph{width:18px;height:18px;fill:none;stroke:var(--primary-soft);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* Verticals */
.v-intro{padding-bottom:40px}
.also{margin-top:14px;font-size:15px;color:var(--text-light-body)}
.v-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.v-tile{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:16px;align-items:center;padding:22px 24px;border:1px solid var(--border-light);border-radius:var(--r-panel);text-decoration:none;background:#fff;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.v-tile:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(0,40,95,.08);border-color:rgba(76,141,203,.4)}
.v-tile-ico{grid-row:1/3;width:52px;height:52px;border-radius:var(--r-card);background:var(--bg-elevated);display:grid;place-items:center;box-shadow:0 6px 18px rgba(76,141,203,.25)}
.v-tile-ico .glyph{width:24px;height:24px}
.v-tile strong{font-family:var(--display);font-weight:800;font-size:19px;color:var(--text-light-h)}
.v-tile>span:last-child{font-size:14.5px;color:var(--text-light-body);line-height:1.45}
.vertical{padding:72px 0 96px}
.vertical.tint{background:var(--bg-light);padding-top:96px}
.v-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:64px;align-items:start}
.v-flip .v-media{order:2}
.v-media{position:sticky;top:104px;border-radius:var(--r-panel);overflow:hidden;padding:56px 28px 36px;background:
  radial-gradient(420px 320px at 15% 0%,rgba(76,141,203,.34) 0%,rgba(0,0,0,0) 62%),
  radial-gradient(380px 300px at 100% 100%,rgba(76,141,203,.18) 0%,rgba(0,0,0,0) 62%),var(--bg-elevated);min-height:420px;display:grid;place-items:center}
.illo-v{width:100%;height:auto}
.v-badge{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--primary-press);background:var(--primary-light);border:1px solid rgba(76,141,203,.28);padding:6px 14px 6px 10px;border-radius:var(--r-pill);margin-bottom:18px}
.v-badge .glyph{stroke:var(--primary-press)}
.v-body h2{max-width:16ch;margin-bottom:18px}
.caps{list-style:none;margin:32px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:22px 28px}
.caps li{display:grid;grid-template-columns:22px 1fr;gap:12px;align-items:start}
.glyph-check{width:22px;height:22px;margin-top:1px}
.glyph-check circle{fill:var(--primary-light);stroke:rgba(76,141,203,.35)}
.glyph-check path{fill:none;stroke:var(--primary-press);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.caps strong{display:block;font-family:var(--display);font-weight:800;font-size:16px;color:var(--text-light-h);margin-bottom:3px}
.caps span{display:block;font-size:14.5px;color:var(--text-light-body);line-height:1.5}
.v-modes{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:30px;padding-top:24px;border-top:1px solid var(--border-light);font-size:13.5px;color:var(--text-light-body)}
.v-modes>span:first-child{margin-right:4px}
.mode{border:1px solid var(--border-light);background:#fff;border-radius:var(--r-pill);padding:4px 12px;font-weight:600;color:var(--text-light-h)}
.v-cta{margin-top:28px}

/* Compare */
.compare{position:relative;background:#fff;border:1px solid var(--border-light);border-radius:var(--r-panel);overflow:hidden}
.compare-table{width:100%;border-collapse:collapse;font-size:16px}
.compare-table caption{text-align:left;font-size:13.5px;color:var(--text-light-body);caption-side:bottom;padding:14px 24px 18px}
.compare-table th,.compare-table td{text-align:left;padding:20px 24px;border-bottom:1px solid var(--border-light);vertical-align:middle}
.compare-table thead th{font-family:var(--body);font-size:13px;color:var(--text-light-body);font-weight:600;background:var(--bg-light)}
.compare-table tbody th{font-family:var(--display);font-weight:800;font-size:18px;white-space:nowrap}
.compare-table td{color:var(--text-light-body)}
.days{font-family:var(--display);font-weight:800;font-size:18px;white-space:nowrap;color:var(--text-light-h)!important}
.key{display:inline-block;width:26px;height:0;margin-right:12px;vertical-align:middle}
.key-sea{border-top:3.5px solid var(--primary)}
.key-rail{border-top:3.5px solid var(--amber)}
.key-air{border-top:3px dotted var(--accent-blue)}
.bar{display:block;height:6px;border-radius:3px;background:var(--primary-light);overflow:hidden;min-width:120px}
.bar i{display:block;height:100%;border-radius:3px}
.table-scroll{overflow-x:auto}

/* Group / numbers */
.figures{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin:0;padding:0}
.figures div{background:var(--bg-light);border:1px solid var(--border-light);border-radius:var(--r-card);padding:24px 22px;display:flex;flex-direction:column}
.figures dd{margin:0 0 6px;font-family:var(--display);font-weight:800;font-size:clamp(28px,2.8vw,38px);color:var(--primary);line-height:1.1;letter-spacing:-.5px;order:-1}
.figures dt{font-size:14px;color:var(--text-light-body)}
.source-note{font-size:13px;color:var(--text-light-body);margin-top:18px}
.certs{margin-top:64px;padding-top:40px;border-top:1px solid var(--border-light)}
.certs h3{font-size:18px;margin-bottom:22px}
.certs ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.certs li{font-size:13.5px;color:var(--text-light-body);border:1px solid var(--border-light);border-radius:var(--r-card);padding:18px}
.certs li strong{display:block;font-family:var(--display);font-weight:800;font-size:17px;color:var(--text-light-h);margin-bottom:2px}

/* Contact (dark CTA, as on NA) */
.contact{color:var(--text-primary);background:
  radial-gradient(640px 560px at 0% 0%,rgba(76,141,203,.3) 0%,rgba(0,0,0,0) 60%),
  radial-gradient(520px 520px at 100% 100%,rgba(76,141,203,.16) 0%,rgba(0,0,0,0) 60%),var(--bg-deep)}
.contact .wrap{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:56px}
.contact h2{color:var(--text-primary)}
.contact .lede{color:var(--text-secondary)}
.contact form{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:32px;background:#fff;border-radius:var(--r-panel);padding:28px;color:var(--text-light-h)}
.field{display:flex;flex-direction:column;gap:6px}
.field.full{grid-column:1/-1}
label{font-size:13.5px;font-weight:600;color:var(--text-light-h)}
input,select,textarea{font:16px var(--body);padding:12px 14px;border:1px solid #D1D5DB;border-radius:var(--r-btn);background:#fff;color:var(--text-light-h)}
input:focus,select:focus,textarea:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px rgba(76,141,203,.2)}
textarea{min-height:120px;resize:vertical}
.form-foot{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:16px}
.form-foot small{color:var(--text-light-body);font-size:13px;max-width:44ch}
.office{background:rgba(255,255,255,.04);border:1px solid var(--border-subtle);border-radius:var(--r-panel);padding:32px;align-self:start;margin-top:8px}
.office h3{margin-bottom:16px;color:var(--text-primary)}
.office address{font-style:normal;color:var(--text-secondary)}
.office dl{margin:24px 0 0;display:grid;gap:14px}
.office dt{font-size:13px;color:var(--text-muted)}
.office dd{margin:0;font-weight:600;color:var(--text-primary)}
.office dd a{text-decoration:none;color:var(--primary-soft)}
.office dd a:hover{color:#fff}
.office .coverage{margin-top:26px;padding-top:20px;border-top:1px solid var(--border-subtle);font-size:15px;color:var(--text-secondary)}

/* Footer */
.site-footer{background:var(--bg-elevated);color:var(--text-secondary);font-size:15px;padding:64px 0 32px;border-top:1px solid var(--border-default)}
.foot-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:40px}
.logo-foot{height:54px}
.site-footer h4{font-family:var(--display);font-weight:800;color:var(--text-primary);font-size:15px;margin:0 0 14px}
.site-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.site-footer a{text-decoration:none}
.site-footer a:hover{color:var(--text-primary)}
.legal{margin-top:48px;padding-top:24px;border-top:1px solid var(--border-subtle);display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;font-size:13px;color:var(--text-muted)}
.legal nav{display:flex;gap:20px}

/* Responsive */
@media (max-width:1060px){
  .nav{display:none}
  .menu-toggle{display:inline-block}
  .nav.open{display:flex;flex-direction:column;position:absolute;top:76px;left:0;right:0;background:var(--bg-deep);padding:16px var(--gutter) 24px;border-bottom:1px solid var(--border-default);gap:10px}
  .section-head{grid-template-columns:1fr;gap:18px}
  .sol-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v-tiles{grid-template-columns:1fr}
  .v-grid{grid-template-columns:1fr;gap:36px}
  .v-flip .v-media{order:0}
  .v-media{position:static;min-height:0;padding:32px 20px 18px}
  .figures,.certs ul{grid-template-columns:repeat(2,minmax(0,1fr))}
  .contact .wrap{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  .map-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 calc(var(--gutter) * -1);padding:0 var(--gutter)}
  .map{min-width:820px}
  .swipe{display:block;width:100%}
  .lbl{font-size:16px}.lbl-strong{font-size:17px}
  .lbl.lbl-in{font-size:12px}
}
@media (max-width:640px){
  body{font-size:16px}
  section{padding:64px 0}
  .site-header .wrap{height:66px}
  .logo{height:36px}
  .brand{gap:12px}
  .brand-region{font-size:13.5px;padding-left:12px}
  .header-actions .btn-ghost,.header-actions .btn-primary{display:none}
  .nav.open{top:66px}
  .hero-top{padding-top:48px}
  .track .wrap{grid-template-columns:1fr}
  .track-msg{grid-column:1}
  .track form{flex-direction:column}
  .sol-grid{grid-template-columns:1fr}
  .seg{gap:2px}.seg button{padding:8px 11px;font-size:13px;gap:6px}.seg .key{width:12px}
  .caps{grid-template-columns:1fr}
  .v-chips{gap:8px}
  .contact form{grid-template-columns:1fr;padding:22px}
  .foot-grid{grid-template-columns:1fr}
}

/* ===== Multi page additions ===== */
.skip{position:absolute;left:-9999px;top:0;z-index:100;background:var(--primary);color:#fff;padding:10px 16px;border-radius:0 0 8px 0}
.skip:focus{left:0}
body.nav-open{overflow:hidden}

/* Header with dropdowns */
.nav{align-items:center}
.nav-link{text-decoration:none;color:var(--text-secondary);font-weight:500;padding:6px 0;transition:color .15s}
.nav-link:hover{color:var(--text-primary)}
.nav-quote{display:none}
.dd{position:relative}
.dd-btn{display:inline-flex;align-items:center;gap:6px;background:none;border:0;color:var(--text-secondary);font:500 15px var(--body);padding:6px 0;cursor:pointer;transition:color .15s}
.dd-btn:hover,.dd-btn[aria-expanded="true"],.dd.is-active>.dd-btn{color:var(--text-primary)}
.chev{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}
.dd-btn[aria-expanded="true"] .chev{transform:rotate(180deg)}
.dd-menu{display:none;position:absolute;top:calc(100% + 18px);left:-18px;min-width:330px;padding:8px;border-radius:14px;background:rgba(0,40,95,.98);border:1px solid var(--border-subtle);box-shadow:0 24px 60px rgba(0,0,0,.55);gap:2px;z-index:40}
.dd-menu::before{content:"";position:absolute;left:0;right:0;top:-20px;height:20px}
.dd-btn[aria-expanded="true"]+.dd-menu{display:grid}
@media (hover:hover) and (min-width:1061px){.dd:hover>.dd-menu{display:grid}.dd:hover>.dd-btn .chev{transform:rotate(180deg)}}
.dd-item{display:grid;grid-template-columns:38px 1fr;gap:12px;align-items:center;padding:10px 12px;border-radius:10px;text-decoration:none;color:var(--text-primary);transition:background .15s}
.dd-item:hover,.dd-item:focus-visible{background:rgba(76,141,203,.12)}
.dd-item[aria-current="page"]{background:rgba(76,141,203,.18)}
.dd-ico{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:rgba(76,141,203,.14);border:1px solid rgba(76,141,203,.25)}
.dd-ico .glyph{width:20px;height:20px}
.dd-item strong{display:block;font-family:var(--display);font-weight:700;font-size:14.5px}
.dd-item small{display:block;font-size:12.5px;color:var(--text-secondary);margin-top:1px}
.glyph{fill:none;stroke:var(--primary-soft);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.btn .glyph{width:18px;height:18px;stroke:currentColor}

@media (max-width:1060px){
  .nav{display:none}
  .nav.open{display:flex;flex-direction:column;align-items:stretch;position:absolute;top:100%;left:0;right:0;bottom:auto;height:var(--navh,80vh);overflow-y:auto;overscroll-behavior:contain;background:var(--bg-deep);padding:12px var(--gutter) 32px;border-top:1px solid var(--border-default);gap:4px;z-index:29}
  .dd-btn{width:100%;justify-content:space-between;font-size:17px;font-family:var(--display);font-weight:700;color:var(--text-primary);padding:14px 0;border-bottom:1px solid var(--border-default)}
  .dd-menu{position:static;min-width:0;box-shadow:none;border:0;background:transparent;padding:6px 0 10px}
  .dd-menu::before{display:none}
  .nav-link{font-size:17px;font-family:var(--display);font-weight:700;color:var(--text-primary);padding:14px 0;border-bottom:1px solid var(--border-default)}
  .nav-quote{display:inline-flex;margin-top:18px}
  .header-actions .btn-ghost{display:none}
}
@media (max-width:640px){.header-actions .btn-primary{display:none}}

/* Badge reuse */
.badge{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;color:var(--primary-soft);background:rgba(76,141,203,.12);border:1px solid rgba(76,141,203,.28);padding:6px 14px;border-radius:var(--r-pill)}

/* Page hero */
.ph{position:relative;overflow:hidden;color:var(--text-primary);padding:40px 0 0;background:
  radial-gradient(720px 620px at -5% -10%,rgba(76,141,203,.32) 0%,rgba(0,0,0,0) 58%),
  radial-gradient(560px 520px at 108% 20%,rgba(76,141,203,.2) 0%,rgba(0,0,0,0) 58%),
  linear-gradient(160deg,#00245B 0%,#00204F 62%)}
.ph::after{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(rgba(175,192,217,.13) 1px,transparent 1px);background-size:22px 22px;mask-image:linear-gradient(180deg,rgba(0,0,0,.5),transparent 70%);-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.5),transparent 70%)}
.ph .wrap{position:relative;z-index:1}
.ph-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:56px;align-items:start}
.ph-main{padding:28px 0 64px}
.ph h1{color:var(--text-primary);font-size:clamp(36px,4.8vw,60px);letter-spacing:-1px;line-height:1.05;max-width:16ch;margin-top:18px}
.ph .lede{color:var(--text-secondary);margin-top:20px;max-width:56ch}
.ph .hero-ctas{justify-content:flex-start}
.ph-aside{padding:28px 0 48px}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px;font-size:13px;color:var(--text-muted)}
.crumbs li+li::before{content:"/";margin-right:6px;color:var(--border-subtle)}
.crumbs a{color:var(--text-secondary);text-decoration:none}
.crumbs a:hover{color:#fff}
.crumbs [aria-current]{color:var(--primary-soft)}
.ph-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;border-top:1px solid var(--border-default)}
.ph-stats div{padding:24px 20px 26px 0;display:flex;flex-direction:column}
.ph-stats div+div{padding-left:24px;border-left:1px solid var(--border-default)}
.ph-stats dd{margin:0;order:-1;font-family:var(--display);font-weight:800;font-size:clamp(24px,2.5vw,32px);color:#fff;letter-spacing:-.4px;line-height:1.15}
.ph-stats dt{font-size:13.5px;color:var(--text-secondary);margin-top:4px}
.ph-note{font-size:12px;color:var(--text-muted);padding:0 0 20px;margin-top:-8px}

/* Quick quote widget (dark) */
.qw{position:relative;background:linear-gradient(180deg,rgba(0,45,105,.92),rgba(0,40,95,.96));border:1px solid rgba(76,141,203,.32);border-radius:18px;padding:24px;box-shadow:0 30px 80px rgba(0,0,0,.45),0 0 0 6px rgba(76,141,203,.06);color:var(--text-primary);text-align:left}
.qw-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}
.qw-title{font-size:20px;color:#fff;max-width:none;letter-spacing:-.2px}
.qw-time{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--text-secondary);white-space:nowrap}
.qw-time .glyph{width:15px;height:15px}
.qw-modes{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:5px;border-radius:12px;background:rgba(0,0,0,.28);border:1px solid var(--border-default)}
.qw-modes button,.qt-modes button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:9px;padding:10px 8px;font:600 14px var(--body);cursor:pointer;transition:all .15s;white-space:nowrap}
.qw-modes button{background:transparent;color:var(--text-secondary)}
.qw-modes button .glyph{width:18px;height:18px;stroke:currentColor;flex-shrink:0}
.qt-modes button .glyph{flex-shrink:0}
.qw-modes button:hover{color:#fff}
.qw-modes button[aria-pressed="true"]{background:var(--primary);color:#fff;box-shadow:0 4px 18px rgba(76,141,203,.45)}
.qw-sub,.qt-types{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.qw-sub button,.qt-types button{border-radius:var(--r-pill);padding:7px 14px;font:600 13px var(--body);cursor:pointer;transition:all .15s}
.qw-sub button{background:transparent;border:1px solid var(--border-subtle);color:var(--text-secondary)}
.qw-sub button:hover{color:#fff;border-color:rgba(76,141,203,.5)}
.qw-sub button[aria-pressed="true"]{color:#fff;border-color:var(--primary);background:rgba(76,141,203,.2)}
.qw-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}
.qw-fields label{display:flex;flex-direction:column;gap:6px;font-size:12.5px;font-weight:600;color:var(--text-secondary)}
.qw-date-l{grid-column:1/-1}
.qw input{font:15px var(--body);padding:12px 14px;border-radius:10px;border:1px solid var(--border-subtle);background:rgba(0,32,79,.75);color:#fff;width:100%;min-width:0;color-scheme:dark}
.qw input::placeholder{color:var(--text-muted)}
.qw input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px rgba(76,141,203,.25)}
.qw input[aria-invalid="true"]{border-color:#F87171}
.qw-err{color:#FCA5A5;font-size:13px;margin-top:10px}
.qw-go{width:100%;margin-top:16px;padding:14px 22px;font-size:15.5px}
.qw-note{font-size:12.5px;color:var(--text-muted);text-align:center;margin-top:10px}

/* Home hero with quote */
.hero-top.hero-split{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:56px;align-items:center;text-align:left;padding-top:64px}
.hero-split .badges{justify-content:flex-start}
.hero-split h1{margin:0;max-width:14ch;font-size:clamp(38px,4.6vw,62px)}
.hero-split .lede{margin:20px 0 0;max-width:52ch}
.hero-split .v-chips{justify-content:flex-start;margin-top:26px}
.hero-links{display:flex;flex-wrap:wrap;gap:20px;margin-top:22px;font-size:14.5px}
.hero-links a{color:var(--text-secondary);text-decoration:none;display:inline-flex;align-items:center;gap:8px}
.hero-links a:hover{color:#fff}
.hero-links .glyph{width:17px;height:17px}

/* Cards, generic */
.sol-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.sol-grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.tile .glyph{width:28px;height:28px;stroke:var(--primary-press)}
.sol .more{margin-top:auto;padding-top:6px}
.sol a.more::after{content:" \2192"}
a.sol-link{text-decoration:none;color:inherit}

/* Why grid */
.why{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 40px}
.why.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.why li{display:flex;flex-direction:column;gap:10px}
.why-ico{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:var(--bg-elevated);box-shadow:0 8px 22px rgba(76,141,203,.22)}
.why-ico .glyph{width:22px;height:22px}
.why h3{font-size:18px}
.why p{color:var(--text-light-body);font-size:15.5px}
.dark .why h3{color:#fff}.dark .why p{color:var(--text-secondary)}
.dark .why-ico{background:rgba(76,141,203,.14);border:1px solid rgba(76,141,203,.3);box-shadow:none}

/* Dark section */
section.dark{color:var(--text-primary);background:
  radial-gradient(600px 500px at 0% 0%,rgba(76,141,203,.22) 0%,rgba(0,0,0,0) 60%),var(--bg-deep)}
.dark h2{color:#fff}.dark .lede{color:var(--text-secondary)}
.section-head.center{display:block;text-align:center;max-width:760px;margin-left:auto;margin-right:auto}
.section-head.center h2{margin:0 auto;max-width:22ch}
.section-head.center .lede{margin:16px auto 0}

/* Steps */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;counter-reset:s}
.steps.cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}
.steps li{position:relative;background:#fff;border:1px solid var(--border-light);border-radius:var(--r-panel);padding:26px 22px}
.step-n{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--bg-elevated);color:var(--primary-soft);font:800 14px var(--display);margin-bottom:16px;box-shadow:0 8px 20px rgba(76,141,203,.25)}
.steps h3{font-size:17px;margin-bottom:6px}
.steps p{font-size:15px;color:var(--text-light-body)}
.steps li:not(:last-child)::after{content:"";position:absolute;top:46px;right:-21px;width:22px;height:2px;background:linear-gradient(90deg,var(--primary),rgba(76,141,203,.2))}

/* Split feature */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center}
.split.flip .split-text{order:2}
.split-text h2{margin-bottom:16px}
.split-text .lede+.lede{margin-top:14px}
.split-text .facts{border-top:0;padding-top:0;margin-top:24px;font-size:15.5px}
.fp{border-radius:var(--r-panel);padding:28px;color:var(--text-primary);background:
  radial-gradient(420px 320px at 15% 0%,rgba(76,141,203,.32) 0%,rgba(0,0,0,0) 62%),
  radial-gradient(380px 300px at 100% 100%,rgba(76,141,203,.16) 0%,rgba(0,0,0,0) 62%),var(--bg-elevated);display:grid;gap:4px}
.fp-title{font-size:12.5px;font-weight:600;color:var(--primary-soft);margin-bottom:8px}
.fp-row{display:grid;grid-template-columns:44px 1fr;gap:16px;align-items:start;padding:16px 0;border-top:1px solid var(--border-subtle)}
.fp-row:first-of-type{border-top:0}
.fp-ico{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:rgba(76,141,203,.14);border:1px solid rgba(76,141,203,.3)}
.fp-ico .glyph{width:21px;height:21px}
.fp strong{display:block;font-family:var(--display);font-weight:800;font-size:17px;color:#fff}
.fp span:not(.fp-ico){display:block;font-size:14.5px;color:var(--text-secondary);margin-top:2px}

/* Lane chips */
.lane-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.lane-chips li{font:700 14px var(--display);padding:10px 16px;border-radius:var(--r-pill);background:#fff;border:1px solid var(--border-light);color:var(--text-light-h)}
.lane-chips li span{color:var(--primary);margin:0 6px}

/* Region grid */
.regions{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.regions li{background:#fff;border:1px solid var(--border-light);border-radius:var(--r-card);padding:20px 22px}
.regions strong{display:block;font-family:var(--display);font-weight:800;font-size:17px}
.regions span{display:block;font-size:14.5px;color:var(--text-light-body);margin-top:4px}

/* CTA band */
.cta-band{text-align:center;color:var(--text-primary);padding:96px 0;background:
  radial-gradient(640px 520px at 0% 0%,rgba(76,141,203,.32) 0%,rgba(0,0,0,0) 60%),
  radial-gradient(520px 520px at 100% 100%,rgba(76,141,203,.18) 0%,rgba(0,0,0,0) 60%),var(--bg-deep)}
.cta-band h2{color:#fff;margin:0 auto;max-width:20ch}
.cta-band .lede{color:var(--text-secondary);margin:16px auto 0}
.cta-band .hero-ctas{justify-content:center}

/* Bars (warehouse clusters) */
.bars{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.bars li{display:grid;grid-template-columns:200px 1fr 90px;gap:16px;align-items:center;font-size:15px}
.bars .track{height:12px;border-radius:6px;background:var(--primary-light);overflow:hidden}
.bars .track i{display:block;height:100%;border-radius:6px;background:var(--primary)}
.bars .track i.hl{background:var(--primary-press)}
.bars b{font-family:var(--display);font-weight:800;text-align:right}
.bars .lbl-r{color:var(--text-light-h);font-weight:600}

/* Flow (about) */
.flow{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;position:relative}
.flow li{position:relative;text-align:center;padding:0 10px}
.flow li:not(:last-child)::after{content:"";position:absolute;top:31px;left:calc(50% + 40px);right:calc(-50% + 40px);height:2px;background:repeating-linear-gradient(90deg,var(--primary) 0 6px,transparent 6px 12px)}
.flow .fl-ico{width:62px;height:62px;border-radius:18px;margin:0 auto 16px;display:grid;place-items:center;background:var(--bg-elevated);box-shadow:0 10px 26px rgba(76,141,203,.28)}
.flow .fl-ico .glyph{width:26px;height:26px}
.flow h3{font-size:16.5px}
.flow p{font-size:14.5px;color:var(--text-light-body);margin-top:6px}

/* Timeline */
.timeline{list-style:none;margin:0;padding:0;position:relative;display:grid;gap:22px}
.timeline::before{content:"";position:absolute;left:111px;top:6px;bottom:6px;width:2px;background:linear-gradient(180deg,var(--primary),rgba(76,141,203,.15))}
.timeline li{display:grid;grid-template-columns:92px 40px 1fr;gap:0;align-items:start}
.tl-year{font-family:var(--display);font-weight:800;font-size:22px;color:var(--text-light-h);text-align:right;padding-right:6px;line-height:1.2}
.tl-dot{width:16px;height:16px;border-radius:50%;background:#fff;border:3px solid var(--primary);margin:6px auto 0;position:relative;z-index:1}
.tl-card{background:#fff;border:1px solid var(--border-light);border-radius:var(--r-panel);padding:22px 24px}
.tl-card h3{font-size:18px}
.tl-card p{color:var(--text-light-body);font-size:15.5px;margin-top:6px}
.tl-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.tl-tags span{font-size:12px;font-weight:700;color:var(--primary-press);background:var(--primary-light);padding:3px 10px;border-radius:var(--r-pill)}
.timeline li.hl .tl-card{border-color:rgba(76,141,203,.45);box-shadow:0 14px 34px rgba(76,141,203,.14)}
.timeline li.hl .tl-dot{background:var(--primary)}
.foot-years{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;list-style:none;margin:0;padding:0}
.foot-years li{border:1px solid var(--border-subtle);border-radius:var(--r-card);padding:18px 20px;background:rgba(255,255,255,.03)}
.foot-years b{display:block;font-family:var(--display);font-weight:800;font-size:22px;color:var(--primary-soft)}
.foot-years span{display:block;color:var(--text-secondary);font-size:14.5px;margin-top:4px}
.foot-years li.hl{border-color:rgba(76,141,203,.6);background:rgba(76,141,203,.1)}
.foot-years li.hl span{color:#fff}

/* World map */
.worldmap{position:relative}
.worldmap .map{width:100%;height:auto}
.wm-base{fill:#0B3A7A;stroke:#002152;stroke-width:.5}
.ct{fill:var(--rc);stroke:#002152;stroke-width:.6;cursor:pointer;transition:opacity .3s,filter .2s;outline:none}
.ct:hover,.ct:focus-visible{filter:brightness(1.25)}
.worldmap:not([data-region="all"]) .ct{opacity:.18}
.worldmap[data-region="china"] .ct.r-china,.worldmap[data-region="apac"] .ct.r-apac,.worldmap[data-region="europe"] .ct.r-europe,.worldmap[data-region="mecasia"] .ct.r-mecasia,.worldmap[data-region="africa"] .ct.r-africa,.worldmap[data-region="americas"] .ct.r-americas{opacity:1}
.r-china{--rc:#94BBE0}.r-apac{--rc:#D2E2F2}.r-europe{--rc:#4C8DCB}.r-mecasia{--rc:#C1DB81}.r-africa{--rc:#34D399}.r-americas{--rc:#F472B6}
.hq-dot{fill:#fff}
.hq-ring{fill:none;stroke:#fff;stroke-width:1.5;opacity:.6}
.wm-lbl{font:700 13px var(--display);fill:#fff;paint-order:stroke;stroke:#00204F;stroke-width:4px;stroke-linejoin:round}
.reg-bar{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:14px}
.reg-btn{display:inline-flex;align-items:center;gap:8px;border-radius:var(--r-pill);padding:8px 14px;border:1px solid var(--border-subtle);background:rgba(255,255,255,.03);color:var(--text-secondary);font:600 13.5px var(--body);cursor:pointer}
.reg-btn i{width:10px;height:10px;border-radius:50%;background:var(--rc,#fff)}
.reg-btn:hover{color:#fff}
.reg-btn[aria-pressed="true"]{color:#fff;border-color:var(--primary);background:rgba(76,141,203,.18)}
.reg-cards{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.reg-card{border:1px solid var(--border-subtle);border-radius:var(--r-card);padding:18px 20px;background:rgba(255,255,255,.03);transition:opacity .3s}
.reg-card:not(.on){opacity:.35}
.reg-card h3{display:flex;align-items:center;gap:10px;font-size:16px;color:#fff}
.reg-card h3 i{width:10px;height:10px;border-radius:50%;background:var(--rc)}
.reg-card p{font-size:14px;color:var(--text-secondary);margin-top:6px}

/* Quote tool page */
.qt-section{background:var(--bg-light);padding:56px 0 96px}
.qt-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:28px;align-items:start}
.qt{background:#fff;border:1px solid var(--border-light);border-radius:18px;padding:32px;box-shadow:0 24px 60px rgba(0,40,95,.06)}
.qt-steps{list-style:none;margin:0 0 28px;padding:0 0 22px;display:flex;gap:10px;border-bottom:1px solid var(--border-light)}
.qt-steps li{display:flex;align-items:center;gap:10px;font-weight:600;font-size:14.5px;color:var(--text-light-body);flex:1}
.qt-steps li span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;border:1.5px solid #D1D5DB;font:800 13px var(--display);flex-shrink:0}
.qt-steps li.on{color:var(--text-light-h)}
.qt-steps li.on span{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 4px 14px rgba(76,141,203,.45)}
.qt-steps li.done span{background:var(--primary-light);border-color:var(--primary);color:var(--primary-press)}
.qt-steps li:not(:last-child)::after{content:"";flex:1;height:2px;background:var(--border-light);margin-left:4px}
.qt-steps li.done:not(:last-child)::after{background:var(--primary)}
.qt-pane h2{font-size:26px;margin-bottom:22px;outline:none}
.qset{border:0;padding:0;margin:0 0 26px}
.qset legend{font:800 14px var(--display);color:var(--text-light-h);margin-bottom:12px;padding:0}
.qt-modes{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.qt-modes button{padding:14px 10px;background:#fff;border:1.5px solid #E5E8EB;color:var(--text-light-h);font-size:15px}
.qt-modes button .glyph{width:20px;height:20px;stroke:var(--primary-press)}
.qt-modes button:hover{border-color:rgba(76,141,203,.5)}
.qt-modes button[aria-pressed="true"]{border-color:var(--primary);background:var(--primary-light);box-shadow:0 0 0 3px rgba(76,141,203,.15)}
.qt-types button{background:#fff;border:1.5px solid #E5E8EB;color:var(--text-light-body)}
.qt-types button[aria-pressed="true"]{border-color:var(--primary);color:var(--primary-press);background:var(--primary-light)}
.qgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.qgrid .span2{grid-column:1/-1}
.qt label,.qt .fld{display:flex;flex-direction:column;gap:6px}
.qt label>span,.qt .fld>span{font-size:13.5px;font-weight:600;color:var(--text-light-h)}
.qt input,.qt select,.qt textarea{width:100%;min-width:0}
.qt [aria-invalid="true"]{border-color:#DC2626;box-shadow:0 0 0 3px rgba(220,38,38,.12)}
.money{display:grid;grid-template-columns:90px 1fr;gap:8px}
.qrows{display:grid;gap:10px}
.qrow{display:grid;gap:10px;align-items:end;padding:14px;border:1px solid var(--border-light);border-radius:12px;background:var(--bg-light)}
.qrow-cont{grid-template-columns:2fr 1fr 1.4fr 36px}
.qrow-pkg{grid-template-columns:1fr 1fr 1fr 1fr 1.2fr 36px}
.qrow-veh{grid-template-columns:2fr .8fr 1fr 1.2fr 36px}
.qrow label>span{font-size:12.5px}
.row-rm{width:36px;height:44px;border-radius:8px;border:1px solid #E5E8EB;background:#fff;font-size:20px;color:var(--text-light-body);cursor:pointer}
.row-rm:hover{color:#DC2626;border-color:#FCA5A5}
.btn-add{margin-top:10px;background:none;border:1px dashed rgba(76,141,203,.5);color:var(--primary-press);font:600 14px var(--body);padding:10px 14px;border-radius:10px;cursor:pointer}
.btn-add:hover{background:var(--primary-light)}
.qcalc{margin-top:12px;font-size:14px;font-weight:600;color:var(--primary-press)}
.qcheck{flex-direction:row!important;align-items:flex-start;gap:12px!important;padding:14px 16px;border:1px solid var(--border-light);border-radius:12px;margin-top:10px;cursor:pointer}
.qcheck input{width:20px!important;height:20px;margin:2px 0 0;accent-color:var(--primary);flex-shrink:0}
.qcheck span{font-weight:400!important;color:var(--text-light-body)!important;font-size:14px!important}
.qcheck strong{display:block;color:var(--text-light-h);font-size:14.5px;margin-bottom:2px}
.qchecks{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}
.qchecks .qcheck.full{grid-column:1/-1}
.qt-dg{margin-top:12px;padding:16px;border-radius:12px;background:#FFF7ED;border:1px solid #FED7AA}
.qt-err{color:#B91C1C;font-size:14px;font-weight:600;margin:4px 0 14px}
.qt-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:22px;border-top:1px solid var(--border-light);margin-top:8px}
.btn-back{background:none;border:0;color:var(--text-light-body);font:600 15px var(--body);cursor:pointer;padding:12px 4px}
.btn-back:hover{color:var(--text-light-h)}
.qt-review{display:grid;gap:18px}
.qt-review section{border:1px solid var(--border-light);border-radius:12px;overflow:hidden}
.qt-review header{display:flex;justify-content:space-between;align-items:center;padding:12px 18px;background:var(--bg-light);border-bottom:1px solid var(--border-light)}
.qt-review h3{font-size:16px}
.qt-review dl{margin:0;padding:6px 18px 12px}
.qt-review dl div{display:grid;grid-template-columns:140px 1fr;gap:12px;padding:8px 0;border-bottom:1px solid #F3F4F6;font-size:14.5px}
.qt-review dl div:last-child{border-bottom:0}
.qt-review dt{color:var(--text-light-body)}
.qt-review dd{margin:0;color:var(--text-light-h);font-weight:500;overflow-wrap:anywhere}
.link-btn{background:none;border:0;color:var(--primary-press);font:600 14px var(--body);cursor:pointer}
.qt-done{text-align:center;padding:24px 8px}
.qt-done .done-ico{width:72px;height:72px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;background:var(--primary-light)}
.qt-done .done-ico svg{width:36px;height:36px;fill:none;stroke:var(--primary-press);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.qt-done h2{font-size:28px;outline:none;max-width:none}
.qt-done p{color:var(--text-light-body);margin:12px auto 0;max-width:46ch}
.qt-ref{font-family:var(--display);font-weight:800;color:var(--text-light-h)}
.qt-done .hero-ctas{justify-content:center}
.qt-side{display:grid;gap:16px;position:sticky;top:100px}
.side-card{background:#fff;border:1px solid var(--border-light);border-radius:var(--r-panel);padding:22px}
.side-card h3{font-size:16px;margin-bottom:12px}
.side-card.dark-card{border:0;color:var(--text-primary);background:radial-gradient(320px 260px at 10% 0%,rgba(76,141,203,.32) 0%,rgba(0,0,0,0) 62%),var(--bg-elevated)}
.side-card.dark-card h3{color:#fff}
.side-steps{list-style:none;margin:0;padding:0;display:grid;gap:14px;counter-reset:ss}
.side-steps li{display:grid;grid-template-columns:28px 1fr;gap:12px;font-size:14px;color:var(--text-secondary)}
.side-steps li::before{counter-increment:ss;content:counter(ss);display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:rgba(76,141,203,.2);color:var(--primary-soft);font:800 13px var(--display)}
.side-steps strong{display:block;color:#fff;font-size:14.5px}
.side-contact{display:grid;gap:10px}
.side-contact a{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:600;color:var(--text-light-h);font-size:14.5px;overflow-wrap:anywhere}
.side-contact a:hover{color:var(--primary-press)}
.side-contact .glyph{width:20px;height:20px;stroke:var(--primary-press);flex-shrink:0}
.side-trust{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.side-trust li{font:700 12.5px var(--display);padding:6px 12px;border-radius:var(--r-pill);background:var(--bg-light);border:1px solid var(--border-light)}

/* Contact page */
.contact-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:28px;align-items:start}
.office-card{border-radius:18px;overflow:hidden;color:var(--text-primary);background:radial-gradient(420px 320px at 10% 0%,rgba(76,141,203,.32) 0%,rgba(0,0,0,0) 62%),var(--bg-elevated)}
.office-card .oc-body{padding:28px}
.office-card h2{color:#fff;font-size:24px}
.office-card address{font-style:normal;color:var(--text-secondary);margin-top:12px;line-height:1.7}
.oc-list{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:12px}
.oc-list li{display:flex;gap:12px;align-items:center;font-size:15px}
.oc-list .glyph{width:20px;height:20px;flex-shrink:0}
.oc-list a{color:#fff;text-decoration:none;font-weight:600;overflow-wrap:anywhere}
.oc-list a:hover{color:var(--primary-soft)}
.oc-list span{color:var(--text-secondary)}
.oc-map{display:block;position:relative;height:200px;background:#0B2D60;border-top:1px solid var(--border-subtle);overflow:hidden;text-decoration:none}
.oc-map svg{width:100%;height:100%}
.oc-map .open{position:absolute;right:14px;bottom:14px;font-size:13px;font-weight:600;color:#fff;background:rgba(0,32,79,.8);border:1px solid var(--border-subtle);border-radius:var(--r-pill);padding:7px 14px}
.spec{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.spec li{background:#fff;border:1px solid var(--border-light);border-radius:var(--r-panel);padding:22px;display:flex;flex-direction:column;gap:8px}
.spec h3{display:flex;align-items:center;gap:10px;font-size:17px}
.spec h3 .tile{width:40px;height:40px;margin:0;border-radius:10px}
.spec h3 .tile .glyph{width:20px;height:20px}
.spec p{font-size:14.5px;color:var(--text-light-body)}
.spec .links{display:flex;flex-wrap:wrap;gap:14px;margin-top:auto;padding-top:6px;font-size:14px;font-weight:600}
.spec .links a{color:var(--primary-press);text-decoration:none}
.cf{background:#fff;border:1px solid var(--border-light);border-radius:18px;padding:28px}
.cf h2{font-size:24px;margin-bottom:6px}
.cf .sub{color:var(--text-light-body);font-size:15px;margin-bottom:20px}
.cf form{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.cf label{display:flex;flex-direction:column;gap:6px}
.cf label>span{font-size:13.5px;font-weight:600}
.cf .full{grid-column:1/-1}
.cf [aria-invalid="true"]{border-color:#DC2626}
.group-links{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.group-links a{display:flex;flex-direction:column;gap:4px;padding:20px 22px;border-radius:var(--r-card);border:1px solid var(--border-light);background:#fff;text-decoration:none;transition:border-color .2s,transform .2s}
.group-links a:hover{border-color:rgba(76,141,203,.5);transform:translateY(-2px)}
.group-links strong{font-family:var(--display);font-weight:800;color:var(--text-light-h)}
.group-links span{font-size:14px;color:var(--text-light-body)}

/* Legal stub pages */
.prose{max-width:760px}
.prose h2{font-size:24px;margin:32px 0 10px}
.prose p,.prose li{color:var(--text-light-body)}


.nav .nav-quote,.nav .nav-quote:hover{color:#fff}
@media (max-width:1060px){
  .nav .nav-link{color:var(--text-primary)}
  .hero-top.hero-split{display:flex;flex-direction:column;align-items:stretch;gap:0}
  .hero-split>div:first-child{display:contents}
  .hero-split .badges{order:1}
  .hero-split h1{order:2}
  .hero-split .lede{order:3;margin-bottom:26px}
  .hero-split .qw{order:4}
  .hero-split .v-chips{order:5;margin-top:28px}
  .hero-split .hero-links{order:6}
}

/* Responsive for new components */
@media (max-width:1060px){
  .ph-grid,.hero-top.hero-split,.split,.contact-grid,.qt-grid{grid-template-columns:1fr}
  .split.flip .split-text{order:0}
  .ph-aside{padding-top:0}
  .ph-main{padding-bottom:28px}
  .ph-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ph-stats div:nth-child(3){padding-left:0;border-left:0}
  .ph-stats div:nth-child(n+3){border-top:1px solid var(--border-default)}
  .sol-grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .why{grid-template-columns:repeat(2,minmax(0,1fr))}
  .steps,.steps.cols-5{grid-template-columns:repeat(2,minmax(0,1fr))}
  .steps li::after{display:none}
  .flow{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:28px}
  .flow li::after{display:none}
  .regions,.reg-cards,.group-links{grid-template-columns:repeat(2,minmax(0,1fr))}
  .foot-years{grid-template-columns:repeat(2,minmax(0,1fr))}
  .qt-side{position:static}
}
@media (max-width:760px){
  .worldmap .map{min-width:760px}
}
@media (max-width:640px){
  .sol-grid.cols-2,.sol-grid.cols-4,.why,.why.cols-2,.steps,.steps.cols-5,.regions,.reg-cards,.group-links,.spec,.foot-years{grid-template-columns:1fr}
  .flow{grid-template-columns:1fr 1fr}
  .qw{padding:18px}
  .qw-fields,.qgrid,.qchecks,.cf form{grid-template-columns:1fr}
  .qw-modes button{font-size:13px;gap:5px;padding:9px 4px}
  .qw-modes button .glyph{display:none}
  .qt{padding:20px}
  .qt-steps li{font-size:0;gap:0}
  .qt-steps li span{font-size:13px}
  .qrow-cont,.qrow-pkg,.qrow-veh{grid-template-columns:1fr 1fr}
  .qrow .row-rm{grid-column:2;justify-self:end;width:44px}
  .qrow-cont label:first-child,.qrow-veh label:first-child{grid-column:1/-1}
  .qt-review dl div{grid-template-columns:1fr;gap:2px}
  .bars li{grid-template-columns:1fr 70px;gap:6px 12px}
  .bars .track{grid-column:1/-1;grid-row:2}
  .timeline::before{left:7px}
  .timeline li{grid-template-columns:24px 1fr}
  .tl-year{grid-column:2;text-align:left;font-size:18px;padding:0 0 6px}
  .tl-dot{grid-column:1;grid-row:1;margin:4px 0 0}
  .tl-card{grid-column:2}
  .ph-stats div{padding-left:0!important;border-left:0!important}
}

/* ===== Europe materials update ===== */
/* Photo hero */
.ph-photo{background:#00204F}
.ph-bg{position:absolute;inset:0;z-index:0;background-position:center;background-size:cover;background-repeat:no-repeat}
.ph-bg::after{content:"";position:absolute;inset:0;background:
  linear-gradient(90deg,rgba(0,32,79,.96) 0%,rgba(0,32,79,.82) 42%,rgba(0,32,79,.35) 100%),
  linear-gradient(0deg,rgba(0,32,79,.96) 0%,rgba(0,32,79,0) 45%)}
.ph-photo .ph-main{padding-bottom:96px}
.ph-photo h1{max-width:15ch}

/* Proof row on the homepage vertical */
.v-proof{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0 0;padding:0}
.v-proof div{display:flex;flex-direction:column;padding:12px 18px;border-radius:12px;background:var(--bg-elevated)}
.v-proof dd{margin:0;order:-1;font:800 22px var(--display);color:#fff;letter-spacing:-.3px}
.v-proof dt{font-size:12.5px;color:var(--text-secondary)}
.v-cta{display:flex;flex-wrap:wrap;gap:12px}
.card-link{color:inherit;text-decoration:none}
.card-link:hover{color:var(--primary-press)}

/* Europe offices map block */
.eu-net{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:40px;align-items:start}
.eumap{width:100%;height:auto;display:block}
.eu-map-wrap{border-radius:18px;overflow:hidden;background:#001E4B;border:1px solid var(--border-subtle);position:relative}
.eo-c{fill:#0B3A7A;stroke:#001E4B;stroke-width:.7}
.eo-est{fill:#1F4E96}
.eo-prep{fill:var(--hatch)}
.eo-pin{fill:#fff;stroke:#001E4B;stroke-width:2}
.eo-hq{fill:var(--amber);stroke:#001E4B;stroke-width:2}
.eo-hq-ring{fill:none;stroke:var(--amber);stroke-width:1.6;opacity:.7}
.eo-ld{fill:none;stroke:#AFC0D9;stroke-width:1}
.eo-lbl{font:600 13px var(--body);fill:#fff;paint-order:stroke;stroke:#001E4B;stroke-width:4px;stroke-linejoin:round}
.eo-lbl-hq{font:800 14px var(--display);fill:#DAE9B3}
.eu-legend{position:absolute;left:14px;bottom:12px;display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12.5px;color:var(--text-secondary);background:rgba(0,30,75,.85);padding:8px 12px;border-radius:10px}
.eu-legend span,.bp-legend span{display:inline-flex;align-items:center;gap:8px}
.sw{display:inline-block;width:14px;height:14px;border-radius:4px;flex-shrink:0}
.sw-est{background:#1F4E96}
.sw-prep{background:repeating-linear-gradient(45deg,#1F4E96 0 2px,#0B3A7A 2px 5px)}
.sw-hq{background:var(--amber);border-radius:50%}
.eu-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 20px;padding:0}
.eu-stats div{display:flex;flex-direction:column;padding:16px 18px;border-radius:12px;background:var(--bg-elevated);border:1px solid var(--border-subtle)}
.eu-stats dd{margin:0;order:-1;font:800 26px var(--display);color:#fff;letter-spacing:-.4px}
.eu-stats dt{font-size:13px;color:var(--text-secondary)}
.eu-offices{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:2px 16px}
.eu-offices li{padding:9px 0;border-bottom:1px solid var(--border-default);display:flex;flex-direction:column}
.eu-offices strong{font:700 14.5px var(--display);color:var(--text-primary)}
.eu-offices span{font-size:13px;color:var(--text-secondary)}
.eu-offices li.hq strong{color:#DAE9B3}
.eu-next{margin-top:16px;font-size:14px;color:var(--text-secondary)}
.eu-next strong{color:#fff}
.tint .eu-stats div{background:#fff;border-color:var(--border-light)}
.tint .eu-stats dd{color:var(--text-light-h)}
.tint .eu-stats dt,.tint .eu-offices span,.tint .eu-next{color:var(--text-light-body)}
.tint .eu-offices li{border-color:var(--border-light)}
.tint .eu-offices strong,.tint .eu-next strong{color:var(--text-light-h)}
.tint .eu-offices li.hq strong{color:var(--primary-press)}
.eu-contact{margin-top:16px;background:#fff;border:1px solid var(--border-light);border-radius:18px;padding:24px}
.eu-contact h3{font-size:18px;margin-bottom:8px}
.eu-contact .eu-offices span{color:var(--text-light-body)}
.eu-contact .eu-offices strong{color:var(--text-light-h)}
.eu-contact .eu-offices li{border-color:var(--border-light)}
.eu-contact .eu-offices li.hq strong{color:var(--primary-press)}
.eu-contact .more{display:inline-block;margin-top:14px}

/* World map: new regions and in preparation hatching */
.r-casia{--rc:#C1DB81}.r-mea{--rc:#34D399}
.ct.prep.r-china{fill:url(#wp-china)}.ct.prep.r-apac{fill:url(#wp-apac)}.ct.prep.r-europe{fill:url(#wp-europe)}.ct.prep.r-casia{fill:url(#wp-casia)}.ct.prep.r-mea{fill:url(#wp-mea)}.ct.prep.r-americas{fill:url(#wp-americas)}
.worldmap[data-region="casia"] .ct.r-casia,.worldmap[data-region="mea"] .ct.r-mea{opacity:1}
.prep-l{font-size:13px!important;color:var(--text-muted)!important;margin-top:8px!important}
.partners{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.partners li{padding:18px 20px;border-radius:var(--r-card);border:1px solid var(--border-light);background:#fff;font:700 15px var(--display);color:var(--text-light-h)}

/* Phased process */
.phases{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.phase{background:#fff;border:1px solid var(--border-light);border-radius:var(--r-panel);padding:18px 18px 8px;position:relative}
.phase::before{content:"";position:absolute;left:18px;right:18px;top:0;height:3px;border-radius:0 0 3px 3px;background:var(--primary)}
.phase-name{font:800 13px var(--display);color:var(--primary-press);margin-bottom:10px;letter-spacing:.2px}
.phase-steps{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.phase-steps li{display:grid;grid-template-columns:30px 1fr;gap:10px;padding-bottom:12px;border-bottom:1px solid #F3F4F6}
.phase-steps li:last-child{border-bottom:0}
.ph-n{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--bg-elevated);color:var(--primary-soft);font:800 12px var(--display)}
.phase-steps h4{font:800 14.5px var(--display);color:var(--text-light-h);margin:4px 0 4px}
.phase-steps p{font-size:13.5px;color:var(--text-light-body);line-height:1.5}
.lead-h{font-size:18px;margin:36px 0 14px}
.lead-times{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.lead-times li{display:flex;gap:16px;align-items:center;padding:18px 20px;border-radius:var(--r-panel);background:var(--bg-elevated);color:var(--text-secondary);font-size:14.5px}
.lead-times strong{font:800 24px var(--display);color:#fff;white-space:nowrap;letter-spacing:-.3px}

/* BESS planner */
.bp-views{display:flex;justify-content:center;gap:4px;margin:0 auto 18px;padding:4px;border-radius:var(--r-pill);background:rgba(255,255,255,.04);border:1px solid var(--border-subtle);width:max-content;max-width:100%}
.bp-views button{border:0;background:transparent;color:var(--text-secondary);font:600 14px var(--body);padding:9px 18px;border-radius:var(--r-pill);cursor:pointer;white-space:nowrap}
.bp-views button:hover{color:#fff}
.bp-views button[aria-pressed="true"]{background:var(--primary);color:#fff;box-shadow:var(--btn-shadow)}
.bp-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:28px;align-items:start}
.bp-map{border-radius:18px;overflow:hidden;background:#001E4B;border:1px solid var(--border-subtle)}
.bp-map .map-scroll{position:relative}
.ec{fill:#0B3A7A;stroke:#001E4B;stroke-width:.8;transition:fill .3s ease}
.ec.has{cursor:pointer;outline:none}
.ec.has:hover,.ec.has:focus-visible,.ec.sel{stroke:#fff;stroke-width:1.6}
.bp-grid[data-view="track"] .ec[data-bess="2"]{fill:#4C8DCB}
.bp-grid[data-view="track"] .ec[data-bess="1"]{fill:var(--hatch)}
.bp-grid[data-view="permit"] .ec[data-pb="1"],.bp-grid[data-view="weight"] .ec[data-wb="1"]{fill:#4F8FD0}
.bp-grid[data-view="permit"] .ec[data-pb="2"],.bp-grid[data-view="weight"] .ec[data-wb="2"]{fill:#6FA3D6}
.bp-grid[data-view="permit"] .ec[data-pb="3"],.bp-grid[data-view="weight"] .ec[data-wb="3"]{fill:#C2D9F0}
.bp-grid[data-view="permit"] .ec[data-pb="4"],.bp-grid[data-view="weight"] .ec[data-wb="4"]{fill:#EFF5FB}
.bp-port{fill:#fff;stroke:#001E4B;stroke-width:2;transition:opacity .3s}
.bp-grid:not([data-view="track"]) .bp-ports{opacity:0;pointer-events:none}
.bp-legend{display:none;flex-direction:column;gap:9px;font-size:14px;color:var(--text-secondary);padding:18px 20px;border-radius:var(--r-panel);background:var(--bg-elevated);border:1px solid var(--border-subtle)}
.bp-grid[data-view="track"] .bp-legend[data-for="track"],.bp-grid[data-view="permit"] .bp-legend[data-for="permit"],.bp-grid[data-view="weight"] .bp-legend[data-for="weight"]{display:flex}
.bp-lt{font:700 13px var(--display);color:#fff;margin-bottom:4px}
.sw-del{background:#4C8DCB}
.sw-sur{background:repeating-linear-gradient(45deg,#4C8DCB 0 2px,#0B3A7A 2px 5px)}
.sw-port{background:#fff;border-radius:50%;width:10px;height:10px;margin:0 2px;box-shadow:0 0 0 2px #001E4B}
.sw-r1{background:#4F8FD0}.sw-r2{background:#6FA3D6}.sw-r3{background:#C2D9F0}.sw-r4{background:#EFF5FB}.sw-nd{background:#0B3A7A;border:1px solid var(--border-subtle)}
.bp-side{display:grid;gap:14px}
.bp-detail{padding:20px;border-radius:var(--r-panel);border:1px solid rgba(76,141,203,.35);background:rgba(76,141,203,.08);min-height:120px}
.bp-empty{color:var(--text-secondary);font-size:14.5px}
.bp-detail h3{font-size:20px;color:#fff;margin-bottom:10px}
.bp-detail dl{margin:0;display:grid;gap:10px}
.bp-detail dl div{display:grid;grid-template-columns:120px 1fr;gap:10px;font-size:14px}
.bp-detail dt{color:var(--text-secondary)}
.bp-detail dd{margin:0;color:#fff;font-weight:600}
.bp-ports-wrap{display:none;padding:18px 20px;border-radius:var(--r-panel);background:var(--bg-elevated);border:1px solid var(--border-subtle)}
.bp-grid[data-view="track"] .bp-ports-wrap{display:block}
.bp-ports-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:6px 14px;font-size:13px}
.bp-ports-list strong{display:block;color:#fff;font-weight:700}
.bp-ports-list span{color:var(--text-secondary)}
.bp-note{font-size:13px;color:var(--text-muted);margin-top:18px}
.bp-details{margin-top:14px;border:1px solid var(--border-subtle);border-radius:var(--r-panel);background:#fff;overflow:hidden}
.bp-details summary{cursor:pointer;padding:14px 20px;font-weight:600;color:var(--text-light-h);background:var(--bg-light)}
.bp-details .compare-table{font-size:14px}
.bp-details .compare-table th,.bp-details .compare-table td{padding:10px 16px}
.bp-table tbody th{font-size:15px!important;color:var(--text-light-h)!important}

/* Gallery */
.gallery{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:220px;gap:12px}
.gallery li{position:relative;border-radius:14px;overflow:hidden;background:var(--bg-elevated)}
.gallery figure{margin:0;height:100%}
.gallery img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.gallery li:hover img{transform:scale(1.04)}
.gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:28px 14px 12px;font:700 14px var(--display);color:#fff;background:linear-gradient(0deg,rgba(0,32,79,.85),rgba(0,32,79,0))}
.g-big{grid-column:span 2;grid-row:span 2}
.g-tall{grid-row:span 2}
.g-wide{grid-column:span 2}

/* SOP */
.setup-l{font:800 14px var(--display);margin:24px 0 10px;color:var(--text-light-h)}
.setup{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px;counter-reset:su}
.setup li{counter-increment:su;font-size:13.5px;font-weight:600;padding:7px 12px 7px 8px;border-radius:var(--r-pill);background:#fff;border:1px solid var(--border-light);display:inline-flex;align-items:center;gap:8px}
.setup li::before{content:counter(su);display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--primary-light);color:var(--primary-press);font:800 11px var(--display)}
.sop{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.sop li{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:10px;background:rgba(255,255,255,.04);border:1px solid var(--border-subtle);font:700 14px var(--display);color:#fff}
.sop span{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:rgba(76,141,203,.2);color:var(--primary-soft);font-size:12px;flex-shrink:0}

/* Next steps band */
.next-steps{list-style:none;margin:36px auto 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:920px;text-align:left}
.next-steps li{padding:22px;border-radius:var(--r-panel);background:rgba(255,255,255,.04);border:1px solid var(--border-subtle)}
.next-steps li span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--primary);color:#fff;font:800 14px var(--display);margin-bottom:12px;box-shadow:var(--btn-shadow)}
.next-steps strong{display:block;font:800 17px var(--display);color:#fff}
.next-steps p{color:var(--text-secondary);font-size:14.5px;margin-top:4px}

@media (max-width:1060px){
  .eu-net,.bp-grid{grid-template-columns:1fr}
  .phases{grid-template-columns:1fr 1fr}
  .gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:200px}
  .partners{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  .bp-map .eumap{min-width:640px}
  .bp-map .map-scroll{overflow-x:auto}
}
@media (max-width:640px){
  .phases,.lead-times,.next-steps,.partners,.eu-offices,.sop,.bp-ports-list{grid-template-columns:1fr}
  .lead-times li{flex-direction:column;align-items:flex-start;gap:4px}
  .gallery{grid-auto-rows:170px}
  .g-big{grid-column:span 2;grid-row:span 1}
  .g-wide{grid-column:span 2}
  .g-tall{grid-row:span 1}
  .bp-views{width:100%;justify-content:space-between}
  .bp-views button{flex:1;padding:9px 4px;font-size:12.5px;white-space:normal;line-height:1.2}
  .eu-legend{position:static;border-radius:0}
  .ph-bg::after{background:linear-gradient(0deg,rgba(0,32,79,.97) 30%,rgba(0,32,79,.6) 100%)}
}

/* ===== Automotive page ===== */
.brands{padding:72px 0}
.brand-wall{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:12px;max-width:980px;margin:0 auto}
.brand-wall li{font:800 17px var(--display);letter-spacing:-.2px;color:var(--text-light-h);background:#fff;border:1px solid var(--border-light);border-radius:12px;padding:14px 22px;min-width:120px;text-align:center}
.cm-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:28px;align-items:start}
.cm-map{position:relative}
.cm-svg .eo-c{fill:#0C326A}
.cm-svg .cm-has{fill:#24487D}
.cm-b{cursor:pointer;outline:none}
.cm-b circle{fill:rgba(76,141,203,.55);stroke:#94BBE0;stroke-width:1.5;transition:fill .2s}
.cm-b.dev circle{fill:transparent;stroke-dasharray:3 2}
.cm-b:hover circle,.cm-b:focus-visible circle,.cm-b.on circle{fill:var(--amber);stroke:#fff}
.cm-rail{fill:none;stroke:var(--amber);stroke-width:2;stroke-dasharray:5 4;opacity:.9}
.cm-rail-end{fill:var(--amber);stroke:#001E4B;stroke-width:1.5}
.cm-rl{font-size:11.5px}
.sw-rail{width:22px;height:0;border-top:2px dashed var(--amber);border-radius:0}
.cm-list{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.cm-list li{display:grid;grid-template-columns:14px 1fr auto;gap:12px;align-items:center;padding:9px 12px;border-radius:10px;cursor:default;transition:background .15s}
.cm-list li.on,.cm-list li:hover{background:rgba(76,141,203,.14)}
.cm-dot{width:12px;height:12px;border-radius:50%;background:rgba(76,141,203,.7);border:1.5px solid #94BBE0}
.cm-dot.dev{background:transparent;border-style:dashed}
.cm-list strong{display:block;font:700 14.5px var(--display);color:#fff}
.cm-list div span{font-size:12.5px;color:var(--text-secondary)}
.cm-list b{font:800 14px var(--display);color:var(--primary-soft)}
.cm-railnote{margin-top:14px;padding:14px 16px;border-radius:12px;border:1px dashed rgba(193,219,129,.5);font-size:14px;color:var(--text-secondary)}
.cm-railnote strong{color:#DAE9B3}
.flow-6{grid-template-columns:repeat(6,minmax(0,1fr))}
.fleet{list-style:none;margin:44px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.fleet li{padding:20px;border-radius:var(--r-panel);background:var(--bg-elevated);display:flex;flex-direction:column;gap:4px}
.fleet strong{font:800 28px var(--display);color:#fff;letter-spacing:-.4px}
.fleet span{font-size:14px;color:var(--text-secondary)}
.cargo-l{font:800 14px var(--display);margin:32px 0 12px;color:var(--text-light-h)}
.photo-card{margin:0 0 14px;border-radius:14px;overflow:hidden;position:relative}
.photo-card img{width:100%;height:auto;display:block}
.photo-card figcaption{position:absolute;left:0;right:0;bottom:0;padding:24px 14px 10px;font:700 13.5px var(--display);color:#fff;background:linear-gradient(0deg,rgba(0,32,79,.85),rgba(0,32,79,0))}
.split-panel .photo-card:last-child{margin-bottom:0}
.photo-strip{list-style:none;margin:20px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.photo-strip li{border-radius:12px;overflow:hidden;aspect-ratio:4/3}
.photo-strip img{width:100%;height:100%;object-fit:cover;display:block}
.cases{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:20px}
.cases li{border:1px solid var(--border-light);border-radius:var(--r-panel);overflow:hidden;background:#fff;display:flex;flex-direction:column}
.cases figure{margin:0;aspect-ratio:16/9;overflow:hidden;background:var(--bg-elevated)}
.cases img{width:100%;height:100%;object-fit:cover;display:block}
.case-b{padding:20px 22px 22px}
.case-tag{display:inline-block;font-size:12px;font-weight:700;color:var(--primary-press);background:var(--primary-light);padding:3px 10px;border-radius:var(--r-pill);margin-bottom:10px}
.case-b h3{font-size:20px}
.case-where{font-size:13.5px;font-weight:600;color:var(--text-light-body);margin:2px 0 8px}
.case-b p:last-child{color:var(--text-light-body);font-size:15px}
.team{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.team li{display:flex;gap:14px;align-items:center;padding:18px;border-radius:var(--r-panel);background:#fff;border:1px solid var(--border-light)}
.ini{flex-shrink:0;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--bg-elevated);color:var(--primary-soft);font:800 15px var(--display)}
.team strong{display:block;font:800 15.5px var(--display);color:var(--text-light-h)}
.team span{font-size:13.5px;color:var(--text-light-body)}
@media (max-width:1060px){
  .cm-grid{grid-template-columns:1fr}
  .flow-6{grid-template-columns:repeat(3,minmax(0,1fr))}
  .fleet,.team{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){.cm-map .eumap{min-width:560px}}
@media (max-width:640px){
  .flow-6{grid-template-columns:1fr 1fr}
  .cases,.fleet,.team{grid-template-columns:1fr}
  .photo-strip{grid-template-columns:1fr 1fr}
  .brand-wall li{min-width:0;padding:10px 14px;font-size:15px}
}
.cm-legend{position:static;margin-top:12px;background:transparent;padding:0}
.cm-list li{padding:7px 12px}
.cm-col,.cm-side{min-width:0}

.dark-bars .lbl-r{color:var(--text-primary)}.dark-bars b{color:#fff}.dark-bars .track{background:rgba(255,255,255,.08)}

/* ---------------------------------------------------------------
   CTS corporate palette (VIS v1.0): Pantone 287C #003685 main, 7688C #4C8DCB, 663C #E6E6E6, 365C #C1DB81
   --------------------------------------------------------------- */
:root{--map-sea:#82AFDB;--btn-shadow:0 4px 20px rgba(0,54,133,.28);--text-light-body:#5B6270}
/* Buttons: logo blue with white text on light areas; white with logo blue text on dark areas */
.btn-primary{background:var(--primary-press);color:#fff}
.btn-primary:hover{background:#002A6B}
.btn-primary:active{background:#00214F}
:is(.site-header,.hero,.ph,.cta-band,.qw,.track,.site-footer,.lp-route) .btn-primary{background:#fff;color:var(--primary-press);box-shadow:0 4px 22px rgba(0,0,0,.28)}
:is(.site-header,.hero,.ph,.cta-band,.qw,.track,.site-footer,.lp-route) .btn-primary:hover{background:var(--primary-light);color:#002A6B}
/* Route map: ocean light blue, rail 365C green, air pale blue dotted */
.r-sea,.k-sea{stroke:var(--map-sea)}
.mv-sea{fill:var(--map-sea)}
.ico .w{stroke:var(--primary)}
/* Regions on the global network map */
.r-china{--rc:#4C8DCB}.r-apac{--rc:#A9CBEA}.r-europe{--rc:#C1DB81}.r-casia{--rc:#E6E6E6}.r-mea{--rc:#5BB5C4}.r-americas{--rc:#F0C987}
/* Contrast fixes */
.team .ini{color:var(--primary-soft);font-size:15px}
.qw-modes button[aria-pressed="true"]{background:#fff;color:var(--primary-press);box-shadow:0 4px 18px rgba(0,0,0,.25)}
.seg button[aria-pressed="true"],.bp-views button[aria-pressed="true"]{background:#fff;color:var(--primary-press)}
/* BESS map bins, light to dark */
.ec[data-pb="1"],.bp-grid[data-view="weight"] .ec[data-wb="1"],.sw-r1{fill:#2F6DB5;background:#2F6DB5}
.ec[data-pb="2"],.bp-grid[data-view="weight"] .ec[data-wb="2"],.sw-r2{fill:#4C8DCB;background:#4C8DCB}
.ec[data-pb="3"],.bp-grid[data-view="weight"] .ec[data-wb="3"],.sw-r3{fill:#94BBE0;background:#94BBE0}
.ec[data-pb="4"],.bp-grid[data-view="weight"] .ec[data-wb="4"],.sw-r4{fill:#E4EEF7;background:#E4EEF7}
