/* Contour Spectrum identity. Vector branding, editorial display type, technical detail. */
@font-face{font-family:'Bodoni Moda';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/bodoni-moda-v1.woff2') format('woff2')}
@font-face{font-family:'Noto Serif Display';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/noto-serif-display-v1.woff2') format('woff2')}
:root{--bg:#0b1110;--surface:#141d19;--surface-2:#1c2822;--text:#eef2ef;--muted:#c9d4ce;--mint:#83bba3;--line:#71958452;--header:#0b1110f5;--button-text:#0b2118;--silver:#dce3e0;--amber:#f6a12a;--cyan:#48c8dc;--editorial:'Bodoni Moda',Georgia,serif;--editorial-weight:600}
html[lang=uk-UA]{--editorial:'Noto Serif Display',Georgia,serif;--editorial-weight:500}
[data-theme=light]{--bg:#edf1ee;--surface:#e1e8e3;--surface-2:#d6e1d9;--text:#10231b;--muted:#354f42;--mint:#285c45;--line:#55786766;--header:#edf1eef5;--button-text:#f5f8f5;--silver:#203d30;--amber:#8d4900;--cyan:#006777}
body{font-kerning:normal;text-rendering:optimizeLegibility}
::selection{background:#83bba3;color:#0b2118}
.site-header{border-bottom-color:var(--line)}
.site-header .brand{display:flex;align-items:center;width:184px;flex:0 0 auto;min-height:62px;overflow:visible}
.site-header .brand-crop{position:relative;display:block;width:100%;height:auto;aspect-ratio:2.75;overflow:hidden}
.site-header .brand .brand-logo{display:block;position:absolute;width:123%;height:auto;max-width:none;left:-13.5%;top:-110%;filter:none;mix-blend-mode:screen}
.footer .footer-brand{width:260px;aspect-ratio:2.75;overflow:hidden}
.footer .footer-brand img{position:absolute;display:block;width:123%;max-width:none;height:auto;left:-13.5%;top:-110%;mix-blend-mode:screen;filter:none}
[data-theme=light] .site-header .brand .brand-logo{filter:invert(1) hue-rotate(180deg);mix-blend-mode:multiply}
[data-theme=light] .footer .footer-brand img{filter:invert(1) hue-rotate(180deg);mix-blend-mode:multiply}
.desktop-nav{font-weight:500}
.desktop-nav a:after{height:1px;background:var(--mint)}
.eyebrow{font-weight:400;letter-spacing:.12em}
.breadcrumbs,.portfolio-nav,.footer-policies span{font-variant-numeric:tabular-nums}
.button{font-weight:600;letter-spacing:0;border-radius:2px}
.text-button{text-underline-offset:7px}
/* Narrative headlines share the display face; product identifiers stay in the sans face. */
.flight-hero h1,.editorial-intro h1,.catalogue-intro h1,.assurance-intro h1,.capability-heading h1,.airspace-hero h1,.cyber-hero h1,
.portfolio-heading h2,.evidence-message h2,.faq-intro h2,.contact-section h2,.airspace-section-head h2,.cyber-section-head h2,.capability-section-head h2{
 font-family:var(--editorial);font-weight:var(--editorial-weight);letter-spacing:-.018em;line-height:1.16;text-wrap:balance;font-synthesis:none
}
.flight-hero h1{font-size:clamp(64px,6vw,100px);line-height:1.035;max-width:760px;text-wrap:nowrap;letter-spacing:-.025em;color:#f0f4f1}
.flight-hero .hero-copy .eyebrow{font-size:11px;letter-spacing:.14em;color:#c9e8da;margin-bottom:24px}
.flight-hero .hero-copy>p:not(.eyebrow){max-width:42ch;font-size:17px;line-height:1.8;color:#e2ebe5}
.editorial-intro h1{max-width:20ch;font-size:clamp(46px,5.5vw,88px);overflow-wrap:normal}
.catalogue-intro h1{max-width:24ch;font-size:clamp(45px,5.1vw,82px)}
.assurance-intro h1{font-size:clamp(46px,5.1vw,82px)}
.capability-heading h1{font-size:clamp(42px,4.4vw,70px)}
.airspace-hero h1,.cyber-hero h1{font-size:clamp(42px,4.4vw,68px)}
.portfolio-heading h2,.evidence-message h2,.faq-intro h2{font-size:clamp(36px,3.65vw,58px)}
.contact-section h2{font-size:clamp(42px,4.5vw,72px);line-height:1.18}
.nexus-feature .nexus-statement{font-family:var(--editorial);font-weight:var(--editorial-weight);font-size:clamp(30px,2.65vw,43px);line-height:1.2;letter-spacing:-.02em;max-width:20ch;color:var(--text)}
.editorial-lead,.airspace-lead,.cyber-lead{line-height:1.85;text-wrap:pretty}
.product-detail-intro h1,.product-card h2,.category-title,.nexus-feature h2{letter-spacing:-.035em}
.product-card,.family-link{border-color:var(--line)}
.product-card .eyebrow,.family-link .eyebrow{color:var(--mint)}
.portfolio-heading{padding-bottom:8px}
.contact-section.section{background:#0d1914}
.footer{background:#080d0b}
.footer .footer-tagline{font-family:var(--editorial);font-weight:var(--editorial-weight);font-size:29px;line-height:1.25;letter-spacing:-.02em;margin-top:23px}
.footer .footer-statement{font-size:15px;line-height:1.9;border-left:1px solid var(--mint);padding-left:17px;max-width:29ch}
.footer .footer-top>nav>.eyebrow{color:var(--mint);letter-spacing:.12em}
.footer .footer-top>nav{font-size:15px;line-height:1.65}
.footer .footer-top nav a{padding-block:6px}
.footer .footer-policies{border-color:var(--line)}
[data-theme=light] .contact-section.section{background:#dfe8e1}
[data-theme=light] .footer{background:#e7ede8}
/* Small spectrum markers reference the supplied identity without competing with product imagery. */
.contact-section.section{position:relative}
.contact-section.section:before{content:'';display:block;width:38px;height:2px;background:var(--mint);box-shadow:42px 0 var(--amber),84px 0 var(--cyan);margin:0 auto 30px;transform:translateX(-42px)}
@media(min-width:961px) and (max-width:1240px){.site-header .brand{width:154px}.site-header{gap:18px}}
@media(max-width:960px){.site-header .brand{width:154px;min-height:54px}.flight-hero h1{font-size:clamp(53px,6.4vw,66px)}}
@media(max-width:800px){
 .flight-hero h1{font-size:clamp(42px,9.6vw,72px);line-height:1.06;letter-spacing:-.025em}
 .flight-hero .hero-copy .eyebrow{font-size:9px;letter-spacing:.09em}
 .flight-hero .hero-copy>p:not(.eyebrow){font-size:16px;max-width:40ch}
 .editorial-intro h1,.catalogue-intro h1,.assurance-intro h1{font-size:clamp(40px,7.4vw,62px);letter-spacing:-.025em}
 .airspace-hero h1,.cyber-hero h1,.capability-heading h1{font-size:clamp(39px,6.8vw,60px)}
 .portfolio-heading h2,.evidence-message h2,.faq-intro h2,.airspace-section-head h2,.cyber-section-head h2,.capability-section-head h2{font-size:clamp(34px,6.6vw,48px);line-height:1.2;letter-spacing:-.025em}
 .nexus-feature .nexus-statement{font-size:clamp(30px,5.5vw,40px);max-width:23ch}
 .contact-section h2{font-size:clamp(37px,7.7vw,56px)}
 .footer .footer-brand{width:236px}.footer .footer-tagline{font-size:28px}.footer .footer-statement{max-width:42ch}
}
@media(max-width:420px){
 .site-header .brand{width:126px;min-height:48px}
 .flight-hero h1{font-size:clamp(37px,10vw,42px)}
 .airspace-hero h1,.cyber-hero h1,.capability-heading h1{font-size:36px}
 .footer .footer-top>nav{font-size:15px}
}
@media print{.capability-heading h1{font-size:23pt;line-height:1.1}.capability-section-head h2{font-size:15pt}.contact-section.section:before{display:none}}

/* Reading hierarchy: comfortable prose, clear controls, and restrained tracking. */
@media screen{
 .editorial-body p,.detail-body p,.report-body p,.report-body li{font-size:clamp(16px,1.15vw,17px);line-height:1.8;max-width:66ch}
 .editorial-body p+p,.report-body p+p{margin-top:1.1em}
 .editorial-lead,.offering-lead,.report-intro .editorial-lead{max-width:64ch;line-height:1.8}
 .family-link p,.product-card .product-description,.offering-pair p,.method-grid p,.jam-rf-context p:not(.eyebrow),.cyber-resource-grid p{font-size:16px;line-height:1.8}
 .detail-body h2,.offering-details h2,.related-section>h2{line-height:1.2;letter-spacing:-.025em}
 .editorial-body h3,.offering-pair h3,.method-grid h3,.related-grid h3,.cyber-feature h3{letter-spacing:-.015em;line-height:1.3}
 .product-detail-intro h1,.product-card h2,.category-title{letter-spacing:-.025em}
 .text-button,.button{font-size:14px;line-height:1.6}
 .header-cta{font-size:12px}
 .breadcrumbs,.page-index a,.report-toc a,.portfolio-nav a{font-size:12px;line-height:1.65}
 .report-byline,.page-date,.product-role,.product-card .eyebrow,.family-link>span:not(.family-visual):not(.family-count):not(.category-offering){font-size:11px;line-height:1.7;letter-spacing:.08em}
 .report-body .report-note{font-size:12px;line-height:1.8}
 .report-table{font-size:13px;font-variant-numeric:tabular-nums}
 .report-sourceMeta{font-size:11px}.report-sourceTitle{font-size:14px}
 .editorial-body .fine-print{font-size:13px}
 .faq-list summary{font-weight:500;line-height:1.5}
 .faq-list details p{font-size:16px;line-height:1.8;max-width:65ch}
 .product-facts dd,.capability-facts dd,.contact-list dd{font-variant-numeric:tabular-nums}
}
@media screen and (min-width:1241px){.desktop-nav{font-size:14px;gap:22px}}
@media screen and (max-width:600px){
 .breadcrumbs{font-size:11px;gap:8px}.text-button,.button{font-size:13px}
 .editorial-body h2,.report-h2{line-height:1.25}
 .family-link p,.product-card .product-description{max-width:58ch}
 .report-stats{grid-template-columns:minmax(0,1fr)}
 .report-stats .report-stat{border-right:0;border-bottom:1px solid var(--line)}
 .report-stats .report-stat:last-child{border-bottom:0}
 .report-statValue{font-size:clamp(14px,4.4vw,19px);white-space:nowrap;overflow-wrap:normal}
}

/* Keep paired content and its links aligned without stacked trailing margins. */
@media screen{
 .offering-pair,.method-grid{column-gap:clamp(28px,4.5vw,64px);row-gap:36px;margin-block:40px 0}
 .offering-pair article,.method-grid article{display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding-bottom:0}
 .offering-pair article>h3:first-child{margin-top:0}
 .offering-pair article>p,.method-grid article>p{margin-bottom:24px}
 .offering-pair article>p:last-child,.method-grid article>p:last-child{margin-bottom:0}
 .offering-pair article>.text-button,.method-grid article>.text-button{margin-top:auto;max-width:100%}
 .offering-pair:has(+.text-button),.method-grid:has(+.text-button){margin-bottom:32px}
 .cyber-engagement-grid article,.cyber-resource-grid article{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
 .cyber-engagement-grid article>.text-button{margin-top:auto}
 .cyber-resource-grid article>p{margin-bottom:24px}
 .cyber-resource-grid article>.text-button,.cyber-resource-grid article>.cyber-resource-links{margin-top:auto}
 .offering-details h2,.nexus-section-heading h2{max-width:26ch}
 .offering-record p,.evaluation-columns p,.god-knox-components p,.god-knox-workflow p{font-size:16px;line-height:1.8}
 .product-card .category-offering,.family-link .category-offering{line-height:1.8}
 .buyer-briefing h2{max-width:21ch;line-height:1.18;letter-spacing:-.025em}
 .briefing-agenda ol{margin-bottom:20px}
 .qk-briefing article{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
 .qk-briefing article>p:not(.eyebrow){margin-bottom:24px}
 .qk-briefing article>.text-button{margin-top:auto}
 .text-button{max-width:100%;overflow-wrap:anywhere}
 .product-facts dt,.product-facts dd{overflow-wrap:break-word}
}
@media screen and (min-width:551px) and (max-width:800px){
 .family-grid,.product-grid{gap:24px}
 .family-link .category-title,.product-card .category-title{font-size:clamp(25px,3.7vw,30px);line-height:1.2}
}
@media screen and (max-width:600px){
 .offering-pair,.method-grid{margin-top:30px;row-gap:30px}
 .offering-pair article,.method-grid article{padding-top:24px}
 .offering-details h2,.nexus-section-heading h2{max-width:24ch}
 .buyer-briefing h2{max-width:23ch}
 .briefing-agenda li{gap:12px;padding-block:16px}
 .related-grid>a{padding-bottom:4px}
}
@media screen and (max-width:359px){
 :root{--gutter:16px}
 .site-header{padding-inline:16px;gap:6px}
 .site-header .brand{width:112px}
}

/* Keep the hero label, headline, description, and actions on one content rail. */
@media screen{
 .flight-hero .hero-copy{width:auto;max-width:none;margin-inline:var(--gutter);padding-inline:0}
 .flight-hero .hero-copy>h1,.flight-hero .hero-copy>.eyebrow,.flight-hero .hero-actions{width:fit-content;max-width:100%}
 .flight-hero .hero-index>span:first-child{padding-left:0}
 .flight-hero .hero-index>span:last-child{padding-right:0}
}
@media screen and (min-width:801px) and (max-height:780px){
 .flight-hero h1{font-size:clamp(54px,5.6vw,88px)}
 .flight-hero .hero-copy .eyebrow{margin-bottom:22px}
}
