/* Dispatchero visual system */
:root { --ink:#122235; --slate:#4a5968; --paper:#f5f3ec; --panel:#fffdf8; --rule:#d9d8cf; --signal:#f36242; --night:#101e2b; --navy:#182b3b; --orange:#f36242; --brand:#142638; --bg:#f5f3ec; --line:#d9d8cf; --muted:#4a5968; }
html { scroll-behavior:smooth; }
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible { outline:3px solid #ca3a21; outline-offset:4px; }
h1,h2,h3,.big-h { font-family:Barlow,system-ui,sans-serif!important; letter-spacing:-.045em; }
.wrap { max-width:1280px; padding-inline:clamp(18px,4vw,54px); }
header.site,.sx-head { background:var(--panel)!important; border-bottom:1px solid var(--rule)!important; color:var(--ink)!important; box-shadow:none!important; }
header.site .brand,header.site nav a,.sx-head a { color:var(--ink)!important; }
header.site nav a:hover,.sx-head a:hover { color:#a52b18!important; }
header.site .dd-menu { background:var(--panel); border:1px solid var(--rule); }
body .btn { border-radius:6px; background:var(--signal); color:#15222c; border-color:transparent; box-shadow:none; font-weight:800; }
body .btn:hover { background:#ff8468; color:#15222c; }
body .btn-wa { background:#253d4c; color:white; border:1px solid #82959e; }
.landing.redesign-hero { display:grid; align-items:center; position:relative; isolation:isolate; overflow:hidden; min-height:clamp(540px,55vw,750px); background:var(--night)!important; color:#fff!important; }
.redesign-hero:before,.redesign-hero:after { content:none!important; }
.redesign-hero .hero-grid { width:100%; display:block; position:relative; z-index:3; padding-block:84px; }
.redesign-hero .hero-copy { max-width:600px; }
.redesign-hero h1 { font-size:clamp(3.4rem,6.9vw,7.1rem); font-weight:800; max-width:9.6ch; margin-block:16px 22px; line-height:.91; color:#fff; }
.redesign-hero .lead { max-width:43ch; color:#e3ecf2; font-size:clamp(1.05rem,1.65vw,1.3rem); }
.redesign-hero .kicker,.page-hero .kicker { color:#ff9a83; font-size:.8rem; font-weight:800; letter-spacing:.14em; }
.redesign-hero .ticks { color:#f5f2eb; }
.redesign-hero .hero-ctas { margin:25px 0; }
.redesign-hero .hero-spacer,.redesign-hero .scroll-hint { display:none; }
.hero-picture { position:absolute; z-index:0; inset:0 0 0 27%; margin:0; overflow:hidden; }
.hero-picture img { width:100%; height:100%; object-fit:cover; object-position:63% center; }
.hero-picture::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,var(--night),rgba(16,30,43,.83) 15%,transparent 67%),linear-gradient(0deg,#101e2b9e,transparent 42%); }
.route-overlay { width:min(580px,52%); height:auto; pointer-events:none; position:absolute; z-index:2; right:2%; bottom:0; color:#ffae99; opacity:.82; }
.route-overlay path { stroke:currentColor; fill:none; stroke-width:1.4; vector-effect:non-scaling-stroke; }
.route-overlay .route-shadow { opacity:.45; stroke-dasharray:4 8; }
.route-overlay .route-draw { stroke-dasharray:1; stroke-dashoffset:0; animation:dispatch-route 2.3s .45s both cubic-bezier(.22,.72,.25,1); }
.route-overlay .route-point { fill:#ff9a83; transform-box:fill-box; transform-origin:center; animation:dispatch-beacon 2.5s 2.7s infinite; }
@keyframes dispatch-route { from { stroke-dashoffset:1; } to { stroke-dashoffset:0; } }
@keyframes dispatch-beacon { 0%,100% { opacity:.85; scale:1; } 50% { opacity:.35; scale:1.8; } }
body .sec,body .route-sec,body .board-sec { padding-block:clamp(48px,7vw,94px); }
body .sec.alt,body .route-sec,body .board-sec { background:#e9ece8; color:var(--ink); }
body .head h2,body .sec h2,body .route-head h2 { font-size:clamp(2.25rem,4.4vw,4.35rem); line-height:1; color:var(--ink); }
body .head p,body .sec p,body .route-head p { color:var(--slate); }
body .marquee { background:#1b3042; color:#fff; border:0; }
body .track-m { animation:none!important; transform:none!important; width:min(1180px,100%); padding:14px 20px; margin:auto; justify-content:center; gap:14px 26px; flex-wrap:wrap; }
body .track-m>span:nth-child(n+8) { display:none; }
body .track-m svg { stroke:#ff9a83; }
body .stats { background:var(--panel); border-block:1px solid var(--rule); }
body .stat { color:var(--ink); border-color:var(--rule); }
body .stat b,body .stat .count { color:#b73924; }
body .kinetic,.preloader,.cursor,.cursor-dot,.progress,.warp,.scene3d,.route-truck,.lane-truck { display:none!important; }
body .grid .svc,body .feat,body .track,body .card,body .form-card,body .term { border:1px solid var(--rule); background:var(--panel); color:var(--ink); border-radius:12px; box-shadow:none; }
body .svc .photo-wrap { border-radius:11px 11px 0 0; background:#e0e4e6; }
body .svc .photo-wrap img { object-fit:cover; }
body .svc h3,body .track h3,body .feat h3 { color:var(--ink); }
body .page-hero { background:var(--night)!important; color:#fff; padding-block:clamp(56px,8vw,112px); min-height:0; }
body .page-hero:before { background:linear-gradient(95deg,#101e2b,#101e2b48),var(--ph) center 57%/cover!important; opacity:1; }
body .page-hero h1 { font-size:clamp(3rem,6vw,6.6rem); line-height:.94; color:#fff; }
body .page-hero .lead,body .page-hero p,body .page-hero .crumbs a { color:#e0e8ee; }
body .cta-band,body footer.site,body .sx-foot { background:var(--night); color:#f5eee5; }
body footer.site a,body .sx-foot a { color:#e6e7e6; }
body .faq details { border-color:var(--rule); background:var(--panel); }
body .js .rv,.js .photo-wrap img,.js .hero-copy>*,.js .page-hero .wrap>*,.js .hero .form-card,.js .page-hero .hero-art { opacity:1; transform:none; animation:none!important; }
body .chip { opacity:1; transform:none; }
.dispatch-reveal { animation:dispatch-appear .68s both cubic-bezier(.18,.75,.25,1); animation-delay:var(--dispatch-delay,0ms); }
@keyframes dispatch-appear { from { opacity:0; clip-path:inset(0 0 12%); translate:0 17px; } to { opacity:1; clip-path:inset(0); translate:0 0; } }
@media(max-width:760px) {
  .landing.redesign-hero { min-height:630px; align-items:end; }
  .redesign-hero .hero-grid { padding-block:235px 45px; }
  .hero-picture { inset:0 0 23%; }
  .hero-picture img { object-position:69% top; }
  .hero-picture::after { background:linear-gradient(0deg,var(--night) 6%,#101e2be3 31%,transparent 82%); }
  .route-overlay { right:6%; top:140px; bottom:auto; width:63%; opacity:.5; }
  body .track-m { gap:8px 14px; }
  body header.site nav { background:var(--panel); }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .dispatch-reveal,.route-overlay .route-draw,.route-overlay .route-point { animation:none; }
}
/* Service and onboarding layouts */
body #services .head { display:grid; grid-template-columns:1.1fr .9fr; align-items:end; gap:12px 32px; text-align:left; max-width:none; margin-inline:0; }
body #services .head p { max-width:37ch; margin:0 0 5px; }
body #services .photo-wrap { aspect-ratio:1.6; }
body #services .photo-wrap img { object-position:center 55%; }
body .route-sec .route-svg { display:none; }
body .route-sec .route-stage { padding-inline:clamp(18px,4vw,54px); }
body .route-sec .route-steps { gap:12px; }
body .route-sec .route-steps li { background:var(--panel); border:1px solid var(--rule); border-radius:12px; padding:22px; }
body .route-sec .route-steps li h3 { color:var(--ink); }
body .route-sec .route-steps li p { color:var(--slate); }
body .route-sec .route-pin { min-height:0; padding:0; }
body .board-sec { background:#e9ece8; }
body .board-sec .board { border-color:#bdc6c9; }
@media(max-width:720px) {
  body #services .head { grid-template-columns:1fr; }
}

/* Color audit: readable labels and consistent interactive states. */
:root { --accent-text:#a53220; --success:#187442; }
body .track-m > span { color:#f5f3ec; }
body .stat > span { color:var(--slate); }
body .ph-tag { background:var(--signal); color:var(--ink); }
body .svc .more,body .svc.featured .more,body .svc.special .more { color:var(--accent-text); }
body .dark-k,body .track .tag { color:var(--accent-text); }
body .board .live { color:var(--success); }
body .ci { background:var(--success); color:#fff; }
body .cta-band .btn { background:var(--signal); color:var(--ink); border-color:var(--signal); }
body .cta-band .btn:hover { background:#ff8468; color:var(--ink); border-color:#ff8468; }
body .cta-band .btn-wa { background:#253d4c; color:#fff; border-color:#91a6b4; }
body .cta-band .btn-wa:hover { background:#365468; color:#fff; border-color:#b9c8d2; }
body .cta-band .btn-line { background:transparent; color:#f5f3ec; border-color:#91a6b4; }
body .cta-band .btn-line:hover { background:#253d4c; color:#fff; border-color:#b9c8d2; }
body .wa-float { background:var(--success); color:#fff; }
body .wa-float:hover { background:#105d33; color:#fff; }
body input,body select,body textarea { border-color:#7c8992; color:var(--ink); background:#fff; }
body input::placeholder,body textarea::placeholder { color:#596775; opacity:1; }
body input:focus,body select:focus,body textarea:focus { border-color:var(--accent-text); outline:2px solid var(--accent-text); outline-offset:2px; }
body input[type="checkbox"] { accent-color:#a53220; }
header.site nav a.btn,header.site nav a.btn:hover { color:var(--ink)!important; }
body .sec p.dark-k,body .sec p.tag { color:var(--accent-text); }
:root { --orange-2:#a53220; }
body .lead-form-message:not(:empty){background:#e0efe6;color:#175635;border:1px solid #83aa93;border-radius:7px;padding:13px 15px;margin-top:16px;font-weight:600}
body .lead-form-message.error{background:#fff0ec;color:#8c2615;border-color:#ca897b}
body [data-lead-form] button:disabled{cursor:default;opacity:.8}

/* Lightweight public-site motion, using opacity and transforms. */
@keyframes truckingdesk-photo-arrival {
  from { transform:scale(1.045); opacity:.65; }
  to { transform:scale(1); opacity:1; }
}
@media(prefers-reduced-motion:no-preference) {
  .hero-picture img { animation:truckingdesk-photo-arrival 2.4s cubic-bezier(.2,.7,.2,1) both; }
  body .btn,body .wa-float { transition:background-color .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease; }
  body .svc,body .track,body .feat,body .blog-card { transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease; }
  body .svc .photo-wrap img,body .blog-card>a>img { transition:transform .55s cubic-bezier(.2,.7,.2,1); }
  body .faq details[open] > p,body .article-faqs details[open] .faq-answer { animation:truckingdesk-answer .25s ease-out; }
  @keyframes truckingdesk-answer { from { opacity:.2; transform:translateY(-5px); } to { opacity:1; transform:translateY(0); } }
  @media(hover:hover) and (pointer:fine) {
    body .btn:not(:disabled):hover,body .wa-float:hover { transform:translateY(-2px); box-shadow:0 6px 16px #12223520; }
    body .svc:hover,body .track:hover,body .feat:hover,body .blog-card:hover { transform:translateY(-4px); border-color:#a53220; box-shadow:0 10px 24px #12223512; }
    body .svc:hover .photo-wrap img,body .blog-card:hover>a>img { transform:scale(1.035); }
  }
  body .btn:not(:disabled):active { transform:translateY(0); box-shadow:none; }
}
@media(prefers-reduced-motion:reduce) {
  .hero-picture img,body .faq details[open]>p,body .article-faqs details[open] .faq-answer { animation:none!important; }
  body .btn,body .wa-float,body .svc,body .track,body .feat,body .blog-card,body .svc .photo-wrap img,body .blog-card>a>img { transition:none!important; }
}
