/* V14: restrained typography, usable map targets and consistent spacing. */
body{font-synthesis:none}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #007f94;outline-offset:4px}
body#top .nav{min-height:82px}
body#top .links a{font-size:13px;text-transform:none;letter-spacing:0}
body#top .section{padding:68px 0}
body#top .section h2{font-size:clamp(30px,3.4vw,44px);line-height:1.12;letter-spacing:-.035em;text-transform:none}
body#top .btn{font-size:14px!important;letter-spacing:0!important;text-transform:none!important;min-height:46px;border-radius:6px;box-shadow:none}
body#top .service{border-radius:8px;box-shadow:none}
body#top .service:after{display:none}
body#top .service h3{font-size:23px;line-height:1.25;text-transform:none}
body#top .service p{font-size:15px;line-height:1.75}
body#top .service .tag{font-size:11px;letter-spacing:.05em}
body#top .about-year{font-size:64px;letter-spacing:-.035em}
body#top .tech-grid{align-items:start;gap:56px}
body#top .insurance-note{padding:26px 0 26px 30px;border-left:1px solid #ffffff40;max-width:450px}
body#top .insurance-note>span{font-size:12px;color:#b0c9d3}
body#top .insurance-note h3{font-size:29px;font-weight:650;letter-spacing:-.02em;margin:12px 0}
body#top .insurance-note p{font-size:15px;line-height:1.75;color:#c8d4da}
body#top .insurance-note a{display:inline-flex;align-items:center;min-height:44px;font-size:14px;color:#7cdde9;text-decoration:underline;text-underline-offset:4px}
/* A large hit area is useful; it must never become a visible dot. */
body .v67-hit{fill:transparent!important;stroke:transparent!important;opacity:0!important;pointer-events:all!important}
body .v67-halo{display:none!important}
body .v67-city circle:not(.v67-hit):not(.v67-halo){filter:none!important;animation:none!important}
body .v67-city:focus-visible{outline:none}
body .v67-city:focus-visible circle:not(.v67-hit):not(.v67-halo){stroke:#fff!important;stroke-width:2px!important}
body .v67-map-stage,body .v67-map-stage svg{filter:none!important}
body .v67-map-note{font-size:12px!important;letter-spacing:0!important;text-transform:none!important}
body#top .assistant-fab,body#top .assistant-fab:before,body#top .assistant-fab:after{animation:none!important;box-shadow:none!important}
body#top #assistantDrawer .bubble{font-size:14px;line-height:1.65}
body.md-service-page .crumb{font-size:12px;letter-spacing:0;text-transform:none}
body.md-service-page .navlinks,body.md-service-page .cta,body.md-service-page .ghost{font-size:13px;text-transform:none;font-weight:650}
body.md-service-page .section{padding:64px 0}
body.md-service-page .section h2,body.md-service-page .final h2{font-size:clamp(29px,3.4vw,42px);line-height:1.15;letter-spacing:-.03em}
body.md-service-page .card{border-radius:8px;box-shadow:none}
body.md-service-page .card b{font-size:16px}
body.md-service-page .card p,body.md-service-page .check span,body.md-service-page .faq p,body.md-service-page .sidebox p{font-size:14px;line-height:1.75}
body.md-service-page .check b,body.md-service-page .faq summary{font-size:15px}
body.md-service-page .check i{background:transparent;border-radius:0;color:#00798f;font-size:12px}
body.md-service-page .trust,body.md-service-page .article-meta{font-size:12px;text-transform:none;letter-spacing:0}
body.md-service-page .trust span:before,body.md-service-page .article-meta span:before{display:none}
body.md-service-page .related a,body.md-service-page .side-links a{font-size:13px;font-weight:600}
body.md-service-page .footer{font-size:12px;line-height:1.7}
body.md-service-page .foot>div{display:flex;flex-direction:column;gap:5px}
body.md-service-page .note{font-size:13px}
@media(max-width:900px){
 body#top .tech-grid{grid-template-columns:1fr;gap:28px}
 body#top .insurance-note{max-width:none;padding:22px 0;border-left:0;border-top:1px solid #ffffff40}
}
@media(max-width:680px){
 body#top .section{padding:48px 0}
 body.md-service-page .grid2{gap:28px}
 body.md-service-page .lead{font-size:16px}
 body.md-service-page .section{padding:44px 0}
 body.md-service-page .nav .logo{width:145px}
 body.md-service-page .nav{gap:12px}
 body.md-service-page .nav>.cta{margin-left:auto;font-size:12px;padding:0 12px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* The home page uses named sections, separate from landing-page sections. */
body#top .services,body#top .fleet,body#top .tech,body#top .about,body#top .process,body#top .europe,body#top .contact{padding-top:64px!important;padding-bottom:64px!important}
body#top main h2{font-size:clamp(30px,3.4vw,44px)!important;line-height:1.15!important;letter-spacing:-.035em!important;text-transform:none!important}
body#top .year-box strong{font-size:68px!important;line-height:1.04!important}
body#top .footer a{font-size:13px;line-height:1.8}
@media(max-width:680px){body#top .services,body#top .fleet,body#top .tech,body#top .about,body#top .process,body#top .europe,body#top .contact{padding-top:44px!important;padding-bottom:44px!important}}

/* V14.1: route catalogue and service enquiry context. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.v14-directions{list-style:none;padding:0;margin:32px 0 0;border-top:1px solid #dce6ea}
.v14-directions li{margin:0;border-bottom:1px solid #dce6ea}
.v14-directions li>a{display:grid;grid-template-columns:minmax(170px,1fr) minmax(250px,1.75fr) auto;gap:24px;align-items:center;padding:24px 0}
.v14-directions li>a>span:first-child{font-size:19px;font-weight:650;line-height:1.4;color:#0a1d29}
.v14-directions li p{margin:0;font-size:16px;line-height:1.65;color:#536b76}
.v14-direction-link{font-size:14px;font-weight:600;color:#00798f;text-decoration:underline;text-underline-offset:4px}
.v14-directions li>a:hover .v14-direction-link{color:#061523}
.v14-service-links{display:grid;gap:0}
.v14-service-links a{display:block;border-bottom:1px solid #dce6ea;padding:18px 0}
.v14-service-links a:first-child{padding-top:0}
.v14-service-links strong{display:block;color:#00798f;font-size:17px;margin-bottom:6px}
.v14-service-links span{display:block;font-size:16px;line-height:1.7;color:#536b76}
.v14-service-links a:hover strong{text-decoration:underline;text-underline-offset:4px}
.v14-request-example{border-left:3px solid #00798f;padding:10px 0 10px 24px}
.v14-request-example p{font-size:17px;line-height:1.8;margin:0;color:#243e4b}
body#top .v14-contact-alternative,body#top .v14-directions-intro{font-size:15px;line-height:1.6}
body#top .v14-contact-alternative a,body#top .v14-directions-intro a{text-decoration:underline;text-underline-offset:4px}
body#top .office-card strong a{font-size:inherit;color:inherit;text-decoration:none}
body.v9-quote-page .v14-quote-context{padding:12px 16px;border-left:3px solid #00798f;background:#edf8fa;font-size:15px;color:#163d4b}
body.v9-quote-page .v14-quote-contact{font-size:16px;line-height:1.8;margin-top:26px}
body.v9-quote-page .v14-quote-contact a{text-decoration:underline;text-underline-offset:4px}
@media(max-width:820px){.v14-directions li>a{grid-template-columns:1fr;gap:8px;padding:22px 0}.v14-directions li>a>span:first-child{font-size:20px}.v14-direction-link{margin-top:4px}.v14-request-example{padding-left:18px}}

body.md-service-page .hero{padding:65px 0;background:#061523}

body.md-service-page .hero:after{display:none}

body.md-service-page .hero h1{font-size:clamp(34px,4.6vw,62px);line-height:1.12;text-transform:none;letter-spacing:-.035em}

body.md-service-page .hero .eyebrow{margin-top:25px;font-size:12px;letter-spacing:.04em}

@media(max-width:680px){body.md-service-page .hero{padding:40px 0}body.md-service-page .hero h1{font-size:35px}}

/* V14.2 — readable shared panels; keep technical behavior in the existing modules. */
body #assistantDrawer{width:min(640px,100vw);box-shadow:-20px 0 60px #02141f26}
body #assistantDrawer .drawer-head{min-height:76px;background:#061523;box-shadow:none;backdrop-filter:none}
body #assistantDrawer .drawer-id b{font-size:17px;font-weight:650}
body #assistantDrawer .drawer-id small{font-size:12px;line-height:1.5;color:#bdcdd5}
body #assistantDrawer .drawer-avatar{background:#00cfee;box-shadow:none;border-radius:8px}
body #assistantDrawer .drawer-avatar::before,body #assistantDrawer .drawer-avatar::after{display:none}
body #assistantDrawer .icon-btn{width:44px;height:44px;flex-shrink:0;border-radius:6px}
body #assistantDrawer .md9-statusbar{gap:12px;flex-wrap:wrap}
body #assistantDrawer .md9-live>i,body #assistantDrawer .md9-live>span{display:none}
body #assistantDrawer .md9-live>b{font-size:13px;color:#526a76}
body #assistantDrawer .md9-status-actions{margin-left:auto}
body #assistantDrawer .md9-status-actions button{font-size:13px;min-height:40px;font-weight:600;border-radius:6px}
body #assistantDrawer .v65-status{font-size:12px!important;letter-spacing:0!important;background:none!important;color:#526a76!important;padding:0!important}
body #assistantDrawer .v65-status::before{display:none}
body #assistantDrawer .md9-steps{border-radius:0!important;background:none!important;padding:0!important;gap:12px!important;border:0;border-bottom:1px solid #dce5e9}
body #assistantDrawer .md9-steps span{font-size:13px!important;min-height:36px!important;padding:6px 0!important;line-height:1.4;white-space:normal;background:none!important;border-radius:0!important;font-weight:600!important;box-shadow:none!important;color:#526a76!important}
body #assistantDrawer .md9-steps span.active{color:#006b80!important;border-bottom:2px solid #007b91!important}
body #assistantDrawer .md9-steps span i{display:none}
body #assistantDrawer .md9-missing{font-size:13px!important;line-height:1.5;white-space:normal;overflow:visible;text-overflow:clip;padding:8px 0 0!important;border:0!important;background:none!important;color:#526a76!important}
body #assistantDrawer .md9-missing::before{display:none!important}
body #assistantDrawer .chat-thread{background:#f6f9fa!important}
body #assistantDrawer .bubble{font-size:16px!important;line-height:1.65!important;letter-spacing:0;padding:14px 16px!important;border-radius:8px!important;box-shadow:none!important;overflow-wrap:anywhere}
body #assistantDrawer .msg.bot:first-child .bubble{background:#fff!important;border-color:#dce5e9!important;box-shadow:none!important}
body #assistantDrawer .msg.user .bubble{background:#0a2938!important;box-shadow:none!important}
body #assistantDrawer .avatar-mini{box-shadow:none;background:#00cfee;border-radius:6px}
body #assistantDrawer #chatChips button,body #assistantDrawer #chatChips.md-final-actions button:first-child{font-size:14px!important;line-height:1.45!important;min-height:44px!important;letter-spacing:0!important;border-radius:6px!important;font-weight:600!important;box-shadow:none!important}
body #assistantDrawer .v65-fact,body #assistantDrawer .fact,body #assistantDrawer .v65-fact b,body #assistantDrawer .fact b{font-size:13px!important;line-height:1.5}
body #assistantDrawer .chat-compose{box-shadow:none!important;backdrop-filter:none}
body #assistantDrawer .compose-row{border-radius:8px!important;box-shadow:none!important}
body #assistantDrawer .chat-input{font-size:16px!important;line-height:1.5!important}
body #assistantDrawer .send-btn{border-radius:6px!important;box-shadow:none!important;background:#00cfee!important}
body #assistantDrawer .file-label,body #assistantDrawer .file-name{font-size:13px!important;letter-spacing:0!important;line-height:1.5}
body #assistantDrawer .file-label{display:inline-flex;align-items:center;min-height:36px}
body #assistantDrawer .assistant-privacy{font-size:12px!important;line-height:1.5;color:#526a76!important}
body #assistantDrawer .v65-note{font-size:13px;line-height:1.6}
body #assistantDrawer .summary dt{font-size:13px;text-transform:none}
body #assistantDrawer .summary dd{font-size:15px;line-height:1.5}
body #quoteDrawer .drawer-id b{font-size:17px;font-weight:650}
body #quoteDrawer .drawer-id small{font-size:12px;color:#bdcdd5;line-height:1.5}
body #quoteDrawer .icon-btn{width:44px;height:44px;border-radius:6px}
body .v9-quote-form .v9-eyebrow{display:none}
body .v9-quote-form .v9-quote-intro p{font-size:16px;line-height:1.65}
body .v9-quote-form h3{line-height:1.2;letter-spacing:-.025em}
body .v9-stepper button{font-size:14px;line-height:1.5;min-height:44px;text-transform:none;letter-spacing:0;font-weight:650}
body .v9-stepper i{font-size:12px;flex:0 0 24px;width:24px;height:24px;border-radius:5px}
body .v9-quote-form .field label{font-size:14px!important;line-height:1.5;text-transform:none;letter-spacing:0}
body .v9-quote-form input,body .v9-quote-form select,body .v9-quote-form textarea{font-size:16px!important;line-height:1.5}
body .v9-mini-field>span,body .v9-field-hint,body .v9-loc-help{font-size:13px;line-height:1.6;letter-spacing:0;text-transform:none}
body .v9-loc-suggest button,body .v9-loc-suggest button b{font-size:15px;line-height:1.5;min-height:44px}
body .v9-loc-suggest button small{font-size:13px}
body .v9-choice span{font-size:14px;line-height:1.5;min-height:44px;font-weight:600;border-radius:6px}
body .v9-quote-form .form-error{font-size:14px;line-height:1.6}
body .v9-quote-form .privacy-note{font-size:12px!important;line-height:1.6!important;color:#526a76!important}
body .v9-quote-form .btn{font-size:15px;font-weight:650;min-height:46px}
body .v9-quote-page-copy h1{line-height:1.12;letter-spacing:-.035em}
body .v9-quote-page-copy>p{font-size:16px}
@media(max-width:700px){
 body #assistantDrawer .drawer-id b,body #quoteDrawer .drawer-id b{font-size:16px}
 body #assistantDrawer .drawer-id small{font-size:12px}
 body #assistantDrawer .md9-steps{gap:8px!important}
 body #assistantDrawer .md9-steps span{font-size:12px!important}
 body #assistantDrawer .md9-missing{font-size:12px!important}
 body #assistantDrawer .bubble{max-width:100%!important;padding:12px!important}
 body #assistantDrawer .msg{max-width:100%}
 body #assistantDrawer #chatChips:not(.md-final-actions){max-height:150px;overflow-y:auto!important}
 body .v9-stepper button{font-size:13px;padding:8px 4px;gap:5px}
 body .v9-stepper button span{display:inline}
 body .v9-quote-form .v9-quote-intro p{font-size:14px}
 body #assistantDrawer.md-mobile-compact #chatChips:not(.md-final-actions){max-height:96px}
 body #assistantDrawer.md-mobile-compact .md9-status-actions button{min-height:32px}
}
@media(max-height:550px){
 body #assistantDrawer .md9-steps,body #assistantDrawer .md9-missing{display:none!important}
 body #assistantDrawer .md85-console{padding-top:6px!important;padding-bottom:6px!important}
}
body #quoteDrawer.drawer .v9-quote-form>.form-error{flex:0 0 auto;margin:0 0 12px}
