:root{color-scheme:light;--navy:#0b2a5b;--ink:#374151;--shaded:#f5f7fa}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);line-height:1.68;background:#fff}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{color:var(--navy);line-height:1.18;text-wrap:balance}
h1,h2{font-weight:600}
h2{font-size:clamp(1.9rem,3.5vw,2.7rem);margin-bottom:18px}
h3{font-size:1.3rem;font-weight:650;margin-bottom:18px}
p:last-child{margin-bottom:0}
a{color:inherit;text-underline-offset:4px}
a:focus-visible{outline:3px solid #e5ad3b;outline-offset:6px}
.container{width:min(1120px,calc(100% - 60px));margin-inline:auto}
.section{padding-block:76px}
.section-heading{text-align:center;margin-bottom:44px}
.section-heading p{font-size:1.1rem;line-height:1.75;max-width:980px;margin-inline:auto}
.hero{min-height:88vh;display:flex;align-items:center;background:radial-gradient(ellipse at 85% 20%,#164a60 0,transparent 55%),linear-gradient(115deg,#081625,#102d4a);color:#f3f4f6}
.hero-content{padding-block:72px}
.eyebrow{font-size:.9rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin-bottom:12px}
.hero .eyebrow{color:#d8eef2}
.hero h1{font-size:clamp(2rem,5.6vw,4.5rem);line-height:1.04;color:white;max-width:1050px;margin:12px 0 22px}
.hero-description{font-size:clamp(1.12rem,2vw,1.35rem);line-height:1.65;margin-bottom:30px;max-width:1040px}
.buttons{display:flex;flex-wrap:wrap;gap:14px}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 25px;border:1px solid transparent;border-radius:8px;font-weight:600;text-align:center;text-decoration:none;transition:background-color .15s,color .15s}
.light{background:white;color:#111827}
.light:hover{background:#d8eef2}
.outline-light{border-color:white;color:white}
.outline-light:hover{background:#ffffff1c}
.outline{border-color:var(--navy);color:var(--navy)}
.outline:hover{background:var(--navy);color:white}
.registration-bar{padding-block:20px;background:var(--navy);color:white}
.registrations{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 18px;text-align:center;font-size:.98rem}
.grid{display:grid;gap:24px}
.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.card{padding:30px 25px;border-radius:14px;background:white;min-width:0}
.bordered{border:1px solid #dce3ea}
.shaded{background:var(--shaded)}
.muted{background:#f8fafc}
.teal{color:#0e8295}
.green{color:#527f25}
.blue{color:#1f5fbf}
.purple{color:#6042b5}
.capabilities{display:grid;grid-template-columns:39fr 61fr;gap:58px;align-items:center}
.intro{font-size:1.08rem;line-height:1.75}
ul{padding-left:22px;margin:0;line-height:1.9}
li+li{margin-top:4px}
.capability-lists{gap:35px;font-size:1.03rem;color:#1f2937}
.brief{display:flex;flex-direction:column}
.brief p{margin-bottom:24px}
.brief .button{margin-top:auto;align-self:flex-start}
.contact{background:var(--navy);color:white;text-align:center;padding-block:78px}
.narrow{max-width:900px}
.contact h2{color:white}
.contact .intro{font-size:1.16rem;color:#e6edf5;margin-bottom:30px}
address{font-style:normal;font-size:1.15rem;line-height:1.9;overflow-wrap:anywhere}
.contact .buttons{justify-content:center;margin-top:28px}
footer{border-top:1px solid #34517d;margin-top:46px;padding-top:28px;color:#b9c6d8;font-size:.94rem}
.skip-link{position:absolute;left:16px;top:-100px;background:white;color:var(--navy);padding:12px;z-index:2}
.skip-link:focus{top:16px}
.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:1000px){.four{grid-template-columns:repeat(2,minmax(0,1fr))}.capabilities{grid-template-columns:1fr;gap:30px}.hero{min-height:80vh}}
@media(max-width:700px){.container{width:calc(100% - 40px)}.section{padding-block:52px}.hero-content{padding-block:64px}.hero{min-height:0}.registrations{grid-template-columns:repeat(2,minmax(0,1fr));font-size:.88rem}.three,.two,.four{grid-template-columns:1fr}.section-heading{margin-bottom:30px}.card{padding:26px 24px}.eyebrow{font-size:.78rem}.hero .buttons{align-items:stretch}.hero .button{flex:1 1 220px}.capability-lists{gap:4px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
