:root {
  --navy-dark:#011D43; --navy:#022954; --navy-light:#003163;
  --gold:#DEB24D; --gold-dark:#BF913C; --gold-mid:#C09139;
  --bg:#FEFEFE; --bg-soft:#f4f6fa; --border:#e6e9ef;
  --text-body:#5b6472; --text-muted:#6b7280; --text-strong:#374151;
}
* { box-sizing: border-box; }
body { margin:0; font-family:'DM Sans', system-ui, sans-serif; background:var(--bg); color:var(--navy-dark); -webkit-font-smoothing:antialiased; }
a { text-decoration:none; color:inherit; }
ul { margin:0; }
img { max-width:100%; }
.container { max-width:1240px; margin:0 auto; padding:0 22px; }

.nl-strip { background-size:26px 26px; background-image:repeating-linear-gradient(135deg, rgba(255,255,255,0.5) 0 1px, transparent 1px 13px); }

@keyframes nlPulse { 0%,100% { transform:scale(1); box-shadow:0 0 0 0 rgba(222,178,77,0.45);} 50% { transform:scale(1.05); box-shadow:0 0 0 16px rgba(222,178,77,0);} }
@keyframes nlFABring { 0%,100% { box-shadow:0 8px 24px rgba(191,145,60,0.5); } 50% { box-shadow:0 8px 24px rgba(191,145,60,0.5), 0 0 0 12px rgba(222,178,77,0.12); } }

/* ---------- Header / Nav ---------- */
.site-header { position:sticky; top:0; z-index:100; background:linear-gradient(135deg,var(--gold) 0%,var(--gold-dark) 55%,var(--gold-mid) 100%); box-shadow:0 4px 20px rgba(1,29,67,0.18); }
.nav { max-width:1240px; margin:0 auto; padding:12px 22px; display:flex; align-items:center; gap:18px; }
.nav-logo { display:flex; align-items:center; gap:11px; flex:0 0 auto; }
.nav-logo img { height:46px; width:auto; display:block; filter:drop-shadow(0 2px 4px rgba(1,29,67,0.25)); }
.nav-logo-text { line-height:1; }
.nav-logo-name { display:block; font-family:'Archivo',sans-serif; font-weight:900; font-size:22px; letter-spacing:0.5px; color:var(--navy-dark); }
.nav-logo-sub { display:block; font-family:'Archivo',sans-serif; font-weight:700; font-size:9.5px; letter-spacing:4px; color:var(--navy); opacity:0.75; }

.nav-list { list-style:none; display:flex; align-items:center; gap:26px; margin:0; padding:0; flex:1 1 auto; justify-content:center; }
.nav-list li { list-style:none; position:relative; }
.nav-link { font-weight:600; font-size:15px; padding:8px 4px; color:rgba(1,29,67,0.72); }
.nav-link.active { color:var(--navy-dark); }

.dispatch-btn { border:none; background:transparent; cursor:pointer; font-family:'DM Sans',sans-serif; font-weight:600; font-size:15px; color:var(--navy-dark); padding:8px 4px; display:flex; align-items:center; gap:6px; }
.dispatch-btn.active-dispatch { color:var(--navy-dark); }
.dispatch-caret { display:inline-block; transition:transform .2s; font-size:11px; }
.dropdown { display:none; position:absolute; top:calc(100% + 10px); left:0; background:var(--bg); border-radius:12px; box-shadow:0 20px 44px rgba(1,29,67,0.22); padding:8px; min-width:240px; flex-direction:column; gap:2px; z-index:120; border:1px solid #eef0f4; }
.dropdown.open { display:flex; }
.dropdown a.dispatch-overview { display:flex; align-items:center; gap:10px; padding:11px 16px; font-size:14.5px; font-weight:700; color:var(--navy-dark); border-radius:8px; border-bottom:1px solid #eef0f4; margin-bottom:4px; }
.dropdown a.dispatch-type { display:flex; align-items:center; gap:10px; padding:11px 16px; font-size:14.5px; font-weight:500; color:var(--navy); border-radius:8px; }
.dropdown a.dispatch-type:hover, .dropdown a.dispatch-overview:hover { background:var(--bg-soft); }
.dot { width:7px; height:7px; border-radius:2px; background:linear-gradient(135deg,var(--gold),var(--gold-mid)); flex:0 0 auto; }

.nav-right { display:flex; align-items:center; gap:18px; flex:0 0 auto; }
.call-link { display:flex; align-items:center; gap:8px; font-weight:700; font-size:15px; color:var(--navy-dark); white-space:nowrap; }
.call-icon { display:grid; place-items:center; width:30px; height:30px; border-radius:50%; background:var(--navy-dark); color:var(--gold); font-size:14px; }
.contact-btn { background:linear-gradient(135deg,var(--navy),var(--navy-dark)); color:var(--bg); font-weight:700; font-size:14.5px; padding:11px 22px; border-radius:999px; box-shadow:0 6px 16px rgba(1,29,67,0.3); white-space:nowrap; }

.hamburger { display:none; margin-left:auto; width:44px; height:44px; border:none; background:rgba(1,29,67,0.08); border-radius:10px; cursor:pointer; place-items:center; font-size:22px; color:var(--navy-dark); }
.mobile-menu { display:none; flex-direction:column; padding:14px 22px 22px; background:linear-gradient(135deg,var(--gold),var(--gold-mid)); border-top:1px solid rgba(1,29,67,0.15); }
.mobile-menu.open { display:flex; }
.mobile-menu a { padding:12px 6px; font-weight:600; border-bottom:1px solid rgba(1,29,67,0.12); color:var(--navy-dark); }
.mobile-menu a.contact { margin-top:12px; text-align:center; background:linear-gradient(135deg,var(--navy),var(--navy-dark)); color:var(--bg); font-weight:700; padding:13px; border-radius:999px; border-bottom:none; }

@media (max-width:920px) {
  .nav-list, .nav-right { display:none; }
  .hamburger { display:grid; }
}

/* ---------- Floating action buttons ---------- */
.fab-wrap { position:fixed; bottom:28px; right:24px; z-index:9999; display:flex; flex-direction:column; gap:12px; align-items:center; }
.fab-row { position:relative; display:flex; align-items:center; gap:10px; justify-content:flex-end; }
.fab-tooltip { background:rgba(1,29,67,0.88); color:var(--bg); font-size:12px; font-weight:700; font-family:'DM Sans',sans-serif; padding:5px 10px; border-radius:6px; white-space:nowrap; letter-spacing:0.3px; pointer-events:none; }
.fab { display:grid; place-items:center; width:56px; height:56px; border-radius:50%; font-size:22px; flex:0 0 auto; }
.fab-call { background:linear-gradient(135deg,var(--gold),var(--gold-dark)); color:var(--navy-dark); animation:nlFABring 2.6s ease-in-out infinite; }
.fab-text { background:linear-gradient(135deg,var(--navy),var(--navy-dark)); color:var(--bg); font-size:20px; box-shadow:0 8px 22px rgba(1,29,67,0.4); }

/* ---------- Homepage hero ---------- */
.hero { background:radial-gradient(120% 130% at 15% 10%, var(--navy-light) 0%, var(--navy) 45%, var(--navy-dark) 100%); color:var(--bg); position:relative; overflow:hidden; }
.hero::before { content:''; position:absolute; inset:0; background:repeating-linear-gradient(135deg, rgba(255,255,255,0.03) 0 2px, transparent 2px 28px); pointer-events:none; }
.hero-inner { padding:84px 22px 90px; display:flex; flex-direction:row; gap:56px; align-items:center; }
.hero-content { flex:1 1 480px; min-width:280px; position:relative; z-index:2; }
.hero-eyebrow { display:inline-block; font-family:'Archivo',sans-serif; font-weight:700; letter-spacing:2.5px; font-size:12.5px; text-transform:uppercase; color:var(--gold); margin-bottom:20px; }
.hero-title { font-family:'Archivo',sans-serif; font-weight:900; font-size:58px; line-height:1.05; margin:0 0 22px; letter-spacing:-1px; }
.hero-title .accent { background:linear-gradient(135deg,var(--gold),var(--gold-dark)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.hero-desc { font-size:17.5px; line-height:1.7; color:rgba(254,254,254,0.82); max-width:520px; margin:0 0 32px; }
.hero-actions { display:flex; flex-wrap:wrap; gap:14px; }
.btn-primary { background:linear-gradient(135deg,var(--gold),var(--gold-dark)); color:var(--navy-dark); font-weight:800; font-size:16px; padding:15px 32px; border-radius:999px; box-shadow:0 10px 26px rgba(222,178,77,0.35); display:inline-block; }
.btn-secondary { border:2px solid rgba(254,254,254,0.35); color:var(--bg); font-weight:700; font-size:16px; padding:13px 30px; border-radius:999px; display:inline-block; }
.hero-social { margin-top:38px; display:flex; align-items:center; gap:14px; }
.hero-social-label { font-size:13px; letter-spacing:1px; color:rgba(254,254,254,0.55); font-weight:600; }
.hero-social-list { display:flex; gap:10px; }
.hero-social-list a { display:grid; place-items:center; width:38px; height:38px; border-radius:50%; border:1px solid rgba(254,254,254,0.25); color:var(--bg); font-weight:700; font-size:14px; font-family:'Archivo',sans-serif; }

/* full-bleed looping video background */
.hero.video-hero .hero-video-bg { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; }
.hero.video-hero .hero-video-overlay { position:absolute; inset:0; background:linear-gradient(100deg, rgba(1,29,67,0.90) 0%, rgba(1,29,67,0.72) 45%, rgba(1,29,67,0.4) 100%); z-index:1; }
.hero.video-hero .hero-inner { position:relative; z-index:2; }
.hero.video-hero .hero-content { max-width:640px; }

@media (max-width:920px) { .hero-inner { flex-direction:column; padding:58px 22px 64px; gap:44px; } .hero.video-hero .hero-video-overlay { background:linear-gradient(180deg, rgba(1,29,67,0.68) 0%, rgba(1,29,67,0.88) 100%); } }
@media (max-width:620px) { .hero-title { font-size:38px; } }
@media (min-width:621px) and (max-width:920px) { .hero-title { font-size:46px; } }

/* ---------- Sub-page hero (about/contact/dispatch/factoring/faq/pricing/services/equipment) ---------- */
.page-hero { background:radial-gradient(120% 130% at 15% 10%, var(--navy-light) 0%, var(--navy) 45%, var(--navy-dark) 100%); color:var(--bg); position:relative; overflow:hidden; padding:70px 22px 80px; }
.page-hero-inner { max-width:1240px; margin:0 auto; position:relative; z-index:2; display:flex; flex-direction:row; align-items:center; gap:56px; }
.page-hero-content { flex:1 1 480px; min-width:280px; }
.page-hero-eyebrow { display:inline-block; font-family:'Archivo',sans-serif; font-weight:700; letter-spacing:2.5px; font-size:12.5px; text-transform:uppercase; color:var(--gold); margin-bottom:18px; }
.page-hero-title { font-family:'Archivo',sans-serif; font-weight:900; font-size:52px; line-height:1.08; margin:0 0 18px; letter-spacing:-1px; max-width:760px; }
.page-hero-desc { font-size:17px; line-height:1.7; color:rgba(254,254,254,0.82); max-width:600px; margin:0; }
.page-hero-media { flex:0 0 380px; min-width:280px; }
.page-hero-media-inner { aspect-ratio:4/3; border-radius:14px; overflow:hidden; background-size:cover; background-position:center; box-shadow:0 24px 50px rgba(0,0,0,0.3); border:1px solid rgba(222,178,77,0.25); position:relative; }
.page-hero-media-inner::after { content:''; position:absolute; inset:0; background:linear-gradient(160deg, rgba(3,49,99,0.1), rgba(1,29,67,0.35)); }
.page-hero-back { display:inline-flex; align-items:center; gap:8px; font-size:13.5px; font-weight:600; color:rgba(254,254,254,0.65); margin-bottom:22px; }
.page-hero-icon { display:grid; place-items:center; width:72px; height:72px; border-radius:20px; background:linear-gradient(135deg,var(--gold),var(--gold-mid)); font-size:34px; margin-bottom:22px; }
@media (max-width:920px) { .page-hero-inner { flex-direction:column; gap:32px; } .page-hero-media { display:none; } }
@media (max-width:860px) { .page-hero { padding:52px 22px 56px; } .page-hero-title { font-size:42px; } }
@media (max-width:560px) { .page-hero-title { font-size:32px; } }

/* image-only hero: the graphic already contains its own heading/copy, so show it uncropped */
.page-hero-image { line-height:0; }
.page-hero-image img { display:block; width:100%; height:auto; }

/* full-bleed photo hero variant (equipment detail pages, contact page) */
.page-hero.photo-hero { background-color:var(--navy-dark); background-size:cover; background-position:center; padding:110px 22px 100px; }
.page-hero.photo-hero::before { content:''; position:absolute; inset:0; background:linear-gradient(100deg, rgba(1,29,67,0.92) 0%, rgba(1,29,67,0.75) 45%, rgba(1,29,67,0.4) 100%); z-index:1; }
.page-hero.photo-hero .page-hero-inner { display:block; }
.page-hero.photo-hero .page-hero-content { max-width:640px; }
@media (max-width:860px) { .page-hero.photo-hero { padding:64px 22px 64px; } .page-hero.photo-hero::before { background:linear-gradient(180deg, rgba(1,29,67,0.75) 0%, rgba(1,29,67,0.88) 100%); } }

/* ---------- Split-section photo gallery (1-4 images) ---------- */
.split-gallery { display:grid; gap:10px; height:100%; }
.split-gallery-img { position:relative; border-radius:14px; overflow:hidden; background-size:cover; background-position:center; box-shadow:0 20px 45px rgba(1,29,67,0.16); min-height:130px; }
.split-gallery.count-1 { grid-template-columns:1fr; }
.split-gallery.count-1 .split-gallery-img { aspect-ratio:4/3.4; }
.split-gallery.count-2 { grid-template-columns:1fr 1fr; }
.split-gallery.count-2 .split-gallery-img { aspect-ratio:3/4; }
.split-gallery.count-3 { grid-template-columns:1fr 1fr; grid-auto-rows:140px; }
.split-gallery.count-3 .split-gallery-img:first-child { grid-column:1 / span 2; aspect-ratio:16/9; height:auto; }
.split-gallery.count-4 { grid-template-columns:1fr 1fr; }
.split-gallery.count-4 .split-gallery-img { aspect-ratio:1/1; }
@media (max-width:560px) { .split-gallery.count-3 { grid-auto-rows:110px; } }

/* ---------- Stats ---------- */
.stats-section { background:var(--bg); padding:52px 22px; }
.stats-grid { max-width:1240px; margin:0 auto; display:grid; grid-template-columns:repeat(4,1fr); gap:20px; align-items:center; }
.stat { text-align:center; padding:8px 12px; }
.stat-num { font-family:'Archivo',sans-serif; font-weight:900; font-size:48px; line-height:1; background:linear-gradient(135deg,var(--gold),var(--gold-dark)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.stat-label { margin-top:10px; font-size:14px; font-weight:600; letter-spacing:0.5px; color:var(--navy); text-transform:uppercase; }
@media (max-width:620px) { .stats-grid { grid-template-columns:repeat(2,1fr); gap:28px 10px; } .stat-num { font-size:38px; } }

/* ---------- Section heading ---------- */
.section-head { max-width:760px; margin:0 auto 48px; text-align:center; }
.section-eyebrow { display:inline-block; font-family:'Archivo',sans-serif; font-weight:700; letter-spacing:2.5px; font-size:12.5px; text-transform:uppercase; color:var(--gold-dark); margin-bottom:14px; }
.section-title { font-family:'Archivo',sans-serif; font-weight:900; font-size:40px; line-height:1.1; margin:0 0 16px; color:var(--navy-dark); letter-spacing:-0.5px; }
.section-desc { font-size:16.5px; line-height:1.65; color:var(--text-body); margin:0; }
@media (max-width:620px) { .section-title { font-size:30px; } }

/* ---------- Info / step / value cards (dispatch steps, factoring steps, about values, services cards) ---------- */
.info-grid { max-width:1240px; margin:0 auto; display:grid; gap:18px; }
@media (max-width:920px) { .info-grid { grid-template-columns:repeat(2,1fr) !important; } }
@media (max-width:560px) { .info-grid { grid-template-columns:1fr !important; } }
.info-card { display:flex; flex-direction:column; background:var(--bg); border:1px solid var(--border); border-radius:10px; padding:28px 24px; box-shadow:0 8px 22px rgba(1,29,67,0.05); }
.info-card-badge { display:grid; place-items:center; width:48px; height:48px; border-radius:13px; background:linear-gradient(135deg,var(--gold),var(--gold-mid)); font-size:22px; margin-bottom:16px; font-family:'Archivo',sans-serif; font-weight:900; color:var(--navy-dark); }
.info-card-badge.num { width:36px; height:36px; border-radius:10px; font-size:15px; }
.info-card h3 { font-family:'Archivo',sans-serif; font-weight:800; font-size:17px; margin:0 0 8px; color:var(--navy-dark); }
.info-card p { font-size:14px; line-height:1.6; color:var(--text-muted); margin:0; flex:1; }
.info-card .learn-more { font-weight:700; font-size:14px; color:var(--navy); margin-top:18px; display:block; }

/* ---------- Split content + media section ---------- */
.split-section { background:var(--bg); padding:70px 22px; }
.split-inner { max-width:1240px; margin:0 auto; display:flex; flex-direction:row; gap:56px; align-items:center; }
.split-content { flex:1 1 420px; min-width:280px; }
.split-media { flex:1 1 380px; min-width:260px; }
.split-media-inner { position:relative; aspect-ratio:4/3.4; border-radius:16px; overflow:hidden; background-color:var(--navy); background-size:cover; background-position:center; box-shadow:0 26px 60px rgba(1,29,67,0.18); }
.split-media-inner::after { content:''; position:absolute; inset:0; background:linear-gradient(160deg, rgba(3,49,99,0.2), rgba(1,29,67,0.5)); }
.split-media-tag { position:absolute; left:16px; bottom:16px; font-family:monospace; font-size:11px; letter-spacing:1px; color:rgba(254,254,254,0.6); z-index:2; }
.split-eyebrow { display:inline-block; font-family:'Archivo',sans-serif; font-weight:700; letter-spacing:2.5px; font-size:12px; text-transform:uppercase; color:var(--gold-dark); margin-bottom:14px; }
.split-title { font-family:'Archivo',sans-serif; font-weight:900; font-size:32px; line-height:1.15; margin:0 0 16px; color:var(--navy-dark); letter-spacing:-0.5px; }
.split-desc { font-size:15.5px; line-height:1.75; color:var(--text-body); margin:0 0 16px; }
.split-desc:last-of-type { margin-bottom:0; }
.split-features { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:14px; }
.split-features li { display:flex; align-items:flex-start; gap:12px; font-size:15px; color:var(--text-strong); line-height:1.5; }
.split-check { flex:0 0 auto; display:grid; place-items:center; width:22px; height:22px; border-radius:50%; background:rgba(2,41,84,0.1); color:var(--navy); font-size:12px; font-weight:800; }
@media (max-width:920px) { .split-inner { flex-direction:column; gap:38px; } }

/* ---------- Specs strip (equipment detail) ---------- */
.specs-section { background:linear-gradient(180deg,var(--bg-soft) 0%,var(--bg) 100%); padding:60px 22px; }
.specs-grid { max-width:1000px; margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.spec-card { background:var(--bg); border:1px solid var(--border); border-radius:10px; padding:26px 22px; text-align:center; box-shadow:0 8px 22px rgba(1,29,67,0.05); }
.spec-value { font-family:'Archivo',sans-serif; font-weight:900; font-size:26px; color:var(--navy-dark); margin-bottom:6px; }
.spec-label { font-size:13.5px; font-weight:600; color:var(--text-muted); text-transform:uppercase; letter-spacing:0.5px; }
@media (max-width:560px) { .specs-grid { grid-template-columns:1fr; } }

/* ---------- Pricing (homepage) ---------- */
.pricing-section { background:linear-gradient(180deg,var(--bg-soft) 0%,var(--bg) 100%); padding:80px 22px; }
.pricing-grid { max-width:1120px; margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:22px; align-items:start; }
.price-card { position:relative; background:var(--bg); border-radius:10px; padding:34px 28px 30px; display:flex; flex-direction:column; border:1px solid var(--border); box-shadow:0 8px 26px rgba(1,29,67,0.06); }
.price-card.featured { border:2px solid var(--gold); box-shadow:0 22px 50px rgba(191,145,60,0.22); transform:scale(1.04); margin-top:14px; }
.featured-badge { position:absolute; top:0; left:50%; transform:translate(-50%,-50%); background:linear-gradient(135deg,var(--gold),var(--gold-dark)); color:var(--navy-dark); font-family:'Archivo',sans-serif; font-weight:800; font-size:11.5px; letter-spacing:1.5px; text-transform:uppercase; padding:7px 20px; border-radius:999px; box-shadow:0 6px 16px rgba(191,145,60,0.4); white-space:nowrap; }
.price-badge { display:grid; place-items:center; width:52px; height:52px; border-radius:14px; font-size:24px; margin-bottom:18px; background:rgba(2,41,84,0.08); color:var(--navy); }
.price-card.featured .price-badge { background:linear-gradient(135deg,var(--gold),var(--gold-mid)); color:var(--navy-dark); }
.price-title { font-family:'Archivo',sans-serif; font-weight:800; font-size:21px; margin:0 0 6px; color:var(--navy-dark); }
.price-desc { font-size:14px; color:var(--text-muted); margin:0 0 20px; line-height:1.5; }
.price-amount { display:flex; align-items:baseline; gap:6px; margin-bottom:22px; }
.price-amount .num { font-family:'Archivo',sans-serif; font-weight:900; font-size:44px; color:var(--navy-dark); line-height:1; }
.price-amount .unit { font-size:15px; color:var(--text-muted); font-weight:600; }
.price-divider { height:1px; background:var(--border); margin-bottom:22px; }
.price-features { list-style:none; padding:0; margin:0 0 28px; display:flex; flex-direction:column; gap:13px; }
.price-features li { display:flex; align-items:flex-start; gap:11px; font-size:14.5px; color:var(--text-strong); line-height:1.4; }
.price-note { font-size:12.5px; line-height:1.55; color:var(--text-muted); margin:-16px 0 22px; }
.check { flex:0 0 auto; display:grid; place-items:center; width:20px; height:20px; border-radius:50%; background:rgba(2,41,84,0.1); color:var(--navy); font-size:11px; font-weight:800; }
.price-card.featured .check { background:linear-gradient(135deg,var(--gold),var(--gold-mid)); color:var(--navy-dark); }
.price-cta { display:block; text-align:center; font-weight:800; font-size:15px; padding:14px; border-radius:999px; transition:transform .18s; background:var(--bg); color:var(--navy-dark); border:2px solid var(--navy-dark); }
.price-cta:hover { transform:translateY(-2px); }
.price-cta.featured-cta { background:linear-gradient(135deg,var(--gold),var(--gold-dark)); color:var(--navy-dark); box-shadow:0 10px 24px rgba(222,178,77,0.4); border:none; }
@media (max-width:920px) { .pricing-grid { grid-template-columns:1fr; gap:24px; align-items:stretch; } .price-card.featured { transform:none; } }

/* ---------- Services / equipment tiles ---------- */
.services-section { background:var(--bg); padding:80px 22px; }
.services-grid { max-width:1240px; margin:0 auto; display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.service-tile { position:relative; display:block; border-radius:10px; overflow:hidden; height:230px; background-color:var(--navy); background-size:cover; background-position:center; box-shadow:0 10px 28px rgba(1,29,67,0.12); transition:transform .2s; }
.service-tile:hover { transform:translateY(-4px); }
.service-tile::before { content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(1,29,67,0.15) 0%, rgba(1,29,67,0.55) 55%, rgba(1,29,67,0.92) 100%); }
.service-tile-content { position:relative; padding:20px; z-index:2; }
.service-tile-label { font-family:'Archivo',sans-serif; font-weight:800; font-size:20px; color:var(--bg); line-height:1.1; }
.service-tile-sub { font-size:13px; color:var(--gold); font-weight:600; margin-top:4px; }
@media (max-width:920px) { .services-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:620px) { .services-grid { grid-template-columns:1fr; } }

/* equipment tiles with icon (dispatch overview page) */
.equip-tile { position:relative; display:block; border-radius:10px; overflow:hidden; height:200px; background-color:var(--navy); background-size:cover; background-position:center; box-shadow:0 10px 28px rgba(1,29,67,0.12); transition:transform .2s; }
.equip-tile:hover { transform:translateY(-4px); }
.equip-tile::before { content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(1,29,67,0.15) 0%, rgba(1,29,67,0.55) 55%, rgba(1,29,67,0.92) 100%); }
.equip-tile-content { position:relative; padding:18px; z-index:2; height:100%; display:flex; flex-direction:column; justify-content:space-between; }
.equip-tile-icon { font-size:26px; }
.equip-tile-label { font-family:'Archivo',sans-serif; font-weight:800; font-size:18px; color:var(--bg); line-height:1.1; }
.equip-tile-sub { font-size:12.5px; color:var(--gold); font-weight:600; margin-top:4px; }
.equip-tiles-grid { max-width:1240px; margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
@media (max-width:920px) { .equip-tiles-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px) { .equip-tiles-grid { grid-template-columns:1fr; } }

/* ---------- FAQ ---------- */
.faq-section { background:linear-gradient(180deg,var(--bg-soft) 0%,var(--bg) 100%); padding:80px 22px; }
.faq-grid { max-width:1120px; margin:0 auto; display:grid; grid-template-columns:repeat(2,1fr); gap:16px; align-items:start; }
.faq-item { background:var(--bg); border:1px solid var(--border); border-radius:10px; overflow:hidden; box-shadow:0 2px 10px rgba(1,29,67,0.04); height:fit-content; }
.faq-question { width:100%; border:none; background:transparent; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:14px; padding:20px 22px; text-align:left; font-family:'DM Sans',sans-serif; }
.faq-question-text { font-weight:700; font-size:16px; color:var(--navy-dark); line-height:1.35; }
.faq-icon { flex:0 0 auto; display:grid; place-items:center; width:30px; height:30px; border-radius:50%; background:rgba(2,41,84,0.08); color:var(--navy); font-size:18px; font-weight:400; transform:rotate(0deg); transition:transform .25s; }
.faq-item.open .faq-icon { background:linear-gradient(135deg,var(--gold),var(--gold-mid)); color:var(--navy-dark); transform:rotate(45deg); }
.faq-answer { padding:0 22px 22px; font-size:14.5px; line-height:1.65; color:var(--text-body); display:none; }
.faq-item.open .faq-answer { display:block; }
@media (max-width:920px) { .faq-grid { grid-template-columns:1fr; } }

/* ---------- CTA banner ---------- */
.cta-section { background:var(--bg); padding:20px 22px 80px; }
.cta-banner { max-width:1240px; margin:0 auto; position:relative; overflow:hidden; background:linear-gradient(135deg,var(--gold) 0%,var(--gold-dark) 60%,var(--gold-mid) 100%); border-radius:22px; padding:52px 56px; display:flex; flex-direction:row; align-items:center; gap:28px; box-shadow:0 24px 60px rgba(191,145,60,0.28); }
.cta-banner .nl-strip { position:absolute; inset:0; opacity:0.5; }
.cta-content { position:relative; z-index:2; flex:1 1 auto; min-width:260px; }
.cta-title { font-family:'Archivo',sans-serif; font-weight:900; font-size:34px; line-height:1.1; margin:0 0 12px; color:var(--navy-dark); letter-spacing:-0.5px; }
.cta-desc { font-size:16.5px; color:rgba(1,29,67,0.78); margin:0; max-width:520px; font-weight:500; }
.cta-button { position:relative; z-index:2; flex:0 0 auto; background:linear-gradient(135deg,var(--navy),var(--navy-dark)); color:var(--bg); font-weight:800; font-size:16px; padding:16px 34px; border-radius:999px; box-shadow:0 12px 28px rgba(1,29,67,0.3); white-space:nowrap; }
@media (max-width:920px) { .cta-banner { flex-direction:column; text-align:left; } }
@media (max-width:620px) { .cta-banner { padding:40px 26px; } .cta-title { font-size:26px; } }

/* smaller CTA variant used on sub-pages */
.cta-banner.cta-compact { padding:46px 50px; }
.cta-banner.cta-compact .cta-title { font-size:28px; }
.cta-banner.cta-compact .cta-desc { font-size:15.5px; }
@media (max-width:560px) { .cta-banner.cta-compact { padding:34px 24px; } }

/* ---------- Footer ---------- */
.site-footer { background:radial-gradient(120% 130% at 85% 10%, var(--navy-light) 0%, var(--navy) 45%, var(--navy-dark) 100%); color:var(--bg); padding:64px 22px 28px; }
.footer-grid { max-width:1240px; margin:0 auto; display:grid; grid-template-columns:1.6fr 1fr 1fr 1.3fr; gap:40px; }
.footer-brand-row { display:flex; align-items:center; gap:11px; margin-bottom:18px; }
.footer-brand-row img { height:48px; width:auto; }
.footer-brand-name { display:block; font-family:'Archivo',sans-serif; font-weight:900; font-size:20px; letter-spacing:0.5px; }
.footer-brand-name .n { color:var(--bg); }
.footer-brand-name .l { color:var(--gold); }
.footer-brand-sub { display:block; font-family:'Archivo',sans-serif; font-weight:700; font-size:9px; letter-spacing:4px; color:rgba(254,254,254,0.6); }
.footer-desc { font-size:14.5px; line-height:1.7; color:rgba(254,254,254,0.68); margin:0 0 18px; max-width:280px; }
.footer-social { display:flex; gap:10px; }
.footer-social a { display:grid; place-items:center; width:36px; height:36px; border-radius:50%; background:rgba(254,254,254,0.08); border:1px solid rgba(254,254,254,0.15); color:var(--gold); font-weight:700; font-size:13px; font-family:'Archivo',sans-serif; }
.footer-col h4 { font-family:'Archivo',sans-serif; font-weight:800; font-size:14px; letter-spacing:1px; text-transform:uppercase; color:var(--gold); margin:0 0 18px; }
.footer-col ul { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:12px; }
.footer-col ul a { font-size:14.5px; color:rgba(254,254,254,0.72); }
.footer-contact { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:14px; }
.footer-contact li { display:flex; gap:11px; align-items:flex-start; font-size:14.5px; color:rgba(254,254,254,0.72); }
.footer-contact .ic { color:var(--gold); }
.footer-bottom { max-width:1240px; margin:44px auto 0; border-top:1px solid rgba(254,254,254,0.14); padding-top:22px; display:flex; flex-wrap:wrap; gap:14px; align-items:center; justify-content:space-between; }
.footer-copy { font-size:13px; color:rgba(254,254,254,0.5); }
.footer-legal { display:flex; gap:22px; flex-wrap:wrap; }
.footer-legal a { font-size:13px; color:rgba(254,254,254,0.5); }

@media (max-width:920px) { .footer-grid { grid-template-columns:1fr 1fr; gap:36px 24px; } }
@media (max-width:560px) { .footer-grid { grid-template-columns:1fr; } }

/* Integration navigation only: original page sections unchanged. */
.nav-list{gap:18px}.nav-logo img,.footer-brand-row img{width:52px;height:46px;object-fit:contain}.dropdown{max-height:75vh;overflow-y:auto}@media(min-width:901px) and (max-width:1180px){.nav-list{gap:10px}.nav-link,.dispatch-btn{font-size:13px}.nav-right .call-link{display:none}}

.receipt-actions{display:flex;gap:12px;flex-wrap:wrap}.receipt-button{font-size:14px!important;padding:9px 14px!important;width:auto!important;text-decoration:none}

.hero-video-play{position:absolute;right:20px;bottom:16px;z-index:3;border:1px solid #ffffff60;border-radius:5px;background:#011d4380;color:white;font:inherit;font-size:12px;padding:6px 10px;cursor:pointer}.hero-video-play[hidden]{display:none}
.hero.video-hero .hero-video-overlay{background:linear-gradient(100deg,rgba(1,29,67,.78),rgba(1,29,67,.52) 55%,rgba(1,29,67,.28))}
.seo-links{display:flex;gap:12px 24px;flex-wrap:wrap;padding:24px 0}.seo-links a{color:#011d43;text-decoration:underline;text-underline-offset:4px}.seo-copy{max-width:760px;line-height:1.8}.hero-title{font-size:clamp(34px,4.5vw,62px)}


/* === R45 homepage/contact polish === */
.footer-contact .ic{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;flex:0 0 18px;color:var(--gold);margin-top:2px}
.footer-contact .ic svg{display:block;width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}

.dispatch-overview-section{padding:78px 22px 90px;background:linear-gradient(180deg,#f7f9fc 0%,#ffffff 100%)}
.dispatch-overview-grid{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:34px;align-items:start}
.dispatch-overview-copy{background:#fff;border:1px solid rgba(1,29,67,.08);border-radius:28px;padding:38px 38px 34px;box-shadow:0 22px 50px rgba(1,29,67,.08)}
.dispatch-overview-copy .section-eyebrow{margin-bottom:12px}
.dispatch-overview-copy h2{font-family:'Archivo',sans-serif;font-size:clamp(31px,3.4vw,46px);line-height:1.1;color:#011D43;margin:0 0 14px;letter-spacing:-.03em}
.dispatch-overview-copy p{font-size:16px;line-height:1.75;color:#49566a;margin:0 0 22px}
.dispatch-bullet-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;margin:0 0 26px;padding:0;list-style:none}
.dispatch-bullet-list li{display:flex;gap:12px;align-items:flex-start;padding:13px 14px;border-radius:16px;background:#f5f8fc;border:1px solid rgba(6,41,84,.08);font-size:14px;line-height:1.55;color:#33455c}
.dispatch-bullet-list .bullet-icon{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:linear-gradient(135deg,#DEB24D,#BF913C);color:#011D43;font-weight:900;font-size:14px;flex:0 0 26px}
.dispatch-actions{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:22px}
.dispatch-link-pills{display:flex;gap:10px;flex-wrap:wrap}
.dispatch-link-pills a{display:inline-flex;align-items:center;padding:10px 14px;border-radius:999px;background:#eef4fb;border:1px solid rgba(6,41,84,.08);font-size:13px;font-weight:700;color:#0d2a52;text-decoration:none;transition:transform .2s ease,background .2s ease,border-color .2s ease}
.dispatch-link-pills a:hover{transform:translateY(-2px);background:#fff6e1;border-color:rgba(191,145,60,.4)}

.dispatch-overview-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.dispatch-equipment-card,.dispatch-summary-card{position:relative;display:block;border-radius:24px;overflow:hidden;min-height:240px;text-decoration:none;background:#011D43;box-shadow:0 20px 44px rgba(1,29,67,.14);border:1px solid rgba(1,29,67,.06)}
.dispatch-equipment-card img{display:block;width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.dispatch-equipment-card::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(1,29,67,.08) 0%,rgba(1,29,67,.52) 52%,rgba(1,29,67,.9) 100%)}
.dispatch-equipment-card .card-content{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding:22px}
.dispatch-equipment-card .card-kicker{display:inline-flex;align-items:center;align-self:flex-start;padding:6px 10px;border-radius:999px;background:rgba(254,254,254,.14);backdrop-filter:blur(8px);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#f5d68c;font-weight:700;margin-bottom:12px}
.dispatch-equipment-card h3{font-family:'Archivo',sans-serif;font-size:24px;line-height:1.05;color:#fff;margin:0 0 6px}
.dispatch-equipment-card p{font-size:14px;line-height:1.55;color:rgba(255,255,255,.82);margin:0 0 14px}
.dispatch-equipment-card .card-link{font-size:13px;font-weight:800;color:#f2c14f}
.dispatch-summary-card{grid-column:1/-1;min-height:auto;padding:26px 26px 22px;background:linear-gradient(135deg,#022954 0%,#011D43 58%,#0a3a72 100%);display:grid;grid-template-columns:minmax(0,1.2fr) minmax(230px,.8fr);gap:20px;align-items:center}
.dispatch-summary-card::after{content:'';position:absolute;inset:0;background:radial-gradient(circle at top right,rgba(255,255,255,.14),transparent 38%);pointer-events:none}
.dispatch-summary-card h3{font-family:'Archivo',sans-serif;font-size:28px;line-height:1.1;color:#fff;margin:0 0 10px}
.dispatch-summary-card p{font-size:15px;line-height:1.7;color:rgba(255,255,255,.82);margin:0}
.dispatch-summary-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.dispatch-summary-metrics .metric{padding:14px;border-radius:18px;background:rgba(254,254,254,.08);border:1px solid rgba(254,254,254,.12)}
.dispatch-summary-metrics strong{display:block;font-family:'Archivo',sans-serif;font-size:24px;line-height:1;color:#f5d68c;margin-bottom:6px}
.dispatch-summary-metrics span{display:block;font-size:13px;line-height:1.45;color:rgba(255,255,255,.84)}

.operations-section{padding:0 22px 84px;background:#fff}
.operations-shell{max-width:1240px;margin:0 auto;border-radius:28px;background:linear-gradient(180deg,#fffdf8 0%,#ffffff 100%);border:1px solid rgba(1,29,67,.08);box-shadow:0 22px 50px rgba(1,29,67,.06);padding:34px}
.operations-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.operation-card{border-radius:22px;overflow:hidden;background:#f8fafc;border:1px solid rgba(1,29,67,.08)}
.operation-card img{display:block;width:100%;height:180px;object-fit:cover}
.operation-card .operation-copy{padding:20px}
.operation-card h3{font-family:'Archivo',sans-serif;font-size:22px;line-height:1.08;color:#011D43;margin:0 0 8px}
.operation-card p{font-size:14px;line-height:1.65;color:#4a5a6c;margin:0}

@media (max-width:1024px){
  .dispatch-overview-grid{grid-template-columns:1fr}
  .dispatch-summary-card{grid-template-columns:1fr}
}
@media (max-width:800px){
  .dispatch-bullet-list,.dispatch-overview-cards,.operations-grid{grid-template-columns:1fr}
  .dispatch-equipment-card{min-height:260px}
}
@media (max-width:640px){
  .dispatch-overview-section{padding:56px 16px 64px}
  .dispatch-overview-copy{padding:28px 22px}
  .dispatch-overview-copy h2{font-size:30px}
  .dispatch-actions{flex-direction:column}
  .dispatch-actions .btn-primary,.dispatch-actions .btn-secondary{width:100%;justify-content:center}
  .operations-section{padding:0 16px 56px}
  .operations-shell{padding:22px}
}


/* === V46 homepage, nav, and contact refinement === */
.nav{align-items:center}
.nav-logo{min-width:0;max-width:none}
.nav-logo img{height:44px;width:auto;max-width:none}
.nav-logo-text{min-width:0;max-width:none}
.nav-logo-name{font-size:clamp(18px,1.45vw,22px);letter-spacing:.04em}
.nav-logo-sub{font-size:8.6px;letter-spacing:2.9px}
.hero-title{max-width:760px}
.hero-desc{max-width:660px}
.dispatch-slogan{font-family:'Archivo',sans-serif;font-size:18px!important;line-height:1.55!important;color:#143b6c!important;font-weight:700!important;max-width:700px;margin:-2px 0 22px!important}
.dispatch-overview-copy p.dispatch-slogan{margin-top:0!important}
.dispatch-overview-cards{align-content:start}
.dispatch-equipment-card{min-height:260px;isolation:isolate}
.dispatch-equipment-card::before{background:linear-gradient(180deg,rgba(1,29,67,.02) 0%,rgba(1,29,67,.28) 38%,rgba(1,29,67,.88) 100%)}
.dispatch-equipment-card::after{content:'';position:absolute;inset:auto 18px 18px 18px;height:1px;background:linear-gradient(90deg,rgba(242,193,79,.88),rgba(242,193,79,0));z-index:2}
.dispatch-equipment-card .card-content{padding:24px}
.dispatch-equipment-card .card-kicker{background:rgba(1,29,67,.42);border:1px solid rgba(255,255,255,.14)}
.dispatch-equipment-card h3{font-size:28px;margin-bottom:8px;text-shadow:0 2px 14px rgba(0,0,0,.18)}
.dispatch-equipment-card p{font-size:15px;max-width:32ch;color:rgba(255,255,255,.9)}
.dispatch-equipment-card .card-link{display:inline-flex;align-items:center;gap:8px;font-size:13px;letter-spacing:.03em}
.dispatch-summary-card{background:linear-gradient(145deg,#08284f,#113d72);color:#fff;padding:28px;display:flex;flex-direction:column;justify-content:space-between;min-height:260px}
.dispatch-summary-card h3{font-family:'Archivo',sans-serif;font-size:28px;line-height:1.08;margin:0 0 14px}
.dispatch-summary-card p{font-size:15px;line-height:1.7;color:rgba(255,255,255,.82);margin:0 0 22px}
.dispatch-summary-metrics .metric{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.08)}
.carrier-advantage-section{padding:0 22px 86px;background:linear-gradient(180deg,#fff 0%,#f7f9fc 100%)}
.carrier-advantage-shell{max-width:1240px;margin:0 auto;border-radius:30px;background:linear-gradient(180deg,#071f41 0%,#0d2e5a 100%);padding:36px;box-shadow:0 24px 58px rgba(1,29,67,.16)}
.carrier-advantage-section .section-head{margin-bottom:28px}
.carrier-advantage-section .section-eyebrow{color:#f5d68c}
.carrier-advantage-section .section-title{color:#fff;max-width:980px}
.carrier-advantage-section .section-desc{color:rgba(255,255,255,.78);max-width:900px}
.carrier-advantage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.advantage-feature,.advantage-stat-card{background:#fff;border-radius:24px;overflow:hidden;border:1px solid rgba(1,29,67,.08);box-shadow:0 14px 34px rgba(1,29,67,.08)}
.advantage-feature img{display:block;width:100%;height:220px;object-fit:cover}
.advantage-feature-main{grid-column:span 3;display:grid;grid-template-columns:1.1fr .9fr;align-items:stretch;background:linear-gradient(180deg,#fffdf8,#ffffff)}
.advantage-copy{padding:34px}
.advantage-media img{height:100%;min-height:100%;object-fit:cover}
.advantage-kicker{display:inline-flex;padding:7px 11px;border-radius:999px;background:#eef4fb;color:#174a88;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px}
.advantage-feature-main h3{font-family:'Archivo',sans-serif;font-size:34px;line-height:1.08;color:#011D43;margin:0 0 14px}
.advantage-feature-main p{font-size:16px;line-height:1.8;color:#4b5a6e;margin:0 0 18px}
.advantage-points{display:grid;gap:10px;padding:0;margin:0;list-style:none}
.advantage-points li{position:relative;padding-left:20px;font-size:15px;line-height:1.65;color:#213752}
.advantage-points li::before{content:'•';position:absolute;left:0;top:0;color:#d6a438;font-size:20px;line-height:1}
.advantage-card-copy{padding:22px}
.advantage-card-copy h3{font-family:'Archivo',sans-serif;font-size:22px;color:#011D43;line-height:1.15;margin:0 0 10px}
.advantage-card-copy p,.advantage-stat-card p{font-size:14.5px;line-height:1.7;color:#556579;margin:0}
.advantage-stat-card{padding:24px;background:linear-gradient(180deg,#fff,#f8fbff)}
.advantage-stat-card strong{display:block;font-family:'Archivo',sans-serif;font-size:22px;line-height:1.12;color:#011D43;margin:0 0 10px}
.operations-shell{background:linear-gradient(180deg,#fff 0%,#fcfdff 100%)}
.operation-card{box-shadow:0 14px 34px rgba(1,29,67,.06);border-radius:24px}
.operation-card img{height:200px}
.contact-card .phone-picker{display:none!important}
@media(max-width:1140px){.nav-list{display:none}.hamburger{display:block}.nav-right{margin-left:auto}.nav-logo img{height:40px}}
@media(max-width:1140px){.carrier-advantage-grid{grid-template-columns:1fr 1fr}.advantage-feature-main{grid-column:1/-1;grid-template-columns:1fr}.advantage-media img{height:280px}}
@media(max-width:860px){.carrier-advantage-section{padding:0 16px 64px}.carrier-advantage-shell{padding:24px}.carrier-advantage-grid{grid-template-columns:1fr}.advantage-feature-main h3{font-size:29px}}
@media(max-width:560px){.dispatch-slogan{font-size:16px!important}.dispatch-equipment-card h3{font-size:24px}.carrier-advantage-shell{border-radius:24px;padding:18px}.advantage-copy,.advantage-card-copy,.advantage-stat-card{padding:18px}.advantage-feature img{height:190px}}


/* === V47 homepage refinement === */
.dispatch-slogan-script{font-family:'Great Vibes',cursive!important;font-size:40px!important;line-height:1.04!important;font-weight:400!important;letter-spacing:.01em!important;color:#b8872d!important;margin:6px 0 18px!important}
.dispatch-slogan-script span{display:block;font-size:.92em;color:#133867}
.dispatch-contact-chips{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 24px}
.dispatch-contact-chip{display:inline-flex;align-items:center;gap:10px;padding:11px 15px;border-radius:999px;background:#f4f7fb;border:1px solid rgba(1,29,67,.08);font-size:13px;font-weight:700;color:#133867;text-decoration:none;box-shadow:0 10px 24px rgba(1,29,67,.05)}
.dispatch-contact-chip svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.85;stroke-linecap:round;stroke-linejoin:round;flex:0 0 16px}
.dispatch-contact-chip:hover{transform:translateY(-2px);border-color:rgba(191,145,60,.35);background:#fff}
.dispatch-overview-cards.equipment-image-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.dispatch-equipment-card.image-card{background:#fff;min-height:0;border-radius:24px;overflow:hidden;box-shadow:0 22px 46px rgba(1,29,67,.12);border:1px solid rgba(1,29,67,.08);text-decoration:none;transform:translateZ(0);transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease}
.dispatch-equipment-card.image-card::before{display:none}
.dispatch-equipment-card.image-card::after{content:'';position:absolute;top:0;left:-80%;width:58%;height:100%;background:linear-gradient(100deg,transparent 0%,rgba(255,255,255,.06) 20%,rgba(255,255,255,.56) 50%,rgba(255,255,255,.06) 80%,transparent 100%);transform:skewX(-16deg);animation:equipment-flash 5.8s ease-in-out infinite;z-index:3;pointer-events:none}
.dispatch-equipment-card.image-card .equipment-image{position:relative;aspect-ratio:1.08/1;overflow:hidden;background:#dfe6ef}
.dispatch-equipment-card.image-card .equipment-image img{position:relative;inset:auto;width:100%;height:100%;display:block;object-fit:cover;transition:transform .5s ease, filter .35s ease}
.dispatch-equipment-card.image-card .equipment-meta{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 20px;background:#fff;position:relative;z-index:2}
.dispatch-equipment-card.image-card .equipment-meta strong{display:block;font-family:'Archivo',sans-serif;font-size:22px;line-height:1.1;color:#011D43}
.dispatch-equipment-card.image-card .equipment-meta span{font-size:12.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#b8872d;white-space:nowrap}
.dispatch-equipment-card.image-card:hover{transform:translateY(-6px);box-shadow:0 30px 56px rgba(1,29,67,.16);border-color:rgba(191,145,60,.26)}
.dispatch-equipment-card.image-card:hover .equipment-image img{transform:scale(1.04)}
@keyframes equipment-flash{0%,12%{left:-88%;opacity:0}18%{opacity:.96}38%{left:128%;opacity:.96}45%,100%{left:128%;opacity:0}}
.stats-section{position:relative;overflow:hidden}
.stats-section::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.02),rgba(255,255,255,.14),rgba(255,255,255,.02));transform:translateX(-100%);animation:statsSweep 8s linear infinite;pointer-events:none}
.stats-grid .stat{position:relative;overflow:hidden;transition:transform .24s ease, box-shadow .24s ease}
.stats-grid .stat::after{content:'';position:absolute;inset:auto 18px 0 18px;height:3px;background:linear-gradient(90deg,#d8a63d,transparent);opacity:.85}
.stats-grid .stat:hover{transform:translateY(-4px);box-shadow:0 18px 28px rgba(0,0,0,.08)}
@keyframes statsSweep{0%{transform:translateX(-100%)}60%,100%{transform:translateX(100%)}}
.carrier-advantage-shell{background:transparent;box-shadow:none;padding:0}
.carrier-advantage-grid-v47{display:grid;grid-template-columns:1.2fr .8fr;gap:20px}
.advantage-panel{border-radius:28px;border:1px solid rgba(1,29,67,.08);background:#fff;box-shadow:0 22px 50px rgba(1,29,67,.08)}
.advantage-panel-lead{padding:34px 34px 30px}
.advantage-panel-lead .section-title{color:#011D43;max-width:none;margin:0 0 14px}
.advantage-panel-lead .section-desc{color:#4a5a6d;max-width:none;margin:0 0 20px}
.advantage-listing{display:flex;flex-wrap:wrap;gap:10px}
.advantage-listing span{padding:9px 13px;border-radius:999px;background:#eef4fb;color:#153b6d;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.advantage-panel-highlight{padding:34px;background:linear-gradient(145deg,#05274c,#123c73);color:#fff;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}
.advantage-panel-highlight::after{content:'';position:absolute;inset:0;background:radial-gradient(circle at top right,rgba(245,214,140,.18),transparent 32%)}
.advantage-panel-highlight .advantage-kicker{display:inline-flex;align-self:flex-start;padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.12);color:#f5d68c;font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;margin:0 0 14px}
.advantage-panel-highlight h3{font-family:'Archivo',sans-serif;font-size:31px;line-height:1.08;margin:0 0 14px;position:relative;z-index:1}
.advantage-panel-highlight p{font-size:15px;line-height:1.8;color:rgba(255,255,255,.84);margin:0;position:relative;z-index:1}
.advantage-panel-card{padding:24px;display:flex;flex-direction:column;gap:14px}
.advantage-icon{display:inline-grid;place-items:center;width:54px;height:54px;border-radius:18px;background:linear-gradient(135deg,#f7e3ad,#d7a845);color:#05264a}
.advantage-icon svg{width:26px;height:26px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.advantage-panel-card h3{font-family:'Archivo',sans-serif;font-size:23px;line-height:1.12;color:#011D43;margin:0}
.advantage-panel-card p{font-size:14.5px;line-height:1.75;color:#556478;margin:0}
.carrier-advantage-grid-v47 .advantage-panel-card:nth-child(3),.carrier-advantage-grid-v47 .advantage-panel-card:nth-child(4),.carrier-advantage-grid-v47 .advantage-panel-card:nth-child(5),.carrier-advantage-grid-v47 .advantage-panel-card:nth-child(6){min-height:100%}
.footer-desc{max-width:420px}
@media (max-width:1140px){.carrier-advantage-grid-v47{grid-template-columns:1fr}.advantage-panel-highlight h3{font-size:28px}}
@media (max-width:860px){.dispatch-overview-cards.equipment-image-grid{grid-template-columns:1fr}.dispatch-slogan-script{font-size:34px!important}.dispatch-contact-chips{gap:10px}.dispatch-contact-chip{width:100%;justify-content:flex-start}.carrier-advantage-grid-v47{grid-template-columns:1fr}.advantage-panel-lead,.advantage-panel-highlight,.advantage-panel-card{padding:24px}}
@media (max-width:560px){.dispatch-slogan-script{font-size:30px!important}.dispatch-equipment-card.image-card .equipment-meta{padding:16px 18px}.dispatch-equipment-card.image-card .equipment-meta strong{font-size:20px}.advantage-panel-highlight h3{font-size:25px}.advantage-panel-card h3{font-size:21px}}


/* === V48 homepage refinement === */
.dispatch-overview-copy{display:flex;flex-direction:column;justify-content:space-between}
.dispatch-overview-copy > p:not(.dispatch-slogan-script){margin:10px 0 24px}
.dispatch-link-pills{margin-top:auto}
.dispatch-slogan-script{margin:12px 0 20px!important}
.dispatch-contact-chips{display:none!important}
.dispatch-overview-cards.equipment-image-grid{align-content:start}
.dispatch-overview-cards .dispatch-equipment-card.image-card{height:100%}
.dispatch-overview-cards .dispatch-equipment-card.image-card .equipment-image{aspect-ratio:1.14/1}
.dispatch-overview-grid{align-items:stretch}

.operations-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.operation-card{position:relative;box-shadow:0 16px 34px rgba(1,29,67,.06);border-radius:24px;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;overflow:hidden}
.operation-card:hover{transform:translateY(-6px);box-shadow:0 26px 48px rgba(1,29,67,.12);border-color:rgba(184,135,45,.25)}
.operation-card img{height:178px}
.operation-card::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,0) 38%, rgba(255,255,255,.04) 100%);pointer-events:none}
.operation-visual{position:absolute;left:0;right:0;top:0;height:178px;pointer-events:none;overflow:hidden;border-radius:24px 24px 0 0;z-index:2}
.operation-copy{position:relative;z-index:3}
.operation-visual-comm::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,28,61,.08),rgba(4,28,61,0))}
.signal-dot{position:absolute;top:18px;right:18px;width:12px;height:12px;border-radius:50%;background:#2ec27e;box-shadow:0 0 0 0 rgba(46,194,126,.55);animation:signalPulse 2.4s ease-out infinite}
.message-bubble{position:absolute;right:22px;height:16px;border-radius:999px;background:rgba(255,255,255,.88);box-shadow:0 8px 24px rgba(1,29,67,.12);opacity:0;animation:messageFloat 4.6s ease-in-out infinite}
.bubble-one{top:38px;width:76px;animation-delay:.2s}.bubble-two{top:62px;width:52px;animation-delay:1.1s}
.operation-visual-route::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,28,61,.08),rgba(4,28,61,0))}
.route-path{position:absolute;left:42px;top:118px;width:165px;height:3px;background:linear-gradient(90deg,transparent,#63efff 10%,#63efff 85%,transparent);filter:drop-shadow(0 0 10px rgba(99,239,255,.5));transform-origin:left center;animation:routeDraw 4.2s ease-in-out infinite}
.route-path::before,.route-path::after{content:'';position:absolute;height:3px;background:inherit}
.route-path::before{width:86px;left:12px;top:-28px;transform:rotate(-18deg)}
.route-path::after{width:74px;left:84px;top:-54px;transform:rotate(7deg)}
.route-pin{position:absolute;width:14px;height:14px;border-radius:50%;background:#fff;border:3px solid #63efff;box-shadow:0 0 0 0 rgba(99,239,255,.45);animation:pinPulse 2.4s ease-out infinite}
.route-start{left:32px;top:113px;animation-delay:.2s}.route-end{right:44px;top:36px;animation-delay:1.2s}
.operation-visual-paper::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,28,61,.12),rgba(4,28,61,0) 65%)}
.doc-sheet{position:absolute;width:68px;height:88px;border-radius:14px;background:rgba(255,255,255,.92);box-shadow:0 18px 34px rgba(1,29,67,.16)}
.doc-sheet::before{content:'';position:absolute;left:14px;right:14px;top:22px;height:3px;background:#d8e1ec;box-shadow:0 12px 0 #d8e1ec,0 24px 0 #d8e1ec,0 36px 0 #d8e1ec}
.doc-one{right:26px;top:34px;transform:rotate(7deg);animation:paperFloatA 5.4s ease-in-out infinite}
.doc-two{right:82px;top:24px;transform:rotate(-8deg);animation:paperFloatB 5.4s ease-in-out infinite}
.doc-check{position:absolute;right:38px;top:104px;width:28px;height:28px;border-radius:50%;background:#1f8f5d;box-shadow:0 0 0 0 rgba(31,143,93,.28);animation:checkPulse 2.4s ease-out infinite}
.doc-check::before{content:'';position:absolute;left:8px;top:7px;width:9px;height:5px;border-left:3px solid #fff;border-bottom:3px solid #fff;transform:rotate(-45deg)}
@keyframes signalPulse{0%{box-shadow:0 0 0 0 rgba(46,194,126,.48)}70%{box-shadow:0 0 0 18px rgba(46,194,126,0)}100%{box-shadow:0 0 0 0 rgba(46,194,126,0)}}
@keyframes messageFloat{0%,100%{opacity:0;transform:translateY(12px)}15%,62%{opacity:1;transform:translateY(0)}78%{opacity:0;transform:translateY(-8px)}}
@keyframes routeDraw{0%{opacity:.2;transform:scaleX(.25)}20%,65%{opacity:1;transform:scaleX(1)}100%{opacity:.25;transform:scaleX(.3)}}
@keyframes pinPulse{0%{box-shadow:0 0 0 0 rgba(99,239,255,.42)}70%{box-shadow:0 0 0 16px rgba(99,239,255,0)}100%{box-shadow:0 0 0 0 rgba(99,239,255,0)}}
@keyframes paperFloatA{0%,100%{transform:translateY(0) rotate(7deg)}50%{transform:translateY(-7px) rotate(9deg)}}
@keyframes paperFloatB{0%,100%{transform:translateY(0) rotate(-8deg)}50%{transform:translateY(-10px) rotate(-5deg)}}
@keyframes checkPulse{0%{box-shadow:0 0 0 0 rgba(31,143,93,.28)}70%{box-shadow:0 0 0 14px rgba(31,143,93,0)}100%{box-shadow:0 0 0 0 rgba(31,143,93,0)}}

.carrier-advantage-section{position:relative;overflow:hidden}
.carrier-advantage-section::before{content:'';position:absolute;inset:80px 18px auto;height:260px;background:radial-gradient(circle at left top,rgba(210,168,76,.12),transparent 42%),radial-gradient(circle at right bottom,rgba(5,63,120,.1),transparent 38%);pointer-events:none;filter:blur(8px)}
.carrier-advantage-shell{position:relative}
.carrier-advantage-grid-v47 .advantage-panel{position:relative;overflow:hidden;transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}
.carrier-advantage-grid-v47 .advantage-panel::before{content:'';position:absolute;top:0;left:-85%;width:55%;height:100%;background:linear-gradient(102deg,transparent 0%,rgba(255,255,255,.08) 20%,rgba(255,255,255,.62) 48%,rgba(255,255,255,.08) 76%,transparent 100%);transform:skewX(-18deg);animation:panelSweep 8.5s ease-in-out infinite;pointer-events:none;opacity:.5}
.carrier-advantage-grid-v47 .advantage-panel-highlight::before{background:linear-gradient(102deg,transparent 0%,rgba(255,255,255,.08) 25%,rgba(255,225,163,.36) 52%,rgba(255,255,255,.08) 80%,transparent 100%);opacity:.75}
.carrier-advantage-grid-v47 .advantage-panel:hover{transform:translateY(-5px);box-shadow:0 28px 56px rgba(1,29,67,.12);border-color:rgba(184,135,45,.22)}
.advantage-panel-lead::after{content:'';position:absolute;right:-60px;bottom:-90px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(184,135,45,.14),transparent 65%)}
.advantage-panel-highlight::after{background:radial-gradient(circle at top right,rgba(245,214,140,.18),transparent 32%),radial-gradient(circle at left bottom,rgba(255,255,255,.12),transparent 30%)}
.advantage-listing span{transition:transform .26s ease,box-shadow .26s ease}
.advantage-listing span:hover{transform:translateY(-2px);box-shadow:0 10px 20px rgba(1,29,67,.08)}
.advantage-icon{position:relative;overflow:hidden}
.advantage-icon::after{content:'';position:absolute;inset:-20%;background:conic-gradient(from 0deg, rgba(255,255,255,.0), rgba(255,255,255,.6), rgba(255,255,255,0));animation:iconSpin 4s linear infinite;opacity:.7}
.advantage-icon svg{position:relative;z-index:1}
@keyframes panelSweep{0%,12%{left:-90%;opacity:0}18%{opacity:.8}45%{left:130%;opacity:.8}100%{left:130%;opacity:0}}
@keyframes iconSpin{to{transform:rotate(1turn)}}

@media (max-width:860px){
  .operations-grid{grid-template-columns:1fr}
  .operation-card img,.operation-visual{height:200px}
}


/* === V49 logo + operations refinement === */
.nav-logo img{width:56px!important;height:56px!important;max-width:none!important;object-fit:contain!important;filter:drop-shadow(0 3px 5px rgba(1,29,67,.18))!important}
.nav-logo-text{min-width:190px!important}
.nav-logo-sub{font-size:10.8px!important;letter-spacing:3.2px!important;opacity:.82!important}
.footer-brand-row img{width:54px!important;height:54px!important;object-fit:contain!important}
.footer-brand-sub{font-size:10.4px!important;letter-spacing:3.5px!important}
.contact-logo{width:62px!important;height:62px!important;object-fit:contain!important}
@media(max-width:430px){.nav-logo img{width:46px!important;height:46px!important}.nav-logo-text{min-width:150px!important}.nav-logo-sub{font-size:7.7px!important;letter-spacing:1.9px!important}}

.operation-visual-comm .signal-dot{left:18px!important;right:auto!important;top:18px}
.operation-visual-comm .message-bubble{display:inline-flex;align-items:center;padding:0 12px;font-size:12px;font-weight:700;color:#12345f;white-space:nowrap;line-height:1}
.operation-visual-comm .bubble-one{left:50px;right:auto;width:auto!important;min-width:54px;top:38px}
.operation-visual-comm .bubble-two{left:50px;right:auto;width:auto!important;min-width:150px;top:66px}
@keyframes messageFloat{0%,100%{opacity:0;transform:translateY(14px) translateX(-4px)}15%,62%{opacity:1;transform:translateY(0) translateX(0)}78%{opacity:0;transform:translateY(-8px) translateX(2px)}}

.operation-visual-route::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,28,61,.04),rgba(4,28,61,0))}
.route-label{position:absolute;display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:999px;background:rgba(7,43,84,.85);color:#fff;font-size:11px;font-weight:700;letter-spacing:.02em;box-shadow:0 10px 18px rgba(1,29,67,.18);animation:routeBlink 2s ease-in-out infinite}
.route-label::before{content:'';width:8px;height:8px;border-radius:50%;background:#ffd160;margin-right:7px;box-shadow:0 0 0 0 rgba(255,209,96,.45);animation:pinGlow 2s ease-in-out infinite}
.route-label-one{left:28px;bottom:26px}
.route-label-two{right:22px;top:30px;animation-delay:.9s}
.route-label-two::before{animation-delay:.9s}
.route-electric{position:absolute;height:4px;border-radius:999px;background:linear-gradient(90deg,rgba(82,233,255,0),rgba(82,233,255,.95),rgba(255,255,255,.96),rgba(82,233,255,.95),rgba(82,233,255,0));filter:drop-shadow(0 0 10px rgba(82,233,255,.65));opacity:0}
.route-electric-one{left:84px;top:106px;width:116px;transform:rotate(-21deg);animation:electricPulse1 2.8s linear infinite}
.route-electric-two{left:170px;top:71px;width:92px;transform:rotate(8deg);animation:electricPulse2 2.8s linear infinite .7s}
@keyframes routeBlink{0%,100%{transform:scale(1);opacity:.92}50%{transform:scale(1.06);opacity:1}}
@keyframes pinGlow{0%{box-shadow:0 0 0 0 rgba(255,209,96,.5)}70%{box-shadow:0 0 0 10px rgba(255,209,96,0)}100%{box-shadow:0 0 0 0 rgba(255,209,96,0)}}
@keyframes electricPulse1{0%{opacity:0;transform:translateX(-20px) rotate(-21deg) scaleX(.2)}15%{opacity:1}55%{opacity:1;transform:translateX(6px) rotate(-21deg) scaleX(1)}100%{opacity:0;transform:translateX(46px) rotate(-21deg) scaleX(.45)}}
@keyframes electricPulse2{0%{opacity:0;transform:translateX(-12px) rotate(8deg) scaleX(.2)}15%{opacity:1}60%{opacity:1;transform:translateX(6px) rotate(8deg) scaleX(1)}100%{opacity:0;transform:translateX(34px) rotate(8deg) scaleX(.45)}}

.operation-visual-paper .doc-sheet{right:auto!important;top:auto!important;opacity:0}
.operation-visual-paper .doc-one{left:178px;top:28px;transform:rotate(7deg);animation:paperArrive1 5.8s ease-in-out infinite}
.operation-visual-paper .doc-two{left:128px;top:42px;transform:rotate(-6deg);animation:paperArrive2 5.8s ease-in-out infinite .35s}
.operation-visual-paper .doc-three{left:82px;top:56px;transform:rotate(-12deg);animation:paperArrive3 5.8s ease-in-out infinite .7s}
.operation-visual-paper .doc-check{right:28px;top:110px;animation:checkPulse 2.4s ease-out infinite 1.2s}
@keyframes paperArrive1{0%{opacity:0;transform:translate(125px,-35px) rotate(20deg)}18%{opacity:1;transform:translate(0,0) rotate(7deg)}50%{opacity:1;transform:translate(0,-6px) rotate(9deg)}82%{opacity:1;transform:translate(0,0) rotate(7deg)}100%{opacity:0;transform:translate(20px,-10px) rotate(7deg)}}
@keyframes paperArrive2{0%{opacity:0;transform:translate(155px,-10px) rotate(18deg)}22%{opacity:1;transform:translate(0,0) rotate(-6deg)}54%{opacity:1;transform:translate(0,-8px) rotate(-4deg)}84%{opacity:1;transform:translate(0,0) rotate(-6deg)}100%{opacity:0;transform:translate(24px,-12px) rotate(-6deg)}}
@keyframes paperArrive3{0%{opacity:0;transform:translate(180px,14px) rotate(12deg)}26%{opacity:1;transform:translate(0,0) rotate(-12deg)}58%{opacity:1;transform:translate(0,-7px) rotate(-9deg)}88%{opacity:1;transform:translate(0,0) rotate(-12deg)}100%{opacity:0;transform:translate(22px,-10px) rotate(-12deg)}}


/* === V50 logo cleanup + precise operations updates === */
.nav-logo img{width:58px!important;height:58px!important;max-width:none!important;object-fit:contain!important;filter:drop-shadow(0 8px 18px rgba(26,36,55,.10))!important;background:transparent!important;border-radius:50%!important}
.nav-logo-text{min-width:236px!important}
.nav-logo-name{font-size:clamp(28px,2.45vw,36px)!important;letter-spacing:2.2px!important}
.nav-logo-sub{font-size:14px!important;letter-spacing:4.8px!important;opacity:.88!important;margin-top:4px!important}
.footer-brand-row img{width:56px!important;height:56px!important;object-fit:contain!important;background:transparent!important;border-radius:50%!important}
.footer-brand-sub{font-size:11.8px!important;letter-spacing:4px!important}
.contact-logo{background:transparent!important;border-radius:50%!important}
@media(max-width:980px){.nav-logo img{width:50px!important;height:50px!important}.nav-logo-text{min-width:184px!important}.nav-logo-name{font-size:24px!important}.nav-logo-sub{font-size:10px!important;letter-spacing:3px!important}}
@media(max-width:430px){.nav-logo img{width:46px!important;height:46px!important}.nav-logo-text{min-width:156px!important}.nav-logo-name{font-size:20px!important}.nav-logo-sub{font-size:8.6px!important;letter-spacing:2.2px!important}}

.operation-visual-comm .signal-dot{left:18px!important;right:auto!important;top:50%;transform:translateY(-50%);box-shadow:0 0 0 0 rgba(82,201,122,.45);animation:signalPulse 2s ease-in-out infinite}
.operation-visual-comm .message-bubble{position:absolute;right:18px;left:auto!important;display:inline-flex;align-items:center;justify-content:flex-start;padding:0 12px;height:26px;border-radius:999px;font-size:11px;font-weight:700;line-height:1;white-space:nowrap;box-shadow:0 12px 24px rgba(8,31,64,.12)}
.operation-visual-comm .bubble-one{top:28px;min-width:132px;background:#ffffff;color:#16365f;animation:commBubble1 5.4s ease-in-out infinite}
.operation-visual-comm .bubble-two{top:58px;min-width:150px;background:linear-gradient(135deg,#d6efe0,#bfe4d0);color:#1b5b35;animation:commBubble2 5.4s ease-in-out infinite .32s}
.operation-visual-comm .bubble-three{top:88px;min-width:112px;background:#ffffff;color:#16365f;animation:commBubble3 5.4s ease-in-out infinite .65s}
@keyframes signalPulse{0%{box-shadow:0 0 0 0 rgba(82,201,122,.5)}70%{box-shadow:0 0 0 10px rgba(82,201,122,0)}100%{box-shadow:0 0 0 0 rgba(82,201,122,0)}}
@keyframes commBubble1{0%,100%{opacity:0;transform:translateX(16px)}10%,58%{opacity:1;transform:translateX(0)}}
@keyframes commBubble2{0%,100%{opacity:0;transform:translateX(16px)}14%,62%{opacity:1;transform:translateX(0)}}
@keyframes commBubble3{0%,100%{opacity:0;transform:translateX(16px)}18%,66%{opacity:1;transform:translateX(0)}}

.operation-visual-route{overflow:hidden;background-image:linear-gradient(180deg,rgba(2,18,44,.10),rgba(2,18,44,.04)),url('route-map-v50.jpg');background-size:cover;background-position:center;border-radius:20px}
.operation-visual-route::before,.operation-visual-route::after,.route-label,.route-electric{display:none!important;content:none!important}
.route-node{position:absolute;width:18px;height:18px;border-radius:50%;background:#ffd15d;border:3px solid #fff;box-shadow:0 0 0 0 rgba(255,209,93,.55),0 0 18px rgba(255,174,0,.6);animation:routeNodeBlink 1.9s ease-in-out infinite}
.route-start{left:22px;bottom:28px}
.route-end{right:41px;top:36px;animation-delay:.9s}
.route-arrow{position:absolute;width:18px;height:18px;background:linear-gradient(135deg,#fff7ca,#ffd24e 55%,#ff9d00);clip-path:polygon(50% 0,100% 100%,50% 76%,0 100%);filter:drop-shadow(0 0 10px rgba(255,190,59,.85));animation:routeArrowTravel 3.4s linear infinite}
@keyframes routeNodeBlink{0%,100%{transform:scale(1);opacity:1;box-shadow:0 0 0 0 rgba(255,209,93,.55),0 0 18px rgba(255,174,0,.6)}50%{transform:scale(1.12);opacity:.92;box-shadow:0 0 0 11px rgba(255,209,93,0),0 0 22px rgba(255,174,0,.75)}}
@keyframes routeArrowTravel{
  0%{left:30px;top:126px;transform:rotate(-65deg) scale(.8);opacity:0}
  6%{opacity:1}
  18%{left:86px;top:146px;transform:rotate(84deg) scale(.92)}
  33%{left:155px;top:119px;transform:rotate(-18deg) scale(1)}
  48%{left:218px;top:98px;transform:rotate(-40deg) scale(1)}
  63%{left:270px;top:54px;transform:rotate(38deg) scale(1)}
  78%{left:318px;top:24px;transform:rotate(-24deg) scale(.95)}
  94%{left:348px;top:24px;transform:rotate(-10deg) scale(.9);opacity:1}
  100%{left:348px;top:24px;transform:rotate(-10deg) scale(.9);opacity:0}
}
