/* Harmonisation visuelle KLC — bleu nuit, turquoise, orange et blanc */
:root{
  --navy:#0b1f3a;
  --navy2:#006b7d;
  --teal:#00a4bb;
  --orange:#f56900;
  --amber:#ffb14a;
  --cream:#f4fafb;
  --ink:#0b1f3a;
  --muted:#48656c;
  --line:#d6e9ec;
  --surface:#fff;
  --shadow-sm:0 8px 28px rgba(11,31,58,.07);
  --shadow-md:0 20px 55px rgba(11,31,58,.12);
  --radius-sm:10px;
  --radius-md:18px;
  --radius-lg:28px;
  color-scheme:light;
}
html{background:var(--cream)}
body{background:var(--cream);color:var(--ink);font-family:Manrope,Arial,sans-serif;line-height:1.65;text-rendering:optimizeLegibility}
h1,h2,h3{color:var(--navy);text-wrap:balance}
p{text-wrap:pretty}
:focus-visible{outline:3px solid rgba(245,105,0,.42)!important;outline-offset:3px}

.topbar{
  min-height:84px;height:auto;
  padding-block:10px;
  gap:24px;
  background:rgba(255,255,255,.97);
  border-bottom:1px solid var(--line);
  box-shadow:0 5px 24px rgba(11,31,58,.05);
  backdrop-filter:blur(14px);
}
.brand-logo,.legal-brand img{
  width:58px;height:58px;padding:3px;
  background:#fff!important;border:1px solid #e6eff1;
  border-radius:14px!important;object-fit:contain;
  box-shadow:0 6px 18px rgba(11,31,58,.08);
}
.brand>span{display:block}
.brand strong{color:var(--navy2);font-size:18px}
.brand small{color:#5d7079;letter-spacing:.08em}
.topbar nav{align-items:center;gap:16px;font-size:13px}
.topbar nav a{position:relative;padding:8px 0;color:#294552;white-space:nowrap;flex:0 0 auto}
.topbar nav a:not(.nav-track-button,.nav-booking-button):after{
  content:"";position:absolute;left:0;right:100%;bottom:1px;height:2px;
  background:var(--orange);transition:right .2s ease;
}
.topbar nav a:hover:after,.topbar nav a[aria-current="page"]:after{right:0}
.topbar nav a[aria-current="page"]{color:var(--navy2)}
.topbar nav .nav-track-button,.btn,.back{
  border-radius:12px;box-shadow:0 9px 24px rgba(11,31,58,.12);
}
.btn{min-height:46px;padding:13px 21px;letter-spacing:.01em}
.topbar>.btn{white-space:nowrap;padding-inline:16px}
.btn:hover{box-shadow:0 14px 30px rgba(245,105,0,.22)}
.menu{border-radius:10px;color:var(--navy2);font-weight:800}

.hero,.service-hero,.article-heading,.blog-banner{
  background:linear-gradient(135deg,var(--navy) 0%,var(--navy2) 72%,#008fa3 100%);
}
.hero-copy,.service-hero-copy{position:relative}
.hero h1,.service-hero h1,.blog-banner h1,.article-heading h1{color:#fff}
.eyebrow{color:var(--orange)}
.section-head h2,.history-heading h2,.tracking-copy h2,.location-copy h2{color:var(--navy)}

.service-grid,.performance-stats,.history-milestones,.client-list,.why-grid{gap:16px;background:transparent;border:0}
.service-grid article,.performance-stats article,.history-milestones div,.case-grid article,.trust-columns>article,.blog-card,.article-side{
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  box-shadow:var(--shadow-sm);
  overflow:hidden;
}
.service-grid article,.performance-stats article,.history-milestones div,.case-grid article,.trust-columns>article{
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.service-grid article:hover,.case-grid article:hover,.trust-columns>article:hover,.blog-card:hover{
  transform:translateY(-4px);border-color:#9edce4;box-shadow:var(--shadow-md);
}
.service-grid article.featured{background:linear-gradient(145deg,var(--orange),#dd5600)}
.service-grid .vehicle-service{border-radius:var(--radius-md)}
.service-visual,.article-image,.blog-card img,.blog-video img{border-radius:12px}
.blog-card img{border-radius:0}
.blog-card div{padding:27px}
.blog-card h2,.article-prose h2,.article-side h2{color:var(--navy2)}
.article-body{min-width:0}
.article-prose{color:#263f4a}
.article-prose h2{padding-top:8px}
.article-note,.groupage-article .callout,.notice{
  border-left:5px solid var(--orange)!important;
  border-radius:0 12px 12px 0;
  background:#fff7ef!important;
}
.article-side{align-self:start;padding:24px;background:#fff;position:sticky;top:110px}

.tracking-form,.quote-form,.history-vision,.history-action,.legal-content,.legal-nav{
  border-radius:var(--radius-md);
  box-shadow:var(--shadow-sm);
}
.tracking-form{background:linear-gradient(145deg,var(--navy),var(--navy2))}
.tracking-form input,.tracking-form select,.quote-fields input,.quote-fields textarea,.transport-choice select{
  border-radius:10px;
}
.quote-form{border:1px solid var(--line)}
.transport-choice label span{border-radius:10px}
.cta{background:linear-gradient(135deg,var(--navy2),#008fa3);border-top:1px solid rgba(255,255,255,.12)}
.cta h2{color:#fff}

.legal-header{box-shadow:0 5px 24px rgba(11,31,58,.05)}
.legal-hero{background:linear-gradient(135deg,var(--navy),var(--navy2))!important}
.legal-hero h1{color:#fff}
.legal-content,.legal-nav{border:1px solid var(--line)}

footer,.legal-footer{
  background:linear-gradient(145deg,#07182d,var(--navy));
  color:#c1cdd4;
}
footer h3,footer h4,footer strong{color:#fff}
.footer-logo{
  width:82px;height:82px;padding:4px;background:#fff!important;
  border-radius:16px!important;box-shadow:0 8px 24px rgba(0,0,0,.18);
}
.legal{border-color:rgba(255,255,255,.14)}

.policy-page{margin:0;background:#eef5f7}
.policy-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px clamp(20px,6vw,90px);background:#fff;border-bottom:1px solid var(--line);box-shadow:0 5px 24px rgba(11,31,58,.05)}
.policy-brand{display:flex;align-items:center;gap:14px}
.policy-brand img{width:58px;height:58px;padding:3px;object-fit:contain;border:1px solid var(--line);border-radius:14px}
.policy-brand strong,.policy-brand small{display:block}.policy-brand strong{color:var(--navy2)}.policy-brand small{margin-top:4px;color:var(--muted);font-size:12px}
.policy-hero{padding:clamp(58px,8vw,100px) clamp(22px,10vw,150px);background:linear-gradient(135deg,var(--navy),var(--navy2));color:#fff}
.policy-hero h1{margin:0;color:#fff;font:700 clamp(38px,5vw,66px)/1.04 Space Grotesk,sans-serif;letter-spacing:-.04em}
.policy-hero>p:last-child{max-width:700px;margin:20px 0 0;color:#dcebf0;font-size:17px}
.policy-content{width:min(900px,calc(100% - 40px));margin:50px auto;padding:clamp(24px,5vw,56px);background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}
.policy-content section{padding:0 0 28px;margin:0 0 28px;border-bottom:1px solid var(--line)}.policy-content section:last-child{padding:0;margin:0;border:0}
.policy-content h2{margin:0 0 12px;color:var(--navy2);font:700 25px/1.25 Space Grotesk,sans-serif}.policy-content p{margin:0;color:#405b66}.policy-content a{color:var(--orange);font-weight:800}
.policy-footer{display:block;padding:32px 20px;text-align:center}

@media(max-width:980px){
  .topbar nav{top:83px;padding:22px;background:#fff;border-bottom:1px solid var(--line);box-shadow:var(--shadow-md)}
  .topbar nav a{padding:11px 4px}
  .article-side{position:static}
}
@media(max-width:1180px){
  .topbar nav{display:none;position:absolute;top:83px;left:0;right:0;padding:22px;background:#fff;border-bottom:1px solid var(--line);box-shadow:var(--shadow-md);flex-direction:column;align-items:stretch}
  .topbar nav.open{display:flex}
  .topbar nav a{padding:11px 4px;text-align:center}
  .topbar nav .nav-track-button{justify-content:center;margin:0;padding:13px 18px}
  .topbar>.btn{display:none}
  .menu{display:block}
}
@media(max-width:640px){
  .topbar{min-height:74px;padding-block:8px}
  .topbar nav{top:73px}
  .brand-logo,.legal-brand img{width:50px;height:50px}
  .brand>span{display:block}
  .brand strong{font-size:15px}
  .brand small{display:none}
  section:not(.hero){padding-inline:18px}
  .blog-wrap{width:calc(100% - 32px)}
  .service-grid,.performance-stats,.history-milestones,.client-list,.why-grid{gap:12px}
  .service-grid article,.case-grid article,.trust-columns>article{border-radius:14px}
  footer{gap:30px;padding:46px 20px}
  .policy-header{align-items:flex-start}.policy-brand small{display:none}.policy-header .btn{padding:10px 12px;font-size:12px}
}

@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}
