/* Product-led homepage and the permanent category pages. */
.category-tabs a[aria-current=page]{color:#b9d6ff;background:#0050aa20}
.category-tabs a[aria-current=page]::after{transform:scaleX(1)!important}
.category-panel a[aria-current=page]{background:#22344b;color:#dceaff}
.product-showcase .slides{min-height:640px;max-height:960px}
.product-showcase .slide>img{left:auto;right:0;width:80%;object-fit:contain;object-position:right center}
.product-showcase .slide-photo>img{width:76%;object-fit:cover;object-position:60% center;mask-image:linear-gradient(90deg,transparent,#000 30%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 30%)}
.product-showcase .slide::after{background:linear-gradient(90deg,#030506 0%,#030506aa 22%,transparent 51%),linear-gradient(0deg,#080a0d,transparent 17%)}
.product-showcase .slide-content{width:43%;max-width:620px;top:49%;transform:translateY(-50%)}
.product-showcase h1,.product-showcase h2{font-size:clamp(3.25rem,5.4vw,6.8rem);line-height:1.01;letter-spacing:-.045em}
.product-showcase em{color:#8ab9ff;-webkit-text-stroke:0}
.product-showcase .slide-content>p:not(.kicker){max-width:390px;color:#b6c0cc;font-size:1.06rem;line-height:1.65}
.product-showcase .kicker{max-width:330px;line-height:1.7;font-size:.65rem;margin-bottom:1.5rem}
.product-showcase .text-link{font-size:.95rem;color:#edf4ff}
.content-hero{min-height:560px;position:relative;isolation:isolate;display:flex;align-items:center;padding:90px var(--pad);overflow:hidden;background:#030506}
.content-heading{max-width:600px;width:52%;position:relative;z-index:1}
.content-heading h1{font-size:clamp(3rem,5.4vw,6.5rem);line-height:1.03;letter-spacing:-.04em}
.content-intro{font-size:1.15rem;max-width:450px;margin-top:2rem;color:#b7c4d4}
.content-hero>img{position:absolute;right:-7%;width:76%;height:100%;object-fit:contain;z-index:-2}
.content-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#030506 5%,#030506c9 28%,transparent 66%)}
.content-detail{padding:75px var(--pad);display:grid;grid-template-columns:1fr 2fr;gap:5vw;border-bottom:1px solid #ffffff14}
.content-detail>p:last-child{font-size:clamp(1.2rem,1.8vw,1.65rem);max-width:900px;color:#cad4e1;line-height:1.7}
.content-links{padding:85px var(--pad)}
.content-links>h2{font-size:clamp(2rem,3vw,3.5rem);margin-bottom:40px}
.content-link-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#ffffff17;border:1px solid #ffffff17}
.content-link-grid>a{background:#0a0e14;padding:35px;display:flex;flex-direction:column;align-items:start;gap:22px;transition:background .25s}
.content-link-grid>a:hover{background:#142032}
.content-link-grid h3{font-size:1.75rem;line-height:1.15}
.content-link-grid p{font-size:.95rem;line-height:1.6}
.content-link-grid span{margin-top:auto;color:#8ab9ff;border-bottom:1px solid #5076a1;padding-bottom:5px}
.content-contact{padding:85px var(--pad);background:#101923}
.content-contact h2{font-size:clamp(2.3rem,4vw,4rem);max-width:800px;margin-bottom:25px}
.content-fleet{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding:60px var(--pad)}
.content-fleet img{aspect-ratio:4/3;object-fit:cover}.content-fleet h2{font-size:2rem;margin-top:20px}
.contact-cards{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:30px;padding:60px var(--pad) 100px}
.contact-cards span{display:block;color:#8ab9ff;font-size:.7rem;letter-spacing:.14em;margin-bottom:20px}
.contact-cards strong{font-size:clamp(1.1rem,2vw,2rem);font-weight:500}.contact-cards address{font-style:normal;line-height:1.7}
@media(max-width:1000px){.content-link-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content-hero{min-height:500px}.content-heading{width:60%}}
@media(max-width:700px){
 .product-showcase .slides{height:760px;min-height:0;max-height:none}
 .product-showcase .slide>img{width:135%;height:360px;top:0;right:-3%;object-fit:contain;object-position:right center}
 .product-showcase .slide-photo>img{width:100%;right:0;object-fit:cover;object-position:center 35%;mask-image:linear-gradient(#000 65%,transparent);-webkit-mask-image:linear-gradient(#000 65%,transparent)}
 .product-showcase .slide::after{background:linear-gradient(0deg,#030506 35%,transparent 70%)}
 .product-showcase .slide-content{top:auto;bottom:86px;transform:none;width:auto;max-width:none;right:var(--pad);padding:0}
 .product-showcase h1,.product-showcase h2{font-size:clamp(2.8rem,9vw,4rem)}
 .product-showcase .kicker{margin-bottom:16px;font-size:.59rem}
 .product-showcase .slide-content>p:not(.kicker){font-size:1rem;margin:18px 0 8px}
 .product-showcase .hero-caption{bottom:28px;font-size:.48rem;max-width:65%;line-height:1.6}
 .product-showcase .slideshow-controls{bottom:16px}
 .content-hero{min-height:600px;align-items:end;padding-top:280px;padding-bottom:45px}
 .content-heading{width:100%;max-width:none}.content-heading h1{font-size:2.8rem}
 .content-hero>img{width:140%;height:330px;top:0;right:0;object-position:right top}
 .content-hero::after{background:linear-gradient(0deg,#030506 28%,transparent 85%)}
 .content-intro{font-size:1.05rem;margin-top:20px}
 .content-detail{grid-template-columns:1fr;gap:15px;padding-block:45px}.content-detail .kicker{margin:0}
 .content-link-grid,.content-fleet,.contact-cards{grid-template-columns:1fr}
 .content-links{padding-block:45px}.content-link-grid>a{padding:28px}
 .d2-header .category-panel:not([hidden]){display:flex;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;justify-content:start;max-height:none;padding-block:8px}.d2-header .category-panel a{flex:0 0 100px;min-height:76px}
}


/* Keep punctuation attached to words in carousel headings. */
.product-showcase h1,.product-showcase h2{overflow-wrap:normal;word-break:normal;hyphens:none}

/* Slow push-in on the active hero, including manually selected slides. */
.product-showcase .slide.is-active>img{animation:hero-push-in 7s linear both;transform-origin:75% 50%}
@keyframes hero-push-in{from{transform:scale(1)}to{transform:scale(1.07)}}


/* Timed selectors share the carousel clock; image transitions remain crossfades. */
.product-showcase .slide{transition:opacity 1.2s ease,visibility 1.2s}
.product-showcase .slide-selector button{position:relative;width:58px;height:44px;padding:0}
.product-showcase .slide-selector button::after,.product-showcase .slide-selector button::before{content:"";position:absolute;left:8px;right:8px;top:21px;height:2px;display:block;transform-origin:left center;transition:none}
.product-showcase .slide-selector button::after{background:#647182;transform:none}
.product-showcase .slide-selector button::before{background:#cce2ff;z-index:1;transform:scaleX(0)}
.product-showcase .slide-selector button[aria-current=true]::before{transform:scaleX(var(--slide-progress,0))}
.product-showcase .slide-selector button[aria-current=true]::after{background:#788ba4;transform:none}
.product-showcase .slide-selector button:focus-visible{outline:2px solid #8ab9ff;outline-offset:0}

.careers-page{min-height:55vh;padding:75px 6vw 100px;background:#080e16;color:#edf3f8}.careers-page h1{font-size:clamp(2.8rem,5vw,5rem);font-weight:500;letter-spacing:-.03em;margin:20px 0 30px}.careers-page>p:last-child{color:#b5c2ce;font-size:clamp(1.1rem,2vw,1.5rem);line-height:1.6}@media(max-width:650px){.careers-page{padding:40px 22px 65px;min-height:45vh}}
