:root{--red:#9d0101;--ink:#292929;--muted:#686868;--line:#dededb;--paper:#fff;--ground:#f5f5f3}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ground);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
a:focus-visible{outline:2px solid var(--red);outline-offset:6px}
a:hover{color:var(--red)}
.wrap{width:min(1120px,calc(100% - 96px));margin-inline:auto}
.skip-link{position:fixed;top:-80px;left:20px;padding:12px;background:white;z-index:10}
.skip-link:focus{top:12px}
.header{min-height:128px;display:flex;align-items:center;justify-content:space-between;gap:28px;border-bottom:1px solid var(--line)}
.brand{display:flex;flex-direction:column;justify-content:center;width:260px;min-height:64px;flex-shrink:0;gap:5px}
.logo-image{display:block;width:230px;height:auto}.brand-subtitle{font-size:10px;color:var(--ink);letter-spacing:.05px}
nav{display:flex;gap:28px;align-items:center;font-size:13px}
nav a{padding:10px 0;position:relative}
nav a[aria-current]{color:var(--red)}
nav a[aria-current]:after{content:"";position:absolute;height:2px;background:var(--red);left:0;right:0;bottom:0}
.intro{padding-top:28px;padding-bottom:58px}.intro-copy{padding-top:44px}
.eyebrow{margin:0 0 24px;font-size:10px;letter-spacing:1.9px;font-weight:700;color:var(--muted)}
.intro .eyebrow{display:flex;align-items:center;gap:10px}
.eyebrow span{width:7px;height:7px;background:var(--red)}
h1{font-size:clamp(36px,4.6vw,60px);font-weight:400;line-height:1.14;letter-spacing:-2px;margin:0 0 27px}
h1 span{color:var(--red)}
.lead{font-size:19px;margin:0 0 12px;line-height:1.5}
.description{max-width:550px;font-size:15px;line-height:1.8;color:var(--muted);margin:0 0 26px}
.text-link{display:inline-flex;gap:30px;font-size:13px;font-weight:600;align-items:center;padding-bottom:9px;border-bottom:1px solid var(--line)}
.text-link span{color:var(--red);font-size:19px;font-weight:400}
.visual{margin-top:0;position:relative;border-top:3px solid var(--red)}
.visual>img{display:block;width:100%;height:auto;aspect-ratio:697/121;object-fit:cover;filter:grayscale(1)}
.visual-caption{display:flex;justify-content:space-between;padding:14px 0 0;color:var(--muted);font-size:10px;letter-spacing:.6px}
.overview{border-top:1px solid var(--line);padding-top:43px;padding-bottom:58px}
.section-heading{display:grid;grid-template-columns:1fr 2fr;align-items:center;margin-bottom:32px;gap:32px}
.section-heading .eyebrow{margin:0}
h2{font-weight:400;font-size:27px;letter-spacing:-.6px;margin:0;line-height:1.3}
.areas{display:grid;grid-template-columns:repeat(3,1fr);gap:38px}
.areas article{border-top:1px solid var(--line);padding-top:23px}
.number{font-size:10px;color:var(--red)}
h3{font-size:18px;font-weight:400;margin:19px 0 12px;letter-spacing:-.2px}
.areas p,.about p:not(.eyebrow){font-size:14px;line-height:1.8;color:var(--muted);margin:0;max-width:320px}
.about{display:grid;grid-template-columns:1fr 1fr;gap:60px;border-top:1px solid var(--line);padding:46px 0 52px}
.about .eyebrow{margin-bottom:14px}
.about p:not(.eyebrow){max-width:410px}
.about .text-link{margin-top:18px}
.footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;padding:25px 0 30px;font-size:11px;color:var(--muted)}
.footer a span{color:var(--red);margin-left:8px}
@media(min-width:1500px){.intro{padding-top:28px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.header{min-height:145px;align-items:flex-start;justify-content:center;flex-direction:column;gap:17px;padding:22px 0}.brand{width:260px}nav{gap:23px;font-size:12px;flex-wrap:wrap}.intro{padding-top:20px;padding-bottom:40px}.intro-copy{padding-top:30px}h1{font-size:clamp(29px,6.1vw,44px);letter-spacing:-1.2px}.lead{font-size:17px}.description{font-size:14px}.visual{margin-top:0}.visual>img{min-height:110px}.visual-caption{font-size:9px}.section-heading{grid-template-columns:1fr;gap:14px;margin-bottom:26px}.overview{padding-top:31px;padding-bottom:36px}.areas{grid-template-columns:1fr;gap:25px}.areas article{padding-top:17px}.areas h3{margin-top:12px}.areas p{max-width:100%}.about{grid-template-columns:1fr;gap:21px;padding:32px 0 37px}h2{font-size:24px}.footer{flex-wrap:wrap;line-height:1.6}.footer-detail{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.subpage{padding-top:28px}
.page-content{padding:44px 0 64px}
.page-content>h1{font-size:clamp(34px,4vw,48px);margin-bottom:34px;color:var(--red);letter-spacing:-1px}
.prose{font-size:15px;line-height:1.85}
.prose>p{max-width:740px;margin:0 0 22px}
.prose h2{font-size:23px;margin:32px 0 13px}
.prose h3{font-size:17px;margin:24px 0 9px}
.prose p{color:var(--muted)}
.prose a{color:var(--red);text-decoration:underline;overflow-wrap:anywhere}
.prose ul{padding-left:20px;color:var(--muted);margin:12px 0 22px}
.prose li{padding-left:4px;margin-bottom:6px}
.prose .page-lead{font-size:19px;color:var(--ink)}
.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px 60px;margin-top:32px}
.service-grid section{border-top:1px solid var(--line);padding-top:24px}
.service-grid h2{margin-top:0}
.service-grid p{margin:0}
.prose .closing-note{margin-top:35px;padding-top:25px;border-top:1px solid var(--line)}
.reference-list article{display:grid;grid-template-columns:48px 1fr;gap:18px;border-top:1px solid var(--line);padding:30px 0}
.reference-list article:last-child{padding-bottom:0}
.reference-list .number{padding-top:8px}
.reference-list h2{margin-top:0}
.reference-list p{margin:0 0 12px;max-width:730px}
@media(max-width:760px){.subpage{padding-top:20px}.page-content{padding:30px 0 40px}.service-grid{grid-template-columns:1fr;gap:20px}.reference-list article{grid-template-columns:28px 1fr;gap:12px;padding:25px 0}.prose{font-size:14px}.prose h2{font-size:21px}}

.services-intro{max-width:620px}
.task-services{gap:40px 64px;margin-top:40px}
.task-services section{padding-top:20px}
.task-services h2{margin:14px 0 14px}
.task-services p{max-width:440px}
.task-services .service-detail{font-size:11px;letter-spacing:.3px;color:var(--muted);margin-top:18px}
.platforms{display:flex;align-items:center;gap:35px;border-top:1px solid var(--line);margin-top:44px;padding-top:24px}
.platforms .eyebrow{margin:0}
.platforms p{font-size:13px;margin:0}
.platforms p span{color:var(--red);margin:0 12px}
@media(max-width:760px){.task-services{gap:28px;margin-top:30px}.platforms{gap:20px;flex-wrap:wrap;margin-top:32px}.platforms p span{margin:0 7px}}

.references-intro{max-width:640px}
.reference-group{margin-top:42px}
.reference-group>.eyebrow{margin-bottom:16px}
.modern-references article{padding:30px 0 34px}
.modern-references .reference-role{font-size:11px;color:var(--muted);letter-spacing:.35px;margin:0 0 9px}
.modern-references h2{margin-bottom:15px}
.reference-facts{display:flex;flex-wrap:wrap;gap:9px 22px;margin-top:22px;color:var(--muted);font-size:11px}
.reference-facts span{border-bottom:1px solid var(--line);padding-bottom:5px}
@media(max-width:760px){.reference-group{margin-top:32px}.modern-references article{padding:24px 0 28px}.reference-facts{gap:8px 16px}}

.modern-references .reference-position{font-size:13px;color:var(--ink);margin:0 0 16px}

.about-content>p{max-width:740px}
.about-sections{margin-top:36px;max-width:840px}
.about-sections section{border-top:1px solid var(--line);padding:27px 0 30px}
.about-sections section:last-child{padding-bottom:0}
.about-sections h2{margin-top:0}
.about-sections p{max-width:740px;margin:0}
.about-sections .text-link{margin-top:20px;text-decoration:none;color:var(--ink)}

.about-sections p+p{margin-top:18px}

.legal-content{max-width:820px}.legal-content h2:first-child{margin-top:0}.legal-content p{max-width:780px}.legal-date{font-size:12px;margin-top:35px!important}.footer-links{gap:22px;font-size:11px}.footer-links a[aria-current]:after{display:none}.footer-links a{padding:0}

.technical-overview{margin-top:44px;border-top:1px solid var(--line);padding-top:28px}.technical-overview h2{margin-top:0}.technical-overview>p{margin:0 0 24px}.technical-overview dl{margin:0}.technical-overview dl>div{display:grid;grid-template-columns:1fr 2fr;gap:28px;padding:18px 0;border-top:1px solid var(--line)}.technical-overview dt{font-size:15px;color:var(--ink)}.technical-overview dd{margin:0;color:var(--muted);font-size:14px}@media(max-width:760px){.technical-overview dl>div{grid-template-columns:1fr;gap:7px}}

/* Consistent placement at every viewport width. */
.header{flex-direction:column;align-items:flex-start;justify-content:center;gap:20px;padding:25px 0 20px;min-height:160px}
.header>nav{justify-content:flex-start;flex-wrap:wrap}
.section-heading{grid-template-columns:1fr;align-items:start;gap:14px}
@media(max-width:760px){.header{padding:22px 0;gap:17px;min-height:145px}}

.link-arrow{display:block;flex:none;width:20px;height:20px;color:var(--red)}

.about{grid-template-columns:1fr;gap:21px}.about p:not(.eyebrow){max-width:740px}

.brand{width:max-content;max-width:100%;min-height:58px;gap:6px}
.brand-subtitle{font-size:12px;line-height:1.3;letter-spacing:0;white-space:nowrap}
.brand .logo-image{width:0;min-width:100%;height:auto}
@media(max-width:360px){.brand-subtitle{font-size:11px}}

.brand .logo-image{aspect-ratio:6.2 / 1;object-fit:cover;object-position:center;height:auto}.brand{min-height:0}
