/* Two sections reconstructed from the supplied Cardinal Cars recordings. */
.route-section,.services-section{--ice:#a3d9ed;--route-ink:#eaf7fa;--route-muted:#b8ceda;--route-orange:#e56837;background:#101f32;color:var(--route-ink);position:relative}
.route-section{padding:105px 7% 35px;background:radial-gradient(ellipse at 50% 45%,#103958 0,transparent 60%),#101f32;isolation:isolate;scroll-margin-top:75px}
.route-section:before,.services-section:before{content:'';position:absolute;inset:0;background-image:radial-gradient(#cdeeff20 .6px,transparent .6px);background-size:31px 37px;pointer-events:none;z-index:-1}
.route-heading,.services-heading{display:flex;justify-content:space-between;gap:40px;align-items:end}.route-section .eyebrow,.services-section .eyebrow{color:#a8d1e1;font-size:10px;letter-spacing:1.8px;margin-bottom:24px}.route-section h2,.services-section h2{font-size:clamp(35px,4vw,62px);font-weight:500;line-height:1.13;letter-spacing:-2.5px;margin:0}.route-section em,.services-section em{color:var(--ice);font-style:normal}.route-hint,.services-heading>p{font-size:13px;line-height:1.8;color:#c5e0e9;margin:0 0 7px;max-width:350px}.route-hint{display:flex;align-items:center;gap:20px}.route-hint>span{font-size:32px;font-weight:300}
.route-track{position:relative;height:2700px;margin-top:55px}.route-map{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.road-base{fill:none;stroke:url(#road-paint);stroke-width:58;stroke-linecap:butt}.road-edge{fill:none;stroke:#8fbfd620;stroke-width:61}.road-dashes{fill:none;stroke:#9acbe748;stroke-width:1.3;stroke-dasharray:6 10}.road-progress{fill:none;stroke:#e2c4aa;stroke-width:2.2;stroke-linecap:round}.route-car{filter:drop-shadow(0 4px 5px #00121f90)}
.route-start,.route-finish{position:absolute;left:50%;transform:translateX(-50%);font-size:10px;letter-spacing:1.7px;text-align:center;color:#b6dfef;white-space:nowrap}.route-start{top:0}.route-finish{bottom:0}.route-finish p{margin:0 0 16px}.route-finish a{font-size:13px;letter-spacing:0;border-bottom:1px solid #a7c5d5;padding-bottom:5px}
.route-stop{position:absolute;width:36%;left:0;top:270px;scroll-margin-top:170px}.route-stop:nth-of-type(2){top:770px;left:60%}.route-stop:nth-of-type(3){top:1270px}.route-stop:nth-of-type(4){top:1770px;left:60%}.route-stop:nth-of-type(5){top:2270px}.route-kicker{display:flex;align-items:center;gap:15px;font-size:10px;letter-spacing:1.5px;color:#bdd8e5;margin-bottom:30px}.route-kicker>span{color:#d7ac97;letter-spacing:0;border-right:1px solid #b7d9e133;padding-right:15px}.route-kicker:after{content:'';height:1px;width:42px;background:#b7d9e133}.route-stop h3{font-size:clamp(32px,3.3vw,50px);line-height:1.15;font-weight:500;letter-spacing:-2px;margin-bottom:28px}.route-copy{font-size:15px;line-height:1.9;color:#c5dde6;margin-bottom:26px;max-width:400px}.route-tags{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0}.route-tags li{font-size:11px;line-height:1.6;padding:7px 10px;border:1px solid #a6c6d52b;color:#d3e5ee}.route-stop[data-stop="2"] .route-tags{display:block}.route-stop[data-stop="2"] .route-tags li{border:0;border-top:1px solid #a6c6d52b;padding:15px 0}.route-stop[data-stop="2"] .route-tags li:before{content:'0' counter(item);counter-increment:item;color:#d7ac97;margin-right:15px}.route-stop[data-stop="2"] .route-tags{counter-reset:item}
.route-stop:after{content:attr(data-display-number);position:absolute;right:-110%;top:80px;width:10px;height:10px;border:3px solid #d6a68f;border-radius:50%;background:var(--route-orange);box-shadow:0 0 0 6px #dc784222;opacity:.6}.route-stop:nth-of-type(even):after{right:auto;left:-114%}.route-stop.is-current:after{opacity:1;box-shadow:0 0 0 8px #dc784233,0 0 25px #ee9e7266}
.route-dock{position:sticky;bottom:24px;z-index:8;display:flex;align-items:center;justify-content:center;gap:18px;background:#1b5579ed;border:1px solid #91c8df66;border-radius:5px;backdrop-filter:blur(14px);box-shadow:0 12px 40px #0004;padding:11px 16px;width:max-content;max-width:100%;margin:15px auto 0;color:#e4f3fa;font-size:10px}.route-dock>span{font-size:9px;letter-spacing:1.1px}.route-dock>div{display:flex;gap:3px}.route-dock a{display:flex;align-items:center;justify-content:center;min-width:34px;min-height:36px;transition:background .2s}.route-dock a[aria-current="step"]{background:var(--route-orange);color:white}.route-dock a:hover{background:#ffffff18}.route-dock a[aria-current="step"]:hover{background:#ee7845}.route-current{margin:0;min-width:117px;font-size:10px}
.services-section{padding:100px 7% 65px;isolation:isolate;background:radial-gradient(ellipse at 60% 70%,#183f5b,transparent 70%),#101f32;scroll-margin-top:70px}.services-heading{margin-bottom:48px}.services-grid{display:flex;gap:15px;min-height:580px}.service-card{position:relative;isolation:isolate;overflow:hidden;flex:1;min-width:0;border:1px solid #9ab7cb55;transition:flex .6s cubic-bezier(.22,.7,.3,1);background:#142b3a;min-height:580px}.service-card.is-open{flex:1.5}.service-media,.service-shade{position:absolute;inset:0;z-index:-1}.service-media img{width:100%;height:100%;object-fit:cover;animation:service-drift 18s ease-in-out infinite alternate}.service-card[data-service="0"] img{object-position:42% center;transform:scale(1.6)}.service-shade{background:linear-gradient(180deg,#071a2638,transparent 20%,#071a2660 45%,#071a26ed 100%)}.service-toggle{display:flex;align-items:center;justify-content:space-between;gap:14px;position:absolute;top:22px;left:22px;right:22px;width:calc(100% - 44px);padding:0;background:none;border:0;color:#fff;text-align:left}.service-toggle span{font-size:10px;font-weight:600;letter-spacing:1px}.service-toggle b{display:flex;align-items:center;justify-content:center;min-width:33px;height:33px;border:1px solid #e3f4f277;border-radius:50%;font-size:23px;font-weight:400;transition:transform .3s}.service-card.is-open .service-toggle b{transform:rotate(45deg)}.service-copy{position:absolute;left:24px;right:24px;bottom:26px}.service-kicker{font-size:8px;line-height:1.7;letter-spacing:1.2px;font-weight:600;color:#d4e8ed;margin-bottom:19px}.service-copy h3{font-size:clamp(30px,3vw,47px);line-height:1.12;letter-spacing:-1.8px;font-weight:500;color:#effbfa;margin:0 0 22px}.service-details{display:block;max-height:0;opacity:0;overflow:hidden;visibility:hidden;transition:max-height .6s,opacity .35s,visibility .35s}.service-card.is-open .service-details{max-height:330px;opacity:1;visibility:visible}.service-details p{font-size:13px;line-height:1.9;color:#e6f1f5;margin:0 0 17px}.service-details small{display:block;font-size:11px;color:#d9e7eb;border-top:1px solid #f1ffff30;padding-top:17px;line-height:1.8}.service-motion{display:block;width:max-content;border:0;border-bottom:1px solid #e1f2f970;background:none;color:#edf8fb;font-size:10px;padding:0 0 4px;margin:20px 0}.service-caption{display:block;font-size:8px;letter-spacing:1px;color:#aec5d2;margin-top:24px}.services-foot{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:28px}.services-foot>span{font-size:9px;letter-spacing:1px;color:#a9c4d0}.services-foot>a{font-size:12px;border-bottom:1px solid #b8d4df77;padding-bottom:6px}.service-card.is-paused img{animation-play-state:paused}.route-section a:focus-visible,.services-section button:focus-visible{outline:2px solid #e5bd97;outline-offset:5px}
@keyframes service-drift{from{scale:1}to{scale:1.1;translate:-1% -1%}}
@media(max-width:1000px){.route-stop{width:40%}.route-stop:nth-of-type(even){left:57%}.route-stop h3{font-size:36px}.services-grid{min-height:520px}.service-card{min-height:520px}.service-copy{left:18px;right:18px}.service-copy h3{font-size:32px}.service-details p{font-size:12px}}
@media(max-width:700px){.route-section{padding:70px 6% 25px}.route-heading,.services-heading{display:block}.route-section h2,.services-section h2{font-size:38px;letter-spacing:-1.8px}.route-hint{margin-top:25px;font-size:12px}.route-track{margin-top:45px;height:2450px}.route-stop{left:0!important;width:calc(100% - 73px);top:230px}.route-stop:nth-of-type(2){top:675px}.route-stop:nth-of-type(3){top:1120px}.route-stop:nth-of-type(4){top:1565px}.route-stop:nth-of-type(5){top:2010px}.route-stop h3{font-size:32px;letter-spacing:-1.4px}.route-copy{font-size:13px;line-height:1.85}.route-kicker{font-size:9px;gap:10px;margin-bottom:23px}.route-kicker:after{width:25px}.route-kicker>span{padding-right:10px}.route-tags{gap:5px}.route-tags li{font-size:10px;padding:5px 7px}.route-start,.route-finish{left:43%;font-size:8px}.route-finish{bottom:0}.route-stop:after{display:none}.route-dock{gap:7px;padding:7px 9px;bottom:12px;width:100%;justify-content:space-between}.route-dock>span{font-size:8px;max-width:36px;line-height:1.6}.route-dock a{min-width:30px;min-height:40px}.route-current{font-size:9px;min-width:0;width:85px}.services-section{padding:70px 6% 45px}.services-heading{margin-bottom:30px}.services-heading>p{margin-top:24px;font-size:12px}.services-grid{display:block}.service-card,.service-card.is-open{min-height:470px;margin-bottom:16px;transition:min-height .45s}.service-card.is-open{min-height:600px}.service-copy{left:23px;right:23px}.service-copy h3{font-size:38px}.service-details p{font-size:14px}.service-kicker{font-size:9px}.services-foot{display:block}.services-foot>span{display:block;margin-bottom:22px}.services-foot>a{display:inline-block}.service-card[data-service="0"] img{transform:scale(1.1)}}
@media(prefers-reduced-motion:reduce){.service-media img{animation:none}.service-card,.service-details,.service-toggle b,.route-dock a{transition:none}html{scroll-behavior:auto}}

@media(prefers-reduced-motion:reduce){.service-motion{display:none}}
/* Race-day refinement: asphalt, kerbs, illuminated apexes and a restrained section bridge. */
.scroll-mouse{display:inline-block;flex:0 0 19px;width:19px;height:30px;border:1.5px solid #a6d4e6;border-radius:10px;position:relative}.scroll-mouse i{position:absolute;left:7px;top:6px;width:3px;height:7px;border-radius:2px;background:#d8edf6;animation:mouse-wheel 1.8s ease-in-out infinite}@keyframes mouse-wheel{0%,100%{transform:translateY(0);opacity:.9}65%{transform:translateY(6px);opacity:.3}}
.race-runoff{fill:none;stroke:#142b3c;stroke-width:96}.race-curb-white{fill:none;stroke:#e0ddd5;stroke-width:76}.race-curb-red{fill:none;stroke:#b94349;stroke-width:76;stroke-dasharray:18 18}.road-base{stroke:#293440;stroke-width:62}.road-edge{stroke:#bcc6ce;stroke-width:63;opacity:.23}.road-dashes{display:none}.road-progress{stroke:#cfae79;stroke-width:1.6;opacity:.45}.route-car{filter:drop-shadow(0 5px 5px #000a)}
.route-stop:after{display:none}.race-turn{opacity:.35;transition:opacity .22s}.turn-light{fill:#586570;stroke:#8c9ca5;stroke-width:1.5;transition:fill .22s,stroke .22s}.turn-halo{fill:#ecb381;opacity:0;transition:opacity .22s}.race-turn text{font-family:'DM Sans',sans-serif;font-size:10px;fill:#a2b7c4;letter-spacing:1px}.race-turn.is-approaching{opacity:1}.race-turn.is-approaching .turn-light{fill:#ffbd79;stroke:#ffe9c6;filter:drop-shadow(0 0 7px #ffa55d)}.race-turn.is-approaching .turn-halo{opacity:.15}.race-turn.is-approaching text{fill:#f5d6ac}.race-turn.is-passed{opacity:.55}.race-line{filter:drop-shadow(0 2px 2px #0005)}
.route-section{padding-bottom:65px;background:radial-gradient(ellipse at 50% 45%,#12334c 0,transparent 64%),#101f32}.section-bridge{height:110px;background:linear-gradient(#101f32,#142b40);display:flex;align-items:center;justify-content:center;gap:23px;overflow:hidden}.section-bridge>span{height:1px;width:min(30vw,350px);background:linear-gradient(90deg,transparent,#8bb6c340)}.section-bridge>span:last-child{rotate:180deg}.section-bridge i{font-style:normal;color:#9cb7c4;font-size:14px}.services-section{padding-top:45px;background:radial-gradient(ellipse at 60% 70%,#183f5b,transparent 70%),linear-gradient(#142b40,#101f32)}
.service-media video{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.service-card[data-service="0"] video{object-position:42% center}.service-card[data-service="1"] video{object-position:50% 40%}.service-card[data-service="2"] video{object-position:50% center}.service-motion{min-height:30px}.service-media img{animation:none}
@media(max-width:700px){.race-runoff{stroke-width:116}.race-curb-white,.race-curb-red{stroke-width:92}.road-base{stroke-width:74}.road-edge{stroke-width:75}.race-turn text{font-size:17px}.section-bridge{height:75px}.route-section{padding-bottom:32px}.services-section{padding-top:28px}}
@media(prefers-reduced-motion:reduce){.scroll-mouse i{animation:none}.race-turn,.turn-light,.turn-halo{transition:none}.service-motion{display:block}}

/* Match the established divider before the contact section. */
.section-bridge-contact{background:linear-gradient(#101f32,#14253b)}
.section-bridge-contact+.contact{border-top:0;background:radial-gradient(ellipse at top left,#263e5844 0%,transparent 65%),#14253b}
/* Frame the replacement Mercedes clip around the steering wheel. */
.service-card[data-service="1"] video{object-position:100% center}
/* Kerbs only at the inside apex; keep the straights clean. */
.apex-white,.apex-red{fill:none;stroke-width:9;stroke-linecap:butt;stroke-linejoin:round}.apex-white{stroke:#ece9e2}.apex-red{stroke:#c34b50;stroke-dasharray:13 13}.race-runoff{stroke-width:82;stroke:#172c3d}.road-edge{stroke-width:63;opacity:.42}
@media(max-width:700px){
 .route-section,.services-section{padding-left:6%;padding-right:6%}
 .route-heading h2,.services-heading h2{font-size:clamp(31px,8.8vw,40px);letter-spacing:-1.5px}
 .route-hint{max-width:100%;gap:14px;line-height:1.7}
 .route-track{margin-top:52px}
 .route-stop{width:calc(100% - 84px);overflow-wrap:break-word}
 .route-stop h3{font-size:clamp(27px,7.6vw,34px);line-height:1.18;letter-spacing:-1.2px}
 .route-copy{font-size:14px;line-height:1.8}
 .route-kicker{flex-wrap:wrap;letter-spacing:1px;font-size:9px;gap:9px;line-height:1.7}
 .route-kicker:after{display:none}
 .route-tags li{font-size:11px;line-height:1.6;max-width:100%}
 .race-runoff{stroke-width:96}.apex-white,.apex-red{stroke-width:14}.apex-red{stroke-dasharray:12 12}
 .route-start{left:auto;right:0;max-width:95px;white-space:normal;transform:none;text-align:right;line-height:1.6}
 .route-finish{left:0;right:0;transform:none;text-align:left;white-space:normal;padding-right:70px;line-height:1.7}
 .route-finish p{font-size:10px;line-height:1.7}.route-finish a{font-size:12px;line-height:1.8}
 .route-dock{display:grid;grid-template-columns:1fr auto;gap:5px 12px;padding:9px 10px;width:100%;bottom:calc(10px + env(safe-area-inset-bottom,0px));border-radius:9px}
 .route-dock>span{grid-column:1;grid-row:1;max-width:none;font-size:9px;line-height:1.6}
 .route-dock .route-current{grid-column:2;grid-row:1;min-width:0;width:auto;max-width:165px;line-height:1.6;font-size:10px;text-align:right}
 .route-dock>div{grid-row:2;grid-column:1/-1;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}
 .route-dock a{min-width:0;min-height:44px;font-size:12px;border-radius:4px}
 .service-card,.service-card.is-open{border-radius:10px}
 .service-card{min-height:440px}.service-card.is-open{min-height:580px}
 .service-toggle{top:15px;left:18px;right:18px;width:calc(100% - 36px);min-height:44px}
 .service-toggle b{min-width:38px;height:38px}
 .service-copy{left:20px;right:20px;bottom:24px}
 .service-copy h3{font-size:clamp(30px,9vw,39px);line-height:1.15;letter-spacing:-1.3px}
 .service-details p{font-size:14px;line-height:1.8}
 .service-motion{min-height:44px;padding-top:10px;padding-bottom:8px;margin-top:12px;margin-bottom:12px}
 .service-card.is-open .service-details{max-height:360px}
 .services-foot{line-height:1.8}.services-foot>a{min-height:44px;padding-top:10px}
 .contact-link strong{font-size:clamp(15px,4.6vw,22px);overflow-wrap:anywhere}
}
@media(max-width:360px){.route-stop{width:calc(100% - 76px)}.route-copy{font-size:13px}.route-stop h3{font-size:27px}.route-tags li{font-size:10px;padding:5px 6px}.service-card.is-open{min-height:610px}}
/* Match exact colours at section boundaries, fading the decorative glow before each edge. */
.services-section{
 background:linear-gradient(180deg,#142b40 0,transparent 110px,transparent calc(100% - 110px),#101f32 100%),radial-gradient(ellipse at 60% 70%,#183f5b,transparent 70%),linear-gradient(#142b40,#101f32);
}
.services-section:before{
 -webkit-mask-image:linear-gradient(180deg,transparent,#000 110px,#000 calc(100% - 110px),transparent);
 mask-image:linear-gradient(180deg,transparent,#000 110px,#000 calc(100% - 110px),transparent);
}
.section-bridge-contact{background:linear-gradient(180deg,#101f32 0%,#14253b 100%);border:0;box-shadow:none}
.section-bridge-contact+.contact{
 border-top:0;
 background:linear-gradient(180deg,#14253b 0,transparent 140px),radial-gradient(ellipse at top left,#263e5844 0%,transparent 65%),#14253b;
}
@media(max-width:700px){
 .services-section{background:linear-gradient(180deg,#142b40 0,transparent 75px,transparent calc(100% - 75px),#101f32 100%),radial-gradient(ellipse at 60% 70%,#183f5b,transparent 70%),linear-gradient(#142b40,#101f32)}
}
/* A clean silver coupe arrives home in a purpose-built delivery bay. */
.route-track{margin-bottom:95px}
.route-finish{bottom:-76px}
.route-car{filter:drop-shadow(0 4px 4px #0008)}
.garage-lamp{transition:fill .35s,filter .35s}
.is-parked .garage-lamp{fill:#99dec4;filter:drop-shadow(0 0 5px #67d5b2)}
.service-card .service-media{pointer-events:none}
@media(max-width:700px){.route-track{margin-bottom:100px}.route-finish{bottom:-82px;text-align:center;padding-right:0}.garage-frame text{display:none}}
@media(prefers-reduced-motion:reduce){.garage-lamp{transition:none}}
