
:root {
  --black: #080a0d;
  --dark: #0d1117;
  --dark2: #131922;
  --dark3: #1a2333;
  --border: #1f2d42;
  --red: #e8321a;
  --orange: #f57c1f;
  --amber: #f5a623;
  --blue: #3fbcf4;
  --blue2: #1e9fd8;
  --blue-soft: #a8d8f0;
  --green: #4ade80;
  --text: #e8edf4;
  --text-muted: #7d90a8;
  --text-dim: #3d5169;
  --white: #ffffff;
  --grad-fire: linear-gradient(135deg, #e8321a 0%, #f57c1f 50%, #f5a623 100%);
  --grad-sky: linear-gradient(135deg, #1e9fd8 0%, #3fbcf4 100%);
  --grad-hero: linear-gradient(135deg, #e8321a 0%, #f57c1f 40%, #3fbcf4 100%);
  --font-head: 'Outfit', sans-serif;
  --font-body: 'DM Sans', sans-serif;
  --font-cn: 'Noto Sans SC', sans-serif;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth}
body{background:var(--black);color:var(--text);font-family:var(--font-body);font-size:15px;line-height:1.6;overflow-x:hidden}
a{color:inherit;text-decoration:none}
::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:var(--dark)}::-webkit-scrollbar-thumb{background:var(--border)}
body::after{content:'';position:fixed;inset:0;background:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.025'/%3E%3C/svg%3E");pointer-events:none;z-index:9999;opacity:0.5}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:1000;background:rgba(8,10,13,0.92);backdrop-filter:blur(20px);border-bottom:1px solid var(--border);transition:all .3s}
.nav-inner{max-width:1280px;margin:0 auto;padding:0 40px;display:flex;align-items:center;justify-content:space-between;height:70px}
.nav-logo{display:flex;align-items:center;gap:12px;cursor:pointer;margin-right:36px}/* guaranteed gap to the first nav tab — the caption ran into "Services" at laptop widths (Steven 2026-08-18) */
.nav-logo-text{font-family:var(--font-head);font-weight:800;font-size:18px;letter-spacing:-0.02em;color:var(--white)}
.nav-logo-text span{background:var(--grad-fire);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.nav-logo-cn{font-family:var(--font-cn);font-size:11px;color:var(--text-muted);display:block;margin-top:-2px;white-space:nowrap}
/* FR/ES captions are too long with the motto tail — the caption wrapped to a
   second line and broke out of the nav box (Steven 2026-08-17). EN/ZH keep it. */
.lang-fr .nlc-tail,.lang-es .nlc-tail{display:none}
/* phones: the tagline ("· Coast to Coast" etc.) is longer than the old
   "· Vancouver" — shrink and let it wrap inside the 70px bar instead of
   clipping against the menu button */
/* phones (Steven 2026-06-10): logo only — the tagline is hidden entirely
   on mobile; desktop keeps the full credential line */
@media(max-width:600px){
  .nav-logo-text{font-size:17px}
  .nav-logo-cn{display:none}
  .nav-logo{min-width:0;margin-right:8px}
}
.nav-links{display:flex;align-items:center;gap:7px}/* roomier tabs on desktop (Steven 2026-08-18); ≤1280 rule tightens it back */
.nav-link{font-size:13px;font-weight:500;color:var(--text-muted);padding:8px 14px;border-radius:4px;transition:all .15s;cursor:pointer;white-space:nowrap}
.nav-link:hover{color:var(--text);background:var(--dark2)}
.nav-link.cn{font-family:var(--font-cn)}
.nav-cta{background:var(--grad-fire);color:var(--white);font-size:13px;font-weight:700;padding:9px 20px;border-radius:4px;cursor:pointer;transition:all .2s;border:none;font-family:var(--font-body);letter-spacing:0.02em;white-space:nowrap}
.nav-cta:hover{opacity:0.9;transform:translateY(-1px)}
.nav-right{display:flex;align-items:center;gap:8px}

/* HAMBURGER */
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:8px;z-index:1002;background:none;border:none}
.hamburger span{width:22px;height:2px;background:var(--text);transition:all .3s;display:block}
.hamburger.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.hamburger.active span:nth-child(2){opacity:0}
.hamburger.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}

/* MOBILE MENU */
.mobile-menu{display:none;position:fixed;top:70px;left:0;right:0;bottom:0;background:rgba(8,10,13,0.98);backdrop-filter:blur(20px);z-index:999;padding:32px 24px;flex-direction:column;gap:8px;overflow-y:auto;animation:slideDown .25s ease}
.mobile-menu.open{display:flex}
.mobile-menu .nav-link{font-size:18px;padding:14px 0;border-bottom:1px solid var(--border);min-height:44px;display:flex;align-items:center}
.mobile-menu .nav-cta{margin-top:16px;text-align:center;padding:16px;font-size:16px;min-height:48px}
.mobile-menu .lang-toggle{margin-top:16px;align-self:flex-start}
@keyframes slideDown{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}

/* FR/ES labels are longer than EN — tighten the bar first, then collapse to
   the hamburger early enough that no language ever overflows the nav */
@media(max-width:1280px){
  .nav-link{padding:8px 9px;font-size:12.5px}
  .nav-cta{padding:9px 14px;font-size:12.5px}
  .lang-toggle .lt-opt{padding:5px 8px}
  /* laptop widths: drop the caption tail in ALL languages + ease the logo
     gap, or the CTA clips off the right edge (found at 1150px, 2026-08-18) */
  .nlc-tail{display:none}
  .nav-logo{margin-right:20px}
  .nav-links{gap:3px}
}
@media(max-width:1100px){
  .nav-links{display:none}
  .nav-cta.desktop-only{display:none}
  .hamburger{display:flex}
}
@media(max-width:768px){
  .nav-inner{padding:0 20px}
}
@media(min-width:1101px){.mobile-menu{display:none !important}}

/* STICKY MOBILE CTA */
.mobile-float-cta{display:none;position:fixed;bottom:24px;right:20px;z-index:998;background:var(--grad-fire);color:var(--white);font-family:var(--font-head);font-weight:700;font-size:14px;padding:14px 22px;border-radius:50px;box-shadow:0 8px 32px rgba(232,50,26,0.4);cursor:pointer;border:none;transition:all .2s;min-height:48px}
.mobile-float-cta:hover{transform:translateY(-2px);box-shadow:0 12px 40px rgba(232,50,26,0.5)}
@media(max-width:768px){.mobile-float-cta{display:block}}

/* HERO */
.hero{min-height:100vh;display:flex;align-items:center;position:relative;overflow:hidden;padding-top:70px}
.hero-bg{position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 70% 40%, rgba(232,50,26,0.12) 0%, transparent 60%),radial-gradient(ellipse 60% 50% at 30% 60%, rgba(63,188,244,0.08) 0%, transparent 55%),var(--black);z-index:0}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(var(--border) 1px, transparent 1px),linear-gradient(90deg,var(--border) 1px, transparent 1px);background-size:60px 60px;opacity:0.2;z-index:0}
.hero-inner{max-width:1280px;margin:0 auto;padding:80px 40px;position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
@media(max-width:900px){.hero-inner{grid-template-columns:1fr;gap:40px;padding:60px 20px}}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(232,50,26,0.1);border:1px solid rgba(232,50,26,0.3);padding:5px 14px 5px 10px;border-radius:100px;font-size:12px;color:var(--orange);margin-bottom:24px}
.hero-badge::before{content:'';width:6px;height:6px;background:var(--red);border-radius:50%;animation:pulse 1.5s infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}
.hero-h1{font-family:var(--font-head);font-size:clamp(38px,5vw,64px);font-weight:800;line-height:1.02;letter-spacing:-0.03em;color:var(--white);margin-bottom:8px}
.hero-h1 .fire{background:var(--grad-fire);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero-h1 .sky{background:var(--grad-sky);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero-cn{font-family:var(--font-cn);font-size:18px;font-weight:400;color:var(--text-muted);margin-bottom:24px;letter-spacing:0.05em}
.hero-sub{font-size:16px;color:var(--text-muted);max-width:500px;line-height:1.7;margin-bottom:36px}
.hero-sub strong{color:var(--text)}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:48px}
.btn-primary{background:var(--grad-fire);color:var(--white);font-family:var(--font-head);font-weight:700;font-size:14px;padding:14px 28px;border-radius:4px;cursor:pointer;transition:all .2s;border:none;letter-spacing:0.02em}
.btn-primary:hover{opacity:.9;transform:translateY(-2px);box-shadow:0 8px 30px rgba(232,50,26,0.3)}
.btn-secondary{background:transparent;color:var(--blue);font-family:var(--font-head);font-weight:700;font-size:14px;padding:13px 28px;border-radius:4px;cursor:pointer;transition:all .2s;border:1px solid rgba(63,188,244,0.3)}
.btn-secondary:hover{background:rgba(63,188,244,0.08);border-color:var(--blue)}
.hero-trust{display:flex;gap:24px;flex-wrap:wrap}
.trust-chip{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted)}
.trust-chip::before{content:'✓';color:var(--blue);font-weight:700}
.hero-visual{position:relative}
.hero-card{background:var(--dark2);border:1px solid var(--border);border-radius:8px;padding:24px;margin-bottom:12px;position:relative;overflow:hidden}
.hero-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px}
.hero-card.fire::before{background:var(--grad-fire)}
.hero-card.sky::before{background:var(--grad-sky)}
.hc-label{font-size:10px;font-family:var(--font-body);font-weight:500;letter-spacing:0.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px}
.hc-title{font-family:var(--font-head);font-size:22px;font-weight:800;color:var(--white);margin-bottom:4px}
.hc-sub{font-size:12px;color:var(--text-muted)}
.hc-cn{font-family:var(--font-cn);font-size:11px;color:var(--text-dim);margin-top:4px}
.lane-row{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--border)}
.lane-row:last-child{border-bottom:none}
.lane-flag{font-size:16px;width:24px;text-align:center}
.lane-info{flex:1}
.lane-name{font-size:12px;font-weight:600;color:var(--text)}
.lane-detail{font-size:11px;color:var(--text-muted)}
.lane-status{font-size:10px;font-weight:600;padding:2px 8px;border-radius:100px}
.lane-status.active{background:rgba(63,188,244,0.1);color:var(--blue)}
.lane-status.fast{background:rgba(232,50,26,0.1);color:var(--orange)}

/* TICKER */
.ticker{background:var(--dark2);border-top:1px solid var(--border);border-bottom:1px solid var(--border);overflow:hidden;padding:10px 0}
.ticker-inner{display:flex;gap:0;animation:scroll 40s linear infinite}
.ticker-item{white-space:nowrap;padding:0 40px;font-size:12px;color:var(--text-muted);font-weight:500;display:flex;align-items:center;gap:10px}
.ticker-item::before{content:'◆';color:var(--orange);font-size:8px}
.ticker-cn{font-family:var(--font-cn)}
@keyframes scroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* STATS */
.stats{padding:80px 40px;max-width:1280px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:2px}
@media(max-width:768px){.stats{grid-template-columns:repeat(2,1fr);padding:60px 20px}}
.stat-block{background:var(--dark2);padding:36px 32px;border:1px solid var(--border);text-align:center;position:relative;overflow:hidden;transition:all .2s}
.stat-block:hover{background:var(--dark3);border-color:var(--border)}
.stat-block:hover .stat-num{background:var(--grad-fire);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.stat-num{font-family:var(--font-head);font-size:42px;font-weight:800;color:var(--white);line-height:1;margin-bottom:6px;transition:all .2s}
.stat-num-word{font-size:30px;line-height:1.15;min-height:42px;display:flex;align-items:center;justify-content:center}
.stat-num-word .zh-only{font-size:42px;line-height:1}
@media(max-width:768px){.stat-num{font-size:32px}.stat-num-word{font-size:22px}.stat-num-word .zh-only{font-size:32px}}
.drayage-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:40px}
.drayage-grid>div{min-width:0;overflow-wrap:break-word}
@media(max-width:900px){.drayage-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:420px){.drayage-grid{grid-template-columns:1fr}}
.stat-label{font-size:13px;color:var(--text-muted);line-height:1.4}
.stat-cn{font-family:var(--font-cn);font-size:11px;color:var(--text-dim);margin-top:3px}

/* SECTIONS */
.section-inner{max-width:1280px;margin:0 auto;padding:0 40px;position:relative;z-index:1}
@media(max-width:768px){.section-inner{padding:0 20px}}
.section-header{text-align:center;margin-bottom:64px}
.section-eyebrow{font-size:11px;font-weight:600;letter-spacing:0.15em;text-transform:uppercase;color:var(--orange);margin-bottom:12px;display:block}
.section-title{font-family:var(--font-head);font-size:clamp(32px,4vw,48px);font-weight:800;color:var(--white);letter-spacing:-0.02em;line-height:1.1;margin-bottom:12px}
.section-title .fire{background:var(--grad-fire);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.section-title .sky{background:var(--grad-sky);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.section-cn{font-family:var(--font-cn);font-size:14px;color:var(--text-muted)}

/* SERVICES */
.services{padding:100px 0;position:relative;overflow:hidden}
.services-bg{position:absolute;inset:0;background:radial-gradient(ellipse 50% 60% at 20% 50%, rgba(63,188,244,0.05) 0%, transparent 60%),var(--black)}
.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border)}
@media(max-width:1100px){.services-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.services-grid{grid-template-columns:1fr;background:transparent;gap:12px}}
.service-card{background:var(--dark);padding:36px 28px;position:relative;overflow:hidden;transition:all .25s;cursor:default}
.service-card::before{content:'';position:absolute;inset:0;background:var(--dark2);opacity:0;transition:opacity .25s}
.service-card:hover::before{opacity:1}
.service-card:hover .sc-icon{transform:scale(1.05)}
.service-accent{position:absolute;top:0;left:0;bottom:0;width:3px;opacity:0;transition:opacity .25s}
.service-accent.fire{background:var(--grad-fire)}
.service-accent.sky{background:var(--grad-sky)}
.service-accent.amber{background:var(--amber)}
.service-accent.green{background:var(--green)}
.service-card:hover .service-accent{opacity:1}
.sc-icon{font-size:40px;margin-bottom:20px;display:block;transition:transform .25s;position:relative;z-index:1}
.sc-title{font-family:var(--font-head);font-size:22px;font-weight:800;color:var(--white);margin-bottom:6px;position:relative;z-index:1}
.sc-cn{font-family:var(--font-cn);font-size:12px;color:var(--text-dim);margin-bottom:14px;position:relative;z-index:1}
.sc-desc{font-size:14px;color:var(--text-muted);line-height:1.7;margin-bottom:20px;position:relative;z-index:1}
.sc-features{list-style:none;position:relative;z-index:1}
.sc-features li{font-size:13px;color:var(--text-muted);padding:5px 0;border-bottom:1px solid var(--border);display:flex;align-items:flex-start;gap:8px}
.sc-features li::before{content:'→';color:var(--orange);flex-shrink:0;font-size:12px;margin-top:1px}
.sc-features li:last-child{border-bottom:none}

/* COVERAGE */
.coverage{padding:100px 0}
.coverage-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:60px;align-items:start}
@media(max-width:900px){.coverage-grid{grid-template-columns:1fr;gap:40px}}
.province-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:24px}
.province-card{background:var(--dark3);border:1px solid var(--border);border-radius:4px;padding:14px 16px;display:flex;align-items:center;gap:12px;transition:all .2s}
.province-card:hover{border-color:var(--orange);background:rgba(245,124,31,0.05)}
.pc-flag{font-size:20px;flex-shrink:0}
.pc-name{font-size:13px;font-weight:600;color:var(--text);line-height:1.2}
.pc-city{font-size:11px;color:var(--text-muted)}
.trade-lane{background:var(--dark3);border:1px solid var(--border);border-radius:6px;padding:24px;margin-bottom:12px}
.tl-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.tl-title{font-family:var(--font-head);font-size:16px;font-weight:700;color:var(--white)}
.tl-badge{font-size:10px;font-weight:600;padding:3px 10px;border-radius:100px}
.tl-badge.red{background:rgba(232,50,26,0.15);color:var(--red)}
.tl-badge.blue{background:rgba(63,188,244,0.15);color:var(--blue)}
.tl-badge.amber{background:rgba(245,166,35,0.1);color:var(--amber)}
.tl-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid rgba(31,45,66,0.5);font-size:12px}
.tl-row:last-child{border-bottom:none}
.tl-key{color:var(--text-muted)}
.tl-val{color:var(--text);font-weight:500}
.tl-val.fire{background:var(--grad-fire);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:700}

/* PROCESS */
.process{padding:100px 0}
.process-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:48px}
@media(max-width:1000px){.process-steps{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.process-steps{grid-template-columns:1fr}}
.step{background:var(--dark2);border:1px solid var(--border);border-radius:6px;padding:24px;position:relative;transition:all .2s}
.step:hover{background:var(--dark3);transform:translateY(-2px)}
.step-num{width:38px;height:38px;border-radius:50%;margin-bottom:14px;display:flex;align-items:center;justify-content:center;font-family:var(--font-head);font-weight:800;font-size:15px;border:2px solid}
.step-link{display:inline-block;margin-top:12px;font-size:11px;font-weight:600;text-decoration:none}
.step-num.fire{background:rgba(232,50,26,0.1);border-color:var(--red);color:var(--red)}
.step-num.orange{background:rgba(245,124,31,0.1);border-color:var(--orange);color:var(--orange)}
.step-num.amber{background:rgba(245,166,35,0.1);border-color:var(--amber);color:var(--amber)}
.step-num.teal{background:rgba(30,159,216,0.1);border-color:var(--blue2);color:var(--blue2)}
.step-num.sky{background:rgba(63,188,244,0.1);border-color:var(--blue);color:var(--blue)}
.step-num.soft{background:rgba(168,216,240,0.1);border-color:var(--blue-soft);color:var(--blue-soft)}
.step-title{font-family:var(--font-head);font-size:15px;font-weight:700;color:var(--white);margin-bottom:8px}
.step-desc{font-size:12.5px;color:var(--text-muted);line-height:1.65}

/* WHY */
.why{padding:100px 0;background:var(--dark2);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);margin-top:60px}
@media(max-width:900px){.why-grid{grid-template-columns:1fr;background:transparent;gap:12px}}
.why-card{background:var(--dark2);padding:40px 32px}
.why-icon{font-size:32px;margin-bottom:16px;display:block}
.why-title{font-family:var(--font-head);font-size:18px;font-weight:800;color:var(--white);margin-bottom:6px}
.why-cn{font-family:var(--font-cn);font-size:11px;color:var(--text-dim);margin-bottom:12px}
.why-desc{font-size:14px;color:var(--text-muted);line-height:1.7}

/* TRUST BADGES */
.trust{padding:80px 0}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:48px}
@media(max-width:900px){.trust-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:500px){.trust-grid{grid-template-columns:1fr}}
.trust-card{background:var(--dark2);border:1px solid var(--border);padding:28px 24px;border-radius:4px;text-align:center}
.trust-icon{font-size:28px;margin-bottom:12px;display:block}
.trust-label{font-size:12px;font-weight:700;color:var(--text);margin-bottom:4px}
.trust-sub{font-size:11px;color:var(--text-muted);line-height:1.5}
.trust-sub .cn{font-family:var(--font-cn)}

/* TESTIMONIALS */
.testimonials{padding:100px 0;background:linear-gradient(135deg,rgba(232,50,26,0.04) 0%,rgba(63,188,244,0.03) 100%)}
.test-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-top:60px}
/* two real testimonials as of 2026-09-10 — cap + centre so they don't
   sit in a 3-column grid with a hole. Remove .cards-2 at the third. */
.test-grid.cards-2{max-width:880px;margin-left:auto;margin-right:auto}
@media(max-width:900px){.test-grid{grid-template-columns:1fr}}
.test-card{background:var(--dark2);border:1px solid var(--border);padding:32px 28px;border-radius:4px;position:relative;display:flex;flex-direction:column}
.test-card .test-author{margin-top:auto}
.test-card::before{content:'"';position:absolute;top:16px;right:20px;font-size:60px;color:var(--border);font-family:Georgia,serif;line-height:1}
.test-stars{color:var(--amber);font-size:13px;margin-bottom:14px;letter-spacing:2px}
.test-text{font-size:14px;color:var(--text-muted);line-height:1.7;margin-bottom:20px;font-style:italic}
.test-author{font-size:13px;font-weight:600;color:var(--text)}
.test-company{font-size:11px;color:var(--text-muted)}.test-card .test-logo{margin-top:auto;margin-bottom:10px}.test-logo img{height:28px;width:auto;display:block}.test-card .test-logo+.test-author{margin-top:0}

/* TRUSTED BY */
.trusted-by{padding:60px 0;background:var(--dark2);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.trusted-badges{display:flex;justify-content:center;gap:20px;flex-wrap:wrap;margin-top:32px}
.trusted-badge{background:var(--dark3);border:1px solid var(--border);padding:14px 24px;border-radius:100px;font-size:12px;font-weight:600;color:var(--text-muted);display:flex;align-items:center;gap:8px;transition:all .2s}
.trusted-badge:hover{border-color:var(--orange);color:var(--text)}
.trusted-badge .badge-icon{font-size:16px}

/* TEAM CSS REMOVED — staff privacy decision 2026-05-26 */

/* COMPLIANCE / CBSA */
.compliance{padding:80px 0}
.compliance-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:start;margin-top:60px}
@media(max-width:900px){.compliance-grid{grid-template-columns:1fr;gap:40px}}
.comp-list{list-style:none}
.comp-item{padding:16px 0;border-bottom:1px solid var(--border);display:flex;gap:16px;align-items:flex-start}
.comp-item:last-child{border-bottom:none}
.comp-icon{font-size:20px;flex-shrink:0;margin-top:2px;width:30px;text-align:center}
.comp-content h4{font-family:var(--font-head);font-size:14px;font-weight:700;color:var(--white);margin-bottom:3px}
.comp-content p{font-size:13px;color:var(--text-muted);line-height:1.6}
.comp-content .cn{font-family:var(--font-cn);font-size:11px;color:var(--text-dim)}
.compliance-visual{background:var(--dark2);border:1px solid var(--border);border-radius:6px;padding:28px;position:sticky;top:90px}
.cv-title{font-family:var(--font-head);font-size:16px;font-weight:700;color:var(--white);margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--border)}
.cv-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid rgba(31,45,66,0.5);font-size:13px}
.cv-row:last-child{border-bottom:none}
.cv-key{color:var(--text-muted)}
.cv-val{font-weight:600;color:var(--text);text-align:right;font-size:12px}
.cv-val.green{color:#4ade80}
.cv-val.blue{color:var(--blue)}
.cv-val.amber{color:var(--amber)}
.cv-val.red{color:var(--red)}

/* CTA BANNER */
.cta-banner{padding:80px 40px;text-align:center;background:var(--dark2);border-top:1px solid var(--border);border-bottom:1px solid var(--border);position:relative;overflow:hidden}
.cta-banner::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 80% at 50% 50%, rgba(232,50,26,0.08) 0%, transparent 70%)}
.cta-inner{max-width:700px;margin:0 auto;position:relative;z-index:1}
.cta-eyebrow{font-size:11px;font-weight:600;letter-spacing:0.15em;text-transform:uppercase;color:var(--orange);margin-bottom:12px}
.cta-title{font-family:var(--font-head);font-size:clamp(28px,4vw,44px);font-weight:800;color:var(--white);letter-spacing:-0.02em;margin-bottom:8px;line-height:1.1}
.cta-cn{font-family:var(--font-cn);font-size:16px;color:var(--text-muted);margin-bottom:24px}
.cta-sub{font-size:15px;color:var(--text-muted);margin-bottom:36px;line-height:1.6}
.cta-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

/* CONTACT FORM */
.contact{padding:100px 0}
.contact-layout{display:grid;grid-template-columns:1fr 1.6fr;gap:60px;align-items:start;padding-top:60px}
@media(max-width:900px){.contact-layout{grid-template-columns:1fr;gap:40px}}
.cdr{display:flex;gap:14px;padding:16px 0;border-bottom:1px solid var(--border);align-items:flex-start}
.cdr:last-child{border-bottom:none}
.cdr-icon{font-size:20px;flex-shrink:0;margin-top:2px}
.cdr-label{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.08em;margin-bottom:3px}
.cdr-value{font-size:14px;color:var(--text);line-height:1.5}
.cdr-cn{font-family:var(--font-cn);font-size:12px;color:var(--text-muted);display:block;margin-top:2px}
.wechat-box{background:var(--dark2);border:1px solid rgba(7,193,96,0.3);border-radius:6px;padding:20px;margin-top:20px;text-align:center}
.wechat-box-label{font-family:var(--font-cn);font-size:13px;color:#07c160;font-weight:600;margin-bottom:8px}
.wechat-box-handle{font-family:var(--font-head);font-size:22px;font-weight:800;color:var(--white)}
.wechat-box-sub{font-size:11px;color:var(--text-muted);margin-top:4px}
.contact-form{background:var(--dark2);border:1px solid var(--border);border-radius:6px;padding:36px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
@media(max-width:600px){.form-row{grid-template-columns:1fr}}
.form-group{margin-bottom:16px}
.form-label{font-size:12px;font-weight:600;color:var(--text-muted);letter-spacing:0.05em;text-transform:uppercase;margin-bottom:6px;display:block}
.form-label .cn{font-family:var(--font-cn);text-transform:none;letter-spacing:0}
.form-label .req{color:var(--red);margin-left:2px}
.form-input,.form-select,.form-textarea{width:100%;background:var(--dark3);border:1px solid var(--border);color:var(--text);font-family:var(--font-body);font-size:14px;padding:12px 14px;border-radius:4px;outline:none;transition:border-color .15s;-webkit-appearance:none}
.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--orange)}
.form-input.error,.form-select.error,.form-textarea.error{border-color:var(--red)}
.form-error{font-size:11px;color:var(--red);margin-top:4px;display:none}
.form-error.show{display:block}
.form-select option{background:var(--dark2)}
.form-textarea{resize:vertical;min-height:100px;font-family:var(--font-body)}
.form-submit{width:100%;background:var(--grad-fire);color:var(--white);font-family:var(--font-head);font-weight:700;font-size:15px;padding:15px;border:none;border-radius:4px;cursor:pointer;transition:all .2s;letter-spacing:0.02em;margin-top:4px;min-height:48px}
.form-submit:hover{opacity:.9;transform:translateY(-2px);box-shadow:0 10px 30px rgba(232,50,26,0.3)}
.form-submit:disabled{opacity:0.5;cursor:not-allowed;transform:none}
.form-note{font-size:11px;color:var(--text-dim);margin-top:10px;text-align:center}
.form-success{display:none;background:rgba(74,222,128,0.1);border:1px solid rgba(74,222,128,0.3);border-radius:6px;padding:32px;text-align:center}
.form-success.show{display:block}
.form-success h3{font-family:var(--font-head);font-size:22px;font-weight:700;color:#4ade80;margin-bottom:8px}
.form-success p{font-size:14px;color:var(--text-muted)}

/* FAQ */
.faq-item{border-bottom:1px solid var(--border)}
.faq-q{font-family:var(--font-head);font-size:15px;font-weight:600;color:var(--text);padding:18px 0;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;user-select:none;min-height:44px}
.faq-q:hover{color:var(--white)}
.faq-arrow{font-size:12px;color:var(--text-muted);transition:transform .2s;flex-shrink:0}
.faq-a{font-size:14px;color:var(--text-muted);line-height:1.7;padding-bottom:18px;display:none}
.faq-a .cn{font-family:var(--font-cn);font-size:12px;color:var(--text-dim);margin-top:6px;display:block}
.faq-item.open .faq-arrow{transform:rotate(180deg)}
.faq-item.open .faq-a{display:block}

/* TRANSIT TABLE */
.transit-table{width:100%;border-collapse:collapse;margin-top:24px;font-size:13px}
.transit-table th{text-align:left;padding:10px 12px;font-family:var(--font-head);font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.1em;border-bottom:2px solid var(--border);background:var(--dark3)}
.transit-table td{padding:10px 12px;border-bottom:1px solid var(--border);color:var(--text-muted)}
.transit-table tr:hover td{background:rgba(245,124,31,0.03);color:var(--text)}

/* PAGE HERO */
.page-hero{padding:140px 40px 80px;background:radial-gradient(ellipse 70% 60% at 60% 40%, rgba(232,50,26,0.1) 0%, transparent 60%),radial-gradient(ellipse 50% 50% at 20% 70%, rgba(63,188,244,0.07) 0%, transparent 55%),var(--dark);position:relative;overflow:hidden;border-bottom:1px solid var(--border)}
@media(max-width:768px){.page-hero{padding:110px 20px 60px}}
.page-hero-compact{padding:118px 40px 42px}
@media(max-width:768px){.page-hero-compact{padding:98px 20px 32px}}
.page-hero-grid{position:absolute;inset:0;background-image:linear-gradient(var(--border) 1px, transparent 1px),linear-gradient(90deg,var(--border) 1px, transparent 1px);background-size:60px 60px;opacity:0.15;z-index:0}
.page-hero-inner{max-width:1280px;margin:0 auto;position:relative;z-index:1}
.page-hero-eyebrow{font-size:11px;font-weight:600;letter-spacing:0.15em;text-transform:uppercase;color:var(--orange);margin-bottom:14px;display:block}
.page-hero-title{font-family:var(--font-head);font-size:clamp(36px,5vw,60px);font-weight:800;line-height:1.05;letter-spacing:-0.03em;color:var(--white);margin-bottom:10px}
.page-hero-title .fire{background:var(--grad-fire);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.page-hero-title .sky{background:var(--grad-sky);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.page-hero-cn{font-family:var(--font-cn);font-size:16px;color:var(--text-muted);margin-bottom:14px}
.page-hero-sub{font-size:15px;color:var(--text-muted);max-width:620px;line-height:1.7}

/* SERVICE DETAIL */
.service-detail{background:var(--dark2);border:1px solid var(--border);border-radius:4px;padding:36px;margin-bottom:20px;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
@media(max-width:900px){.service-detail{grid-template-columns:1fr;gap:24px}}
.service-detail.fire{border-top:3px solid var(--red)}
.service-detail.sky{border-top:3px solid var(--blue)}
.service-detail.amber{border-top:3px solid var(--amber)}
.service-detail.green{border-top:3px solid var(--green)}
.service-detail.teal{border-top:3px solid var(--blue2)}
.sd-icon{font-size:48px;margin-bottom:16px;display:block}
.sd-title{font-family:var(--font-head);font-size:26px;font-weight:800;color:var(--white);margin-bottom:4px}
.sd-cn{font-family:var(--font-cn);font-size:13px;color:var(--text-dim);margin-bottom:14px}
.sd-desc{font-size:14px;color:var(--text-muted);line-height:1.7}
.sd-right h4{font-family:var(--font-head);font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.1em;margin-bottom:12px}
.sd-right ul{list-style:none}
.sd-right ul li{font-size:13px;color:var(--text-muted);padding:7px 0;border-bottom:1px solid rgba(31,45,66,0.5);display:flex;gap:8px;align-items:flex-start}
.sd-right ul li::before{content:'→';color:var(--orange);flex-shrink:0;font-size:11px;margin-top:2px}
.sd-right ul li:last-child{border-bottom:none}

/* FOOTER */
footer{background:var(--dark);border-top:1px solid var(--border);padding:60px 40px 32px}
.footer-inner{max-width:1280px;margin:0 auto}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;padding-bottom:48px;border-bottom:1px solid var(--border)}
@media(max-width:900px){.footer-grid{grid-template-columns:1fr 1fr;gap:32px}}
@media(max-width:500px){.footer-grid{grid-template-columns:1fr}}
.footer-brand-name{font-family:var(--font-head);font-size:18px;font-weight:800;color:var(--white);margin-bottom:4px}
.footer-brand-name span{background:var(--grad-fire);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.footer-brand-cn{font-family:var(--font-cn);font-size:13px;color:var(--text-muted);margin-bottom:14px}
.footer-desc{font-size:13px;color:var(--text-muted);line-height:1.6;max-width:280px}
.footer-col h4{font-family:var(--font-head);font-size:13px;font-weight:700;color:var(--text);letter-spacing:0.05em;margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid var(--border)}
.footer-link{font-size:13px;color:var(--text-muted);display:block;padding:4px 0;transition:color .15s;cursor:pointer}
.footer-link:hover{color:var(--orange)}
.footer-link .cn{font-family:var(--font-cn)}
.footer-certs{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap}
.footer-cert-badge{font-size:10px;font-weight:600;padding:4px 12px;border-radius:100px;border:1px solid;display:inline-flex;align-items:center;gap:4px}
.footer-cert-badge.blue{border-color:rgba(63,188,244,0.3);color:var(--blue);background:rgba(63,188,244,0.05)}
.footer-cert-badge.green{border-color:rgba(74,222,128,0.3);color:#4ade80;background:rgba(74,222,128,0.05)}
.footer-cert-badge.amber{border-color:rgba(245,166,35,0.3);color:var(--amber);background:rgba(245,166,35,0.05)}
.footer-social{display:flex;gap:12px;margin-top:16px}
.footer-social a{font-size:18px;color:var(--text-muted);transition:color .15s}
.footer-social a:hover{color:var(--orange)}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:28px;flex-wrap:wrap;gap:12px}
.footer-copy{font-size:12px;color:var(--text-dim)}
.footer-legal{display:flex;gap:20px}
.footer-legal a{font-size:12px;color:var(--text-dim);transition:color .15s}
.footer-legal a:hover{color:var(--text-muted)}

/* LANG */
.lang-toggle{display:flex;align-items:center;gap:4px;background:var(--dark3);border:1px solid var(--border);border-radius:100px;padding:3px;cursor:pointer;user-select:none}
.lang-toggle .lt-opt{font-size:11px;font-weight:600;padding:5px 12px;border-radius:100px;transition:all .2s;color:var(--text-muted);white-space:nowrap}
.lang-toggle .lt-opt.active{background:var(--grad-fire);color:var(--white)}
.lang-toggle .lt-opt:hover:not(.active){color:var(--text)}
body:not(.lang-zh) .zh-only{display:none !important}
body.lang-zh .en-only{display:none !important}
body.lang-zh .nav-link:not(.cn){font-family:var(--font-cn)}
body.lang-zh .section-title, body.lang-zh .page-hero-title, body.lang-zh .hero-h1, body.lang-zh .cta-title{font-family:var(--font-cn);letter-spacing:0}
body.lang-zh .footer-col h4{font-family:var(--font-cn)}
.hero-cn, .section-cn, .page-hero-cn, .cta-cn, .sc-cn, .why-cn, .hc-cn, .stat-cn, .ticker-cn, .sd-cn{display:none !important}
.faq-a .cn, .comp-content .cn, .cdr-cn, .cd-value .cn, .footer-link .cn, .team-role-cn{display:none !important}
/* Chinese brand-accent lines are hidden in ALL languages (Steven's call,
   2026-06-12: every language mode stays pure — the two rules above already
   hide them globally; the FR/ES rule below is a redundant belt-and-braces) */
body.lang-fr .hero-cn,body.lang-fr .page-hero-cn,body.lang-fr .section-cn,body.lang-fr .why-cn,body.lang-fr .sd-cn,body.lang-fr .cta-cn,body.lang-fr .stat-cn,body.lang-fr .sc-cn,body.lang-es .hero-cn,body.lang-es .page-hero-cn,body.lang-es .section-cn,body.lang-es .why-cn,body.lang-es .sd-cn,body.lang-es .cta-cn,body.lang-es .stat-cn,body.lang-es .sc-cn{display:none !important}

/* RESPONSIVE INLINE GRIDS */
@media(max-width:900px){
  .grid-3-resp{grid-template-columns:1fr !important}
  .grid-5-resp{grid-template-columns:repeat(2,1fr) !important}
  .grid-2-resp{grid-template-columns:1fr !important}
}
@media(max-width:500px){
  .grid-5-resp{grid-template-columns:1fr !important}
}

/* SVG ICONS */
.ico{display:inline-block;vertical-align:middle;width:1em;height:1em;flex-shrink:0}
.sc-icon .ico{width:40px;height:40px}
.sd-icon .ico{width:44px;height:44px}
.why-icon .ico{width:28px;height:28px}
.badge-icon .ico{width:18px;height:18px}
.cdr-icon .ico{width:20px;height:20px}
.sc-icon{color:var(--text-muted)}
.service-card:hover .sc-icon{color:var(--text)}
.service-card:nth-child(1) .sc-icon{color:var(--orange)}
.service-card:nth-child(2) .sc-icon{color:var(--blue)}
.service-card:nth-child(3) .sc-icon{color:var(--amber)}
.service-card:nth-child(4) .sc-icon{color:var(--green)}
.why-icon{color:var(--orange)}
.badge-icon{color:var(--text-muted)}
.cdr-icon{color:var(--blue)}
.sd-icon{color:var(--text-muted)}
.service-detail.fire .sd-icon{color:var(--orange)}
.service-detail.sky .sd-icon{color:var(--blue)}
.service-detail.amber .sd-icon{color:var(--amber)}
.service-detail.green .sd-icon{color:var(--green)}
.service-detail.teal .sd-icon{color:var(--blue2)}
.pc-flag .ico{width:20px;height:20px}
.comp-icon .ico{width:20px;height:20px}
.comp-icon{color:var(--blue)}

/* CARRIER PARTNERS */
.carriers{padding:80px 0;background:var(--dark);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.carriers-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:48px}
@media(max-width:900px){.carriers-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:500px){.carriers-grid{grid-template-columns:repeat(2,1fr);gap:8px}}
.carrier-card{background:var(--dark2);border:1px solid var(--border);padding:24px 18px;border-radius:6px;text-align:center;transition:all .2s;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:88px}
.carrier-card:hover{border-color:rgba(63,188,244,0.4);transform:translateY(-2px)}
.carrier-name{font-family:var(--font-head);font-size:18px;font-weight:800;color:var(--white);letter-spacing:-0.01em;line-height:1.1}
.carrier-sub{font-size:10px;color:var(--text-dim);margin-top:4px;letter-spacing:0.05em;text-transform:uppercase}
.carriers-disclaimer{font-size:11px;color:var(--text-dim);text-align:center;margin-top:24px;font-style:italic;max-width:600px;margin-left:auto;margin-right:auto;line-height:1.5}

/* LEGAL PAGES */
.legal-page{padding:120px 40px 80px;max-width:880px;margin:0 auto;min-height:calc(100vh - 70px)}
@media(max-width:768px){.legal-page{padding:100px 20px 60px}}
.legal-page .page-hero-eyebrow{margin-bottom:14px}
.legal-page h1{font-family:var(--font-head);font-size:clamp(28px,4vw,42px);font-weight:800;color:var(--white);letter-spacing:-0.02em;margin-bottom:8px;line-height:1.1}
.legal-page h1 .fire{background:var(--grad-fire);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.legal-page h2{font-family:var(--font-head);font-size:18px;font-weight:700;color:var(--white);margin-top:32px;margin-bottom:10px;letter-spacing:-0.01em}
.legal-page h3{font-family:var(--font-head);font-size:14px;font-weight:600;color:var(--text);margin-top:20px;margin-bottom:6px}
.legal-page p{font-size:14px;color:var(--text-muted);line-height:1.75;margin-bottom:12px}
.legal-page ul{list-style:disc;padding-left:24px;margin-bottom:12px}
.legal-page ul li{font-size:14px;color:var(--text-muted);line-height:1.75;padding:3px 0}
.legal-page strong{color:var(--text);font-weight:600}
.legal-page a{color:var(--blue);text-decoration:underline}
.legal-page a:hover{color:var(--blue2)}
.legal-page .legal-updated{font-size:13px;color:var(--text-muted);font-style:italic;margin:8px 0 24px 0;padding-bottom:16px;border-bottom:1px solid var(--border)}
.legal-page .legal-controlling{background:rgba(63,188,244,0.05);border:1px solid rgba(63,188,244,0.2);padding:12px 16px;margin:0 0 24px 0;border-radius:4px;font-size:12px;color:var(--text-muted)}
.legal-page .legal-controlling p{margin:0;font-size:12px}
.legal-page .legal-contact{background:var(--dark2);border:1px solid var(--border);padding:20px;margin-top:24px;border-radius:6px}
.legal-page .legal-contact p{margin:4px 0;font-size:13px}
body.lang-zh .legal-page h1, body.lang-zh .legal-page h2, body.lang-zh .legal-page h3{font-family:var(--font-cn);letter-spacing:0}

/* SCROLL ANIMATIONS */
.fade-up{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}
.fade-up.visible{opacity:1;transform:translateY(0)}
[id]{scroll-margin-top:80px}

/* MULTI-PAGE SYSTEM */
.page{display:none;min-height:calc(100vh - 70px);opacity:0;transition:opacity .25s ease}
.page.active{display:block;opacity:1}
.nav-link.active-page{color:var(--white) !important;background:var(--dark3) !important}

/* BRIEFINGS PAGE */
.briefings-grid{display:grid;grid-template-columns:1fr;gap:24px;max-width:900px;margin:0 auto}
.briefing-card{background:var(--dark2);border:1px solid var(--border);border-radius:8px;padding:32px;position:relative;overflow:hidden;transition:border-color .2s,transform .2s;cursor:default}
.briefing-card:hover{border-color:rgba(63,188,244,0.3);transform:translateY(-2px)}
.briefing-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--grad-sky);opacity:0;transition:opacity .2s}
.briefing-card:hover::before{opacity:1}
.briefing-meta{display:flex;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}
.briefing-date{font-size:12px;color:var(--text-dim);font-family:var(--font-head);font-weight:500;letter-spacing:0.04em}
.briefing-tag{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;padding:3px 10px;border-radius:100px;line-height:1.4}
.briefing-tag.policy{background:rgba(63,188,244,0.12);color:var(--blue)}
.briefing-tag.tariff{background:rgba(232,50,26,0.12);color:var(--red)}
.briefing-tag.ops{background:rgba(245,166,35,0.12);color:var(--amber)}
.briefing-tag.terminal{background:rgba(74,222,128,0.12);color:var(--green)}
.briefing-tag.advisory{background:rgba(168,216,240,0.12);color:var(--blue-soft)}
.briefing-title{font-family:var(--font-head);font-size:20px;font-weight:700;color:var(--white);margin-bottom:8px;line-height:1.3}
.briefing-title-zh{font-family:var(--font-cn);font-size:15px;color:var(--text-muted);margin-bottom:14px;display:none}
body.lang-zh .briefing-title-zh{display:block}
.briefing-body{font-size:14px;color:var(--text-muted);line-height:1.75}
.briefing-body p{margin-bottom:12px}
.briefing-body p:last-child{margin-bottom:0}
.briefing-body strong{color:var(--text)}
.briefing-body-zh{display:none;font-family:var(--font-cn);font-size:14px;color:var(--text-muted);line-height:1.8;margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}
body.lang-zh .briefing-body-zh{display:block}
.briefing-source{margin-top:16px;font-size:12px;color:var(--text-dim);font-style:italic}
.briefing-loading{text-align:center;padding:60px 20px;color:var(--text-dim);font-size:14px}
.briefing-empty{text-align:center;padding:60px 20px;color:var(--text-muted);font-size:15px}
.briefing-filter-bar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:32px;justify-content:center}
.briefing-filter{font-size:12px;font-weight:600;padding:6px 16px;border-radius:100px;border:1px solid var(--border);background:transparent;color:var(--text-muted);cursor:pointer;transition:all .15s;font-family:var(--font-head)}
.briefing-filter:hover{border-color:var(--text-dim);color:var(--text)}
.briefing-filter.active{background:rgba(63,188,244,0.1);border-color:rgba(63,188,244,0.4);color:var(--blue)}
@media(max-width:768px){
  .briefing-card{padding:24px 20px}
  .briefing-title{font-size:17px}
}

/* REGION / INDUSTRY BANNER ART */
.region-banner{background:var(--dark2);border-bottom:1px solid var(--border);line-height:0;overflow:hidden}
.region-banner svg{width:100%;height:auto;display:block;max-height:280px;min-height:140px}

/* LOCAL INTEL SECTION */
.intel-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:start;margin-top:48px}
@media(max-width:900px){.intel-grid{grid-template-columns:1fr;gap:32px}}
.intel-list{list-style:none}
.intel-list li{padding:14px 0;border-bottom:1px solid var(--border);display:flex;gap:12px;align-items:flex-start;font-size:14px;color:var(--text-muted);line-height:1.7}
.intel-list li::before{content:'◆';color:var(--orange);font-size:9px;margin-top:7px;flex-shrink:0}
.intel-list li:last-child{border-bottom:none}
.intel-list li strong{color:var(--text)}
.intel-facts{background:var(--dark3);border:1px solid var(--border);border-radius:6px;padding:26px}
.intel-facts .cv-title{font-family:var(--font-head);font-size:15px;font-weight:700;color:var(--white);margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid var(--border)}

/* TRACK YOUR SHIPMENT WIDGET */
.track-widget{background:var(--dark2);border:1px solid var(--border);border-radius:8px;padding:36px;max-width:820px;margin:40px auto 0;position:relative;overflow:hidden}
.track-widget::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--grad-sky)}
.track-title{font-family:var(--font-head);font-size:20px;font-weight:800;color:var(--white);margin-bottom:6px;text-align:center}
.track-sub{font-size:13px;color:var(--text-muted);text-align:center;margin-bottom:22px;line-height:1.6}
.track-row{display:flex;gap:12px;flex-wrap:wrap}
.track-row .form-input{flex:2;min-width:180px}
.track-row .form-select{flex:1.6;min-width:160px}
.track-row .btn-primary{flex:1;min-width:130px;padding:12px 18px}
.track-err{font-size:12px;color:var(--red);margin-top:8px;text-align:center;display:none}
.track-err.show{display:block}
.track-copied{font-size:12px;color:var(--green);margin-top:8px;text-align:center;display:none}
.track-copied.show{display:block}
.track-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px;justify-content:center}
.track-link{font-size:12px;font-weight:600;color:var(--blue);border:1px solid rgba(63,188,244,0.3);padding:7px 16px;border-radius:100px;transition:all .15s;cursor:pointer}
.track-link:hover{background:rgba(63,188,244,0.08);border-color:var(--blue)}
.track-note{font-size:11px;color:var(--text-dim);margin-top:16px;text-align:center;line-height:1.6}

/* IMPORT CALCULATORS */
.tool-card{background:var(--dark2);border:1px solid var(--border);border-radius:8px;padding:36px;max-width:880px;margin:0 auto 28px;position:relative;overflow:hidden}
.tool-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--grad-sky)}
.tool-row{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:18px 0 6px}
@media(max-width:900px){.tool-row{grid-template-columns:repeat(2,1fr)}}
.tool-row .form-group{margin-bottom:0}
.tool-result{margin-top:20px;background:var(--dark3);border:1px solid var(--border);border-radius:6px;padding:18px 22px}
.tool-card .btn-primary{margin-top:10px}

/* ══════════════════════════════════════════════════════════════════════
   20TH DRAFT — "FIRST LIGHT" DESIGN UPGRADE LAYER (2026-08-20)
   Append-only overrides. Everything above is the live 19th-rev system,
   untouched — delete this block to restore the shipped look exactly.
   Zero copy / markup / JS changes. Thesis: the Sunshine gradient stops
   being a text effect and becomes the page's light source — a sunrise
   horizon over the dark port, carried through nav → hero → footer.
   ══════════════════════════════════════════════════════════════════════ */
:root{
  --ease-spring:cubic-bezier(.16,1,.3,1);
  --corner-idle:rgba(125,144,168,.38);
  --corner-lit:rgba(245,124,31,.85);
}
::selection{background:rgba(232,50,26,.4);color:var(--white)}
::-webkit-scrollbar-thumb{background:#243550}
::-webkit-scrollbar-thumb:hover{background:var(--orange)}
:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:2px}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}
  .fade-up{opacity:1 !important;transform:none !important}
}

/* ── NAV: deeper glass, quiet active underline ── */
nav{background:rgba(8,10,13,.86);backdrop-filter:blur(24px) saturate(1.5);-webkit-backdrop-filter:blur(24px) saturate(1.5)}
/* Logo hover: the sun flares — a radial dawn-glow blooms behind the mark
   while it tilts up and brightens. (Steven's request, 2026-08-20.) */
.nav-logo{position:relative;z-index:0}
.nav-logo::before{content:'';position:absolute;left:-11px;top:50%;width:56px;height:56px;transform:translateY(-50%) scale(.6);border-radius:50%;
  background:radial-gradient(circle,rgba(245,166,35,.4) 0%,rgba(245,124,31,.22) 40%,rgba(232,50,26,.1) 58%,transparent 72%);
  opacity:0;transition:opacity .4s ease,transform .5s var(--ease-spring);pointer-events:none;z-index:-1}
.nav-logo:hover::before{opacity:1;transform:translateY(-50%) scale(1)}
.nav-logo img{transition:transform .5s var(--ease-spring),box-shadow .4s ease,filter .4s ease,border-radius .45s var(--ease-spring)}
.nav-logo:hover img{border-radius:50% !important;transform:rotate(-8deg) translateY(-1px) scale(1.08);filter:brightness(1.18) saturate(1.15);box-shadow:0 0 12px rgba(245,124,31,.5),0 0 30px rgba(232,50,26,.28)}/* !important: the img carries an inline border-radius:4px */
.nav-logo:hover .nav-logo-text{color:var(--white)}
.nav-link{border-radius:6px}
.nav-link.active-page{box-shadow:inset 0 -2px 0 var(--orange)}
.nav-cta{border-radius:6px}
/* BUGFIX (pre-existing on the live 19th, found 2026-08-20): FR/ES labels
   overflow the bar between 1281–1480px — the Get-a-Quote CTA clips off the
   right viewport edge. Tighten those two languages only in that band. */
@media(max-width:1480px){
  html[lang^="fr"] .nav-link,html[lang^="es"] .nav-link{padding:8px 8px;font-size:12.5px}
  html[lang^="fr"] .nav-cta,html[lang^="es"] .nav-cta{padding:9px 13px;font-size:12.5px}
  html[lang^="fr"] .nav-links,html[lang^="es"] .nav-links{gap:2px}
  html[lang^="fr"] .lang-toggle .lt-opt,html[lang^="es"] .lang-toggle .lt-opt{padding:5px 8px}
  html[lang^="fr"] .nav-logo,html[lang^="es"] .nav-logo{margin-right:20px}
}

/* ── THE SIGNATURE: sunrise horizon in the hero ──
   A thin fire→sky line low in the hero with a soft sun-glow rising under
   it. Pure light, no new markup — lives on the existing .hero-bg layer. */
.hero-bg::before{content:'';position:absolute;bottom:4%;left:38%;width:760px;height:340px;transform:translateX(-50%);
  background:radial-gradient(ellipse 50% 46% at 50% 88%,rgba(245,124,31,.32) 0%,rgba(232,50,26,.15) 45%,transparent 72%);
  filter:blur(10px);pointer-events:none}
.hero-bg::after{content:'';position:absolute;left:-5%;right:-5%;bottom:7%;height:2px;
  background:linear-gradient(90deg,transparent 2%,rgba(232,50,26,.45) 26%,rgba(245,124,31,.85) 46%,rgba(245,166,35,.75) 58%,rgba(63,188,244,.5) 78%,transparent 98%);
  box-shadow:0 0 22px 2px rgba(245,124,31,.35),0 0 90px 14px rgba(232,50,26,.16);
  animation:horizon-breathe 8s ease-in-out infinite alternate;pointer-events:none}
@keyframes horizon-breathe{from{opacity:.6}to{opacity:1}}
.hero-grid{-webkit-mask-image:radial-gradient(ellipse 85% 75% at 60% 50%,#000 25%,transparent 78%);mask-image:radial-gradient(ellipse 85% 75% at 60% 50%,#000 25%,transparent 78%)}
.hero-badge{backdrop-filter:blur(6px)}
.hero-h1{letter-spacing:-0.035em}
.hero-card{border-radius:10px;box-shadow:0 24px 50px -32px rgba(0,0,0,.9);transition:border-color .25s,transform .25s var(--ease-spring)}
.hero-card:hover{border-color:#2a3d5c;transform:translateY(-2px)}
.lane-status.active{display:inline-flex;align-items:center;gap:5px}
.lane-status.active::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--blue);animation:pulse 2s infinite}

/* Sub-page heroes carry the same horizon, resting on their bottom edge */
.page-hero{border-bottom-color:transparent}
.page-hero::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;
  background:linear-gradient(90deg,transparent 2%,rgba(232,50,26,.4) 25%,rgba(245,124,31,.7) 48%,rgba(245,166,35,.55) 62%,rgba(63,188,244,.4) 80%,transparent 98%);
  box-shadow:0 0 16px 1px rgba(245,124,31,.22);pointer-events:none}
.page-hero-grid{-webkit-mask-image:radial-gradient(ellipse 90% 90% at 55% 40%,#000 25%,transparent 80%);mask-image:radial-gradient(ellipse 90% 90% at 55% 40%,#000 25%,transparent 80%)}

/* ── CORNER CASTINGS: the four corner fittings of a container, drawn as
   faint bracket marks on the "working document" cards; they light up
   orange when the card is engaged. Background-image only — safe next to
   each card's existing ::before/::after decorations. ── */
.trade-lane,.tool-card,.track-widget,.compliance-visual,.contact-form,.intel-facts{
  background-image:
    linear-gradient(var(--corner-idle),var(--corner-idle)),linear-gradient(var(--corner-idle),var(--corner-idle)),
    linear-gradient(var(--corner-idle),var(--corner-idle)),linear-gradient(var(--corner-idle),var(--corner-idle)),
    linear-gradient(var(--corner-idle),var(--corner-idle)),linear-gradient(var(--corner-idle),var(--corner-idle)),
    linear-gradient(var(--corner-idle),var(--corner-idle)),linear-gradient(var(--corner-idle),var(--corner-idle));
  background-repeat:no-repeat;
  background-size:12px 1px,1px 12px,12px 1px,1px 12px,12px 1px,1px 12px,12px 1px,1px 12px;
  background-position:9px 9px,9px 9px,calc(100% - 9px) 9px,calc(100% - 9px) 9px,9px calc(100% - 9px),9px calc(100% - 9px),calc(100% - 9px) calc(100% - 9px),calc(100% - 9px) calc(100% - 9px);
  transition:border-color .25s}
.trade-lane:hover,.tool-card:hover,.track-widget:hover,.contact-form:hover{
  background-image:
    linear-gradient(var(--corner-lit),var(--corner-lit)),linear-gradient(var(--corner-lit),var(--corner-lit)),
    linear-gradient(var(--corner-lit),var(--corner-lit)),linear-gradient(var(--corner-lit),var(--corner-lit)),
    linear-gradient(var(--corner-lit),var(--corner-lit)),linear-gradient(var(--corner-lit),var(--corner-lit)),
    linear-gradient(var(--corner-lit),var(--corner-lit)),linear-gradient(var(--corner-lit),var(--corner-lit));
  border-color:#2a3d5c}

/* ── SECTION HEADERS: eyebrow gets flanking hairlines ── */
.section-header .section-eyebrow{display:inline-flex;align-items:center;gap:12px}
.section-header .section-eyebrow::before,.section-header .section-eyebrow::after{content:'';width:26px;height:1px;flex-shrink:0}
.section-header .section-eyebrow::before{background:linear-gradient(90deg,transparent,rgba(245,124,31,.65))}
.section-header .section-eyebrow::after{background:linear-gradient(90deg,rgba(245,124,31,.65),transparent)}

/* ── STATS: light the top edge, gradient numeral on hover stays ── */
.stat-block{border-radius:6px}
.stat-block::after{content:'';position:absolute;top:0;left:18%;right:18%;height:1px;background:linear-gradient(90deg,transparent,rgba(245,124,31,.6),transparent);opacity:0;transition:opacity .3s}
.stat-block:hover{transform:translateY(-2px)}
.stat-block:hover::after{opacity:1}

/* ── BUTTONS: one shine sweep on hover, warmer glow ── */
.btn-primary,.nav-cta,.form-submit{position:relative;overflow:hidden}
.btn-primary::after,.nav-cta::after,.form-submit::after{content:'';position:absolute;top:0;bottom:0;left:-70%;width:45%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.32),transparent);transform:skewX(-18deg);transition:left .5s ease;pointer-events:none}
.btn-primary:hover::after,.nav-cta:hover::after,.form-submit:hover::after{left:130%}
.btn-primary:hover{box-shadow:0 10px 34px rgba(232,50,26,.35)}
.btn-secondary{border-radius:6px}
.btn-primary,.form-submit{border-radius:6px}

/* ── TICKER: fades out at the edges, pauses under the cursor;
   diamonds alternate ember/sky like channel markers ── */
.ticker{-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.ticker:hover .ticker-inner{animation-play-state:paused}
.ticker-item:nth-child(3n)::before{color:var(--blue)}
.ticker-item:nth-child(3n+2)::before{color:var(--amber)}

/* ── CARDS & TABLES: depth without noise ── */
.service-card:hover{box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
.step:hover{box-shadow:0 14px 34px -20px rgba(0,0,0,.85)}
.briefing-card:hover{box-shadow:0 18px 44px -26px rgba(0,0,0,.9)}
.carrier-card:hover{box-shadow:0 14px 34px -22px rgba(0,0,0,.9)}
.province-card{border-radius:6px}
.trade-lane{border-radius:8px}
.track-widget,.tool-card{box-shadow:0 26px 60px -38px rgba(0,0,0,.95)}
.transit-table tr:hover td{background:rgba(245,124,31,.05)}

/* ── FORMS: focus glow ── */
.form-input:focus,.form-select:focus,.form-textarea:focus{box-shadow:0 0 0 3px rgba(245,124,31,.14)}

/* ── FAQ: open state lights the marker ── */
.faq-item.open .faq-arrow{color:var(--orange)}
.faq-item.open .faq-q{color:var(--white)}

/* ── FOOTER: the horizon sets here — mirrored sunrise hairline ── */
footer{position:relative}
footer::before{content:'';position:absolute;top:-1px;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 3%,rgba(63,188,244,.3) 22%,rgba(245,166,35,.45) 50%,rgba(232,50,26,.35) 78%,transparent 97%)}
.footer-link{transition:color .15s,transform .2s var(--ease-spring)}
.footer-link:hover{transform:translateX(3px)}

/* ── REGION BANNERS: keep the art, seat it on a lit sill ── */
.region-banner{position:relative;border-bottom-color:transparent}
.region-banner::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent 4%,rgba(232,50,26,.35) 30%,rgba(245,166,35,.5) 55%,rgba(63,188,244,.35) 80%,transparent 96%)}

/* ── PAGE TRANSITIONS: gentle rise on SPA page swap / static load ── */
@keyframes pageIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.page.active{animation:pageIn .45s var(--ease-spring)}

/* ── REVEALS: springier, slightly longer ── */
.fade-up{transform:translateY(28px);transition:opacity .7s var(--ease-spring),transform .7s var(--ease-spring)}

/* ── HERO ENTRANCE: one orchestrated rise at first light — badge, headline,
   sub, actions, trust, then the lane checker. Replays on SPA return home;
   killed wholesale by the reduced-motion rule above. ── */
@keyframes riseIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.hero .hero-badge{animation:riseIn .7s var(--ease-spring) both .05s}
.hero .hero-h1{animation:riseIn .8s var(--ease-spring) both .15s}
.hero .hero-sub{animation:riseIn .8s var(--ease-spring) both .28s}
.hero .hero-actions{animation:riseIn .8s var(--ease-spring) both .4s}
.hero .hero-trust{animation:riseIn .8s var(--ease-spring) both .52s}
.hero .hero-visual{animation:riseIn .9s var(--ease-spring) both .3s}
/* ══════════════════════════════════════════════════════════════════════
   21ST DRAFT — "ROOM TO BREATHE" MOBILE LAYER + "DAWN ROUTE" HERO (2026-09-26)
   Append-only overrides on top of the 20th "First Light" layer. Injected by
   _draft21_build.py from _draft21\layer.css — edit HERE, not in the draft HTML.
   Zero copy / i18n changes. Delete this block (+ the .dawn-route SVG and the
   draft21 script) to get the live 20th look back byte-for-byte.
   ══════════════════════════════════════════════════════════════════════ */

/* ── DAWN ROUTE: the sun rises over Vancouver, the Pacific and Atlantic
   lanes draw in, the ports light up, a container runs the rail line.
   Plays once (the haul repeats slowly); reduced-motion = final frame. ── */
.hero-bg::before,.hero-bg::after{display:none}   /* the SVG now carries the glow + horizon */
.dawn-route{position:absolute;left:0;right:0;bottom:0;width:100%;height:auto;aspect-ratio:3/1;pointer-events:none;overflow:visible}
.dawn-route .dr-horizon{transform-origin:300px 330px;animation:drLine 1.3s var(--ease-spring) both .3s,horizon-breathe 8s ease-in-out 2s infinite alternate}
.dawn-route .dr-glow{transform-origin:300px 330px;animation:drGlowIn 2.4s var(--ease-spring) both .45s}
.dawn-route .dr-sun{animation:drRise 2.2s var(--ease-spring) both .6s}
.dawn-route .dr-draw{stroke-dasharray:1;stroke-dashoffset:1;animation:drDraw 1.7s cubic-bezier(.45,0,.2,1) forwards}
.dawn-route .dr-d1{animation-delay:1.3s}
.dawn-route .dr-d2{animation-delay:1.65s}
.dawn-route .dr-d3{animation-delay:1.8s}
.dawn-route .dr-port{transform-box:fill-box;transform-origin:center;animation:drPop .55s var(--ease-spring) both}
.dawn-route .dr-p1{animation-delay:2.75s}.dawn-route .dr-p2{animation-delay:2.9s}.dawn-route .dr-p3{animation-delay:3.0s}
.dawn-route .dr-p4{animation-delay:3.05s}.dawn-route .dr-p5{animation-delay:3.1s}
.dawn-route .dr-p6{animation-delay:3.15s}.dawn-route .dr-p7{animation-delay:3.25s}
.dawn-route .dr-ring{transform-box:fill-box;transform-origin:center;opacity:0;animation:drRing 1.6s ease-out 3s 1 forwards}
.dawn-route .dr-ring2{animation-delay:3.35s}
.dawn-route .dr-haul{opacity:0;animation:drHaul 13s cubic-bezier(.45,0,.25,1) 3.7s infinite;filter:drop-shadow(0 0 5px rgba(245,166,35,.8))}
@keyframes drLine{from{transform:scaleX(0);opacity:0}to{transform:scaleX(1);opacity:1}}
@keyframes drGlowIn{from{opacity:0;transform:translateY(70px) scale(.6)}to{opacity:1;transform:none}}
@keyframes drRise{from{transform:translateY(96px)}to{transform:none}}
@keyframes drDraw{to{stroke-dashoffset:0}}
@keyframes drPop{0%{opacity:0;transform:scale(0)}65%{opacity:1;transform:scale(1.5)}100%{opacity:1;transform:scale(1)}}
@keyframes drRing{0%{opacity:.9;transform:scale(.8)}100%{opacity:0;transform:scale(3.4)}}
@keyframes drHaul{0%{opacity:0;transform:translateX(300px)}6%{opacity:1}50%{opacity:1;transform:translateX(985px)}56%,100%{opacity:0;transform:translateX(985px)}}
@media(prefers-reduced-motion:reduce){.dawn-route .dr-haul{display:none}}

/* Desktop / tablet: the scene rests on the hero floor behind both columns */
@media(min-width:901px){
  /* scene rests on the hero floor; the content keeps clear of the horizon band
     (horizon = 0.058 x width above the floor, sun top ~ +55px) so text never overlaps it */
  .hero-inner{padding-top:56px;padding-bottom:calc(5.8vw + 64px)}
}
/* Stacked layouts (tablet + phone, ≤ 900px): the hero floor is hidden behind
   the lane checker, so the scene becomes a banner above the badge instead.
   Horizon sits at 64px + 27.5vw (330/400 of a 3:1 box) → content starts just under it. */
@media(max-width:900px){
  .hero{min-height:auto}
  .dawn-route{top:64px;bottom:auto;max-height:none;-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
  .hero-inner{padding-top:calc(27.5vw + 12px)}
}

/* ── PHONES (≤ 640px): room to breathe ── */
@media(max-width:640px){
  /* NAV — logo on one line; language pill collapses to the active language
     (tap to open; the full set is also in the menu) */
  .nav-inner{padding:0 16px}
  .nav-logo-text{font-size:16px;white-space:nowrap}
  .nav-logo img{width:40px !important;height:40px !important;margin:-5px}
  .nav-right{gap:10px}
  .nav-right>.lang-toggle{position:relative;padding:3px}
  .nav-right>.lang-toggle .lt-opt{padding:6px 11px;min-height:32px;display:inline-flex;align-items:center}
  .nav-right>.lang-toggle:not(.open) .lt-opt:not(.active){display:none}
  .nav-right>.lang-toggle:not(.open) .lt-opt.active::after{content:'';width:0;height:0;margin-left:7px;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid currentColor;opacity:.85}
  .nav-right>.lang-toggle.open{position:absolute;right:58px;top:14px;flex-direction:column;align-items:stretch;background:var(--dark2);border-radius:12px;box-shadow:0 18px 40px -12px rgba(0,0,0,.9);z-index:1003}
  .nav-right>.lang-toggle.open .lt-opt{justify-content:center;border-radius:9px;padding:9px 16px}

  /* HERO — tighter type and full-width actions (the dawn banner is set in the ≤900 block) */
  .hero-inner{padding:calc(27.5vw + 12px) 16px 40px;gap:28px}
  .hero-badge{margin-bottom:18px;font-size:11.5px}
  .hero-h1{font-size:40px;margin-bottom:14px}
  .hero-sub{font-size:15px;line-height:1.62;margin-bottom:26px}
  .hero-actions{flex-direction:column;gap:10px;margin-bottom:22px}
  .hero-actions .btn-primary,.hero-actions .btn-secondary{width:100%;text-align:center;padding:15px 20px;font-size:15px}
  .hero-trust{gap:6px 14px}
  .trust-chip{font-size:11.5px;white-space:nowrap}
  .hero-card{padding:20px 18px}

  /* SECTION RHYTHM — ~40% less dead air between blocks */
  .services,.coverage,.process,.why,.testimonials{padding:56px 0}
  .carriers,.trusted-by{padding:44px 0}
  section[style*="padding:80px 0"]{padding:52px 0 !important}
  section[style*="padding:60px 0"]{padding:40px 0 !important}
  .section-inner{padding:0 16px}
  .section-header{margin-bottom:32px}
  .section-title{font-size:30px}
  .stats{padding:40px 16px}
  .page-hero{padding:100px 16px 40px}
  .page-hero-compact{padding:92px 16px 28px}
  .page-hero-title{font-size:34px}
  .page-hero-sub{font-size:14.5px}

  /* CORE SERVICES + SERVICE DETAIL cards — tighter */
  .service-card{padding:24px 20px}
  .sc-icon{margin-bottom:12px}
  .services-grid{gap:10px}
  .service-detail{padding:24px 18px;gap:18px;margin-bottom:14px}
  .sd-icon{font-size:36px;margin-bottom:10px}
  .sd-title{font-size:22px}

  /* WHY SUNSHINE — icon beside the text instead of stacked above it */
  .why-grid{margin-top:28px;gap:10px}
  .why-card{display:grid;grid-template-columns:34px 1fr;column-gap:14px;padding:20px 18px;border-radius:10px;border:1px solid var(--border)}
  .why-card .why-icon{grid-row:1 / span 3;margin:2px 0 0;font-size:24px}
  .why-card .why-title{font-size:16px;margin-bottom:6px}
  .why-card .why-desc{font-size:13.5px;line-height:1.6}

  /* TESTIMONIALS — swipe instead of scroll; the next card peeks in */
  .test-grid{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:86%;gap:12px;margin-top:28px;
    overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin-left:-16px;margin-right:-16px;padding:0 16px 6px;scroll-padding:0 16px}
  .test-grid::-webkit-scrollbar{display:none}
  .test-card{scroll-snap-align:start;padding:24px 20px}

  /* INDUSTRIES — 2 per row, not 1 */
  .trusted-badges{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:22px}
  .trusted-badge{justify-content:center;padding:11px 10px;font-size:11.5px;text-align:center;border-radius:10px}

  /* CARRIERS — one compact 4-up strip */
  .carriers-grid{grid-template-columns:repeat(4,1fr);gap:6px;margin-top:24px}
  .carrier-card{min-height:54px;padding:10px 4px}
  .carrier-name{font-size:12.5px}
  .carrier-sub{display:none}

  /* CTA BANNER */
  .cta-banner{padding:48px 16px}
  .cta-actions{flex-direction:column;align-items:stretch}
  .cta-actions .btn-primary,.cta-actions .btn-secondary{width:100%;text-align:center}

  /* FOOTER — link lists in two columns, readable address */
  footer{padding:40px 16px 28px}
  .footer-grid{gap:26px;padding-bottom:28px}
  .footer-col:not(:last-child){display:grid;grid-template-columns:1fr 1fr;column-gap:14px}
  .footer-col:not(:last-child) h4{grid-column:1 / -1}
  .footer-link{padding:7px 0}
  .footer-bottom{padding-top:20px}

  /* SERVICES page jump-chips: one swipeable row instead of three */
  #page-services .section-inner>.fade-up[style*="flex-wrap:wrap"]{flex-wrap:nowrap !important;justify-content:flex-start !important;overflow-x:auto;scrollbar-width:none;
    margin:0 -16px 28px !important;padding:2px 16px 6px;-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);mask-image:linear-gradient(90deg,#000 85%,transparent)}
  #page-services .section-inner>.fade-up[style*="flex-wrap:wrap"]::-webkit-scrollbar{display:none}
  #page-services .section-inner>.fade-up[style*="flex-wrap:wrap"]>a{white-space:nowrap;flex-shrink:0}

  /* FLOATING QUOTE — smaller, clears the home indicator, steps aside when a
     real quote button / the footer / the contact form is on screen */
  .mobile-float-cta{bottom:calc(16px + env(safe-area-inset-bottom,0px));right:16px;padding:11px 18px;font-size:13.5px;min-height:44px;
    transition:opacity .3s ease,transform .35s var(--ease-spring)}
}
/* the float CTA exists at <= 768px (base rule) - step-aside applies wherever it shows */
@media(max-width:768px){
  .mobile-float-cta{transition:opacity .3s ease,transform .35s var(--ease-spring)}
  .mobile-float-cta.fcta-away{opacity:0;transform:translateY(24px) scale(.94);pointer-events:none}
}

/* ══ ROUND 2 (2026-09-26): lane journey · colour discipline · readability ·
   headings · menu · phone hero line · font loading ══ */

/* Readability: the dimmest text was 2.2–2.4:1 on the dark ground (Lighthouse
   colour-contrast fail on the live site). #71849c = 4.6:1 on --dark2, 4.9:1 on --dark. */
:root{--text-dim:#71849c;--font-cn:'Noto Sans SC','PingFang SC','Hiragino Sans GB','Microsoft YaHei',sans-serif}

/* ── HERO ROUTE follows the Lane Checker ── */
.dawn-route .dr-lane{transition:opacity .6s ease}
.dawn-route .dr-lane-mtl,.dawn-route .dr-leg,.dawn-route .dr-dest-ring{opacity:0}
.dawn-route.routed .dr-lane{opacity:.25}
.dawn-route.routed .dr-lane.on{opacity:1}
.dawn-route .dr-draw.redraw{animation:drRedraw 1.3s cubic-bezier(.45,0,.2,1) 0s both}
@keyframes drRedraw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.dawn-route .dr-leg.grow{opacity:1;animation:drGrow 1.2s var(--ease-spring) .55s both;filter:drop-shadow(0 0 6px rgba(245,124,31,.7))}
@keyframes drGrow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.dawn-route .dr-port.lit{fill:#ffe2a3;filter:drop-shadow(0 0 7px rgba(245,166,35,.95))}
.dawn-route .dr-dest-ring{transform-box:fill-box;transform-origin:center}
.dawn-route .dr-dest-ring.pulse{animation:drRing 1.5s ease-out 4.1s forwards}
.dawn-route .dr-haul.run{animation:drRun 3.4s cubic-bezier(.4,0,.3,1) .7s both}
@keyframes drRun{0%{opacity:0;transform:translate(var(--x0),0)}8%{opacity:1}70%{transform:translate(var(--x1),0)}78%{transform:translate(var(--x1),6px)}100%{opacity:1;transform:translate(var(--xd),26px)}}
/* last mile: drayage road off the line to the customer's door */
.dawn-route .dr-last,.dawn-route .dr-door{opacity:0}
.dawn-route .dr-last{stroke-dasharray:1;stroke-dashoffset:1;filter:drop-shadow(0 0 4px rgba(245,166,35,.7))}
.dawn-route .dr-last.draw{opacity:1;animation:drRedraw .7s ease-out 2.75s both}
.dawn-route .dr-door.show{opacity:1}
.dawn-route .dr-door-in{transform-box:fill-box;transform-origin:center bottom}
.dawn-route .dr-door.show .dr-door-in{animation:drPop .6s var(--ease-spring) 3.2s both;filter:drop-shadow(0 0 8px rgba(245,124,31,.75))}
@media(prefers-reduced-motion:reduce){.dawn-route .dr-haul.run{display:block}}

/* ── LANE JOURNEY timeline in the Lane Checker result ── */
.lj{margin:2px 0 12px;padding:14px 12px 10px;background:rgba(8,10,13,.5);border:1px solid var(--border);border-radius:10px}
.lj-title{font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin-bottom:12px}
.lj-legs{display:flex;gap:10px;margin-bottom:7px}
.lj-leg{flex:1 1 0;min-width:0;text-align:center;font-size:11px;color:var(--text-muted);white-space:nowrap;opacity:0}
.lj-leg b{display:block;color:var(--text);font-weight:600;font-size:11.5px;margin-bottom:1px}
.lj-track{display:flex;align-items:center}
.lj-node{flex:none;width:12px;height:12px;border-radius:50%;background:var(--dark3);border:2px solid var(--blue);opacity:0;transform:scale(.3)}
.lj-gw{border-color:var(--amber);box-shadow:0 0 0 4px rgba(245,166,35,.12)}
.lj-n3{background:var(--orange);border-color:var(--orange);box-shadow:0 0 12px rgba(245,124,31,.55)}
.lj-bar{flex:1 1 0;height:4px;margin:0 4px;border-radius:4px;background:rgba(125,144,168,.16);position:relative;overflow:hidden}
.lj-bar i{position:absolute;inset:0;border-radius:inherit;transform:scaleX(0);transform-origin:left}
.lj-sea i{background:repeating-linear-gradient(90deg,var(--blue) 0 7px,transparent 7px 11px)}
.lj-land i{background:var(--grad-fire)}
.lj-dray i{background:repeating-linear-gradient(90deg,var(--amber) 0 4px,transparent 4px 7px)}
.lj-ramp{width:8px;height:8px;border-width:2px;border-color:var(--orange)}
.lj-names .lj-doorlbl{display:block;font-size:10px;font-weight:500;color:var(--orange);margin-top:2px}
.lj-names{position:relative;min-height:48px;margin-top:9px;font-size:11.5px;font-weight:600;color:var(--text)}
.lj-name{position:absolute;top:0;max-width:33%;line-height:1.3;opacity:0}
.lj-first{left:0}
.lj-lastn{right:0;text-align:right}
.lj-mid{transform:translateX(-50%);text-align:center;max-width:38%}
.lj-mid small{display:block;font-size:10px;font-weight:500;color:var(--amber);margin-top:2px}
@keyframes ljPop{to{opacity:1;transform:scale(1)}}
@keyframes ljFill{to{transform:scaleX(1)}}
@keyframes ljFade{to{opacity:1}}
.lj.go .lj-n1{animation:ljPop .4s var(--ease-spring) forwards}
.lj.go .lj-first{animation:ljFade .4s ease .1s forwards}
.lj.go .lj-sea i{animation:ljFill 1.1s cubic-bezier(.45,0,.2,1) .2s forwards}
.lj.go .lj-leg1{animation:ljFade .5s ease .45s forwards}
.lj.go .lj-gw{animation:ljPop .45s var(--ease-spring) 1.25s forwards}
.lj.go .lj-mid{animation:ljFade .45s ease 1.3s forwards}
.lj.go .lj-land i{animation:ljFill .9s cubic-bezier(.45,0,.2,1) 1.5s forwards}
.lj.go .lj-ramp{animation:ljPop .35s var(--ease-spring) 2.3s forwards}
.lj.go .lj-dray i{animation:ljFill .5s cubic-bezier(.45,0,.2,1) 2.4s forwards}
.lj.go .lj-leg2{animation:ljFade .5s ease 1.7s forwards}
.lj.go .lj-n3{animation:ljPop .5s var(--ease-spring) 2.35s forwards}
.lj.go .lj-lastn{animation:ljFade .45s ease 2.4s forwards}
.lj.go .lj-rail~.lj-n3{animation-delay:2.9s}
.lj.go.has-rail .lj-lastn{animation-delay:2.95s}
.lj.still *{animation-duration:.01ms !important;animation-delay:0s !important}

/* ── COLOUR DISCIPLINE: two accents — ember for action, sky for information.
   (amber/red/green/teal accents on home + services fold into those two) ── */
#page-home [style*="border-top:3px solid var(--red)"],#page-home [style*="border-top:3px solid var(--amber)"]{border-top-color:var(--orange) !important}
#page-home [style*="border-top:3px solid var(--green)"]{border-top-color:var(--blue) !important}
#page-home [style*="color:var(--red)"],#page-home [style*="color:var(--amber)"]{color:var(--orange) !important}
#page-home [style*="color:var(--green)"],#page-home [style*="color:#4ade80"]{color:var(--blue) !important}
.service-card:nth-child(3) .sc-icon{color:var(--orange)}
.service-card:nth-child(4) .sc-icon{color:var(--blue)}
.service-detail.amber{border-top-color:var(--red)}
.service-detail.green{border-top-color:var(--blue)}
.service-detail.teal{border-top-color:var(--red)}
.service-detail.amber .sd-icon,.service-detail.teal .sd-icon{color:var(--orange)}
.service-detail.green .sd-icon{color:var(--blue)}

/* ── SECTION HEADINGS: a short sunrise hairline under each title ── */
.section-header .section-title::after{content:'';display:block;width:56px;height:2px;margin:16px auto 0;border-radius:2px;
  background:linear-gradient(90deg,transparent,var(--orange) 30%,var(--amber) 70%,transparent)}

/* ── MOBILE MENU: items rise in one after another ── */
.mobile-menu.open>*{animation:riseIn .5s var(--ease-spring) both}
.mobile-menu.open>*:nth-child(2){animation-delay:.03s}.mobile-menu.open>*:nth-child(3){animation-delay:.06s}
.mobile-menu.open>*:nth-child(4){animation-delay:.09s}.mobile-menu.open>*:nth-child(5){animation-delay:.12s}
.mobile-menu.open>*:nth-child(6){animation-delay:.15s}.mobile-menu.open>*:nth-child(7){animation-delay:.18s}
.mobile-menu.open>*:nth-child(8){animation-delay:.21s}.mobile-menu.open>*:nth-child(9){animation-delay:.24s}
.mobile-menu.open>*:nth-child(10){animation-delay:.27s}

/* ── PHONE HERO LINE: the short version replaces the long paragraph ≤640px ── */
.hero-sub-short{display:none}
@media(max-width:640px){
  .hero-sub:not(.hero-sub-short){display:none}
  .hero-sub-short{display:block}
}

/* ── LANE RESULT, compact (2026-09-26 round 3): the journey timeline already shows
   routing + ocean days, so those two rows go; door-to-door + sailings sit side by side. ── */
.lane-result.has-journey:not([style*="none"]){display:grid !important;grid-template-columns:1fr 1fr;column-gap:12px}
.lane-result.has-journey>.lj,.lane-result.has-journey>div:last-child{grid-column:1 / -1}
.lane-result.has-journey>.tl-row:nth-child(2),.lane-result.has-journey>.tl-row:nth-child(3){display:none}
.lane-result.has-journey>.tl-row{flex-direction:column;align-items:flex-start;gap:2px;border:1px solid var(--border);border-radius:8px;padding:9px 12px}
.lane-result.has-journey>.tl-row .tl-val{text-align:left}
.lane-result.has-journey>div:last-child{margin-top:12px !important}

/* Short laptop screens (≤ 860px tall): tighten the Lane Checker so card + the whole
   route (down to the door) fit one screen after a check. The disclaimer stays (claims rules §7). */
@media(min-width:901px) and (max-height:860px){
  .hero-inner{padding-top:40px}
  .hero-card.fire{padding:18px 20px}
  .hero-card.fire .hc-sub{font-size:11.5px;line-height:1.45}
  .hero-card.fire .lane-region{margin-top:10px !important;padding:8px 12px !important}
  .hero-card.fire .lane-pickers{margin-top:6px !important}
  .hero-card.fire .lane-pickers select{padding:8px 12px !important}
  .hero-card.fire .lane-check-btn{margin-top:8px !important;padding:10px !important}
  .lj{padding:10px 12px 6px;margin-bottom:8px}
  .lj-title{margin-bottom:8px}
  .lj-names{min-height:40px;margin-top:7px}
  .lane-result.has-journey>.tl-row{padding:6px 11px}
  .lane-result.has-journey>div:last-child{margin-top:8px !important}
  .hero-card.fire>div:last-child{font-size:9.5px !important;line-height:1.4 !important;margin-top:8px !important}
}
/* Real short laptops (1366×768 screen ≈ 657px of browser viewport): drop the card's
   one-line subtitle and the timeline heading once a result shows. */
@media(min-width:901px) and (max-height:760px){
  .hero-card.fire:has(.has-journey) .hc-sub{display:none}
  .hero-card.fire .hc-title{font-size:20px}
  .lj-title{display:none}
}

/* ══ ROUND 4 (2026-09-26): placement pass from the full screenshot review ══ */
@media(max-width:640px){
  /* hero checks: 2 × 2 instead of 3 + an orphaned "EN / 中文" */
  .hero-trust{display:grid;grid-template-columns:auto auto;justify-content:start;gap:8px 22px}

  /* Core Services: title + one-line pitch + Learn more; the detailed bullet lists stay
     on the Services page (they made this block ~2 phone screens long) */
  #page-home .service-card .sc-features{display:none}
  #page-home .service-card .sc-desc{margin-bottom:12px}

  /* Guides & Tools (home): a swipe row like the reviews, next card peeking in */
  #page-home .grid-3-resp{display:grid !important;grid-template-columns:none !important;grid-auto-flow:column;grid-auto-columns:74%;
    overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 -16px !important;padding:0 16px 6px;scroll-padding:0 16px;gap:10px !important}
  #page-home .grid-3-resp::-webkit-scrollbar{display:none}
  #page-home .grid-3-resp>a{scroll-snap-align:start}

  /* Coverage: regional cards two per row */
  /* (only the clickable regional cards — the Gateway key/value cards share the class and need full width) */
  #page-coverage .grid-3-resp:has(>div[onclick]){grid-template-columns:1fr 1fr !important;gap:10px !important}
  #page-coverage .grid-3-resp:has(>div[onclick])>div{padding:16px 14px !important}

  /* Contact: 160px of stacked padding above "Get in Touch" → 36px */
  .contact{padding:36px 0 56px}
  .contact-layout{padding-top:0;gap:32px}
}
/* colour discipline carried to the Coverage regional cards (same inline-accent pattern as home) */
#page-coverage [style*="border-top:3px solid var(--red)"],#page-coverage [style*="border-top:3px solid var(--amber)"]{border-top-color:var(--orange) !important}
#page-coverage [style*="border-top:3px solid var(--green)"]{border-top-color:var(--blue) !important}
#page-coverage .grid-3-resp [style*="color:var(--red)"],#page-coverage .grid-3-resp [style*="color:var(--amber)"]{color:var(--orange) !important}
#page-coverage .grid-3-resp [style*="color:var(--green)"]{color:var(--blue) !important}

/* ── LOGO: always a circle that hugs the swirl (Steven 2026-09-26: "surrounded by a square … make it a
   circle that matches the shape of its silhouette even before hovering"). The mark is a round swirl
   (r ≈ 12.6 of 18 px) on a black 36 px square: clip to r = 38 % just outside the swirl, and enlarge the
   box so the visible disc stays ~34 px (phones ~30 px) with the same footprint (negative margin).
   clip-path would also cut the old hover box-shadow, so the hover glow comes from the halo behind it. */
.nav-logo img{width:44px !important;height:44px !important;margin:-5px;border-radius:0 !important;clip-path:circle(38% at 50% 50%)}
.nav-logo:hover img{border-radius:0 !important;box-shadow:none;transform:rotate(-8deg) scale(1.08);filter:brightness(1.18) saturate(1.15)}

/* ══ ROUND 6 (2026-09-26): stock photos in the main-page headers (Pexels licence, graded by
   _draft21/img/grade.py). Draft paths /img/site/… are served by _draft21_preview.py only —
   at release they move to deploy19/img/. Swap a photo for review with ?services=<id>&coverage=<id>&home=<id>. ══ */
#page-services .page-hero{--ph:url(/img/site/services-3057960-1920.webp);--phm:url(/img/site/services-3057960-900.webp);--php:center 33%;--pht:.28}
#page-coverage .page-hero{--ph:url(/img/site/coverage-1598075-1920.webp);--phm:url(/img/site/coverage-1598075-900.webp);--php:center 40%;--pht:.5}
#page-customs .page-hero{--ph:url(/img/site/customs-8777703-1920.webp);--phm:url(/img/site/customs-8777703-900.webp);--php:center 50%;--pht:.45}
#page-process .page-hero{--ph:url(/img/site/process-20216774-1920.webp);--phm:url(/img/site/process-20216774-900.webp);--php:center 38%;--pht:.35}
#page-tracking .page-hero{--ph:url(/img/site/tracking-11820859-1920.webp);--phm:url(/img/site/tracking-11820859-900.webp);--php:center 45%;--pht:.4}
#page-briefings .page-hero{--ph:url(/img/site/briefings-799091-1920.webp);--phm:url(/img/site/briefings-799091-900.webp);--php:center 55%;--pht:.35}
#page-guides .page-hero{--ph:url(/img/site/guides-31805295-1920.webp);--phm:url(/img/site/guides-31805295-900.webp);--php:center 50%;--pht:.45}
#page-contact .page-hero{--ph:url(/img/site/contact-29240328-1920.webp);--phm:url(/img/site/contact-29240328-900.webp);--php:center 58%;--pht:.3}
#page-tools .page-hero{--ph:url(/img/site/tools-1427107-1920.webp);--phm:url(/img/site/tools-1427107-900.webp);--php:center 50%;--pht:.45}
#page-home .cta-banner{--ph:url(/img/site/home-14392678-1920.webp);--phm:url(/img/site/home-14392678-900.webp);--php:center 72%}
#page-services .page-hero,#page-coverage .page-hero,#page-customs .page-hero,#page-process .page-hero,#page-tracking .page-hero,#page-briefings .page-hero,#page-guides .page-hero,#page-contact .page-hero,#page-tools .page-hero{
  background:linear-gradient(90deg,rgba(13,17,23,.97) 0%,rgba(13,17,23,.86) 28%,rgba(13,17,23,.4) 60%,rgba(13,17,23,.12) 100%),
             linear-gradient(180deg,rgba(13,17,23,var(--pht,.5)) 0%,transparent 30%,transparent 72%,rgba(13,17,23,.8) 100%),
             var(--ph) var(--php)/cover no-repeat,var(--dark) !important}
#page-services .page-hero .page-hero-grid,#page-coverage .page-hero .page-hero-grid,#page-customs .page-hero .page-hero-grid,#page-process .page-hero .page-hero-grid,#page-tracking .page-hero .page-hero-grid,#page-briefings .page-hero .page-hero-grid,#page-guides .page-hero .page-hero-grid,#page-contact .page-hero .page-hero-grid,#page-tools .page-hero .page-hero-grid{display:none}
#page-home .cta-banner{background:radial-gradient(ellipse 60% 70% at 50% 45%,rgba(13,17,23,.82) 0%,rgba(13,17,23,.55) 60%,rgba(13,17,23,.35) 100%),
  linear-gradient(180deg,rgba(13,17,23,.7) 0%,transparent 35%,transparent 75%,rgba(13,17,23,.85) 100%),
  var(--ph) var(--php)/cover no-repeat,var(--dark2)}
#page-home .cta-banner::before{display:none}
@media(max-width:640px){
  #page-services .page-hero,#page-coverage .page-hero,#page-customs .page-hero,#page-process .page-hero,#page-tracking .page-hero,#page-briefings .page-hero,#page-guides .page-hero,#page-contact .page-hero,#page-tools .page-hero{
    background:linear-gradient(180deg,rgba(13,17,23,.35) 0%,rgba(13,17,23,.66) 50%,rgba(13,17,23,.9) 100%),
               var(--phm) 70% 35%/cover no-repeat,var(--dark) !important}
  #page-home .cta-banner{background:linear-gradient(180deg,rgba(13,17,23,.66) 0%,rgba(13,17,23,.74) 55%,rgba(13,17,23,.9) 100%),
    var(--phm) 40% 72%/cover no-repeat,var(--dark2)}
}

/* Cross-border trucking card (Services): a photo strip across the card top (absolute ::after = not a
   grid item, so the card's two-column layout is untouched); text starts below it. */
#svc-xborder{position:relative;overflow:hidden;padding-top:236px}
#svc-xborder::after{content:'';position:absolute;left:0;right:0;top:0;height:220px;pointer-events:none;
  background:linear-gradient(180deg,transparent 55%,var(--dark2) 100%),
    linear-gradient(90deg,var(--dark2) 30%,rgba(19,25,34,.55) 55%,rgba(19,25,34,.05) 100%),
    url(/img/site/xborder-5410923-1920.webp) right 52%/66% auto no-repeat,var(--dark2)}
@media(max-width:900px){
  #svc-xborder{padding-top:170px}
  #svc-xborder::after{height:160px;background:linear-gradient(180deg,rgba(19,25,34,.1) 0%,rgba(19,25,34,.4) 60%,var(--dark2) 100%),
    url(/img/site/xborder-5410923-900.webp) center 60%/cover no-repeat}
}
/* Customs photo is bright and detailed — phones need a heavier veil behind the small text */
@media(max-width:640px){
  #page-customs .page-hero,#page-briefings .page-hero{background:linear-gradient(180deg,rgba(13,17,23,.55) 0%,rgba(13,17,23,.8) 45%,rgba(13,17,23,.94) 100%),
    var(--phm) 70% 35%/cover no-repeat,var(--dark) !important}
}

/* ══ ROUND 8 (2026-09-26): "Resources" dropdown — Tracking · Guides · Free Tools · Briefings ══ */
.nav-dd{position:relative;display:flex;align-items:center}
.nav-dd-btn{background:none;border:none;font-family:var(--font-body);display:inline-flex;align-items:center;gap:6px;cursor:pointer;line-height:inherit}
.nav-dd-caret{width:10px;height:6px;opacity:.75;transition:transform .3s var(--ease-spring)}
.nav-dd:hover .nav-dd-caret,.nav-dd.open .nav-dd-caret{transform:rotate(180deg)}
.nav-dd-menu{position:absolute;top:calc(100% + 12px);left:50%;min-width:320px;padding:8px;z-index:1005;
  background:rgba(13,17,23,.97);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);
  border:1px solid var(--border);border-radius:12px;box-shadow:0 26px 60px -22px rgba(0,0,0,.95);
  opacity:0;visibility:hidden;transform:translate(-50%,8px);transition:opacity .18s ease,transform .3s var(--ease-spring),visibility 0s linear .3s}
.nav-dd-menu::before{content:'';position:absolute;left:0;right:0;top:-14px;height:14px}          /* hover bridge */
.nav-dd-menu::after{content:'';position:absolute;left:18px;right:18px;top:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(245,124,31,.7),rgba(245,166,35,.6),transparent)}
.nav-dd:hover .nav-dd-menu,.nav-dd:focus-within .nav-dd-menu,.nav-dd.open .nav-dd-menu{
  opacity:1;visibility:visible;transform:translate(-50%,0);transition:opacity .18s ease,transform .3s var(--ease-spring),visibility 0s}
.dd-item{position:relative;display:flex;flex-direction:column;gap:3px;padding:11px 14px;border-radius:9px;transition:background .15s}
.dd-item:hover{background:var(--dark2)}
.nav-dd .dd-item .nav-link,html[lang] .nav-dd .dd-item .nav-link{padding:0;font-size:14px;font-weight:600;color:var(--text);background:none;border-radius:0;white-space:nowrap}
.dd-item .nav-link:hover{background:none}
.dd-item .nav-link::after{content:'';position:absolute;inset:0;border-radius:9px}                 /* whole row clickable */
.dd-item:hover .nav-link{color:var(--orange)}
.dd-item .nav-link.active-page{box-shadow:none;color:var(--orange)}
.dd-desc{font-size:12px;line-height:1.4;color:var(--text-muted)}
.nav-dd:has(.active-page) .nav-dd-btn{box-shadow:inset 0 -2px 0 var(--orange);color:var(--text)}
@media(prefers-reduced-motion:reduce){.nav-dd-menu{transform:translate(-50%,0)}}

/* ══ ROUND 10 (2026-09-26): Services / Customs / Coverage layout ══ */

/* ── SERVICES: sticky section menu with scroll-spy (layer.js adds .on / .stuck) ── */
#page-services section[style*="padding:80px 0"]:first-of-type{padding-top:28px !important}
#page-services .section-inner>.fade-up[style*="flex-wrap:wrap"]{position:sticky;top:70px;z-index:50;margin:0 -12px 28px !important;padding:12px;
  background:rgba(8,10,13,.82);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid transparent;transition:border-color .2s}
#page-services .section-inner>.fade-up[style*="flex-wrap:wrap"].stuck{border-bottom-color:var(--border)}
#page-services .section-inner>.fade-up[style*="flex-wrap:wrap"]>a.on{border-color:var(--orange) !important;color:var(--white) !important;background:rgba(245,124,31,.14) !important}
#page-services .service-detail,#page-services #svc-track{scroll-margin-top:140px !important}

/* every service card gets a photo strip across its top (Cross-Border had one alone) */
#page-services .service-detail{position:relative;overflow:hidden;padding-top:236px}
#page-services .service-detail::after{content:'';position:absolute;left:0;right:0;top:0;height:220px;pointer-events:none;
  background:linear-gradient(180deg,transparent 55%,var(--dark2) 100%),
    linear-gradient(90deg,var(--dark2) 30%,rgba(19,25,34,.55) 55%,rgba(19,25,34,.05) 100%),
    var(--sp) var(--spp,right 50%)/var(--sps,cover) no-repeat,var(--dark2)}
#svc-ocean{--sp:url(/img/site/svc-14392678-1920.webp);--spm:url(/img/site/svc-14392678-900.webp);--spp:right 64%;--sps:70% auto}
#svc-customs{--sp:url(/img/site/svc-8777703-1920.webp);--spm:url(/img/site/svc-8777703-900.webp);--spp:right 55%;--sps:70% auto}
#svc-drayage{--sp:url(/img/site/svc-36652827-1920.webp);--spm:url(/img/site/svc-36652827-900.webp);--spp:right 60%;--sps:70% auto}
#svc-warehouse{--sp:url(/img/site/svc-10697106-1920.webp);--spm:url(/img/site/svc-10697106-900.webp);--spp:right 50%;--sps:70% auto}
#svc-xborder{--sp:url(/img/site/xborder-5410923-1920.webp);--spm:url(/img/site/xborder-5410923-900.webp);--spp:right 52%;--sps:66% auto}
@media(max-width:900px){
  #page-services .service-detail{padding-top:170px}
  #page-services .service-detail::after{height:160px;background:linear-gradient(180deg,rgba(19,25,34,.1) 0%,rgba(19,25,34,.4) 60%,var(--dark2) 100%),
    var(--spm,var(--sp)) center 55%/cover no-repeat}
  #page-services .section-inner>.fade-up[style*="flex-wrap:wrap"]{top:64px;margin:0 -16px 20px !important;padding:10px 16px}
}

/* ── CUSTOMS: the 8-step review as a stepper right under the header ── */
.c21-steps{padding:64px 0 24px}
.c21-steps .section-header{margin-bottom:36px}
.c21-stepper{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:18px 16px;position:relative}
.c21-stepper .st{position:relative;background:var(--dark2);border:1px solid var(--border);border-radius:12px;padding:22px 18px 20px;
  opacity:0;transform:translateY(14px);transition:opacity .5s ease,transform .6s var(--ease-spring),border-color .3s}
.c21-stepper .st::before{content:'';position:absolute;left:0;right:0;top:0;height:2px;border-radius:12px 12px 0 0;
  background:linear-gradient(90deg,var(--blue),rgba(63,188,244,.2));transform:scaleX(0);transform-origin:left;transition:transform .7s var(--ease-spring)}
.c21-stepper .st-n{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;margin-bottom:14px;
  font-family:var(--font-head);font-weight:800;font-size:14px;color:var(--blue);border:1.5px solid rgba(63,188,244,.45);background:rgba(63,188,244,.07)}
.c21-stepper .st-t{display:block;font-size:14px;line-height:1.5;color:var(--text)}
.c21-stepper.in .st{opacity:1;transform:none}
.c21-stepper.in .st::before{transform:scaleX(1)}
.c21-stepper.in .st:nth-child(2){transition-delay:.08s}.c21-stepper.in .st:nth-child(3){transition-delay:.16s}.c21-stepper.in .st:nth-child(4){transition-delay:.24s}
.c21-stepper.in .st:nth-child(5){transition-delay:.32s}.c21-stepper.in .st:nth-child(6){transition-delay:.4s}.c21-stepper.in .st:nth-child(7){transition-delay:.48s}
.c21-stepper.in .st:nth-child(8){transition-delay:.56s}
.c21-stepper .st:hover{border-color:rgba(63,188,244,.5)}
@media(max-width:900px){.c21-stepper{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){
  .c21-steps{padding:44px 0 8px}
  .c21-stepper{grid-template-columns:1fr;gap:0;padding-left:8px}
  .c21-stepper::before{content:'';position:absolute;left:27px;top:20px;bottom:20px;width:2px;background:linear-gradient(180deg,var(--blue),rgba(63,188,244,.15))}
  .c21-stepper .st{display:flex;align-items:center;gap:14px;background:none;border:none;padding:9px 0}
  .c21-stepper .st::before{display:none}
  .c21-stepper .st-n{margin:0;flex:none;background:var(--dark)}
}
@media(prefers-reduced-motion:reduce){.c21-stepper .st{opacity:1;transform:none}.c21-stepper .st::before{transform:none}}

/* customs services: all eight in one uniform card grid (was 2 boxed cards + 6 list rows) */
#page-customs .compliance-grid{display:block;margin-top:16px !important}
#page-customs .comp-list{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
#page-customs .comp-item{background:var(--dark3);border:1px solid var(--border) !important;border-top:3px solid var(--blue) !important;border-radius:6px;padding:24px}
#page-customs .grid-3-resp[style*="repeat(2,1fr)"]>div{border-top-color:var(--blue) !important}
@media(max-width:640px){#page-customs .comp-list{grid-template-columns:1fr;gap:12px}#page-customs .comp-item{padding:20px 18px}}

/* ── COVERAGE: network map + even gateway cards ── */
.c21-map{max-width:1100px;margin:8px auto 36px}
.c21-map-scroll{overflow-x:auto;scrollbar-width:none;border:1px solid var(--border);border-radius:14px;
  background:radial-gradient(ellipse 60% 70% at 30% 60%,rgba(245,124,31,.07),transparent 70%),var(--dark2)}
.c21-map-scroll::-webkit-scrollbar{display:none}
.cmap{display:block;width:100%;height:auto;min-width:760px}
.cm-border{fill:none;stroke:#3d5169;stroke-width:1.5;stroke-dasharray:6 7}
.cm-country{fill:#5b6f88;font:700 14px var(--font-body);letter-spacing:.2em}
.cm-ocean{fill:#4a6b8a;font:italic 500 15px var(--font-body);letter-spacing:.12em}
.cm-lane{fill:none;stroke-width:2;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1}
.cm-rail{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1}
.cm-cn{stroke:#f57c1f}
.cm-cpkc{stroke:#f5a623;stroke-width:2;opacity:.85}
.cm-box{fill:#ffe2a3;opacity:0;filter:drop-shadow(0 0 5px rgba(245,166,35,.9))}
.cm-dot{fill:#f57c1f;stroke:#131922;stroke-width:2;transform-box:fill-box;transform-origin:center;transform:scale(0);transition:transform .45s var(--ease-spring)}
.cm-gw .cm-dot{fill:#ffe2a3}
.cm-glow{fill:url(#cmGlow);opacity:0;transition:opacity .8s ease}
.cm-node text{fill:var(--text);font:600 15px var(--font-body);opacity:0;transition:opacity .5s ease}
.cm-gw text{fill:var(--white);font-weight:700}
.cmap .zh-only{display:none}
body.lang-zh .cmap .zh-only{display:inline}
body.lang-zh .cmap .en-only{display:none}
.cm-link{cursor:pointer}
.cm-link:hover .cm-dot,.cm-link:focus .cm-dot{fill:#fff;transform:scale(1.35) !important}
.cm-link:hover text,.cm-link:focus text{fill:var(--orange)}
.cmap.in .cm-lane{animation:cmDraw 1.6s cubic-bezier(.45,0,.2,1) forwards}
.cmap.in .cm-lane-atl{animation-delay:.25s}
.cmap.in .cm-rail{animation:cmDraw 2.2s cubic-bezier(.45,0,.2,1) .9s forwards}
.cmap.in .cm-dot{transform:scale(1)}
.cmap.in .cm-glow{opacity:1}
.cmap.in .cm-node text{opacity:1;transition-delay:1.6s}
.cmap.in .cm-box{opacity:1;transition:opacity .4s ease 2.6s}
@keyframes cmDraw{to{stroke-dashoffset:0}}
@media(prefers-reduced-motion:reduce){.cm-lane,.cm-rail{stroke-dashoffset:0}.cm-dot{transform:none}.cm-glow,.cm-node text{opacity:1}}
#page-coverage .grid-3-resp:not(:has(>div[onclick])){align-items:stretch !important}
#page-coverage .trade-lane .tl-key{flex:none;min-width:108px;padding-right:12px}
#page-coverage .trade-lane .tl-val{text-align:right}
.c21-trackcta{padding:0 0 72px}
.c21-trackcta .track-widget{max-width:720px;margin:0 auto}
@media(max-width:640px){.c21-map{margin:4px -16px 24px}.c21-map-scroll{border-radius:0;border-left:0;border-right:0}.c21-trackcta{padding-bottom:48px}}

/* ══ ROUND 11 (2026-09-26): homepage layout ══ */

/* proof strip under the hero: licence · provinces · review · bilingual */
.c21-proof{padding:26px 0;background:linear-gradient(180deg,var(--dark) 0%,var(--black) 100%);border-bottom:1px solid var(--border)}
.c21-proof-row{display:grid;grid-template-columns:repeat(4,1fr)}
.c21-proof .pf{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 12px;text-align:center;position:relative}
.c21-proof .pf+.pf::before{content:'';position:absolute;left:0;top:14%;bottom:14%;width:1px;background:linear-gradient(180deg,transparent,var(--border),transparent)}
.c21-proof .pf-n{font-family:var(--font-head);font-weight:800;font-size:30px;line-height:1.1;letter-spacing:-.01em;
  background:var(--grad-fire);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.c21-proof .pf:nth-child(even) .pf-n{background:var(--grad-sky);-webkit-background-clip:text;background-clip:text}
.c21-proof .pf-l{font-size:12.5px;color:var(--text-muted);line-height:1.35}
@media(max-width:640px){
  .c21-proof{padding:18px 0}
  .c21-proof-row{grid-template-columns:1fr 1fr;row-gap:14px}
  .c21-proof .pf:nth-child(3)::before{display:none}
  .c21-proof .pf-n{font-size:24px}
  .c21-proof .pf-l{font-size:11.5px}
}

/* Core Services cards: the same photos as the Services page, as a strip on each card */
#page-home .service-card{padding-top:164px}
#page-home .service-card::after{content:'';position:absolute;left:0;right:0;top:0;height:150px;pointer-events:none;z-index:0;
  background:linear-gradient(180deg,rgba(13,17,23,.1) 0%,rgba(13,17,23,.45) 60%,var(--dark) 100%),var(--hp) center 55%/cover no-repeat}
#page-home .service-card:hover::after{background:linear-gradient(180deg,rgba(19,25,34,.05) 0%,rgba(19,25,34,.4) 60%,var(--dark2) 100%),var(--hp) center 55%/cover no-repeat}
#page-home .service-card:nth-child(1){--hp:url(/img/site/svc-8777703-900.webp)}
#page-home .service-card:nth-child(2){--hp:url(/img/site/svc-14392678-900.webp)}
#page-home .service-card:nth-child(3){--hp:url(/img/site/svc-36652827-900.webp)}
#page-home .service-card:nth-child(4){--hp:url(/img/site/svc-10697106-900.webp)}
@media(max-width:640px){#page-home .service-card{padding-top:140px}#page-home .service-card::after{height:126px}}

/* coverage map on the homepage, with the regional-pages box under it */
.c21-homemap{padding:76px 0;background:var(--dark);border-top:1px solid var(--border)}
.c21-homemap .c21-map{margin:0 auto 26px}
.c21-homemap .section-title .fire{background:var(--grad-fire);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.c21-homemap>.section-inner>.fade-up[style*="justify-content:space-between"]{margin-top:0 !important}

/* (round 11 joined industries + carriers into one band; round 24 moved the carriers band to /ocean-freight) */

/* desktop rhythm: the homepage had noticeably bigger gaps than the other pages */
@media(min-width:641px){
  #page-home .testimonials,#page-home .services,#page-home .why{padding:76px 0 !important}
  #page-home .section-header{margin-bottom:44px}
  #page-home .why-grid{margin-top:36px}
  #page-home .test-grid{margin-top:36px}
}
@media(max-width:640px){.c21-homemap{padding:52px 0}}

/* ══ ROUND 12 (2026-09-26): leaner homepage — Steven: "a little bit bloated" ══ */
/* Core Services: photo + title + one-line pitch + Learn more (bullet lists stay on /services) */
#page-home .service-card .sc-features{display:none}
#page-home .service-card .sc-desc{margin-bottom:14px}
#page-home .service-card{padding-bottom:26px}
@media(min-width:641px){#page-home .services .section-header{margin-bottom:36px}}

/* Why Sunshine: icon + bold title only, a compact 3 x 2 grid (details live on Customs / Coverage) */
#page-home .why-card .why-desc{display:none}
#page-home .why-card{display:flex;align-items:center;gap:16px;padding:26px 26px}
#page-home .why-card .why-icon{margin:0;flex:none;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:rgba(245,124,31,.08);border:1px solid rgba(245,124,31,.28)}
#page-home .why-card .why-icon .ico{width:20px;height:20px}
#page-home .why-card .why-title{margin:0;font-size:16px;line-height:1.3}
#page-home .why-grid{margin-top:32px}
@media(max-width:900px){#page-home .why-grid{grid-template-columns:1fr 1fr;background:transparent;gap:10px}}
@media(max-width:640px){
  #page-home .why-grid{grid-template-columns:1fr;gap:8px;margin-top:24px}
  #page-home .why-card{display:flex;padding:14px 16px;border-radius:10px}
  #page-home .why-card .why-icon{width:38px;height:38px}
  #page-home .why-card .why-title{font-size:15px}
}
/* phones: Core Services as a 2 x 2 grid of compact tiles (was 1,890px of stacked cards) */
@media(max-width:640px){
  #page-home .services-grid{grid-template-columns:1fr 1fr !important;gap:10px}
  #page-home .service-card{padding:104px 14px 16px;border-radius:12px;border:1px solid var(--border)}
  #page-home .service-card::after{height:96px}
  #page-home .service-card .sc-icon{display:none}
  #page-home .service-card .sc-desc{display:none}
  #page-home .service-card .sc-title{font-size:16px;line-height:1.25;margin-bottom:8px}
  #page-home .service-card a,#page-home .service-card [onclick]{font-size:12.5px}
}

/* ══ ROUND 13 (2026-09-26): industry pages + "Industries We Serve" grid ══ */
#page-tires .page-hero{--ph:url(/img/site/ind-3807167-1920.webp);--phm:url(/img/site/ind-3807167-900.webp);--php:center 50%;--pht:.4}
#page-flooring .page-hero{--ph:url(/img/site/ind-6364752-1920.webp);--phm:url(/img/site/ind-6364752-900.webp);--php:center 60%;--pht:.35}
#page-chemicals .page-hero{--ph:url(/img/site/ind-6048394-1920.webp);--phm:url(/img/site/ind-6048394-900.webp);--php:center 50%;--pht:.45}
#page-machinery .page-hero{--ph:url(/img/site/ind-31352672-1920.webp);--phm:url(/img/site/ind-31352672-900.webp);--php:center 45%;--pht:.4}
#page-furniture .page-hero{--ph:url(/img/site/ind-6970027-1920.webp);--phm:url(/img/site/ind-6970027-900.webp);--php:center 55%;--pht:.4}
#page-electronics .page-hero{--ph:url(/img/site/ind-577514-1920.webp);--phm:url(/img/site/ind-577514-900.webp);--php:70% 45%;--pht:.2}
#page-textiles .page-hero{--ph:url(/img/site/ind-236748-1920.webp);--phm:url(/img/site/ind-236748-900.webp);--php:center 50%;--pht:.4}
.ind-page .page-hero{background:linear-gradient(90deg,rgba(13,17,23,.97) 0%,rgba(13,17,23,.86) 28%,rgba(13,17,23,.4) 60%,rgba(13,17,23,.12) 100%),
  linear-gradient(180deg,rgba(13,17,23,var(--pht,.5)) 0%,transparent 30%,transparent 72%,rgba(13,17,23,.8) 100%),
  var(--ph) var(--php)/cover no-repeat,var(--dark) !important}
.ind-page .page-hero .page-hero-grid{display:none}
@media(max-width:640px){.ind-page .page-hero{background:linear-gradient(180deg,rgba(13,17,23,.45) 0%,rgba(13,17,23,.75) 50%,rgba(13,17,23,.93) 100%),
  var(--phm) 70% 40%/cover no-repeat,var(--dark) !important}}

/* page sections */
.ind-sec{padding:72px 0}
.ind-alt{background:var(--dark2);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.ind-sec .section-header{margin-bottom:36px}
.ind-watch{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.ind-card{background:var(--dark3);border:1px solid var(--border);border-top:3px solid var(--blue);border-radius:8px;padding:24px 22px}
.ind-card h3{font-family:var(--font-head);font-size:17px;font-weight:700;color:var(--white);margin-bottom:10px;line-height:1.3}
.ind-card p{font-size:14px;line-height:1.65;color:var(--text-muted)}
.ind-steps .st-t b{display:block;font-family:var(--font-head);font-size:15px;color:var(--white);margin-bottom:6px}
.ind-steps .st-t{font-size:13.5px;color:var(--text-muted)}
.ind-two{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:start}
.ind-h{text-align:left;font-size:clamp(26px,3vw,34px);margin-bottom:22px}
.ind-h::after{margin:14px 0 0 !important}
.ind-chips{display:flex;flex-wrap:wrap;gap:10px}
.ind-chip{padding:10px 16px;border:1px solid var(--border);border-radius:999px;background:var(--dark2);font-size:13.5px;color:var(--text)}
.ind-quote{background:var(--dark2);border:1px solid var(--border);border-radius:12px;padding:26px 24px;position:relative}
.ind-quote::before{content:'';position:absolute;left:0;right:0;top:0;height:2px;border-radius:12px 12px 0 0;background:var(--grad-fire)}
.ind-quote h3{font-family:var(--font-head);font-size:18px;color:var(--white);margin-bottom:14px}
.ind-quote ul{list-style:none;margin-bottom:20px}
.ind-quote li{position:relative;padding:8px 0 8px 22px;border-bottom:1px solid rgba(31,45,66,.6);font-size:14px;color:var(--text-muted)}
.ind-quote li::before{content:'✓';position:absolute;left:0;top:8px;color:var(--orange);font-weight:700}
.ind-quote li:last-child{border-bottom:0}
.ind-cta-t{font-family:var(--font-head);font-weight:700;font-size:16px;color:var(--white);margin-bottom:14px}
.ind-quote .btn-primary{display:inline-block;text-decoration:none}
@media(max-width:900px){.ind-watch{grid-template-columns:1fr}.ind-two{grid-template-columns:1fr;gap:28px}}
@media(max-width:640px){.ind-sec{padding:48px 0}.ind-card{padding:20px 18px}.ind-quote .btn-primary{display:block;text-align:center}}

/* home: "Industries We Serve" = 8 linked tiles (was 6 pills, 1 page) */
.ind-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:28px;text-align:left}
.ind-tile{display:flex;align-items:center;gap:14px;padding:16px 18px;border:1px solid var(--border);border-radius:12px;background:var(--dark3);
  text-decoration:none;transition:border-color .2s,transform .25s var(--ease-spring),background .2s}
.ind-tile:hover{border-color:rgba(245,124,31,.55);background:#1c2638;transform:translateY(-2px)}
.ind-ico{flex:none;width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--orange);
  background:rgba(245,124,31,.08);border:1px solid rgba(245,124,31,.28)}
.ind-ico .ico{width:21px;height:21px}
.ind-name{flex:1;font-family:var(--font-head);font-weight:700;font-size:14.5px;line-height:1.3;color:var(--white)}
.ind-go{color:var(--text-muted);transition:transform .25s var(--ease-spring),color .2s}
.ind-tile:hover .ind-go{color:var(--orange);transform:translateX(3px)}
@media(max-width:1000px){.ind-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.ind-grid{gap:8px;margin-top:20px}.ind-tile{padding:12px;gap:10px}.ind-ico{width:34px;height:34px}.ind-ico .ico{width:18px;height:18px}.ind-name{font-size:13px}.ind-go{display:none}}

/* ══ ROUND 14 (2026-09-26): Customs "Full-Spectrum Customs Services" — hierarchy + polish ══ */
/* featured pair: CAD filing + CARM/RPP */
#page-customs section.compliance .grid-3-resp[style*="repeat(2,1fr)"]{gap:18px !important;margin-top:36px !important}
#page-customs section.compliance .grid-3-resp[style*="repeat(2,1fr)"]>div{position:relative;overflow:hidden;flex-direction:column;gap:18px !important;
  padding:32px 30px 30px !important;border:1px solid rgba(63,188,244,.22) !important;border-radius:16px !important;
  background:radial-gradient(120% 95% at 100% 0%,rgba(63,188,244,.14),transparent 55%),linear-gradient(180deg,#172233 0%,var(--dark3) 100%) !important;
  transition:transform .35s var(--ease-spring),border-color .3s,box-shadow .3s}
#page-customs section.compliance .grid-3-resp[style*="repeat(2,1fr)"]>div::before{content:'';position:absolute;left:0;right:0;top:0;height:2px;
  background:linear-gradient(90deg,var(--blue),var(--amber),var(--orange))}
#page-customs section.compliance .grid-3-resp[style*="repeat(2,1fr)"]>div:hover{transform:translateY(-3px);border-color:rgba(63,188,244,.45) !important;
  box-shadow:0 22px 50px -28px rgba(63,188,244,.45)}
#page-customs section.compliance .grid-3-resp[style*="repeat(2,1fr)"] .comp-icon{width:58px;height:58px;margin:0;border-radius:16px;display:flex;align-items:center;justify-content:center;
  color:#fff;background:linear-gradient(135deg,#2a9fd6,#3fbcf4);box-shadow:0 10px 28px -10px rgba(63,188,244,.7)}
#page-customs section.compliance .grid-3-resp[style*="repeat(2,1fr)"] .comp-icon .ico{width:26px;height:26px}
#page-customs section.compliance .grid-3-resp[style*="repeat(2,1fr)"] .comp-content h4{font-size:21px;margin-bottom:10px}
#page-customs section.compliance .grid-3-resp[style*="repeat(2,1fr)"] .comp-content p{font-size:14.5px;line-height:1.7}

/* the six specialist services: a 3 x 2 grid of matching cards */
#page-customs .compliance-grid{margin-top:18px !important}
#page-customs .comp-list{grid-template-columns:repeat(3,1fr) !important;gap:18px !important}
#page-customs .comp-item{position:relative;overflow:hidden;flex-direction:column;gap:16px !important;padding:26px 24px !important;border-radius:14px !important;
  border:1px solid var(--border) !important;border-top:1px solid var(--border) !important;
  background:linear-gradient(180deg,#161f2e 0%,var(--dark3) 100%) !important;
  transition:transform .35s var(--ease-spring),border-color .3s,box-shadow .3s}
#page-customs .comp-item::before{content:'';position:absolute;left:0;right:0;top:0;height:2px;transform:scaleX(0);transform-origin:left;
  background:linear-gradient(90deg,var(--orange),var(--amber),var(--blue));transition:transform .5s var(--ease-spring)}
#page-customs .comp-item:hover{transform:translateY(-3px);border-color:rgba(245,124,31,.4) !important;box-shadow:0 20px 44px -28px rgba(0,0,0,.95)}
#page-customs .comp-item:hover::before{transform:scaleX(1)}
#page-customs .comp-item .comp-icon{width:46px;height:46px;margin:0;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:rgba(63,188,244,.09);border:1px solid rgba(63,188,244,.3);transition:background .3s,color .3s,border-color .3s}
#page-customs .comp-item:hover .comp-icon{background:var(--orange);border-color:var(--orange);color:#fff}
#page-customs .comp-item .comp-content h4{font-size:16.5px;margin-bottom:8px}
#page-customs .comp-item .comp-content p{font-size:13.5px;line-height:1.65}
@media(max-width:1000px){#page-customs .comp-list{grid-template-columns:repeat(2,1fr) !important}}
@media(max-width:640px){
  #page-customs section.compliance .grid-3-resp[style*="repeat(2,1fr)"]>div{padding:24px 20px !important}
  #page-customs section.compliance .grid-3-resp[style*="repeat(2,1fr)"] .comp-content h4{font-size:18px}
  #page-customs .comp-list{grid-template-columns:1fr !important;gap:12px !important}
  #page-customs .comp-item{flex-direction:row;align-items:flex-start;padding:18px 16px !important}
  #page-customs .comp-item .comp-icon{width:40px;height:40px;flex:none}
}
@media(prefers-reduced-motion:reduce){#page-customs .comp-item,#page-customs section.compliance .grid-3-resp>div{transition:none}}

/* ══ ROUND 15 (2026-09-26): Coverage — gateway cards + Regional & Industry pages ══ */
/* gateway cards: an identity each (Pacific sky · Atlantic deep blue · Continental amber), stacked label/value, big ocean-days */
#page-coverage section.coverage .trade-lane{position:relative;overflow:hidden;border-radius:16px !important;padding:26px 24px 22px !important;margin:0;
  border:1px solid var(--border) !important;background:radial-gradient(110% 80% at 0% 0%,var(--gw-glow),transparent 60%),linear-gradient(180deg,#161f2e,var(--dark3)) !important;
  transition:transform .35s var(--ease-spring),border-color .3s,box-shadow .3s}
#page-coverage section.coverage .trade-lane::after{content:'';position:absolute;left:0;right:0;top:0;height:2px;background:var(--gw-line)}
#page-coverage section.coverage .grid-3-resp>.trade-lane:nth-child(1){--gw-glow:rgba(63,188,244,.16);--gw-line:linear-gradient(90deg,#3fbcf4,#f5a623);--gw-c:#3fbcf4}
#page-coverage section.coverage .grid-3-resp>.trade-lane:nth-child(2){--gw-glow:rgba(30,159,216,.18);--gw-line:linear-gradient(90deg,#1e9fd8,#3fbcf4);--gw-c:#1e9fd8}
#page-coverage section.coverage .grid-3-resp>.trade-lane:nth-child(3){--gw-glow:rgba(245,166,35,.14);--gw-line:linear-gradient(90deg,#f5a623,#f57c1f);--gw-c:#f5a623}
#page-coverage section.coverage .trade-lane:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--gw-c) 55%,transparent) !important;
  box-shadow:0 24px 50px -30px color-mix(in srgb,var(--gw-c) 70%,transparent)}
#page-coverage .trade-lane .tl-header{margin-bottom:18px;align-items:center}
#page-coverage .trade-lane .tl-title{display:flex;align-items:center;gap:12px;font-size:19px}
#page-coverage .trade-lane .tl-title::before{content:'';flex:none;width:42px;height:42px;border-radius:12px;background:var(--gw-c) var(--gw-ico) center/22px no-repeat;
  box-shadow:0 10px 24px -12px var(--gw-c)}
#page-coverage section.coverage .grid-3-resp>.trade-lane:nth-child(-n+2){--gw-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230d1117' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 16c2 0 2-1.5 4-1.5S8 16 10 16s2-1.5 4-1.5 2 1.5 4 1.5 2-1.5 4-1.5'/%3E%3Cpath d='M4 13.5 5 8h14l1 5.5'/%3E%3Cpath d='M9 8V5h6v3'/%3E%3C/svg%3E")}
#page-coverage section.coverage .grid-3-resp>.trade-lane:nth-child(3){--gw-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230d1117' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 5h13v11H1z'/%3E%3Cpath d='M14 9h4l3 3v4h-7z'/%3E%3Ccircle cx='5.5' cy='18.5' r='2'/%3E%3Ccircle cx='17.5' cy='18.5' r='2'/%3E%3C/svg%3E")}
#page-coverage .trade-lane .tl-row{flex-direction:column;align-items:flex-start;gap:3px;padding:11px 0 !important;border-bottom:1px solid rgba(31,45,66,.7)}
#page-coverage .trade-lane .tl-key{min-width:0 !important;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim)}
#page-coverage .trade-lane .tl-val{text-align:left !important;font-size:14.5px;color:var(--text)}
#page-coverage .trade-lane .tl-val.fire{font-family:var(--font-head);font-weight:800;font-size:24px;line-height:1.1}
@media(max-width:640px){#page-coverage section.coverage .trade-lane{padding:22px 18px 18px !important}}

/* the map answers the card you point at */
.cmap .cm-lane,.cmap .cm-border{transition:opacity .35s ease,stroke-width .35s ease}
.cmap.hl-pac .cm-lane-atl,.cmap.hl-atl .cm-lane:not(.cm-lane-atl),.cmap.hl-cont .cm-lane{opacity:.12}
.cmap.hl-pac .cm-lane:not(.cm-lane-atl),.cmap.hl-atl .cm-lane-atl{stroke-width:4;filter:drop-shadow(0 0 6px rgba(63,188,244,.8))}
.cmap.hl-cont .cm-border{stroke:#f5a623;stroke-width:2.5;opacity:1;filter:drop-shadow(0 0 5px rgba(245,166,35,.8))}

/* Regional & Industry pages: group labels, 3 x 3 city cards, the industry tile grid */
.c21-group{display:flex;align-items:center;gap:14px;max-width:1200px;margin:6px auto 16px;font-size:11px;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:var(--orange)}
.c21-group::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,var(--border),transparent)}
.c21-cov-ind{max-width:1200px;margin:0 auto}
.c21-group+.ind-grid{margin-top:0}
#page-coverage .grid-3-resp:has(>div[onclick]){grid-template-columns:repeat(3,1fr) !important;gap:14px !important;margin-bottom:38px !important}
#page-coverage .grid-3-resp:has(>div[onclick])>div{position:relative;display:grid;grid-template-columns:42px 1fr auto;grid-template-rows:auto auto;column-gap:14px;align-items:center;
  padding:18px 18px !important;border-radius:14px !important;border:1px solid var(--border) !important;border-top:1px solid var(--border) !important;
  background:linear-gradient(180deg,#161f2e,var(--dark3)) !important;transition:transform .3s var(--ease-spring),border-color .25s !important}
#page-coverage .grid-3-resp:has(>div[onclick])>div::before{content:'';grid-row:1 / span 2;width:42px;height:42px;border-radius:50%;
  background:rgba(245,124,31,.08) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f57c1f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5A7 7 0 0112 2.5a7 7 0 017 7C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E") center/20px no-repeat;
  border:1px solid rgba(245,124,31,.28)}
#page-coverage .grid-3-resp:has(>div[onclick])>div:hover{border-color:rgba(245,124,31,.55) !important;transform:translateY(-2px) !important}
#page-coverage .grid-3-resp:has(>div[onclick])>div>div:nth-child(1){display:none}                       /* "Regional" eyebrow: the group label says it */
#page-coverage .grid-3-resp:has(>div[onclick])>div>div:nth-child(2){grid-column:2;margin:0 !important;font-size:16px !important}
#page-coverage .grid-3-resp:has(>div[onclick])>div>div:nth-child(3){grid-column:2;font-size:12px !important;margin-top:3px}
#page-coverage .grid-3-resp:has(>div[onclick])>div>div:nth-child(4){grid-column:3;grid-row:1 / span 2;margin:0 !important;font-size:0 !important}
#page-coverage .grid-3-resp:has(>div[onclick])>div>div:nth-child(4)::after{content:'→';font-size:16px;color:var(--text-muted);transition:color .2s,transform .25s var(--ease-spring);display:inline-block}
#page-coverage .grid-3-resp:has(>div[onclick])>div:hover>div:nth-child(4)::after{color:var(--orange);transform:translateX(3px)}
@media(max-width:900px){#page-coverage .grid-3-resp:has(>div[onclick]){grid-template-columns:1fr 1fr !important}}
@media(max-width:640px){
  #page-coverage .grid-3-resp:has(>div[onclick]){grid-template-columns:1fr !important;gap:8px !important;margin-bottom:26px !important}
  #page-coverage .grid-3-resp:has(>div[onclick])>div{padding:14px !important;grid-template-columns:36px 1fr auto}
  #page-coverage .grid-3-resp:has(>div[onclick])>div::before{width:36px;height:36px;background-size:18px}
}
/* gateway headers: badge under the title (Atlantic Gateway + "Europe & Beyond" wrapped side by side) */
#page-coverage .trade-lane .tl-header{flex-direction:column;align-items:flex-start;gap:10px}
#page-coverage .trade-lane .tl-title{white-space:nowrap}
#page-coverage .trade-lane .tl-badge{margin-left:54px;white-space:nowrap}

/* ══ ROUND 16 (2026-09-26): phone footer — Services + Company collapse behind their headings ══ */
@media(max-width:640px){
  footer .footer-col:not(:last-child){padding-bottom:0}
  footer .footer-col:not(:last-child)>h4{position:relative;cursor:pointer;margin-bottom:0;padding:14px 26px 14px 0;
    border-bottom:1px solid var(--border);-webkit-tap-highlight-color:transparent;user-select:none}
  footer .footer-col:not(:last-child)>h4::after{content:'';position:absolute;right:4px;top:50%;width:8px;height:8px;margin-top:-6px;
    border-right:2px solid var(--text-muted);border-bottom:2px solid var(--text-muted);transform:rotate(45deg);transition:transform .3s var(--ease-spring),margin .3s}
  footer .footer-col.open>h4::after{transform:rotate(-135deg);margin-top:-2px;border-color:var(--orange)}
  footer .footer-col:not(:last-child):not(.open)>:not(h4){display:none}
  footer .footer-col.open>:not(h4){animation:ftIn .3s ease both}
  footer .footer-col.open{padding-bottom:10px}
  footer .footer-grid{gap:0 !important}
  footer .footer-brand{padding-bottom:22px}
  footer .footer-col:last-child{padding-top:22px}
}
@keyframes ftIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}

/* ══ ROUND 17 (2026-09-26): Coverage map journeys + "click a city" hint ══ */
.cmap .cm-box{display:none}                                   /* the old single run (SMIL) is replaced by the journey loop */
.cm-trail{fill:none;stroke:#ffe2a3;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;opacity:0;
  filter:drop-shadow(0 0 5px rgba(245,166,35,.85));pointer-events:none}
.cm-jbox{fill:#fff4d6;opacity:0;filter:drop-shadow(0 0 6px rgba(245,166,35,1));pointer-events:none}
.cm-jring{fill:none;stroke:#ffe2a3;stroke-width:2;opacity:0;transform-box:fill-box;transform-origin:center;pointer-events:none}
.cm-jring.go{animation:cmJRing 1.4s ease-out forwards}
@keyframes cmJRing{0%{opacity:.95;transform:scale(.6)}100%{opacity:0;transform:scale(3.2)}}
/* linked cities breathe softly once the map has drawn — a quiet "these are clickable" */
.cmap.in .cm-link .cm-dot{animation:cmBreathe 3.4s ease-in-out 3.2s infinite}
@keyframes cmBreathe{0%,100%{filter:none}50%{filter:drop-shadow(0 0 6px rgba(245,166,35,.95))}}
@media(prefers-reduced-motion:reduce){.cmap.in .cm-link .cm-dot{animation:none}}

/* the hint pill (top-right of the map frame; "Tap" wording on touch screens) */
.c21-map{position:relative}
.cm-hint{position:absolute;top:14px;right:16px;z-index:2;display:flex;align-items:center;gap:9px;padding:7px 14px 7px 11px;border-radius:999px;
  background:rgba(13,17,23,.74);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(245,124,31,.3);
  font-size:12px;font-weight:500;color:var(--text);pointer-events:none;opacity:0;transform:translateY(-4px);transition:opacity .6s ease,transform .6s var(--ease-spring)}
.c21-map:has(.cmap.in) .cm-hint{opacity:1;transform:none;transition-delay:2.6s}
.cm-hint-dot{flex:none;width:7px;height:7px;border-radius:50%;background:var(--orange);animation:cmHintPulse 2.2s ease-out infinite}
@keyframes cmHintPulse{0%{box-shadow:0 0 0 0 rgba(245,124,31,.6)}70%,100%{box-shadow:0 0 0 7px rgba(245,124,31,0)}}
.cm-hint-tap{display:none}
@media(hover:none){.cm-hint-click{display:none}.cm-hint-tap{display:inline}}
@media(max-width:640px){.cm-hint{top:10px;right:auto;left:12px;font-size:11px;padding:6px 12px 6px 10px}}

/* ══ ROUND 18: cross-border truck runs ══ */
.cm-truck{opacity:0;pointer-events:none;filter:drop-shadow(0 0 6px rgba(245,166,35,.95))}
.cm-truck rect{fill:#f5a623}
.cm-truck rect+rect{fill:#ffe2a3}
.cm-trail.is-truck{stroke:#f5a623;stroke-width:2.4;filter:drop-shadow(0 0 4px rgba(245,166,35,.7))}

/* ══ ROUND 19 (2026-09-26): animated regional banners (classes added by _draft21/banners.py) ══ */
.region-banner .rb-water{animation:rbWater 7s ease-in-out infinite alternate}
.region-banner .rb-water-1{animation-duration:9s;animation-direction:alternate-reverse}
.region-banner .rb-water-2{animation-duration:11s}
@keyframes rbWater{from{transform:translateX(-5px);opacity:.65}to{transform:translateX(5px);opacity:1}}

.region-banner .rb-lights>*{animation:rbTwinkle 5.5s ease-in-out infinite}
.region-banner .rb-lights>:nth-child(3n+1){animation-delay:-1.8s;animation-duration:6.5s}
.region-banner .rb-lights>:nth-child(4n+2){animation-delay:-3.1s;animation-duration:4.8s}
.region-banner .rb-lights>:nth-child(5n){animation-delay:-4.4s;animation-duration:7.2s}
@keyframes rbTwinkle{0%,100%{filter:brightness(1)}50%{filter:brightness(.45)}}

.region-banner .rb-beacon{animation:rbBeacon 2.6s ease-in-out infinite}
@keyframes rbBeacon{0%,100%{opacity:1}45%{opacity:1}60%{opacity:.12}85%{opacity:.9}}

.region-banner .rb-glow{transform-box:fill-box;transform-origin:center;animation:rbGlow 6.5s ease-in-out infinite}
@keyframes rbGlow{0%,100%{transform:scale(1);opacity:.85}50%{transform:scale(1.07);opacity:1}}

/* crane lifts (Vancouver, Montreal): container + spreader rise, cables shorten from the trolley */
.region-banner .rb-lift{animation:rbLift 9s ease-in-out infinite}
@keyframes rbLift{0%,12%,100%{transform:translateY(0)}50%,62%{transform:translateY(-10px)}}
.region-banner .rb-cable{animation:rbCable 9s ease-in-out infinite}
.region-banner .rb-cable-van{transform-origin:765px 94px}
.region-banner .rb-cable-mtl{transform-origin:1190px 96px;animation-name:rbCableMtl}
@keyframes rbCable{0%,12%,100%{transform:scaleY(1)}50%,62%{transform:scaleY(.72)}}
@keyframes rbCableMtl{0%,12%,100%{transform:scaleY(1)}50%,62%{transform:scaleY(.76)}}

/* Halifax: the lighthouse beam sweeps from the lamp; harbour fog drifts */
.region-banner .rb-beam{transform-origin:180px 77px;animation:rbBeam 8s ease-in-out infinite alternate}
@keyframes rbBeam{from{transform:rotate(-7deg);opacity:.7}to{transform:rotate(5deg);opacity:1}}
.region-banner .rb-fog{animation:rbFog 24s ease-in-out infinite alternate}
@keyframes rbFog{from{transform:translateX(-34px)}to{transform:translateX(34px)}}

/* Edmonton: aurora rays shimmer, the bands drift */
.region-banner .rb-ray{transform-box:fill-box;transform-origin:50% 100%;animation:rbRay 6s ease-in-out infinite}
@keyframes rbRay{0%,100%{transform:scaleY(1);opacity:.3}40%{transform:scaleY(1.28);opacity:.55}70%{transform:scaleY(.92);opacity:.22}}
.region-banner .rb-band{animation:rbBand 14s ease-in-out infinite alternate}
@keyframes rbBand{from{transform:translateX(-22px);opacity:.55}to{transform:translateX(22px);opacity:1}}

/* Winnipeg: locomotive smoke rises and thins; headlight + yard lights hum */
.region-banner .rb-smoke{transform-box:fill-box;transform-origin:center;animation:rbSmoke 4.8s ease-out infinite}
.region-banner .rb-smoke-1{animation-delay:-1.6s}
.region-banner .rb-smoke-2{animation-delay:-3.2s}
@keyframes rbSmoke{0%{transform:translate(8px,14px) scale(.7);opacity:0}20%{opacity:.14}100%{transform:translate(-10px,-16px) scale(1.5);opacity:0}}
.region-banner .rb-headlight{animation:rbHead 3.4s ease-in-out infinite}
@keyframes rbHead{0%,100%{opacity:.8}50%{opacity:1}}
.region-banner .rb-cone{animation:rbCone 5s ease-in-out infinite}
@keyframes rbCone{0%,100%{opacity:.38}50%{opacity:.56}}

/* Calgary: the chinook arch drifts across the sky */
.region-banner .rb-arch{animation:rbArch 18s ease-in-out infinite alternate}
@keyframes rbArch{from{transform:translateX(-28px);opacity:.7}to{transform:translateX(28px);opacity:1}}

/* Saskatchewan: furrows catch the last light */
.region-banner .rb-field{animation:rbField 5.5s ease-in-out infinite alternate}
@keyframes rbField{from{opacity:.55}to{opacity:1}}

/* Atlantic Canada: a truck crosses the bridge (follows its arch) */
.region-banner .rb-truck{animation:rbTruck 17s linear infinite}
@keyframes rbTruck{0%{transform:translate(-40px,8px);opacity:0}6%{opacity:1}30%{transform:translate(40px,-2px)}50%{transform:translate(82px,-6px)}
  75%{transform:translate(140px,0)}92%{transform:translate(186px,9px);opacity:1}100%{transform:translate(200px,12px);opacity:0}}

@media(prefers-reduced-motion:reduce){.region-banner [class*="rb-"],.region-banner .rb-lights>*{animation:none !important}}

/* ══ ROUND 20: home hero idle motion = a blade of light along the horizon (same path + timing the idle container had) ══ */
.dawn-route .dr-haul:not(.run){animation:none;opacity:0}
.dawn-route .dr-glint{opacity:0;filter:drop-shadow(0 0 6px rgba(255,226,163,.9));animation:drGlint 13s cubic-bezier(.45,0,.25,1) 3.7s infinite}
@keyframes drGlint{0%{opacity:0;transform:translateX(300px)}6%{opacity:1}44%{opacity:1}50%{opacity:0;transform:translateX(985px)}100%{opacity:0;transform:translateX(985px)}}
.dawn-route.routed .dr-glint{animation:none;opacity:0}
@media(prefers-reduced-motion:reduce){.dawn-route .dr-glint{display:none}}

/* ══ ROUND 21 (2026-09-26): Canada-US Cross-Border page, its map link and its region card ══ */
#page-cross-border .page-hero{--ph:url(/img/site/xborder-5410923-1920.webp);--phm:url(/img/site/xborder-5410923-900.webp);--php:center 52%;--pht:.4}
.cm-xb{fill:none;stroke:#f5a623;stroke-width:1.6;stroke-dasharray:3 6;stroke-linecap:round;opacity:0;transition:opacity .6s ease,stroke-width .3s ease}
.cm-xing{fill:#131922;stroke:#f5a623;stroke-width:1.5;opacity:0;transition:opacity .6s ease}
.cm-xlab{fill:#8fa3bb;font:600 11.5px var(--font-body);letter-spacing:.04em;opacity:0;transition:opacity .6s ease,fill .25s}
.cmap.in .cm-xb{opacity:.5;transition-delay:2.4s}
.cmap.in .cm-xing,.cmap.in .cm-xlab{opacity:1;transition-delay:2.6s}
.cm-border-hit{fill:none;stroke:#000;stroke-opacity:0;stroke-width:30;stroke-linejoin:round;pointer-events:stroke}
.cm-us .cm-country{pointer-events:all}
.cm-us:hover .cm-xb,.cm-us:focus .cm-xb{opacity:1;stroke-width:2.6;transition-delay:0s}
.cm-us:hover .cm-xlab,.cm-us:focus .cm-xlab{fill:#ffe2a3}
.cmap:has(.cm-us:hover) .cm-border,.cmap:has(.cm-us:focus) .cm-border{stroke:#ffc15a;stroke-width:3;stroke-dasharray:none;opacity:1;filter:drop-shadow(0 0 4px rgba(245,166,35,.95)) drop-shadow(0 0 12px rgba(245,124,31,.6));transition:stroke .3s,stroke-width .3s,filter .3s}
.cmap:has(.cm-us:hover) .cm-lane,.cmap:has(.cm-us:focus) .cm-lane{opacity:.15}

/* Coverage "By region": Cross-Border to the USA, full width, in Steel's old place */
#page-coverage .grid-3-resp:has(>div[onclick])>.c21-xb-card{grid-column:1 / -1;cursor:pointer;
  background:linear-gradient(100deg,rgba(245,166,35,.12),#161f2e 45%,var(--dark3)) !important;border-color:rgba(245,166,35,.35) !important}
#page-coverage .grid-3-resp:has(>div[onclick])>.c21-xb-card::before{background-color:rgba(245,166,35,.12);border-color:rgba(245,166,35,.45);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f5a623' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 6h11v10H2zM13 9h4.5l3.5 3.5V16h-8z'/%3E%3Ccircle cx='6' cy='17.5' r='1.8'/%3E%3Ccircle cx='17' cy='17.5' r='1.8'/%3E%3C/svg%3E")}
.c21-xb-card>div:nth-child(2){font-family:var(--font-head);font-weight:800;color:var(--white)}
.c21-xb-card>div:nth-child(3){color:var(--text-muted);line-height:1.5}

/* ══ ROUND 22 (2026-09-26): Customs "Every Shipment Includes" — clickable steps, a mini page each ══ */
.c21-st-hint{display:flex;align-items:center;justify-content:center;gap:9px;margin:-18px auto 26px;font-size:13px;color:var(--text-muted)}
.st-hint-dot{width:7px;height:7px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 0 rgba(63,188,244,.6);animation:stHint 2.4s ease-out infinite}
@keyframes stHint{0%{box-shadow:0 0 0 0 rgba(63,188,244,.55)}70%,100%{box-shadow:0 0 0 9px rgba(63,188,244,0)}}
.st-hint-tap{display:none}
@media(hover:none){.st-hint-click{display:none}.st-hint-tap{display:inline}}
#page-customs .c21-stx .st{padding:0}
.c21-stx .st-btn{appearance:none;-webkit-appearance:none;background:none;border:0;margin:0;color:inherit;font:inherit;text-align:left;cursor:pointer;
  display:block;width:100%;height:100%;padding:22px 18px 20px;border-radius:12px;position:relative;-webkit-tap-highlight-color:transparent}
.c21-stx .st-btn:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.c21-stx .st-t{padding-right:18px}
.c21-stx .st-more{position:absolute;top:22px;right:16px;width:26px;height:26px;border-radius:50%;border:1px solid var(--border);display:grid;place-items:center;
  font-size:17px;line-height:1;color:var(--text-muted);transition:transform .4s var(--ease-spring),color .25s,border-color .25s,background .25s}
.c21-stx .st:hover .st-more{color:var(--blue);border-color:rgba(63,188,244,.55)}
.c21-stx .st.on{border-color:var(--blue) !important;background:linear-gradient(180deg,rgba(63,188,244,.1),var(--dark2) 70%)}
.c21-stx .st.on .st-more{transform:rotate(45deg);color:#0d1117;background:var(--blue);border-color:var(--blue)}
.c21-stx .st.on .st-n{background:var(--blue);color:#0d1117;border-color:var(--blue)}
.c21-stx .st-n{transition:background .25s,color .25s}
.st-mini{grid-column:1 / -1;list-style:none;position:relative}
.st-mini-in{position:relative}
.st-mini-in::before{content:'';position:absolute;top:-7px;left:calc(var(--px,50%) - 7px);width:14px;height:14px;background:#15263b;
  border-left:1px solid rgba(63,188,244,.5);border-top:1px solid rgba(63,188,244,.5);transform:rotate(45deg);z-index:1;transition:left .35s var(--ease-spring)}
.st-page{position:relative;background:linear-gradient(165deg,#15263b,var(--dark2) 55%);border:1px solid rgba(63,188,244,.5);border-radius:14px;
  padding:26px 28px 22px;box-shadow:0 24px 60px -30px rgba(63,188,244,.35)}
.st-mini.open .st-page{animation:stOpen .5s var(--ease-spring) both}
@keyframes stOpen{from{opacity:0;transform:translateY(-8px) scale(.985)}to{opacity:1;transform:none}}
.stp-head{display:flex;align-items:center;gap:16px;margin-bottom:20px}
.stp-n{flex:none;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--blue);color:#0d1117;
  font-family:var(--font-head);font-weight:800;font-size:18px;box-shadow:0 0 0 6px rgba(63,188,244,.12)}
.stp-kicker{display:block;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--blue)}
.stp-head h3{margin:3px 0 0;font-family:var(--font-head);font-size:22px;font-weight:800;line-height:1.25;color:var(--white)}
.stp-close{margin-left:auto;align-self:flex-start;flex:none;width:36px;height:36px;border-radius:50%;border:1px solid var(--border);background:rgba(255,255,255,.02);
  color:var(--text-muted);font-size:20px;line-height:1;cursor:pointer;transition:color .2s,border-color .2s}
.stp-close:hover{color:var(--white);border-color:rgba(63,188,244,.6)}
.stp-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.stp-body{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:26px}
.stp-body h4{margin:0 0 9px;font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--orange)}
.stp-body p{margin:0;font-size:14.5px;line-height:1.65;color:var(--text)}
.stp-need ul{list-style:none;margin:0;padding:0}
.stp-need li{position:relative;padding-left:22px;margin:0 0 9px;font-size:14px;line-height:1.5;color:var(--text)}
.stp-need li::before{content:'✓';position:absolute;left:0;top:0;color:var(--blue);font-weight:800}
.stp-foot{display:flex;flex-wrap:wrap;align-items:center;gap:10px 20px;margin-top:22px;padding-top:18px;border-top:1px solid var(--border)}
.stp-prev,.stp-next{appearance:none;background:rgba(255,255,255,.02);border:1px solid var(--border);color:var(--text);font:600 13px var(--font-body);
  padding:9px 16px;border-radius:999px;cursor:pointer;transition:border-color .2s,color .2s}
.stp-prev:hover:not(:disabled),.stp-next:hover:not(:disabled){border-color:var(--blue);color:var(--white)}
.stp-prev:disabled,.stp-next:disabled{opacity:.35;cursor:default}
.stp-next{margin-left:auto}
.stp-guide,.stp-ask{font-size:13.5px;font-weight:600;text-decoration:none}
.stp-guide{color:var(--blue)}
.stp-ask{color:var(--orange)}
.stp-guide:hover,.stp-ask:hover{text-decoration:underline}
@media(max-width:900px){.stp-body{grid-template-columns:1fr 1fr}.stp-what{grid-column:1 / -1}}
@media(max-width:640px){
  .c21-st-hint{margin:-22px auto 18px;font-size:12.5px}
  .c21-stx .st-btn{display:flex;align-items:center;gap:14px;padding:9px 44px 9px 0}
  .c21-stx .st-more{top:50%;margin-top:-13px;right:4px}
  .c21-stx .st.on{background:none;border:none !important}
  .c21-stx .st.on .st-t{color:var(--white);font-weight:600}
  .st-mini{margin:2px 0 12px 46px}
  .st-mini-in::before{display:none}
  .st-page{padding:18px 16px 16px;border-radius:12px}
  .stp-head{margin-bottom:14px}
  .stp-n{display:none}
  .stp-head h3{font-size:17px}
  .stp-body{grid-template-columns:1fr;gap:16px}
  .stp-body p{font-size:14px}
  .stp-foot{gap:10px 14px}
  .stp-prev,.stp-next{padding:8px 13px;font-size:12.5px}
  .stp-guide,.stp-ask{order:-1;flex-basis:100%}
}
@media(prefers-reduced-motion:reduce){.st-mini.open .st-page{animation:none}.st-hint-dot{animation:none}}

/* ══ ROUND 24 (2026-09-26): Services overhaul — hub + a page per service (Steven: "give every major service its own
   click into mini page ... add in customs consulting ... make it look beautiful") ══ */

/* ── the journey ribbon (hub + every service page): nodes pop in, the track fills sky → ember, then a light runs
      along it and each station glows as it passes (pulse and glows share one 7 s clock) ── */
.svc-flow{position:relative;max-width:1080px;margin:4px auto 0;padding:6px 0}
.svf-nodes{list-style:none;display:grid;grid-template-columns:repeat(var(--n),1fr);position:relative;z-index:1;margin:0;padding:0}
.svf-track{position:absolute;top:34px;left:calc(50% / var(--n));right:calc(50% / var(--n));height:2px;border-radius:2px;background:rgba(63,188,244,.13)}
.svf-fill{position:absolute;inset:0;border-radius:2px;opacity:.8;background:linear-gradient(90deg,var(--blue),#8fd3f7 55%,var(--orange));
  transform:scaleX(0);transform-origin:left;transition:transform 1.6s cubic-bezier(.65,0,.35,1) .25s}
.svc-flow.in .svf-fill{transform:scaleX(1)}
.svf-pulse{position:absolute;top:50%;left:0;width:96px;height:8px;margin:-4px 0 0 -48px;border-radius:8px;opacity:0;pointer-events:none;
  background:radial-gradient(closest-side,#fffaf0,rgba(255,200,110,.85) 38%,rgba(245,124,31,0) 100%)}
.svc-flow.in .svf-pulse{animation:svfPulse 7s linear 1.9s infinite}
@keyframes svfPulse{0%{left:0;opacity:0}5%{opacity:1}70%{left:100%;opacity:1}77%,100%{left:100%;opacity:0}}
@keyframes svfPulseV{0%{top:0;opacity:0}5%{opacity:1}70%{top:100%;opacity:1}77%,100%{top:100%;opacity:0}}
.svf-node{display:flex;justify-content:center;text-align:center}
.svf-in{display:flex;flex-direction:column;align-items:center;gap:12px;padding:0 6px;text-decoration:none;color:inherit;
  opacity:0;transform:translateY(10px) scale(.92);transition:opacity .5s ease,transform .6s var(--ease-spring);transition-delay:calc(.15s + var(--i) * .14s)}
.svc-flow.in .svf-in{opacity:1;transform:none}
.svf-dot{position:relative;flex:none;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;color:var(--blue);
  background:radial-gradient(circle at 50% 28%,#1c2c42,#0f1620);border:1.5px solid rgba(63,188,244,.42);
  box-shadow:0 0 0 6px var(--dark),0 12px 30px -14px rgba(0,0,0,.9);transition:border-color .3s,color .3s,transform .35s var(--ease-spring)}
.svf-dot .ico{width:24px;height:24px}
.svf-dot::after{content:'';position:absolute;inset:-6px;border-radius:50%;border:1.5px solid #ffc15a;opacity:0;pointer-events:none;
  box-shadow:0 0 26px rgba(245,166,35,.6),inset 0 0 14px rgba(245,166,35,.35)}
.svc-flow.in .svf-dot::after{animation:svfGlow 7s linear infinite;animation-delay:calc(1.9s + var(--i) / (var(--n) - 1) * 4.9s)}
@keyframes svfGlow{0%{opacity:0;transform:scale(.9)}3%{opacity:1;transform:scale(1)}13%{opacity:1}26%,100%{opacity:0;transform:scale(1.06)}}
.svf-label{max-width:150px;font-family:var(--font-head);font-weight:700;font-size:14px;line-height:1.3;color:var(--white)}
.svf-node:first-child .svf-dot,.svh-flow .svf-node:last-child .svf-dot{border-style:dashed;color:var(--text-muted)}
.svf-link .svf-in{cursor:pointer}
.svf-link .svf-label{border-bottom:1px dashed rgba(245,124,31,.45);padding-bottom:2px;transition:color .25s,border-color .25s}
.svf-link .svf-in:hover .svf-dot,.svf-link .svf-in:focus-visible .svf-dot{border-color:var(--orange);color:var(--orange);transform:translateY(-4px) scale(1.06)}
.svf-link .svf-in:hover .svf-label,.svf-link .svf-in:focus-visible .svf-label{color:var(--orange);border-bottom-color:var(--orange)}
.svf-link .svf-in:focus-visible{outline:none}
@media(prefers-reduced-motion:reduce){
  .svf-in{opacity:1;transform:none;transition:none}.svf-fill{transform:none;transition:none}
  .svc-flow.in .svf-pulse,.svc-flow.in .svf-dot::after{animation:none}
}

/* ── HUB: /services ── */
.svh-journey{padding:60px 0 16px}
.svh-journey .section-header{margin-bottom:40px}
.svh-lead{max-width:640px;margin:16px auto 0;font-size:15px;line-height:1.6;color:var(--text-muted)}
.svh-cards{padding:40px 0 84px}
.svh-cards .c21-group{max-width:none}
.svh-grid{display:grid;gap:18px;margin-bottom:44px}
.svh-chain{grid-template-columns:repeat(4,1fr)}
.svh-more{grid-template-columns:repeat(2,1fr)}
.svh-card{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:flex-end;min-height:450px;overflow:hidden;
  border-radius:16px;border:1px solid var(--border);background:var(--dark2);text-decoration:none;color:inherit;
  transition:transform .5s var(--ease-spring),border-color .3s,box-shadow .5s}
.svh-more .svh-card{min-height:300px}
.svh-photo{position:absolute;inset:0;z-index:-1;background:var(--cp) var(--cpp,center)/cover no-repeat;transform:scale(1.02);
  transition:transform 1.4s cubic-bezier(.2,.7,.2,1)}
.svh-photo::after{content:'';position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(13,17,23,.1) 0%,rgba(13,17,23,.3) 32%,rgba(13,17,23,.86) 58%,rgba(13,17,23,.98) 100%)}
.svh-more .svh-photo::after{background:linear-gradient(90deg,rgba(13,17,23,.98) 0%,rgba(13,17,23,.88) 42%,rgba(13,17,23,.4) 72%,rgba(13,17,23,.12) 100%)}
.svh-card::before{content:'';position:absolute;left:0;right:0;top:0;height:2px;z-index:2;background:var(--grad-fire);
  transform:scaleX(0);transform-origin:left;transition:transform .7s var(--ease-spring)}
.svh-card:hover{transform:translateY(-6px);border-color:rgba(245,124,31,.45);
  box-shadow:0 34px 60px -32px rgba(245,124,31,.4),0 24px 50px -28px rgba(0,0,0,.95)}
.svh-card:hover::before,.svh-card:focus-visible::before{transform:scaleX(1)}
.svh-card:hover .svh-photo{transform:scale(1.08)}
.svh-card:focus-visible{outline:2px solid var(--orange);outline-offset:3px}
.svh-num{position:absolute;top:18px;left:18px;padding:6px 11px;border-radius:999px;font-family:var(--font-head);font-weight:800;font-size:12.5px;
  letter-spacing:.14em;color:rgba(255,255,255,.9);background:rgba(13,17,23,.55);border:1px solid rgba(255,255,255,.16);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.svh-body{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:24px 22px 22px}
.svh-more .svh-body{max-width:64%;padding:30px 30px 28px}
.svh-ico{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;color:var(--blue);
  background:rgba(63,188,244,.1);border:1px solid rgba(63,188,244,.35);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.svh-ico .ico{width:22px;height:22px}
.svh-title{font-family:var(--font-head);font-weight:800;font-size:21px;line-height:1.2;color:var(--white)}
.svh-pitch{font-size:14px;line-height:1.55;color:var(--text)}
.svh-tags{display:flex;flex-wrap:wrap;gap:6px}
.svh-tags>span{padding:4px 10px;border-radius:999px;font-size:11.5px;font-weight:600;color:var(--text-muted);
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1)}
.svh-go{display:inline-flex;align-items:center;gap:8px;margin-top:4px;font-size:13.5px;font-weight:700;color:var(--orange)}
.svh-go i{font-style:normal;transition:transform .35s var(--ease-spring)}
.svh-card:hover .svh-go i{transform:translateX(5px)}
#page-services #svc-track{margin-top:4px !important}
@media(max-width:1100px){.svh-chain{grid-template-columns:repeat(2,1fr)}.svh-card{min-height:400px}}
@media(max-width:900px){.svh-more{grid-template-columns:1fr}.svh-more .svh-body{max-width:78%}.svf-label{font-size:13px}}
@media(max-width:640px){
  .svh-journey{padding:36px 0 4px}
  .svh-journey .section-header{margin-bottom:22px}
  .svh-lead{font-size:14px}
  .svh-cards{padding:28px 0 56px}
  .svh-grid{gap:12px;margin-bottom:30px}
  .svh-chain{grid-template-columns:1fr}
  .svh-card,.svh-more .svh-card{min-height:300px;border-radius:14px}
  .svh-more .svh-photo::after{background:linear-gradient(180deg,rgba(13,17,23,.1) 0%,rgba(13,17,23,.3) 32%,rgba(13,17,23,.86) 58%,rgba(13,17,23,.98) 100%)}
  .svh-body,.svh-more .svh-body{max-width:none;padding:18px;gap:8px}
  .svh-ico{width:38px;height:38px;border-radius:10px}.svh-ico .ico{width:19px;height:19px}
  .svh-title{font-size:19px}
  .svh-pitch{font-size:13.5px}
  .svh-num{top:14px;left:14px}
}

/* ribbon on phones: a vertical timeline (hub + pages) */
@media(max-width:640px){
  .svc-flow{padding:0;max-width:420px}
  .svf-nodes{grid-template-columns:1fr;grid-auto-rows:1fr}
  .svf-track{top:calc(50% / var(--n));bottom:calc(50% / var(--n));left:30px;right:auto;width:2px;height:auto}
  .svf-fill{transform:scaleY(0);transform-origin:top;background:linear-gradient(180deg,var(--blue),#8fd3f7 55%,var(--orange))}
  .svc-flow.in .svf-fill{transform:scaleY(1)}
  .svf-pulse{top:0;left:50%;width:8px;height:72px;margin:-36px 0 0 -4px}
  .svc-flow.in .svf-pulse{animation-name:svfPulseV}
  .svf-node{justify-content:flex-start;text-align:left;padding:7px 0}
  .svf-in{flex-direction:row;gap:16px}
  .svf-dot{width:48px;height:48px}.svf-dot .ico{width:21px;height:21px}
  .svf-label{max-width:none;font-size:15px}
}

/* ── SERVICE PAGES ── */
#page-ocean-freight .page-hero{--ph:url(/img/site/svc-14392678-1920.webp);--phm:url(/img/site/svc-14392678-900.webp);--php:center 62%;--pht:.35}
#page-drayage .page-hero{--ph:url(/img/site/svc-36652827-1920.webp);--phm:url(/img/site/svc-36652827-900.webp);--php:center 55%;--pht:.4}
#page-warehousing .page-hero{--ph:url(/img/site/svc-10697106-1920.webp);--phm:url(/img/site/svc-10697106-900.webp);--php:center 50%;--pht:.4}
#page-customs-consulting .page-hero{--ph:url(/img/site/svc-10625757-1920.webp);--phm:url(/img/site/svc-10625757-900.webp);--php:center 35%;--pht:.3}
.svc-page .page-hero{padding-bottom:84px;
  background:linear-gradient(90deg,rgba(13,17,23,.97) 0%,rgba(13,17,23,.86) 30%,rgba(13,17,23,.38) 62%,rgba(13,17,23,.1) 100%),
    linear-gradient(180deg,rgba(13,17,23,var(--pht,.5)) 0%,transparent 30%,transparent 70%,rgba(13,17,23,.85) 100%),
    var(--ph) var(--php)/cover no-repeat,var(--dark) !important}
.svc-page .page-hero .page-hero-grid{display:none}
.svc-page .page-hero-title,.svc-page .page-hero-sub{max-width:720px}
.svc-back{display:inline-flex;align-items:center;gap:8px;margin-bottom:18px;font-size:13px;font-weight:600;color:var(--text-muted);text-decoration:none;transition:color .2s}
.svc-back i{font-style:normal;transition:transform .3s var(--ease-spring)}
.svc-back:hover{color:var(--white)}
.svc-back:hover i{transform:translateX(-4px)}
.svc-back+.page-hero-eyebrow{display:table}
.svc-facts{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px;max-width:760px}
.svc-facts>span{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;font-size:13px;font-weight:600;color:var(--white);
  background:rgba(13,17,23,.55);border:1px solid rgba(63,188,244,.3);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.svc-facts>span::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--blue);box-shadow:0 0 8px rgba(63,188,244,.8)}
.svc-hero-cta{margin-top:26px}
.svc-hero-cta .btn-primary,.svc-page .ind-quote .btn-primary{display:inline-block;text-decoration:none}
@media(max-width:640px){
  .svc-page .page-hero{padding-bottom:40px;background:linear-gradient(180deg,rgba(13,17,23,.45) 0%,rgba(13,17,23,.76) 48%,rgba(13,17,23,.94) 100%),
    var(--phm) 70% 40%/cover no-repeat,var(--dark) !important}
  .svc-back{margin-bottom:12px}
  .svc-facts{margin-top:18px;gap:6px}.svc-facts>span{padding:6px 11px;font-size:12px}
  .svc-hero-cta .btn-primary{display:block;text-align:center}
}

.svc-sec{padding:76px 0}
.svc-sec .section-header{margin-bottom:40px}
.svc-flow-sec{padding:70px 0 80px}

/* What's Included: the service's own paragraph + a checklist of what it covers */
.svc-inc{display:grid;grid-template-columns:1fr 1.25fr;gap:48px;align-items:start}
.svc-inc-solo{grid-template-columns:1fr;max-width:820px}
.svc-inc-intro p{font-size:16px;line-height:1.75;color:var(--text)}
.svc-checks{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.svc-checks li{position:relative;display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border-radius:12px;font-size:14px;line-height:1.5;color:var(--text);
  background:var(--dark3);border:1px solid var(--border);transition:border-color .25s,transform .3s var(--ease-spring)}
.svc-checks li:hover{border-color:rgba(63,188,244,.45);transform:translateY(-2px)}
.svc-ck{flex:none;width:22px;height:22px;margin-top:-1px;border-radius:50%;background:rgba(63,188,244,.12) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233fbcf4' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/13px no-repeat;
  border:1px solid rgba(63,188,244,.4)}

/* feature cards (Choose your mode / Built for / When to call us) */
.svc-feats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.svc-feats-3{grid-template-columns:repeat(3,1fr);margin-top:40px}
.svc-feat{position:relative;overflow:hidden;padding:26px 22px 24px;border-radius:14px;border:1px solid var(--border);
  background:linear-gradient(170deg,#172336,var(--dark3) 60%);transition:transform .4s var(--ease-spring),border-color .3s,box-shadow .4s}
.svc-feat::before{content:'';position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,var(--blue),var(--orange));
  transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease-spring)}
.svc-feat:hover{transform:translateY(-4px);border-color:rgba(63,188,244,.4);box-shadow:0 26px 50px -30px rgba(63,188,244,.4)}
.svc-feat:hover::before{transform:scaleX(1)}
.svc-feat-ico{display:grid;place-items:center;width:48px;height:48px;margin-bottom:18px;border-radius:50%;color:var(--blue);
  background:rgba(63,188,244,.09);border:1px solid rgba(63,188,244,.35);transition:color .3s,border-color .3s,background .3s}
.svc-feat-ico .ico{width:23px;height:23px}
.svc-feat:hover .svc-feat-ico{color:var(--orange);border-color:rgba(245,124,31,.5);background:rgba(245,124,31,.1)}
.svc-feat h3{margin:0 0 9px;font-family:var(--font-head);font-size:17px;font-weight:700;line-height:1.3;color:var(--white)}
.svc-feat p{margin:0;font-size:14px;line-height:1.62;color:var(--text-muted)}

/* Drayage: the "Rail, Truck & Last Mile" cards moved here from the old Services page */
.svc-page .svc-rail{background:var(--dark) !important;border:0 !important;padding:76px 0 !important}
.svc-rail .grid-3-resp>div{border-radius:14px !important;border-top:1px solid var(--border) !important;position:relative;overflow:hidden;
  background:linear-gradient(170deg,#172336,var(--dark3) 60%) !important;transition:transform .4s var(--ease-spring),border-color .3s}
.svc-rail .grid-3-resp>div::before{content:'';position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,var(--blue),var(--orange))}
.svc-rail .grid-3-resp>div:hover{transform:translateY(-4px);border-color:rgba(63,188,244,.4) !important}
.svc-rail .grid-3-resp>div>div:first-child{color:var(--blue)}

/* More services: small photo tiles */
.svc-more{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.svc-mt{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;gap:12px;min-height:74px;padding:14px 16px;border-radius:12px;
  border:1px solid var(--border);text-decoration:none;color:inherit;background:var(--dark3);transition:border-color .25s,transform .35s var(--ease-spring)}
.svc-mt-ph{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(13,17,23,.96) 30%,rgba(13,17,23,.7) 70%,rgba(13,17,23,.45)),
  var(--cp) var(--cpp,center)/cover no-repeat;transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.svc-mt:hover{border-color:rgba(245,124,31,.5);transform:translateY(-2px)}
.svc-mt:last-child:nth-child(odd){grid-column:1 / -1}   /* 5 tiles: the last one spans the row */
.svc-mt:hover .svc-mt-ph{transform:scale(1.07)}
.svc-mt-ico{flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;color:var(--blue);background:rgba(13,17,23,.6);border:1px solid rgba(63,188,244,.35)}
.svc-mt-ico .ico{width:19px;height:19px}
.svc-mt-t{flex:1;font-family:var(--font-head);font-weight:700;font-size:14.5px;line-height:1.3;color:var(--white)}
.svc-mt-go{color:var(--text-muted);transition:color .2s,transform .3s var(--ease-spring)}
.svc-mt:hover .svc-mt-go{color:var(--orange);transform:translateX(3px)}

@media(max-width:1000px){.svc-feats{grid-template-columns:repeat(2,1fr)}.svc-feats-3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.svc-inc{grid-template-columns:1fr;gap:28px}}
@media(max-width:640px){
  .svc-sec,.svc-page .svc-rail{padding:48px 0 !important}
  .svc-flow-sec{padding:44px 0 48px}
  .svc-sec .section-header{margin-bottom:26px}
  .svc-inc-intro p{font-size:15px}
  .svc-checks{grid-template-columns:1fr;gap:8px}
  .svc-checks li{padding:12px 14px}
  .svc-feats,.svc-feats-3{grid-template-columns:1fr;gap:10px}
  .svc-feats-3{margin-top:28px}
  .svc-feat{display:grid;grid-template-columns:42px 1fr;column-gap:14px;padding:18px 16px}
  .svc-feat-ico{grid-row:1 / span 2;width:42px;height:42px;margin:0}.svc-feat-ico .ico{width:20px;height:20px}
  .svc-feat h3{font-size:16px;margin-bottom:5px}
  .svc-feat p{font-size:13.5px}
  .svc-more{grid-template-columns:1fr;gap:8px}
  .svc-mt:last-child:nth-child(odd){grid-column:auto}
}
@media(prefers-reduced-motion:reduce){.svh-card,.svh-photo,.svc-feat,.svc-mt,.svc-mt-ph{transition:none}}

/* Customs page: the "HS & Customs Consulting" item links to its page */
.c21-more{display:inline-block;margin-top:12px;font-size:13px;font-weight:700;color:var(--orange);text-decoration:none}
.c21-more:hover{text-decoration:underline}

/* ── desktop nav: Services dropdown (the link goes to the hub; hover or the caret opens the six) ── */
.nav-dd-svc{gap:0}
.nav-dd-caret-btn{display:inline-grid;place-items:center;width:18px;height:28px;margin-left:-8px;padding:0;background:none;border:0;color:var(--text-muted);cursor:pointer}
.nav-dd-caret-btn:focus-visible{outline:2px solid var(--orange);outline-offset:2px;border-radius:4px}
.nav-dd-svc:hover .nav-dd-caret-btn,.nav-dd-svc.open .nav-dd-caret-btn{color:var(--text)}
.nav-dd-menu-svc{min-width:380px}
.dd-svc{flex-direction:row;align-items:center;gap:13px}
.dd-ico{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;color:var(--blue);background:rgba(63,188,244,.08);
  border:1px solid rgba(63,188,244,.3);transition:color .2s,border-color .2s,background .2s}
.dd-ico .ico{width:17px;height:17px}
.dd-svc:hover .dd-ico{color:var(--orange);border-color:rgba(245,124,31,.5);background:rgba(245,124,31,.1)}
.dd-txt{display:flex;flex-direction:column;gap:3px;min-width:0}
.nav-dd-svc>.nav-link.svc-sub{box-shadow:inset 0 -2px 0 var(--orange);color:var(--text)}

/* Ocean Freight: the carriers band from the homepage (round 24) */
.svc-page .svc-carriers{background:var(--dark2);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:76px 0}
@media(max-width:640px){.svc-page .svc-carriers{padding:48px 0}}

/* ══ ROUND 24b (2026-09-26): homepage "Where would you like to start?" — in the carriers band's old place, a photo card per
   main tab with a mini summary (Steven: "connections to the other pages and mini summaries ... please make it beautiful") ══ */
.hx{position:relative;padding:84px 0 92px;background:radial-gradient(ellipse 55% 45% at 50% 0%,rgba(245,124,31,.07),transparent 70%),var(--dark);
  border-top:1px solid var(--border)}
.hx .section-header{margin-bottom:44px}
.hx-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}
.hx-card{grid-column:span 4;position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:flex-end;min-height:290px;
  border-radius:18px;border:1px solid var(--border);background:var(--dark2);text-decoration:none;color:inherit;opacity:0;
  transition:transform .5s var(--ease-spring),border-color .3s,box-shadow .5s}
.hx-grid.in .hx-card{animation:hxIn .9s var(--ease-spring) var(--d,0s) both}
@keyframes hxIn{from{opacity:0;translate:0 22px}to{opacity:1;translate:0 0}}
.hx-services{grid-column:span 7;min-height:370px}
.hx-customs{grid-column:span 5;min-height:370px}
.hx-photo{position:absolute;inset:0;z-index:-1;background:var(--cp) var(--cpp,center)/cover no-repeat;transform:scale(1.02);
  transition:transform 1.4s cubic-bezier(.2,.7,.2,1)}
.hx-photo::after{content:'';position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(13,17,23,.05) 0%,rgba(13,17,23,.32) 38%,rgba(13,17,23,.9) 74%,rgba(13,17,23,.98) 100%)}
.hx-card::before{content:'';position:absolute;left:0;right:0;top:0;height:2px;z-index:2;background:var(--grad-fire);
  transform:scaleX(0);transform-origin:left;transition:transform .7s var(--ease-spring)}
.hx-card:hover{transform:translateY(-6px);border-color:rgba(245,124,31,.45);
  box-shadow:0 34px 64px -34px rgba(245,124,31,.42),0 24px 50px -28px rgba(0,0,0,.95)}
.hx-card:hover::before,.hx-card:focus-visible::before{transform:scaleX(1)}
.hx-card:hover .hx-photo{transform:scale(1.08)}
.hx-card:focus-visible{outline:2px solid var(--orange);outline-offset:3px}
.hx-arrow{position:absolute;top:18px;right:18px;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;color:var(--white);
  background:rgba(13,17,23,.5);border:1px solid rgba(255,255,255,.2);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  transition:background .3s,border-color .3s,transform .5s var(--ease-spring)}
.hx-arrow svg{width:18px;height:18px}
.hx-card:hover .hx-arrow,.hx-card:focus-visible .hx-arrow{background:var(--grad-fire);border-color:transparent;transform:rotate(45deg)}
.hx-body{display:flex;flex-direction:column;align-items:flex-start;gap:9px;width:100%;padding:24px 24px 22px}
.hx-services .hx-body,.hx-customs .hx-body{padding:30px 30px 28px;max-width:580px}
.hx-label{display:inline-flex;align-items:center;gap:8px;font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--blue)}
.hx-label .ico{width:16px;height:16px}
.hx-head{font-family:var(--font-head);font-weight:800;font-size:21px;line-height:1.2;color:var(--white)}
.hx-services .hx-head,.hx-customs .hx-head{font-size:clamp(24px,2.3vw,30px)}
.hx-sum{font-size:14px;line-height:1.55;color:var(--text)}
.hx-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}
.hx-tags>span{padding:4px 10px;border-radius:999px;font-size:11.5px;font-weight:600;color:var(--text-muted);
  background:rgba(13,17,23,.45);border:1px solid rgba(255,255,255,.12)}
@media(max-width:1000px){.hx-services,.hx-customs{grid-column:span 6}}
@media(max-width:900px){.hx-card{grid-column:span 6}.hx-guides{grid-column:span 12;min-height:250px}}
@media(max-width:640px){
  .hx{padding:52px 0 56px}
  .hx .section-header{margin-bottom:26px}
  .hx-grid{grid-template-columns:1fr;gap:10px}
  .hx-card,.hx-services,.hx-customs,.hx-guides{grid-column:auto;min-height:0;align-items:stretch;border-radius:14px}
  .hx-photo{right:auto;width:108px}
  .hx-photo::after{background:linear-gradient(90deg,rgba(13,17,23,.05),rgba(13,17,23,.3) 55%,var(--dark2) 100%)}
  .hx-body,.hx-services .hx-body,.hx-customs .hx-body{max-width:none;gap:5px;padding:16px 50px 16px 124px}
  .hx-label{font-size:10.5px}.hx-label .ico{width:14px;height:14px}
  .hx-head,.hx-services .hx-head,.hx-customs .hx-head{font-size:16.5px}
  .hx-sum{font-size:13px;line-height:1.5;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}
  .hx-tags{display:none}
  .hx-arrow{top:50%;right:12px;width:30px;height:30px;margin-top:-15px}.hx-arrow svg{width:14px;height:14px}
}
@media(prefers-reduced-motion:reduce){.hx-card{opacity:1}.hx-grid.in .hx-card{animation:none}.hx-photo,.hx-card{transition:none}}

/* ══ ROUND 24d (2026-09-26): Coverage mega-menu (Regions | Industries) + photo headers on the nine regional pages ══ */
.nav-dd-cov{gap:0}
.nav-dd-menu-cov{display:grid;grid-template-columns:1.1fr 1fr;gap:4px 18px;min-width:620px;padding:14px 14px 12px}
.dd-col{min-width:0}
.dd-h{display:flex;align-items:center;gap:10px;margin:2px 8px 8px;font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--orange)}
.dd-h::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,var(--border),transparent)}
.dd-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px}
.dd-mini{flex-direction:row;align-items:center;gap:9px;padding:8px 10px}
.dd-mico{flex:none;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;color:var(--blue);background:rgba(63,188,244,.08);
  border:1px solid rgba(63,188,244,.25);transition:color .2s,border-color .2s,background .2s}
.dd-mico .ico{width:13px;height:13px}
.dd-mini:hover .dd-mico{color:var(--orange);border-color:rgba(245,124,31,.5);background:rgba(245,124,31,.1)}
.nav-dd .dd-mini .nav-link,html[lang] .nav-dd .dd-mini .nav-link{font-size:13px;font-weight:600;white-space:normal;line-height:1.3}
.nav-dd-cov:has(.dd-item .active-page)>.nav-link,.nav-dd-svc:has(.dd-item .active-page)>.nav-link{box-shadow:inset 0 -2px 0 var(--orange);color:var(--text)}

/* regional pages: a real photo behind the header (the illustrated SVG strips are retired) */
#page-vancouver .page-hero{--ph:url(/img/site/reg-29072584-1920.webp);--phm:url(/img/site/reg-29072584-900.webp);--php:center 55%;--pht:.35}
#page-toronto .page-hero{--ph:url(/img/site/reg-29568188-1920.webp);--phm:url(/img/site/reg-29568188-900.webp);--php:center 60%;--pht:.3}
#page-calgary .page-hero{--ph:url(/img/site/reg-12487421-1920.webp);--phm:url(/img/site/reg-12487421-900.webp);--php:center 45%;--pht:.3}
#page-edmonton .page-hero{--ph:url(/img/site/reg-34639843-1920.webp);--phm:url(/img/site/reg-34639843-900.webp);--php:center 45%;--pht:.35}
#page-montreal .page-hero{--ph:url(/img/site/reg-5770637-1920.webp);--phm:url(/img/site/reg-5770637-900.webp);--php:center 45%;--pht:.3}
#page-winnipeg .page-hero{--ph:url(/img/site/reg-19898166-1920.webp);--phm:url(/img/site/reg-19898166-900.webp);--php:70% 40%;--pht:.3}
#page-saskatchewan .page-hero{--ph:url(/img/site/reg-17031636-1920.webp);--phm:url(/img/site/reg-17031636-900.webp);--php:center 60%;--pht:.3}
#page-halifax .page-hero{--ph:url(/img/site/reg-11503985-1920.webp);--phm:url(/img/site/reg-11503985-900.webp);--php:center 50%;--pht:.3}
#page-atlantic .page-hero{--ph:url(/img/site/reg-1586961-1920.webp);--phm:url(/img/site/reg-1586961-900.webp);--php:center 50%;--pht:.3}
:is(#page-vancouver,#page-toronto,#page-calgary,#page-edmonton,#page-montreal,#page-winnipeg,#page-saskatchewan,#page-halifax,#page-atlantic,#page-steel) .page-hero{
  padding-bottom:84px;
  background:linear-gradient(90deg,rgba(13,17,23,.97) 0%,rgba(13,17,23,.86) 30%,rgba(13,17,23,.4) 62%,rgba(13,17,23,.12) 100%),
    linear-gradient(180deg,rgba(13,17,23,var(--pht,.5)) 0%,transparent 30%,transparent 70%,rgba(13,17,23,.85) 100%),
    var(--ph) var(--php)/cover no-repeat,var(--dark) !important}
:is(#page-vancouver,#page-toronto,#page-calgary,#page-edmonton,#page-montreal,#page-winnipeg,#page-saskatchewan,#page-halifax,#page-atlantic,#page-steel) .page-hero .page-hero-grid{display:none}
@media(max-width:640px){
  :is(#page-vancouver,#page-toronto,#page-calgary,#page-edmonton,#page-montreal,#page-winnipeg,#page-saskatchewan,#page-halifax,#page-atlantic,#page-steel) .page-hero{
    padding-bottom:40px;background:linear-gradient(180deg,rgba(13,17,23,.45) 0%,rgba(13,17,23,.76) 48%,rgba(13,17,23,.94) 100%),
      var(--phm) 65% 40%/cover no-repeat,var(--dark) !important}
}
#page-steel .page-hero{--ph:url(/img/site/ind-8940223-1920.webp);--phm:url(/img/site/ind-8940223-900.webp);--php:center 45%;--pht:.35}

/* ══ ROUND 25 (2026-09-26): regional rail + delivery maps (regional_maps.py, animated by layer.js) ══ */
.rm-sec{padding:72px 0 64px}
.rm-sec .section-header{margin-bottom:34px}
.rm-lead{max-width:680px;margin:14px auto 0;font-size:15px;line-height:1.6;color:var(--text-muted)}
.rm-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.rm-card{margin:0;position:relative;overflow:hidden;border-radius:16px;border:1px solid var(--border);background:linear-gradient(180deg,#111a27,#0d141e)}
.rm-card figcaption{position:absolute;top:14px;left:16px;z-index:1;display:flex;flex-direction:column;gap:2px;font-size:10.5px;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:var(--orange);pointer-events:none}
.rm-card figcaption b{font-family:var(--font-head);font-size:16px;letter-spacing:0;text-transform:none;color:var(--white)}
.rmap{display:block;width:100%;height:auto}
.rm-sea{fill:transparent}
.rm-prov{fill:#121b28;stroke:#253448;stroke-width:1}
.rm-prov-on{fill:#182436;stroke:#4a6b8a;stroke-width:1.4}
.rm-rail{fill:none;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1}
.rm-cn{stroke:#f57c1f}
.rm-cpkc{stroke:#f5a623;stroke-width:1.8;opacity:.9}
.rmap.in .rm-rail{animation:cmDraw 2.2s cubic-bezier(.45,0,.2,1) .3s forwards}
.rm-run{display:none;fill:none;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.rm-run-cn{stroke:#ffe2a3;stroke-width:3.4;filter:drop-shadow(0 0 5px rgba(245,166,35,.9))}
.rm-run-cpkc{stroke:#fff2cf;stroke-width:3;filter:drop-shadow(0 0 5px rgba(245,166,35,.85))}
.rm-run-truck{stroke:#8fd3f7;stroke-width:2.6;filter:drop-shadow(0 0 5px rgba(63,188,244,.85))}
.rm-lane{fill:none;stroke:#3fbcf4;stroke-opacity:.22;stroke-width:1.2;stroke-dasharray:3 4}
.rm-ringline{fill:none;stroke:#1d2b3e;stroke-width:1;stroke-dasharray:2 6}
.rm-scale{fill:#4f6480;font:600 10px var(--font-body)}
.rm-mover{fill:#fffaf0;opacity:0;filter:drop-shadow(0 0 6px #ffc15a) drop-shadow(0 0 12px rgba(245,124,31,.7));transition:opacity .3s}
.rm-mover-truck{filter:drop-shadow(0 0 6px #8fd3f7) drop-shadow(0 0 12px rgba(63,188,244,.7))}
.rm-dot{fill:#f57c1f;stroke:#0d141e;stroke-width:1.5;transform-box:fill-box;transform-origin:center;transform:scale(0);transition:transform .45s var(--ease-spring)}
.rm-del .rm-dot{fill:#3fbcf4}
.rm-term rect{fill:#ffe2a3;stroke:#0d141e;stroke-width:1.5;filter:drop-shadow(0 0 6px rgba(245,166,35,.6))}
.rm-ring{fill:none;stroke:#ffc15a;stroke-width:2;opacity:0;transform-box:fill-box;transform-origin:center}
.rm-del .rm-ring{stroke:#8fd3f7}
.rm-city.hit .rm-ring,.rm-term.hit .rm-ring{animation:rmHit 1.6s ease-out forwards}
@keyframes rmHit{0%{opacity:1;transform:scale(.6)}100%{opacity:0;transform:scale(3.2)}}
.rm-city.hit .rm-dot{fill:#fff}
.rm-lab{fill:#c3cfdd;font:600 11px var(--font-body);opacity:0;transition:opacity .6s ease;paint-order:stroke;stroke:#0d141e;stroke-width:3px;stroke-linejoin:round}
.rm-lab-term{fill:#fff;font-weight:700}
.rmap.in .rm-dot{transform:scale(1);transition-delay:1.2s}
.rmap.in .rm-lab{opacity:1;transition-delay:1.6s}
.rm-legend{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 22px;margin-top:18px;font-size:12.5px;color:var(--text-muted)}
.rm-legend>span{display:inline-flex;align-items:center;gap:8px}
.rm-legend i{display:inline-block}
.lg-cn,.lg-cpkc{width:22px;height:3px;border-radius:2px;background:#f57c1f}
.lg-cpkc{background:#f5a623;height:2px}
.lg-term{width:9px;height:9px;background:#ffe2a3;transform:rotate(45deg);border-radius:1px}
.lg-del{width:9px;height:9px;border-radius:50%;background:#3fbcf4}
.rm-note{font-style:italic;opacity:.75}
@media(max-width:900px){.rm-grid{grid-template-columns:1fr}}
@media(max-width:640px){.rm-sec{padding:48px 0 44px}.rm-lead{font-size:14px}.rm-card figcaption{top:10px;left:12px}.rm-card figcaption b{font-size:14px}.rm-legend{gap:8px 14px;font-size:11.5px}}
@media(prefers-reduced-motion:reduce){.rm-rail{stroke-dashoffset:0}.rm-dot{transform:none}.rm-lab{opacity:1}}

/* ══ ROUND 26 (2026-09-26): phone menu = the desktop structure as accordions (Services / Coverage / Resources) ══ */
.mobile-menu .mm-group{border-bottom:1px solid var(--border)}
.mobile-menu .mm-head{display:flex;align-items:center}
.mobile-menu .mm-head>.nav-link{flex:1;border-bottom:0}
.mobile-menu .mm-headbtn{background:none;border:0;padding:14px 0;text-align:left;font-family:var(--font-body);color:var(--text);cursor:pointer;width:100%}
.mm-tog{flex:none;display:grid;place-items:center;width:46px;height:46px;margin-right:-10px;padding:0;background:none;border:0;color:var(--text-muted);cursor:pointer;
  -webkit-tap-highlight-color:transparent}
.mm-tog svg{width:14px;height:9px;transition:transform .35s var(--ease-spring),color .2s}
.mm-group.open .mm-tog svg{transform:rotate(180deg);color:var(--orange)}
.mm-group.open>.mm-head>.nav-link,.mm-group.open .mm-headbtn{color:var(--white)}
.mm-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .38s var(--ease-spring)}
.mm-group.open .mm-panel{grid-template-rows:1fr}
.mm-in{overflow:hidden;min-height:0}
.mm-group.open .mm-in{padding:2px 0 14px}
.mm-item{display:flex;align-items:center;gap:12px;opacity:0;transform:translateY(-4px);transition:opacity .25s ease,transform .3s var(--ease-spring)}
.mm-group.open .mm-item{opacity:1;transform:none}
.mm-ico{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;color:var(--blue);background:rgba(63,188,244,.08);border:1px solid rgba(63,188,244,.28)}
.mm-ico .ico{width:15px;height:15px}
.mobile-menu .mm-panel .nav-link{font-size:15px;font-weight:600;padding:9px 0;min-height:42px;border-bottom:0;line-height:1.3}
.mobile-menu .mm-panel .nav-link.active-page,.mobile-menu .mm-panel .nav-link.mm-here{color:var(--orange)}
.mm-h{display:flex;align-items:center;gap:10px;margin:10px 0 4px;font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--orange)}
.mm-h::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,var(--border),transparent)}
.mm-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:10px}
.mm-grid .mm-item{gap:9px}
.mm-grid .mm-ico{width:26px;height:26px}.mm-grid .mm-ico .ico{width:13px;height:13px}
.mobile-menu .mm-grid .nav-link{font-size:14px;min-height:40px}
@media(prefers-reduced-motion:reduce){.mm-panel,.mm-item,.mm-tog svg{transition:none}}
/* round 26 fixes: grid columns may shrink + long names wrap (Industries / Cross-Border were cut off); the Resources row button
   matches the link rows (a <button> brought its own font weight/colour) */
.mm-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.mm-item{min-width:0}
.mobile-menu .mm-panel .nav-link{white-space:normal;min-width:0;overflow-wrap:anywhere}
.mobile-menu .mm-headbtn{font-weight:500;color:var(--text-muted);font-size:18px;line-height:inherit}

/* ══ ROUND 27 (2026-09-26): Contact & quote form overhaul — steps, service chips, nicer cards (field names/sending unchanged) ══ */
#page-contact .contact-layout{grid-template-columns:1fr 1.75fr;gap:44px;padding-top:40px}
/* left: contact details as cards */
#page-contact .cdr{position:relative;gap:14px;padding:16px 18px;margin-bottom:10px;border:1px solid var(--border);border-radius:14px;
  background:linear-gradient(170deg,#152032,var(--dark3) 70%);transition:border-color .25s,transform .35s var(--ease-spring)}
#page-contact .cdr:hover{border-color:rgba(63,188,244,.4);transform:translateY(-2px)}
#page-contact .cdr-icon{display:grid;place-items:center;width:40px;height:40px;margin:0;border-radius:50%;background:rgba(63,188,244,.09);border:1px solid rgba(63,188,244,.32)}
#page-contact .cdr-icon .ico{width:18px;height:18px}
#page-contact .cdr-label{font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}
#page-contact .cdr-value{font-family:var(--font-head);font-size:15.5px;font-weight:700;color:var(--white);margin-top:2px}
#page-contact .cdr-value a[href^="tel"],#page-contact .cdr-value a[href^="mailto"]{color:var(--white) !important;text-decoration:none}
#page-contact .cdr-value a[href^="tel"]:hover,#page-contact .cdr-value a[href^="mailto"]:hover{color:var(--orange) !important}
#page-contact .contact-layout>div:first-child>div[style*="border-left:3px"]{border:1px solid var(--border) !important;border-radius:14px !important;
  background:linear-gradient(170deg,rgba(245,124,31,.08),var(--dark3) 60%) !important;padding:20px 20px 16px !important;margin-top:18px !important}
#page-contact .contact-layout>div:first-child>div[style*="border-left:3px"]>div:first-child{color:var(--orange) !important}
#page-contact .contact-layout>div:first-child>div[style*="border-left:3px"]>div:last-child>div{position:relative;padding:6px 0 6px 2px;font-size:13px;color:var(--text)}
/* right: the form card */
#page-contact .contact-form{position:relative;overflow:hidden;border-radius:20px;padding:32px 32px 28px;border:1px solid var(--border);
  background:radial-gradient(ellipse 70% 40% at 100% 0%,rgba(245,124,31,.09),transparent 70%),linear-gradient(170deg,#152033,var(--dark2) 55%);
  box-shadow:0 40px 80px -50px rgba(0,0,0,.9)}
#page-contact .contact-form::before{content:'';position:absolute;left:0;right:0;top:0;height:2px;background:var(--grad-fire)}
#page-contact .form-fields>h3{font-size:24px !important;margin-bottom:6px !important}
.qf-step{padding:22px 0 6px;border-top:1px solid rgba(31,45,66,.8)}
.qf-step:first-of-type{border-top:0;padding-top:14px}
.qf-step-h{display:flex;align-items:center;gap:11px;margin-bottom:14px}
.qf-n{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--grad-fire);color:#fff;font:800 13px var(--font-head);
  box-shadow:0 0 0 5px rgba(245,124,31,.12)}
.qf-step-t{font-family:var(--font-head);font-size:17px;font-weight:700;color:var(--white)}
.qf-hint{margin-left:auto;font-size:12px;color:var(--text-muted)}
.qf-svc{margin-bottom:10px}
.qf-svc>.form-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.qf-chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.qf-chip{appearance:none;-webkit-appearance:none;display:flex;align-items:center;gap:10px;min-height:52px;padding:9px 12px;border-radius:12px;text-align:left;cursor:pointer;
  border:1px solid var(--border);background:rgba(13,17,23,.55);color:var(--text);font:600 13px/1.25 var(--font-body);-webkit-tap-highlight-color:transparent;
  transition:border-color .2s,background .2s,transform .25s var(--ease-spring),box-shadow .25s}
.qf-chip:hover{border-color:rgba(63,188,244,.45);transform:translateY(-1px)}
.qf-chip:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.qf-chip-ico{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:9px;color:var(--blue);background:rgba(63,188,244,.08);border:1px solid rgba(63,188,244,.25);
  transition:color .2s,background .2s,border-color .2s}
.qf-chip-ico .ico{width:16px;height:16px}
.qf-chip-t{flex:1;min-width:0}
.qf-chip-ck{flex:none;display:grid;place-items:center;width:18px;height:18px;border-radius:50%;border:1.5px solid var(--border);color:transparent;transition:all .2s}
.qf-chip-ck svg{width:11px;height:11px}
.qf-chip[aria-pressed="true"]{border-color:rgba(245,124,31,.7);background:linear-gradient(170deg,rgba(245,124,31,.16),rgba(13,17,23,.5));color:var(--white);
  box-shadow:0 10px 26px -16px rgba(245,124,31,.7)}
.qf-chip[aria-pressed="true"] .qf-chip-ico{color:var(--orange);background:rgba(245,124,31,.12);border-color:rgba(245,124,31,.45)}
.qf-chip[aria-pressed="true"] .qf-chip-ck{background:var(--orange);border-color:var(--orange);color:#fff}
.qf-chips.qf-err .qf-chip{border-color:rgba(232,50,26,.5)}
#page-contact .qf-svc .form-error.show{margin-top:8px}
#page-contact .form-input,#page-contact .form-textarea{border-radius:10px;background:rgba(13,17,23,.6);transition:border-color .2s,box-shadow .2s}
#page-contact .form-input:focus,#page-contact .form-textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(63,188,244,.14);outline:none}
#page-contact .form-row.qf-row-1{grid-template-columns:1fr 1fr}
#page-contact .form-submit{border-radius:12px;min-height:54px;font-size:16px;margin-top:10px;box-shadow:0 18px 40px -20px rgba(245,124,31,.8)}
@media(max-width:1100px){#page-contact .contact-layout{grid-template-columns:1fr;gap:28px}.qf-chips{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.qf-chips{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){
  #page-contact .contact-form{padding:22px 16px 20px;border-radius:16px}
  #page-contact .form-fields>h3{font-size:20px !important}
  .qf-step-t{font-size:16px}
  .qf-chip{min-height:48px;padding:8px 9px;gap:8px;font-size:12.5px}
  .qf-chip-ico{width:26px;height:26px}.qf-chip-ico .ico{width:14px;height:14px}
  .qf-chip-ck{width:16px;height:16px}
  #page-contact .form-row.qf-row-1{grid-template-columns:1fr}
  #page-contact .cdr{padding:14px}
}
@media(prefers-reduced-motion:reduce){.qf-chip,#page-contact .cdr{transition:none}}
@media(max-width:640px){.qf-chip-ck{display:none}.qf-chip{padding:8px 10px}}  /* round 27: more room for the label; picked = ember border + icon */

/* ══ ROUND 28 (2026-09-26): Transloading spotlight on the Warehousing & Transloading page (#transloading) ══ */
.svc-spot{position:relative;overflow:hidden;padding:84px 0 80px;border-top:1px solid rgba(245,124,31,.25);border-bottom:1px solid rgba(245,124,31,.25);
  background:radial-gradient(ellipse 60% 55% at 15% 0%,rgba(245,124,31,.14),transparent 70%),radial-gradient(ellipse 50% 60% at 95% 100%,rgba(63,188,244,.10),transparent 70%),#0f1520;
  scroll-margin-top:70px}
.spot-head{max-width:760px;margin:0 auto 34px;text-align:center}
.spot-head .section-title{margin-top:6px}
.spot-lead{margin:16px auto 0;font-size:16px;line-height:1.7;color:var(--text)}
.spot-flow{margin-bottom:40px}
.spot-flow .svf-dot{box-shadow:0 0 0 6px #0f1520,0 12px 30px -14px rgba(0,0,0,.9)}
.spot-cards .svc-feat{background:linear-gradient(170deg,rgba(245,124,31,.08),#131b28 60%)}
.spot-cta{margin-top:30px;text-align:center}
.spot-cta .btn-primary{display:inline-block;text-decoration:none;border-radius:12px;padding:15px 30px;box-shadow:0 18px 40px -20px rgba(245,124,31,.85)}
@media(max-width:640px){.svc-spot{padding:52px 0 50px}.spot-lead{font-size:15px}.spot-flow{margin-bottom:28px}.spot-cta .btn-primary{display:block}}

/* ══ ROUND 29 (2026-09-26): regional maps — CN / CP tags on the lines; rail = glint, delivery = container ══ */
.rm-tag rect{stroke-width:1.2}
.rm-tag text{font:800 9.5px var(--font-body);letter-spacing:.08em}
.rm-tag-cn rect{fill:#2a1608;stroke:#f57c1f}.rm-tag-cn text{fill:#ffb27a}
.rm-tag-cpkc rect{fill:#2a1f08;stroke:#f5a623}.rm-tag-cpkc text{fill:#ffd98a}
.rm-tag{opacity:0;transition:opacity .6s ease}
.rmap.in .rm-tag{opacity:1;transition-delay:2.4s}
.rm-glint{opacity:0;pointer-events:none}
.rm-glint .rg-bloom{fill:rgba(255,200,110,.28);filter:blur(3px)}
.rm-glint .rg-blade{fill:#fff3d6;filter:drop-shadow(0 0 4px rgba(255,226,163,.95)) drop-shadow(0 0 10px rgba(245,166,35,.7))}
.rm-glint .rg-core{fill:#fff}
.rm-box{opacity:0;pointer-events:none;transition:opacity .3s}
.rm-box rect{fill:#8fd3f7;stroke:#0d141e;stroke-width:1.2;filter:drop-shadow(0 0 5px rgba(63,188,244,.9))}
.rm-box path{stroke:#0d141e;stroke-width:.9;opacity:.55}
.lg-cpkc{background:#f5a623;height:2px}
@media(prefers-reduced-motion:reduce){.rm-tag{opacity:1}}
/* round 29: a rail city that is also a verified delivery place gets a blue ring (not a filled circle) */
.rm-delring{fill:none;stroke:#3fbcf4;stroke-width:1.6;opacity:.9}
.rm-pdel .rm-dot{fill:#3fbcf4}
.rm-lab-del{fill:#9fd6f3;font-size:10.5px}
/* every delivery place, written out under the maps (complete, even where a dense cluster cannot label every dot) */
.rm-places{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:14px}
.rm-places>div{padding:14px 16px;border:1px solid var(--border);border-radius:12px;background:rgba(13,17,23,.5);font-size:12.5px;line-height:1.75;color:var(--text-muted)}
.rm-places b{display:block;margin-bottom:4px;font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#8fd3f7}
@media(max-width:900px){.rm-places{grid-template-columns:1fr}}

/* ══ ROUND 30 (2026-09-26): /process = Start-to-End Logistics — All in One ══ */
.se-chain{padding:70px 0 70px}
.se-chain .section-header{margin-bottom:40px}
.se-flow .svf-label{max-width:120px;font-size:13.5px}
/* the journey spine */
.se-journey{padding:80px 0 90px;background:linear-gradient(180deg,var(--dark2),var(--dark) 60%);border-top:1px solid var(--border)}
.se-journey .section-header{margin-bottom:50px}
.se-spine{--p:0;position:relative;list-style:none;margin:0 auto;padding:0;max-width:1040px}
.se-rail{position:absolute;left:50%;top:10px;bottom:10px;width:3px;margin-left:-1.5px;border-radius:3px;background:rgba(63,188,244,.12)}
.se-rail-fill{position:absolute;left:0;right:0;top:0;height:calc(var(--p) * 100%);border-radius:3px;
  background:linear-gradient(180deg,var(--blue),#8fd3f7 45%,var(--orange));box-shadow:0 0 14px rgba(245,166,35,.45)}
.se-rail-fill::after{content:'';position:absolute;left:50%;bottom:-6px;width:12px;height:12px;margin-left:-6px;border-radius:50%;background:#fff3d6;
  box-shadow:0 0 12px #ffc15a,0 0 26px rgba(245,124,31,.7)}
.se-step{position:relative;display:grid;grid-template-columns:1fr 1fr;column-gap:84px;margin-bottom:34px}
.se-step:last-child{margin-bottom:0}
.se-node{position:absolute;left:50%;top:22px;z-index:1;display:grid;place-items:center;width:46px;height:46px;margin-left:-23px;border-radius:50%;
  background:#0f1620;border:2px solid rgba(63,188,244,.35);transition:border-color .4s,box-shadow .5s,transform .5s var(--ease-spring)}
.se-num{font:800 16px var(--font-head);color:var(--text-muted);transition:color .4s}
.se-step.lit .se-node{border-color:var(--orange);transform:scale(1.08);box-shadow:0 0 0 6px rgba(245,124,31,.12),0 0 22px rgba(245,124,31,.45)}
.se-step.lit .se-num{color:#fff}
.se-card{grid-column:1;position:relative;padding:24px 24px 20px;border-radius:16px;border:1px solid var(--border);background:linear-gradient(170deg,#162235,var(--dark3) 65%);
  opacity:.45;transform:translateY(10px);transition:opacity .6s ease,transform .7s var(--ease-spring),border-color .4s,box-shadow .5s}
.se-step:nth-child(odd) .se-card{grid-column:2}
.se-step.lit .se-card{opacity:1;transform:none;border-color:rgba(245,124,31,.35);box-shadow:0 26px 50px -32px rgba(245,124,31,.45)}
.se-card::before{content:'';position:absolute;top:44px;width:40px;height:2px;background:linear-gradient(90deg,rgba(245,124,31,.6),transparent)}
.se-step:nth-child(even) .se-card::before{right:-42px;transform:scaleX(-1)}
.se-step:nth-child(odd) .se-card::before{left:-42px}
.se-ico{display:grid;place-items:center;width:40px;height:40px;margin-bottom:14px;border-radius:12px;color:var(--blue);background:rgba(63,188,244,.09);border:1px solid rgba(63,188,244,.3)}
.se-ico .ico{width:20px;height:20px}
.se-card h3{margin:0 0 8px;font-family:var(--font-head);font-size:19px;font-weight:800;color:var(--white)}
.se-card p{margin:0 0 14px;font-size:14.5px;line-height:1.65;color:var(--text)}
.se-handled{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.se-h{margin-right:4px;font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}
.se-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:999px;font-size:12.5px;font-weight:600;color:var(--text);text-decoration:none;
  background:rgba(13,17,23,.5);border:1px solid var(--border);transition:border-color .2s,color .2s}
.se-chip .ico{width:14px;height:14px;color:var(--blue)}
.se-chip:hover{border-color:rgba(245,124,31,.55);color:var(--white)}
.se-card .step-link{display:inline-block;margin-top:12px;font-size:13px;font-weight:700;color:var(--orange);text-decoration:none}
.se-card .step-link:hover{text-decoration:underline}
/* what's included */
.se-incl{padding:80px 0}
.se-incl .section-header{margin-bottom:40px}
.se-inc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.se-inc{display:flex;gap:14px;align-items:flex-start;padding:20px 20px 18px;border-radius:14px;border:1px solid var(--border);background:linear-gradient(170deg,#152032,var(--dark3) 70%);
  transition:border-color .3s,transform .35s var(--ease-spring)}
.se-inc:hover{border-color:rgba(63,188,244,.4);transform:translateY(-3px)}
.se-inc-ico{flex:none;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;color:var(--blue);background:rgba(63,188,244,.09);border:1px solid rgba(63,188,244,.32)}
.se-inc-ico .ico{width:20px;height:20px}
.se-inc h3{margin:0 0 5px;font-family:var(--font-head);font-size:16px;font-weight:700;color:var(--white)}
.se-inc p{margin:0;font-size:13.5px;line-height:1.6;color:var(--text-muted)}
/* need just one piece */
.se-pieces{padding:70px 0 80px;background:var(--dark2);border-top:1px solid var(--border)}
.se-pieces .section-header{margin-bottom:34px}
.se-more{grid-template-columns:repeat(3,1fr);max-width:1100px;margin:0 auto}
.se-more .svc-mt:last-child:nth-child(odd){grid-column:auto}
@media(max-width:1000px){.se-inc-grid{grid-template-columns:repeat(2,1fr)}.se-more{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){
  .se-rail{left:22px}
  .se-step{grid-template-columns:1fr;padding-left:58px;margin-bottom:22px}
  .se-node{left:22px;top:18px;width:40px;height:40px;margin-left:-20px}
  .se-card,.se-step:nth-child(odd) .se-card{grid-column:1}
  .se-card::before{display:none}
}
@media(max-width:640px){
  .se-chain,.se-journey,.se-incl,.se-pieces{padding:48px 0 52px}
  .se-card{padding:18px 16px 16px}
  .se-card h3{font-size:17px}
  .se-card p{font-size:14px}
  .se-inc-grid,.se-more{grid-template-columns:1fr}
  .se-flow .svf-label{max-width:none}
}
@media(prefers-reduced-motion:reduce){.se-card{opacity:1;transform:none;transition:none}.se-node{transition:none}}

/* ══ ROUND 31 (2026-09-26): Resources overhaul — Tracking · Free Tools · Guides · Briefings ══ */
/* ── Tracking ── */
#page-tracking .track-widget{position:relative;overflow:hidden;border-radius:20px;padding:34px 34px 28px;border:1px solid rgba(63,188,244,.3);
  background:radial-gradient(ellipse 60% 60% at 100% 0%,rgba(63,188,244,.12),transparent 70%),linear-gradient(170deg,#152235,var(--dark2) 60%);
  box-shadow:0 40px 80px -50px rgba(63,188,244,.5)}
#page-tracking .track-widget::before{content:'';position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,var(--blue),var(--orange))}
#page-tracking .track-title{font-size:24px}
#page-tracking .track-num{font-size:17px;letter-spacing:.04em;min-height:54px;border-radius:12px}
#page-tracking .track-carrier{min-height:54px;border-radius:12px}
.trk-check{margin-top:10px;padding:9px 14px;border-radius:10px;font-size:13.5px;font-weight:600}
.trk-check.ok{color:#9fe7b4;background:rgba(46,160,90,.12);border:1px solid rgba(46,160,90,.35)}
.trk-check.bad{color:#ffc2a3;background:rgba(232,50,26,.1);border:1px solid rgba(232,50,26,.35)}
.trk-sec{padding:72px 0}
.trk-alt{background:var(--dark2);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.trk-sec .section-header{margin-bottom:36px}
.trk-link{display:inline-block;margin-top:12px;font-size:13px;font-weight:700;color:var(--orange);text-decoration:none}
.trk-link:hover{text-decoration:underline}
@media(max-width:640px){#page-tracking .track-widget{padding:22px 16px 18px;border-radius:16px}.trk-sec{padding:48px 0}}

/* ── Free Tools ── */
.tl-jump{position:sticky;top:70px;z-index:40;display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin:0 -12px 28px;padding:12px;
  background:rgba(8,10,13,.85);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--border)}
.tl-jump::-webkit-scrollbar{display:none}
.tl-jump a{flex:none;display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:999px;font-size:13px;font-weight:600;color:var(--text);
  text-decoration:none;border:1px solid var(--border);background:rgba(13,17,23,.6);transition:border-color .2s,color .2s}
.tl-jump a .ico{width:15px;height:15px;color:var(--blue)}
.tl-jump a:hover{border-color:rgba(245,124,31,.55);color:var(--white)}
#page-tools .tool-card{position:relative;overflow:hidden;border-radius:18px;padding:28px 28px 24px;margin-bottom:22px;scroll-margin-top:150px;
  border:1px solid var(--border);background:linear-gradient(170deg,#152033,var(--dark2) 60%)}
#page-tools .tool-card::before{content:'';position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,var(--blue),var(--orange));opacity:.8}
#page-tools .tool-card .track-title{font-size:21px}
#page-tools .form-input{border-radius:10px}
#page-tools .tool-result{border-radius:12px}
.tool-row-1{grid-template-columns:minmax(0,420px) !important}
.tl-sub-h{margin:18px 0 8px;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--orange)}
.tl-verdict{margin-bottom:10px;padding:10px 14px;border-radius:10px;font-weight:700;font-size:14.5px}
.tl-verdict.ok{color:#9fe7b4;background:rgba(46,160,90,.12);border:1px solid rgba(46,160,90,.35)}
.tl-verdict.bad{color:#ffc2a3;background:rgba(232,50,26,.1);border:1px solid rgba(232,50,26,.35)}
.tl-note{margin-top:10px;font-size:12px;line-height:1.6;color:var(--text-muted)}
.tl-total .tl-key,.tl-total .tl-val{font-weight:800;color:var(--white)}
.tl-convs{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:6px}
.tl-conv{padding:14px;border-radius:12px;border:1px solid var(--border);background:rgba(13,17,23,.45)}
.tl-conv-h{margin-bottom:8px;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}
.tl-conv-row{display:flex;align-items:center;gap:8px}
.tl-conv-row label{position:relative;flex:1;min-width:0}
.tl-conv-row label span{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:12px;font-weight:700;color:var(--text-muted);pointer-events:none}
.tl-conv-row input{padding-right:44px;width:100%}
.tl-conv-eq{color:var(--orange);font-weight:800}
@media(max-width:900px){.tl-convs{grid-template-columns:1fr}}
@media(max-width:640px){#page-tools .tool-card{padding:20px 16px 18px}.tl-jump{top:64px;margin:0 -16px 20px;padding:10px 16px}}

/* ── Guides ── */
.gd-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:26px}
.gd-chip{appearance:none;display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;cursor:pointer;font:600 13px var(--font-body);
  color:var(--text);border:1px solid var(--border);background:rgba(13,17,23,.6);transition:border-color .2s,background .2s}
.gd-chip .briefing-tag{background:none !important;border:0 !important;padding:0 !important;font-size:13px;letter-spacing:0;text-transform:none;color:inherit}
.gd-chip.on{border-color:var(--orange);background:rgba(245,124,31,.12);color:var(--white)}
#page-guides .briefings-grid{grid-template-columns:repeat(3,1fr);gap:16px}
.gd-card{position:relative;border-radius:16px !important;transition:transform .35s var(--ease-spring),border-color .3s,box-shadow .4s !important}
.gd-card:hover{transform:translateY(-4px);border-color:rgba(245,124,31,.45) !important;box-shadow:0 26px 50px -30px rgba(245,124,31,.4)}
.gd-featured{grid-column:span 2;background:radial-gradient(ellipse 60% 70% at 100% 0%,rgba(245,124,31,.14),transparent 70%),linear-gradient(170deg,#182538,var(--dark3) 60%) !important;
  border-color:rgba(245,124,31,.35) !important}
.gd-featured .briefing-title{font-size:24px !important}
.gd-card .briefing-meta{display:flex;align-items:center;gap:8px}
.gd-time{margin-left:auto;font-size:11.5px;font-weight:600;color:var(--text-muted)}
.gl-sec{padding:72px 0 80px;background:var(--dark2);border-top:1px solid var(--border)}
.gl-sec .section-header{margin-bottom:26px}
.gl-search{position:relative;max-width:520px;margin:0 auto 22px}
.gl-search .ico{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--text-muted)}
.gl-search input{padding-left:44px;min-height:50px;border-radius:12px;width:100%}
.gl-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0}
.gl-item{padding:14px 16px;border-radius:12px;border:1px solid var(--border);background:rgba(13,17,23,.5)}
.gl-item dt{margin-bottom:5px;font-family:var(--font-head);font-weight:800;font-size:15px;color:var(--white)}
.gl-item dd{margin:0;font-size:13.5px;line-height:1.6;color:var(--text-muted)}
.gl-link{margin-left:4px;font-weight:800;color:var(--orange);text-decoration:none}
.gl-none{text-align:center;color:var(--text-muted);margin-top:14px}
@media(max-width:1000px){#page-guides .briefings-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){#page-guides .briefings-grid{grid-template-columns:1fr}.gd-featured{grid-column:auto}.gl-list{grid-template-columns:1fr}.gl-sec{padding:48px 0 52px}}

/* ── Briefings: the live newsroom ── */
.brf-tk-dot.advisory,#page-briefings [data-tag=advisory]{--tagc:#f5a623}
.brf-tk-dot.tariff,#page-briefings [data-tag=tariff]{--tagc:#f57c1f}
.brf-tk-dot.terminal,#page-briefings [data-tag=terminal]{--tagc:#3fbcf4}
.brf-tk-dot.ops,#page-briefings [data-tag=ops]{--tagc:#8fd3f7}
.brf-tk-dot.policy,#page-briefings [data-tag=policy]{--tagc:#e8e2ff}
.brf-wire{position:relative;border-bottom:1px solid var(--border);background:linear-gradient(90deg,rgba(245,124,31,.08),rgba(13,17,23,.9) 30%,rgba(13,17,23,.9) 70%,rgba(63,188,244,.08))}
.brf-wire-in{display:flex;align-items:center;gap:18px;min-height:52px;overflow:hidden}
.brf-live{flex:none;display:inline-flex;align-items:center;gap:8px;padding:5px 11px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.14em;
  text-transform:uppercase;color:#ffe2a3;background:rgba(245,124,31,.14);border:1px solid rgba(245,124,31,.45)}
.brf-live i{width:8px;height:8px;border-radius:50%;background:var(--orange);animation:brfPing 2s ease-out infinite}
@keyframes brfPing{0%{box-shadow:0 0 0 0 rgba(245,124,31,.6)}70%,100%{box-shadow:0 0 0 10px rgba(245,124,31,0)}}
.brf-stat{flex:none;font-size:12.5px;color:var(--text-muted)}
.brf-stat b{color:var(--white)}
.brf-ticker{position:relative;flex:1;min-width:0;overflow:hidden;-webkit-mask:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.brf-ticker-track{display:inline-flex;gap:34px;white-space:nowrap;animation:brfTick 70s linear infinite}
.brf-ticker:hover .brf-ticker-track{animation-play-state:paused}
@keyframes brfTick{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.brf-tk{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--text)}
.brf-tk-dot{width:7px;height:7px;border-radius:50%;background:var(--tagc,#c9d4e2)}
#briefings-filters{position:sticky;top:70px;z-index:40;margin:0 -12px;padding:12px;display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;
  background:rgba(8,10,13,.85);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--border)}
#page-briefings .briefing-filter{border-radius:999px !important;display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
#briefings-filters .briefing-filter[data-tag]::before{content:'';width:8px;height:8px;border-radius:50%;background:var(--tagc)}
.brf-n{min-width:20px;padding:1px 7px;border-radius:999px;font-size:11px;font-weight:800;text-align:center;color:var(--text-muted);background:rgba(255,255,255,.06)}
#page-briefings .briefing-filter.active .brf-n{color:#0d1117;background:#ffe2a3}
.brf-mag{grid-template-columns:repeat(2,1fr) !important;gap:16px !important}
.brf-mag .briefing-card{position:relative;overflow:hidden;border-radius:16px !important;padding:24px 24px 20px 28px !important;
  background:linear-gradient(170deg,#152033,var(--dark3) 65%) !important;border:1px solid var(--border) !important;
  transition:transform .35s var(--ease-spring),border-color .3s,box-shadow .4s}
.brf-mag .briefing-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--tagc,#c9d4e2);opacity:.85}
.brf-mag .briefing-card:hover{transform:translateY(-3px);border-color:rgba(255,255,255,.14) !important;box-shadow:0 24px 50px -30px rgba(0,0,0,.9)}
.brf-mag .briefing-date{font-weight:700;color:var(--text-muted)}
.brf-mag .briefing-tag{border-radius:999px !important;color:var(--tagc,#c9d4e2) !important;border:1px solid color-mix(in srgb,var(--tagc,#c9d4e2) 45%,transparent) !important;
  background:color-mix(in srgb,var(--tagc,#c9d4e2) 12%,transparent) !important}
.brf-mag .briefing-title{font-size:18px !important;line-height:1.35 !important}
.brf-mag .brf-featured{grid-column:1 / -1;padding:34px 36px 30px 40px !important;
  background:radial-gradient(ellipse 55% 80% at 100% 0%,color-mix(in srgb,var(--tagc,#f57c1f) 18%,transparent),transparent 70%),linear-gradient(170deg,#182639,var(--dark3) 60%) !important;
  border-color:color-mix(in srgb,var(--tagc,#f57c1f) 40%,transparent) !important}
.brf-featured .briefing-title{font-size:clamp(22px,2.4vw,30px) !important}
.brf-flag{display:inline-block;margin-bottom:12px;padding:4px 11px;border-radius:999px;font-size:10.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;
  color:#0d1117;background:linear-gradient(90deg,#ffe2a3,var(--orange))}
.brf-clamp:not(.brf-open) .briefing-body{max-height:150px;overflow:hidden;-webkit-mask:linear-gradient(180deg,#000 60%,transparent);mask:linear-gradient(180deg,#000 60%,transparent)}
.brf-clamp:not(.brf-open) .briefing-body-zh{display:none}
.brf-more{appearance:none;margin-top:10px;padding:0;background:none;border:0;cursor:pointer;font:700 13px var(--font-body);color:var(--orange)}
.brf-more:hover{text-decoration:underline}
@media(max-width:900px){.brf-mag{grid-template-columns:1fr !important}}
@media(max-width:640px){.brf-wire-in{gap:10px}.brf-stat{display:none}#briefings-filters{top:64px;margin:0 -16px;padding:10px 16px}
  .brf-mag .brf-featured{padding:24px 18px 20px 22px !important}.brf-mag .briefing-card{padding:20px 16px 16px 20px !important}}
@media(prefers-reduced-motion:reduce){.brf-ticker-track,.brf-live i{animation:none}}

/* ══ ROUND 32 (2026-09-26): Start to End — "Before Your First Shipment" as numbered cards + a ready checklist ══ */
.se-ready{position:relative;padding:80px 0 90px;border-top:1px solid var(--border);
  background:radial-gradient(ellipse 50% 60% at 50% 0%,rgba(63,188,244,.08),transparent 70%),var(--dark2)}
.se-ready .section-header{margin-bottom:26px}
.se-rd-prog{display:flex;align-items:center;justify-content:center;gap:14px;margin:0 auto 30px;max-width:520px}
.se-rd-bar{position:relative;flex:1;height:6px;border-radius:6px;overflow:hidden;background:rgba(63,188,244,.12)}
.se-rd-bar i{position:absolute;left:0;top:0;bottom:0;width:calc(var(--rd,0) * 25%);border-radius:6px;
  background:linear-gradient(90deg,var(--blue),var(--orange));box-shadow:0 0 12px rgba(245,166,35,.55);transition:width .6s var(--ease-spring)}
.se-rd-count{flex:none;font-size:13px;color:var(--text-muted)}
.se-rd-count b{color:var(--white);font-size:15px}
.se-rd-grid{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.se-rd-grid::before{content:'';position:absolute;left:12%;right:12%;top:43px;height:2px;background:linear-gradient(90deg,rgba(63,188,244,.35),rgba(245,124,31,.35))}
.se-rd{position:relative;display:flex;flex-direction:column;padding:24px 20px 18px;border-radius:16px;border:1px solid var(--border);
  background:linear-gradient(170deg,#162235,var(--dark3) 65%);transition:transform .35s var(--ease-spring),border-color .3s,box-shadow .4s}
.se-rd:hover{transform:translateY(-4px);border-color:rgba(63,188,244,.4);box-shadow:0 26px 50px -32px rgba(63,188,244,.45)}
.se-rd-n{position:absolute;top:16px;right:18px;font:800 13px var(--font-head);letter-spacing:.12em;color:var(--text-muted)}
.se-rd-ico{position:relative;z-index:1;display:grid;place-items:center;width:40px;height:40px;margin-bottom:16px;border-radius:50%;color:var(--blue);
  background:#0f1620;border:1.5px solid rgba(63,188,244,.45);box-shadow:0 0 0 6px var(--dark2);transition:color .3s,border-color .3s,background .3s}
.se-rd-ico .ico{width:19px;height:19px}
.se-rd-t{margin-bottom:8px;font-family:var(--font-head);font-size:16.5px;font-weight:800;line-height:1.3;color:var(--white)}
.se-rd-d{flex:1;font-size:13.5px;line-height:1.6;color:var(--text-muted)}
.se-rd-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:16px;padding-top:14px;border-top:1px solid rgba(31,45,66,.8)}
.se-rd-link{font-size:12.5px;font-weight:700;color:var(--orange);text-decoration:none}
.se-rd-link:hover{text-decoration:underline}
.se-rd-btn{appearance:none;display:inline-flex;align-items:center;gap:7px;padding:5px 10px;border-radius:999px;cursor:pointer;font:600 12px var(--font-body);
  color:var(--text-muted);background:rgba(13,17,23,.5);border:1px solid var(--border);transition:all .2s;-webkit-tap-highlight-color:transparent}
.se-rd-btn:hover{border-color:rgba(63,188,244,.5);color:var(--text)}
.se-rd-box{width:14px;height:14px;border-radius:4px;border:1.5px solid currentColor;display:grid;place-items:center}
.se-rd-on{display:none}
.se-rd.done{border-color:rgba(46,160,90,.45)}
.se-rd.done .se-rd-ico{color:#9fe7b4;border-color:rgba(46,160,90,.6);background:rgba(46,160,90,.12)}
.se-rd.done .se-rd-btn{color:#9fe7b4;border-color:rgba(46,160,90,.5);background:rgba(46,160,90,.12)}
.se-rd.done .se-rd-box{background:#2ea05a;border-color:#2ea05a}
.se-rd.done .se-rd-box::after{content:'✓';color:#fff;font-size:10px;font-weight:800;line-height:1}
.se-rd.done .se-rd-off{display:none}.se-rd.done .se-rd-on{display:inline}
@media(max-width:1000px){.se-rd-grid{grid-template-columns:repeat(2,1fr)}.se-rd-grid::before{display:none}}
@media(max-width:640px){.se-ready{padding:52px 0 56px}.se-rd-grid{grid-template-columns:1fr}.se-rd{padding:20px 16px 16px}}
@media(prefers-reduced-motion:reduce){.se-rd,.se-rd-bar i{transition:none}}

/* ══ ROUND 33 (2026-09-27): Atlantic Canada in the Lane Checker — new port dots, NL sailing leg, truck + ferry bar ══ */
.dawn-route .dr-p8{animation-delay:3.2s}.dawn-route .dr-p9{animation-delay:3.35s}
.dawn-route .dr-leg.dr-sail{stroke-dasharray:7 6;filter:drop-shadow(0 0 6px rgba(63,188,244,.75))}
.lj-ferry i{background:linear-gradient(90deg,var(--orange) 0 45%,transparent 45% 50%,var(--blue) 50%)}
