:root { --paper:#f4f1ea; --ink:#0d2135; --muted:#5d6a75; --line:#cdd1cf; --blue:#255c85; --blue-dark:#0c2b43; --cream:#fffdf8; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--font-geist-sans),Arial,sans-serif; }
a { color:inherit; }
:focus-visible { outline:3px solid #d69035; outline-offset:4px; }
.site-header { width:min(1180px,calc(100% - 48px)); margin:0 auto; min-height:86px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
.brand { display:flex; align-items:center; gap:12px; text-decoration:none; font-weight:700; letter-spacing:-.02em; }
.brand-mark { display:grid; place-items:center; width:34px; height:34px; color:var(--cream); background:var(--ink); font-family:var(--font-geist-mono); font-size:14px; }
nav { display:flex; gap:30px; }
nav a { color:var(--muted); font-size:13px; text-decoration:none; }
nav a:hover { color:var(--ink); }
.hero { width:min(1180px,calc(100% - 48px)); margin:0 auto; padding:104px 0 0; }
.eyebrow,.kicker { color:var(--blue); font:600 11px/1.2 var(--font-geist-mono); letter-spacing:.12em; text-transform:uppercase; }
.eyebrow { display:flex; align-items:center; gap:10px; }
.eyebrow span { width:30px; height:1px; background:currentColor; }
h1 { max-width:980px; margin:28px 0 46px; font-size:clamp(48px,7.4vw,102px); line-height:.94; letter-spacing:-.065em; font-weight:590; }
.hero-lower { display:grid; grid-template-columns:minmax(0,620px) auto; align-items:end; justify-content:space-between; gap:50px; }
.hero-lower p { margin:0; color:var(--muted); font-size:clamp(17px,2vw,21px); line-height:1.55; }
.primary-link { display:inline-flex; gap:20px; padding-bottom:10px; border-bottom:1px solid var(--ink); font-weight:650; text-decoration:none; white-space:nowrap; }
.signal-panel { margin-top:90px; display:grid; grid-template-columns:repeat(3,1fr); background:var(--blue-dark); color:white; }
.signal-panel div { min-height:132px; padding:30px; border-right:1px solid rgb(255 255 255 / 16%); display:flex; flex-direction:column; justify-content:space-between; }
.signal-panel div:last-child { border-right:0; }
.signal-panel span { color:#a9bbc9; font:500 10px var(--font-geist-mono); letter-spacing:.1em; text-transform:uppercase; }
.signal-panel strong { max-width:260px; font-size:17px; font-weight:520; }
.section { width:min(1180px,calc(100% - 48px)); margin:0 auto; padding:140px 0; }
.section-heading { display:grid; grid-template-columns:1fr 1.6fr 1fr; gap:50px; align-items:start; margin-bottom:65px; }
h2 { margin:0; font-size:clamp(37px,4.8vw,65px); line-height:1.02; letter-spacing:-.045em; font-weight:570; }
.section-heading>p:last-child,.contact>p { margin:0; color:var(--muted); line-height:1.65; }
.capability-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); }
.capability-grid article { min-height:265px; padding:25px 24px 28px 0; border-right:1px solid var(--line); }
.capability-grid article+article { padding-left:24px; }
.capability-grid article:last-child { border-right:0; }
.capability-grid span { color:var(--blue); font:500 11px var(--font-geist-mono); }
.capability-grid h3 { margin:66px 0 14px; font-size:20px; }
.capability-grid p { margin:0; color:var(--muted); font-size:14px; line-height:1.6; }
.split-section { border-top:1px solid var(--line); display:grid; grid-template-columns:1fr 1fr; gap:100px; }
.split-section h2 { max-width:500px; margin-top:20px; }
.vertical-list { list-style:none; margin:0; padding:0; border-top:1px solid var(--line); }
.vertical-list li { display:flex; align-items:center; gap:32px; min-height:78px; border-bottom:1px solid var(--line); font-size:24px; letter-spacing:-.02em; }
.vertical-list span { color:var(--blue); font:500 10px var(--font-geist-mono); }
.standards { padding:130px max(24px,calc((100vw - 1180px)/2)); display:grid; grid-template-columns:1fr 1fr; gap:100px; background:var(--blue-dark); color:white; }
.kicker-light { color:#8eb5d1; }
.standards h2 { max-width:500px; margin-top:22px; }
.standards-copy>p { margin:0 0 45px; color:#cad5dc; font-size:19px; line-height:1.6; }
.standards ul { list-style:none; margin:0; padding:0; border-top:1px solid rgb(255 255 255 / 20%); }
.standards li { padding:18px 0; border-bottom:1px solid rgb(255 255 255 / 20%); }
.standards li::before { content:'✓'; margin-right:14px; color:#8eb5d1; }
.contact { width:min(850px,calc(100% - 48px)); margin:0 auto; padding:150px 0; text-align:center; }
.contact h2 { margin:22px auto; }
.contact>p { max-width:620px; margin:0 auto; }
.contact-link { display:inline-flex; gap:26px; margin-top:44px; padding:15px 0; border-bottom:1px solid var(--ink); font-size:18px; font-weight:650; text-decoration:none; }
.contact-actions { display:flex; justify-content:center; flex-wrap:wrap; gap:18px 36px; }
footer { width:min(1180px,calc(100% - 48px)); margin:0 auto; min-height:100px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:30px; border-top:1px solid var(--line); color:var(--muted); font-size:12px; }
footer span:last-child { text-align:right; }
.legal { width:min(850px,calc(100% - 48px)); margin:0 auto; padding:100px 0 140px; }
.legal h1 { margin:28px 0 65px; font-size:clamp(52px,8vw,86px); }
.legal h2 { margin:44px 0 14px; font-size:24px; letter-spacing:-.025em; }
.legal p,.legal li { color:var(--muted); line-height:1.7; }
.legal .back-link { display:inline-block; margin-top:48px; font-weight:650; }
@media (max-width:820px) {
  .site-header { width:min(100% - 32px,1180px); min-height:72px; }
  nav { display:none; }
  .hero,.section { width:min(100% - 32px,1180px); }
  .hero { padding-top:72px; }
  h1 { margin-bottom:34px; }
  .hero-lower,.section-heading,.split-section,.standards { grid-template-columns:1fr; gap:34px; }
  .primary-link { justify-self:start; }
  .signal-panel { margin-top:60px; grid-template-columns:1fr; }
  .signal-panel div { min-height:105px; border-right:0; border-bottom:1px solid rgb(255 255 255 / 16%); }
  .section { padding:90px 0; }
  .section-heading { margin-bottom:50px; }
  .capability-grid { grid-template-columns:1fr 1fr; }
  .capability-grid article:nth-child(2) { border-right:0; }
  .standards { padding:90px 24px; }
  footer { width:min(100% - 32px,1180px); grid-template-columns:1fr auto; }
  footer span:last-child { display:none; }
}
@media (max-width:520px) {
  .capability-grid { grid-template-columns:1fr; }
  .capability-grid article,.capability-grid article+article { min-height:auto; padding:24px 0 34px; border-right:0; border-bottom:1px solid var(--line); }
  .capability-grid h3 { margin-top:36px; }
}
