/* Homepage hero: one mobile layout, one fluid tablet transition, one desktop.
   Replaces the accumulated hero overrides formerly in updates.css. */
body[data-page=home]>.top-bar{display:none}
#mainNav{flex-wrap:nowrap}
#mainNav .nav-phone{display:none}
.hero{position:relative;height:auto;min-height:0;overflow:hidden;isolation:isolate;background:#0a2a5e}
.hero-scene{display:contents}
.hero .hero-stats{display:none}
.hero-picture{position:absolute;inset:0;display:block;width:100%;height:100%;overflow:hidden;z-index:-2}
.hero-picture .hero-img{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;object-position:83% 100%;animation:none}
.hero-overlay{position:absolute;inset:0;height:100%;pointer-events:none;z-index:-1;background:linear-gradient(180deg,#081c4bd9 0%,#081c4ba6 39%,#081c4b26 64%,#081c4b08 100%),linear-gradient(90deg,#081c4b44,transparent 85%)}
.hero-content{position:relative;inset:auto;min-width:0;max-width:none;height:auto;display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;padding:32px max(22px,env(safe-area-inset-right)) 250px max(22px,env(safe-area-inset-left));z-index:1}
.hero-badge{background:none;border:0;border-radius:0;color:#f0c040;padding:0;font-size:9px;letter-spacing:1.2px;line-height:1.5;margin:0 0 18px;animation:none}
.hero-title{font-size:clamp(28px,7.7vw,33px);line-height:1.35;letter-spacing:0;margin:0 0 13px;font-weight:800;word-break:normal;overflow-wrap:normal;text-wrap:balance;animation:none}
.hero-title span{color:#f0c040}
html[lang=en] .hero-title{font-size:clamp(29px,7.7vw,34px);line-height:1.2;letter-spacing:-.4px}
.hero-sub{font-size:15px;line-height:1.7;color:#f1f4fa;margin:0 0 22px;max-width:390px;text-shadow:0 1px 8px #081c4b55;animation:none}
.hero-copy-desktop{display:none}.hero-copy-mobile{display:inline}
.hero-btns{display:grid;grid-template-columns:1.08fr 1fr;gap:10px;width:100%;max-width:420px;animation:none}
.hero-btns a{display:flex;align-items:center;justify-content:center;min-height:49px;border-radius:999px;padding:11px 8px;font-size:13px;line-height:1.5;letter-spacing:0;text-align:center;white-space:nowrap;box-shadow:none;box-sizing:border-box}
.hero-btns .btn-primary{background:#c8972a;color:#fff;border:1px solid #c8972a}
.hero-btns .btn-outline{background:#0a2a5e80;border:1px solid #ffffffa6;color:#fff}
.hero-btns a:active{transform:scale(.98)}
.hero-btns .btn-primary:after{display:none}
.scroll-indicator{display:none!important}
/* Fill the phone screen with the original fleet photo. Small viewport units
   stay stable when Safari's address bar opens/closes; content can still grow. */
@media(max-width:767px){
 body[data-page=home] .hero{min-height:100vh;min-height:100svh}
 body[data-page=home].nav-over-hero .hero-content{
  min-height:100vh;min-height:100svh;
  padding-top:calc(var(--home-nav-height,60px) + clamp(64px,12svh,104px));
  padding-bottom:max(190px,env(safe-area-inset-bottom));
 }
 body[data-page=home] .hero-title{font-size:clamp(32px,8.6vw,37px);line-height:1.3}
 html[lang=en] body[data-page=home] .hero-title{font-size:clamp(32px,8.6vw,37px);line-height:1.2}
 body[data-page=home] .hero-sub{font-size:16px;line-height:1.75}
}
@media(max-width:359px){.hero-btns{grid-template-columns:1fr}.hero-btns a{font-size:14px}#mainNav{gap:8px;padding-inline:12px}#mainNav .nav-logo{--header-logo-width:140px;flex-basis:145px;min-width:0}#mainNav .header-company-name{font-size:8.5px;max-width:115px}#mainNav .lang-toggle{margin-left:auto}#mainNav .lang-btn{padding:8px}#mainNav .hamburger{margin-left:0}}
/* Compact navigation starts before bilingual labels can collide. Its 72px
   rail continues into desktop, with the existing 60px rail on phones. */
@media(min-width:769px) and (max-width:1199px){
 #mainNav{height:72px;padding-inline:clamp(24px,3vw,36px);gap:16px}
 #mainNav .nav-links{display:none}#mainNav .hamburger{display:flex;margin-left:0}
 #mainNav .lang-toggle{margin-left:auto}
 #mainNav .nav-logo{--header-logo-width:190px;flex-basis:224px;min-height:56px}
 .mobile-menu{top:72px}
}
/* Tablet interpolates toward the established desktop hierarchy and crop. */
@media(min-width:768px){
 .hero{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto;border-bottom:2px solid #c8972a}
 .hero-scene{display:grid;grid-template-columns:minmax(0,1fr);position:relative;grid-area:1/1;width:100%;min-width:0}
 .hero-picture{position:relative;inset:auto;grid-area:1/1;width:100%;height:clamp(540px,56.64vw,580px);aspect-ratio:auto;z-index:0}
 .hero-picture .hero-img{top:-20px;bottom:auto;height:calc(100% + 40px);object-position:50% var(--hero-focal-y,50%);filter:brightness(1.025)}
 .hero-overlay{height:100%;z-index:0;background:linear-gradient(90deg,#071d43ed 0%,#0a2a5ed6 28%,#0a2a5e88 48%,#0a2a5e1a 68%,#0a2a5e00 100%)}
 .hero-content{grid-area:1/1;min-height:0;height:100%;max-width:calc(28.9vw + 277px);padding:40px clamp(32px,5.2vw,96px) 94px;justify-content:center}
 .hero-badge{letter-spacing:1.6px;font-size:11px;line-height:1.6;margin:0 0 24px;color:#edc46b}
 .hero-badge:before{width:26px;background:#c8972a}
 .hero-title{font-size:clamp(33px,calc(9vw - 36px),56px);line-height:1.14;letter-spacing:0;margin:0 0 20px;text-shadow:none;text-wrap:wrap}
 html[lang=en] .hero-title{font-size:clamp(34px,calc(3.125vw + 10px),42px);line-height:1.16;letter-spacing:-.6px}
 .hero-sub{font-size:16px;line-height:1.75;max-width:560px;color:#e0e7f1;margin:0 0 28px;text-shadow:none}
 .hero-copy-desktop{display:inline}.hero-copy-mobile{display:none}
 .hero-btns{display:flex;width:auto;max-width:none;gap:12px;flex-wrap:nowrap;align-items:stretch}
 .hero-btns a{display:inline-flex;min-height:50px;padding:13px 18px;font-size:13px;line-height:1.5;border-width:1px;border-radius:3px;transition:background .18s ease,border-color .18s ease,color .18s ease}
 .hero-btns .btn-outline{background:#fff;border-color:#fff;color:#0a2a5e}
 .hero-btns .btn-primary:hover{background:#ac7e20;border-color:#ac7e20;color:#fff}
 .hero-btns .btn-outline:hover{background:#e9eef5;border-color:#e9eef5;color:#0a2a5e}
 .hero-btns a:hover,.hero-btns a:active{transform:none;box-shadow:none}

}
@media(min-width:1024px){
 #mainNav{padding-inline:clamp(32px,5.2vw,96px);border-bottom-width:1px;box-shadow:0 1px 8px #0a2a5e0a}
 #mainNav .nav-links a{font-size:12px;letter-spacing:0;padding-inline:14px;white-space:nowrap}
 #mainNav .lang-toggle{margin-left:20px}
 .hero-picture{height:clamp(580px,min(48vw,calc(100svh - var(--hero-occupied-height,72px) - 2px)),860px)}
 .hero-content{max-width:min(960px,56vw)}
 .hero-title{font-size:clamp(56px,5.1vw,86px)}
 html[lang=en] .hero-title{font-size:clamp(42px,3.45vw,62px)}
 .hero-sub{font-size:17px}
 .hero-btns a{padding:13px 24px;font-size:14px}
 .hero-scroll-enabled .hero-scene{transform:translate3d(0,var(--hero-scene-shift,0px),0);clip-path:inset(0 0 var(--hero-close-inset,0px) 0)}
 .hero-scroll-enabled .hero-content{transform:translate3d(0,var(--hero-copy-shift,0px),0);opacity:var(--hero-copy-opacity,1)}
 .hero-scroll-enabled .hero-content:focus-within{opacity:1}
 .hero-scroll-active .hero-scene{will-change:transform,clip-path}
 .hero-scroll-active .hero-content{will-change:transform,opacity}
}
@media(min-width:1024px) and (max-width:1199px){#mainNav .lang-toggle{margin-left:auto}.hero-btns a{padding-inline:18px;font-size:13px}}
@media(min-width:1600px){.hero-sub{font-size:18px;line-height:1.7}}
@media(prefers-reduced-motion:reduce){
 .hero-scroll-enabled .hero-scene{transform:none;clip-path:none;will-change:auto}
 .hero-scroll-enabled .hero-content{transform:none;opacity:1;will-change:auto}
 .hero-btns a{transition:none}
}
