/* Bundled fonts keep the typography consistent across devices and subfolders. */
@font-face {
    font-family: 'NAE Sans';
    src: url('fonts/roboto.ttf') format('truetype');
    font-style: normal;
    font-weight: 400 700;
    font-display: swap;
}
@font-face {
    font-family: 'NAE Serif';
    src: url('fonts/gelasio.ttf') format('truetype');
    font-style: normal;
    font-weight: 400 700;
    font-display: swap;
}
@font-face {
    font-family: 'NAE Brand';
    src: url('fonts/oswald.ttf') format('truetype');
    font-style: normal;
    font-weight: 200 700;
    font-display: swap;
}
:root {
    --navy: #061a2b;
    --navy-deep: #041421;
    --gold: #c89a43;
    --gold-light: #ecc577;
    --ink: #091928;
    --muted: #435264;
    --paper: #f6f7f9;
    --line: #dbe1e7;
    --gutter: max(clamp(22px, 3.8vw, 64px), calc((100vw - 1400px) / 2));
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 24px; }
body { margin: 0; background: var(--paper); color: var(--ink); font: 15px/1.5 'NAE Sans', sans-serif; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
img, svg { display: block; max-width: 100%; }
button:focus-visible, a:focus-visible { outline: 3px solid var(--gold); outline-offset: 5px; }
::selection { color: var(--navy); background: #edc77e; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, .partner h3 { font-family: 'NAE Serif', serif; font-weight: 700; }
h2 { margin-bottom: 0; font-size: clamp(28.8px, 2.835vw, 43.2px); line-height: 1.1; letter-spacing: -1px; }
.ui-icon { width: 20px; height: 20px; flex: 0 0 auto; }
.art { width: 100%; height: 100%; object-fit: cover; }
.skip-link { position: fixed; top: 10px; left: 16px; z-index: 20; padding: 12px 20px; background: #fff; transform: translateY(-160%); }
.skip-link:focus { transform: translateY(0); }

/* Masthead */
.header { position: relative; z-index: 10; display: flex; justify-content: space-between; align-items: center; gap: 28px; min-height: 100px; padding: 0 var(--gutter); background: linear-gradient(110deg, #fff, #f3f5f8); border-bottom: 1px solid #d9e0e5; }
.brand { display: flex; align-items: center; gap: 16px; min-width: 0; }
.brand > img { width: 100px; height: 100px; margin: 0; flex-shrink: 0; clip-path: circle(47%); object-fit: contain; image-rendering: -webkit-optimize-contrast; }
.brand > span { font-family: 'NAE Brand', sans-serif; font-size: clamp(24px, calc(2vw + 3px), 33px); font-weight: 700; line-height: 1.1; letter-spacing: .8px; }
.brand small { display: block; margin-top: 7px; font: 700 7px/1.4 'NAE Sans', sans-serif; letter-spacing: 1.8px; }
nav { display: flex; align-items: center; gap: clamp(20px, 2.15vw, 34px); font-size: 15px; color: #0d2943; }
nav > a:not(.button) { position: relative; padding: 15px 0; white-space: nowrap; }
nav > a:not(.button)::after { position: absolute; right: 0; bottom: 8px; left: 0; height: 2px; content: ''; background: var(--gold); transform: scaleX(0); transform-origin: left; transition: transform .2s; }
nav > a:hover::after, nav > a.active::after { transform: scaleX(1); }
nav > a:hover { color: #916923; }
.menu-toggle { display: none; }
.button { display: inline-flex; justify-content: center; align-items: center; gap: 11px; min-height: 44px; padding: 12px 21px; border: 1px solid transparent; border-radius: 3px; font-size: 11px; font-weight: 700; line-height: 1.2; letter-spacing: 1px; text-transform: uppercase; transition: transform .2s, box-shadow .2s, background .2s; }
.button .ui-icon { width: 17px; height: 17px; }
.gold { color: #181c1c; border-color: #efca80; background: linear-gradient(110deg, #f1cd7d, #eec578 50%, #c89845); box-shadow: inset 0 0 0 1px #fff3, 0 3px 9px #0002; }
.gold:hover { background: linear-gradient(110deg, #ffdc91, #f3ce85 50%, #d4a854); box-shadow: 0 4px 14px #c89a4333; transform: translateY(-2px); }
.outline { color: #fff; border-color: #c1cbd3; background: #04142170; }
.outline:hover { border-color: var(--gold-light); background: #21384a; transform: translateY(-2px); }
.nav-contact { padding-inline: 16px; font-size: 10px; }
.actions { display: flex; align-items: center; flex-wrap: wrap; gap: 14px; }

/* Hero */
.hero { position: relative; isolation: isolate; overflow: hidden; min-height: 445px; color: #fff; background: var(--navy-deep); }
.hero-art { position: absolute; inset: 0 0 0 auto; z-index: -2; width: 54%; mask-image: linear-gradient(90deg, transparent, #000 15%); }
.hero-shade { position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, #041421 25%, #071725e6 43%, transparent 67%); }
.hero-content { width: 52%; padding: 52px 0 28px; margin-left: var(--gutter); }
.eyebrow { margin-bottom: 7px; color: #92661f; font-size: 11px; font-weight: 700; line-height: 1.5; letter-spacing: 2.2px; text-transform: uppercase; }
.hero .eyebrow, .trust .eyebrow, .cta .eyebrow { color: var(--gold-light); }
.hero-eyebrow { display: flex; align-items: center; gap: 12px; }
.hero-eyebrow::before { content: ''; width: 35px; height: 2px; flex-shrink: 0; background: linear-gradient(90deg, #b5792a, #f6d28a); box-shadow: 0 0 9px #e7b25355; }
h1 { max-width: 660px; margin-bottom: 17px; font-size: clamp(37.8px, 3.69vw, 57.6px); line-height: 1.015; letter-spacing: -1.3px; text-wrap: pretty; }
.hero-description { max-width: 570px; margin-bottom: 20px; font-size: clamp(14px, 1.25vw, 17px); line-height: 1.55; color: #edf0f3; }
.hero-slogan { position: absolute; right: var(--gutter); bottom: 24px; z-index: 1; max-width: 36%; margin: 0; color: #fff; font-size: clamp(10px, 1.05vw, 15px); font-weight: 600; line-height: 1.65; letter-spacing: 2.5px; text-align: right; text-transform: uppercase; text-shadow: 0 2px 8px #000, 0 0 18px #041421; overflow-wrap: anywhere; }
.hero-slogan::after { content: ''; display: block; width: 43px; height: 2px; margin: 10px 0 0 auto; background: linear-gradient(90deg, #b48331, #f5d593, #bc8d3f); box-shadow: 0 0 5px #e7c17444; }
.hero.has-slider .hero-slogan { bottom: 87px; }
.values { display: flex; flex-wrap: wrap; align-items: center; gap: 0; margin: 20px 0 0; color: #c4cdd7; font-size: 10px; letter-spacing: 2.4px; }
.values span + span { margin-left: 22px; padding-left: 22px; border-left: 1px solid #ab9869; }

/* Capabilities */
.light { padding: 32px var(--gutter); background-color: var(--paper); background-image: repeating-radial-gradient(ellipse at 40% 0, transparent 0 26px, #082b4608 27px, transparent 27.4px); background-size: 1600px 950px; }
.section-heading { display: grid; grid-template-columns: 1fr 1fr; align-items: end; gap: 40px; margin-bottom: 22px; }
.section-heading > p { max-width: 560px; margin: 0 0 3px; color: var(--muted); font-size: 13px; line-height: 1.55; }
.capabilities .section-heading { grid-template-columns: 1fr; gap: 13px; }
.capabilities .section-heading > p { max-width: none; font-size: 18px; font-weight: 700; }
.relationships .section-heading { grid-template-columns: 1fr; gap: 13px; }
.relationships .section-heading > p { max-width: 850px; font-size: 16.9px; }
.cards { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; }
.cap-card { position: relative; display: flex; flex-direction: column; overflow: hidden; color: #fff; background: #081c2a; border: 1px solid #d9e0e5; box-shadow: 0 2px 3px #08233c0a; transition: transform .2s, box-shadow .2s, border-color .2s; }
.cap-card:hover { transform: translateY(-4px); border-color: #b68c46; box-shadow: 0 8px 20px #081b2a26; }
.card-image { height: clamp(110px, 10vw, 163px); overflow: hidden; }
.card-image > .art { transition: transform .5s; }
.cap-card:hover .card-image > .art { transform: scale(1.045); }
.card-body { position: relative; flex: 1; margin-top: -26px; padding: 0 16px 22px; background: linear-gradient(transparent, #081c2a 37px); }
.cap-icon { width: 35px; height: 35px; margin-bottom: 14px; color: var(--gold-light); filter: drop-shadow(0 2px 3px #0009); }
.cap-card h3 { min-height: 35px; margin-bottom: 10px; font-size: 12.6px; font-weight: 600; line-height: 1.25; }
.cap-card p { margin-bottom: 0; padding-right: 12px; color: #d1dce5; font-size: 12px; line-height: 1.45; }
.card-arrow { position: absolute; right: 9px; bottom: 27px; width: 14px; height: 14px; color: var(--gold-light); transition: transform .2s; }
.cap-card:hover .card-arrow { transform: translateX(3px); }
.cap-card .card-description { display: flex; align-items: center; gap: 10px; }
.cap-card .card-description p { flex: 1; min-width: 0; padding-right: 0; }
.cap-card .card-description .card-arrow { position: static; flex: 0 0 14px; }

/* Mission */
.trust { position: relative; isolation: isolate; overflow: hidden; padding: 33px var(--gutter) 35px; background: #071c2b; color: #fff; }
.trust-art { position: absolute; inset: 0 0 0 auto; z-index: -2; width: 27%; opacity: .72; mask-image: linear-gradient(90deg, transparent, #000 35%); }
.trust::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, #071c2b 53%, #071c2b00); }
.trust-top { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 32px; }
.trust-top > p { margin: 0; font-size: 16.9px; line-height: 1.6; color: #dce4eb; }
.trust h2 { font-size: clamp(27px, 2.79vw, 41.4px); }
.features { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; max-width: 100%; margin-top: 36px; }
.feature { display: flex; align-items: flex-start; gap: 17px; padding-right: 20px; border-right: 1px solid #314a5b; }
.feature:last-child { border-right: 0; }
.feature-icon { width: 37px; height: 37px; color: var(--gold-light); }
.feature h3 { margin: 0 0 6px; font-size: 10.8px; line-height: 1.4; font-weight: 600; letter-spacing: .7px; }
.feature p { margin: 0; font-size: 14px; line-height: 1.7; color: #dce4eb; }
.trust-signoff { position: absolute; right: var(--gutter); bottom: 23px; margin: 0; text-align: right; font-size: 10px; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; }
.trust-signoff::after { content: ''; display: block; width: 38px; height: 2px; margin: 10px 0 0 auto; background: var(--gold-light); }

/* Relationships and closing banner */
.relationships { padding-top: 29px; padding-bottom: 29px; }
.partners { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.partner { display: grid; grid-template-columns: 37% minmax(0, 1fr); min-height: 108px; border: 1px solid #d8dfe6; background: linear-gradient(110deg, #fff, #eef1f5); }
.partner-image { min-height: 108px; }
.relationships .partner { position: relative; }
.relationships .partner h3 a::after { content: ''; position: absolute; inset: 0; }
.relationships .partner:hover, .relationships .partner:focus-within { border-color: var(--gold); box-shadow: 0 3px 12px #081b2a20; }
.relationships .partner h3 a:focus-visible::after { outline: 2px solid var(--gold); outline-offset: 3px; }
.partner-copy { align-self: center; padding: 16px; }
.relationships .partner-with-logo { grid-template-columns: minmax(0, 1fr); grid-template-rows: 120px 1fr; }
.relationships .partner-with-logo .partner-image { display: flex; align-items: center; justify-content: center; height: 120px; min-height: 0; padding: 20px; background: #fff; }
.relationships .partner-logo { display: block; width: 100%; height: 100%; object-fit: contain; }
.partner h3 { margin-bottom: 9px; font-size: clamp(16.2px, 1.575vw, 22.5px); line-height: 1.1; letter-spacing: -.7px; }
.partner p { margin: 0; color: #243e57; font-size: 9px; line-height: 1.6; letter-spacing: 1.2px; }
.cta { position: relative; isolation: isolate; display: flex; align-items: center; justify-content: space-between; gap: 25px; min-height: 145px; padding: 31px var(--gutter); color: #fff; background: var(--navy-deep); overflow: hidden; }
.cta-art { position: absolute; inset: 0 0 0 43%; z-index: -2; width: 27%; opacity: .65; mask-image: linear-gradient(90deg, transparent, #000 25%, #000 75%, transparent); }
.cta > img.cta-art[src^="uploads/"] { inset: 0; width: 100%; mask-image: none; opacity: .4; }
.cta::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, #04142180, transparent, #04142190); }
.cta h2 { font-size: clamp(25.2px, 2.385vw, 36px); }
.cta-copy > p:last-child { margin: 6px 0 0; color: #dbe4ec; font-size: 14px; }
.cta .actions { flex-shrink: 0; gap: 12px; }
.cta .brochure-download { padding-inline: 12px; font-size: 10px; letter-spacing: .55px; }
#home .cta { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); align-items: center; gap: clamp(24px, 3vw, 56px); }
#home .cta-copy { max-width: 680px; }
#home .cta .actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); width: 100%; gap: 10px; }
#home .cta .button { height: 100%; min-height: 48px; padding: 12px 10px; gap: 8px; font-size: 11px; letter-spacing: .4px; text-align: center; }
#home .cta .button .ui-icon { flex-shrink: 0; }
.cta .tertiary { color: #dbe4ec; border-color: #718394; background: #ffffff0d; }
.cta .tertiary:hover { color: var(--gold-light); border-color: var(--gold-light); background: #21384a; }
@media (min-width: 1001px) and (max-width: 1350px) {
    #home .cta .button .ui-icon { display: none; }
}
@media (max-width: 1000px) {
    #home .cta { grid-template-columns: minmax(0, 1fr); }
    #home .cta-copy { max-width: 100%; }
}
@media (max-width: 650px) {
    #home .cta .actions { gap: 6px; }
    #home .cta .button { padding: 10px 6px; font-size: 9px; letter-spacing: .2px; overflow-wrap: anywhere; }
    #home .cta .button .ui-icon { display: none; }
}

/* Footer */
footer { padding: 23px var(--gutter) 22px; color: #d8e1ea; background: linear-gradient(110deg, #0a2131, #041421); }
.footer-capabilities { padding: 16px 0; border-top: 1px solid #314959; }
.footer-capabilities h2 { margin: 0 0 10px; color: #fff; font-family: inherit; font-size: 13px; line-height: 1.4; letter-spacing: .5px; }
.footer-capability-links { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px 24px; }
.footer-capability-links a { display: flex; align-items: center; min-height: 44px; color: #d8e1ea; font-size: 13px; line-height: 1.5; }
.footer-capability-links a:hover, .footer-capability-links a[aria-current="page"] { color: var(--gold-light); }
.footer-capability-links a:focus-visible { outline: 2px solid var(--gold-light); outline-offset: 3px; }
@media(max-width:700px) { .footer-capability-links { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px 16px; } }
@media(max-width:430px) { .footer-capability-links { grid-template-columns: 1fr; gap: 2px; } }
.footer-main { display: flex; justify-content: space-between; align-items: center; gap: 23px; padding-bottom: 23px; font-size: 11px; }
.footer-brand { flex-shrink: 0; gap: 13px; }
.footer-brand > img { width: 65px; height: 65px; margin: 0; }
.footer-brand > span { font-size: 19px; letter-spacing: 1px; }
.footer-brand small { font-size: 6px; letter-spacing: 1px; }
.footer-address, .footer-contact { display: flex; gap: 10px; align-items: center; }
.footer-address { align-items: flex-start; }
.footer-address p { max-width: 140px; margin: 0; }
.footer-address p > span { display: block; margin-bottom: 3px; color: #fff; }
.footer-main .ui-icon { width: 19px; height: 19px; color: #b7c4d1; }
.footer-contact { overflow-wrap: normal; white-space: nowrap; }
.footer-contact:hover, .footer-bottom a:hover { color: var(--gold-light); }
.footer-bottom { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding-top: 15px; border-top: 1px solid #314959; color: #aabac9; font-size: 10px; }
.footer-bottom > a { display: inline-flex; align-items: center; gap: 6px; padding-block: 5px; }
.footer-bottom .ui-icon { width: 12px; height: 12px; }
.footer-pride { display: inline-flex; align-items: center; gap: 13px; font-size: 9px; letter-spacing: 1.8px; text-transform: uppercase; }
.flag { position: relative; display: inline-block; width: 28px; height: 16px; background: repeating-linear-gradient(#9aaabd 0 1px, transparent 1px 2.45px); border: 1px solid #8a9eb14d; }
.flag::before { content: ''; position: absolute; inset: 0 auto auto 0; width: 12px; height: 9px; background: #36516b; }

@media (min-width: 1700px) {
    .hero-content { padding-top: 70px; padding-bottom: 40px; }
}
@media (max-width: 1200px) {
    .header { min-height: 94px; gap: 18px; }
    .brand { gap: 12px; }
    .brand > img { width: 94px; height: 94px; margin: 0; }
    .brand > span { font-size: 24px; }
    .brand small { font-size: 6px; letter-spacing: 1.2px; }
    nav { gap: 20px; font-size: 13px; }
    .nav-contact { gap: 8px; padding-inline: 12px; font-size: 9px; }
    .hero { min-height: 395px; }
    .hero-content { padding-top: 44px; width: 49%; }
    h1 { font-size: 39.6px; }
    .hero-description { font-size: 14px; }
    .button { padding-inline: 16px; font-size: 10px; gap: 9px; }
    .card-body { padding-inline: 13px; }
    .cap-card h3 { font-size: 11.7px; }
    .cap-card p { font-size: 11px; }
    .trust-top { grid-template-columns: 1fr 1fr; }
    .features { gap: 18px; max-width: 100%; }
    .feature { gap: 13px; padding-right: 14px; }
    .feature-icon { width: 33px; height: 33px; }
    .feature h3 { font-size: 9.9px; }
    .trust-signoff { font-size: 8px; letter-spacing: 1.5px; }
    .partner-copy { padding: 13px; }
    .partner p { font-size: 8px; }
    .cta .actions { gap: 9px; }
    .footer-brand > img { width: 60px; height: 60px; margin: 0; }
    .footer-brand > span { font-size: 16px; }
    .footer-brand small { font-size: 5px; }
    .footer-main { gap: 18px; font-size: 10px; }
}
@media (max-width: 1050px) {
    .header { min-height: 88px; }
    .brand > img { width: 82px; height: 82px; margin: 0; }
    .brand > span { font-size: 24px; }
    .menu-toggle { display: grid; place-items: center; width: 44px; height: 44px; flex-shrink: 0; border: 1px solid #d6dee5; border-radius: 3px; background: transparent; color: var(--navy); }
    .menu-close { display: none; }
    .menu-toggle[aria-expanded=true] .menu-open { display: none; }
    .menu-toggle[aria-expanded=true] .menu-close { display: block; }
    nav { position: absolute; top: 100%; right: 0; left: 0; display: none; padding: 22px var(--gutter); border-top: 1px solid var(--line); background: #fff; box-shadow: 0 16px 24px #061a2b24; }
    nav.open { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 30px; font-size: 16px; }
    nav .nav-contact { margin-top: 10px; font-size: 11px; }
    .hero-content { width: 58%; }
    .hero-art { width: 60%; }
    .hero-shade { background: linear-gradient(90deg, #041421 10%, #041421e6 45%, #04142100 90%); }
    .cards { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
    .card-image { height: 155px; }
    .card-body { padding: 0 20px 23px; }
    .cap-card h3 { min-height: 0; font-size: 13.5px; }
    .cap-card p { font-size: 12px; max-width: 220px; }
    .trust-top { grid-template-columns: 1fr 1fr; }
    .features { max-width: 100%; }
    .trust-signoff { display: none; }
    .trust-art { width: 45%; opacity: .3; }
    .partners { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .partner { grid-template-columns: 1fr; }
    .partner-image { height: 125px; min-height: 0; }
    .partner-copy { padding: 18px; }
    .partner h3 { font-size: 18.9px; }
    .partner p { font-size: 9px; }
    .cta { flex-wrap: wrap; gap: 22px; }
    .cta-art { left: 40%; width: 45%; }
    .footer-main { flex-wrap: wrap; justify-content: flex-start; gap: 22px 35px; }
    .footer-brand { flex-basis: 100%; }
    .footer-brand > img { margin: 0; }
    .footer-brand > span { font-size: 21px; }
    .footer-brand small { font-size: 6px; }
}
@media (max-width: 650px) {
    html { scroll-padding-top: 12px; }
    .header { padding: 0 18px; min-height: 77px; gap: 10px; }
    .brand { gap: 9px; }
    .brand > img { width: 67px; height: 67px; margin: 0; }
    .brand > span { font-size: clamp(17px, calc(4.6vw + 2px), 23px); letter-spacing: .5px; }
    .brand small { font-size: 5px; letter-spacing: .8px; }
    .menu-toggle { width: 40px; height: 40px; border: 0; }
    nav.open { grid-template-columns: 1fr; gap: 2px; max-height: calc(100dvh - 77px); overflow-y: auto; }
    nav > a:not(.button) { padding-block: 12px; }
    nav .nav-contact { justify-self: start; margin-bottom: 5px; }
    .hero { min-height: 0; }
    .hero-art { inset: 0 0 auto; width: 100%; height: 305px; mask-image: linear-gradient(0deg, transparent, #000 45%); }
    .hero-shade { background: linear-gradient(0deg, #041421 0%, #041421 48%, #04142100 90%); }
    .hero-content { width: auto; margin: 0; padding: 265px var(--gutter) 30px; }
    .hero-eyebrow { gap: 9px; font-size: 9px; letter-spacing: 1.5px; }
    .hero-eyebrow::before { width: 20px; }
    h1 { font-size: clamp(30.6px, 8.775vw, 44.1px); line-height: 1.045; letter-spacing: -.9px; margin-bottom: 16px; }
    .hero-description { font-size: 14px; line-height: 1.65; margin-bottom: 23px; }
    .hero .actions { display: grid; grid-template-columns: 1fr; gap: 10px; }
    .hero .button { width: 100%; font-size: 11px; min-height: 46px; }
    .values { justify-content: space-between; gap: 8px; margin-top: 23px; font-size: 9px; letter-spacing: 1.5px; }
    .values span + span { margin-left: 0; padding-left: 12px; }
    h2 { font-size: 29.7px; letter-spacing: -.7px; }
    .eyebrow { font-size: 10px; letter-spacing: 2px; }
    .light { padding: 31px 20px; }
    .section-heading { grid-template-columns: 1fr; gap: 13px; margin-bottom: 22px; }
    .section-heading > p { font-size: 13px; line-height: 1.6; }
    .cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .card-image { height: 120px; }
    .card-body { padding: 0 13px 20px; margin-top: -22px; }
    .cap-icon { width: 31px; height: 31px; margin-bottom: 13px; }
    .cap-card h3 { font-size: 12.6px; min-height: 35px; }
    .cap-card p { font-size: 11px; line-height: 1.55; padding-right: 8px; }
    .card-arrow { width: 12px; right: 7px; bottom: 24px; }
    .trust { padding: 32px var(--gutter); }
    .trust-top { grid-template-columns: 1fr; gap: 15px; }
    .trust h2 { font-size: 29.7px; }
    .trust-top > p { font-size: 16.9px; line-height: 1.65; }
    .trust-art { width: 100%; opacity: .12; }
    .trust::after { background: #071c2b45; }
    .features { grid-template-columns: 1fr; gap: 20px; margin-top: 26px; }
    .feature { gap: 18px; border-right: 0; border-bottom: 1px solid #2a4051; padding: 0 0 20px; }
    .feature:last-child { border-bottom: 0; padding-bottom: 0; }
    .feature-icon { width: 36px; height: 36px; }
    .feature h3 { font-size: 10.8px; }
    .feature p { font-size: 13px; }
    .partners { grid-template-columns: 1fr; gap: 12px; }
    .partner { grid-template-columns: 36% minmax(0, 1fr); min-height: 110px; }
    .partner-image { height: 100%; min-height: 110px; }
    .partner-copy { padding: 16px; }
    .partner h3 { font-size: 19.8px; }
    .partner p { font-size: 8px; letter-spacing: 1px; }
    .cta { padding: 32px var(--gutter); gap: 23px; }
    .cta-art { inset: 0; width: 100%; opacity: .23; mask-image: none; }
    .cta h2 { font-size: 29.7px; }
    .cta-copy > p:last-child { font-size: 13px; line-height: 1.6; }
    .cta .actions { width: 100%; display: grid; grid-template-columns: 1fr; gap: 10px; }
    .cta .button { min-height: 46px; font-size: 11px; }
    footer { padding: 25px var(--gutter) 22px; }
    .footer-main { display: grid; grid-template-columns: 1fr 1fr; gap: 23px 16px; align-items: start; font-size: 11px; }
    .footer-brand { grid-column: 1 / -1; margin-bottom: 3px; gap: 12px; }
    .footer-brand > img { width: 58px; height: 58px; }
    .footer-brand > span { font-size: 20px; }
    .footer-brand small { font-size: 5px; letter-spacing: 1px; }
    .footer-contact, .footer-address { gap: 8px; }
    .footer-main .ui-icon { width: 16px; height: 16px; }
    .footer-bottom { display: grid; grid-template-columns: 1fr auto; gap: 14px 10px; font-size: 9px; }
    .footer-pride { grid-column: 1 / -1; font-size: 8px; letter-spacing: 1.5px; }
}
@media (max-width: 360px) {
    .brand > span { font-size: 17px; }
    .brand small { font-size: 4px; }
    .brand > img { width: 59px; height: 59px; }
    .hero-content { padding-inline: 18px; }
    .hero-eyebrow { letter-spacing: 1px; font-size: 8px; }
    .values { font-size: 8px; letter-spacing: 1px; }
    .values span + span { padding-left: 9px; }
    .light { padding-inline: 16px; }
    .cards { gap: 9px; }
    .card-body { padding-inline: 11px; }
    .cap-card h3 { font-size: 11.7px; }
    .partner-copy { padding: 12px; }
    .partner h3 { font-size: 18px; }
    .footer-main { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { transition: none !important; }
}

/* Optional owner-managed hero slideshow. Text stays stable as photographs change. */
.hero-gallery { height: 100%; }
.hero-slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity .65s ease, visibility .65s; }
.hero-slide.is-active { opacity: 1; visibility: visible; }
.hero-shade { pointer-events: none; }
.slider-controls { position: absolute; right: var(--gutter); bottom: 24px; z-index: 2; display: flex; align-items: center; gap: 6px; padding: 5px 9px; border: 1px solid #b4c3ce55; border-radius: 4px; background: #041421d9; backdrop-filter: blur(8px); }
.slider-controls button { display: grid; place-items: center; flex-shrink: 0; min-width: 34px; height: 34px; border: 0; border-radius: 3px; background: transparent; color: #edf1f5; }
.slider-controls button:hover { background: #ffffff15; color: var(--gold-light); }
.slider-arrow .ui-icon { width: 15px; height: 15px; }
.slider-previous .ui-icon { transform: rotate(180deg); }
.slider-dots { display: flex; align-items: center; }
.slider-controls .slider-dot { min-width: 24px; width: 24px; }
.slider-dot::after { content: ''; width: 6px; height: 6px; border-radius: 50%; background: #a0afbc; transition: background .2s, transform .2s; }
.slider-dot[aria-pressed=true]::after { background: #f0c87c; transform: scale(1.4); }
.slider-controls .slider-playback { min-width: 44px; margin-left: 4px; padding: 0 9px; border-left: 1px solid #50606e; border-radius: 0; font-size: 10px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media(max-width:1050px) and (min-width:651px) { .slider-controls { right: 20px; bottom: 16px; } .slider-controls button { min-width: 28px; } }
@media(max-width:650px) {
    .hero-gallery { height: 305px; }
    .slider-controls { inset: 215px 20px auto auto; max-width: calc(100% - 40px); bottom: auto; padding: 3px 6px; }
    .slider-controls button { min-width: 28px; height: 34px; }
    .slider-controls .slider-dot { min-width: 20px; width: 20px; }
    .hero-slogan, .hero.has-slider .hero-slogan { position: relative; inset: auto; width: auto; max-width: none; margin: 206px 22px 22px; font-size: 10px; line-height: 1.6; letter-spacing: 1.8px; }
    .hero-slogan::after { width: 34px; margin-top: 8px; }
    .hero.has-slogan .hero-content { padding-top: 0; }
    .hero.has-slogan.has-slider .hero-slogan { margin-bottom: 14px; }
    .hero.has-slogan .slider-controls { position: relative; inset: auto; width: max-content; max-width: calc(100% - 40px); margin: 0 20px 20px auto; }
}

/* Footer proportions and lettering from the supplied Home / About references. */
footer { padding: 12px var(--gutter) 24px; background: linear-gradient(110deg,#09202e,#031421); }
.footer-main { display: grid; grid-template-columns: 2.8fr 1.9fr 1.35fr .85fr; align-items: center; gap: 16px; padding-bottom: 14px; min-height: 75px; font-size: 11px; }
.footer-brand { gap: 10px; width: auto; min-width: 0; }
.footer-brand > img { width: 68px; height: 68px; margin: 0; }
.footer-brand > span { font-family: 'NAE Brand',sans-serif; font-size: 19px; font-weight: 700; line-height: 1.12; letter-spacing: 1.5px; white-space: nowrap; }
.footer-brand small { margin-top: 6px; font-size: 6px; letter-spacing: 1.1px; white-space: nowrap; }
.footer-address { gap: 11px; border-right: 1px solid #486175; padding-right: 17px; font-size: 10px; line-height: 1.3; }
.footer-address p { max-width: none; }
.footer-address p > span { margin-bottom: 2px; }
.footer-contact { gap: 8px; font-size: 10px; white-space: nowrap; }
.footer-main .ui-icon { width: 18px; height: 18px; }
.footer-socials { display: flex; align-items: center; justify-content: space-between; gap: 22px; padding-left: 28px; border-left: 1px solid #486175; min-height: 34px; color: #fff; }
.footer-socials a,.footer-socials>span { display: inline-flex; align-items: center; justify-content: center; min-width: 20px; min-height: 30px; }
.footer-socials .ui-icon { color: #fff; width: 20px; height: 20px; }
.footer-socials a:hover .ui-icon { color: var(--gold-light); }
.footer-bottom { display: flex; justify-content: space-between; gap: 15px; padding-top: 10px; border-color: #3b5365; font-size: 9px; }
.footer-pride { font-size: 8px; letter-spacing: 1.7px; }
.flag { width: 30px; height: 17px; }
.flag::before { background: radial-gradient(circle,#b1bfcc .55px,transparent .8px) 0 0/3px 3px,#28435b; }
@media(min-width:1201px) { .footer-brand>span { font-size: 23px; } .footer-brand small { font-size: 7px; } .footer-contact,.footer-address { font-size: 12px; } .footer-main { padding-block: 7px 19px; } }
@media(max-width:1050px) and (min-width:651px) {
    .footer-main { grid-template-columns: 1.5fr 1fr 1fr; gap: 20px; }
    .footer-brand { grid-column: 1/3; }
    .footer-address { border: 0; }
    .footer-socials { grid-column: 3; grid-row: 2; justify-content: flex-end; }
}
@media(max-width:650px) {
    footer { padding: 22px; }
    .footer-main { grid-template-columns: 1fr 1fr; gap: 20px 14px; padding-bottom: 20px; }
    .footer-brand { grid-column: 1/-1; }
    .footer-brand>img { width: 64px; height: 64px; }
    .footer-brand>span { font-size: 19px; letter-spacing: 1.1px; }
    .footer-brand small { font-size: 5px; letter-spacing: .9px; }
    .footer-address { border: 0; padding-right: 0; font-size: 11px; }
    .footer-contact { white-space: normal; font-size: 11px; }
    .footer-socials { grid-column: 1/-1; justify-content: flex-start; border-left: 0; padding-left: 0; gap: 28px; }
    .footer-bottom { flex-wrap: wrap; font-size: 9px; gap: 14px; }
    .footer-pride { width: 100%; font-size: 8px; }
}
@media(max-width:360px) { .footer-brand>span { font-size: 16px; } .footer-brand small { font-size: 4.5px; } .footer-contact { font-size: 10px; } }

/* Shared visual refinements: preserve the existing layout and content. */
h1, h2, h3 { text-wrap: balance; }
button, input, textarea, select { font-family: inherit; }
a, button { touch-action: manipulation; }
.section-heading > *, .footer-main > *, .cta > * { min-width: 0; }
.section-heading > p { margin-bottom: 0; }
.partner-copy p:last-child, .cap-card p:last-child { margin-bottom: 0; }
.footer-contact { overflow-wrap: normal; white-space: nowrap; }
/* Buyer-facing card and footer readability. */
#home .cap-card p, .capabilities-page .cards .cap-card p { font-size: 13px; line-height: 1.6; }
.partner p { font-size: 13px; line-height: 1.65; letter-spacing: normal; }
.footer-main { grid-template-columns: minmax(0, 2.8fr) minmax(0, 1.9fr) max-content max-content; }
.footer-brand small { font-size: 8px; letter-spacing: .4px; white-space: normal; }
.footer-address, .footer-contact { font-size: 13px; line-height: 1.5; }
.footer-bottom { font-size: 11px; }
.footer-pride { font-size: 10px; }
.footer-contact .ui-icon { flex-shrink: 0; }
@media (max-width: 1000px) {
    .footer-main { grid-template-columns: minmax(0, 1fr) max-content; }
    .footer-brand { grid-column: 1 / -1; }
    .footer-socials { grid-column: 1 / -1; grid-row: auto; justify-content: flex-start; border-left: 0; padding-left: 0; }
}
@media (max-width: 650px) {
    .footer-main { grid-template-columns: minmax(0, 1fr); }
    .footer-contact { grid-column: 1 / -1; }
}
.profile-back:hover, .partner-link:hover { text-decoration: underline; text-underline-offset: 4px; }
nav > a:focus-visible::after { transform: scaleX(1); }

/* Homepage hero typography and proportions from the supplied top reference. */
#home .hero { min-height: 0; }
#home .hero-art { inset: 0; width: 100%; mask-image: none; }
#home .hero-slide[data-slide-id="vehicle-sustainment"],
#home .hero-slide[data-slide-id="spare-parts"],
#home .hero-slide[data-slide-id="aircraft-sustainment"] { transform: translateX(20%); }
#home .hero-slide[data-slide-id="first-slide"] { object-fit: contain; object-position: right center; }
#home .hero-shade { background: linear-gradient(90deg, #031a2deb 0%, #031a2de0 40%, #031a2d88 55%, transparent 73%); }
#home .hero-content { width: 57%; margin-left: var(--gutter); padding: 60px 0 61px; }
#home .hero-eyebrow { gap: 17px; margin-bottom: 24px; font-size: 13px; letter-spacing: 3px; }
#home .hero-eyebrow::before { width: 53px; box-shadow: none; background: #edc563; }
#home .hero h1 { max-width: none; margin-bottom: 25px; font-family: 'Times New Roman', Georgia, serif; font-size: clamp(34.2px, 4.185vw, 72px); line-height: 1.02; letter-spacing: -.8px; text-wrap: initial; }
#home .hero-description { max-width: 690px; margin: 0 0 22px 3px; font-size: clamp(17px, 1.6vw, 27px); line-height: 1.42; }
#home .hero .actions { gap: 21px; }
#home .hero .button { min-height: 59px; padding: 17px 28px; gap: 22px; font-size: 16px; letter-spacing: 1px; }
#home .hero .button .ui-icon { width: 20px; height: 20px; }
#home .hero .outline { background: #03152460; border-color: #e1e7ed; }
#home .hero .slider-controls { right: 24px; bottom: 18px; }
.hero-values { display: flex; justify-content: space-between; align-items: center; gap: 25px; min-height: 67px; padding: 18px var(--gutter); color: #fff; background: #031729; border-top: 1px solid #83929f; }
.hero-values::before, .hero-values::after { content: ''; height: 2px; flex: 1 1 90px; max-width: 153px; background: #edc563; }
.hero-values span { display: flex; align-items: center; gap: 25px; font-size: clamp(10px, .85vw, 14px); letter-spacing: 2.8px; white-space: nowrap; }
.hero-values span + span::before { content: ''; width: 7px; height: 7px; flex-shrink: 0; border-radius: 50%; background: #edc563; }
@media(max-width:1100px) {
    #home .hero-content { width: 65%; padding-block: 45px; }
    #home .hero-eyebrow { font-size: 10px; letter-spacing: 2px; }
    #home .hero .button { font-size: 12px; padding-inline: 20px; min-height: 50px; }
    .hero-values { flex-wrap: wrap; justify-content: center; gap: 14px 20px; }
    .hero-values::before, .hero-values::after { display: none; }
    .hero-values span { gap: 20px; letter-spacing: 1.8px; }
}
@media(max-width:650px) {
    #home .hero-art { inset: 0 0 auto; height: 290px; mask-image: linear-gradient(0deg, transparent, #000 45%); }
    #home .hero-slide[data-slide-id] { transform: none; }
    #home .hero-slide[data-slide-id="first-slide"] { object-fit: cover; object-position: 72% top; }
    #home .hero-shade { background: linear-gradient(0deg, #031a2d 0%, #031a2d 50%, transparent 90%); }
    #home .hero-content { width: auto; margin: 0; padding: 250px var(--gutter) 30px; }
    #home .hero-eyebrow { gap: 10px; font-size: 9px; letter-spacing: 1.3px; margin-bottom: 18px; }
    #home .hero-eyebrow::before { width: 25px; }
    #home .hero h1 { font-size: clamp(26.1px, 6.12vw, 37.8px); line-height: 1.1; letter-spacing: -.6px; margin-bottom: 20px; }
    #home .hero-description { margin-left: 0; font-size: 16px; line-height: 1.55; }
    #home .hero .actions { gap: 12px; }
    #home .hero .button { justify-content: space-between; min-height: 50px; }
    #home .hero .slider-controls { inset: 205px 20px auto auto; }
    .hero-values { padding-block: 20px; }
    .hero-values span { font-size: 10px; letter-spacing: 1.5px; }
}

/* Strategic support and the four-stage engagement process. */
.strategic-support { --support-gutter: var(--gutter); padding: clamp(28px, 3.65vw, 72px) var(--support-gutter) 19px; background-color: #fff; }
.support-heading { margin-bottom: 22px; }
.support-heading h2 { margin-left: 8px; color: #050918; font-family: 'Times New Roman', Georgia, serif; font-size: clamp(28.8px, 3.96vw, 68.4px); line-height: 1.04; letter-spacing: -.9px; text-wrap: initial; }
.support-heading p { margin: 8px 0 0 8px; color: #4d5869; font-size: clamp(17px, 1.7vw, 30px); line-height: 1.4; }
.support-grid { display: grid; grid-template-columns: minmax(0, 462fr) minmax(0, 454fr) minmax(0, 462fr); gap: 16px 18px; }
.support-card { display: flex; flex-direction: column; min-width: 0; overflow: hidden; border: 1px solid #dfe4e9; border-radius: 5px; background: #fff; transition: border-color .2s, box-shadow .2s; }
.support-card:hover { border-color: var(--gold); box-shadow: 0 4px 16px #061a2b12; }
.support-photo { width: 100%; aspect-ratio: 462 / 140; background-image: url('images/home-strategic-support-reference.jpeg'); background-size: 332.468% 731.429%; background-position: var(--support-position); background-repeat: no-repeat; }
.support-card:nth-child(2) .support-photo { aspect-ratio: 454 / 140; background-size: 338.326% 731.429%; background-position: 50.0924% 21.9457%; }
.support-card:nth-child(1) .support-photo { background-position: 5.6797% 21.9457%; }
.support-card:nth-child(3) .support-photo { background-position: 94.5065% 21.9457%; }
.support-card:nth-child(n+4) .support-photo { aspect-ratio: 462 / 145; background-size: 332.468% 706.207%; background-position-y: 53.4699%; }
.support-card:nth-child(5) .support-photo { aspect-ratio: 454 / 145; background-size: 338.326% 706.207%; background-position-x: 50.0924%; }
.support-card:nth-child(6) .support-photo { background-position-x: 94.5065%; }
.support-copy { position: relative; flex: 1; padding: 13px 22px 18px; container-type: inline-size; }
.support-copy h3 { margin: 0 0 6px; font-family: 'Times New Roman', Georgia, serif; font-weight: 700; font-size: clamp(15.3px, 6.03cqi, 28.8px); line-height: 1.15; letter-spacing: -.65px; white-space: nowrap; text-wrap: initial; color: #050918; }
.support-copy p { margin: 0; padding-right: 25px; color: #4d5869; font-size: clamp(14px, 4.8cqi, 22px); line-height: 1.3; }
.support-arrow { position: absolute; right: 22px; bottom: 34px; width: 24px; height: 24px; color: #e9b740; stroke-width: 2; }
.engagement-process { padding: 26px var(--gutter) 28px; color: #fff; background-color: #031d31; background-image: repeating-radial-gradient(ellipse at 90% 30%, transparent 0 25px, #7792aa08 26px, transparent 27px); background-size: 1500px 750px; }
.process-eyebrow { display: flex; align-items: center; gap: 24px; margin: 0 0 12px; font-size: 11px; letter-spacing: 3px; text-transform: uppercase; }
.process-eyebrow::before { content: ''; width: 96px; height: 2px; background: #edc563; }
.engagement-process .process-eyebrow { margin-bottom: 6px; }
.engagement-process h2 { font-family: 'Times New Roman', Georgia, serif; font-size: clamp(27px, 3.285vw, 57.6px); letter-spacing: -.6px; line-height: 1.05; text-wrap: initial; }
.engagement-steps { display: grid; grid-template-columns: 1.18fr 1fr 1fr 1fr; gap: 80px; margin: 14px 0 0; padding: 0; list-style: none; }
.engagement-steps li { position: relative; display: flex; align-items: center; gap: 14px; min-width: 0; }
.engagement-steps li:not(:last-child)::after { content: ''; position: absolute; right: -44px; top: 50%; width: 64px; height: 2px; background: #edc563; }
.engagement-icon { display: grid; place-items: center; flex: 0 0 72px; height: 72px; border: 2px solid #edc563; border-radius: 50%; color: #edc563; }
.engagement-icon .ui-icon { width: 34px; height: 34px; stroke-width: 1.3; }
.engagement-number { align-self: flex-start; padding-top: 3px; color: #edc563; font-family: 'Times New Roman', Georgia, serif; font-size: 38px; font-weight: 700; line-height: 1.2; }
.engagement-label { font-size: clamp(14px, 1.3vw, 19px); line-height: 1.4; }
.engagement-note { margin: 18px 0 0; text-align: center; font-size: clamp(14px, 1.3vw, 20px); line-height: 1.5; }
@media(max-width:1100px) {
    .support-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .engagement-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 40px; }
    .engagement-steps li::after { display: none; }
}
@media(max-width:650px) {
    .strategic-support { padding-block: 28px 24px; }
    .support-grid { grid-template-columns: 1fr; }
    .support-copy { padding: 16px; }
    .support-copy h3 { font-size: clamp(15.3px, 5.4cqi, 21.6px); white-space: normal; }
    .support-copy p { font-size: 16px; }
    .support-copy p br { display: none; }
    .support-arrow { right: 12px; bottom: 25px; }
    .engagement-process { padding-block: 28px; }
    .process-eyebrow { gap: 16px; }
    .process-eyebrow::before { width: 45px; }
    .engagement-steps { grid-template-columns: 1fr; gap: 20px; }
    .engagement-number { width: 44px; }
    .engagement-label { font-size: 17px; }
    .engagement-note { margin-top: 26px; text-align: left; }
}

/* Homepage experience and relationships use standalone high-resolution photos. */
#home .experience { padding: clamp(36px, 4vw, 64px) var(--gutter) 40px; background-color: #fff; }
.experience-heading { margin-bottom: 28px; }
.experience-heading h2 { color: #050918; font-size: clamp(28.8px, 2.925vw, 45px); line-height: 1.16; text-wrap: initial; }
.experience-heading p { margin: 14px 0 0; color: #4d5869; font-size: clamp(17px, 1.35vw, 21px); line-height: 1.55; }
.experience-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.experience-card { display: grid; grid-template-columns: 40% minmax(0, 1fr); gap: 24px; padding: 8px; overflow: hidden; border: 1px solid #dfe5ea; border-radius: 8px; background: #fff; box-shadow: 0 4px 18px #061a2b06; }
.experience-photo { width: 100%; height: 100%; min-height: 300px; object-fit: cover; border-radius: 5px; }
.experience-photo-ground, .experience-photo-aero { object-position: center; }
.experience-copy { min-width: 0; align-self: center; padding: 18px 12px 18px 0; container-type: inline-size; }
.experience-label { display: flex; align-items: center; gap: 12px; margin: 0 0 16px; color: #435264; font-size: 10px; font-weight: 700; line-height: 1.6; letter-spacing: 1.8px; text-transform: uppercase; }
.experience-label::before { content: ''; flex: 0 0 38px; height: 3px; background: #e9bc4f; }
.experience-copy h3 { margin: 0 0 20px; color: #050918; font-family: 'NAE Serif', serif; font-size: clamp(14.4px, 4.815cqi, 24.3px); line-height: 1.3; letter-spacing: -.5px; white-space: nowrap; text-wrap: initial; }
.experience-steps { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; counter-reset: experience-step; }
.experience-steps li { display: flex; align-items: center; gap: 14px; color: #4d5869; font-size: clamp(15px, 1.15vw, 18px); line-height: 1.4; counter-increment: experience-step; }
.experience-steps li::before { content: counter(experience-step, decimal-leading-zero); display: grid; place-items: center; flex: 0 0 34px; height: 34px; border: 2px solid #e9bc4f; border-radius: 50%; color: #091928; font-size: 13px; font-weight: 700; }
@media(max-width:1100px) {
    .experience-grid { grid-template-columns: 1fr; }
    .experience-card { grid-template-columns: 36% minmax(0, 1fr); }
    .experience-photo { min-height: 290px; max-height: 360px; }
    .experience-copy { align-self: center; padding-block: 16px; }
}
@media(max-width:650px) {
    #home .experience { padding-block: 28px; }
    .experience-card { grid-template-columns: 1fr; gap: 0; padding: 6px; }
    .experience-photo { width: 100%; height: 230px; min-height: 0; }
    .experience-copy { padding: 20px 12px; }
    .experience-copy h3 { font-size: 18.9px; white-space: normal; }
    .experience-label { font-size: 10px; letter-spacing: 1.7px; gap: 12px; }
    .experience-label::before { flex-basis: 28px; }
    .experience-steps { gap: 10px; }
}

/* Homepage closing sections, matched to the supplied bottom-of-page reference. */
#home .relationships { padding: 36px var(--gutter) 48px; background-color: #fff; border-top: 1px solid #e7ebef; }
#home .relationships .section-heading { display: block; margin-bottom: 28px; }
#home .relationships h2 { display: flex; align-items: center; gap: 24px; color: #050918; font-size: clamp(27px, 2.925vw, 45px); text-wrap: initial; }
#home .relationships h2::before { content: ''; width: 74px; height: 3px; flex: 0 0 74px; background: #e9b740; }
#home .relationships .partners { gap: 24px; }
#home .relationship-card { display: flex; flex-direction: column; min-height: 0; overflow: hidden; border-radius: 8px; background: #fff; box-shadow: 0 4px 18px #061a2b06; transition: border-color .2s, box-shadow .2s; }
#home .relationship-photo { width: 100%; height: auto; aspect-ratio: 5 / 2; object-fit: cover; border-bottom: 1px solid #e7ebef; }
#home .relationship-card .partner-copy { position: relative; align-self: stretch; flex: 1; padding: 20px 20px 22px; container-type: inline-size; }
#home .relationship-card h3 { margin-bottom: 10px; font-size: clamp(14.4px, 6.84cqi, 21.6px); line-height: 1.25; letter-spacing: -.4px; color: #050918; white-space: nowrap; text-wrap: initial; }
#home .relationship-card p { max-width: none; padding-right: 22px; font-size: clamp(13px, 5.4cqi, 17px); line-height: 1.45; color: #4d5869; }
.relationship-arrow { position: absolute; right: 22px; bottom: 28px; width: 11px; height: 11px; border-top: 2px solid #c89a43; border-right: 2px solid #c89a43; transform: rotate(45deg); }
#home .cta, #home .reference-footer { background-color: #031d31; background-image: repeating-radial-gradient(ellipse at 85% 45%, transparent 0 25px, #7792aa08 26px, transparent 27px); background-size: 1500px 750px; }
#home .cta { display: block; min-height: 200px; padding: 22px var(--gutter) 23px; }
#home .cta::after { display: none; }
#home .cta-copy { position: relative; max-width: none; padding-left: 106px; }
#home .cta-copy::before { content: ''; position: absolute; left: 8px; top: 21px; width: 74px; height: 3px; background: #edc563; }
#home .cta h2 { font-size: clamp(27px, 2.7vw, 41.4px); line-height: 1.15; letter-spacing: -.8px; text-wrap: initial; }
#home .cta-copy > p:last-child { margin-top: 6px; color: #f1f3f6; font-size: clamp(16px, 1.48vw, 23px); line-height: 1.4; }
#home .cta .actions { display: flex; flex-wrap: wrap; width: auto; gap: 20px; margin: 16px 0 0 106px; }
#home .cta .button { min-height: 54px; height: auto; padding: 15px 30px; gap: 27px; font-size: 14px; letter-spacing: 1.2px; }
#home .cta .gold { background: linear-gradient(110deg, #f5d783, #edb654); }
#home .cta .outline { background: transparent; border-color: #e1e7ed; }
.closing-chevron { display: block; flex: 0 0 11px; width: 11px; height: 11px; border-top: 1.5px solid currentColor; border-right: 1.5px solid currentColor; transform: rotate(45deg); }
#home .cta .brochure-download { min-height: 44px; padding: 6px 24px; gap: 19px; color: #fff; border: 0; background: transparent; font-size: 14px; font-weight: 400; letter-spacing: 0; text-transform: none; }
#home .cta .brochure-download .ui-icon { display: block; width: 28px; height: 32px; color: #edc563; }
#home .brochure-download span { padding-bottom: 3px; border-bottom: 2px solid #edc563; }
#home .reference-footer { display: grid; gap: 16px; min-height: 67px; padding: 18px var(--gutter) 24px; color: #fff; border-top: 1px solid #536374; }
#home .reference-footer-main { display: flex; justify-content: space-between; align-items: center; gap: 24px; }
.reference-footer-brand { font-size: 13px; letter-spacing: 4px; }
.reference-footer-address { padding-left: 38px; border-left: 1px solid #8a98a5; color: #cdd8e1; font-size: 13px; line-height: 1.45; }
.reference-footer-address span { display: block; color: #fff; font-size: 10px; letter-spacing: 2px; text-transform: uppercase; }
.reference-footer-email { padding-left: 38px; border-left: 1px solid #8a98a5; font-size: 18px; line-height: 1.35; }
.reference-footer-bottom { display: flex; justify-content: space-between; gap: 18px; padding-top: 12px; border-top: 1px solid #314959; color: #aabac9; font-size: 10px; }
@media(max-width:1100px) {
    #home .relationships h2 { gap: 18px; }
    #home .relationships h2::before { width: 45px; flex-basis: 45px; }
    #home .relationships .partners { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    #home .cta-copy { padding-left: 70px; }
    #home .cta-copy::before { left: 0; width: 45px; top: 17px; }
    #home .cta .actions { margin-left: 70px; gap: 14px; }
    #home .cta .button { padding: 14px 20px; font-size: 12px; }
}
@media(max-width:650px) {
    #home .relationships { padding-block: 28px 32px; }
    #home .relationships h2 { align-items: flex-start; gap: 14px; font-size: 27px; }
    #home .relationships h2::before { margin-top: 16px; width: 28px; flex-basis: 28px; }
    #home .relationship-card .partner-copy { padding: 12px; }
    #home .relationship-card h3 { font-size: clamp(12.6px, 6.84cqi, 18px); }
    #home .relationship-card p { padding-right: 15px; font-size: clamp(12px, 5.4cqi, 14px); }
    .relationship-arrow { right: 13px; bottom: 24px; width: 10px; height: 10px; }
    #home .cta { padding-block: 27px; }
    #home .cta-copy { padding-left: 0; padding-top: 20px; }
    #home .cta-copy::before { top: 0; width: 45px; }
    #home .cta .actions { display: grid; grid-template-columns: 1fr; margin: 20px 0 0; }
    #home .cta .button { justify-content: space-between; min-height: 50px; }
    #home .cta .brochure-download { justify-content: flex-start; padding-left: 0; }
    #home .reference-footer { gap: 17px; padding-block: 22px; }
    #home .reference-footer-main { flex-direction: column; align-items: flex-start; gap: 17px; }
    .reference-footer-brand { font-size: 11px; letter-spacing: 3px; }
    .reference-footer-address { border: 0; padding-left: 0; font-size: 12px; }
    .reference-footer-email { border: 0; padding-left: 0; font-size: 16px; }
    .reference-footer-bottom { flex-direction: column; gap: 8px; }
}
@media(max-width:420px) { #home .relationships .partners { grid-template-columns: 1fr; } }
@media (hover: hover) {
    .partner h3 a:hover { color: #80591c; text-decoration: underline; text-underline-offset: 5px; }
}
@media (pointer: coarse) {
    .slider-controls button, .slider-controls .slider-dot { min-width: 44px; min-height: 44px; }
    .footer-socials a { min-width: 44px; min-height: 44px; }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* Homepage screenshot alignment. */
#home .hero-content {
    width: 56%;
    padding: 46px 0 48px;
}
#home .hero h1 {
    max-width: 680px;
    font-size: clamp(36px, 3.45vw, 58px);
}
#home .hero-description {
    max-width: 690px;
    font-size: clamp(15px, 1.32vw, 21px);
}
#home .hero .button {
    min-height: 51px;
    padding: 14px 25px;
    font-size: 13px;
}
#home .hero-values {
    min-height: 48px;
    padding-block: 13px;
}
#home .strategic-support {
    padding-top: 42px;
    padding-bottom: 48px;
}
#home .support-heading {
    margin-bottom: 26px;
}
#home .support-heading h2 {
    font-size: clamp(34px, 3.25vw, 54px);
}
#home .support-heading p {
    font-size: clamp(16px, 1.35vw, 22px);
}
#home .support-grid {
    gap: 24px 26px;
}
#home .support-copy {
    padding: 18px 24px 24px;
}
#home .support-copy p {
    line-height: 1.42;
}
#home .engagement-process {
    padding-top: 40px;
    padding-bottom: 36px;
}
#home .engagement-process h2 {
    font-size: clamp(32px, 3vw, 50px);
}
#home .engagement-steps {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 66px;
    margin-top: 24px;
}
#home .engagement-steps li {
    display: grid;
    grid-template-columns: 72px min-content minmax(0, 1fr);
    grid-template-rows: auto auto;
    align-items: start;
    gap: 10px 14px;
}
#home .engagement-steps li:not(:last-child)::after {
    right: -51px;
    top: 36px;
    width: 38px;
}
#home .engagement-steps li:not(:last-child)::before {
    content: '';
    position: absolute;
    top: 92px;
    right: -33px;
    bottom: 6px;
    width: 1px;
    background: #edc563;
    opacity: .8;
}
#home .engagement-number {
    align-self: start;
    padding-top: 5px;
}
#home .engagement-copy {
    display: contents;
    min-width: 0;
}
#home .engagement-label {
    padding-top: 11px;
    font-size: clamp(13px, 1vw, 17px);
    line-height: 1.22;
}
#home .engagement-detail {
    display: block;
    grid-column: 1 / -1;
    color: #eef3f7;
    font-size: clamp(12px, .95vw, 16px);
    line-height: 1.48;
}
#home .engagement-note {
    margin-top: 24px;
}
#home .relationships {
    padding-top: 46px;
    padding-bottom: 52px;
}
#home .relationships .section-heading {
    margin-bottom: 28px;
}
#home .relationships h2 {
    font-size: clamp(32px, 3vw, 50px);
}
#home .relationships .section-heading > p {
    margin: 4px 0 0 106px;
    max-width: none;
    color: #6a7280;
    font-size: clamp(14px, 1.2vw, 19px);
}
#home .relationships .partners {
    gap: 24px;
}
#home .relationship-card {
    border-radius: 4px;
}
#home .relationship-card .partner-copy {
    padding: 17px 20px 22px;
}
#home .relationship-card h3 {
    margin-bottom: 8px;
}
#home .relationship-card p {
    line-height: 1.42;
}
#home .cta {
    min-height: 150px;
    padding-top: 32px;
    padding-bottom: 34px;
}
#home .reference-footer {
    padding-top: 16px;
    padding-bottom: 13px;
}

@media(max-width:1100px) {
    #home .engagement-process { padding-top: 38px; padding-bottom: 40px; }
    #home .engagement-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 34px 48px; }
    #home .engagement-steps li::before,
    #home .engagement-steps li::after { display: none; }
    #home .relationships .section-heading > p { margin-left: 63px; }
}

@media(max-width:650px) {
    #home .hero-content { width: auto; margin: 0; padding: 250px var(--gutter) 30px; }
    #home .engagement-process { padding-top: 34px; padding-bottom: 38px; }
    #home .engagement-steps { grid-template-columns: 1fr; gap: 28px; margin-top: 24px; }
    #home .engagement-steps li { grid-template-columns: 62px min-content minmax(0, 1fr); }
    #home .engagement-icon { flex-basis: 62px; height: 62px; }
    #home .engagement-label { padding-top: 9px; }
    #home .relationships .section-heading > p { margin-left: 42px; }
}
@media (max-width: 650px) {
    #home .hero .slider-controls,
    .slider-controls {
        inset: 205px 50% auto auto;
        width: max-content;
        max-width: calc(100vw - 32px);
        padding: 4px 7px;
        gap: 2px;
        transform: translateX(50%);
    }
    .slider-dots {
        display: none;
    }
    .slider-controls button {
        min-width: 32px;
        width: 32px;
        height: 36px;
        min-height: 36px;
    }
    .slider-arrow .ui-icon {
        width: 14px;
        height: 14px;
    }
}

/* Capability navigation is the third footer column. */
footer .footer-main, #home .reference-footer-main {
    display: grid;
    grid-template-columns: minmax(0,1.25fr) minmax(0,1fr) minmax(0,1.3fr) minmax(0,1.1fr);
    align-items: start;
    gap: 24px;
}
footer .footer-brand, footer .footer-address, footer .footer-connect,
#home .reference-footer-main > * { min-width: 0; grid-column: auto; }
footer .footer-brand > span { white-space: normal; font-size: 19px; }
footer .footer-address, #home .reference-footer-address { border: 0; padding: 0; }
footer .footer-capabilities { display: block; position: static; padding: 0; border: 0; background: transparent; box-shadow: none; color: #d8e1ea; }
footer .footer-capabilities h2 { display: block; margin: 0 0 14px; color: #fff; font-size: 13px; font-weight: 700; line-height: 1.4; letter-spacing: .5px; }
footer .footer-capability-links { display: grid; grid-template-columns: 1fr; gap: 2px; }
footer .footer-capability-links a { display: block; min-height: 0; padding: 1px 0; font-size: 13px; line-height: 1.4; white-space: normal; }
footer .footer-connect { display: grid; gap: 14px; }
footer .footer-contact, #home .reference-footer-email { white-space: normal; overflow-wrap: anywhere; border: 0; padding: 0; font-size: 13px; }
footer .footer-connect .footer-socials { grid-column: auto; grid-row: auto; justify-content: flex-start; border: 0; padding: 0; gap: 22px; }
@media(max-width:1000px) {
    footer .footer-main, #home .reference-footer-main { grid-template-columns: repeat(2,minmax(0,1fr)); }
    footer .footer-brand { grid-column: auto; }
}
@media(max-width:600px) {
    footer .footer-main, #home .reference-footer-main { grid-template-columns: minmax(0,1fr); gap: 22px; }
    footer .footer-capability-links a { min-height: 44px; }
}
