/* Service presentation components inherit SP's established type and palette. */
.cx-container { width:min(100% - 48px,1280px); margin-inline:auto; }
.cx-section { padding:80px 0; }
.cx-section[id] { scroll-margin-top:128px; }
.cx-heading { max-width:720px; margin-bottom:44px; }
body.sp-premium-v1.sp-growth .cx-section h2 { font-size:clamp(32px,3.5vw,48px)!important; line-height:1.08!important; letter-spacing:-.035em; font-weight:880; margin:16px 0 22px; }
.cx-heading p,.cx-support-grid>div>p { font-size:19px; line-height:1.7; color:#526b74; max-width:64ch; }
.cx-section a:not(.btn) { color:#155263; font-weight:750; text-decoration:none; }
.cx-section a:not(.btn):hover { text-decoration:underline; text-underline-offset:5px; }
.cx-section a svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.8; flex:none; }
.cx-section a { display:inline-flex; align-items:center; gap:12px; }
.cx-section :is(a,button):focus-visible { outline:3px solid #155263; outline-offset:5px; }
.cx-terminals { background:#fff; border-bottom:1px solid #d8e3e8; }
.cx-terminal-grid { display:grid; grid-template-columns:1fr 1fr; gap:64px; }
.cx-terminal-group { border-top:2px solid #155263; padding-top:24px; }
.cx-terminal-group h3 { font-size:28px; letter-spacing:-.025em; margin:0 0 10px; color:#0c2f39; }
.cx-terminal-group>p { color:#526b74; margin:0 0 24px; font-size:17px; line-height:1.6; }
.cx-terminal-group ul { list-style:none; margin:0 0 24px; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:0 24px; }
.cx-terminal-group li { min-width:0; border-bottom:1px solid #d8e3e8; }
.cx-terminal-group li a { min-height:64px; width:100%; justify-content:space-between; padding:12px 0; line-height:1.4; }
.cx-terminal-group .cx-city-link { font-size:14px; }
.cx-lifecycle { background:#f3f7f8; }
.cx-heading-wide { max-width:820px; }
.cx-life-controls { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:20px; margin-bottom:32px; }
[data-container-lifecycle] [hidden] { display:none!important; }
.cx-mode-tabs { display:inline-flex; padding:5px; border:1px solid #6f909c; border-radius:99px; background:#fff; }
.cx-mode-tabs button { border:0; min-width:120px; min-height:46px; border-radius:99px; background:transparent; color:#155263; font-family:inherit; font-size:16px; font-weight:750; line-height:1.3; padding:12px 26px; cursor:pointer; }
.cx-mode-tabs button[aria-selected="true"] { background:#155263; color:#fff; }
.cx-play { display:inline-flex; flex:none; gap:10px; align-items:center; justify-content:center; border:1px solid #6f909c; border-radius:99px; color:#0c2f39; background:#fff; font-weight:750; font-size:14px; padding:12px 20px; min-height:46px; cursor:pointer; }
.cx-play[aria-pressed="true"] { background:#ffbb09; border-color:#ffbb09; }
.cx-flow-intro { display:grid; grid-template-columns:1fr 1fr; align-items:start; gap:64px; margin:0 0 30px; }
body.sp-growth .cx-flow-intro h3 { font-size:clamp(24px,2.5vw,32px); line-height:1.2; letter-spacing:-.025em; color:#0c2f39; margin:0; max-width:23ch; }
.cx-flow-intro p { font-size:17px; line-height:1.7; color:#526b74; margin:0; }
.cx-journey-art { display:block; width:100%; height:auto; }
.cx-canvas { border-radius:20px; overflow:hidden; box-shadow:0 24px 56px #0c2f3912; }
.cx-journey-truck { transform:translateX(var(--cx-truck-x,105px)); transition:transform 1.4s cubic-bezier(.36,0,.18,1); }
.cx-life-panel[data-empty="true"] .cx-truck-load rect { fill:#70a3b0; }
.cx-life-panel[data-empty="false"] .cx-truck-load rect { fill:#ffbb09; }
.cx-route-stop { opacity:.35; transition:opacity .25s; }
.cx-route-stop.is-active { opacity:1; stroke:#fff; stroke-width:3px; }
.cx-stages { list-style:none; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin:34px 0 0; padding:0; gap:28px; counter-reset:none; }
.cx-stages li { min-width:0; padding-top:18px; border-top:2px solid #b8cdd3; }
.cx-stages li::before,.cx-stages li::after { content:none!important; }
.cx-stages li[aria-current="step"] { border-top-color:#155263; }
.cx-stage { display:flex; align-items:flex-start; text-align:left; gap:12px; color:#0c2f39; padding:0; background:none; border:0; min-height:48px; cursor:pointer; }
.cx-stage:disabled { opacity:1; cursor:default; }
.cx-stage-number { display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; flex:none; border:1px solid #b8cdd3; color:#155263; border-radius:50%; font-size:12px; font-weight:800; }
.cx-stage[aria-pressed="true"] .cx-stage-number { background:#ffbb09; color:#0c2f39; border-color:#ffbb09; }
.cx-stage strong { font-size:18px; font-weight:800; line-height:1.35; padding-top:4px; }
.cx-stages li>p { margin:12px 0 0; color:#526b74; font-size:15px; line-height:1.7; }
.cx-life-panel+.cx-life-panel { margin-top:64px; }
.cx-lifecycle[data-enhanced="true"] .cx-life-panel { margin-top:0; }
.cx-life-note { display:flex; align-items:baseline; flex-wrap:wrap; gap:12px 24px; border-top:1px solid #b8cdd3; padding-top:26px; margin-top:34px; }
.cx-life-note>strong { font-size:17px; color:#0c2f39; }
.cx-life-note p { flex:1 1 540px; color:#526b74; font-size:15px; line-height:1.7; margin:0; }
.cx-life-note a { font-size:14px; }
.cx-life-status { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.cx-support-grid { display:grid; grid-template-columns:1fr 1fr; gap:90px; }
.cx-support-detail article { padding:28px 0; border-top:1px solid #d8e3e8; }
.cx-support-detail article:first-child { padding-top:0; border-top:0; }
.cx-support-detail h3 { margin:0 0 12px; color:#0c2f39; font-size:24px; letter-spacing:-.025em; }
.cx-support-detail p { color:#526b74; line-height:1.7; font-size:17px; }
.cx-support-detail a { font-size:15px; }
.cx-closing { padding-top:24px; }
.cx-closing-inner { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(250px,.7fr); gap:72px; padding:56px; background:linear-gradient(125deg,#0c2f39,#155263); border-radius:28px; color:#fff; }
.cx-closing-inner .g-eyebrow { color:#ffd76f; }
body.sp-premium-v1.sp-growth .cx-closing h2 { color:#fff; font-size:clamp(28px,3vw,40px)!important; margin-top:14px; }
.cx-closing p { color:#e0ebef; font-size:17px; line-height:1.7; max-width:58ch; margin-bottom:0; }
.cx-closing-actions { display:flex; flex-direction:column; justify-content:center; align-items:flex-start; gap:18px; }
.cx-closing-actions .btn { color:#0c2f39; background:#ffbb09; border-color:#ffbb09; min-height:50px; }
.cx-closing-actions .cx-secondary-action { color:#fff!important; font-size:14px; min-height:30px; }
.cx-closing :is(a,button):focus-visible { outline-color:#ffd76f; }
.cx-reference-links { padding:28px 0 48px; }
.cx-reference-links .cx-container { display:flex; flex-wrap:wrap; gap:16px 28px; }
.cx-reference-links a { display:inline-flex; align-items:center; gap:10px; color:#155263; font-weight:750; font-size:15px; text-decoration:none; min-height:44px; }
@media(min-width:1400px) { .cx-container { width:min(100% - 128px,1280px); } }
@media(max-width:900px) {
 .cx-section { padding:56px 0; }.cx-terminal-grid,.cx-flow-intro { gap:32px; }
 .cx-stages { grid-template-columns:1fr 1fr; gap:28px 24px; }.cx-support-grid { gap:40px; }
 .cx-closing-inner { gap:36px; padding:36px; grid-template-columns:1fr; }.cx-closing-actions { flex-direction:row; align-items:center; flex-wrap:wrap; gap:18px 24px; }
}
@media(max-width:600px) {
 .cx-container { width:calc(100% - 40px); }.cx-section { padding:44px 0; }.cx-heading { margin-bottom:30px; }
 body.sp-premium-v1.sp-growth .cx-section h2 { font-size:32px!important; }.cx-heading p { font-size:17px; }
 .cx-terminal-grid,.cx-support-grid,.cx-flow-intro { grid-template-columns:1fr; gap:32px; }.cx-terminal-group ul { gap:0 20px; }
 .cx-terminal-group h3 { font-size:26px; }.cx-terminal-group>p { font-size:16px; }.cx-terminal-group li a { font-size:14px; min-height:60px; }
 .cx-mode-tabs button { min-width:86px; padding:10px 18px; }.cx-play { padding:12px 14px; font-size:12px; }.cx-life-controls { gap:10px; }
 .cx-flow-intro { gap:14px; }.cx-flow-intro p { font-size:16px; }.cx-stages { gap:24px 18px; margin-top:24px; }
 .cx-stage { gap:9px; }.cx-stage strong { font-size:15px; }.cx-stage-number { width:28px; height:28px; }.cx-stages li>p { font-size:14px; }
 .cx-canvas,.cx-journey-art { border-radius:12px; }.cx-life-note { gap:14px; }.cx-life-note p { font-size:14px; }
 .cx-closing-inner { padding:28px 24px; border-radius:24px; }.cx-closing-actions { flex-direction:column; align-items:stretch; }.cx-closing-actions a { justify-content:center; }
 .cx-support-detail h3 { font-size:22px; }
}
@media(prefers-reduced-motion:reduce) { .cx-journey-truck,.cx-route-stop { transition:none!important; } }
