
:root{--ec-blue:#3150A0;--ec-blue-deep:#243E80;--ec-blue-light:#AFC0FF;--ec-orange:#FFA903;--ec-ink:#071014;--ec-paper:#FAF8F3;--ec-white:#fff;--ec-muted:#66747A;--ec-line:rgba(7,16,20,.12);--ec-line-dark:rgba(255,255,255,.13);--ease:cubic-bezier(.2,.75,.2,1);--font-ui:"Manrope","Segoe UI",Arial,sans-serif}
html{scroll-behavior:smooth}body{font-family:var(--font-ui)!important;font-optical-sizing:auto;font-kerning:normal;text-rendering:optimizeLegibility}button,input,select,textarea{font:inherit}h1,h2,h3,h4,.hero-title{font-family:var(--font-ui)!important;font-weight:800!important;letter-spacing:-.045em}.eyebrow,.kicker{font-family:var(--font-ui)!important;font-weight:700!important;letter-spacing:.14em!important}
.site-header{position:fixed;z-index:1000;top:0;left:0;right:0;min-height:74px;padding:12px clamp(20px,3vw,52px);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px;color:#fff;background:linear-gradient(180deg,rgba(5,9,11,.80),rgba(5,9,11,.42));backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.08);transition:transform .38s var(--ease),background .25s ease,box-shadow .25s ease}.site-header.scrolled{background:rgba(5,9,11,.94);box-shadow:0 12px 35px rgba(0,0,0,.18)}.site-header.header-hidden{transform:translateY(-110%)}.site-logo-link{
  justify-self:start;
  display:inline-block;
  width:max-content;
  height:auto;
  margin:0;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  outline-offset:6px;
  line-height:0;
}
.site-logo-link::before,.site-logo-link::after{display:none!important;content:none!important}
.site-logo-link img{
  display:block;
  width:150px;
  height:auto;
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
}.site-main-nav{justify-self:center;display:flex;align-items:center;gap:clamp(20px,2.2vw,38px)}.site-main-nav>a,.site-nav-service>a{position:relative;color:#fff!important;text-decoration:none;text-transform:uppercase;font-size:11px;font-weight:800;letter-spacing:.10em;opacity:.82;padding:18px 0;transition:opacity .18s ease}.site-main-nav>a:hover,.site-nav-service>a:hover,.site-main-nav>a.active,.site-nav-service>a.active{opacity:1}.site-main-nav>a.active::after,.site-nav-service>a.active::after{content:"";position:absolute;left:0;right:0;bottom:9px;height:2px;background:var(--ec-orange)}
.site-nav-service{position:relative}.site-nav-service::after{content:"";position:absolute;left:-22px;right:-22px;top:100%;height:22px}.site-services-menu{position:absolute;top:calc(100% + 6px);left:50%;width:330px;padding:10px;border:1px solid rgba(255,255,255,.14);background:rgba(7,16,20,.98);box-shadow:0 24px 60px rgba(0,0,0,.30);border-radius:14px;transform:translate(-50%,8px) scale(.985);transform-origin:top center;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease,transform .22s var(--ease),visibility .18s}.site-services-menu::before{content:"";position:absolute;left:0;right:0;top:-16px;height:16px}.site-nav-service:hover .site-services-menu,.site-nav-service:focus-within .site-services-menu,.site-nav-service.menu-open .site-services-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0) scale(1)}.site-services-menu a{display:flex;justify-content:space-between;gap:16px;padding:13px 14px;border-radius:10px;color:#fff!important;text-decoration:none;font-size:13px;font-weight:650;transition:background .18s ease,padding-left .18s ease}.site-services-menu a:hover,.site-services-menu a:focus-visible{background:rgba(175,192,255,.13);padding-left:18px}
.site-actions{display:flex;align-items:center;gap:10px}.site-header .pill,.site-quick-dock a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border-radius:999px;border:1px solid rgba(255,255,255,.48);background:transparent;color:#fff!important;text-decoration:none;text-transform:uppercase;font-size:10px;font-weight:800;letter-spacing:.10em;transition:transform .18s ease,background .18s ease,border-color .18s ease}.site-header .pill:hover{transform:translateY(-2px)}.site-header .pill.primary{background:var(--ec-blue);border-color:var(--ec-blue)}.site-menu-btn{display:none;min-width:48px;height:44px;padding:0 14px;border-radius:999px;border:1px solid rgba(255,255,255,.42);background:transparent;color:#fff;text-transform:uppercase;font-weight:800;font-size:10px;letter-spacing:.1em}
.site-mobile-menu{position:fixed;z-index:990;inset:0;padding:100px 24px 34px;background:rgba(5,9,11,.985);display:flex;flex-direction:column;gap:4px;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-10px);transition:opacity .22s ease,transform .28s var(--ease),visibility .22s}.site-mobile-menu.open{opacity:1;visibility:visible;pointer-events:auto;transform:none}.site-mobile-menu a{color:#fff!important;text-decoration:none;font-size:clamp(24px,8vw,38px);font-weight:750;letter-spacing:-.035em;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.09)}.site-mobile-menu .mobile-secondary{font-size:14px;color:#B9C5CA!important}.site-mobile-menu .mobile-primary{color:var(--ec-blue-light)!important}
.section{padding-top:clamp(64px,7vw,104px)!important;padding-bottom:clamp(64px,7vw,104px)!important}.pill,.link-arrow,.home-text-link,.final-cta-primary,.final-cta-link{font-family:var(--font-ui)!important}.pill{transition:transform .18s ease,background .18s ease,border-color .18s ease,color .18s ease!important}.pill:hover{transform:translateY(-2px)}.pill:active{transform:translateY(0) scale(.985)}.pill.primary{background:var(--ec-blue)!important;border-color:var(--ec-blue)!important;color:#fff!important}
.site-footer{background:#05090B;color:#fff;padding:clamp(54px,6vw,88px) clamp(20px,4vw,72px) 26px;display:grid;grid-template-columns:minmax(260px,1.15fr) minmax(0,2fr);gap:clamp(42px,7vw,120px);border-top:1px solid rgba(255,255,255,.10)}.site-footer-brand img{width:170px;height:auto;margin-bottom:20px}.site-footer-brand p{max-width:420px;color:#AFC0C7;line-height:1.65}.site-footer-contact{display:grid;gap:6px;margin-top:20px}.site-footer a{color:#fff;text-decoration:none}.site-footer-contact a{color:#D7E0E4}.site-footer-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}.site-footer-links h4{margin:0 0 15px;color:#819097;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.site-footer-links a{display:block;margin:9px 0;color:#D9E1E4;font-size:13px}.site-footer-links a:hover{color:var(--ec-blue-light)}.site-footer-bottom{grid-column:1/-1;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:22px;border-top:1px solid rgba(255,255,255,.09);color:#7F8D93;font-size:11px}.site-quick-dock{display:none}
.motion-ready [data-motion]{opacity:0;transition:opacity .7s var(--ease),transform .7s var(--ease),clip-path .8s var(--ease)}.motion-ready [data-motion="heading"]{transform:translateY(26px)}.motion-ready [data-motion="left"]{transform:translateX(-30px)}.motion-ready [data-motion="right"]{transform:translateX(30px)}.motion-ready [data-motion="scale"]{transform:scale(.975)}.motion-ready [data-motion="wipe"]{clip-path:inset(0 0 12% 0);transform:translateY(10px)}.motion-ready [data-motion].in-view{opacity:1;transform:none;clip-path:inset(0 0 0 0)}.motion-ready .eyebrow::before,.motion-ready .kicker::before{transform:scaleX(0);transform-origin:left;transition:transform .65s var(--ease)}.motion-ready .in-view .eyebrow::before,.motion-ready .in-view.eyebrow::before,.motion-ready .in-view .kicker::before,.motion-ready .in-view.kicker::before{transform:scaleX(1)}.service-hover-image img{transform:scale(1.035) translate3d(var(--img-x,0),var(--img-y,0),0)!important;transition:transform .35s var(--ease),filter .25s ease!important}
.case-studies{padding:clamp(68px,8vw,118px) clamp(20px,4vw,72px);background:var(--ec-paper);color:var(--ec-ink)}.case-studies-head{display:grid;grid-template-columns:1.15fr .75fr;gap:50px;align-items:end;max-width:1480px;margin:0 auto 44px}.case-studies-head h2{margin:10px 0 0;font-size:clamp(44px,5.4vw,84px);line-height:.9;text-transform:uppercase}.case-studies-head p{margin:0;color:#4F5E64;line-height:1.65;max-width:520px}.case-study-grid{max-width:1480px;margin:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.case-study{border:1px solid var(--ec-line);background:#fff;overflow:hidden;transition:transform .25s var(--ease),box-shadow .25s ease,border-color .25s ease}.case-study:hover{transform:translateY(-5px);box-shadow:0 18px 50px rgba(7,16,20,.08);border-color:rgba(49,80,160,.28)}.case-study-media{aspect-ratio:16/10;overflow:hidden;background:#DDE2E4}.case-study-media img{width:100%;height:100%;object-fit:cover;transition:transform .55s var(--ease)}.case-study:hover .case-study-media img{transform:scale(1.035)}.case-study-body{padding:24px}.case-study-label{display:flex;justify-content:space-between;gap:12px;color:#65737A;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.case-study h3{font-size:clamp(25px,2vw,34px);line-height:1;margin:15px 0 18px;text-transform:uppercase}.case-study dl{margin:0;display:grid;gap:13px}.case-study dl div{padding-top:12px;border-top:1px solid var(--ec-line)}.case-study dt{font-size:9px;color:#718087;text-transform:uppercase;font-weight:800;letter-spacing:.12em;margin-bottom:4px}.case-study dd{margin:0;font-size:13px;line-height:1.5;color:#334147}.case-study-link{display:inline-flex;margin-top:20px;color:var(--ec-blue)!important;font-weight:800;font-size:12px;text-decoration:none}
p,li,input,select,textarea{letter-spacing:-.006em}.stat strong,.network-stats strong{font-variant-numeric:tabular-nums lining-nums}
@media(max-width:1050px){.site-main-nav{gap:20px}.site-main-nav>a,.site-nav-service>a{font-size:10px}.site-logo-link img{width:138px}.site-footer{grid-template-columns:1fr}.site-footer-links{grid-template-columns:repeat(2,minmax(0,1fr))}.case-study-grid{grid-template-columns:1fr 1fr}.case-studies-head{grid-template-columns:1fr}}
@media(max-width:820px){.site-header{grid-template-columns:auto 1fr auto;padding:10px 16px}.site-main-nav{display:none}.site-actions>.pill{display:none}.site-menu-btn{display:inline-flex;align-items:center;justify-content:center}.site-logo-link img{width:142px}.site-footer-links{grid-template-columns:1fr 1fr}.site-quick-dock{position:fixed;z-index:850;left:8px;right:8px;bottom:8px;display:grid;grid-template-columns:1fr 1.25fr 1fr;border:1px solid rgba(255,255,255,.13);background:rgba(5,9,11,.94);backdrop-filter:blur(12px);border-radius:18px;padding:5px}.site-quick-dock a{min-height:42px;border:0;padding:0 8px}.site-quick-dock a.primary{background:var(--ec-blue)}body{padding-bottom:64px}.case-study-grid{grid-template-columns:1fr}}
@media(max-width:560px){.site-footer-links{grid-template-columns:1fr}.site-footer-bottom{display:grid}.case-studies{padding-left:16px;padding-right:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.motion-ready [data-motion]{opacity:1!important;transform:none!important;clip-path:none!important;transition:none!important}.service-hover-image img{transform:none!important;transition:none!important}.site-header{transition:background .2s ease,box-shadow .2s ease}}


/* ============================================================
   V47.1 IMAGE ALIGNMENT SYSTEM
   ============================================================ */

/* Every split layout starts from the same top baseline. */
.split{
  align-items:start!important;
}
.split > .media-card,
.split > .text-stack{
  align-self:start!important;
}

/* Media cards use a ratio instead of an arbitrary 560px minimum height.
   This keeps the image top edge aligned with adjacent copy and avoids
   different service pages appearing to have different image heights. */
.media-card{
  width:100%;
  min-height:0!important;
  aspect-ratio:3/2;
  overflow:hidden;
}
.media-card img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center;
}

/* Intrinsic-image categories assigned in the HTML during this release. */
.media-card.media-card--wide{aspect-ratio:16/9}
.media-card.media-card--square{aspect-ratio:1/1}
.media-card.media-card--portrait{aspect-ratio:4/5}

/* Service-detail imagery is deliberately standardised at 3:2.
   Expedited, Standard, Full Truckload and Flatbed therefore align identically. */
body[data-service-key] .split{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(34px,5vw,76px);
}
body[data-service-key] .split > .media-card{
  aspect-ratio:3/2!important;
}
body[data-service-key] .split > .text-stack{
  padding-top:0!important;
}

/* Keep the visual subject centred unless a page opts into another object-position. */
body[data-service-key="expedited"] .media-card img{
  object-position:50% 50%!important;
}
body[data-service-key="standard"] .media-card img,
body[data-service-key="ftl"] .media-card img,
body[data-service-key="flatbed"] .media-card img{
  object-position:center center!important;
}

/* Hero imagery follows one consistent crop system too. */
.page-hero .media{
  background-position:center center!important;
}
body[data-service-key="expedited"] .page-hero .media{
  background-position:50% 50%!important;
}

/* Mobile: image becomes a natural block above copy, no arbitrary tall crop. */
@media(max-width:820px){
  .split{
    align-items:start!important;
  }
  .split > .media-card{
    width:100%;
    aspect-ratio:3/2;
  }
  .media-card.media-card--portrait{
    aspect-ratio:4/5;
  }
  .media-card.media-card--square{
    aspect-ratio:1/1;
  }
}


/* ============================================================
   V47.2 SERVICES GUIDE CARD ALIGNMENT
   ============================================================ */

/*
  The previous cards used flex + justify-content:space-between.
  Because descriptions have different line counts, the middle title was
  pushed to a different vertical position in each card. Use fixed semantic
  rows instead so labels, titles and descriptions all share the same baseline.
*/
.service-guide-grid{
  align-items:stretch;
}
.service-guide-grid a{
  min-height:210px;
  display:grid!important;
  grid-template-rows:22px 58px minmax(44px,1fr);
  align-content:start;
  align-items:start;
  justify-content:stretch!important;
  row-gap:10px;
}
.service-guide-grid a > span,
.service-guide-grid a > strong,
.service-guide-grid a > small{
  display:block;
  margin:0!important;
  align-self:start;
}
.service-guide-grid a > span{
  min-height:22px;
  line-height:1.35;
}
.service-guide-grid a > strong{
  min-height:58px;
  line-height:1.08!important;
}
.service-guide-grid a > small{
  line-height:1.5;
}

@media(max-width:620px){
  .service-guide-grid a{
    min-height:0!important;
    grid-template-rows:auto auto auto;
    row-gap:12px;
  }
  .service-guide-grid a > strong{
    min-height:0;
  }
}


/* ============================================================
   V48 FLEET PRODUCTION REDESIGN
   ============================================================ */
.hero-title{margin:24px 0 0!important}

.fleet-hero{
  min-height:clamp(660px,82vh,860px);
  display:grid;
  grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);
  background:#071014;
  color:#fff;
  padding-top:74px;
}
.fleet-hero-copy{
  display:flex;flex-direction:column;justify-content:center;
  padding:clamp(56px,7vw,110px) clamp(24px,5vw,84px);
}
.fleet-hero-copy .eyebrow{color:#AFC0C7}
.fleet-hero-copy h1{
  margin:18px 0 26px;
  font-size:clamp(58px,6.7vw,112px);
  line-height:.84;
  text-transform:uppercase;
  color:#fff;
}
.fleet-hero-copy>p{max-width:620px;color:#C2CED3;font-size:clamp(16px,1.2vw,19px);line-height:1.65}
.fleet-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}
.fleet-hero-actions .pill:not(.primary){color:#fff!important;border-color:rgba(255,255,255,.5)}
.fleet-hero-media{position:relative;min-height:560px;overflow:hidden;background:#111B20}
.fleet-hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,16,20,.35),transparent 34%),linear-gradient(0deg,rgba(7,16,20,.2),transparent 35%);pointer-events:none}
.fleet-hero-media img{width:100%;height:100%;object-fit:cover;object-position:center center;display:block}

.fleet-capabilities{padding:clamp(70px,8vw,120px) clamp(20px,4vw,72px);background:#F7F4ED;color:#071014}
.fleet-capabilities-head{max-width:1480px;margin:0 auto 42px;display:grid;grid-template-columns:1.15fr .75fr;gap:50px;align-items:end}
.fleet-capabilities-head h2{margin:12px 0 0;font-size:clamp(44px,5.2vw,82px);line-height:.9;text-transform:uppercase}
.fleet-capabilities-head>p{margin:0;max-width:520px;color:#526168;line-height:1.65}
.fleet-capability-grid{max-width:1480px;margin:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid rgba(7,16,20,.13);border-left:1px solid rgba(7,16,20,.13)}
.fleet-capability{min-height:255px;padding:28px;border-right:1px solid rgba(7,16,20,.13);border-bottom:1px solid rgba(7,16,20,.13);background:rgba(255,255,255,.3);transition:background .24s ease,transform .24s var(--ease)}
.fleet-capability:hover{background:#fff;transform:translateY(-3px)}
.fleet-capability>span{display:block;color:#3150A0;font-size:10px;font-weight:800;letter-spacing:.14em}
.fleet-capability h3{margin:42px 0 13px;font-size:clamp(22px,2vw,31px);line-height:1;text-transform:uppercase}
.fleet-capability p{margin:0;color:#536167;line-height:1.55;font-size:14px}
.fleet-capability a{display:inline-block;margin-top:18px;color:#3150A0!important;font-size:12px;font-weight:800;text-decoration:none}
.fleet-capability-wide{grid-column:span 3;min-height:190px;display:grid;grid-template-columns:70px minmax(220px,.65fr) minmax(0,1fr);gap:26px;align-items:center}
.fleet-capability-wide h3{margin:0}
.fleet-readiness .text-stack h2{margin:10px 0 18px;font-size:clamp(42px,4.6vw,72px);line-height:.9;text-transform:uppercase}

.legacy-service-note{padding:22px clamp(20px,4vw,72px);display:flex;align-items:center;gap:18px;flex-wrap:wrap;background:#FFF5DA;color:#2D2411;border-bottom:1px solid rgba(45,36,17,.12)}
.legacy-service-note strong{font-size:11px;text-transform:uppercase;letter-spacing:.12em}
.legacy-service-note p{margin:0;flex:1 1 520px;font-size:13px;line-height:1.5}
.legacy-service-note a{color:#3150A0!important;font-weight:800;text-decoration:none;font-size:12px}

@media(max-width:980px){
  .fleet-hero{grid-template-columns:1fr;min-height:0}
  .fleet-hero-copy{min-height:560px}
  .fleet-hero-media{min-height:50vh}
  .fleet-capabilities-head{grid-template-columns:1fr}
  .fleet-capability-grid{grid-template-columns:1fr 1fr}
  .fleet-capability-wide{grid-column:span 2;grid-template-columns:55px 1fr;align-items:start}
  .fleet-capability-wide p{grid-column:2}
}
@media(max-width:620px){
  .fleet-hero{padding-top:64px}
  .fleet-hero-copy{min-height:500px;padding:58px 18px}
  .fleet-hero-media{min-height:360px}
  .fleet-capability-grid{grid-template-columns:1fr}
  .fleet-capability-wide{grid-column:auto;display:block;min-height:255px}
  .fleet-capability-wide h3{margin:42px 0 13px}
}


/* V49.1 accessibility and final interaction polish */
.site-skip{position:fixed;z-index:5000;top:10px;left:12px;transform:translateY(-150%);padding:11px 15px;border-radius:8px;background:#fff;color:#071014!important;font:700 13px/1 var(--font-ui);box-shadow:0 8px 24px rgba(0,0,0,.24);transition:transform .18s ease}
.site-skip:focus{transform:none}
:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid #FFA903!important;outline-offset:3px!important}
main:focus{outline:none!important}
body.menu-open{overflow:hidden}
.site-menu-btn{min-width:56px}
.site-services-menu a,.site-mobile-menu a{min-height:44px}
.form-message.error{color:#FFCDC5}
[aria-invalid="true"]{outline:2px solid #C93C2B!important;outline-offset:2px}
.video-journey-media{position:relative}
.video-motion-toggle{position:absolute;right:14px;bottom:14px;z-index:4;min-height:44px;padding:0 15px;border:1px solid rgba(255,255,255,.45);border-radius:999px;background:rgba(5,9,11,.78);color:#fff;backdrop-filter:blur(9px);font:800 10px/1 var(--font-ui);letter-spacing:.09em;text-transform:uppercase;cursor:pointer}
.video-motion-toggle:hover{background:rgba(5,9,11,.96)}
@media(max-width:620px){.video-motion-toggle{right:10px;bottom:10px}}
@media(prefers-reduced-motion:reduce){.video-motion-toggle{display:none!important}}


/* ============================================================
   V49.2 NETWORK MAP COMPOSITION
   Fixes excessive dead space and the right-shifted map on wide screens.
   ============================================================ */
.network-section .network-planner-flow,
.network-section .network-map-shell,
.network-section .network-country-strip{
  width:min(100%,1320px);
  margin-left:auto;
  margin-right:auto;
}

.network-section .network-planner-flow{
  grid-template-columns:minmax(300px,.78fr) minmax(540px,1.22fr);
  gap:clamp(34px,4vw,70px);
}

.network-section .network-planner-right{
  width:100%;
}

.network-section .network-planner-right>.operational-panel{
  padding:22px!important;
}

/* The old map was still composed for text overlay on the left.
   The planner now lives above the map, so the map should occupy the frame itself. */
.network-section .network-map-shell{
  min-height:0!important;
  height:auto;
  aspect-ratio:2 / 1;
  max-height:680px;
  background:
    radial-gradient(circle at 50% 52%,#15323f 0,#0a1a22 42%,#050a0d 82%)!important;
}

.network-section .network-map-shell>.vector-network-map{
  background:
    radial-gradient(circle at 50% 52%,rgba(28,74,93,.46) 0,rgba(8,21,28,.70) 46%,rgba(5,9,12,.98) 88%)!important;
}

/* Replace the historic dark-left overlay with a balanced edge vignette. */
.network-section .network-map-shell .vector-network-map:after{
  background:
    radial-gradient(ellipse at 50% 52%,transparent 38%,rgba(5,8,9,.12) 68%,rgba(5,8,9,.54) 100%),
    linear-gradient(0deg,rgba(5,8,9,.42) 0,transparent 22%,transparent 82%,rgba(5,8,9,.22) 100%)!important;
}

/* Centre and enlarge the SVG. */
.network-section .network-map-shell .regional-map-svg{
  left:50%!important;
  right:auto!important;
  top:50%!important;
  height:106%!important;
  width:auto!important;
  max-width:none!important;
  transform:translate(-50%,-50%)!important;
}

/* Keep map controls aligned to the visual frame. */
.network-section .network-map-shell .vector-map-controls{
  top:22px!important;
  right:22px!important;
}
.network-section .network-map-shell .vector-map-hint{
  top:28px!important;
  right:166px!important;
}

/* Route and country labels need slightly more presence once the map is centred. */
.network-section .regional-map-svg .country-label{
  font-size:11px;
}
.network-section .regional-map-svg .map-marker text{
  font-size:11px;
}

@media(min-width:1400px){
  .network-section .network-planner-flow{
    grid-template-columns:430px minmax(0,1fr);
  }
  .network-section .network-map-shell{
    max-height:660px;
  }
}

@media(max-width:980px){
  .network-section .network-planner-flow,
  .network-section .network-map-shell,
  .network-section .network-country-strip{
    width:100%;
  }
  .network-section .network-planner-flow{
    grid-template-columns:minmax(0,1fr);
    gap:24px;
  }
  .network-section .network-map-shell{
    aspect-ratio:4 / 3;
    max-height:none;
    min-height:560px!important;
  }
  .network-section .network-map-shell .regional-map-svg{
    left:54%!important;
    height:94%!important;
  }
}

@media(max-width:620px){
  .network-section .network-map-shell{
    aspect-ratio:auto;
    min-height:520px!important;
  }
  .network-section .network-map-shell .regional-map-svg{
    left:58%!important;
    height:88%!important;
  }
  .network-section .network-map-shell .vector-map-controls{
    top:14px!important;
    right:14px!important;
  }
}


/* ============================================================
   V49.3 ABOUT VALUES CONTRAST
   ============================================================ */
.about-values .value-grid{
  gap:14px!important;
  background:transparent!important;
  border:0!important;
}

.about-values .value{
  position:relative;
  min-height:280px;
  padding:34px!important;
  overflow:hidden;
  color:#fff!important;
  background:
    linear-gradient(145deg,rgba(15,28,34,.98),rgba(5,9,11,1))!important;
  border:1px solid rgba(255,255,255,.12)!important;
  transition:
    transform .26s var(--ease),
    border-color .26s ease,
    box-shadow .26s ease,
    background .26s ease;
}

.about-values .value::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:2px;
  background:linear-gradient(90deg,#3150A0,#AFC0FF 55%,transparent 88%);
  opacity:.72;
}

.about-values .value b{
  position:relative;
  z-index:1;
  color:#AFC0FF!important;
  font-weight:800;
}

.about-values .value h3{
  position:relative;
  z-index:1;
  color:#FFFFFF!important;
  opacity:1!important;
  text-shadow:none!important;
}

.about-values .value p{
  position:relative;
  z-index:1;
  color:#B8C4C9!important;
}

.about-values .value:hover{
  transform:translateY(-4px);
  border-color:rgba(175,192,255,.38)!important;
  box-shadow:0 18px 46px rgba(7,16,20,.14);
  background:
    linear-gradient(145deg,rgba(19,36,44,1),rgba(6,11,14,1))!important;
}

@media(max-width:820px){
  .about-values .value{
    min-height:240px;
    padding:28px!important;
  }
}

/* Give anchor/keyboard jumps clearance from the fixed header. */
html{scroll-padding-top:96px}
section,[id]{scroll-margin-top:96px}


/* ============================================================
   V49.4 MOBILE HAMBURGER MENU
   ============================================================ */
.site-actions{
  justify-self:end;
}

.site-menu-btn{
  position:relative;
}

.site-menu-btn .visually-hidden{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

.site-menu-btn .site-menu-bars{
  display:none;
}

@media(max-width:820px){
  .site-header{
    grid-template-columns:auto 1fr auto;
    align-items:center;
  }

  .site-actions{
    justify-self:end;
    margin-left:auto;
  }

  .site-menu-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:52px;
    min-width:52px;
    height:52px;
    padding:0;
    border-radius:999px;
    font-size:0;
    letter-spacing:0;
    line-height:0;
  }

  .site-menu-btn .site-menu-bars{
    display:grid;
    gap:5px;
    width:22px;
  }

  .site-menu-btn .site-menu-bars span{
    display:block;
    width:22px;
    height:2px;
    border-radius:999px;
    background:#fff;
    transform-origin:center;
    transition:transform .22s ease,opacity .18s ease;
  }

  .site-menu-btn.is-open .site-menu-bars span:nth-child(1){
    transform:translateY(7px) rotate(45deg);
  }

  .site-menu-btn.is-open .site-menu-bars span:nth-child(2){
    opacity:0;
  }

  .site-menu-btn.is-open .site-menu-bars span:nth-child(3){
    transform:translateY(-7px) rotate(-45deg);
  }
}


/* ============================================================
   V49.5 MOBILE HEADER EDGE ALIGNMENT
   ============================================================ */
@media(max-width:820px){
  .site-header{
    padding-left:max(16px,env(safe-area-inset-left));
    padding-right:max(16px,env(safe-area-inset-right));
  }

  .site-actions{
    justify-self:end!important;
    margin-left:auto!important;
    margin-right:0!important;
  }

  .site-menu-btn{
    margin-left:auto!important;
    margin-right:0!important;
  }
}
