/* Heightened Senses design layer (November 2026)
   Loaded last on every page. Defines the token system and restyles both page families
   (hs-site.css pages and the .cu Counter-UAS pages) into one restrained document register:
   Inter for headings and body in mixed case, IBM Plex Mono for metadata only, plain surfaces,
   hairline rules instead of cards, amber reserved for the primary call to action. */

:root{
  --c-dark:#070D14;--c-surface:#0B131D;--c-surface-2:#101A26;
  --c-text:#E6EDF3;--c-text-2:#A9B7C4;--c-text-3:#8FA0B0;
  --c-rule:#1C2836;--c-control:#56697D;
  --c-accent:#3FB6D8;--c-cta:#E8A33D;--c-cta-hover:#D99530;--c-cta-active:#CC8A28;--c-cta-ink:#0B131D;
  --f-sans:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  --f-mono:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  /* legacy token names used by hs-site.css, hs-nav.css and hs-cuas.css */
  --fh:var(--f-sans);--fb:var(--f-sans);--fm:var(--f-mono);--head:var(--f-sans);--body:var(--f-sans);
  --bg:var(--c-dark);--bg2:var(--c-surface);--bg-2:var(--c-surface);--bg3:var(--c-surface-2);--bg-3:var(--c-surface-2);
  --text:var(--c-text);--white:var(--c-text);--muted:var(--c-text-2);--muted2:var(--c-text-3);
  --line:var(--c-rule);--teal:var(--c-accent);--accent:var(--c-accent);--amber:var(--c-cta);--accent-2:var(--c-cta);
  --grad:var(--c-cta);
  /* layout */
  --gut:clamp(20px,4vw,48px);--pad:var(--gut);
  --w-page:1240px;
  --inline:max(var(--gut),calc((100% - var(--w-page)) / 2));
  --secpad:clamp(56px,6vw + 24px,112px);
  --nav-h:56px;
}

/* ---------- Base ---------- */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{background:var(--c-dark);color:var(--c-text);font-family:var(--f-sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
img{height:auto}
p{text-wrap:pretty}
h1,h2,.sh,.hero-h1{text-wrap:balance}
:focus-visible,.fi:focus-visible,.fsub:focus-visible,a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--c-accent);outline-offset:3px}
.skip{background:var(--c-accent);color:var(--c-cta-ink)}
::-webkit-scrollbar{width:8px}::-webkit-scrollbar-thumb{background:#243445;border-radius:4px}
.nw{white-space:nowrap}
.mono{font-family:var(--f-mono)}

/* ---------- Decoration retired ---------- */
.ey-icon,.ey-line,.sr,.hc,.hero-fade,.rc,.radar-glow,.rings,.hs-ov,.pp-stat{display:none!important}
.pc::before,.pc::after,.adv-card::before,.pp-card::before,.ecard::before,.cu .card:before,.cu .pp-main:before,.phero::before{content:none;display:none}

/* ---------- Type ---------- */
.hero-h1,.hero-h1.long,.phero .hero-h1,.cu h1,.cu .hero.sub h1{font-family:var(--f-sans);font-weight:700;text-transform:none;letter-spacing:-.022em;line-height:1.08;color:var(--c-text);margin-bottom:20px;font-size:clamp(1.75rem,1.3rem + 2.6vw,3.25rem)}
.hs-home .hero-h1{font-size:clamp(1.875rem,1.2rem + 3.6vw,4rem);line-height:1.05}
.hero-h1 .t,.hero-h1 .w,.hs-home .hero-h1 .t,.hs-home .hero-h1 .w,.cu h1 .grad{display:inline;background:none;-webkit-background-clip:border-box;background-clip:border-box;color:inherit;-webkit-text-fill-color:currentColor}
.sh,.cu h2,.field h3{font-family:var(--f-sans);font-weight:600;text-transform:none;letter-spacing:-.016em;line-height:1.15;color:var(--c-text);font-size:clamp(1.5rem,1.15rem + 1.5vw,2.25rem);margin:0 0 20px}
.sh .w,.sh .a{color:inherit}
.adv-card h3,.off-grid .adv-card h3,.step h3,.pn,.ename,.pkg-name,.cap-name,.book-h,.hs-name,.faq summary,
.cu h3,.cu .card h3,.cu .layer h3,.cu .panel h3{font-family:var(--f-sans);font-weight:600;text-transform:none;letter-spacing:-.006em;line-height:1.3;color:var(--c-text);font-size:clamp(1.125rem,1.05rem + .35vw,1.3rem)}
.pp-title,.cu .pp-main h3{font-family:var(--f-sans);font-weight:700;text-transform:none;letter-spacing:-.014em;line-height:1.2;color:var(--c-text);font-size:clamp(1.25rem,1.1rem + .6vw,1.625rem);margin:0 0 6px}

/* eyebrows and metadata labels: the only all-caps text on the site */
.ey{display:block;margin:0 0 12px}
.ey-lbl,.crumb,.cu .kicker,.cu .sec-kicker,.pp-agency,.cu .pp-main .agency,.adv-card .k,.fleg,.hd-sub{font-family:var(--f-mono);font-weight:500;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--c-accent);line-height:1.4}
.crumb,.cu .kicker,.cu .sec-kicker{display:block;margin:0 0 12px}
.adv-card .k{display:block;margin:0 0 10px}
.pp-ml,.cc-l,.con-key,.rec-meta dt,.fh,.fids dt{font-family:var(--f-mono);font-weight:500;font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;color:var(--c-text-3);line-height:1.4}

/* body copy: 16px floor, 68ch measure */
.ab,.adv-intro,.buy-intro,.con-intro,.cap-intro,.pos-copy p,.stage-lead,.pd,.pkg-desc,.adv-card p,.eval,.step p,.pp-desc,.cap-desc,.fees-intro,.faq .ans,.award-note,.field p,.book-p,.cta-band p,.pp-note,.eco-note,.legal,
.cu .sec-intro,.cu .card p,.cu .layer p,.cu .panel p,.cu .pp-main p,.cu .band li,.cu .contact-band p,.cu .pp-quiet,.cu .band p{font-size:1rem;line-height:1.65;color:var(--c-text-2)}
.pos-copy,.stage-lead,.cap-intro,.fees-intro,.buy-intro,.con-intro,.cu .sec-intro{max-width:68ch}
.pos-copy p,.ab{margin:0 0 16px}
.ab strong,.pos-copy b,.legal b{color:var(--c-text);font-weight:600}
.stage-lead{margin:0 0 8px}
.hero-body,.phero p.lead,.cu .hero p.lead{font-size:clamp(1.0625rem,1rem + .3vw,1.1875rem);line-height:1.6;color:var(--c-text-2);max-width:60ch}
.hero-body{margin:0 0 28px}
.cu .hero p.lead{margin:0 0 16px}
.cu .hero p.lead + p.lead{margin-bottom:28px}
.phero p.lead{margin:0}

/* in-text links */
main p a:not([class]),main li a:not([class]),main dd a:not([class]),main .ans a:not([class]){color:var(--c-accent)}

/* ---------- Buttons ---------- */
.btn-a,.cu .btn.primary,.fsub,.nav-cta{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 24px;font-family:var(--f-sans);font-weight:600;font-size:.9375rem;letter-spacing:.01em;text-transform:none;line-height:1.2;text-align:center;background:var(--c-cta);color:var(--c-cta-ink);border:1px solid var(--c-cta);border-radius:4px;opacity:1;transition:background-color .18s ease-out,border-color .18s ease-out}
.btn-a:hover,.cu .btn.primary:hover,.fsub:hover,.nav-cta:hover{background:var(--c-cta-hover);border-color:var(--c-cta-hover);opacity:1}
.btn-a:active,.cu .btn.primary:active,.fsub:active,.nav-cta:active{background:var(--c-cta-active);border-color:var(--c-cta-active)}
.btn-g,.cu .btn.ghost{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 24px;font-family:var(--f-sans);font-weight:600;font-size:.9375rem;letter-spacing:.01em;text-transform:none;line-height:1.2;text-align:center;background:transparent;color:var(--c-text);border:1px solid var(--c-control);border-radius:4px;opacity:1;transition:border-color .18s ease-out,color .18s ease-out}
.btn-g:hover,.cu .btn.ghost:hover{border-color:var(--c-accent);color:var(--c-text);opacity:1}
.more,.cu .next .go{display:inline-flex;align-items:center;min-height:24px;font-family:var(--f-sans);font-weight:600;font-size:.9375rem;letter-spacing:0;text-transform:none;color:var(--c-accent)}
.more:hover,.more:focus-visible{color:var(--c-accent);text-decoration:underline;text-underline-offset:3px}
.more::after{content:"\00A0\2192"}
.hero-acts,.cu .btn-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.fsub{align-self:flex-start;margin-top:12px}
.fsub:disabled{opacity:.4;cursor:not-allowed}

/* ---------- Navigation ---------- */
#main-nav{height:var(--nav-h);padding:0 var(--inline);background:rgba(7,13,20,.97);border-bottom:1px solid var(--c-rule)}
#main-nav .logo-img{height:30px}
.nav-links{gap:clamp(18px,1.9vw,28px)}
.nav-links a{font-family:var(--f-sans);font-weight:500;font-size:.9375rem;letter-spacing:0;text-transform:none;color:#C3CEDA}
.nav-links a:not(.nav-cta){display:inline-flex;align-items:center;height:var(--nav-h)}
.nav-links a:hover{color:var(--c-text)}
.nav-links a[aria-current="page"]{color:var(--c-text);box-shadow:inset 0 -2px 0 var(--c-accent)}
.nav-links a.nav-cta,.nav-links a.nav-cta[aria-current="page"]{min-height:40px;padding:0 16px;font-size:.875rem;color:var(--c-cta-ink);box-shadow:none}
.nav-hamburger{width:44px;height:44px;padding:10px;margin-right:-10px}
.nav-hamburger span{background:var(--c-text)}
@media(max-width:1179.98px){
  .nav-hamburger{display:flex;margin-left:auto}
  .nav-links{display:none;flex-direction:column;align-items:stretch;position:fixed;top:var(--nav-h);left:0;right:0;bottom:0;height:auto;max-height:none;margin:0;padding:8px 0 32px;gap:0;background:var(--c-dark);border-top:1px solid var(--c-rule);border-bottom:0;overflow-y:auto;overscroll-behavior:contain;z-index:1001}
  .nav-links.active{display:flex}
  .nav-links a,.nav-links a:not(.nav-cta){display:flex;align-items:center;height:auto;min-height:52px;padding:0 var(--gut);font-size:1.0625rem;letter-spacing:0;color:var(--c-text);border-bottom:1px solid var(--c-rule);background:none}
  .nav-links a:last-child{border-bottom:1px solid var(--c-cta)}
  .nav-links a[aria-current="page"]{box-shadow:inset 3px 0 0 var(--c-accent)}
  .nav-links a:hover,.nav-links a:active{background:var(--c-surface)}
  .nav-links a.nav-cta,.nav-links .nav-cta{display:flex;justify-content:center;margin:24px var(--gut) 0;min-height:48px;padding:0 20px;font-size:1rem;background:var(--c-cta);color:var(--c-cta-ink)}
  .nav-overlay{display:none!important}
}
@media(max-width:600px){
  #main-nav{height:var(--nav-h)}
  #main-nav .logo-img{height:26px}
  .nav-links{top:var(--nav-h)}
}

/* Counter-UAS section tabs */
.cu .subnav{top:var(--nav-h);background:rgba(7,13,20,.97);backdrop-filter:none}
.cu .subnav .wrap{gap:4px}
.cu .subnav a{font-family:var(--f-sans);font-weight:500;font-size:.875rem;letter-spacing:0;text-transform:none;color:var(--c-text-2);padding:14px 14px 12px;border-bottom:2px solid transparent;white-space:nowrap;scroll-snap-align:start}
.cu .subnav a:hover{color:var(--c-text)}
.cu .subnav a[aria-current="page"]{color:var(--c-text);border-bottom-color:var(--c-accent)}
@media(max-width:760px){
  .cu .subnav{position:static}
  .cu .subnav .wrap{flex-wrap:nowrap;justify-content:flex-start;gap:0;padding:0 var(--gut);overflow-x:auto;scroll-snap-type:x proximity;-webkit-mask-image:linear-gradient(90deg,#000 82%,transparent);mask-image:linear-gradient(90deg,#000 82%,transparent)}
  .cu .subnav .wrap.at-end{-webkit-mask-image:none;mask-image:none}
  .cu .subnav a{font-size:.875rem;padding:14px 12px 12px;min-height:48px;display:inline-flex;align-items:center}
}

/* ---------- Heroes (plain surfaces) ---------- */
.hero,.hero.sub{min-height:0;display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:center;gap:clamp(32px,4vw,64px);padding:calc(var(--nav-h) + clamp(48px,6vw,104px)) var(--inline) clamp(48px,6vw,96px);background:var(--c-dark);border-bottom:1px solid var(--c-rule);overflow:visible}
.hero.solo{grid-template-columns:minmax(0,1fr)}
.hero-l,.hs-home .hero-l{max-width:none}
.hero.solo .hero-l{max-width:820px}
.hero-r{display:block}
.hero-creds{display:block;margin:24px 0 0;font-family:var(--f-mono);font-weight:500;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--c-text-3);line-height:1.8}
.hero-creds span{display:inline;white-space:normal}
.hero-creds span::before{content:none}
.hero-creds span+span::before{content:"\00B7";display:inline;margin:0 .7em;width:auto;height:auto;background:none;border-radius:0;opacity:1;color:#4C5E70}
.hero-photo{max-width:none;margin:0}
.photo-frame,.field .frame{padding:0;border:0;background:var(--c-surface-2);box-shadow:none;border-radius:4px;max-width:none;overflow:hidden}
.photo-frame::after{content:none}
.photo-frame img,.field img{border-radius:4px;filter:none}
.hero-photo figcaption,.field figcaption,.plat-fig figcaption,.rec-fig figcaption{font-size:.8125rem;line-height:1.5;color:var(--c-text-3);margin-top:12px;text-align:left}
.phero{padding:calc(var(--nav-h) + clamp(48px,6vw,96px)) var(--inline) clamp(40px,5vw,72px);background:var(--c-dark);border-bottom:1px solid var(--c-rule)}
.phero>*{max-width:820px}
.phero .hero-h1{font-size:clamp(1.75rem,1.3rem + 2.6vw,3.25rem)}
.cu .hero{padding:clamp(48px,6vw,104px) 0 clamp(48px,6vw,96px);background:var(--c-dark);border-bottom:1px solid var(--c-rule)}
.cu .hero.sub{padding:clamp(40px,5vw,80px) 0 clamp(40px,5vw,72px)}
.cu .hero-grid.solo{grid-template-columns:minmax(0,1fr)}
.cu .hero-copy,.cu .hero.sub .wrap>*{max-width:820px}
.cu .chips{display:block;margin:24px 0 0;font-family:var(--f-mono);font-weight:500;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--c-text-3);line-height:1.8}
.cu .chip,.cu .chip.gold{display:inline;border:0;background:none;padding:0;border-radius:0;font-size:inherit;font-weight:inherit;color:inherit}
.cu .chip+.chip::before{content:"\00B7";margin:0 .7em 0 0;color:#4C5E70}

/* ---------- Sections ---------- */
.sec{padding:var(--secpad) var(--inline);border-top:0}
.sec+.sec,.sec+.cta-band{border-top:1px solid rgba(255,255,255,.035)}
.cu .wrap{max-width:calc(var(--w-page) + 2 * var(--gut));padding:0 var(--gut)}
.cu section{padding:var(--secpad) 0}
.cu .band{background:var(--c-surface);border-color:var(--c-rule)}
.cuas-s{background:var(--c-dark)}
.sh~:is(.off-grid,.stage-grid,.buy-grid,.adv-cards,.eng,.cfg-grid,.eco-grid,.pp-grid,.about-grid,.cap-grid-wrap,.cg,.faq,.field,.record,.plat-fig,.plat-grid){margin-top:40px}
.stage-lead+:is(.stage-grid,.eco-grid,.record),.cap-intro+:is(.plat-fig,.plat-grid),.fees-intro+.adv-cards{margin-top:40px}
.cu .sec-intro{margin-bottom:40px}
.legal,.cu .legal{max-width:72ch;margin-top:32px;padding:16px 20px;background:var(--c-surface);border:0;border-left:2px solid var(--c-control);border-radius:0;color:var(--c-text-2)}
.adv-served li::before,.cu .band li:before{color:var(--c-accent)}

/* ---------- Line-work sequences (operating model, approach, purchase steps, C-UAS chain) ---------- */
.stage-grid,.buy-grid,.cu .chain{list-style:none;padding:0;gap:40px 32px}
.stage-grid .step,.buy-grid .step,.cu .chain .card{position:relative;background:none;border:0;border-top:1px solid var(--c-rule);border-radius:0;padding:28px 0 0;overflow:visible}
.stage-grid .step::before,.buy-grid .step::before,.cu .chain .card::before{content:"";position:absolute;display:block;top:-1px;left:0;right:auto;bottom:auto;width:40px;height:2px;background:var(--c-accent);opacity:1}
.step .num,.cu .chain .card .tag,.cu .card .tag{display:block;background:none;-webkit-background-clip:border-box;background-clip:border-box;color:var(--c-accent);-webkit-text-fill-color:var(--c-accent);font-family:var(--f-mono);font-weight:500;font-size:.8125rem;letter-spacing:.08em;line-height:1.4;border:0;padding:0;margin:0 0 12px;border-radius:0}
.step h3,.cu .chain .card h3{margin:0 0 8px}
.stage-grid .step .lbl{font-family:var(--f-mono);font-size:.6875rem;color:var(--c-text-3)}
.cu .card .sub{font-family:var(--f-mono);font-weight:500;font-size:.75rem;letter-spacing:.04em;text-transform:none;color:var(--c-text-3);line-height:1.6;margin:0 0 12px}
.cu .chain .card .sub{margin:auto 0 0;padding-top:12px}
.buy-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1100px){.buy-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){
  .stage-grid,.buy-grid,.cu .chain{grid-template-columns:1fr;gap:0;border-left:1px solid var(--c-rule);margin-left:4px;padding-left:24px}
  .stage-grid .step,.buy-grid .step,.cu .chain .card{border-top:0;padding:0 0 28px}
  .stage-grid .step:last-child,.buy-grid .step:last-child,.cu .chain .card:last-child{padding-bottom:0}
  .stage-grid .step::before,.buy-grid .step::before,.cu .chain .card::before{top:2px;left:-25px;width:2px;height:20px}
}

/* ---------- Editorial columns and line-work lists (cards retired) ---------- */
.adv-card,.cu .card,.cu .panel,.cu .layer{background:none;border:0;border-top:1px solid var(--c-rule);border-radius:0;padding:24px 0 0;overflow:visible}
.adv-cards,.adv-cards.three,.eng,.cfg-grid,.off-grid,.cu .grid{gap:40px 40px}
.cfg-grid{grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr))}
.adv-card h3{margin:0 0 8px}
.adv-card p{margin:0}
.off-grid .adv-card p{margin-bottom:16px}
.eng .adv-card .meta{font-size:1rem;color:var(--c-text-2);border-top:1px solid var(--c-rule);padding-top:12px;margin-top:16px}
.off-grid{gap:0}
.off-grid .adv-card{border-top:0;border-left:1px solid var(--c-rule);padding:4px 32px}
.off-grid .adv-card:first-child{border-left:0;padding-left:0}
.off-grid .adv-card:last-child{padding-right:0}
@media(max-width:900px){
  .off-grid{gap:0}
  .off-grid .adv-card,.off-grid .adv-card:first-child{border-left:0;border-top:1px solid var(--c-rule);padding:24px 0}
  .off-grid .adv-card:first-child{border-top:0;padding-top:0}
  .off-grid .adv-card:last-child{padding-bottom:0}
}
.cu .next a.card{color:var(--c-text);transition:border-color .18s ease-out}
.cu .next a.card:hover{border-top-color:var(--c-accent);opacity:1}
.cu .next .go{margin-top:12px}
.cu .layer{gap:16px}
.cu .layer .abbr{width:44px;height:auto;flex:0 0 44px;display:block;background:none;color:var(--c-accent);-webkit-text-fill-color:var(--c-accent);font-family:var(--f-mono);font-weight:500;font-size:.8125rem;letter-spacing:.06em;border-radius:0;padding-top:3px}
.cu .panel h3,.cu .card h3{margin:0 0 8px}
.cu .panel p{margin:0 0 12px}
.cu .band ul{margin:20px 0 28px}

/* FAQ */
.faq{border-top:1px solid var(--c-rule)}
.faq details{border:0;border-bottom:1px solid var(--c-rule);border-radius:0;background:none;margin:0}
.faq summary{min-height:56px;padding:14px 0;font-size:1.0625rem;gap:16px}
.faq summary::after{color:var(--c-accent)}
.faq .ans{padding:0 0 20px;max-width:68ch}

/* Ecosystem: a list, not tiles */
.eco-grid,.eco-grid.eco-home{display:block;margin-top:40px;border-top:1px solid var(--c-rule)}
.ecard{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.7fr) minmax(0,.9fr);grid-template-areas:"name cat stat" "name desc stat";gap:2px 32px;padding:18px 0;background:none;border:0;border-bottom:1px solid var(--c-rule);border-radius:0}
.ecard:hover{background:none}
.ecard .ename{grid-area:name;margin:0;font-size:1.125rem}
.ecard .ecat{grid-area:cat;margin:0;font-family:var(--f-sans);font-weight:500;font-size:1rem;letter-spacing:0;text-transform:none;color:var(--c-text)}
.ecard .eval{grid-area:desc;margin:0;font-size:1rem}
.ecard .estat,.ecard .estat.ok{grid-area:stat;justify-self:end;align-self:start;margin:3px 0 0;padding:0;border:0;border-radius:0;font-family:var(--f-mono);font-weight:500;font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;color:var(--c-accent);text-align:right;white-space:normal}
.eco-note{margin-top:20px}
.eco-note .more{margin-left:6px;font-size:.9375rem}
@media(max-width:760px){
  .ecard{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name stat" "cat cat" "desc desc";gap:4px 16px}
}

/* ---------- Program record ---------- */
.record,.pp-card,.cu .pp-main{background:var(--c-surface-2);border:0;border-left:2px solid var(--c-accent);border-radius:0 4px 4px 0;padding:clamp(24px,3vw,36px)}
.record{max-width:980px}
.pp-agency,.cu .pp-main .agency{display:block;margin:0 0 10px;color:var(--c-accent)}
.pp-role,.cu .pp-main .role{display:block;margin:0 0 16px;font-family:var(--f-mono);font-weight:500;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--c-text-2)}
.rec-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(190px,100%),1fr));gap:0 32px;margin:0 0 20px;border-top:1px solid var(--c-rule)}
.rec-meta>div{padding:12px 0;border-bottom:1px solid var(--c-rule)}
.rec-meta dd,.pp-mv{margin:4px 0 0;font-family:var(--f-sans);font-weight:500;font-size:.9375rem;color:var(--c-text);line-height:1.45}
.rec-meta dd.mono{font-family:var(--f-mono)}
.pp-desc{margin:0 0 16px}
.pp-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px;border:0;border-top:1px solid var(--c-rule);border-radius:0;margin:20px 0 4px;overflow:visible}
.pp-meta .pp-m,.pp-meta .pp-m:nth-child(2n),.pp-meta .pp-m:nth-last-child(-n+2){padding:12px 0;border:0;border-bottom:1px solid var(--c-rule)}
.award-scope-h{margin-top:24px}
.award-scope{display:block;list-style:disc;padding-left:1.25em;margin:8px 0 0}
.award-scope li{border:0;background:none;border-radius:0;padding:3px 0;font-size:1rem;color:var(--c-text-2)}
.award-scope li::marker{color:var(--c-accent)}
.award-note{margin-top:6px}
.pp-grid,.teaser{display:block;max-width:980px}
.pp-note{margin-top:16px;padding:0}
.cu .pp{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:clamp(24px,4vw,48px);align-items:start}
.cu .pp-main p{margin:0 0 14px}
.cu .pp-main .pp-quiet{color:var(--c-text-3);font-size:.9375rem}
.rec-fig{margin:0}
.rec-fig picture{display:flex;align-items:center;justify-content:center;background:var(--c-surface-2);border-radius:4px;padding:32px 24px;aspect-ratio:4/3}
.rec-fig img{max-height:100%;width:auto;max-width:70%;object-fit:contain}
@media(max-width:860px){.cu .pp{grid-template-columns:1fr}.rec-fig picture{aspect-ratio:16/10}}
@media(max-width:600px){.pp-meta{grid-template-columns:1fr}}

/* ---------- UAS: configuration packages and platforms ---------- */
.pkg-list,.cap-cells{border:0;border-top:1px solid var(--c-rule);border-radius:0;background:none;overflow:visible}
.pkg-row{grid-template-columns:64px minmax(0,1fr);border-bottom:1px solid var(--c-rule)}
.pkg-code{justify-content:flex-start;padding:20px 0;border-right:0;font-family:var(--f-mono);font-weight:500;font-size:.8125rem;letter-spacing:.08em;color:var(--c-accent)}
.pkg-body{padding:18px 0}
.pkg-name{margin:0 0 6px;font-size:1.0625rem}
.cap-cells{gap:0 32px}
.cap-cells .cap-cell,.cap-cells .cap-cell:nth-child(2n),.cap-cells .cap-cell:nth-last-child(-n+2){border:0;border-bottom:1px solid var(--c-rule);padding:20px 0}
.cap-name{margin:0 0 6px;font-size:1.0625rem}
.plat-fig{margin:40px 0 0;background:var(--c-surface-2);border-radius:4px;padding:clamp(20px,3vw,40px)}
.plat-fig img{width:100%;max-width:900px;margin:0 auto}
.plat-grid{display:block;margin-top:40px;border-top:1px solid var(--c-rule)}
.pc{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:clamp(20px,3vw,40px);align-items:start;padding:32px 0;background:none;border:0;border-bottom:1px solid var(--c-rule);border-radius:0;overflow:visible}
.pc:hover{background:none}
.pi{height:auto;aspect-ratio:4/3;background:var(--c-surface-2);border:0;border-radius:4px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.pi img{width:100%;height:100%;object-fit:contain;mix-blend-mode:normal;filter:none;transition:none}
.pc:hover .pi img{transform:none;filter:none}
.pcon{padding:0}
.pc .pb{position:static;display:block;margin:0 0 8px;padding:0;background:none;border:0;border-radius:0;font-family:var(--f-mono);font-weight:500;font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;color:var(--c-accent)}
.pn{margin:0 0 6px;font-size:clamp(1.25rem,1.1rem + .5vw,1.5rem)}
.ps{font-family:var(--f-mono);font-weight:500;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--c-text-3);margin:0 0 12px}
.pd{margin:0 0 12px}
.pt{display:block;font-family:var(--f-mono);font-weight:500;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--c-text-3);line-height:1.8}
.pt .tg{display:inline;border:0;padding:0;border-radius:0;font-size:inherit;letter-spacing:inherit;color:inherit;white-space:nowrap}
.pt .tg+.tg::before{content:"\00B7";margin:0 .6em;color:#4C5E70}
@media(max-width:760px){.pc{grid-template-columns:1fr}.pi{max-width:520px}}

/* ---------- Media ---------- */
.field{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(28px,4vw,56px);align-items:start}
.field figure{margin:0}
.cu .feature img,.cu .video-frame,.cu .hero-reveal{border:0;border-radius:4px;box-shadow:none}
.cu .video-frame{background:var(--c-surface-2)}
.about-r .hs-block{width:min(280px,100%);align-items:flex-start}
.about-grid{grid-template-columns:minmax(0,1fr) 280px;gap:clamp(32px,5vw,72px)}
.about-r{align-items:flex-start}
.hs-img{border:0;border-radius:4px;filter:none;background:var(--c-surface-2)}
.hs-cap{text-align:left;padding-top:14px}
.hs-name{font-size:1.0625rem;margin:0 0 4px;letter-spacing:0}
.hs-title{font-family:var(--f-mono);font-size:.6875rem;letter-spacing:.12em;color:var(--c-text-3)}
@media(max-width:900px){.about-grid{grid-template-columns:1fr}.about-r .hs-block{width:min(220px,70%)}}

/* ---------- How to Buy: vendor record ---------- */
.cg.vendor{display:block;max-width:980px;border:0;border-top:1px solid var(--c-rule);border-radius:0;background:none;overflow:visible;margin-bottom:0}
.cg.vendor .cc,.cg.vendor .cc:nth-child(2n),.cg.vendor .cc:nth-last-child(-n+2){display:grid;grid-template-columns:200px minmax(0,1fr);gap:4px 24px;align-items:baseline;padding:14px 0;border:0;border-bottom:1px solid var(--c-rule)}
.cg.vendor .cc-l{margin:0;white-space:normal}
.cg.vendor .cc-v{font-family:var(--f-sans);font-weight:500;font-size:1rem;color:var(--c-text);line-height:1.5}
.cg.vendor .cc-v.mono{font-family:var(--f-mono);font-size:.9375rem;letter-spacing:.02em}
.codes{list-style:none;display:flex;flex-wrap:wrap;gap:4px 18px;padding:0;margin:0;font-family:var(--f-mono);font-size:.9375rem}
.codes li{white-space:nowrap}
.codes-note{display:block;margin-top:4px;font-size:.875rem;font-weight:400;color:var(--c-text-2)}
button.copy{min-height:32px;padding:0 10px;font-family:var(--f-mono);font-size:.6875rem;letter-spacing:.1em;color:var(--c-accent);background:transparent;border:1px solid var(--c-control);border-radius:4px}
button.copy:hover{border-color:var(--c-accent);color:var(--c-text)}
.doc-acts{margin-top:32px}
@media(max-width:600px){.cg.vendor .cc,.cg.vendor .cc:nth-child(2n),.cg.vendor .cc:nth-last-child(-n+2){grid-template-columns:1fr}}

/* ---------- Contact ---------- */
.con-grid{gap:clamp(40px,6vw,80px)}
.con-row{grid-template-columns:96px minmax(0,1fr);padding:14px 0;border-color:var(--c-rule)}
.con-row:first-child{border-top-color:var(--c-rule)}
.con-val{font-size:1rem;color:var(--c-text)}
.con-val a,.con-val.ambl a{color:var(--c-accent)}
.con-val a:hover{color:var(--c-text)}
.book-call{margin-top:32px;padding:24px;background:var(--c-surface-2);border:0;border-radius:4px}
.book-h{margin:0 0 6px}
.fnote{font-size:1rem;color:var(--c-text-2);margin:0 0 20px}
.fset{margin:0 0 12px}
.fleg{display:block;margin:0 0 12px}
.fg{gap:6px;margin-bottom:16px}
.fl{font-family:var(--f-sans);font-weight:500;font-size:.875rem;letter-spacing:0;text-transform:none;color:var(--c-text)}
.fi,.fsel,.fta{font-size:16px;min-height:48px;padding:12px 14px;background-color:var(--c-surface-2);border:1px solid var(--c-control);border-radius:4px;color:var(--c-text);font-family:var(--f-sans)}
.fta{min-height:140px}
.fi:focus,.fsel:focus,.fta:focus{border-color:var(--c-accent)}
.fi::placeholder,.fta::placeholder{color:#7D8D9C}
.ferr{font-size:.875rem}
.fstat{font-size:.9375rem}
@media(max-width:600px){.fsub{width:100%;align-self:stretch}}

/* ---------- Calls to action ---------- */
.cta-band,.cu .contact-band{padding:var(--secpad) var(--inline);background:var(--c-surface);border-top:1px solid var(--c-rule);text-align:left}
.cu .contact-band{padding:var(--secpad) 0}
.cta-band p,.cu .contact-band p{max-width:60ch;margin:0 0 28px}
.cta-band .hero-acts,.cu .contact-band .btn-row{justify-content:flex-start!important}
.cu .contact-band .meta{justify-content:flex-start;gap:12px 32px;font-size:.9375rem}
.cu .contact-band .meta b{color:var(--c-text);font-weight:600}

/* ---------- Footer ---------- */
footer{padding:56px var(--inline) 40px;background:var(--c-surface);border-top:1px solid var(--c-rule)}
.fgrid{display:grid;grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,1fr));gap:32px}
footer .logo-img{height:28px;width:auto;margin:0 0 14px}
.fmeta{font-size:.8125rem;color:var(--c-text-3);line-height:1.6;margin:0}
.fh{margin:0 0 10px}
.flist{list-style:none;padding:0;margin:0}
.flist li{font-size:.875rem;line-height:1.5;color:var(--c-text-2);padding:3px 0}
.flinks li{padding:0}
.flinks a,.flinks a.social{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0;font-size:.875rem;color:var(--c-text-2);letter-spacing:0;text-transform:none}
.flinks a:hover,.flinks a.social:hover{color:var(--c-accent)}
.fids{margin:0}
.fids div{display:flex;align-items:baseline;gap:10px;padding:3px 0}
.fids dd{margin:0;font-family:var(--f-mono);font-size:.875rem;color:var(--c-text)}
@media(max-width:900px){.fgrid{grid-template-columns:1fr 1fr;gap:28px 24px}}
@media(max-width:340px){.fgrid{grid-template-columns:1fr}}

/* ---------- Responsive ---------- */
@media(max-width:900px){
  .hero,.hero.sub{grid-template-columns:1fr;gap:36px;padding:calc(var(--nav-h) + 40px) var(--inline) 48px}
  .field{grid-template-columns:1fr}
}
@media(max-width:600px){
  .hero,.hero.sub{padding:calc(var(--nav-h) + 28px) var(--inline) 44px;gap:32px}
  .phero{padding:calc(var(--nav-h) + 32px) var(--inline) 36px}
  .cu .hero{padding:32px 0 44px}
  .cu .hero.sub{padding:32px 0 36px}
  .hero-body{margin-bottom:24px}
  .btn-a,.btn-g{width:auto;display:inline-flex;padding:0 20px}
  .hero-acts,.cta-band .hero-acts,.cu .hero .btn-row,.cu .contact-band .btn-row{flex-direction:column;align-items:stretch}
  .hero-acts .btn-a,.hero-acts .btn-g,.cu .hero .btn,.cu .contact-band .btn{width:100%;display:flex}
  .more,.cu .next .go{min-height:44px}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}
/* footer navigation is a list of links, not the fixed site header */
footer nav.fcol{position:static;display:block;height:auto;padding:0;margin:0;background:none;border:0;z-index:auto}
/* product renders sit on black: blend the black into the panel */
.pi img{mix-blend-mode:lighten}
.pt .tg{display:inline-block}
.cu .hero,.cu .hero.sub{display:block}
footer .fcontact{margin:0 0 10px;font-size:.875rem;line-height:1.5}
footer .fcontact a{display:inline-flex;align-items:center;min-height:32px;color:var(--c-text);text-decoration:none;overflow-wrap:anywhere}
footer .fcontact a:hover{color:var(--c-accent)}
/* phone footer: identity across the top, links beside credentials and identifiers */
footer .fcontact a{overflow-wrap:break-word}
@media(max-width:900px){
  .fgrid{grid-template-areas:"id id" "cred links" "ids links";align-items:start}
  .fgrid>.fid{grid-area:id}
  .fgrid>.fcol:nth-child(2){grid-area:cred}
  .fgrid>.fcol:nth-child(3){grid-area:ids}
  .fgrid>.fcol:nth-child(4){grid-area:links}
}
@media(max-width:340px){.fgrid{grid-template-areas:"id" "cred" "ids" "links"}}
/* FAQ accordions on Counter-UAS pages */
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:22px;line-height:1;flex-shrink:0}
.faq details[open] summary::after{content:"\2212"}
.cu .faq .ans{color:var(--c-text-2)}
.cu .next{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr))}
.phero .updated{margin:16px 0 0;font-family:var(--f-mono);font-weight:500;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--c-text-3)}

/* Veteran certification badge, How to Buy */
.verify{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;margin:26px 0 14px}
.verify .vbadge{display:inline-block;line-height:0;border-radius:8px}
.verify .vbadge:focus-visible{outline:2px solid var(--c-accent);outline-offset:3px}
.verify p{margin:0;max-width:44ch;font-size:15px;color:var(--c-text)}
.verify p a{color:var(--c-accent)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Final responsive pass, November 1, 2026 */
/* Balanced headings: no one-word last lines */
h1,h2,h3{text-wrap:balance}
main p{text-wrap:pretty}
/* Metadata separators end a line instead of starting the next one */
.pt .tg+.tg::before{content:none}
.pt .tg:not(:last-child)::after{content:"\00B7";margin:0 .6em;color:#4C5E70}
.hero-creds span+span::before{content:none}
.hero-creds span{display:inline-block;white-space:nowrap}
.hero-creds span:not(:last-child)::after{content:"\00B7";margin:0 .7em;color:#4C5E70}
@media(max-width:360px){.hero-creds span{white-space:normal}}
/* Inline contact links on Counter-UAS closing band: full-height tap target */
.cu .contact-band .meta a{display:inline-block;padding:4px 0}
@media(max-width:760px){
  /* Wide aircraft fill their frame instead of floating in empty space */
  .pi{aspect-ratio:16/10;max-width:none}
  .pi img{padding:6px 10px}
}
.nw{white-space:nowrap}
@media(max-width:600px){.book-call .btn-g{display:flex;align-items:center;justify-content:center;width:100%}}
/* Contact and vendor rows: label above value on phones, so addresses never break mid-word */
@media(max-width:480px){
  .con-row{grid-template-columns:1fr;gap:4px;padding:12px 0}
  .con-val a{overflow-wrap:normal;word-break:normal}
}
.cc .copy{min-height:32px;padding:0 12px}
/* Counter-UAS heroes on small phones: the call to action follows the first paragraph */
@media(max-width:480px){
  .cu .hero-copy{display:flex;flex-direction:column}
  .cu .hero-copy>.lead+.lead{order:2;margin-top:24px}
  .cu .hero-copy>.chips{order:3}
}
