@import url("https://fonts.googleapis.com/css2?family=Archivo+Black&family=DM+Mono:wght@400;500&family=Space+Grotesk:wght@400;500;700&display=swap");

/* Military training page — placed first so shared rules below retain precedence. */
.training-hero{height:min(820px,calc(100vh - 76px));min-height:600px;overflow:hidden;position:relative}.training-hero>img{filter:grayscale(1) contrast(1.2);height:100%;object-fit:cover;width:100%}.hero-wash{background:linear-gradient(90deg,rgba(5,5,5,.92),transparent 72%),linear-gradient(0deg,rgba(5,5,5,.75),transparent 50%);inset:0;position:absolute}.hero-meta{display:flex;font:10px var(--mono);justify-content:space-between;left:28px;position:absolute;right:28px;top:28px}.training-hero .hero-copy{bottom:9%;left:5.5vw}.training-hero h1{font:clamp(58px,10.5vw,155px)/.78 var(--display);letter-spacing:-.085em;margin:0 0 0 -8px}.training-hero h1 span,.section-lead h2 span,.training-footer h2 span{color:var(--orange)}.training-hero .section-label{margin-bottom:22px}.training-ruler{border-bottom:1px solid var(--line);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(6,1fr)}.training-ruler>*{color:var(--paper);min-height:108px;padding:16px}.training-ruler>*+*{border-left:1px solid var(--line)}.training-ruler small,.capabilities small,.program-grid small{color:var(--orange);display:block;font:10px var(--mono)}.training-ruler strong{display:block;font:500 12px/1.15 var(--mono);margin-top:28px;text-transform:uppercase}.training-ruler a{transition:.18s}.training-ruler a:hover{background:var(--orange);color:var(--ink)}.training-ruler a:hover small{color:var(--ink)}.measure{position:relative}.measure i{background:repeating-linear-gradient(90deg,var(--line) 0 1px,transparent 1px 12px);bottom:22px;height:10px;left:16px;position:absolute;right:16px}.ruled-section{border-top:1px solid var(--line);padding:28px 28px 110px}.section-lead{display:grid;gap:7vw;grid-template-columns:1fr 1fr;margin:0 5vw 86px 10vw}.section-lead h2{font:clamp(32px,4.2vw,64px)/.86 var(--display);letter-spacing:-.075em;margin:0}.section-lead p{font-size:18px;line-height:1.55}.orange{color:var(--orange)}.copy-grid{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;margin:0 5vw 0 10vw}.copy-grid>div{padding:38px 5vw 0 0}.copy-grid>div+div{border-left:1px solid var(--line);padding-left:5vw}.copy-grid p{line-height:1.65}.copy-grid h3,.framework h3{color:var(--orange);font:12px var(--mono);margin:42px 0 20px}.indexed-list,.framework ol{list-style:none;margin:0;padding:0}.indexed-list li{border-top:1px solid var(--line);display:grid;font-size:14px;gap:18px;grid-template-columns:.8fr 1.2fr;padding:16px 0}.indexed-list span,.capabilities p,.framework span{opacity:.72}.capabilities{border-bottom:1px solid var(--line);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);margin:0 -28px}.capabilities article{min-height:330px;padding:22px 28px}.capabilities article+article{border-left:1px solid var(--line)}.capabilities h3{font:28px/.95 var(--display);letter-spacing:-.04em;margin:100px 0 20px}.capabilities p{font-size:14px;line-height:1.55}.framework{margin:78px 5vw 0 10vw}.framework li{border-top:1px solid var(--line);display:grid;gap:25px;grid-template-columns:40px 1fr 2fr;padding:18px 0}.framework b{color:var(--orange);font:11px var(--mono)}.framework strong{text-transform:uppercase}.programs{overflow:hidden;padding-bottom:0}.program-grid{border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0 -28px}.program-grid article{border-top:1px solid var(--line);min-width:0;overflow:hidden}.program-grid article:nth-child(odd){border-right:1px solid var(--line)}.program-grid a{color:var(--paper);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.72fr);height:100%;min-width:0;overflow:hidden}.program-grid figure{align-self:start;aspect-ratio:1/1;box-sizing:border-box;flex:none;background:var(--orange);margin:0;min-width:0;overflow:hidden;position:relative;width:100%}.program-grid img{display:block;filter:grayscale(1) contrast(1.08);height:100%;inset:0;object-fit:cover;object-position:center;position:absolute;transition:filter .25s,opacity .25s,transform .35s;width:100%}.program-grid a:hover img{filter:grayscale(0) sepia(1) saturate(5) hue-rotate(338deg) contrast(1.05);opacity:.62;transform:scale(1.025)}.program-grid a>div{display:flex;flex-direction:column;min-width:0;padding:22px;position:relative}.program-grid h3{font:clamp(24px,2.35vw,38px)/.9 var(--display);letter-spacing:-.055em;margin:clamp(52px,6vw,82px) 0 18px}.program-grid p{font-size:13px;line-height:1.45;margin:0 38px 0 0;opacity:.7}.program-grid b{bottom:20px;color:var(--orange);font-size:25px;position:absolute;right:22px}.training-footer{border-top:1px solid var(--line);padding:28px}.training-footer>div{align-items:end;display:flex;justify-content:space-between;margin:80px 5vw 100px 10vw}.training-footer h2{font:clamp(38px,5vw,68px)/.8 var(--display);letter-spacing:-.08em;margin:0}.training-footer>div a{border:1px solid var(--orange);font:11px var(--mono);padding:18px}.training-footer>p:last-child{border-top:1px solid var(--line);display:flex;font:10px var(--mono);justify-content:space-between;margin:0;padding-top:18px}
@media(max-width:900px){.training-ruler{grid-template-columns:repeat(2,1fr)}.section-lead,.copy-grid{grid-template-columns:1fr;margin-left:0;margin-right:0}.copy-grid>div+div{border-left:0;padding-left:0}.capabilities{grid-template-columns:1fr 1fr}.capabilities article:nth-child(3){border-left:0;border-top:1px solid var(--line)}.capabilities article:nth-child(4){border-top:1px solid var(--line)}.program-grid{grid-template-columns:1fr}.program-grid article:nth-child(odd){border-right:0}}
@media(max-width:560px){.training-hero{min-height:540px}.hero-meta span:last-child{display:none}.ruled-section{padding:24px 18px 72px}.section-lead{gap:36px;margin-bottom:56px}.section-lead p{font-size:16px}.capabilities{grid-template-columns:1fr;margin-left:-18px;margin-right:-18px}.capabilities article+article{border-left:0;border-top:1px solid var(--line)}.framework{margin:60px 0 0}.framework li{grid-template-columns:32px 1fr}.framework li span{grid-column:2}.program-grid{margin:0 -18px}.program-grid a{grid-template-columns:1fr}.program-grid figure{height:auto;max-width:100%}.program-grid a>div{min-height:250px}.training-footer>div{align-items:start;flex-direction:column;gap:50px;margin:70px 0}}

:root {
    --ink: #050505;
    --paper: #f4f1e9;
    --orange: #ff5a00;
    --line: #f4f1e966;
    --mono: "DM Mono", monospace;
    --display: "Archivo Black", Impact, sans-serif;
    --sans: "Space Grotesk", Arial, sans-serif;
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    background: var(--ink);
    color: var(--paper);
    font-family: var(--sans);
    font-size: 16px;
}

a {
    color: var(--orange);
    text-decoration: none;
}

a:hover {
    color: var(--paper);
}

.skip-link {
    background: var(--orange);
    color: var(--ink);
    left: 12px;
    padding: 10px;
    position: fixed;
    top: -60px;
    z-index: 10;
}

.skip-link:focus {
    top: 12px;
}

.site-header {
    align-items: center;
    border-bottom: 1px solid var(--line);
    display: flex;
    min-height: 76px;
    padding: 0 28px;
    position: relative;
    z-index: 2;
}

.wordmark {
    color: var(--paper);
    display: flex;
    font-family: var(--display);
    font-size: 24px;
    letter-spacing: -1.8px;
    line-height: .8;
    margin-right: auto;
}

.wordmark span:first-child {
    color: var(--orange);
}

.wordmark sup {
    color: var(--orange);
    font: 10px var(--mono);
    margin-left: 3px;
}

.site-nav {
    display: flex;
    gap: 20px;
}

.site-nav a {
    color: var(--paper);
    font: 11px var(--mono);
}

.site-nav a:hover,
.site-nav .is-active {
    color: var(--orange);
}

.top-links {
    align-items: center;
    border-left: 1px solid var(--line);
    display: flex;
    font: 11px var(--mono);
    gap: 9px;
    margin-left: 20px;
    padding-left: 20px;
    white-space: nowrap;
}

.top-links a {
    color: var(--orange);
}

.top-links a:hover {
    color: var(--paper);
}

.top-links .af-auth-divider {
    color: var(--paper);
    opacity: .45;
}

.top-links .af-user-badge {
    color: var(--paper);
}

.menu-toggle {
    display: none;
}

.mobile-menu-toggle {
    align-items: center;
    background: transparent;
    border: 0;
    cursor: pointer;
    display: flex;
    font-family: inherit;
    justify-content: space-between;
    text-align: left;
    width: 100%;
}

.mobile-menu-toggle span {
    color: var(--orange-600);
    font-size: 1.3rem;
    line-height: 1;
    transition: transform .2s ease;
}

.mobile-menu-toggle[aria-expanded="true"] span {
    transform: rotate(45deg);
}

.hero {
    min-height: calc(100vh - 76px);
    overflow: hidden;
    padding: 28px;
    position: relative;
}

.hero-meta {
    display: flex;
    font: 10px var(--mono);
    justify-content: space-between;
    letter-spacing: .03em;
    position: relative;
    z-index: 1;
}

.hero-carousel {
    inset: 0;
    overflow: hidden;
    opacity: .72;
    position: absolute;
}

.hero-carousel::after {
    background: linear-gradient(90deg, #050505 0%, transparent 55%), linear-gradient(0deg, #050505 1%, transparent 44%);
    content: "";
    inset: 0;
    position: absolute;
    z-index: 1;
}

.hero-slide {
    inset: 0;
    margin: 0;
    opacity: 0;
    position: absolute;
    transform: translateX(100%);
    transition: opacity .8s ease, transform .8s ease;
    will-change: opacity, transform;
}

.hero-slide.is-active {
    opacity: 1;
    transform: translateX(0);
}

.hero-slide.is-leaving {
    opacity: 0;
    transform: translateX(-100%);
}

.hero-slide img {
    display: block;
    filter: grayscale(1) contrast(1.15);
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.hero-carousel-control {
    align-items: center;
    background: transparent;
    border: 1px solid var(--paper);
    color: var(--paper);
    cursor: pointer;
    display: flex;
    font-size: 18px;
    height: 44px;
    justify-content: center;
    padding: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    transition: background .2s ease, color .2s ease;
    width: 44px;
    z-index: 2;
}

.hero-carousel-control:hover,
.hero-carousel-control:focus-visible {
    background: var(--orange);
    border-color: var(--orange);
    color: var(--ink);
}

.hero-carousel-control--previous { left: 28px; }
.hero-carousel-control--next { right: 28px; }

.hero-copy {
    bottom: 7vw;
    left: 5.5vw;
    position: absolute;
    z-index: 1;
}

.eyebrow,
.section-label {
    color: var(--orange);
    font: 11px var(--mono);
    letter-spacing: .06em;
}

h1,
h2,
h3,
p {
    margin-top: 0;
}

.hero h1 {
    font: clamp(48px, 8vw, 124px)/.79 var(--display);
    letter-spacing: -.08em;
    margin: 16px 0 34px -6px;
}

.hero-subtitle {
    font-size: clamp(14px, 1.25vw, 18px);
    line-height: 1.45;
    margin: -12px 0 24px;
    max-width: 620px;
}

.hero h1 em,
.intro h2 span,
.operations h2 span,
.contact h2 span,
.documents h2 em {
    color: var(--orange);
    font-style: normal;
}

.brutal-button {
    background: var(--orange);
    border: 1px solid var(--orange);
    color: var(--ink);
    display: inline-flex;
    font: 700 13px var(--mono);
    gap: 40px;
    padding: 15px 16px;
    transition: .15s ease;
}

.brutal-button:hover {
    background: transparent;
    color: var(--orange);
}

.brutal-button b {
    font-size: 17px;
    line-height: 12px;
}

.hero-index {
    bottom: 28px;
    font: 10px var(--mono);
    position: absolute;
    right: 28px;
    z-index: 1;
}

.ruled-section {
    border-top: 1px solid var(--line);
    padding: 26px 28px 90px;
}

.section-label {
    margin-bottom: 72px;
}

.intro-statement,
.operations-layout,
.contact-layout {
    display: grid;
    gap: 8%;
    grid-template-columns: 1.35fr .65fr;
    margin-left: 10%;
}

.intro .intro-statement {
    gap: 5%;
    grid-template-columns: .85fr 1.15fr;
}

.intro h2 {
    font: clamp(28px, 3.2vw, 48px)/.88 var(--display);
    letter-spacing: -.07em;
    margin: 0;
}

.operations h2,
.contact h2,
.documents h2 {
    font: clamp(32px, 4.4vw, 64px)/.88 var(--display);
    letter-spacing: -.07em;
    margin: 0;
}

.intro-notes {
    max-width: none;
    padding-top: 12px;
}

.intro-item {
    border-top: 1px solid var(--line);
    margin-top: 72px;
    padding-top: 26px;
}

.intro-item .section-label {
    margin-bottom: 52px;
}

.intro-item--orange {
    background: var(--orange);
    border: 0;
    color: var(--ink);
    margin: 72px -28px -90px;
    padding: 26px 28px 90px;
}

.intro-item--orange .section-label {
    color: var(--ink);
}

.intro-item--orange h2 {
    color: var(--ink);
}

.intro-item--orange h2 span {
    color: var(--paper);
}

.intro-item--orange .intro-accordion {
    border-bottom-color: var(--ink);
    border-top-color: var(--ink);
}

.intro-item--orange .intro-accordion summary,
.intro-item--orange .accordion-content strong {
    color: var(--ink);
}

.intro-item--orange .accordion-ellipsis,
.intro-item--orange .accordion-plus,
.intro-item--orange .accordion-arrow {
    color: var(--paper);
}

.intro-item--orange .accordion-content a {
    border-color: var(--ink);
    color: var(--ink);
}

.intro-item--cots {
    margin-bottom: 0;
}

.intro-item--black {
    background: var(--ink);
    border-top: 1px solid var(--orange);
    color: var(--paper);
    margin: 72px -28px -90px;
    padding: 26px 28px 90px;
}

.intro-item--black .section-label,
.intro-item--black .accordion-ellipsis,
.intro-item--black .accordion-plus,
.intro-item--black .accordion-arrow {
    color: var(--orange);
}

.intro-item--black h2,
.intro-item--black .intro-accordion summary,
.intro-item--black .accordion-content strong {
    color: var(--paper);
}

.intro-item--black .intro-accordion {
    border-bottom-color: var(--line);
    border-top-color: var(--orange);
}

.intro-item--black .accordion-content a {
    border-color: var(--orange);
    color: var(--orange);
}

.intro-notes p,
.operations-layout p,
.contact-layout p,
.documents-action p {
    font-size: 17px;
    line-height: 1.45;
}

.intro-accordion {
    border-bottom: 1px solid var(--line);
    border-top: 1px solid var(--orange);
    position: relative;
}

.intro-accordion summary {
    align-items: flex-end;
    color: var(--paper);
    cursor: pointer;
    display: grid;
    font-size: 15px;
    gap: 10px;
    grid-template-columns: 1fr auto auto auto;
    line-height: 1.48;
    list-style: none;
    padding: 14px 0;
}

.intro-accordion summary::-webkit-details-marker {
    display: none;
}

.accordion-ellipsis,
.accordion-plus,
.accordion-arrow {
    color: var(--orange);
    font: 20px var(--mono);
    line-height: 16px;
}

.accordion-arrow {
    transition: transform .15s ease;
}

.intro-accordion[open] .accordion-arrow {
    transform: rotate(180deg);
}

.intro-accordion[open] summary {
    display: block;
    padding-right: 0;
}

.intro-accordion[open] .accordion-ellipsis,
.intro-accordion[open] .accordion-plus,
.intro-accordion[open] .accordion-arrow {
    bottom: 12px;
    position: absolute;
    z-index: 1;
}

.intro-accordion[open] .accordion-ellipsis {
    right: 44px;
}

.intro-accordion[open] .accordion-plus {
    right: 22px;
}

.intro-accordion[open] .accordion-arrow {
    right: 0;
}

.accordion-content {
    padding: 5px 0 10px;
}

.intro-accordion[open] .accordion-content {
    padding-bottom: 42px;
}

.accordion-content p {
    font-size: 15px;
    line-height: 1.48;
    margin: 0 0 17px;
}

.accordion-content strong {
    color: var(--paper);
}

.accordion-content a {
    border-bottom: 1px solid var(--orange);
}

.text-link {
    border-bottom: 2px solid var(--orange);
    display: inline-block;
    font: 700 12px var(--mono);
    margin-top: 20px;
    padding-bottom: 7px;
}

.text-link b {
    font-size: 17px;
    margin-left: 18px;
}

.services {
    padding-bottom: 0;
}

.services-grid {
    border-left: 1px solid var(--line);
    display: grid;
    grid-template-columns: repeat(4, 1fr);
}

.service {
    border-right: 1px solid var(--line);
    border-top: 1px solid var(--line);
    min-height: 405px;
    overflow: hidden;
    position: relative;
}

.service-link {
    color: var(--paper);
    display: block;
    height: 100%;
    min-height: 405px;
    position: relative;
}

.service-link>img {
    display: block;
    filter: grayscale(1) contrast(1.12);
    height: 100%;
    object-fit: cover;
    transition: filter .2s ease, transform .25s ease;
    width: 100%;
}

.service-overlay {
    background: rgba(255, 90, 0, 0);
    bottom: 0;
    display: flex;
    flex-direction: column;
    inset: 0;
    justify-content: flex-end;
    padding: 18px;
    position: absolute;
    transition: background .2s ease;
}

.service-overlay>span {
    font-size: 13px;
    line-height: 1.4;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: max-height .25s ease, opacity .2s ease;
}

.service-overlay strong {
    font: clamp(20px, 2vw, 31px)/.9 var(--display);
    letter-spacing: -.06em;
    margin: 0;
    text-shadow: 0 1px 8px #000;
}

.service-overlay b {
    align-items: center;
    border: 1px solid var(--paper);
    color: var(--paper);
    display: flex;
    font-size: 24px;
    height: 36px;
    justify-content: center;
    margin-top: 14px;
    width: 36px;
}

.service-number {
    color: var(--paper);
    font: 11px var(--mono);
    margin-bottom: auto;
    max-height: none !important;
    opacity: 1 !important;
}

.service-link:hover {
    color: var(--ink);
}

.service-link:hover>img {
    filter: grayscale(1) contrast(1);
    transform: scale(1.04);
}

.service-link:hover .service-overlay {
    background: rgba(255, 90, 0, .78);
}

.service-link:hover .service-overlay>span:not(.service-number) {
    max-height: 100px;
    opacity: 1;
    padding-top: 12px;
}

.service-link:hover .service-overlay strong,
.service-link:hover .service-number {
    text-shadow: none;
}

.service-link:hover .service-overlay b {
    border-color: var(--ink);
    color: var(--ink);
}

.carousel-section {
    border-top: 1px solid var(--line);
    display: grid;
    grid-template-columns: .72fr 1.28fr;
    margin-top: 90px;
}

.carousel-heading {
    border-right: 1px solid var(--line);
    display: flex;
    flex-direction: column;
    padding: 26px 28px;
}

.carousel-heading .section-label {
    margin: 0;
}

.carousel-copy {
    border-top: 1px solid var(--line);
    margin-top: auto;
    padding-top: 20px;
}

.carousel-copy h3 {
    font: clamp(21px, 2.4vw, 36px)/.91 var(--display);
    letter-spacing: -.06em;
    margin: 0 0 18px;
}

.carousel-copy p {
    font-size: 16px;
    line-height: 1.42;
    margin: 0;
}

.brutal-carousel {
    min-width: 0;
}

.carousel-frames {
    background: #171717;
    position: relative;
}

.carousel-slide {
    display: none;
    margin: 0;
    position: relative;
}

.carousel-slide.is-active {
    display: block;
}

.carousel-slide img {
    display: block;
    filter: grayscale(1) contrast(1.2);
    height: 48vw;
    max-height: 610px;
    min-height: 380px;
    object-fit: cover;
    width: 100%;
}

.carousel-controls {
    align-items: center;
    border-top: 1px solid var(--line);
    display: flex;
    justify-content: space-between;
}

.carousel-controls button {
    background: transparent;
    border: 0;
    color: var(--paper);
    cursor: pointer;
    font: 11px var(--mono);
    padding: 17px 20px;
}

.carousel-controls>button:hover {
    background: var(--orange);
    color: var(--ink);
}

.carousel-dots {
    display: flex;
    gap: 7px;
}

.carousel-dots button {
    border: 1px solid var(--orange);
    height: 11px;
    padding: 0;
    width: 11px;
}

.carousel-dots button.is-active,
.carousel-dots button:hover {
    background: var(--orange);
}

.operations-layout {
    grid-template-columns: 1fr 1fr;
}

.operations-layout>div {
    max-width: 440px;
}

.fact-list {
    border-top: 1px solid var(--line);
    margin: 42px 0 0;
}

.fact-list div {
    border-bottom: 1px solid var(--line);
    display: flex;
    font: 12px var(--mono);
    padding: 13px 0;
}

.fact-list dt {
    color: var(--orange);
    width: 52px;
}

.fact-list dd {
    margin: 0;
}

.documents {
    background: var(--orange);
    color: var(--ink);
    display: grid;
    gap: 10%;
    grid-template-columns: 1.2fr .8fr;
    padding: 90px 10%;
}

.documents .eyebrow {
    color: var(--ink);
}

.documents h2 em {
    color: var(--paper);
}

.documents-action {
    align-self: end;
    max-width: 410px;
}

.button--light {
    background: var(--ink);
    border-color: var(--ink);
    color: var(--paper);
}

.button--light:hover {
    background: var(--paper);
    border-color: var(--paper);
    color: var(--ink);
}

.contact-layout {
    grid-template-columns: 1fr .7fr;
}

.contact-layout>div {
    padding-top: 10px;
}

.contact-link {
    border-bottom: 1px solid var(--orange);
    display: flex;
    font: 700 13px var(--mono);
    justify-content: space-between;
    padding: 14px 0;
}

.contact-link b {
    font-size: 20px;
}

.site-footer {
    border-top: 1px solid var(--line);
    display: grid;
    grid-template-columns: 1.3fr 1fr 1fr;
    padding: 0;
}

.footer-brand,
.footer-column {
    min-height: 320px;
    padding: 28px;
}

.footer-brand {
    border-right: 1px solid var(--line);
}

.footer-brand .section-label {
    margin: 0;
}

.footer-brand>p:last-child {
    font: 11px var(--mono);
    margin: 28px 0 0;
}

.footer-wordmark {
    color: var(--paper);
    font: clamp(36px, 4.5vw, 64px)/.75 var(--display);
    letter-spacing: -.09em;
    margin-top: 58px;
}

.footer-wordmark span:nth-of-type(2) {
    color: var(--orange);
}

.footer-column {
    border-right: 1px solid var(--line);
}

.footer-column h2 {
    color: var(--orange);
    font: 13px var(--mono);
    margin: 0 0 36px;
}

.footer-column a {
    border-bottom: 1px solid var(--line);
    color: var(--paper);
    display: flex;
    font: 11px var(--mono);
    justify-content: space-between;
    padding: 12px 0;
}

.footer-column a b {
    color: var(--orange);
    font-size: 16px;
    line-height: 8px;
}

.footer-column a:hover {
    color: var(--orange);
}

.footer-bottom {
    border-top: 1px solid var(--line);
    display: flex;
    font: 10px var(--mono);
    grid-column: 1 / -1;
    justify-content: space-between;
    padding: 12px 28px;
}

.footer-bottom a {
    color: var(--orange);
}

/* Visitor registration: the legacy auth behavior, recalibrated for this template. */
.af-modal-overlay {
    background: rgba(0, 0, 0, .9);
    backdrop-filter: none;
}

.af-modal {
    background: var(--paper);
    border: 3px solid var(--orange);
    border-radius: 0;
    box-shadow: 10px 10px 0 var(--orange);
    color: var(--ink);
    font-family: var(--sans);
    max-width: 470px;
    padding: 30px 28px;
}

.af-modal-close {
    color: var(--ink);
    font: 30px var(--mono);
    right: 13px;
    top: 12px;
}

.af-modal-close:hover {
    color: var(--orange);
}

.af-modal-title {
    color: var(--ink);
    font: 28px/.9 var(--display);
    letter-spacing: -.06em;
    margin-bottom: 10px;
}

.af-modal-subtitle,
.af-modal-footer {
    color: #38352f;
    font-size: 13px;
}

.af-form-group label {
    color: var(--ink);
    font-family: var(--mono);
}

.af-form-input {
    background: transparent;
    border: 1px solid var(--ink);
    border-radius: 0;
    color: var(--ink);
    font-family: var(--mono);
}

.af-form-input:focus {
    border-color: var(--orange);
    box-shadow: 4px 4px 0 var(--orange);
}

.af-btn-primary {
    background: var(--orange);
    border: 1px solid var(--ink);
    border-radius: 0;
    color: var(--ink);
    font-family: var(--mono);
    font-weight: 700;
}

.af-btn-primary:hover {
    background: var(--ink);
    color: var(--orange);
}

.af-modal-footer a {
    color: var(--orange);
}

.af-auth-alert {
    border-radius: 0;
    font-family: var(--mono);
}

.af-auth-alert.error {
    background: #ffe1d4;
    border-color: var(--orange);
    color: var(--ink);
}

.af-auth-alert.success {
    background: #e0f0d7;
    border-color: var(--ink);
    color: var(--ink);
}

@media (max-width:1050px) {
    .site-nav {
        gap: 12px;
    }

    .site-nav a {
        font-size: 10px;
    }

    .top-links {
        margin-left: 12px;
        padding-left: 12px;
    }
}

@media (max-width:900px) {
    .site-header {
        padding: 0 18px
    }

    .menu-toggle {
        background: none;
        border: 0;
        color: var(--orange);
        cursor: pointer;
        display: flex;
        font: 11px var(--mono);
        gap: 12px;
        align-items: center;
        margin-left: 16px;
        order: 3
    }

    .menu-toggle i,
    .menu-toggle i:before {
        background: currentColor;
        display: block;
        height: 1px;
        width: 24px
    }

    .menu-toggle i:before {
        content: "";
        transform: translateY(-6px)
    }

    .site-nav {
        background: var(--ink);
        border-bottom: 1px solid var(--line);
        border-top: 1px solid var(--line);
        display: none;
        flex-direction: column;
        gap: 0;
        left: 0;
        padding: 10px 18px;
        position: absolute;
        top: 75px;
        width: 100%
    }

    .site-nav.is-open {
        display: flex
    }

    .site-nav a {
        border-bottom: 1px solid var(--line);
        padding: 14px 0
    }

    .hero {
        padding: 18px
    }

    .hero-copy {
        bottom: 12vw;
        left: 28px
    }

    .ruled-section {
        padding: 22px 18px 65px
    }

    .section-label {
        margin-bottom: 48px
    }

    .intro-statement,
    .operations-layout,
    .contact-layout {
        margin-left: 0
    }

    .services-grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .service {
        min-height: 340px
    }

    .documents {
        padding: 65px 8%
    }

    .carousel-section {
        grid-template-columns: 1fr
    }

    .carousel-heading {
        border-bottom: 1px solid var(--line);
        border-right: 0
    }

    .carousel-heading h2 {
        margin: 30px 0
    }

    .carousel-slide img {
        height: 61vw
    }

    .site-footer {
        grid-template-columns: 1fr 1fr
    }

    .footer-brand {
        grid-column: 1 / -1;
        min-height: 240px
    }

    .footer-column {
        min-height: 300px
    }

    .footer-column:last-of-type {
        border-right: 0
    }
}

@media (max-width:620px) {
    .wordmark {
        font-size: 21px
    }

    .top-links {
        font-size: 10px;
        gap: 6px;
        margin-left: auto;
        padding-left: 0;
        border-left: 0
    }

    .top-links .af-auth-divider {
        display: none
    }

    .menu-toggle {
        margin-left: 10px
    }

    .hero {
        min-height: 650px
    }

    .hero-meta span:nth-child(2) {
        display: none
    }

    .hero h1 {
        font-size: 13vw
    }

    .hero-copy {
        left: 18px
    }

    .intro-statement,
    .operations-layout,
    .contact-layout,
    .documents {
        display: block
    }

    .intro-notes,
    .operations-layout>div,
    .contact-layout>div {
        padding-top: 36px
    }

    .services-grid {
        grid-template-columns: 1fr
    }

    .service {
        min-height: 270px
    }

    .service h3 {
        margin: 38px 0 16px
    }

    .carousel-section {
        margin-top: 65px
    }

    .carousel-heading {
        padding: 22px 18px
    }

    .carousel-slide img {
        height: 76vw;
        min-height: 320px
    }

    .carousel-controls>button {
        padding: 17px 12px
    }

    .documents h2 {
        margin-bottom: 35px
    }

    .site-footer {
        display: block
    }

    .footer-brand,
    .footer-column {
        border-bottom: 1px solid var(--line);
        border-right: 0;
        min-height: auto;
        padding: 22px 18px
    }

    .footer-brand {
        min-height: 230px
    }

    .footer-wordmark {
        margin-top: 45px
    }

    .footer-bottom {
        padding: 12px 18px
    }

    .hero-index {
        right: 18px
    }

    .brutal-button {
        gap: 25px
    }
}

/* Responsive navigation imported from render/about.html. */
.site-container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 24px;
}

.navbar,
.mobile-menu {
    --menu-bg: var(--ink);
    --menu-surface: #1a1a1a;
    --menu-border: var(--line);
    --menu-text: var(--paper);
    --menu-muted: #a3a3a3;
    --menu-highlight: #401800;
    --menu-orange: #ff7b36;
    --menu-ease: cubic-bezier(.4, 0, .2, 1);
}

.navbar {
    position: sticky;
    top: 0;
    z-index: 100;
    margin-top: 10px;
    background: var(--menu-bg);
    border-bottom: 1px solid var(--menu-border);
    color: var(--menu-text);
    font-size: .9375rem;
}

.navbar-inner {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    height: 66px;
}

.flex {
    display: flex;
}

.items-center {
    align-items: center;
}

.gap-2 {
    gap: 8px;
}

.navbar-logo {
    display: flex;
    align-items: center;
    padding: 0 8px;
    flex-shrink: 0;
}

.navbar-logo img {
    display: block;
    max-width: 171px;
}

.navbar-nav {
    display: none;
    align-items: center;
    padding-left: 32px;
}

@media (min-width: 1024px) {
    .navbar-nav {
        display: flex;
    }
}

.nav-item {
    position: relative;
}

.nav-link {
    position: relative;
    display: inline-flex;
    align-items: center;
    padding: 8px 10px;
    color: var(--menu-text);
    font-size: .9375rem;
    white-space: nowrap;
}

.nav-link .link-text,
.dropdown-link .link-text {
    position: relative;
    z-index: 1;
}

.nav-link .link-hover-bg,
.dropdown-link .link-hover-bg {
    position: absolute;
    z-index: 0;
    background: var(--orange);
    transform: scaleX(0);
    transform-origin: right;
    transition: transform 300ms var(--menu-ease);
}

.nav-link .link-hover-bg {
    inset: -4px;
}

.dropdown-link .link-hover-bg {
    inset: -2px -4px;
}

.nav-link:hover .link-hover-bg,
.nav-link:focus-visible .link-hover-bg,
.dropdown-link:hover .link-hover-bg,
.dropdown-link:focus-visible .link-hover-bg {
    transform: scaleX(1);
    transform-origin: left;
}

.nav-link:hover,
.nav-link:focus-visible,
.dropdown-link:hover,
.dropdown-link:focus-visible {
    color: var(--ink);
}

.nav-link .link-underline {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background: var(--menu-text);
    transform: scaleY(0);
    transform-origin: bottom;
    transition: transform 300ms var(--menu-ease);
}

.dropdown-panel {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 200;
    min-width: 560px;
    background: var(--menu-bg);
    border: 1px solid var(--menu-border);
    opacity: 0;
    pointer-events: none;
    transform: translateY(-8px);
    transition: opacity 150ms var(--menu-ease), transform 150ms var(--menu-ease);
}

.nav-item:hover .dropdown-panel,
.nav-item:focus-within .dropdown-panel {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}

.dropdown-header {
    display: flex;
    border-bottom: 1px solid var(--menu-border);
}

.dropdown-header-link {
    flex: 1;
    padding: 28px 32px;
    color: var(--menu-text);
}

.dropdown-header-link:hover,
.dropdown-header-link:focus-visible {
    background: var(--orange);
    color: var(--ink);
}

.dropdown-header-link+.dropdown-header-link {
    border-left: 1px solid var(--menu-border);
}

.dropdown-header-link .dh-title {
    font-size: 1rem;
    font-weight: 500;
}

.dropdown-header-link .dh-subtitle {
    margin-top: 4px;
    color: var(--menu-muted);
    font-size: .8rem;
}

.dropdown-header-link:hover .dh-subtitle,
.dropdown-header-link:focus-visible .dh-subtitle {
    color: var(--ink);
}

.dropdown-body {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
	padding-left: 2px;
    padding: 28px 32px;
}

.dropdown-section-title {
    margin-bottom: 16px;
    color: var(--menu-muted);
    font: .7rem var(--mono);
    letter-spacing: .08em;
    text-transform: uppercase;
}

.dropdown-links {
    display: flex;
    flex-direction: column;
    gap: 8px;
    list-style: none;
}

.dropdown-link {
    position: relative;
    display: inline-flex;
    padding: 2px 0;
    color: var(--menu-text);
    font-size: .875rem;
}

.navbar-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding-right: 0;
}

.navbar-actions .af-auth-nav {
    gap: 0;
}

.navbar-actions .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 10px;
    border: 1px solid transparent;
    background: transparent;
    color: var(--menu-text);
    font: 500 .875rem var(--sans);
    text-decoration: none !important;
    text-transform: uppercase;
    white-space: nowrap;
}

.navbar-actions .btn:hover,
.navbar-actions .btn:focus-visible {
    background: var(--orange);
    border-color: var(--orange);
    color: var(--ink);
    text-decoration: none !important;
}

.hamburger {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px;
    border: 0;
    background: transparent;
    cursor: pointer;
}

@media (min-width: 1024px) {
    .hamburger {
        display: none;
    }
}

.hamburger-lines {
    position: relative;
    width: 18px;
    height: 18px;
}

.hamburger-line {
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    border-radius: 2px;
    background: var(--menu-text);
    transition: transform 350ms var(--menu-ease), opacity 350ms var(--menu-ease);
}

.hamburger-line:nth-child(1) {
    top: 3px;
}

.hamburger-line:nth-child(2) {
    top: 50%;
    transform: translateY(-50%);
}

.hamburger-line:nth-child(3) {
    bottom: 3px;
}

.hamburger.open .hamburger-line:nth-child(1) {
    top: 50%;
    transform: translateY(5px) rotate(45deg) translateY(-50%);
}

.hamburger.open .hamburger-line:nth-child(2) {
    opacity: 0;
    transform: scaleX(0);
}

.hamburger.open .hamburger-line:nth-child(3) {
    bottom: 50%;
    transform: translateY(-5px) rotate(-45deg) translateY(50%);
}

.mobile-menu {
    display: none;
    position: fixed;
    inset: 66px 0 0;
    z-index: 99;
    overflow-y: auto;
    flex-direction: column;
    gap: 8px;
    padding: 24px;
    background: var(--menu-bg);
    border-top: 1px solid var(--menu-border);
}

.mobile-menu.open {
    display: flex;
}

@media (min-width: 1024px) {
    .mobile-menu {
        display: none !important;
    }
}

.mobile-menu-item {
    padding: 4px 0;
    border-bottom: 1px solid var(--menu-border);
}

.mobile-menu-link {
    display: block;
    padding: 12px 4px;
    color: var(--menu-text);
    font: 500 1rem var(--sans);
}

.mobile-menu-link:hover,
.mobile-menu-link:focus-visible {
    background: var(--orange);
    color: var(--ink);
}

.mobile-menu-toggle {
    display: grid;
    grid-template-columns: 1fr auto auto;
    align-items: center;
    column-gap: 10px;
    width: 100%;
    border: 0;
    background: transparent;
    cursor: pointer;
    text-align: left;
}

.mobile-menu-plus,
.mobile-menu-arrow {
    color: var(--orange);
    line-height: 1;
}

.mobile-menu-plus {
    font-size: 1.3rem;
    transition: transform .2s ease;
}

.mobile-menu-arrow {
    font-size: 1rem;
}

.mobile-menu-toggle[aria-expanded="true"] .mobile-menu-plus {
    transform: rotate(45deg);
}

.mobile-submenu {
    display: none;
    flex-direction: column;
    gap: 6px;
    padding: 8px 0 16px 16px;
}

.mobile-submenu.open {
    display: flex;
}

.mobile-submenu a {
    display: block;
    padding: 6px 4px;
    color: var(--menu-muted);
    font: .875rem var(--sans);
}

.mobile-submenu a:hover {
    color: var(--menu-orange);
}

@media (max-width: 639px) {
    .hide-mobile {
        display: none !important;
    }
}

/* Engineering services page */
.engineering-page {
    overflow: hidden;
}

.engineering-hero {
    border-bottom: 1px solid var(--line);
    min-height: min(620px, calc(100vh - 76px));
    position: relative;
}

.engineering-hero__copy {
    padding: clamp(72px, 11vw, 150px) 9% 60px;
    position: relative;
    z-index: 1;
}

.engineering-hero__copy .section-label {
    margin-bottom: 34px;
}

.engineering-hero h1 {
    font: clamp(48px, 5.8vw, 88px)/.78 var(--display);
    letter-spacing: -.085em;
    margin: 0;
}

.engineering-hero h1 span {
    color: var(--orange);
}

.engineering-hero__lede {
    font-size: 17px;
    line-height: 1.45;
    margin: 38px 0 0;
    max-width: 480px;
}

.engineering-hero__image {
    inset: 0;
    margin: 0;
    overflow: hidden;
    position: absolute;
    z-index: 0;
}

.engineering-hero__image::after {
    background: linear-gradient(90deg, rgba(5, 5, 5, .96) 0%, rgba(5, 5, 5, .72) 40%, rgba(5, 5, 5, .18) 75%), linear-gradient(0deg, rgba(5, 5, 5, .8), transparent 48%);
    content: "";
    inset: 0;
    position: absolute;
}

.engineering-hero__image img {
    filter: grayscale(1) contrast(1.2);
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.engineering-hero__image figcaption {
    bottom: 26px;
    color: var(--paper);
    font: 10px var(--mono);
    left: 28px;
    position: absolute;
    z-index: 1;
}

.engineering-nav {
    border-bottom: 1px solid var(--line);
    display: grid;
    grid-template-columns: repeat(5, minmax(180px, 1fr));
    overflow-x: auto;
}

.engineering-nav a {
    border-right: 1px solid var(--line);
    color: var(--paper);
    display: flex;
    flex-direction: column;
    font: 12px/1.25 var(--mono);
    justify-content: space-between;
    min-height: 135px;
    padding: 20px 24px;
    transition: background .16s ease, color .16s ease;
}

.engineering-nav a:first-child {
    border-left: 1px solid var(--line);
}

.engineering-nav a b {
    color: var(--orange);
    font-size: 19px;
    font-weight: 400;
}

.engineering-nav a:hover,
.engineering-nav a[aria-current="page"] {
    background: var(--orange);
    color: var(--ink);
}

.engineering-nav a:hover b,
.engineering-nav a[aria-current="page"] b {
    color: var(--ink);
}

/* Combat medic image gallery */
.medic-gallery{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.medic-gallery figure{aspect-ratio:4/3;margin:0;overflow:hidden}.medic-gallery img{display:block;filter:grayscale(1) contrast(1.08);height:100%;object-fit:cover;transition:filter .25s,transform .35s;width:100%}.medic-gallery figure:first-child{grid-column:span 2}.medic-gallery figure:hover img{filter:grayscale(0);transform:scale(1.02)}
.training-course-ruler{grid-template-columns:repeat(6,minmax(0,1fr))}
@media(max-width:760px){.training-course-ruler{grid-template-columns:repeat(2,minmax(0,1fr))}.training-course-ruler a:last-child:nth-child(odd){grid-column:auto}}
@media(max-width:560px){.medic-gallery{grid-template-columns:1fr}.medic-gallery figure:first-child{grid-column:auto}}

/* Aircraft product pages */
.aircraft-page {
    background: var(--ink);
}

.aircraft-hero {
    min-height: min(700px, calc(100vh - 76px));
    overflow: hidden;
    position: relative;
}

.aircraft-hero::after {
    background: linear-gradient(90deg, rgba(5, 5, 5, .94) 0%, rgba(5, 5, 5, .64) 43%, rgba(5, 5, 5, .1) 78%), linear-gradient(0deg, rgba(5, 5, 5, .76), transparent 46%);
    content: "";
    inset: 0;
    position: absolute;
}

.aircraft-hero__image {
    height: 100%;
    inset: 0;
    margin: 0;
    position: absolute;
}

.aircraft-hero__image img {
    filter: grayscale(1) contrast(1.15);
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.aircraft-hero__copy {
    bottom: clamp(52px, 9vw, 120px);
    left: clamp(28px, 9vw, 12%);
    max-width: min(720px, 76vw);
    position: absolute;
    z-index: 1;
}

.aircraft-hero__copy .section-label {
    margin: 0 0 22px;
}

.aircraft-hero h1 {
    font: clamp(58px, 10vw, 152px)/.74 var(--display);
    letter-spacing: -.09em;
    margin: 0;
}

.aircraft-hero h1 span,
.aircraft-hero__lede strong {
    color: var(--orange);
}

.aircraft-hero__lede {
    font-size: clamp(16px, 1.45vw, 20px);
    line-height: 1.35;
    margin: 30px 0 0;
    max-width: 510px;
}

.aircraft-ruler {
    border-bottom: 1px solid var(--line);
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.aircraft-ruler a {
    border-right: 1px solid var(--line);
    color: var(--paper);
    display: flex;
    flex-direction: column;
    font: 12px/1.2 var(--mono);
    justify-content: space-between;
    min-height: 132px;
    padding: 20px 24px;
    transition: background .16s ease, color .16s ease;
}

.aircraft-ruler a:first-child {
    border-left: 1px solid var(--line);
}

.aircraft-ruler b {
    color: var(--orange);
    font-size: 19px;
    font-weight: 400;
}

.aircraft-ruler a:hover,
.aircraft-ruler a[aria-current="page"] {
    background: var(--orange);
    color: var(--ink);
}

.aircraft-ruler a:hover b,
.aircraft-ruler a[aria-current="page"] b {
    color: var(--ink);
}

.aircraft-overview,
.aircraft-section {
    border-bottom: 1px solid var(--line);
    display: grid;
    grid-template-columns: minmax(280px, 0.9fr) minmax(0, 1.1fr);
    gap: clamp(32px, 5vw, 70px);
    padding: clamp(58px, 8vw, 120px) 9%;
}

.aircraft-overview > div:first-child,
.aircraft-section > div:first-child {
    border-right: 1px solid var(--line);
    padding-right: clamp(24px, 4vw, 50px);
}

.aircraft-overview > div:first-child,
.aircraft-section--orange > div:first-child {
    border-color: var(--ink);
}

.aircraft-overview {
    background: var(--orange);
    color: var(--ink);
}

.aircraft-overview h2,
.aircraft-section h2 {
    font: clamp(26px, 3vw, 44px)/0.88 var(--display);
    letter-spacing: -.07em;
    margin: 14px 0 0;
    overflow-wrap: break-word;
    word-break: break-word;
}

.aircraft-overview a,
.aircraft-section--orange a {
    color: #ffffff;
    text-decoration: none;
    transition: color .16s ease;
}

.aircraft-overview a:hover,
.aircraft-section--orange a:hover {
    color: var(--ink);
}

.aircraft-overview__image a {
    text-decoration: none;
}

.aircraft-overview__copy {
    font-size: 17px;
    line-height: 1.48;
    max-width: 720px;
}

.aircraft-overview__copy p:first-child {
    margin-top: 0;
}

.aircraft-overview__image {
    margin: 36px 0 0;
}

.aircraft-overview__image img {
    display: block;
    filter: grayscale(1) contrast(1.08);
    max-width: 100%;
}

.aircraft-overview__image--full img {
    width: 100%;
    height: auto;
}

.aircraft-section {
    background: var(--ink);
}

.aircraft-section--orange {
    background: var(--orange);
    color: var(--ink);
}

.aircraft-section__content {
    font-size: 16px;
    line-height: 1.5;
    max-width: 800px;
}

.aircraft-section__content > p:first-child {
    margin-top: 0;
}

.aircraft-feature-list {
    display: grid;
    gap: 0;
    list-style: none;
    margin: 0;
    padding: 0;
}

.aircraft-feature-list li {
    border-top: 1px solid var(--line);
    padding: 17px 0;
}

.aircraft-feature-list li::before {
    color: var(--orange);
    content: "[ + ] ";
    font: 12px var(--mono);
}

.aircraft-section--orange .aircraft-feature-list li {
    border-color: var(--ink);
}

.aircraft-section--orange .aircraft-feature-list li::before {
    color: var(--paper);
}

.aircraft-section--orange .aircraft-specs,
.aircraft-section--orange .aircraft-specs div {
    border-color: var(--ink);
}

.aircraft-specs {
    border-top: 1px solid var(--line);
    margin: 0;
}

.aircraft-specs div {
    border-bottom: 1px solid var(--line);
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 24px;
    padding: 14px 0;
}

.aircraft-specs dt {
    font: 12px var(--mono);
}

.aircraft-specs dd {
    font: 18px var(--mono);
    margin: 0;
}

.framework {
    padding-bottom: 0;
}

.framework-heading {
    align-items: end;
    border-bottom: 1px solid var(--line);
    display: grid;
    gap: 24px;
    grid-template-columns: 1fr;
    padding-bottom: 28px;
}

.framework-heading .section-label {
    margin: 0;
}

.framework-heading h2 {
    font: clamp(32px, 4.5vw, 68px)/.82 var(--display);
    letter-spacing: -.08em;
    margin: 0;
}

.framework-heading h2 span {
    color: var(--orange);
}

.framework-copy {
    display: grid;
    gap: 0;
    grid-template-columns: 1fr 1fr;
    margin-left: 10%;
}

.framework-copy > div {
    padding: 48px 9% 62px 0;
}

.framework-copy > div + div {
    border-left: 1px solid var(--line);
    padding-left: 9%;
}

.framework-copy p {
    font-size: 17px;
    line-height: 1.48;
}

.framework-copy p:last-child {
    margin-bottom: 0;
}

.framework-copy strong {
    color: var(--orange);
}

.framework-data {
    border-top: 1px solid var(--line);
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin: 0 -28px;
}

.framework-data article {
    border-right: 1px solid var(--line);
    min-height: 210px;
    padding: 26px 28px;
}

.framework-data article:last-child {
    border-right: 0;
}

.framework-data h3 {
    font: 21px/.94 var(--display);
    letter-spacing: -.05em;
    margin: 38px 0 0;
}

.framework-data p {
    color: var(--orange);
    font: 11px var(--mono);
    margin: 0;
}

.engineering-contact {
    background: var(--orange);
    color: var(--ink);
    display: grid;
    gap: 32px;
    grid-template-columns: 1.1fr .9fr;
    padding: 64px 28px;
}

.engineering-contact .section-label {
    color: var(--ink);
    margin-bottom: 38px;
}

.engineering-contact h2 {
    font: clamp(32px, 4.2vw, 64px)/.82 var(--display);
    letter-spacing: -.08em;
    margin: 0;
}

.engineering-contact p {
    align-self: end;
    font-size: 17px;
    line-height: 1.45;
    margin: 0;
    max-width: 480px;
}

.engineering-contact .brutal-button {
    background: var(--ink);
    border-color: var(--ink);
    color: var(--paper);
    margin-top: 25px;
}

.engineering-contact .brutal-button:hover {
    background: transparent;
    color: var(--ink);
}

.service-section {
    border-top: 1px solid var(--line);
    padding: 72px 28px 0;
}

.service-section--black {
    background: var(--ink);
    color: var(--paper);
}

.service-section--orange {
    background: var(--orange);
    border-color: var(--ink);
    color: var(--ink);
}

.service-section__header {
    display: grid;
    gap: 8%;
    grid-template-columns: .3fr 1.7fr;
    padding-bottom: 44px;
}

.service-section__number {
    color: var(--orange);
    font: 11px var(--mono);
    margin: 6px 0 0;
}

.service-section--orange .service-section__number,
.service-section--orange .section-label,
.service-section--orange .section-label a {
    color: var(--ink);
}

.service-section .section-label {
    margin-bottom: 25px;
}

.service-section .section-label a {
    border-bottom: 1px solid currentColor;
    color: var(--orange);
}

.service-section h2 {
    font: clamp(32px, 4.4vw, 64px)/.82 var(--display);
    letter-spacing: -.08em;
    margin: 0;
}

.service-section h2 span {
    color: var(--orange);
}

.service-section--orange h2 span {
    color: var(--paper);
}

.service-section__copy {
    border-top: 1px solid var(--line);
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin-left: 10%;
}

.service-section--orange .service-section__copy {
    border-color: var(--ink);
}

.service-section__copy > div {
    padding: 42px 9% 60px 0;
}

.service-section__copy > div + div {
    border-left: 1px solid var(--line);
    padding-left: 9%;
}

.service-section--orange .service-section__copy > div + div {
    border-color: var(--ink);
}

.service-section__copy p {
    font-size: 17px;
    line-height: 1.48;
}

.service-section__link {
    border-bottom: 2px solid var(--orange);
    color: var(--paper);
    display: inline-flex;
    font: 700 12px var(--mono);
    gap: 24px;
    margin-top: 15px;
    padding-bottom: 8px;
}

.service-section__link b {
    color: var(--orange);
    font-size: 16px;
}

.service-section__link:hover {
    color: var(--orange);
}

.service-section--orange .service-section__link {
    border-color: var(--ink);
    color: var(--ink);
}

.service-section--orange .service-section__link b {
    color: var(--paper);
}

.service-section__modules {
    border-top: 1px solid var(--line);
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin: 0 -28px;
}

.service-section__modules article {
    border-right: 1px solid var(--line);
    min-height: 220px;
    padding: 26px 28px;
}

.service-section__modules article:last-child {
    border-right: 0;
}

.service-section__modules p {
    color: var(--orange);
    font: 11px var(--mono);
    margin: 0;
}

.service-section__modules h3 {
    font: 22px/.94 var(--display);
    letter-spacing: -.05em;
    margin: 35px 0 16px;
}

.service-section__modules span {
    display: block;
    font-size: 14px;
    line-height: 1.35;
    max-width: 250px;
}

@media (max-width: 760px) {
    .engineering-contact {
        grid-template-columns: 1fr;
    }

    .engineering-hero__copy {
        padding: 76px 28px 58px;
    }

    .engineering-hero {
        min-height: 520px;
    }

    .engineering-nav,
    .aircraft-ruler {
        border-left: 1px solid var(--line);
        grid-template-columns: repeat(2, minmax(0, 1fr));
        overflow: visible;
    }

    .engineering-nav a,
    .aircraft-ruler a {
        border-bottom: 1px solid var(--line);
        min-height: 112px;
        padding: 16px;
    }

    .engineering-nav a:first-child,
    .aircraft-ruler a:first-child {
        border-left: 0;
    }

    .engineering-nav a:last-child:nth-child(odd),
    .aircraft-ruler a:last-child:nth-child(odd) {
        grid-column: span 2;
    }

    .aircraft-hero {
        min-height: 570px;
    }

    .aircraft-hero__copy {
        bottom: 52px;
        left: 28px;
        max-width: calc(100vw - 56px);
    }

    .aircraft-overview,
    .aircraft-section {
        gap: 32px;
        grid-template-columns: 1fr;
        padding: 60px 28px;
    }

    .aircraft-overview > div:first-child,
    .aircraft-section > div:first-child {
        border-right: 0;
        border-bottom: 1px solid var(--line);
        padding-right: 0;
        padding-bottom: 24px;
    }

    .aircraft-overview > div:first-child,
    .aircraft-section--orange > div:first-child {
        border-color: var(--ink);
    }

    .framework-heading {
        grid-template-columns: 1fr;
    }

    .framework-copy {
        grid-template-columns: 1fr;
        margin-left: 0;
    }

    .framework-copy > div {
        padding: 36px 0;
    }

    .framework-copy > div + div {
        border-left: 0;
        border-top: 1px solid var(--line);
        padding-left: 0;
    }

    .framework-data {
        grid-template-columns: 1fr;
    }

    .framework-data article {
        border-bottom: 1px solid var(--line);
        border-right: 0;
        min-height: 150px;
    }

    .service-section {
        padding: 54px 28px 0;
    }

    .service-section__header {
        gap: 28px;
        grid-template-columns: 1fr;
        padding-bottom: 34px;
    }

    .service-section__copy {
        grid-template-columns: 1fr;
        margin-left: 0;
    }

    .service-section__copy > div {
        padding: 34px 0;
    }

    .service-section__copy > div + div {
        border-left: 0;
        border-top: 1px solid var(--line);
        padding-left: 0;
    }

    .service-section--orange .service-section__copy > div + div {
        border-color: var(--ink);
    }

    .service-section__modules {
        grid-template-columns: 1fr;
    }

    .service-section__modules article {
        border-bottom: 1px solid var(--line);
        border-right: 0;
        min-height: 160px;
    }
}

/* Compact engineering-service sections */
.engineering-page {
    overflow: visible;
}

.engineering-nav {
    background: var(--ink);
}

/* Optical ISR / ISTAR section ruler */
.optical-nav {
    background: var(--ink);
    border-bottom: 1px solid var(--line);
    display: grid;
    grid-template-columns: repeat(3, minmax(180px, 1fr));
    overflow-x: auto;
}

.optical-nav a {
    border-right: 1px solid var(--line);
    color: var(--paper);
    display: flex;
    flex-direction: column;
    font: 12px/1.25 var(--mono);
    justify-content: space-between;
    min-height: 135px;
    padding: 20px 24px;
    transition: background .16s ease, color .16s ease;
}

.optical-nav a:first-child {
    border-left: 1px solid var(--line);
}

.optical-nav a b {
    color: var(--orange);
    font-size: 19px;
    font-weight: 400;
}

.optical-nav a:hover,
.optical-nav a[aria-current="page"] {
    background: var(--orange);
    color: var(--ink);
}

.optical-nav a:hover b,
.optical-nav a[aria-current="page"] b {
    color: var(--ink);
}

.framework {
    display: flex;
    flex-direction: column;
    min-height: 510px;
    padding: 72px 28px 0;
}

.service-section {
    display: flex;
    flex-direction: column;
    min-height: 510px;
}

.service-section__layout {
    display: grid;
    gap: 8%;
    grid-template-columns: .8fr 1.2fr;
    margin-left: 10%;
}

.service-section__layout > div:first-child {
    min-width: 0;
}

.service-section__layout h2,
.service-section h2 {
    font: clamp(28px, 3.2vw, 48px)/.86 var(--display);
    letter-spacing: -.07em;
    margin: 18px 0 0;
}

.service-section__layout h2 span,
.service-section h2 span {
    color: inherit;
}

.service-accordion {
    border-bottom: 1px solid var(--line);
    border-top: 2px solid var(--orange);
    margin: 0;
    position: relative;
}

.service-accordion__preview {
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 7;
    display: -webkit-box;
    font-size: 16px;
    line-height: 1.48;
    margin: 0;
    overflow: hidden;
    padding: 0;
}

.service-accordion__preview,
.service-accordion__content {
    cursor: pointer;
}

.service-accordion.is-open .service-accordion__preview {
    -webkit-line-clamp: unset;
    display: block;
    height: auto;
}

.service-accordion > details {
    border-top: 0;
    position: relative;
}

.service-accordion summary {
    align-items: center;
    background: transparent;
    cursor: pointer;
    display: block;
    font: 700 12px var(--mono);
    height: 22px;
    left: auto;
    list-style: none;
    padding: 0;
    position: absolute;
    right: 0;
    top: -22px;
    width: 42px;
    z-index: 1;
}

.service-accordion summary::-webkit-details-marker {
    display: none;
}

.service-accordion summary b {
    background: var(--ink);
    bottom: 0;
    color: var(--orange);
    font-size: 16px;
    font-weight: 400;
    padding: 2px 0 0 12px;
    position: absolute;
    right: 0;
    white-space: pre;
}

.service-accordion > details[open] summary b {
    font-size: 0;
}

.service-accordion > details[open] summary {
    bottom: 0;
    top: auto;
}

.service-accordion > details[open] summary b::after {
    content: "+ ↑";
    font: 16px var(--mono);
}

.service-accordion__content {
    display: grid;
    gap: 18px;
    padding: 18px 0 0;
}

.service-accordion > details[open] .service-accordion__content {
    padding: 18px 0 28px;
}

.service-accordion__content p {
    font-size: 16px;
    line-height: 1.48;
    margin: 0;
}

.service-accordion__content strong {
    color: var(--orange);
}

.service-section__next {
    border-top: 1px solid var(--line);
    color: var(--paper);
    display: flex;
    font: 700 12px var(--mono);
    justify-content: space-between;
    margin-top: auto;
    padding: 16px 0 22px;
}

.service-section__next b {
    color: var(--orange);
    font-size: 17px;
}

.service-section__next:hover {
    color: var(--orange);
}

.service-section--orange .service-accordion,
.service-section--orange .service-section__next {
    border-color: var(--ink);
}

.service-section--orange .service-accordion {
    border-top-width: 2px;
}

.service-section--orange .service-accordion > details {
    border-color: var(--ink);
}

.service-section--orange .service-accordion summary {
    background: transparent;
}

.service-section--orange .service-accordion summary b {
    background: var(--orange);
}

.service-section--orange .service-accordion > details[open] .service-accordion__content {
    border-color: transparent;
}

.service-section--orange .service-accordion summary b,
.service-section--orange .service-accordion__content strong,
.service-section--orange .service-section__next b {
    color: var(--paper);
}

.service-section--orange .service-section__next {
    color: var(--ink);
}

/* About page */
.about-page {
    background: var(--paper);
    color: var(--ink);
    overflow: hidden;
}

.about-heading {
    background: var(--paper);
    border-bottom: 1px solid #05050533;
    padding: clamp(82px, 12vw, 160px) 28px 48px;
}

.about-heading h1 {
    font: clamp(36px, 4.2vw, 60px)/.84 var(--display);
    letter-spacing: -.075em;
    margin: 0 0 0 10%;
}

.about-story,
.about-capabilities,
.about-contact {
    border-bottom: 1px solid #05050533;
    padding: 68px 28px;
}

.about-story,
.about-capabilities {
    background: var(--paper);
    color: var(--ink);
}

.about-copy {
    display: grid;
    gap: 8%;
    grid-template-columns: 1fr 1fr;
    margin-left: 10%;
}

.about-copy > div + div {
    border-left: 1px solid #05050533;
    padding-left: 9%;
}

.about-copy p,
.about-copy li {
    font-size: 17px;
    line-height: 1.5;
}

.about-copy p {
    margin: 0 0 22px;
}

.about-copy p:last-child {
    margin-bottom: 0;
}

.about-copy strong {
    color: var(--ink);
}

.about-story--orange {
    background: var(--paper);
    border-color: #05050533;
    color: var(--ink);
}

.about-story--orange .about-copy > div + div {
    border-color: var(--ink);
}

.about-story--orange strong {
    color: var(--ink);
}

.about-capabilities {
    background: var(--paper);
}

.about-capabilities ol {
    margin: 0;
    padding-left: 22px;
}

.about-capabilities li {
    margin: 0 0 12px;
    padding-left: 9px;
}

.about-signature {
    font: 700 13px var(--mono);
    text-align: right;
}

.about-contact {
    background: var(--orange);
    color: var(--ink);
}

.about-contact h2 {
    font: clamp(30px, 3.4vw, 48px)/.86 var(--display);
    letter-spacing: -.07em;
    margin: 0;
}

.about-contact .about-copy > div + div {
    border-color: #05050533;
}

.about-contact strong {
    color: var(--ink);
}

.about-contact a {
    border-bottom: 1px solid var(--orange);
    color: var(--ink);
    font-weight: 700;
}

/* Legal document pages */
.legal-page {
    background: var(--paper);
    color: var(--ink);
}

.legal-ruler {
    background: var(--ink);
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    margin-top: 20px;
}

.legal-ruler a {
    background: var(--ink);
    border-right: 1px solid var(--line);
    color: var(--paper);
    display: flex;
    flex-direction: column;
    font: 12px/1.2 var(--mono);
    justify-content: space-between;
    min-height: 132px;
    padding: 20px 24px;
    text-decoration: none;
    transition: background .16s ease, color .16s ease;
}

.legal-ruler a:first-child {
    border-left: 1px solid var(--line);
}

.legal-ruler b {
    color: var(--orange);
    font-size: 19px;
    font-weight: 400;
    transition: color .16s ease;
}

.legal-ruler a:hover,
.legal-ruler a[aria-current="page"] {
    background: var(--orange);
    color: var(--ink);
}

.legal-ruler a:hover b,
.legal-ruler a[aria-current="page"] b {
    color: var(--ink);
}

.legal-heading {
    border-bottom: 1px solid #05050533;
    padding: clamp(28px, 4vw, 48px) 28px 48px;
}

.legal-heading h1 {
    font: clamp(34px, 4vw, 56px)/.84 var(--display);
    letter-spacing: -.075em;
    margin: 0 0 0 10%;
}

.legal-document {
    margin-left: 10%;
    max-width: 900px;
    padding: 64px 28px 90px 0;
}

.legal-document p,
.legal-document li {
    font-size: 16px;
    line-height: 1.55;
}

.legal-document p {
    margin: 0 0 14px;
}

.legal-document ul,
.legal-document ol {
    margin: 0 0 20px;
    padding-left: 28px;
}

.legal-document li {
    margin-bottom: 9px;
}

.legal-document strong {
    color: var(--ink);
}

.legal-document a {
    border-bottom: 1px solid var(--orange);
    color: var(--ink);
}

/* Optical ISR / ISTAR pages */
.optical-page {
    background: var(--paper);
    color: var(--ink);
}

/* AI defense */
.defense-page {
    background: var(--paper);
    color: var(--ink);
}

.defense-hero {
    background: var(--ink);
    color: var(--paper);
    min-height: clamp(480px, 60vw, 760px);
    overflow: hidden;
    position: relative;
}

.defense-hero::after {
    background: linear-gradient(90deg, rgba(5, 5, 5, .9), rgba(5, 5, 5, .25) 75%);
    content: "";
    inset: 0;
    position: absolute;
}

.defense-hero > img {
    filter: grayscale(1) contrast(1.1);
    height: 100%;
    inset: 0;
    object-fit: cover;
    position: absolute;
    width: 100%;
}

.defense-hero__copy {
    bottom: clamp(36px, 6vw, 90px);
    left: clamp(28px, 8vw, 12%);
    max-width: min(780px, 80vw);
    position: absolute;
    z-index: 1;
}

.defense-hero__copy .section-label {
    margin: 0 0 18px;
}

.defense-hero__copy h1 {
    font: clamp(52px, 9vw, 132px)/.79 var(--display);
    letter-spacing: -.08em;
    margin: 0;
}

.defense-nav {
    background: var(--ink);
    border-bottom: 1px solid var(--line);
    display: grid;
    grid-template-columns: repeat(2, minmax(180px, 1fr));
}

.defense-nav a {
    border-right: 1px solid var(--line);
    color: var(--paper);
    display: flex;
    flex-direction: column;
    font: 12px/1.25 var(--mono);
    justify-content: space-between;
    min-height: 135px;
    padding: 20px 24px;
    transition: background .16s ease, color .16s ease;
}

.defense-nav a:first-child {
    border-left: 1px solid var(--line);
}

.defense-nav a b {
    color: var(--orange);
    font-size: 19px;
    font-weight: 400;
}

.defense-nav a:hover {
    background: var(--orange);
    color: var(--ink);
}

.defense-nav a:hover b {
    color: var(--ink);
}

.defense-intro,
.defense-videos {
    padding-top: 64px;
}

.defense-intro > .section-label {
    margin-bottom: 26px;
}

.defense-intro__heading {
    border-bottom: 1px solid var(--line);
    font: clamp(28px, 3.4vw, 50px)/.88 var(--display);
    letter-spacing: -.065em;
    margin: 0 0 48px 10%;
    padding-bottom: 32px;
}

.defense-intro__grid {
    display: grid;
    gap: 2%;
    grid-template-columns: 1fr 1fr;
    margin-left: 10%;
}

.defense-intro p,
.defense-intro li {
    font-size: 16px;
    line-height: 1.55;
}

.defense-intro p {
    margin: 0 0 20px;
}

.defense-intro ol,
.defense-intro ul {
    margin: 0;
    padding-left: 22px;
}

.defense-intro li {
    margin: 0 0 16px;
}

.defense-assurance {
    border-left: 1px solid #05050533;
    padding-left: 4%;
}

.defense-assurance h2,
.defense-videos h2 {
    font: clamp(30px, 4vw, 56px)/.86 var(--display);
    letter-spacing: -.065em;
    margin: 0 0 30px;
}

.defense-assurance h2 {
    font-size: clamp(24px, 3vw, 42px);
}

.defense-assurance h3 {
    font: 16px var(--mono);
    margin: 30px 0 14px;
}

.defense-assurance a {
    color: inherit;
}

.defense-videos {
    background: var(--ink);
    color: var(--paper);
}

.defense-videos__grid {
    border-left: 1px solid #f3f0e733;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-left: 10%;
}

.defense-videos__grid article {
    border-right: 1px solid #f3f0e733;
    border-top: 1px solid #f3f0e733;
    padding: 22px;
}

.defense-videos h3 {
    font: 18px/1 var(--mono);
    margin: 0 0 20px;
    min-height: 42px;
}

.defense-videos video {
    background: #000;
    display: block;
    height: auto;
    width: 100%;
}

@media (max-width: 760px) {
    .defense-nav {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .defense-nav a {
        font-size: 10px;
        min-height: 112px;
        padding: 15px 10px;
    }

    .defense-nav a b {
        font-size: 16px;
    }

    .defense-intro__grid,
    .defense-videos__grid {
        margin-left: 0;
    }

    .defense-intro__grid {
        grid-template-columns: 1fr 1fr;
    }

    .defense-intro__heading {
        margin-left: 0;
    }

    .defense-assurance {
        border-left: 0;
        border-top: 1px solid var(--line);
        padding-left: 0;
        padding-top: 36px;
    }
}

@media (max-width: 550px) {
    .defense-videos__grid {
        grid-template-columns: 1fr;
    }
}

.optical-hero {
    background: var(--ink);
    color: var(--paper);
    min-height: clamp(420px, 56vw, 690px);
    overflow: hidden;
    position: relative;
}

.optical-hero::after {
    background: linear-gradient(90deg, rgba(5, 5, 5, .86), rgba(5, 5, 5, .22) 72%);
    content: "";
    inset: 0;
    position: absolute;
}

.optical-hero img {
    filter: grayscale(1) contrast(1.08);
    height: 100%;
    inset: 0;
    object-fit: cover;
    position: absolute;
    width: 100%;
}

.optical-hero__copy {
    bottom: clamp(34px, 5vw, 78px);
    left: clamp(28px, 8vw, 12%);
    position: absolute;
    z-index: 1;
}

.optical-hero__copy .section-label {
    margin: 0 0 20px;
}

.optical-hero h1 {
    font: clamp(44px, 7.2vw, 112px)/.82 var(--display);
    letter-spacing: -.075em;
    margin: 0;
    max-width: 800px;
}

.optical-document {
    padding: 72px 28px 90px;
}

.optical-document .wrap-container,
.optical-document .container {
    margin: 0 auto;
    max-width: 1280px;
}

.optical-document .row-fluid-custom {
    display: grid;
    gap: 28px;
    grid-template-columns: 1fr 1fr;
    margin: 0 0 34px 10%;
}

.optical-document .span12 {
    grid-column: 1 / -1;
}

.optical-document .other-page-subtitle {
    font: clamp(30px, 4vw, 56px)/.86 var(--display);
    letter-spacing: -.07em;
    margin: 0;
}

.optical-document p,
.optical-document li,
.optical-document td {
    font-size: 16px;
    line-height: 1.5;
}

.optical-document p {
    margin: 0 0 18px;
}

.optical-document a {
    color: var(--ink);
}

.optical-document .custom-block {
    border: 1px solid #05050533;
    padding: 22px;
}

.optical-document .custom-block h4 {
    font: 24px var(--display);
    margin: 0 0 18px;
}

.optical-document .custom-block img {
    display: block;
    filter: grayscale(1) contrast(1.1);
    height: auto;
    max-width: 100%;
}

.optical-document .custom-block > a {
    display: block;
}

.optical-document .optical-services-grid {
    border-left: 1px solid var(--line);
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0 0 34px 10%;
}

.optical-document .optical-services-grid .service {
    min-height: 405px;
}

.optical-card__image {
    display: block;
    overflow: hidden;
    position: relative;
}

.optical-card__image::after {
    background: rgba(255, 92, 0, .48);
    content: "";
    inset: 0;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    transition: opacity .18s ease;
}

.custom-block > a:hover .optical-card__image::after,
.custom-block > a:focus-visible .optical-card__image::after {
    opacity: 1;
}

.optical-document table {
    border-collapse: collapse;
    width: max-content;
}

.optical-table-wrap {
    -webkit-overflow-scrolling: touch;
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-x: contain;
}

.optical-table-wrap table {
    margin: 0;
    min-width: 1000px;
}

.optical-specifications {
    display: none;
}

.optical-document td,
.optical-document th {
    border: 1px solid #05050533;
    padding: 10px;
    vertical-align: top;
}

@media (max-width: 760px) {
    .optical-nav {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        overflow-x: visible;
    }

    .optical-nav a {
        font-size: 10px;
        min-height: 112px;
        padding: 15px 10px;
    }

    .optical-nav a b {
        font-size: 16px;
    }

    .optical-document {
        padding: 52px 28px 68px;
    }

    .optical-document .row-fluid-custom {
        grid-template-columns: 1fr;
        margin-left: 0;
    }

    .optical-document .optical-services-grid {
        margin-left: 0;
    }

    .optical-document .optical-services-grid .service,
    .optical-document .optical-services-grid .service-link {
        min-height: 340px;
    }

    .optical-table-wrap {
        margin: 0 -10px;
    }

    .optical-table-wrap table {
        min-width: 860px;
    }

    .optical-document .optical-table-wrap td,
    .optical-document .optical-table-wrap th {
        font-size: 13px;
        padding: 8px;
    }

    .optical-page [data-optical-specification-table] {
        display: none;
    }

    .optical-page .optical-specifications {
        display: grid;
        gap: 20px;
    }

    .optical-page .optical-spec-card {
        border: 1px solid #05050533;
        padding: 18px;
    }

    .optical-page .optical-spec-card h2 {
        font: 26px/.95 var(--display);
        letter-spacing: -.04em;
        margin: 0 0 18px;
    }

    .optical-page .specifications-list {
        list-style: none;
        margin: 0;
        padding: 0;
    }

    .optical-page .specifications-list-item {
        border-top: 1px solid #05050533;
        display: grid;
        font-size: 13px;
        gap: 14px;
        grid-template-columns: minmax(105px, .8fr) minmax(0, 1.2fr);
        line-height: 1.35;
        padding: 11px 0;
    }

    .optical-page .specifications-list-item span:first-child {
        font-family: var(--mono);
        text-transform: uppercase;
    }
}

@media (max-width: 550px) {
    .optical-document .optical-services-grid {
        grid-template-columns: 1fr;
    }

    .optical-document .optical-services-grid .service,
    .optical-document .optical-services-grid .service-link {
        min-height: 270px;
    }
}

@media (max-width: 760px) {
    .legal-ruler {
        border-left: 1px solid var(--line);
        grid-template-columns: repeat(2, minmax(0, 1fr));
        overflow: visible;
    }

    .legal-ruler a {
        border-bottom: 1px solid var(--line);
        min-height: 112px;
        padding: 16px;
    }

    .legal-ruler a:first-child {
        border-left: 0;
    }

    .legal-ruler a:last-child:nth-child(odd) {
        grid-column: span 2;
    }

    .legal-heading h1,
    .legal-document {
        margin-left: 0;
    }

    .legal-document {
        padding: 48px 28px 68px;
    }
}

@media (max-width: 760px) {
    .about-heading h1 {
        margin-left: 0;
    }

    .about-story,
    .about-capabilities,
    .about-contact {
        padding: 52px 28px;
    }

    .about-copy {
        gap: 0;
        grid-template-columns: 1fr;
        margin-left: 0;
    }

    .about-copy > div + div {
        border-left: 0;
        border-top: 1px solid var(--line);
        margin-top: 34px;
        padding: 34px 0 0;
    }

    .about-story--orange .about-copy > div + div,
    .about-contact .about-copy > div + div {
        border-color: currentColor;
    }
}

.engineering-contact {
    background-color: var(--ink);
    background-image: linear-gradient(90deg, rgba(5, 5, 5, .94) 0%, rgba(5, 5, 5, .7) 54%, rgba(5, 5, 5, .45) 100%), url("../raster/rulers/hardw.jpg");
    background-position: center;
    background-size: cover;
    color: var(--paper);
    display: grid;
    gap: 8%;
    grid-template-columns: .8fr 1.2fr;
    margin-left: 10%;
    padding: 48px 28px;
}

.engineering-contact__title {
    margin-left: 0;
}

.engineering-contact .section-label,
.engineering-contact p {
    color: var(--paper);
}

.engineering-contact .section-label {
    color: var(--orange);
}

.engineering-contact .brutal-button {
    background: var(--orange);
    border-color: var(--orange);
    color: var(--ink);
}

.engineering-contact .brutal-button:hover {
    background: transparent;
    color: var(--orange);
}

.engineering-contact__copy {
    align-self: end;
    margin-left: 0;
    max-width: 520px;
}

.footer-wordmark--cta {
    font-size: clamp(34px, 4.5vw, 64px);
}

@media (max-width: 760px) {
    .framework {
        min-height: 0;
        padding: 54px 28px 0;
    }

    .service-section {
        min-height: 0;
    }

    .service-section__layout {
        gap: 30px;
        grid-template-columns: 1fr;
        margin-left: 0;
    }

    .service-section__next {
        margin-top: 36px;
    }

    .engineering-contact__copy {
        margin-left: 0;
    }

    .engineering-contact {
        grid-template-columns: 1fr;
        margin-left: 0;
    }

    .engineering-contact__title {
        margin-left: 0;
    }
}

/* Shared military-training course submenu */
.course-submenu{display:grid;gap:clamp(4px,1vw,14px);grid-template-columns:repeat(5,minmax(0,1fr));padding:clamp(4px,1vw,14px);width:100%}
.course-submenu > a{align-items:center;aspect-ratio:1/1;border:1px solid var(--line);color:var(--paper);display:flex;flex-direction:column;justify-content:center;min-height:0;min-width:0;padding:clamp(5px,1.5vw,24px);text-align:center;transition:background .18s,color .18s}
.course-submenu > a + a{border-left:1px solid var(--line)}
.course-submenu > a small{color:var(--orange);display:block;font:clamp(7px,.72vw,10px) var(--mono);margin-bottom:clamp(7px,1.1vw,16px)}
.course-submenu > a strong{display:block;font:500 clamp(7px,1vw,14px)/1.15 var(--mono);margin:0;overflow-wrap:anywhere;text-transform:uppercase}
.course-submenu > a:hover,.course-submenu > a[aria-current="page"]{background:var(--orange);color:var(--ink)}
.course-submenu > a:hover small,.course-submenu > a[aria-current="page"] small{color:var(--ink)}

/* Unmanned aircraft index housed in military-training */
.aircraft-index-grid article:last-child{grid-column:1/-1}
.aircraft-index-grid article:last-child a{grid-template-columns:minmax(0,.5fr) minmax(0,.5fr)}
@media(max-width:900px){.aircraft-index-grid article:last-child{grid-column:auto}.aircraft-index-grid article:last-child a{grid-template-columns:minmax(0,1fr) minmax(0,.72fr)}}
@media(max-width:560px){.aircraft-index-grid article:last-child a{grid-template-columns:1fr}}

/* Training index ruler: match unmanned-aircraft menu with bright separators */
.training-index-ruler{border-bottom-color:#fff}
.training-index-ruler a{border-right-color:#fff}
.training-index-ruler a:first-child{border-left-color:#fff}
.training-index-ruler b{color:#ff3b1f}
@media(max-width:760px){.training-index-ruler{border-left-color:#fff}.training-index-ruler a{border-bottom-color:#fff}.training-index-ruler a:first-child{border-left:0}}
.training-index-ruler a[aria-current="page"] b{color:#ff3b1f}

/* Match unmanned-aircraft ruler separator weight */
.training-index-ruler{border-bottom-color:var(--line)}
.training-index-ruler a{border-right:1px solid var(--line)}
.training-index-ruler a:first-child{border-left:1px solid var(--line)}
@media(max-width:760px){.training-index-ruler{border-left:1px solid var(--line)}.training-index-ruler a{border-bottom-color:var(--line)}.training-index-ruler a:first-child{border-left:0}}

/* Restricted library */
.restricted-heading{padding-bottom:clamp(42px,7vw,92px)}.restricted-heading .section-label{margin-bottom:28px}.restricted-lock{border-top:1px solid var(--line);display:grid;grid-template-columns:.55fr 1.35fr 1fr;gap:clamp(28px,5vw,80px);padding:clamp(42px,7vw,96px) 28px}.restricted-lock__mark{color:var(--orange);font:12px var(--mono)}.restricted-lock h2,.restricted-library h2{font:clamp(32px,4.4vw,64px)/.84 var(--display);letter-spacing:-.06em;margin:18px 0 28px}.restricted-lock p{max-width:650px}.restricted-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.restricted-actions button{cursor:pointer}.restricted-manifest{border-left:1px solid var(--line);padding-left:24px}.restricted-manifest h3{color:var(--orange);font:12px var(--mono);margin:0 0 22px}.restricted-manifest ol{counter-reset:docs;list-style:none;margin:0;padding:0}.restricted-manifest li{border-top:1px solid var(--line);counter-increment:docs;font:11px/1.45 var(--mono);padding:13px 0 13px 34px;position:relative}.restricted-manifest li:before{color:var(--orange);content:counter(docs,decimal-leading-zero);left:0;position:absolute}.restricted-library{border-top:1px solid var(--line)}.restricted-library[hidden]{display:none}.restricted-library__header{display:grid;grid-template-columns:1fr 1.8fr 1fr;gap:28px;padding:clamp(42px,7vw,96px) 28px}.restricted-library__header h2{margin:0}.restricted-grid{border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr)}.restricted-card{border-bottom:1px solid var(--line);border-right:1px solid var(--line);display:flex;flex-direction:column;min-height:410px;padding:clamp(24px,3vw,42px) 28px}.restricted-card>span{color:var(--orange);font:11px var(--mono)}.restricted-card h3{font:clamp(24px,2.2vw,36px)/.95 var(--display);letter-spacing:-.04em;margin:48px 0 24px}.restricted-card p{margin-bottom:42px}.restricted-card a{border-top:1px solid var(--line);color:var(--paper);display:flex;font:11px var(--mono);justify-content:space-between;margin-top:auto;padding-top:15px}.restricted-card a b{color:var(--orange);font-size:18px}.restricted-card a:hover{color:var(--orange)}
@media(max-width:900px){.restricted-lock,.restricted-library__header{grid-template-columns:1fr}.restricted-manifest{border-left:0;border-top:1px solid var(--line);padding:28px 0 0}.restricted-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.restricted-lock,.restricted-library__header{padding-left:18px;padding-right:18px}.restricted-grid{grid-template-columns:1fr}.restricted-card{min-height:340px;padding-left:18px;padding-right:18px}}

/* Restricted access column refinement */
.restricted-page .restricted-heading{text-align:center}
.restricted-lock{display:block;padding-left:18px;padding-right:18px}
.restricted-lock__inner{margin:0 auto;max-width:720px;text-align:center}
.restricted-lock__mark{margin-bottom:32px}
.restricted-lock h2{font-size:clamp(32px,4.4vw,60px)}
.restricted-lock p{margin-left:auto;margin-right:auto;max-width:620px}
.restricted-manifest{border-left:0;margin:48px auto 0;max-width:620px;padding-left:0;text-align:left}
.restricted-actions{justify-content:center;margin-top:36px}
@media(max-width:900px){.restricted-manifest{border-top:0;padding-top:0}}

/* Centered restricted-access panel, following the legacy portal */
.restricted-access-box{background:#f8fafc;border:1px solid #cbd5e1;color:#0f172a;margin:clamp(30px,6vw,80px) auto;max-width:900px;padding:clamp(40px,6vw,72px) clamp(70px,12vw,150px);width:calc(100% - 36px)}
.restricted-access-box .restricted-heading{padding:0 0 clamp(32px,5vw,52px)}
.restricted-access-box .restricted-heading h1{color:#0f172a;font-size:clamp(38px,5vw,64px)}
.restricted-access-box .restricted-lock{border-top:1px solid #cbd5e1;padding:clamp(32px,5vw,52px) 0 0}
.restricted-access-box .restricted-lock__inner{box-sizing:border-box;max-width:600px;padding-left:clamp(20px,4vw,48px);padding-right:clamp(20px,4vw,48px)}
.restricted-access-box .restricted-lock h2{color:#0f172a}
.restricted-access-box .restricted-lock p{color:#475569;text-align:center}
.restricted-access-box .restricted-manifest{text-align:center}
.restricted-access-box .restricted-manifest h3{color:#0f172a;text-align:center}
.restricted-access-box .restricted-manifest li{border-top-color:#cbd5e1;color:#475569;padding-left:0;text-align:center}
.restricted-access-box .restricted-manifest li:before{display:none}
@media(max-width:600px){.restricted-access-box{padding:30px 24px}.restricted-access-box .restricted-heading h1{font-size:clamp(36px,11vw,52px)}}

/* Final restricted-page centering: follow the legal document flow */
.restricted-access-box .restricted-heading h1{margin:0 auto;text-align:center}
.restricted-access-box .restricted-lock{display:block;margin:0 auto;width:100%}
.restricted-access-box .restricted-lock__inner{margin:0 auto;max-width:600px;padding-left:0;padding-right:0;text-align:center;width:100%}
.restricted-access-box .restricted-lock__inner>*{margin-left:auto;margin-right:auto;text-align:center}
.restricted-access-box .restricted-manifest,.restricted-access-box .restricted-manifest ol{margin-left:auto;margin-right:auto;max-width:560px;width:100%}
.restricted-access-box .restricted-actions{display:flex;justify-content:center;width:100%}
@media(max-width:600px){.restricted-access-box .restricted-lock__inner{max-width:100%}}

/* Restricted documents: legal/warty.html document flow */
.restricted-legal-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.restricted-legal-actions button{cursor:pointer}
.restricted-legal-library h3{border-top:1px solid #05050533;margin:42px 0 14px;padding-top:22px}
.restricted-legal-library[hidden]{display:none}
.restricted-legal-library:not([hidden]){opacity:0;transform:translateY(-18px)}
.restricted-legal-library.is-unfolded{animation:restricted-library-unfold .42s cubic-bezier(.22,1,.36,1) forwards}
@keyframes restricted-library-unfold{to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.restricted-legal-library.is-unfolded{animation:none;opacity:1;transform:none}}
.legal-document .restricted-lock-label{color:var(--orange);font-family:var(--mono)}

/* Restricted access status line */
#restricted-access-status{
  color:#ff5a00;
  font-family:var(--mono);
  font-weight:700;
}
.service-accordion__preview:focus-visible{outline:2px solid var(--orange);outline-offset:6px}
.service-section--orange .service-accordion__preview:focus-visible{outline-color:var(--ink)}

/* Engineering accordion: definitive folded and unfolded states */
.service-accordion__preview{
  max-height:calc(1.48em * 7);
}
.service-accordion.is-open .service-accordion__preview,
.service-accordion:has(> details[open]) .service-accordion__preview{
  -webkit-line-clamp:initial;
  display:block;
  height:auto;
  max-height:none;
  overflow:visible;
}

/* Engineering sections: compact when folded, content-sized when unfolded */
.engineering-page .service-section{
  min-height:0;
  padding-top:clamp(42px,5vw,64px);
}
.engineering-page .service-section__next{
  margin-top:clamp(24px,3vw,38px);
}
.engineering-page .service-section:has(.service-accordion > details[open]){
  min-height:0;
}

/* Optical specification tables: mobile fallback when card conversion is unavailable */
@media(max-width:760px){
  .optical-page [data-optical-specification-table]{
    display:block;
    max-width:100%;
    overflow-x:auto;
    scrollbar-gutter:stable;
  }
  .optical-page [data-optical-specification-table] table{
    display:table;
    min-width:760px;
  }
  .optical-page .optical-specifications:empty{
    display:none;
  }
}

/* Optical specifications: responsive cards replace wide tables on mobile */
@media(max-width:760px){
  .optical-page [data-optical-specification-table]{display:none}
  .optical-page .optical-specifications:not(:empty){display:grid}
  .optical-page .optical-specifications:empty{display:none}
}
@media(max-width:430px){
  .optical-page .specifications-list-item{grid-template-columns:1fr;gap:5px}
}
@media(max-width:760px){
  .optical-page [data-optical-specification-table]{display:block}
  .optical-page [data-optical-specification-table]:has(+ .optical-specifications:not(:empty)){display:none}
}

/* Inline aircraft imagery follows the width of its text column */
.aircraft-inline-image{margin:24px 0 32px;width:100%}
.aircraft-inline-image img{display:block;height:auto;width:100%}
