@font-face{font-family:"Barlow";src:url(/fonts/Barlow-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Barlow";src:url(/fonts/Barlow-500.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Barlow";src:url(/fonts/Barlow-600.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url(/fonts/BarlowCondensed-600.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url(/fonts/BarlowCondensed-700.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url(/fonts/BarlowCondensed-700i.woff2) format("woff2");font-weight:700;font-style:italic;font-display:swap}

:root{
  --navy:#1A2470;
  --cab:#1F4FD1;
  --yellow:#F5C400;
  --white:#FFFFFF;
  --asphalt:#23262B;
  --concrete:#E9ECEF;
  --muted:#5A6070;
  --line:#D3D7DE;
  --wrap:1180px;
  --gutter:clamp(16px,4vw,40px);
  --display:"Barlow Condensed","Arial Narrow",sans-serif;
  --body:"Barlow",system-ui,sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:72px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;background:var(--white);color:var(--asphalt);font:400 1.0625rem/1.6 var(--body);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--cab)}
a:focus-visible,button:focus-visible{outline:3px solid var(--yellow);outline-offset:3px;border-radius:2px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter)}
.skip{position:absolute;left:-999px;top:8px;background:var(--yellow);color:var(--navy);padding:8px 14px;z-index:100;font-weight:600}
.skip:focus{left:8px}

h1,h2,h3{font-family:var(--display);font-weight:700;font-style:italic;line-height:1.02;margin:0;color:var(--navy);letter-spacing:-.005em}
h2{font-size:clamp(2.1rem,4.6vw,3.25rem)}
h3{font-size:1.6rem;font-style:normal;font-weight:600;letter-spacing:0}
p{margin:0 0 1em;max-width:62ch}

/* livery stripe: navy bar over yellow bar, slanted start like the trailers */
.stripe{display:block;height:14px;position:relative;width:100%}
.stripe::before,.stripe::after{content:"";position:absolute;left:0;right:0;height:5px;clip-path:polygon(14px 0,100% 0,100% 100%,0 100%)}
.stripe::before{top:0;background:var(--navy)}
.stripe::after{bottom:0;background:var(--yellow);left:8px}
.stripe--short{width:96px}
.stripe--light::before{background:var(--white)}

/* header */
.top{position:sticky;top:0;z-index:50;background:var(--white);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;gap:24px;height:64px}
.top .logo img{height:28px;width:auto}
.nav{display:flex;gap:22px;margin-left:auto}
.nav a{color:var(--asphalt);text-decoration:none;font-weight:500;font-size:.98rem}
.nav a:hover{color:var(--cab)}
.lang{display:flex;gap:2px;font-family:var(--display);font-weight:600;font-size:1rem}
.lang a,.lang span{padding:4px 8px;text-decoration:none;color:var(--muted)}
.lang span{color:var(--navy);background:var(--concrete)}
.maps{color:var(--navy);font-weight:600;font-size:.98rem;text-decoration:none;padding:6px 12px;border:1.5px solid var(--navy);white-space:nowrap}
.maps:hover{background:var(--navy);color:var(--white)}
@media (max-width:860px){.nav{display:none}.maps{margin-left:auto}}
@media (max-width:420px){.top .wrap{gap:12px}.top .logo img{height:22px}.maps{padding:5px 9px;font-size:.92rem}}

/* hero */
.hero{position:relative;color:var(--white);background:var(--navy);overflow:hidden}
.hero picture img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% 50%}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(26,36,112,.94) 0%,rgba(26,36,112,.82) 38%,rgba(26,36,112,.15) 70%,rgba(26,36,112,0) 100%)}
.hero .wrap{position:relative;z-index:1;min-height:min(88vh,760px);display:flex;flex-direction:column;justify-content:center;padding-top:64px;padding-bottom:72px}
.hero h1{color:var(--white);font-size:clamp(3rem,8.4vw,6.6rem);max-width:10.5ch;line-height:.92}
.hero .stripe{margin:28px 0 26px;max-width:520px}
.hero p{font-size:1.2rem;max-width:40ch;color:#E6E9F5}
.hero .actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:12px}
@media (max-width:640px){.hero::after{background:linear-gradient(180deg,rgba(26,36,112,.55) 0%,rgba(26,36,112,.92) 55%)}.hero .wrap{justify-content:flex-end;min-height:640px}}

.btn{display:inline-flex;align-items:center;min-height:48px;padding:0 22px;font-family:var(--display);font-weight:600;font-size:1.2rem;text-decoration:none;border:2px solid transparent;transition:background .15s,color .15s}
.btn--yellow{background:var(--yellow);color:var(--navy)}
.btn--yellow:hover{background:var(--white)}
.btn--ghost{color:var(--white);border-color:rgba(255,255,255,.6)}
.btn--ghost:hover{border-color:var(--white);background:rgba(255,255,255,.08)}
.btn--navy{background:var(--navy);color:var(--white)}
.btn--navy:hover{background:var(--cab)}

section{padding:clamp(64px,9vw,112px) 0}

/* services */
.services .head{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:end;margin-bottom:48px}
.services .head p{color:var(--muted);margin:0}
.svc{display:grid;grid-template-columns:repeat(2,1fr);gap:0 56px}
.svc article{padding:28px 0 32px;border-top:1px solid var(--line)}
.svc article .stripe--short{margin-bottom:18px}
.svc h3{margin-bottom:10px}
.svc p{margin:0;color:#3A3F4A}
.svc strong{color:var(--navy);font-weight:600}
@media (max-width:760px){.services .head,.svc{grid-template-columns:1fr}}

/* split panels: fleet / customers */
.split{padding:0;background:var(--concrete)}
.split .row{display:grid;grid-template-columns:1fr 1fr;min-height:520px}
.split .row+.row{border-top:1px solid var(--white)}
.split .media{position:relative;min-height:320px}
.split .media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.split .text{padding:clamp(40px,6vw,88px) var(--gutter);display:flex;flex-direction:column;justify-content:center;max-width:620px}
.split .row--rev .media{order:2}
.split .row--rev .text{margin-left:auto}
.split h2{margin-bottom:22px}
.split .lead{font-family:var(--display);font-weight:600;font-size:1.25rem;color:var(--cab);margin-bottom:6px}
.split .btn{align-self:flex-start;margin-top:10px}
@media (max-width:860px){.split .row{grid-template-columns:1fr}.split .row--rev .media{order:0}.split .row--rev .text{margin-left:0}}

/* clients */
.clients h2{margin-bottom:40px;max-width:18ch}
.clients ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);column-gap:32px;border-top:3px solid var(--navy)}
.clients li{padding:22px 0 26px;border-bottom:1px solid var(--line)}
.clients .name{font-family:var(--display);font-weight:700;font-size:1.65rem;color:var(--navy);line-height:1.1;display:block}
.clients .where{display:block;font-size:.9rem;color:var(--muted);margin:2px 0 10px}
.clients .what{font-size:.95rem;line-height:1.5;margin:0}
@media (max-width:960px){.clients ul{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.clients ul{grid-template-columns:1fr}}

/* history */
.history{background:var(--navy);color:#E6E9F5;position:relative;overflow:hidden}
.history .wrap{display:grid;grid-template-columns:auto 1fr;gap:clamp(24px,6vw,80px);align-items:center}
.history .year{font-family:var(--display);font-style:italic;font-weight:700;font-size:clamp(6rem,19vw,15rem);line-height:.8;color:var(--yellow);letter-spacing:-.02em}
.history h2{color:var(--white);margin-bottom:18px}
.history p{font-size:1.15rem;line-height:1.65}
.history .stripe{margin-top:8px;max-width:340px}
@media (max-width:760px){.history .wrap{grid-template-columns:1fr}}

/* EU funding notice */
.eu{padding:48px 0;border-bottom:1px solid var(--line)}
.eu img{width:100%;max-width:1000px;height:auto;margin-bottom:20px}
.eu p{font-size:.88rem;color:var(--muted);max-width:110ch;margin:0}

/* contact */
.contact{background:var(--asphalt);color:#D9DCE2}
.contact .wrap{display:grid;grid-template-columns:1.1fr 1fr;gap:56px}
.contact h2{color:var(--white);margin-bottom:22px}
.contact .intro p{font-size:1.1rem}
.contact dl{margin:0;display:grid;grid-template-columns:max-content 1fr;gap:16px 28px;align-content:start}
.contact dt{font-family:var(--display);font-weight:600;font-size:1.1rem;color:var(--yellow);padding-top:2px}
.contact dd{margin:0;font-size:1.15rem;color:var(--white)}
.contact dd a{color:var(--white);text-decoration-color:rgba(255,255,255,.4);text-underline-offset:3px}
.contact dd a:hover{text-decoration-color:var(--yellow)}
.contact .map{display:inline-block;margin-top:6px;font-size:.98rem;color:#B9C3FF}
@media (max-width:860px){.contact .wrap{grid-template-columns:1fr;gap:36px}}
@media (max-width:420px){.contact dl{grid-template-columns:1fr;gap:2px}.contact dd{margin-bottom:14px}}

footer{background:#1A1C20;color:#9AA0AB;font-size:.9rem;padding:22px 0}
footer .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px}
footer .cert{height:84px;width:auto}
footer .wrap span:last-child{margin-left:auto}
footer a{color:#C9CED6}

/* legal page */
.legal{padding:clamp(48px,7vw,88px) 0 clamp(64px,9vw,112px)}
.legal h1{font-size:clamp(2.4rem,5vw,3.5rem);margin-bottom:20px}
.legal .stripe--short{margin-bottom:40px}
.legal h2{font-size:1.75rem;margin:40px 0 12px}
.legal dl{display:grid;grid-template-columns:max-content 1fr;gap:6px 24px;margin:0 0 1em}
.legal dt{font-weight:600;color:var(--navy)}
.legal dd{margin:0}
.legal ul{padding-left:1.2em;max-width:62ch}
@media (max-width:520px){.legal dl{grid-template-columns:1fr;gap:0}.legal dd{margin-bottom:10px}}
