/* Responsive cinematic image frames. Preserve intrinsic proportions and separate
   image subjects from copy on small screens. Loaded after page-specific styles. */
.robotics-feature img{height:auto;aspect-ratio:16/10}
.ai-visual-image{aspect-ratio:16/10}
.event-thumbnail{object-position:center}
@media(max-width:1000px) and (min-width:701px){
 .inner-hero h1{max-width:65%;font-size:clamp(42px,6vw,60px)}
 .inner-hero p,.founder-quote{max-width:58%}
 .about-hero{min-height:62vw}.about-hero img{object-position:78% center}
}
@media(max-width:700px){
 .inner-hero,.refresh-hero,.solutions-hero{padding:calc(75px + 56.25vw + 30px) 7% 48px;min-height:0;background:#080c11}
 .inner-hero>img{top:75px;left:0;width:100%;height:56.25vw;object-fit:cover;object-position:center!important;z-index:-2}
 .inner-hero:after,.refresh-hero:after,.solutions-hero:after{top:75px;bottom:auto;height:56.25vw;background:linear-gradient(0deg,#080c11,transparent 30%)}
 .inner-hero h1{font-size:clamp(34px,9.6vw,54px);margin-bottom:20px;overflow-wrap:normal}
 .inner-hero p{margin-bottom:0;font-size:18px;line-height:1.6}
 .breadcrumb{margin-bottom:24px;font-size:11px}
 .about-hero{--portrait-height:clamp(360px,100vw,460px);padding-top:calc(75px + var(--portrait-height) + 30px);min-height:0}
 .about-hero>img{height:var(--portrait-height);object-position:78% center!important}
 .about-hero:after{height:var(--portrait-height);background:linear-gradient(0deg,#080c11,transparent 20%)}
 .founder-quote{margin-top:24px;max-width:none}.founder-quote p{font-size:20px;margin-bottom:18px}
 .founder-quote cite{display:block;font-size:11px;line-height:1.7}
 .scene,.orbital,.home-page .digital{height:auto;min-height:0;max-height:none;background:#07090b;padding:calc(56.25vw + 30px) 0 72px}
 .scene>img{width:100%;height:56.25vw;object-fit:cover;object-position:center;opacity:1}
 .scene:after{bottom:auto;height:56.25vw;background:linear-gradient(0deg,#07090b,transparent 35%)}
 .scene .scene-copy{position:relative;left:auto;right:auto;bottom:auto;max-width:none;margin:0 7%}
 .home-page .digital{padding-top:calc(75px + 56.25vw + 30px);background:#f5f5f2}
 .digital>img{top:75px;object-position:center}
 .digital:after{top:75px;background:linear-gradient(0deg,#f5f5f2,transparent 35%)}
 .scene p{max-width:none;line-height:1.7}
 .orbital h2,.home-page .aviation h2{font-size:clamp(34px,9.6vw,46px)}
 .capability-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;margin:28px 0}
 .capability-links a{font-size:15px;line-height:1.45}
 .digital .scene-copy{margin:0 7%}
 .digital h1{overflow-wrap:normal}
 .scroll-cue{bottom:20px}
 .robotics-feature img{aspect-ratio:16/10;object-position:center}
 .ai-gallery{gap:24px}.ai-visual-image{aspect-ratio:16/10}
 .event-grid .tile{min-width:0}.tile img.event-thumbnail{aspect-ratio:16/9;height:auto}
}
@media(max-width:360px){.home-page .digital h1{font-size:30px}.capability-links{gap:14px 12px}.capability-links a{font-size:14px}}

/* Text contrast: use surface-specific secondary colours. */
.light .tile p,.light .tile .eyebrow,.light .contact-item h3{color:#50575e}
.light .contact-item a:hover{color:#086773}
.filter-bar input::placeholder{color:#626970;opacity:1}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:#b6bdc4;opacity:1}
.inner-page .header{background:rgba(7,10,14,.93)}
.inner-hero .breadcrumb,.inner-hero .breadcrumb a{color:#d3d8de}
.inner-hero .eyebrow{color:#dce1e6}
@media(min-width:701px){
 .inner-page .inner-hero:after{background:linear-gradient(90deg,rgba(8,12,17,.94),rgba(8,12,17,.82) 52%,rgba(8,12,17,.64) 70%,rgba(8,12,17,.15))}
 .home-page .digital:after{background:linear-gradient(90deg,rgba(245,245,242,.96),rgba(245,245,242,.86) 40%,rgba(245,245,242,.55) 65%,transparent 90%)}
}

/* Let the satellite section grow with its copy instead of clipping a bottom-anchored block. */
@media(min-width:701px){
 .home-page .orbital{height:auto;min-height:clamp(680px,48vw,940px);max-height:none;display:flex;align-items:center;padding:88px var(--page-gutter);background:#07090b}
 .home-page .orbital .scene-copy{position:relative;left:auto;right:auto;bottom:auto;width:min(720px,58vw);max-width:none}
 .home-page .orbital h2{font-size:clamp(38px,3.7vw,62px);line-height:1.08;margin-bottom:24px}
 .home-page .orbital .eyebrow{line-height:1.5;margin:0 0 26px}
 .home-page .orbital p{max-width:52ch;line-height:1.7;margin-bottom:28px}
 .home-page .orbital .capability-links{margin-bottom:28px}
 .home-page .orbital>img{object-position:right center}
 .home-page .orbital:after{background:linear-gradient(90deg,rgba(7,9,11,.94),rgba(7,9,11,.84) 35%,rgba(7,9,11,.45) 58%,rgba(7,9,11,.08) 82%),linear-gradient(0deg,rgba(7,9,11,.6),transparent 55%)}
}
@media(max-width:700px){
 .home-page .orbital .eyebrow{line-height:1.5;margin-bottom:22px}
 .home-page .orbital h2{line-height:1.08;margin-bottom:24px}
 .home-page .orbital .capability-links{margin:24px 0 28px}
}

/* Centre the close icon independently of font baseline metrics. */
.menu-close{display:grid;place-items:center;padding:0;font-size:0;line-height:1}
.menu-close::before,.menu-close::after{content:"";position:absolute;top:50%;left:50%;width:15px;height:2px;background:currentColor;border-radius:1px;transform:translate(-50%,-50%) rotate(45deg);pointer-events:none}
.menu-close::after{transform:translate(-50%,-50%) rotate(-45deg)}
