/* Site layout on top of av.css (Avionikwerk Flight components). Tokens only. */
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 12px);background:var(--bg)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
body.av{min-height:100vh;overflow-x:hidden}
img{max-width:100%}
.container{width:min(var(--container-max),100% - 2*var(--gutter));margin-inline:auto}
.skip-link{position:absolute;left:16px;top:-80px;z-index:100;background:var(--blue);color:var(--white);padding:12px 18px;font-weight:600}
.skip-link:focus{top:12px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.av-company{text-transform:none;letter-spacing:0}

/* Header */
.av-header{position:sticky;top:0;z-index:50;background:#061524f2;backdrop-filter:saturate(1.2) blur(8px)}
.av-header__inner{padding:0;width:min(var(--container-max),100% - 2*var(--gutter));margin-inline:auto}
.av-header__brand{width:200px;flex-shrink:0}
.av-lang a{padding:8px 2px}
.menu-toggle{display:none;margin-left:auto;align-items:center;gap:10px;min-height:44px;padding:8px 14px;background:transparent;color:var(--white);border:var(--stroke-hairline) solid #66809b;border-radius:var(--radius-button);font:600 .875rem/1 var(--font-sans);cursor:pointer}
.menu-toggle svg{width:22px;height:22px;stroke:currentColor;stroke-width:1.5;fill:none}
.menu-toggle .i-close,.menu-toggle[aria-expanded="true"] .i-menu{display:none}
.menu-toggle[aria-expanded="true"] .i-close{display:block}
@media (max-width:1000px){
  .menu-toggle{display:inline-flex}
  .av-header__brand{width:170px}
  .av-header__inner{gap:16px}
  .av-nav{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;background:var(--navy);border-bottom:var(--stroke-hairline) solid #29435e;padding:8px var(--gutter) 24px}
  .av-nav.open{display:flex;min-height:calc(100svh - var(--header-height));background:var(--navy)}
  .av-nav a{padding:14px 0;border-bottom:var(--stroke-hairline) solid #1c3550;font-size:1rem}
  .av-nav a:after{display:none}
  .av-nav a[aria-current]{color:var(--blue-light)}
  .av-nav .av-nav__cta{margin-top:16px;text-align:center;border-bottom:var(--stroke-hairline) solid #66809b}
}
@media (max-width:480px){.av-header__brand{width:140px}.menu-toggle span{display:none}}
.no-js .av-nav{display:flex}

/* Sections */
.section{padding-block:var(--section-y)}
.section--surface{background:var(--surface)}
.section--raised{background:var(--surface-raised)}
.section + .section--plain{padding-top:0}
.section-head{margin-bottom:var(--space-xl)}
.av-h2 .av-acc,.av-hero h1 span,.page-hero h1 span{display:block}
.av-section-heading .av-textlink{margin-top:12px}

/* Hero: full-viewport, Anduril-scale */
.av-hero{min-height:min(calc(100svh - var(--header-height)),920px);display:flex;flex-direction:column;justify-content:center;padding:var(--space-2xl) 0 var(--space-2xl)}
.av-hero__content{width:min(var(--container-max),100% - 2*var(--gutter));margin-inline:auto;position:relative}
.av-hero__img{inset:0 -7% 0 30%}
/* crop towards western and central Europe (source frame runs east to Moscow) */
.av-hero__img img{display:block;object-position:0% 42%}
@media (max-width:1000px){.av-hero__img img{object-position:34% 42%}}
.av-hero__bottom{position:absolute;left:0;right:0;bottom:0;width:min(var(--container-max),100% - 2*var(--gutter));margin-inline:auto;display:flex;justify-content:space-between;align-items:center;padding-bottom:22px;font:500 .75rem/1.5 var(--font-mono);letter-spacing:.08em;color:#b1c8e0;text-transform:uppercase}
.av-hero__bottom .av-hero__credit{position:static;font:400 .62rem/1.5 var(--font-sans);letter-spacing:.05em;text-transform:none}
.av-hero__credit:hover{opacity:1;text-decoration:underline}
.av-hero__bottom .sep{margin:0 14px;opacity:.6}
.av-hero__bottom .status{white-space:nowrap}
/* av.css resets p/h margins at (0,1,1); restate the ones that matter */
.av .av-hero__copy{margin-top:28px}
.av .av-mission__inner p{margin:18px 0 0;max-width:540px}
.av-lang{align-items:center}
.page-hero{min-height:560px}
.page-hero h1{font-size:4.5rem;letter-spacing:-.04em;line-height:1.08}
@media (max-width:1000px){
  .av-hero__img{inset:0}
  .av-hero__shade{background:linear-gradient(90deg,#061524f5 0%,#061524d0 55%,#06152499 100%),linear-gradient(0deg,#061524 0%,transparent 35%)}
  .av-hero h1,.page-hero h1{font-size:3.35rem}
}
@media (max-width:700px){
  .av-hero{min-height:auto;padding:56px 0 88px}
  .av-hero h1,.page-hero h1{font-size:2.5rem}
  .av-hero__copy{font-size:1rem}
  .av-hero{padding-bottom:120px}
  .av-hero__bottom{flex-direction:column;align-items:flex-start;gap:6px}
  .av-hero__bottom .sep{display:none}
  .av-hero__bottom>span{display:flex;flex-direction:column;gap:6px}
  .av-hero__credit{right:var(--gutter)}
}

/* Mission stack: full-bleed panels edge to edge, text bottom-left */
.mission-stack .av-mission{min-height:min(88svh,820px);padding:var(--space-2xl) 0}
.av-mission__inner{width:min(var(--container-max),100% - 2*var(--gutter));margin-inline:auto;display:flex;flex-direction:column;align-items:flex-start}
.av-mission__img img{display:block}
/* left scrim so copy holds contrast over line art */
.mission-stack .av-mission__shade{background:linear-gradient(0deg,#000000f0 0%,#00000099 40%,#00000000 72%),linear-gradient(90deg,#000000d9 0%,#00000080 42%,#00000000 66%)}
.av-mission__credit{position:absolute;right:var(--gutter);bottom:16px;font-size:.62rem;letter-spacing:.05em;color:#b1c0cf;opacity:.7}
.av-mission h2{max-width:900px}
@media (max-width:1000px){.av-mission h2{font-size:3.3rem}}
@media (max-width:700px){.mission-stack .av-mission{min-height:78svh;padding:var(--space-xl) 0}.av-mission h2{font-size:2.35rem}}

/* Telemetry: values may be words, not only numbers */
.av-telemetry dd.word{font-size:2.1rem}
.av-telemetry dt{hyphens:auto;overflow-wrap:anywhere}
.av .telemetry-note{margin-top:22px;max-width:820px}
@media (max-width:1000px){
  .av-telemetry{grid-template-columns:repeat(2,minmax(0,1fr))}
  .av-telemetry>div:nth-child(3){padding-left:0;border-left:0}
  .av-telemetry>div:nth-child(n+3){border-top:var(--stroke-hairline) solid var(--line);margin-top:18px}
}
@media (max-width:480px){.av-telemetry dd{font-size:2.2rem}.av-telemetry dd.word{font-size:1.6rem}}

/* Grids */
.av-principles--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.av-card__media svg{display:block;width:100%;height:100%}
.av-card h3 a:hover{text-decoration:underline;text-underline-offset:4px}
@media (max-width:1000px){
  .av-section-heading{grid-template-columns:1fr;gap:20px}
  .av-cap-grid,.av-principles--4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .av-industry{grid-template-columns:1fr}
  .av-industry article{border-right:0;border-bottom:var(--stroke-hairline) solid var(--line)}
  .av-industry article:last-child{border-bottom:0}
  .av-principles{grid-template-columns:1fr 1fr}
  .av-h2{font-size:2.6rem}
}
@media (max-width:700px){
  .av-cap-grid,.av-principles,.av-principles--4,.av-standards{grid-template-columns:1fr}
  .av-h2{font-size:2.1rem}
  .av-industry .av-icon{margin-bottom:24px}
}

/* Split: heading left, prose right */
.split{display:grid;grid-template-columns:1fr 1.15fr;gap:var(--space-3xl);align-items:start}
.prose p{color:var(--fg-muted);margin-bottom:18px;max-width:640px}
.prose p:last-child{margin-bottom:0}
.prose .av-list{margin-top:8px;max-width:640px}
.prose h3{margin:30px 0 10px}
@media (max-width:1000px){.split{grid-template-columns:1fr;gap:28px}}

/* Diagram figure */
.diagram{margin:var(--space-xl) 0 0;background:#081d33;border:var(--stroke-hairline) solid var(--line)}
.diagram svg{display:block;width:100%;height:auto}
.diagram figcaption{padding:14px 20px;border-top:var(--stroke-hairline) solid var(--line);font-size:.8rem;color:var(--fg-faint)}
@media (max-width:700px){.diagram{overflow-x:auto}.diagram svg{min-width:640px}}

/* Standards block */
.framework{display:grid;grid-template-columns:.9fr 1.1fr;gap:var(--space-3xl);align-items:start}
.framework .av-footnote{margin-top:18px}
@media (max-width:1000px){.framework{grid-template-columns:1fr;gap:28px}}

/* Process chain: six stages on one rail; the sourced PCB stage is dashed */
.process__intro{font-size:1.3rem;line-height:1.5;color:var(--fg)}
.chain{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));counter-reset:step}
.chain__step{position:relative;padding:34px 22px 8px 0;border-top:var(--stroke-accent) solid var(--accent)}
.chain__step:before{content:'';position:absolute;left:0;top:-7px;width:12px;height:12px;background:var(--accent)}
.chain__step--sourced{border-top-style:dashed;border-top-color:var(--line-strong)}
.chain__step--sourced:before{background:var(--bg);border:var(--stroke-accent) solid var(--line-strong)}
.chain__no{display:block;font:500 .75rem/1.5 var(--font-mono);letter-spacing:.08em;color:var(--fg-faint);margin-bottom:14px}
.chain h3{font-size:1.25rem;font-weight:600;letter-spacing:-.02em;line-height:1.2;margin-bottom:10px;hyphens:auto;overflow-wrap:anywhere}
.chain__step--sourced h3{font-family:var(--font-mono);font-weight:500;letter-spacing:0;color:var(--fg-muted)}
.av .chain p{font-size:.9rem;color:var(--fg-muted);line-height:1.55}
.chain__step--sourced p{color:var(--fg-faint)}
.chain__tag{display:inline-block;margin-top:14px;padding:3px 8px;border:var(--stroke-hairline) dashed var(--line-strong);font:500 .68rem/1.4 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--fg-faint)}
@media (max-width:1000px){.chain{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:36px}}
@media (max-width:700px){
  .chain{grid-template-columns:1fr;row-gap:0;border-left:var(--stroke-accent) solid var(--accent);margin-left:5px}
  .chain__step{border-top:0;padding:0 0 28px 26px}
  .chain__step:before{left:-7px;top:4px}
  .chain__step--sourced{border-left:var(--stroke-accent) dashed var(--line-strong);margin-left:-2px}
  .chain__no{margin-bottom:6px}
}

/* av.css `.av a{color:inherit}` (0,1,1) outranks `.av-btn--primary`; restate the label colour */
.av .av-btn--primary{color:var(--on-action)}

/* Contact, short form */
.av .contact-lead{margin-top:24px}
.contact-cta{align-self:end}
.av .contact-note{margin-top:16px}

/* Facts: label / value rows, mono labels */
.facts{margin:0;border-top:var(--stroke-hairline) solid var(--line-strong)}
.facts>div{display:grid;grid-template-columns:200px 1fr;gap:24px;padding:16px 0;border-bottom:var(--stroke-hairline) solid var(--line)}
.facts dt{font:500 .75rem/1.9 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-subtle)}
.facts dd{margin:0;color:var(--fg)}
@media (max-width:700px){.facts>div{grid-template-columns:1fr;gap:4px}}

/* FAQ */
.faq{border-top:var(--stroke-hairline) solid var(--line)}
.faq details{border-bottom:var(--stroke-hairline) solid var(--line)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:24px;padding:22px 0;font-size:1.15rem;font-weight:600;letter-spacing:-.015em}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:'+';font:400 1.4rem/1 var(--font-mono);color:var(--accent)}
.faq details[open] summary:after{content:'−'}
.faq summary:focus-visible{outline:var(--stroke-focus) solid var(--focus);outline-offset:4px}
.faq .faq__a{padding:0 0 24px;max-width:760px;color:var(--fg-muted)}

/* Contact */
.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--space-3xl);align-items:start}
.contact-mail{display:inline-block;font:500 clamp(1.3rem,3vw,2rem)/1.2 var(--font-mono);color:var(--accent);margin:8px 0 22px;word-break:break-all}
.contact-mail:hover{text-decoration:underline;text-underline-offset:6px}
.av-brief .av-list{margin-bottom:24px}
@media (max-width:1000px){.contact-grid{grid-template-columns:1fr;gap:36px}}

/* CTA band */
.cta-band{background:var(--navy);border-top:var(--stroke-hairline) solid #1c3550}
.cta-band .av-section-heading{align-items:center}

/* Legal / paper pages */
.legal{max-width:820px}
.legal h1{font-size:clamp(1.9rem,8vw,3.3rem);hyphens:auto;overflow-wrap:anywhere;font-weight:600;letter-spacing:-.04em;line-height:1.08;margin-bottom:28px}
.legal h2{font-size:1.4rem;font-weight:600;letter-spacing:-.025em;margin:36px 0 12px}
.legal p,.legal li{color:var(--fg-muted)}
.legal a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.legal .av-draft{margin-bottom:36px}

/* Footer */
.av-footer{padding:56px 0 24px}
.av-footer__main,.av-footer__bottom{width:min(var(--container-max),100% - 2*var(--gutter));margin-inline:auto}
.av-footer__main{grid-template-columns:1.4fr .7fr .7fr 1fr}
.av-footer__main img{width:220px;height:auto}
.av-footer__main p{margin-top:16px;max-width:340px}
.av-footer h2{font:500 .75rem/1.5 var(--font-mono);letter-spacing:.08em;color:#a9bacd;text-transform:uppercase;margin-bottom:10px}
.av-footer__bottom div{flex-wrap:wrap}
/* Touch target: the inline mail link was 16px tall and crowded "Back to top" (WCAG 2.5.8). */
.av-footer__mail{display:inline-flex;align-items:center;min-height:44px}
@media (max-width:1000px){.av-footer__main{grid-template-columns:1fr 1fr;gap:40px}}
@media (max-width:480px){.av-footer__main{grid-template-columns:1fr}.av-footer__bottom{flex-direction:column}}

/* Statement band */
.statement{padding-block:calc(var(--section-y) * 1.2)}
.statement__text{font-size:clamp(1.9rem,4.2vw,3.6rem);font-weight:600;line-height:1.12;letter-spacing:-.04em;max-width:1100px}
.statement__text .av-acc{display:inline}

/* Mission panel headline is an h3 in the outline; styled as the DS mission style */
/* Uppercase umlauts (Ä Ö Ü) rise above cap height: give lines room, never split words */
.av-mission h3{font-size:clamp(1.7rem,5.6vw,4.5rem);font-weight:600;line-height:1.14;letter-spacing:.02em;text-transform:uppercase;max-width:1000px;hyphens:manual;overflow-wrap:break-word;padding-top:.08em}
.av .av-mission__kicker{margin-bottom:22px}
/* shorter panels (AS9100, sovereignty); art anchored to the top so it is cropped from below */
.mission-stack .av-mission--compact{min-height:min(62svh,600px)}
.mission-stack .av-mission--compact .av-mission__shade{background:linear-gradient(0deg,#000000f0 0%,#00000080 34%,#00000000 60%),linear-gradient(90deg,#000000cc 0%,#00000066 30%,#00000000 48%)}
@media (max-width:700px){.mission-stack .av-mission--compact{min-height:60svh}}
.av-mission__img svg{display:block;width:100%;height:100%}
.av-mission__img .earth-crop img{object-position:38% 42%}

/* Capability list: 3×2, hairline-topped, icon + index */
.cap-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-xl) var(--space-lg)}
.cap-list article{border-top:var(--stroke-hairline) solid var(--line-strong);padding-top:20px;display:grid;grid-template-columns:1fr auto;align-items:center;row-gap:14px}
.cap-list .av-icon{color:var(--accent);justify-self:end}
.cap-list h3,.cap-list p{grid-column:1/-1}
.cap-list p{color:var(--fg-muted);font-size:.94rem}
@media (max-width:1000px){.cap-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:700px){.cap-list{grid-template-columns:1fr;gap:28px}}

/* Stealth status pulse */
.pulse{display:inline-block;width:8px;height:8px;margin-right:12px;background:var(--success);vertical-align:1px}
@media (prefers-reduced-motion:no-preference){.pulse{animation:blink 2.4s steps(1) infinite}}
@keyframes blink{50%{opacity:.25}}

/* FAQ question keeps summary styling */
.faq__q{font:inherit;letter-spacing:inherit;margin:0}

/* 404 */
.notfound{min-height:calc(100svh - var(--header-height) - 200px);display:flex;align-items:center}
.notfound .readout{font:400 6rem/1 var(--font-mono);color:var(--accent);margin-bottom:24px}

/* Hero photo: a Europe-only crop shown at its own proportions, scaling with the
   viewport instead of filling the hero; edges fade into the ground. */
.av-hero .av-hero__img{inset:auto;top:50%;right:0;left:auto;bottom:auto;width:min(64vw,1100px);aspect-ratio:1525/1175;transform:translateY(-50%);
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 34%),linear-gradient(180deg,transparent 0,#000 18%,#000 80%,transparent 100%);-webkit-mask-composite:source-in;
  mask-image:linear-gradient(90deg,transparent 0,#000 34%),linear-gradient(180deg,transparent 0,#000 18%,#000 80%,transparent 100%);mask-composite:intersect}
.av-hero .av-hero__img img{width:100%;height:100%;object-fit:contain;object-position:center}
/* Narrower screens: the same bright photo stays the hero background — full width,
   anchored to the top, full brightness. The copy sits below it and only the lower edge
   of the photo, where the copy overlaps, fades into the ground. */
@media (max-width:1000px){
  .av-hero{justify-content:flex-end;min-height:0;padding-top:46vw}
  .av-hero .av-hero__img{top:0;left:0;right:0;bottom:auto;width:100%;max-width:none;transform:none;opacity:1;
    -webkit-mask-image:linear-gradient(180deg,#000 0,#000 62%,transparent 100%);-webkit-mask-composite:source-over;
    mask-image:linear-gradient(180deg,#000 0,#000 62%,transparent 100%);mask-composite:add}
  .av-hero .av-hero__shade{background:linear-gradient(180deg,transparent 0,transparent 36vw,#000 74vw)}
}
@media (max-width:700px){
  .av-hero{padding-top:58vw}
  .av-hero .av-hero__shade{background:linear-gradient(180deg,transparent 0,transparent 46vw,#000 78vw)}
}

/* Mission panels on phones: the drawing gets its own block, sized to show the whole
   drawing (the art lives in the right ~65 % of its 1600×900 canvas), copy below. */
@media (max-width:700px){
  .mission-stack .av-mission,.mission-stack .av-mission--compact{min-height:0;padding:0 0 var(--space-xl);justify-content:flex-start}
  .mission-stack .av-mission__img{position:relative;inset:auto;height:87vw;overflow:hidden;z-index:0}
  .mission-stack .av-mission__img svg{position:absolute;top:0;right:0;width:155vw;height:auto;max-width:none}
  .mission-stack .av-mission__img:after{content:'';position:absolute;left:0;right:0;bottom:0;height:28%;background:linear-gradient(0deg,var(--void),transparent)}
  .mission-stack .av-mission__shade{display:none}
  .mission-stack .av-mission__inner{position:relative;margin-top:-12px}
}

/* per-drawing phone crops: zoom each drawing to its own extent (canvas is 1600x900, right-aligned) */
@media (max-width:700px){
  .mission-stack .av-mission__img[data-art="boxbuild"]{height:80vw}
  .mission-stack .av-mission__img[data-art="supplychain"]{height:46vw}
  .mission-stack .av-mission__img[data-art="supplychain"] svg{width:188vw}
  .mission-stack .av-mission__img[data-art="certification"]{height:50vw}
  .mission-stack .av-mission__img[data-art="certification"] svg{width:205vw;top:-6vw}
}
