:root {
  --midnight: #0d1729;
  --navy: #111e35;
  --slate: #48576e;
  --silver: #a8b1bd;
  --ice: #f2f4f6;
  --off-white: #f8f7f4;
  --gold: #ebc84b;
  --gold-deep: #c9a227;
  --ink: #152136;
  --line: rgba(18, 31, 53, 0.16);
  --serif: Georgia, 'Times New Roman', serif;
  --sans: Arial, Helvetica, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--off-white); font-family: var(--sans); font-size: 16px; line-height: 1.55; }
a { color: inherit; text-decoration: none; }
.shell { width: min(1180px, calc(100% - 48px)); margin: 0 auto; }
.skip-link { position: fixed; left: 16px; top: -60px; z-index: 50; padding: 10px 14px; color: var(--midnight); background: var(--gold); font-weight: 700; }
.skip-link:focus { top: 16px; }
.site-header { position: absolute; z-index: 10; width: 100%; border-bottom: 1px solid rgba(255,255,255,.13); color: white; }
.header-inner { min-height: 85px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display: block; width: 188px; line-height: 0; }
.brand img { width: 100%; height: auto; display: block; }
.primary-nav { display: flex; align-items: center; gap: 29px; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.primary-nav > a:not(.nav-cta) { opacity: .85; transition: opacity .2s; }
.primary-nav > a:not(.nav-cta):hover, .primary-nav > a:not(.nav-cta):focus { opacity: 1; }
.nav-cta { padding: 12px 16px; border: 1px solid rgba(255,255,255,.45); }
.menu-toggle { display: none; border: 0; background: transparent; color: white; padding: 8px; }
.menu-toggle span { display: block; width: 24px; height: 2px; margin: 5px; background: currentColor; }

.hero { min-height: 760px; padding: 184px 0 0; color: white; background: linear-gradient(119deg, var(--midnight) 0%, var(--midnight) 57%, #172842 57%, #172842 100%); overflow: hidden; }
.hero-grid { min-height: 480px; display: grid; grid-template-columns: 1.2fr .8fr; align-items: center; gap: 96px; }
.hero-copy { max-width: 690px; }
.eyebrow { margin: 0 0 20px; color: var(--gold); font-size: 11px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.eyebrow.dark { color: var(--gold-deep); }
h1, h2, h3, p { margin-top: 0; }
h1, h2 { font-family: var(--serif); font-weight: 700; letter-spacing: -.035em; line-height: .99; }
h1 { max-width: 630px; margin-bottom: 29px; font-size: clamp(55px, 7.1vw, 100px); }
h1 em, h2 em { color: var(--gold); font-style: italic; }
.hero-intro { max-width: 555px; margin-bottom: 32px; color: #d3d9e2; font-size: 18px; line-height: 1.65; }
.hero-actions { display: flex; align-items: center; gap: 29px; }
.button { display: inline-flex; align-items: center; gap: 30px; padding: 15px 18px; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.button-gold { color: var(--midnight); background: var(--gold); transition: background .2s, transform .2s; }
.button-gold:hover { background: #f3d45e; transform: translateY(-2px); }
.text-link { padding-bottom: 5px; border-bottom: 1px solid rgba(255,255,255,.55); font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.text-link span { margin-left: 12px; color: var(--gold); }
.hero-panel { position: relative; min-height: 370px; padding: 36px; align-self: stretch; display: flex; flex-direction: column; justify-content: end; border: 1px solid rgba(255,255,255,.13); background: linear-gradient(145deg, rgba(255,255,255,.05), rgba(255,255,255,.015)); }
.signal-mark { position: absolute; top: 42px; right: 39px; display: flex; align-items: flex-end; gap: 7px; height: 46px; transform: skewX(-22deg); }
.signal-mark span { display: block; width: 11px; background: var(--gold); }.signal-mark span:nth-child(1) { height: 18px; opacity: .5; }.signal-mark span:nth-child(2) { height: 31px; opacity: .75; }.signal-mark span:nth-child(3) { height: 46px; }
.panel-label, .panel-footnote { margin-bottom: 12px; color: var(--silver); font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.panel-statement { margin: 0; max-width: 320px; font-family: var(--serif); font-size: 31px; font-weight: 700; line-height: 1.07; }
.panel-rule { width: 45px; height: 2px; margin: 28px 0 16px; background: var(--gold); }
.panel-footnote { margin: 0; color: var(--gold); }
.hero-bar { display: flex; min-height: 95px; align-items: center; border-top: 1px solid rgba(255,255,255,.13); }
.hero-bar p { margin: 0; color: #aeb8c7; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }.hero-bar span { margin: 0 13px; color: var(--gold); }

.section-pad { padding: 128px 0; }.intro { background: var(--off-white); }.split-intro { display: grid; grid-template-columns: 1fr 2fr; gap: 60px; }.split-intro h2, .section-heading h2, .company-header h2 { max-width: 760px; margin-bottom: 24px; font-size: clamp(42px, 5vw, 70px); }.split-intro p:not(.eyebrow) { max-width: 680px; color: #526075; font-size: 18px; line-height: 1.75; }
.capabilities { color: white; background: var(--navy); }.section-heading { display: flex; justify-content: space-between; align-items: end; gap: 70px; margin-bottom: 60px; }.section-heading h2 { max-width: 620px; margin: 0; }.section-heading > p { max-width: 320px; margin: 0 0 5px; color: #b7c0ce; font-size: 15px; }.capability-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(255,255,255,.2); }.capability-card { min-height: 310px; padding: 29px 32px 25px 0; border-right: 1px solid rgba(255,255,255,.2); }.capability-card:not(:first-child) { padding-left: 32px; }.capability-card:last-child { border-right: 0; }.card-number { color: var(--gold); font-size: 11px; font-weight: 700; letter-spacing: .15em; }.capability-card h3 { margin: 88px 0 15px; font-family: var(--serif); font-size: 28px; line-height: 1.08; }.capability-card p:last-child { max-width: 280px; margin-bottom: 0; color: #b7c0ce; font-size: 15px; }
.advantage { color: white; background: var(--midnight); }.advantage-grid { display: grid; grid-template-columns: .95fr 1.05fr; gap: 100px; }.advantage-lead h2 { margin-bottom: 25px; font-size: clamp(47px, 5.5vw, 78px); }.advantage-lead > p:last-child { max-width: 410px; color: #b6c0cf; font-size: 17px; }.advantage-points { border-top: 1px solid rgba(255,255,255,.2); }.advantage-point { display: grid; grid-template-columns: 52px 1fr; gap: 20px; padding: 28px 0 31px; border-bottom: 1px solid rgba(255,255,255,.2); }.advantage-point span { color: var(--gold); font-size: 11px; font-weight: 700; letter-spacing: .13em; }.advantage-point p { margin: 0; color: #c8d0db; font-size: 18px; line-height: 1.55; }.advantage-point strong { color: white; }
.company { background: var(--ice); }.company-header { max-width: 830px; margin-bottom: 62px; }.company-header h2 { margin: 0; }.company-grid { display: grid; grid-template-columns: .85fr .85fr 1.3fr; gap: 18px; }.profile-card { padding: 31px; min-height: 315px; background: white; }.profile-label { margin-bottom: 30px; color: var(--gold-deep); font-size: 10px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }.profile-card ul { list-style: none; margin: 0; padding: 0; }.profile-card li { padding: 12px 0; border-top: 1px solid var(--line); font-family: var(--serif); font-size: 19px; font-weight: 700; line-height: 1.2; }.profile-card li:last-child { border-bottom: 1px solid var(--line); }.profile-card dl { margin: 0; }.profile-card dl div { padding: 9px 0 12px; border-top: 1px solid var(--line); }.profile-card dt { margin-bottom: 4px; color: var(--slate); font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }.profile-card dd { margin: 0; font-size: 14px; font-weight: 700; }.codes-list li { display: grid; grid-template-columns: 67px 1fr; gap: 10px; font-family: var(--sans); font-size: 14px; font-weight: 400; line-height: 1.35; }.codes-list strong { color: var(--gold-deep); font-size: 11px; letter-spacing: .04em; }
.contact { padding: 115px 0; color: white; background: var(--navy); }.contact-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 110px; align-items: end; }.contact h2 { max-width: 675px; margin: 0; font-size: clamp(46px, 5.4vw, 75px); }.contact-details { padding-bottom: 7px; }.contact-details > p { max-width: 380px; margin-bottom: 25px; color: #bbc5d2; font-size: 16px; }.contact-details a { display: inline-flex; gap: 50px; padding-bottom: 9px; border-bottom: 1px solid var(--gold); color: var(--gold); font-size: 17px; font-weight: 700; }.site-footer { padding: 26px 0; color: #aeb9c8; background: var(--midnight); }.footer-inner { display: flex; justify-content: space-between; gap: 20px; font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }.footer-inner p { margin: 0; }
.reveal { transition: opacity .7s ease, transform .7s ease; }.js .reveal { opacity: 0; transform: translateY(24px); }.js .reveal.visible { opacity: 1; transform: none; }
@media (max-width: 850px) { .hero { min-height: auto; padding-top: 145px; }.hero-grid, .advantage-grid, .contact-grid { grid-template-columns: 1fr; gap: 55px; }.hero-panel { min-height: 290px; }.section-heading { display: block; }.section-heading > p { margin-top: 25px; }.company-grid { grid-template-columns: 1fr 1fr; }.codes-card { grid-column: span 2; }.capability-card { min-height: 280px; }.split-intro { grid-template-columns: .7fr 1.3fr; gap: 30px; } }
@media (max-width: 650px) { .shell { width: min(100% - 36px, 1180px); }.site-header { background: var(--midnight); }.header-inner { min-height: 72px; }.brand { width: 154px; }.menu-toggle { display: block; }.primary-nav { display: none; position: absolute; top: 72px; left: 0; width: 100%; padding: 19px 18px 24px; align-items: stretch; gap: 17px; flex-direction: column; background: var(--midnight); }.primary-nav.open { display: flex; }.nav-cta { width: fit-content; margin-top: 4px; }.hero { padding-top: 128px; }.hero-grid { min-height: 0; gap: 44px; }.hero-panel { min-height: 250px; padding: 28px; }.hero-bar { min-height: 100px; }.hero-bar p { line-height: 1.8; }.section-pad { padding: 82px 0; }.split-intro { grid-template-columns: 1fr; gap: 5px; }.split-intro h2, .section-heading h2, .company-header h2 { font-size: 44px; }.capability-grid, .company-grid { grid-template-columns: 1fr; }.capability-card, .capability-card:not(:first-child) { min-height: auto; padding: 24px 0 30px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.2); }.capability-card h3 { margin-top: 37px; }.codes-card { grid-column: auto; }.profile-card { min-height: auto; }.contact { padding: 80px 0; }.contact-grid { gap: 40px; }.footer-inner { display: block; }.footer-inner p + p { margin-top: 7px; }.hero-actions { align-items: flex-start; flex-direction: column; gap: 20px; } }
