.home-shell { width: 100%; max-width: 1280px; margin-inline: auto; padding-inline: 40px; }
.home-hero { position: relative; max-width: none; margin: 0; padding: 0; min-height: 640px; height: min(780px, 85svh); background: #102532; color: #fff; overflow: hidden; }
.home-hero>video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.home-hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg,#0b202feb 0%,#102532ae 44%,#10253225 100%),linear-gradient(0deg,#0b202fba,transparent 40%); }
.home-hero-content { position: relative; height: 100%; display: flex; flex-direction: column; justify-content: center; padding-bottom: 80px; }
.home-kicker { margin: 0 0 22px; color: #087cad; font-size: 11px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; line-height: 1.6; }
.home-hero .home-kicker { color: #96d8f7; }
.home-hero h1 { font-size: clamp(42px,5.7vw,80px); font-weight: 500; letter-spacing: -2.8px; line-height: 1.08; margin: 0 0 36px; max-width: 840px; }
.home-hero h1 span { color: #83d3f6; }
.home-actions { display: flex; flex-wrap: wrap; gap: 16px; align-items: center; }
.home-button { display: inline-flex; align-items: center; justify-content: center; gap: 24px; background: #087cad; border: 1px solid #087cad; border-radius: 5px; padding: 15px 24px; color: #fff; text-decoration: none; font-size: 14px; line-height: 1.5; }
.home-button:hover { background: #066b97; }
.home-video-link { display: flex; gap: 12px; align-items: center; border: 0; background: transparent; color: #fff; font: inherit; font-size: 14px; padding: 14px; cursor: pointer; }
.home-video-link span { border: 1px solid #ffffff70; border-radius: 50%; width: 36px; height: 36px; display: grid; place-items: center; font-size: 10px; }
.home-hero-bottom { position: absolute; bottom: 28px; left: 50%; transform: translateX(-50%); display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.home-hero-bottom a { color: #d5e8f2; text-decoration: none; font-size: 12px; }
.home-hero-bottom a span { margin-left: 16px; }
.home-hero-bottom button { background: #10253270; border: 1px solid #ffffff50; border-radius: 30px; color: #fff; font: inherit; font-size: 11px; padding: 9px 14px; cursor: pointer; }
.home-routebar { background: #192f3d; }
.home-routebar>.home-shell { display: grid; grid-template-columns: repeat(3, 1fr); }
.home-routebar a { display: flex; justify-content: space-between; gap: 16px; padding: 24px; border-right: 1px solid #ffffff20; color: #d7e7f0; text-decoration: none; font-size: 13px; line-height: 1.5; }
.home-routebar a:first-child { padding-left: 0; }
.home-routebar a:last-child { border: 0; }
.home-routebar a:hover { color: #86d5f9; }
.home-about { padding-block: 88px; }
.home-section-heading { max-width: 800px; margin-bottom: 40px; }
.home-main h2, .home-about h2, .home-portfolio h2, .home-company h2, .home-education h2 { font-size: clamp(28px,3.5vw,44px); font-weight: 500; line-height: 1.25; letter-spacing: -1.2px; margin: 0; }
.home-about-grid { display: grid; grid-template-columns: 1fr 1.1fr; gap: 64px; align-items: center; }
.home-copy p { font-size: 17px; color: #526572; line-height: 1.85; margin: 0 0 24px; }
.home-text-link { color: #087cad; text-decoration: none; font-size: 14px; display: inline-flex; gap: 24px; padding-block: 8px; }
.home-text-link:hover { text-decoration: underline; }
.home-film { padding: 0; border: 0; background: #192f3d; position: relative; width: 100%; overflow: hidden; border-radius: 12px; cursor: pointer; text-align: left; }
.home-film>img { display: block; width: 100%; height: auto; transition: transform .6s ease; }
.home-film:hover .home-play { background: #087cad; }
.home-film-overlay { position: absolute; inset: 0; background: linear-gradient(0deg,#102532eb,transparent 75%); color: white; padding: 28px; display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-end; gap: 12px; font: 500 24px 'Red Hat Text',Arial,sans-serif; }
.home-play { position: absolute; top: 50%; left: 28px; transform: translateY(-50%); display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; border: 1px solid #ffffffaa; background: #ffffff18; font-size: 15px; }
.home-film-label { font-size: 12px; color: #a5dafa; }
.home-portfolio { max-width: none; padding: 80px 0; background: #f3f7f9; border-block: 1px solid #dce5eb; }
.home-filters { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 30px; }
.home-filters button { font: inherit; font-size: 13px; border: 1px solid #c6d6e0; padding: 10px 16px; border-radius: 30px; background: transparent; color: #526572; cursor: pointer; }
.home-filters button[aria-pressed="true"] { background: #192f3d; border-color: #192f3d; color: #fff; }
.home-product-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.home-product { display: block; min-width: 0; color: #172f40; text-decoration: none; border: 1px solid #dce5eb; border-radius: 10px; background: #fff; overflow: hidden; transition: transform .25s,box-shadow .25s; }
.home-product[hidden] { display: none; }
.home-product:hover { transform: translateY(-5px); box-shadow: 0 16px 35px #172f4010; }
.home-product-image { aspect-ratio: 1.4; padding: 22px; overflow: hidden; }
.home-product-image img { width: 100%; height: 100%; object-fit: contain; }
.home-product-info { padding: 22px; border-top: 1px solid #edf2f5; }
.home-product-info p { font-size: 10px; color: #526572; letter-spacing: .8px; text-transform: uppercase; margin: 0 0 10px; }
.home-product-info h3 { display: flex; justify-content: space-between; font-size: 24px; line-height: 1.3; font-weight: 500; margin: 0; }
.home-product-info h3 span { color: #087cad; font-size: 20px; }
.home-company { padding-block: 88px; display: grid; grid-template-columns: 1fr 1.3fr; gap: 80px; }
.home-education { max-width: none; padding: 56px 0; background: #192f3d; color: #fff; }
.home-education-inner { display: flex; justify-content: space-between; gap: 40px; align-items: center; }
.home-education .home-kicker { color: #8fd3f2; }
.home-education h2 { font-size: clamp(26px,3vw,36px); }
.home-button-outline { background: transparent; border-color: #90a6b3; }
.home-button-outline:hover { background: #ffffff10; }
.home-video-modal { display: none; position: fixed; inset: 0; width: min(1100px,90vw,calc((100svh - 120px) * 16 / 9)); max-width: 90vw; height: auto; aspect-ratio: 16 / 9; max-height: none; padding: 0; border: 0; border-radius: 10px; margin: auto; overflow: visible; background: #000; }
.home-video-modal[open] { display: block; }
.home-video-modal::backdrop { background: #07121dea; }
#home-video-dialog.home-video-modal { z-index: auto; }
.home-video-modal iframe { position: absolute; inset: 0; display: block; width: 100%; height: 100%; border: 0; }
.home-video-close { position: absolute; right: 0; top: -48px; background: #fff; color: #172f40; width: 36px; height: 36px; border-radius: 50%; border: 0; font-size: 25px; cursor: pointer; }
.home-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.home-reveal { opacity: 0; transform: translateY(22px); transition: opacity .7s ease,transform .7s ease; }
.home-reveal.is-visible { opacity: 1; transform: none; }
.stratos-intro-playing .home-hero-content { visibility: hidden; }
@media(max-width:1000px){ .home-about-grid { gap: 32px; } .home-company { gap: 40px; } .home-education-inner { align-items: flex-start; flex-direction: column; } }
@media(max-width:760px){ .home-shell { padding-inline: 22px; } .home-hero { min-height: 590px; height: 80svh; } .home-hero h1 { letter-spacing: -1.5px; } .home-hero-shade { background: linear-gradient(90deg,#0b202fe0,#10253260),linear-gradient(0deg,#0b202fb0,transparent); } .home-about-grid,.home-company { grid-template-columns: 1fr; gap: 28px; } .home-about,.home-company { padding-block: 52px; } .home-portfolio { padding-block: 52px; } .home-product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; } .home-routebar>.home-shell { grid-template-columns: 1fr; } .home-routebar a,.home-routebar a:first-child { padding: 15px 0; border: 0; border-bottom: 1px solid #ffffff20; } .home-copy p { font-size: 16px; } .home-product-info { padding: 16px; } .home-product-info h3 { font-size: 20px; } .home-product-info p { font-size: 9px; } }
@media(max-width:440px){ .home-product-grid { grid-template-columns: 1fr; } .home-hero h1 { font-size: 40px; } .home-video-link { padding-left: 0; } }

.home-about-photo-placeholder { width: 100%; aspect-ratio: 16 / 9; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; padding: 24px; border: 1px dashed #bfd3df; border-radius: 12px; background: #f5f9fb; color: #608092; text-align: center; }
.home-about-photo-placeholder span { font-size: 20px; font-weight: 500; }
.home-about-photo-placeholder small { font-size: 13px; line-height: 1.5; }

.home-about-photo { display: block; width: 100%; height: auto; border-radius: 12px; }
