/* Routes: choose a documented corridor, understand its connections, then confirm a shipment. */
.routes-refined { --rx-ink:#10344f; --rx-muted:#566d7e; --rx-line:#dfe8ee; --rx-accent:#b75e36; background:#fff; }
.routes-refined main { background:#fff; }
.rx-hero { position:relative; isolation:isolate; min-height:570px; display:flex; align-items:center; padding:140px 0 90px; overflow:hidden; color:#fff; background:var(--rx-ink); }
.rx-hero-media,.rx-hero-media picture,.rx-hero-media img { position:absolute; inset:0; width:100%; height:100%; }
.rx-hero-media { z-index:-2; }
.rx-hero-media img { object-fit:cover; object-position:50% 52%; }
.rx-hero::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(4,25,39,.9),rgba(4,25,39,.66) 44%,rgba(4,25,39,.12)),linear-gradient(0deg,rgba(4,25,39,.4),transparent 70%); }
.rx-hero .eyebrow { color:#e6d3bd; margin:0 0 27px; font-size:11px; letter-spacing:.15em; }
.rx-hero h1 { margin:0 0 22px; color:#fff; font-size:clamp(47px,5.1vw,74px); line-height:1.1; letter-spacing:-.04em; font-weight:650; }
.rx-hero-subtitle { font-family:var(--font-display); color:#fff; font-size:clamp(25px,2.6vw,38px); line-height:1.45; margin:0 0 18px; max-width:23em; text-wrap:balance; }
.rx-hero-description { color:#e2eaf0; font-size:15px; line-height:1.9; max-width:37em; margin:0 0 29px; }
.rx-hero .hero-actions { gap:14px; flex-wrap:wrap; }
.rx-hero-caption { position:absolute; bottom:22px; left:0; right:0; color:#e4edf3; font-size:11px; margin:0; }
.rx-nav { position:sticky; z-index:12; top:84px; background:rgba(255,255,255,.98); border-bottom:1px solid var(--rx-line); }
.rx-nav-inner { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
.rx-nav a { display:flex; align-items:center; justify-content:center; min-height:62px; padding:12px 15px; color:var(--rx-muted); border-bottom:2px solid transparent; font-size:14px; font-weight:600; text-align:center; line-height:1.4; }
.rx-nav a:hover { color:var(--rx-ink); background:#f4f7fa; }
.rx-nav a.is-active { color:var(--rx-ink); border-bottom-color:var(--rx-accent); }
.rx-section { padding:84px 0; scroll-margin-top:166px; }
.rx-anchor { display:block; scroll-margin-top:166px; }
.rx-kicker { color:var(--rx-accent); text-transform:uppercase; font-size:11px; font-weight:650; letter-spacing:.12em; margin:0 0 17px; }
.rx-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:55px; margin-bottom:35px; }
.rx-heading h2,.rx-contact h2 { font-family:var(--font-display); font-size:clamp(30px,3vw,43px); line-height:1.35; font-weight:500; letter-spacing:-.025em; margin:0; color:var(--rx-ink); }
.rx-heading>p { flex:0 1 375px; color:var(--rx-muted); font-size:14px; line-height:1.9; margin:0 0 4px; }
.rx-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:27px; }
.rx-corridor { display:flex; flex-direction:column; min-width:0; border:1px solid #d9e4ec; border-radius:8px; overflow:hidden; }
.rx-corridor figure { margin:0; aspect-ratio:1.65; background:#edf4f8; overflow:hidden; }
.rx-corridor picture,.rx-corridor img { width:100%; height:100%; display:block; }
.rx-corridor img { object-fit:cover; }
.rx-corridor[data-corridor="cold-chain"] img { object-position:45% 54%; }
.rx-corridor[data-corridor="machinery"] img { object-position:50% 73%; }
.rx-card-content { display:flex; flex-direction:column; flex:1; padding:25px 25px 15px; }
.rx-card-type { font-size:12px; color:var(--blue); margin:0 0 11px; }
.rx-card-content h3 { color:var(--rx-ink); font-size:23px; font-weight:600; line-height:1.5; min-height:35px; margin:0 0 20px; text-wrap:balance; }
.rx-card-details { margin:0; display:grid; gap:16px; }
.rx-card-details dt { color:var(--rx-muted); font-size:12px; margin:0 0 5px; }
.rx-card-details dd { color:var(--rx-ink); font-size:14px; line-height:1.8; margin:0; }
.rx-card-source { color:var(--rx-muted); font-size:11px; margin:22px 0 0; padding-top:17px; border-top:1px solid var(--rx-line); }
.rx-card-actions { display:flex; justify-content:space-between; flex-wrap:wrap; align-items:center; gap:5px 15px; margin-top:auto; padding-top:6px; }
.rx-card-actions a { display:inline-flex; align-items:center; min-height:44px; color:var(--blue); font-size:12px; }
.rx-card-actions .rx-ask { font-weight:600; text-decoration:underline; text-underline-offset:5px; }
.rx-note { color:var(--rx-muted); font-size:12px; line-height:1.9; margin:24px 0 0; }
.rx-domestic { background:#f4f7fa; }
.rx-mode-grid { display:grid; grid-template-columns:1fr 1fr; gap:36px; }
.rx-mode { min-width:0; }
.rx-mode figure { margin:0 0 23px; aspect-ratio:1.7; overflow:hidden; border-radius:7px; background:#e5eef4; }
.rx-mode picture,.rx-mode img { width:100%; height:100%; }
.rx-mode img { object-fit:cover; }
.rx-mode h3 { color:var(--rx-ink); font-size:25px; font-weight:600; line-height:1.4; margin:0 0 12px; }
.rx-mode>p { margin:0 0 19px; color:var(--rx-muted); font-size:14px; line-height:1.95; max-width:40em; }
.rx-nodes { display:flex; flex-wrap:wrap; list-style:none; padding:0; margin:0; gap:8px 21px; color:var(--rx-ink); font-size:14px; }
.rx-nodes li { padding-bottom:5px; border-bottom:1px solid #c4d6e2; }
.rx-rail-note { padding-top:18px; border-top:1px solid #d4e0e9; }
.rx-mode a { display:inline-flex; align-items:center; color:var(--blue); font-size:13px; min-height:44px; }
.rx-overseas { color:#fff; background:var(--rx-ink); }
.rx-overseas .rx-kicker { color:#f1bc90; }
.rx-overseas .rx-heading h2 { color:#fff; }
.rx-overseas .rx-heading>p { color:#d4e1eb; }
.rx-chain { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; list-style:none; padding:0 0 30px; margin:0 0 30px; border-bottom:1px solid #4b687b; }
.rx-chain li { border-top:2px solid #648195; padding-top:20px; min-width:0; }
.rx-chain li:first-child { border-color:#e2a477; }
.rx-chain strong { display:block; color:#fff; font-size:23px; font-weight:550; margin-bottom:8px; line-height:1.5; }
.rx-chain span { display:block; color:#d4e1eb; font-size:13px; }
.rx-gateways { display:grid; grid-template-columns:1fr 1fr; gap:48px; }
.rx-gateways h3 { color:#fff; font-size:20px; font-weight:550; margin:0 0 10px; }
.rx-gateways p { color:#d4e1eb; font-size:13px; line-height:1.95; margin:0; max-width:40em; }
.rx-markets { display:flex; align-items:center; flex-wrap:wrap; gap:10px 24px; margin:29px 0 0; padding-top:22px; border-top:1px solid #4b687b; color:#fff; font-size:13px; }
.rx-markets strong { font-size:12px; color:#d4e1eb; font-weight:400; }
.rx-overseas .rx-note { color:#d4e1eb; margin-top:17px; }
.rx-contact { padding:76px 0; scroll-margin-top:166px; }
.rx-contact-top { display:flex; align-items:flex-end; justify-content:space-between; gap:42px; }
.rx-contact-top>div>p:last-child { color:var(--rx-muted); font-size:14px; line-height:1.9; margin:20px 0 0; max-width:39em; }
.rx-contact-top .button { flex-shrink:0; }
.rx-contact-links { display:flex; align-items:center; flex-wrap:wrap; gap:12px 28px; border-top:1px solid var(--rx-line); margin-top:31px; padding-top:21px; font-size:13px; }
.rx-contact-links span { color:var(--rx-muted); }
.rx-contact-links a { color:var(--blue); min-height:44px; display:inline-flex; align-items:center; }
.rx-contact-links a:hover,.rx-mode a:hover { text-decoration:underline; text-underline-offset:4px; }
[lang=en] .rx-hero h1 { font-size:clamp(44px,4.8vw,68px); }
[lang=en] .rx-hero-subtitle { font-family:Georgia,serif; font-size:clamp(24px,2.3vw,33px); }
[lang=en] .rx-heading h2,[lang=en] .rx-contact h2 { font-family:Georgia,serif; }
[lang=en] .rx-card-content h3 { font-size:21px; min-height:63px; }
@media(max-width:1050px) { .rx-cards { gap:19px; } .rx-card-content { padding-inline:20px; } .rx-card-content h3 { font-size:21px; } .rx-mode-grid { gap:28px; } }
@media(max-width:767px) {
 .rx-hero { min-height:585px; padding:124px 0 82px; }
 .rx-hero-media img { object-position:58% center; }
 .rx-hero::before { background:linear-gradient(90deg,rgba(4,25,39,.86),rgba(4,25,39,.5)),linear-gradient(0deg,rgba(4,25,39,.65),transparent 70%); }
 .rx-hero .eyebrow { font-size:10px; margin-bottom:24px; }
 .rx-hero h1 { font-size:49px; }
 .rx-hero-subtitle { font-size:28px; max-width:12em; }
 .rx-hero-description { font-size:14px; margin-bottom:25px; }
 .rx-hero .hero-actions { display:flex; gap:10px; }
 .rx-hero .button { font-size:13px; padding-inline:17px; }
 .rx-hero-caption { font-size:10px; bottom:20px; }
 .rx-nav { top:68px; }
 .rx-nav-inner { width:100%; max-width:none; padding:0 12px; }
 .rx-nav a { min-height:57px; padding:10px 6px; font-size:13px; }
 .rx-section { padding:57px 0; scroll-margin-top:145px; }
 .rx-anchor,.rx-contact { scroll-margin-top:145px; }
 .rx-heading { display:block; margin-bottom:28px; }
 .rx-heading>p { margin-top:20px; font-size:14px; }
 .rx-heading h2,.rx-contact h2 { font-size:31px; line-height:1.4; }
 .rx-kicker { font-size:10px; margin-bottom:14px; }
 .rx-cards { grid-template-columns:1fr; gap:25px; }
 .rx-corridor figure { aspect-ratio:1.7; }
 .rx-card-content { padding:22px 23px 14px; }
 .rx-card-content h3,[lang=en] .rx-card-content h3 { min-height:0; font-size:23px; margin-bottom:20px; }
 .rx-card-details { grid-template-columns:1fr 1.2fr; gap:17px; }
 .rx-card-source { margin-top:19px; padding-top:16px; }
 .rx-mode-grid { grid-template-columns:1fr; gap:36px; }
 .rx-mode figure { aspect-ratio:1.55; margin-bottom:20px; }
 .rx-mode h3 { font-size:24px; }
 .rx-mode>p { margin-bottom:18px; }
 .rx-nodes { gap:10px 22px; font-size:14px; }
 .rx-chain { grid-template-columns:1fr; gap:0; margin-bottom:26px; padding-bottom:12px; }
 .rx-chain li { display:grid; grid-template-columns:1fr 1.2fr; align-items:center; gap:16px; border:0; padding:16px 0; }
 .rx-chain li+li { border-top:1px solid #4b687b; }
 .rx-chain strong { font-size:20px; margin:0; }
 .rx-chain span { font-size:13px; }
 .rx-gateways { grid-template-columns:1fr; gap:23px; }
 .rx-gateways h3 { font-size:20px; }
 .rx-markets { gap:10px 19px; margin-top:27px; padding-top:22px; }
 .rx-markets strong { width:100%; }
 .rx-contact { padding:57px 0; }
 .rx-contact-top { display:block; }
 .rx-contact-top .button { margin-top:25px; }
 .rx-contact-links { gap:10px 22px; margin-top:27px; padding-top:21px; }
 .rx-contact-links span { width:100%; }
 [lang=en] .rx-hero { min-height:630px; }
 [lang=en] .rx-hero h1 { font-size:43px; }
 [lang=en] .rx-hero-subtitle { font-size:27px; }
 [lang=en] .rx-nav a { font-size:12px; }
}
