/* Official Google Fonts: local WOFF2; latin + latin-ext. */

/* Barlow Condensed 600 italic - latin-ext */
@font-face {
  font-family: 'Barlow Condensed';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url(assets/barlow-condensed-600-italic-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Barlow Condensed 600 italic - latin */
@font-face {
  font-family: 'Barlow Condensed';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url(assets/barlow-condensed-600-italic-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Barlow Condensed 700 italic - latin-ext */
@font-face {
  font-family: 'Barlow Condensed';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url(assets/barlow-condensed-700-italic-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Barlow Condensed 700 italic - latin */
@font-face {
  font-family: 'Barlow Condensed';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url(assets/barlow-condensed-700-italic-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Barlow Condensed 700 normal - latin-ext */
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/barlow-condensed-700-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Barlow Condensed 700 normal - latin */
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/barlow-condensed-700-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Space Grotesk 400 700 normal - latin-ext */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(assets/space-grotesk-variable-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Space Grotesk 400 700 normal - latin */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(assets/space-grotesk-variable-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* V3 refinements follow. */

.cinematic {
  --heading:'Space Grotesk','Manrope',sans-serif;
  --display:'Barlow Condensed','Arial Narrow',sans-serif;
}
.cinematic h1,.cinematic h2,.cinematic h3 {font-family:var(--heading)}
.cinematic .hero h1 {letter-spacing:-.065em}
.cinematic .brand-type {font-family:'Manrope',sans-serif}
.cinematic .journey-word {font-family:var(--display);font-style:italic;font-weight:700;letter-spacing:-.025em}
.cinematic .process-steps li>span,.cinematic .detail-number,.journey-bottom b {
  font-family:var(--display);font-style:italic;font-weight:600;font-variant-numeric:tabular-nums;
}

/* A small moving record of experience, markets and working space. */
.cinematic .intro {grid-template-columns:minmax(250px,.85fr) minmax(0,1.15fr);gap:65px;padding-block:88px 80px}
.cinematic .intro-statement {max-width:410px;font-family:var(--heading);font-size:clamp(22px,2vw,29px);line-height:1.42;letter-spacing:-.045em}
.cinematic .intro-facts {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;max-width:none;min-width:0}
.cinematic .stat-item {min-width:0;position:relative;padding-top:10px;border-top:1px solid #d9e3e526}
.cinematic .intro-facts .stat-item>strong {
  display:flex;align-items:baseline;gap:4px;font:700 italic clamp(62px,5.8vw,86px)/1 var(--display);
  letter-spacing:-.045em;color:#f0f1e7;white-space:nowrap;
}
.cinematic .intro-facts .stat-item>strong em {font:600 italic .42em/1 var(--display);color:var(--orange);margin:0;letter-spacing:-.02em}
.cinematic .intro-facts .stat-item>span:not([data-count]) {
  margin-top:11px;display:block;max-width:150px;min-height:33px;font:400 10px/1.6 var(--body);color:#9eafb9;
}
.cinematic .intro-facts .stat-extra {display:flex;align-items:center;min-width:0;min-height:49px;margin-top:14px;padding-top:12px;border-top:1px solid #b7d2df18}
.cinematic .intro-facts .stat-extra span {display:block;margin:0;max-width:none;min-width:0;color:inherit;font:inherit;line-height:inherit}
.cinematic .intro-facts .history-extra {gap:10px;color:#91a5b1}
.cinematic .intro-facts .history-extra .history-start {font:600 7px/1.4 var(--body);letter-spacing:.08em;white-space:nowrap}
.cinematic .intro-facts .history-extra #history-year {font:600 italic 25px/1 var(--display);color:#dbe5e8;font-variant-numeric:tabular-nums}
.cinematic .intro-facts .history-extra .history-ticks {display:flex;flex:1;align-items:flex-end;gap:4px;position:relative;height:19px;padding-bottom:4px}
.history-ticks::after {content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--orange);transform:scaleX(var(--history-progress,0));transform-origin:left}
.history-ticks i {display:block;flex:1;min-width:1px;height:8px;background:#354a58;transition:background .35s,height .35s}
.history-ticks i:nth-child(2n) {height:12px}
.history-ticks i:nth-child(4),.history-ticks i:last-child {height:17px}
.history-ticks i.is-lit {background:#ff895e}
.cinematic .intro-facts .country-extra {gap:10px;overflow:hidden;color:#dae5e8}
.cinematic .intro-facts .country-extra #stat-country-code {flex:none;font:600 italic 31px/.95 var(--display);color:var(--orange);width:29px;letter-spacing:-.02em}
.cinematic .intro-facts .country-extra .country-name-window {height:21px;flex:1;overflow:hidden;display:flex;align-items:center}
.cinematic .intro-facts .country-extra #stat-country {font:400 11px/1.7 var(--body);white-space:nowrap}
.cinematic .intro-facts .country-extra .country-spinner {margin-left:auto;font:400 24px/1 var(--body);color:#879ca9}
.country-extra.is-changing #stat-country-code,.country-extra.is-changing #stat-country {animation:country-arrive .55s cubic-bezier(.16,.7,.25,1) both}
.country-extra.is-changing #stat-country {animation-delay:.055s}
.country-extra.is-changing .country-spinner {animation:country-turn .6s cubic-bezier(.2,.7,.2,1)}
.cinematic .intro-facts .trailer-extra {padding-top:7px}
.stat-trailer {display:block;width:100%;height:45px;overflow:visible}
.stat-trailer path,.stat-trailer circle {fill:none;stroke:#a9b8c1;stroke-width:1.1;vector-effect:non-scaling-stroke}
.stat-trailer .trailer-outline,.stat-trailer .trailer-ribs {stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--stat-progress,0))}
.stat-trailer .trailer-ribs {stroke:#5d7788;stroke-width:.7}
.stat-trailer circle {opacity:var(--stat-progress,0)}
.stat-trailer .trailer-pin {fill:var(--orange);stroke:var(--orange)}

/* Departure-board typography: deliberately mechanical, without a dashboard frame. */
.destination-board {display:grid;grid-template-columns:minmax(230px,.78fr) minmax(0,1.7fr);align-items:center;gap:clamp(35px,5vw,84px);padding-block:88px 94px}
.destination-intro {min-width:0}
.destination-intro .eyebrow {font-size:8px;letter-spacing:.15em;color:#91a6b2;line-height:1.7}
.destination-intro h2 {font-size:clamp(36px,3.8vw,56px);line-height:1.1;letter-spacing:-.06em;margin-top:24px}
.destination-intro>p:last-child {font:400 12px/1.85 var(--body);max-width:260px;color:#94a7b3;margin-top:22px}
.departure-display {position:relative;min-width:0;border:1px solid #879dac31;background:linear-gradient(150deg,#14212c,#0c151e 70%);padding:23px 27px 27px;box-shadow:0 15px 35px #0000001c}
.departure-display::before {content:'';position:absolute;left:-1px;top:21px;height:29px;width:2px;background:var(--orange)}
.departure-top {display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:12px;padding-bottom:17px;border-bottom:1px solid #c6dce51c;font-size:8px;letter-spacing:.13em;line-height:1.5;color:#8fa5b3}
#board-country-name {letter-spacing:.045em;text-align:center;color:#bac9d0;white-space:nowrap}
.board-index {font-size:8px;letter-spacing:.04em;white-space:nowrap;color:#6f8798}
.board-index b {font-weight:500;color:#ff966d}
.departure-origin {display:flex;align-items:center;gap:18px;margin-top:23px;font:600 italic 36px/1 var(--display);letter-spacing:.02em;color:#8ca1af}
.departure-direction {margin-left:auto;font:400 36px/1 var(--body);color:var(--orange)}
.departure-destination {display:flex;align-items:center;gap:3px;min-width:0;white-space:nowrap;margin:13px -1px 26px;font:700 italic clamp(52px,7.5vw,112px)/1.07 var(--display);letter-spacing:-.025em;color:#f3f0e5;perspective:900px}
.city-letter {position:relative;display:inline-flex;justify-content:center;align-items:center;flex:0 0 .51em;min-width:0;height:1.08em;padding-right:.04em;transform-origin:50% 50%;backface-visibility:hidden;background:linear-gradient(#26333e,#1d2a34 49%,#141f29 51%,#1b2732);border-top:1px solid #a7bbc522;border-bottom:1px solid #00000066;border-radius:2px;text-shadow:0 2px 1px #0005}
.city-letter::after {content:'';position:absolute;left:0;right:0;top:50%;height:1px;background:#070f17b3;box-shadow:0 1px 0 #ffffff08;pointer-events:none}
.destination-board.is-changing .city-letter,.departure-display.is-changing .city-letter,#board-city.is-changing .city-letter {animation:city-flap .58s cubic-bezier(.25,.7,.2,1) both;animation-delay:calc(var(--letter,0)*.045s)}
.departure-bottom {display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:43px;padding-top:15px;border-top:1px solid #c6dce51c}
.board-distance {font:600 italic 26px/1 var(--display);letter-spacing:-.015em;color:#b4c6d0;white-space:nowrap}
#board-route {display:inline-flex;align-items:center;justify-content:space-between;gap:15px;min-height:40px;background:transparent;border-bottom:1px solid #91adbc55;padding:4px 0;font:400 10px/1.4 var(--body);color:#e0e8e9;text-align:left}
#board-route>span:last-child {font-size:20px;color:var(--orange);transition:transform .3s}
#board-route:hover>span:last-child {transform:translate(3px,-3px)}
.board-controls {display:flex;align-items:center;gap:6px;margin-left:auto}
.board-controls button {display:grid;place-items:center;flex:none;width:37px;height:37px;padding:0;color:#c2d1d9;background:transparent;border:1px solid #b6cbd537;font:400 20px/1 var(--body);transition:color .2s,border-color .2s,background .2s}
.board-controls button:hover,.board-controls button:focus-visible {background:#ff6b3512;border-color:var(--orange);color:#ff9a70}
.board-timebar {position:absolute;inset:auto -1px -1px;height:2px;background:#2d424f;overflow:hidden}
.board-timebar i {display:block;width:100%;height:100%;background:var(--orange);transform:scaleX(var(--board-progress,0));transform-origin:left;will-change:transform}

/* Three editorial service panels: type, working diagram, then the useful detail. */
.cinematic .services {padding-top:106px;padding-bottom:112px}
.cinematic .service-list.service-cards {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;border:0;min-width:0}
.cinematic .services .service-card {
  position:relative;display:flex;flex-direction:column;align-items:stretch;gap:0;min-width:0;min-height:548px;height:100%;
  padding:29px 28px 24px;border:1px solid #c4cec7;background:#f5f5ed;color:#14252f;text-align:left;overflow:hidden;
  transition:transform .45s cubic-bezier(.2,.75,.2,1),background .4s,color .4s,border-color .4s,box-shadow .4s;
}
.cinematic .services .service-card::before {content:'';position:absolute;left:-1px;right:-1px;top:-1px;height:3px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.cinematic .services .service-card:is(:hover,:focus-visible) {padding:29px 28px 24px;background:#10212d;border-color:#10212d;color:#f0f2e7;transform:translateY(-6px);box-shadow:0 15px 28px #0a202917}
.cinematic .services .service-card:is(:hover,:focus-visible)::before {transform:scaleX(1)}
.service-card-top {display:flex;align-items:flex-start;justify-content:space-between;gap:15px;min-width:0}
.cinematic .services .service-code {display:block;padding-right:.07em;font:700 italic clamp(104px,9.3vw,142px)/.86 var(--display);letter-spacing:-.04em;transition:color .35s;min-width:0}
.service-number {padding-top:4px;font:500 10px/1.4 var(--body);letter-spacing:.08em;color:#7b8c92;white-space:nowrap}
.cinematic .services .service-card:is(:hover,:focus-visible) .service-code {color:#ff7945}
.service-visual {display:block;position:relative;min-width:0;margin:27px -9px 20px;padding-top:0}
.load-diagram {display:block;width:100%;height:auto;overflow:visible}
.load-diagram path,.load-diagram rect,.load-diagram circle {vector-effect:non-scaling-stroke}
.diagram-outline {fill:none;stroke:#6a7d84;stroke-width:1.1;transition:stroke .35s}
.diagram-road {fill:none;stroke:#aab7b4;stroke-width:.8}
.diagram-road-dashes {fill:none;stroke:#acb8b5;stroke-width:1;stroke-dasharray:13 10}
.diagram-cab-glass {fill:#5c7882;stroke:none}
.diagram-chassis {fill:none;stroke:#506670;stroke-width:1.5}
.diagram-wheels circle {fill:#f5f5ed;stroke:#455f6c;stroke-width:1.5;transition:fill .35s,stroke .35s}
.diagram-headlight {fill:none;stroke:#e8875d;stroke-width:1.2}
.load-box {fill:#ee9d77;stroke:#d87f54;stroke-width:.65;transform-box:fill-box;transform-origin:center bottom}
.service-ltl .load-box {fill:#c0d0cc;stroke:#829d9b}
.adr-diamond {fill:#ef9b75;stroke:#b8633c;stroke-width:1;transform-box:fill-box;transform-origin:center}
.adr-symbol {fill:none;stroke:#263e48;stroke-width:2.4;stroke-linecap:round}
.cinematic .services .service-card:is(:hover,:focus-visible) .diagram-outline {stroke:#a7c0ce}
.cinematic .services .service-card:is(:hover,:focus-visible) .diagram-wheels circle {fill:#10212d;stroke:#9ab6c6}
.cinematic .services .service-card:is(:hover,:focus-visible) .load-box {animation:cargo-settle .8s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--box,0)*.065s);fill:#ff8957;stroke:#ffae88}
.cinematic .services .service-card:is(:hover,:focus-visible) .diagram-road-dashes {animation:diagram-drive 1.7s linear infinite;stroke:#8da8b7}
.cinematic .services .service-card:is(:hover,:focus-visible) .adr-diamond {animation:adr-breathe 2s ease-in-out infinite;fill:#ff8b58;stroke:#ffc09d}
.service-micro {display:block;font:600 8px/1.5 var(--body);letter-spacing:.14em;color:#8a6f5c;margin-bottom:16px;transition:color .35s}
.cinematic .services .service-copy {display:flex;flex:1;flex-direction:column;gap:14px;min-width:0}
.cinematic .services .service-copy strong {font:500 24px/1.16 var(--heading);letter-spacing:-.055em;min-height:56px;max-width:310px;overflow-wrap:normal}
.cinematic .services .service-copy>span {font:400 12px/1.85 var(--body);color:#68787e;max-width:310px;transition:color .35s}
.cinematic .services .service-card:is(:hover,:focus-visible) .service-copy>span {color:#b0c0c7}
.cinematic .services .service-card:is(:hover,:focus-visible) .service-micro {color:#d5a58c}
.service-card-bottom {display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:27px;padding-top:19px;border-top:1px solid #b9c7c16b;font:500 10px/1.5 var(--body)}
.cinematic .services .service-card .circle-arrow {width:37px;height:37px;flex:none;border:1px solid #aebdb9;font-size:21px;background:transparent;color:#263e49;transition:transform .35s,color .35s,background .35s,border-color .35s}
.cinematic .services .service-card:is(:hover,:focus-visible) .circle-arrow {transform:translate(2px,-2px);background:var(--orange);border-color:var(--orange);color:#10212d}

/* A large, level map; the narrow editorial column is intentionally secondary. */
.cinematic .routes {padding-block:112px 100px;background:#0d1b26}
.cinematic .routes .route-layout {width:min(1440px,calc(100% - 96px));grid-template-columns:minmax(250px,300px) minmax(0,1fr);align-items:start;gap:clamp(35px,5vw,80px)}
.route-content,.map-panel {min-width:0}
.cinematic .route-content h2 {font-family:var(--heading);font-size:clamp(38px,3.7vw,56px);line-height:1.09;letter-spacing:-.06em;margin-top:29px}
.cinematic .route-description {font-size:12px;line-height:1.85;color:#a6b9c5;max-width:300px;margin-top:24px}
.cinematic .country-list {grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;max-width:none;margin-top:26px}
.cinematic .country-list button {position:relative;gap:12px;padding:8px 0;min-width:0;min-height:38px;border-bottom:1px solid #a9c3d01c;font:600 italic 17px/1 var(--display);letter-spacing:.02em;transition:color .25s}
.cinematic .country-list button>span {font:400 11px/1.5 var(--body);letter-spacing:0;min-width:0;color:#b7c9d3}
.cinematic .country-list button:hover {transform:none}
.cinematic .country-list button::after {content:'';position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .35s}
.cinematic .country-list button:is(:hover,:focus-visible,[aria-pressed=true])::after {transform:scaleX(1)}
.cinematic .country-list button[aria-pressed=true],.cinematic .country-list button[aria-pressed=true]>span {color:#ff9569}
.route-detail {margin-top:28px;padding-top:22px;border-top:1px solid #b1c9d22e;min-width:0}
.route-detail-label {display:block;font-size:8px;letter-spacing:.13em;color:#829eae}
.route-detail strong {display:block;margin-top:12px;font:500 25px/1.3 var(--heading);letter-spacing:-.045em;color:#e5ecec;overflow-wrap:anywhere}
#route-distance {display:block;margin-top:10px;font:600 italic 40px/1.05 var(--display);letter-spacing:-.035em;color:#ff8e60}
#route-time {font-size:10px;color:#9fb5c2;margin-top:6px}
.cinematic .selected-route {max-width:none;font-size:11px;gap:9px;margin-top:21px;padding:11px 0;border-top:1px solid #aec7d326;border-bottom:1px solid #aec7d326}
.cinematic .selected-route button {display:grid;place-items:center;border:1px solid #66808e70;border-radius:50%;width:35px;height:35px;font-size:22px;flex:none}
.cinematic .route-fine {margin-top:15px;font-size:10px;line-height:1.85;color:#92a9b8}
.map-tools {display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px;padding-bottom:17px;border-bottom:1px solid #a9c2d02a}
.route-data-tag {font:500 8px/1.5 var(--body);letter-spacing:.15em;color:#9fb6c3}
.map-tools button,#route-reset,.map-reset {display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:39px;background:transparent;border:1px solid #7e9caa55;color:#b6cad5;padding:8px 12px;font:400 10px/1.5 var(--body);transition:border-color .25s,color .25s,background .25s}
.map-tools button:hover,#route-reset:hover,.map-reset:hover {border-color:#ff946c;background:#ff6b350a;color:#f1e4da}
.cinematic .map-caption {padding-bottom:12px;font-size:8px;letter-spacing:.13em;border-color:#b1c8d124;color:#8fa8b7}
.cinematic .map-panel svg,.cinematic .map-panel:hover svg {transform:none;filter:none;width:100%;height:auto;max-width:100%;display:block;overflow:hidden}
#europe-map {min-width:0;overflow:hidden;isolation:isolate;background:#101f2b}
.cinematic .map-legend {margin-top:18px;font-size:10px;color:#a7bfcc;flex-wrap:wrap;gap:12px 25px}
.route-map-foot {display:flex;flex-wrap:wrap;justify-content:space-between;gap:9px 22px;margin-top:19px;padding-top:15px;border-top:1px solid #a2c0d025;font:400 10px/1.7 var(--body);color:#7e9cab}
.route-map-foot p {max-width:520px}
.map-attribution {display:flex;flex-wrap:wrap;align-items:baseline;gap:0 5px;font-size:9px;color:#93aebd}
.map-attribution a {text-decoration:underline;text-decoration-color:#8ea7b84d;text-underline-offset:3px}
.map-attribution a:hover {color:#d8e5eb;text-decoration-color:#d8e5eb}

/* The company name no longer needs a second, oversized closing headline. */
.cinematic .contact-grid {margin-bottom:77px}
.cinematic footer {padding-block:29px 33px}

@keyframes city-flap {0%{transform:rotateX(-78deg);opacity:.2;filter:brightness(.6)}55%{transform:rotateX(9deg);opacity:1;filter:brightness(1.08)}100%{transform:rotateX(0);opacity:1;filter:brightness(1)}}
@keyframes country-arrive {from{transform:translateY(80%);opacity:0}to{transform:translateY(0);opacity:1}}
@keyframes country-turn {from{transform:translate(-3px,3px);opacity:.2}to{transform:translate(0);opacity:1}}
@keyframes cargo-settle {0%{transform:translateY(-13px);opacity:.1}65%{transform:translateY(2px);opacity:1}100%{transform:translateY(0);opacity:1}}
@keyframes diagram-drive {to{stroke-dashoffset:46}}
@keyframes adr-breathe {0%,100%{opacity:1;transform:scale(1)}50%{opacity:.68;transform:scale(.95)}}

@media(max-width:1180px) {
  .cinematic .intro {grid-template-columns:.7fr 1.3fr;gap:35px}
  .cinematic .intro-facts {gap:20px}
  .cinematic .intro-facts .stat-item>strong {font-size:74px}
  .cinematic .intro-facts .history-extra {gap:6px}
  .cinematic .intro-facts .history-extra .history-start {font-size:6px}
  .cinematic .intro-facts .history-extra #history-year {font-size:23px}
  .cinematic .services .service-card,.cinematic .services .service-card:is(:hover,:focus-visible) {padding:25px 23px 22px}
  .cinematic .services .service-code {font-size:112px}
  .cinematic .services .service-copy strong {font-size:22px}
  .cinematic .services .service-copy>span {font-size:11px}
  .cinematic .routes .route-layout {width:calc(100% - 72px);grid-template-columns:250px minmax(0,1fr);gap:35px}
  .cinematic .country-list {gap:0 12px}
  .cinematic .country-list button {gap:9px}
}
@media(max-width:980px) {
  .cinematic .intro {grid-template-columns:1fr;gap:38px;padding-block:65px}
  .cinematic .intro-statement {font-size:27px;max-width:530px}
  .cinematic .intro-facts {max-width:none;gap:36px}
  .cinematic .intro-facts .stat-item>strong {font-size:83px}
  .cinematic .intro-facts .history-extra .history-start {font-size:7px}
  .destination-board {grid-template-columns:minmax(190px,.75fr) minmax(0,1.65fr);gap:30px;padding-block:72px}
  .destination-intro h2 {font-size:38px}
  .departure-display {padding:20px}
  .departure-destination {font-size:66px;gap:2px}
  .departure-bottom {gap:12px;flex-wrap:wrap}
  #board-route {order:3;flex:1 0 100%}
  .board-controls {margin-left:auto}
  .cinematic .service-list.service-cards {gap:12px}
  .cinematic .services .service-card,.cinematic .services .service-card:is(:hover,:focus-visible) {padding:22px 18px 20px;min-height:530px}
  .cinematic .services .service-code {font-size:94px}
  .cinematic .services .service-copy strong {font-size:20px;min-height:69px}
  .service-micro {font-size:7px;letter-spacing:.09em;min-height:22px}
  .service-visual {margin:26px -5px 18px}
  .cinematic .routes .route-layout {grid-template-columns:230px minmax(0,1fr);gap:28px}
  .cinematic .route-content h2 {font-size:40px}
  .cinematic .country-list {grid-template-columns:1fr;gap:0;margin-top:24px}
  .cinematic .country-list button {min-height:33px;padding-block:6px;gap:16px}
  .map-tools {align-items:flex-start;gap:12px;flex-direction:column}
  .route-detail strong {font-size:23px}
  #route-distance {font-size:37px}
}
@media(max-width:700px) {
  .cinematic .intro {padding-block:48px 42px;gap:31px}
  .cinematic .intro-statement {font-size:22px;line-height:1.4;max-width:330px}
  .cinematic .intro-facts {gap:15px;grid-template-columns:repeat(3,minmax(0,1fr))}
  .cinematic .intro-facts .stat-item>strong {font-size:clamp(50px,15vw,65px);gap:1px;letter-spacing:-.05em}
  .cinematic .intro-facts .stat-item>strong em {font-size:.35em}
  .cinematic .intro-facts .stat-item>span:not([data-count]) {font-size:8px;line-height:1.7;margin-top:9px;min-height:38px;max-width:105px}
  .cinematic .intro-facts .stat-extra {margin-top:11px;padding-top:11px;min-height:43px}
  .cinematic .intro-facts .history-extra {gap:5px;flex-wrap:wrap;align-items:center}
  .cinematic .intro-facts .history-extra .history-start {font-size:6px;order:1}
  .cinematic .intro-facts .history-extra #history-year {font-size:22px;order:2;margin-left:auto}
  .cinematic .intro-facts .history-extra .history-ticks {order:3;flex-basis:100%;height:15px;gap:4px}
  .history-ticks i {height:5px}.history-ticks i:nth-child(2n) {height:8px}.history-ticks i:nth-child(4),.history-ticks i:last-child {height:11px}
  .cinematic .intro-facts .country-extra {gap:5px;flex-wrap:wrap;min-height:57px;align-content:flex-start}
  .cinematic .intro-facts .country-extra #stat-country-code {font-size:26px;width:auto}
  .cinematic .intro-facts .country-extra .country-name-window {flex:1 0 100%;order:3;height:17px}
  .cinematic .intro-facts .country-extra #stat-country {font-size:9px}
  .cinematic .intro-facts .country-extra .country-spinner {font-size:18px;margin-left:auto}
  .cinematic .intro-facts .trailer-extra {padding-top:11px;align-items:flex-start}
  .stat-trailer {height:39px;margin-top:4px}
  .destination-board {grid-template-columns:1fr;gap:30px;padding-block:55px 65px}
  .destination-intro .eyebrow {font-size:7px;letter-spacing:.15em}
  .destination-intro h2 {font-size:37px;line-height:1.07;margin-top:20px}
  .destination-intro>p:last-child {font-size:11px;line-height:1.8;max-width:290px;margin-top:17px}
  .departure-display {padding:19px 17px 20px}
  .departure-top {gap:8px;padding-bottom:14px;font-size:7px;letter-spacing:.09em}
  #board-country-name {font-size:8px;letter-spacing:0}
  .board-index {font-size:7px}
  .departure-origin {font-size:30px;margin-top:21px}
  .departure-direction {font-size:31px}
  .departure-destination {font-size:clamp(42px,12.5vw,64px);gap:2px;margin-top:12px;margin-bottom:23px;letter-spacing:-.025em}
  .city-letter {flex-basis:.51em;height:1.12em;border-radius:1px}
  .departure-bottom {gap:14px;padding-top:14px}
  .board-distance {font-size:24px}
  .board-controls button {width:39px;height:39px}
  #board-route {font-size:10px;min-height:39px;order:3;flex-basis:100%}
  .cinematic .services {padding:65px 20px 70px}
  .cinematic .services .section-heading {margin-bottom:35px;gap:21px}
  .cinematic .services .section-heading h2 {font-size:39px;line-height:1.08}
  .cinematic .service-list.service-cards {grid-template-columns:1fr;gap:17px}
  .cinematic .services .service-card,.cinematic .services .service-card:is(:hover,:focus-visible) {padding:27px 25px 23px;min-height:0}
  .cinematic .services .service-code {font-size:116px;line-height:.85}
  .service-number {font-size:9px}
  .service-visual {margin:23px -8px 20px}
  .service-micro {font-size:8px;letter-spacing:.12em;min-height:0;margin-bottom:15px}
  .cinematic .services .service-copy {gap:13px}
  .cinematic .services .service-copy strong {font-size:25px;min-height:0;max-width:300px}
  .cinematic .services .service-copy>span {font-size:12px;line-height:1.8}
  .service-card-bottom {margin-top:27px;padding-top:17px;font-size:10px}
  .cinematic .services .service-card .circle-arrow {width:38px;height:38px}
  .cinematic .routes {padding-block:66px 62px}
  .cinematic .routes .route-layout {width:calc(100% - 40px);grid-template-columns:1fr;gap:37px}
  .cinematic .route-content h2 {font-size:41px;margin-top:25px}
  .cinematic .route-description {font-size:12px;max-width:340px;margin-top:21px}
  .cinematic .country-list {grid-template-columns:repeat(2,minmax(0,1fr));gap:0 23px;margin-top:25px}
  .cinematic .country-list button {gap:14px;min-height:40px;font-size:19px}
  .cinematic .country-list button>span {font-size:12px}
  .route-detail {margin-top:26px;padding-top:20px}
  .route-detail strong {font-size:27px;margin-top:13px}
  #route-distance {font-size:40px}
  .route-detail-label {font-size:8px}
  .cinematic .selected-route {margin-top:18px;font-size:12px}
  .cinematic .route-fine {font-size:10px;max-width:335px;line-height:1.8}
  .map-tools {align-items:center;flex-direction:row;gap:10px;padding-bottom:14px;margin-bottom:17px}
  .route-data-tag {font-size:7px;letter-spacing:.09em}
  .map-tools button,#route-reset,.map-reset {font-size:9px;gap:7px;min-height:40px;padding:8px 10px}
  .cinematic .map-caption {font-size:7px;padding-bottom:12px}
  .cinematic .map-legend {font-size:9px;gap:10px 20px;margin-top:15px}
  .route-map-foot {display:block;font-size:10px;line-height:1.75;margin-top:17px;padding-top:14px}
  .map-attribution {font-size:9px;margin-top:9px;gap:0 5px}
  .cinematic .contact-grid {margin-bottom:43px}
  .cinematic footer {padding-block:23px 29px}
}
@media(max-width:360px) {
  .cinematic .intro-facts {gap:11px}
  .cinematic .intro-facts .stat-item>strong {font-size:49px}
  .departure-display {padding-inline:13px}
  .departure-destination {font-size:42px;gap:1px}
  .cinematic .services .service-card,.cinematic .services .service-card:is(:hover,:focus-visible) {padding-inline:22px}
}
.motion-paused .city-letter,.motion-paused .country-extra *,.motion-paused .load-box,.motion-paused .diagram-road-dashes,.motion-paused .adr-diamond {animation-play-state:paused!important}
.motion-paused .service-card,.motion-paused .service-card *,.motion-paused .board-controls button,.motion-paused .history-ticks i {transition:none!important}
.motion-paused .services .service-card:is(:hover,:focus-visible),.motion-paused .services .service-card:is(:hover,:focus-visible) .circle-arrow {transform:none}
@media(prefers-reduced-motion:reduce) {
  .destination-board *,.intro-facts *,.service-card * {animation:none!important;transition:none!important}
  .cinematic .services .service-card:is(:hover,:focus-visible),.cinematic .services .service-card:is(:hover,:focus-visible) .circle-arrow {transform:none}
  .stat-trailer .trailer-outline,.stat-trailer .trailer-ribs {stroke-dashoffset:0}
  .stat-trailer circle {opacity:1}
  .board-timebar i {transform:scaleX(1)}
  .city-letter {transform:none!important;opacity:1!important;filter:none!important}
}

/* Keep the selected road leg legible inside the destination country. */
.cinematic .map-panel .country.selected {fill:#634b42!important;stroke:#c28c72!important;stroke-width:1.2!important}
.cinematic .map-panel .pervan-route-city-label {font-family:var(--heading);font-weight:600}
