@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700&display=swap');

:root { --navy:#172b4d; --navy-2:#213d66; --blue:#315b86; --ink:#1e2d42; --muted:#66758a; --line:#d9e0e8; --paper:#f7f4ee; --white:#fff; --mint:#8bd8cf; --orange:#f2a65a; --coral:#d97763; --pale:#e8f0ed; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:108px; }
body { margin:0; color:var(--ink); background-color:var(--paper); background-image:linear-gradient(rgba(49,91,134,.065) 1px,transparent 1px),linear-gradient(90deg,rgba(49,91,134,.065) 1px,transparent 1px); background-size:42px 42px; font-family:'DM Sans',Arial,sans-serif; font-size:16px; line-height:1.6; }
a { color:inherit; text-decoration:none; }
.container { width:min(1240px,calc(100% - 64px)); margin:0 auto; }
.topbar { color:#dfecef; background:var(--navy); font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.topbar-inner { display:flex; align-items:center; justify-content:space-between; gap:25px; min-height:32px; }
.topbar em { color:var(--orange); font-style:normal; margin:0 4px; }
.topbar-links { display:flex; gap:18px; color:#a9c3cc; letter-spacing:.04em; text-transform:none; }
.topbar a:hover { color:#fff; }
.site-header { position:sticky; top:0; z-index:20; display:flex; align-items:center; justify-content:space-between; gap:28px; min-height:82px; padding:0 max(24px,calc((100vw - 1240px)/2)); background:rgba(255,255,255,.94); border-bottom:1px solid rgba(217,224,232,.9); backdrop-filter:blur(16px); }
.brand { display:flex; align-items:center; gap:11px; min-width:245px; }
.brand-logo { width:43px; height:43px; display:block; object-fit:contain; }
.brand strong,.brand small { display:block; line-height:1.15; }
.brand strong { color:var(--navy); font-family:'Space Grotesk',sans-serif; font-size:15px; letter-spacing:-.02em; }
.brand small { margin-top:4px; color:var(--muted); font-size:10px; letter-spacing:.08em; text-transform:uppercase; }
nav { display:flex; align-items:center; gap:25px; color:#52657b; font-size:13px; font-weight:700; }
nav a { padding:7px 0; border-bottom:2px solid transparent; }
nav a:hover { color:var(--navy); border-color:var(--coral); }
.header-cta { padding:10px 15px; border:1px solid #b5c7d0; border-radius:7px; color:var(--navy); font-size:12px; font-weight:700; white-space:nowrap; }
.header-cta:hover { border-color:var(--navy); background:#edf3f1; }
h1,h2,h3 { margin:0; color:var(--navy); font-family:'Space Grotesk',Arial,sans-serif; letter-spacing:-.05em; line-height:1.05; }
h1 { max-width:700px; font-size:clamp(45px,6vw,78px); }
.hero-accent { color:var(--coral); }
h2 { font-size:clamp(31px,4vw,51px); }
h3 { font-size:22px; letter-spacing:-.035em; }
.eyebrow { margin:0 0 17px; color:#167f88; font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.eyebrow-dot { width:7px; height:7px; display:inline-block; margin:0 7px 1px 0; border-radius:50%; background:var(--coral); }
.hero { position:relative; display:grid; grid-template-columns:1.06fr .94fr; gap:75px; align-items:center; min-height:620px; padding-top:82px; padding-bottom:90px; }
.hero-lead { max-width:650px; margin:26px 0 0; color:#566a7e; font-size:19px; line-height:1.7; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:34px; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:12px; padding:13px 18px; border-radius:7px; font-size:13px; font-weight:700; transition:transform .2s,background .2s,border-color .2s; }
.button:hover { transform:translateY(-2px); }
.button-primary { color:var(--navy); background:var(--mint); box-shadow:0 12px 28px rgba(44,120,126,.16); }
.button-primary:hover { background:#a8e8df; }
.button-outline { color:var(--navy); border:1px solid #b7c7d0; background:transparent; }
.button-outline:hover { border-color:var(--navy); background:#fff; }
.hero-note { display:flex; align-items:flex-start; gap:10px; max-width:570px; margin-top:50px; padding-top:17px; border-top:1px solid var(--line); color:#71818f; font-size:12px; line-height:1.55; }
.note-icon { width:19px; height:19px; flex:0 0 auto; display:grid; place-items:center; border-radius:50%; color:var(--navy); background:var(--orange); font-weight:800; }
.hero-brief { position:relative; overflow:hidden; padding:38px; border:1px solid rgba(23,43,77,.2); border-radius:18px; color:#eaf5f4; background:linear-gradient(145deg,var(--navy),var(--blue)); box-shadow:0 24px 60px rgba(23,43,77,.2); }
.hero-brief::before { content:''; position:absolute; top:0; left:0; width:92px; height:5px; background:var(--coral); }
.hero-brief::after { content:''; position:absolute; inset:auto -15% -40% 35%; width:390px; height:260px; border:1px solid rgba(139,216,207,.3); border-radius:50%; transform:rotate(-18deg); }
.brief-label { position:relative; z-index:1; color:var(--mint); font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.hero-brief h2 { position:relative; z-index:1; max-width:420px; margin-top:14px; color:#fff; font-size:35px; }
.brief-rows { position:relative; z-index:1; display:grid; gap:0; margin-top:32px; }
.brief-rows > div { display:grid; grid-template-columns:42px 1fr; column-gap:12px; padding:15px 0; border-top:1px solid rgba(220,238,240,.18); }
.brief-rows span { grid-row:span 2; color:var(--orange); font-family:'Space Grotesk',sans-serif; font-size:12px; font-weight:700; }
.brief-rows strong { color:#fff; font-family:'Space Grotesk',sans-serif; font-size:16px; }
.brief-rows small { color:#b3c8ce; font-size:12px; line-height:1.4; }
.profile-strip { display:grid; grid-template-columns:repeat(4,1fr); padding:30px max(24px,calc((100vw - 1240px)/2)); color:#eef7f7; background:var(--navy); }
.profile-strip > div { display:grid; grid-template-columns:38px 1fr; column-gap:12px; padding:2px 25px; border-right:1px solid rgba(220,236,239,.18); }
.profile-strip > div:first-child { padding-left:0; }
.profile-strip > div:last-child { padding-right:0; border-right:0; }
.profile-number { grid-row:span 2; color:var(--orange); font-family:'Space Grotesk',sans-serif; font-size:13px; font-weight:700; }
.profile-strip strong { font-family:'Space Grotesk',sans-serif; font-size:15px; }
.profile-strip small { color:#a9c1c9; font-size:12px; line-height:1.42; }
.section { padding:112px 0; }
.section-heading { max-width:930px; }
.split-heading { display:grid; grid-template-columns:minmax(0,.95fr) minmax(260px,1.05fr); gap:80px; align-items:end; }
.split-heading > p { max-width:540px; margin:0; color:var(--muted); font-size:16px; line-height:1.7; }
.section-intro { padding-bottom:62px; }
.owner-panel { display:grid; grid-template-columns:auto 1fr auto; gap:25px; align-items:center; margin-top:52px; padding:27px 30px; border:1px solid #d5e4df; border-radius:14px; background:linear-gradient(135deg,#e5f1ed 0%,#faf8f2 70%,#fff 100%); }
.owner-mark { width:62px; height:62px; display:grid; place-items:center; border-radius:17px; color:#fff; background:var(--navy); font-family:'Space Grotesk',sans-serif; font-size:19px; font-weight:700; letter-spacing:.06em; }
.owner-panel .eyebrow { margin-bottom:8px; }
.owner-panel h3 { font-size:23px; }
.owner-panel p:not(.eyebrow) { max-width:670px; margin:8px 0 0; color:#5d6f80; font-size:14px; line-height:1.6; }
.owner-contact { display:grid; gap:7px; padding-left:25px; border-left:1px solid #c9ddda; }
.owner-contact a { color:#147e89; font-size:12px; font-weight:700; white-space:nowrap; }
.owner-contact a:hover { color:var(--navy); text-decoration:underline; }
.registration-panel { display:grid; grid-template-columns:.72fr 1.28fr; gap:30px; align-items:start; margin-top:18px; padding:24px 30px; border:1px solid #d6dfe4; border-radius:12px; background:rgba(255,255,255,.72); }
.registration-heading .eyebrow { margin-bottom:8px; }
.registration-heading h3 { font-size:22px; }
.registration-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.registration-grid > div { min-height:68px; padding:12px 13px; border-left:3px solid var(--coral); background:#f4f7f5; }
.registration-grid span,.registration-grid strong { display:block; }
.registration-grid span { color:#687b8b; font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.registration-grid strong { margin-top:5px; color:var(--navy); font-family:'Space Grotesk',sans-serif; font-size:13px; line-height:1.35; }
.registration-address { grid-column:1 / -1; }
.capabilities-section { background:#fbfaf6; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.capability-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:48px; }
.capability-card { min-height:320px; display:flex; flex-direction:column; padding:27px; border:1px solid var(--line); border-radius:12px; background:#fff; box-shadow:0 10px 30px rgba(37,57,77,.04); }
.capability-card.featured { color:#e8f4f3; border-color:var(--navy); background:var(--navy); box-shadow:0 18px 38px rgba(23,43,77,.16); }
.card-index { color:#7e91a0; font-size:10px; font-weight:700; letter-spacing:.12em; }
.featured .card-index { color:var(--mint); }
.card-icon { width:43px; height:43px; display:grid; place-items:center; margin:38px 0 22px; border-radius:50%; color:var(--navy); background:var(--mint); font-family:'Space Grotesk',sans-serif; font-size:24px; }
.capability-card:not(.featured) .card-icon { color:#116e79; background:#e3f3ef; }
.capability-card h3 { color:var(--navy); font-size:21px; }
.featured h3 { color:#fff; }
.capability-card p { margin:13px 0 21px; color:#687b8b; font-size:13px; line-height:1.6; }
.featured p { color:#b4c9cf; }
.capability-card a { margin-top:auto; color:#0c7b85; font-size:12px; font-weight:700; }
.capability-card a:hover { text-decoration:underline; }
.featured a { color:var(--mint); }
.offer-section { background:#fff; }
.offer-grid { display:grid; grid-template-columns:.88fr 1.12fr; gap:110px; align-items:start; }
.offer-grid h2 { max-width:550px; }
.section-copy { max-width:530px; margin:22px 0 25px; color:var(--muted); font-size:16px; line-height:1.7; }
.text-link { color:#0c7b85; font-size:13px; font-weight:700; }
.text-link:hover { text-decoration:underline; }
.offer-list { border-top:1px solid var(--line); }
.offer-list > div { display:grid; grid-template-columns:43px 1fr; gap:16px; padding:21px 0; border-bottom:1px solid var(--line); }
.offer-list > div > span { color:var(--coral); font-family:'Space Grotesk',sans-serif; font-size:13px; font-weight:700; }
.offer-list strong { color:var(--navy); font-family:'Space Grotesk',sans-serif; font-size:17px; }
.offer-list p { margin:5px 0 0; color:var(--muted); font-size:13px; line-height:1.5; }
.portal-section { background:#f7f4ee; border-top:1px solid var(--line); }
.portal-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:48px; }
.portal-card { display:flex; flex-direction:column; min-height:218px; padding:26px; border:1px solid var(--line); border-radius:12px; background:#fff; box-shadow:0 10px 30px rgba(37,57,77,.04); transition:transform .2s,border-color .2s,box-shadow .2s; }
.portal-card:hover { transform:translateY(-3px); border-color:#9db9bd; box-shadow:0 16px 34px rgba(37,57,77,.09); }
.portal-tag { color:#167f88; font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.portal-card strong { margin-top:26px; color:var(--navy); font-family:'Space Grotesk',sans-serif; font-size:20px; }
.portal-card p { margin:10px 0 18px; color:var(--muted); font-size:13px; line-height:1.55; }
.portal-link { margin-top:auto; color:#0c7b85; font-size:12px; font-weight:700; }
.naics-section { color:#e5f1f2; background:var(--navy-2); }
.light-heading h2 { color:#fff; }
.light-heading > p { color:#b1c8cd; }
.naics-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:48px; }
.naics-grid details { border:1px solid rgba(220,236,239,.2); border-radius:12px; background:rgba(255,255,255,.045); overflow:hidden; }
.naics-grid details[open] { background:rgba(255,255,255,.07); }
.naics-grid summary { display:flex; align-items:center; gap:13px; padding:20px 22px; color:#fff; cursor:pointer; list-style:none; font-family:'Space Grotesk',sans-serif; font-size:18px; }
.naics-grid summary::-webkit-details-marker { display:none; }
.naics-grid summary::after { content:'+'; margin-left:auto; color:var(--mint); font-size:23px; font-weight:400; }
.naics-grid details[open] summary::after { content:'−'; }
.naics-grid summary span { color:var(--orange); font-size:11px; }
.code-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 22px; padding:0 22px 18px; border-top:1px solid rgba(220,236,239,.16); }
.code-list div { display:grid; grid-template-columns:57px 1fr; gap:9px; padding:11px 0; border-bottom:1px solid rgba(220,236,239,.12); }
.code-list b { color:var(--orange); font-size:11px; }
.code-list span { color:#d8e8e9; font-size:12px; line-height:1.4; }
.naics-note { margin:30px 0 0; padding-top:19px; border-top:1px solid rgba(220,236,239,.18); color:#b1c8cd; font-size:12px; }
.naics-note strong { color:var(--orange); }
.process-section { background:#f1eee6; }
.process-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:0; margin:50px 0 0; padding:0; list-style:none; border-top:1px solid #ccd7d8; }
.process-grid li { min-height:180px; padding:23px 22px 0 0; border-right:1px solid #ccd7d8; }
.process-grid li:not(:first-child) { padding-left:22px; }
.process-grid li:last-child { border-right:0; }
.process-grid span { display:block; color:var(--coral); font-family:'Space Grotesk',sans-serif; font-size:12px; font-weight:700; }
.process-grid strong { display:block; margin-top:20px; color:var(--navy); font-family:'Space Grotesk',sans-serif; font-size:20px; }
.process-grid p { max-width:230px; margin:7px 0 0; color:var(--muted); font-size:13px; line-height:1.55; }
.contact-section { padding:80px 0; color:var(--navy); background:var(--orange); }
.contact-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:80px; align-items:center; }
.contact-grid h2 { max-width:630px; }
.contact-grid > div:first-child > p:last-child { max-width:560px; margin:20px 0 0; color:#5f4a20; font-size:16px; line-height:1.65; }
.contact-card { display:grid; gap:7px; padding:28px; border-radius:14px; background:#fff; box-shadow:0 18px 35px rgba(128,84,0,.13); }
.contact-card strong { color:var(--navy); font-family:'Space Grotesk',sans-serif; font-size:20px; }
.contact-card span { color:var(--muted); font-size:13px; }
.contact-card > a { color:#0c7b85; font-size:13px; font-weight:700; }
.contact-card > a:hover { text-decoration:underline; }
.contact-actions { display:flex; flex-wrap:wrap; gap:9px; margin-top:16px; }
.button-dark { color:#fff; background:var(--navy); }
.button-dark:hover { background:var(--blue); }
.button-outline-dark { color:var(--navy); border:1px solid #b7c7d0; }
.button-outline-dark:hover { background:#f4f7f5; }
.site-footer { padding:25px 0; color:#71818b; font-size:12px; background:#fff; border-top:1px solid var(--line); }
.footer-inner { display:flex; align-items:center; justify-content:space-between; gap:25px; }
.footer-inner strong { color:var(--navy); font-family:'Space Grotesk',sans-serif; font-size:14px; }
.footer-inner > div:first-child { display:flex; align-items:center; gap:15px; }
.footer-links { display:flex; flex-wrap:wrap; gap:15px; }
.footer-links a { color:#167b85; font-weight:700; }
.footer-links a:hover { text-decoration:underline; }

/* Printable capability-statement companion page */
.statement-page { background:#eeeae1; }
.statement-shell { width:min(980px,calc(100% - 44px)); margin:0 auto; }
.statement-toolbar { display:flex; justify-content:space-between; gap:15px; padding:22px 0; }
.statement-sheet { padding:50px 58px; background:#fff; box-shadow:0 18px 60px rgba(23,43,77,.13); }
.statement-sheet .brand-logo { width:170px; height:auto; }
.statement-sheet h1 { max-width:800px; margin-top:36px; font-size:53px; }
.statement-sheet .statement-lead { max-width:700px; margin:18px 0 0; color:var(--muted); font-size:18px; }
.statement-meta { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin:38px 0; }
.statement-meta div { padding:15px; border-top:3px solid var(--coral); background:#f4f7f5; }
.statement-meta strong,.statement-meta span { display:block; }
.statement-meta strong { color:var(--navy); font-family:'Space Grotesk',sans-serif; font-size:14px; }
.statement-meta span { margin-top:4px; color:var(--muted); font-size:12px; }
.statement-registration { margin-top:30px; padding:22px; border:1px solid var(--line); border-left:4px solid var(--coral); background:#f4f7f5; }
.statement-registration h2 { font-size:24px; }
.statement-registration > div { display:grid; grid-template-columns:repeat(4,1fr); gap:9px; margin-top:14px; }
.statement-registration span { color:#53667a; font-size:12px; }
.statement-registration span:last-child { grid-column:1 / -1; }
.statement-registration b { display:block; color:var(--navy); font-family:'Space Grotesk',sans-serif; font-size:11px; text-transform:uppercase; }
.statement-columns { display:grid; grid-template-columns:1fr 1fr; gap:32px; }
.statement-block { margin-top:30px; }
.statement-block h2 { padding-bottom:10px; border-bottom:1px solid var(--line); font-size:24px; }
.statement-block ul { display:grid; gap:8px; margin:14px 0 0; padding-left:18px; color:#53667a; font-size:13px; }
.statement-block p { color:#53667a; font-size:13px; line-height:1.6; }
.statement-codes { display:grid; grid-template-columns:repeat(2,1fr); gap:7px 14px; margin-top:15px; }
.statement-codes span { padding:7px 8px; color:#53667a; background:#f4f7f5; font-size:11px; }
.statement-codes b { margin-right:5px; color:#167f88; }
.statement-footer { display:flex; justify-content:space-between; gap:20px; margin-top:42px; padding-top:18px; border-top:1px solid var(--line); color:var(--muted); font-size:12px; }
@media print { .statement-page { background:#fff; } .statement-toolbar { display:none; } .statement-sheet { padding:0; box-shadow:none; } .statement-shell { width:100%; } }

@media (max-width:1080px) { nav { gap:15px; } .hero { gap:46px; } .capability-grid { grid-template-columns:repeat(2,1fr); } .naics-grid { grid-template-columns:1fr; } .portal-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:820px) { .container { width:min(100% - 40px,1240px); } .topbar-inner,.footer-inner { align-items:flex-start; flex-direction:column; gap:5px; padding-top:8px; padding-bottom:8px; } .site-header { flex-wrap:wrap; height:auto; padding:14px 20px; } nav { order:3; width:100%; justify-content:space-between; gap:10px; padding-top:10px; border-top:1px solid var(--line); font-size:12px; } .header-cta { margin-left:auto; } .hero { grid-template-columns:1fr; padding-top:62px; padding-bottom:72px; } .hero-brief { max-width:680px; } .split-heading,.offer-grid,.contact-grid { grid-template-columns:1fr; gap:32px; } .section { padding:82px 0; } .owner-panel { grid-template-columns:auto 1fr; } .owner-contact { grid-column:1 / -1; padding:14px 0 0; border-top:1px solid #c9ddda; border-left:0; display:flex; flex-wrap:wrap; gap:15px; } .registration-panel { grid-template-columns:1fr; } .registration-grid { grid-template-columns:repeat(2,1fr); } .profile-strip { grid-template-columns:repeat(2,1fr); gap:20px 0; } .profile-strip > div { padding:3px 18px; } .profile-strip > div:nth-child(odd) { padding-left:0; } .profile-strip > div:nth-child(even) { padding-right:0; border-right:0; } .process-grid { grid-template-columns:repeat(2,1fr); } .process-grid li:nth-child(2) { border-right:0; } .process-grid li:nth-child(3),.process-grid li:nth-child(4) { border-top:1px solid #ccd7d8; } .portal-grid { grid-template-columns:1fr; } .statement-sheet { padding:34px 28px; } .statement-meta { grid-template-columns:repeat(2,1fr); } .statement-registration > div { grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px) { .container { width:calc(100% - 34px); } .topbar-inner { font-size:9px; } .topbar-links { gap:10px; font-size:11px; } .brand { min-width:0; } .brand small { display:none; } nav { overflow-x:auto; justify-content:flex-start; padding-bottom:2px; } nav a { white-space:nowrap; } .header-cta { padding:8px 10px; font-size:11px; } h1 { font-size:43px; } .hero-lead { font-size:16px; } .hero-actions { align-items:stretch; flex-direction:column; } .hero-actions .button { width:100%; } .profile-strip { grid-template-columns:1fr; } .profile-strip > div,.profile-strip > div:nth-child(even) { padding:0 0 15px; border-right:0; border-bottom:1px solid rgba(220,236,239,.18); } .profile-strip > div:last-child { padding-bottom:0; border-bottom:0; } .section { padding:68px 0; } .capability-grid { grid-template-columns:1fr; } .capability-card { min-height:0; } .registration-panel { padding:22px 18px; } .registration-grid { grid-template-columns:1fr; } .registration-address { grid-column:auto; } .code-list { grid-template-columns:1fr; } .process-grid { grid-template-columns:1fr; } .process-grid li,.process-grid li:nth-child(2),.process-grid li:nth-child(3),.process-grid li:nth-child(4) { min-height:0; padding:18px 0; border-right:0; border-top:0; border-bottom:1px solid #ccd7d8; } .process-grid li:last-child { border-bottom:0; } .process-grid strong { margin-top:10px; } .contact-actions { align-items:stretch; flex-direction:column; } .contact-actions .button { width:100%; } .statement-sheet h1 { font-size:40px; } .statement-columns { grid-template-columns:1fr; gap:0; } .statement-meta { grid-template-columns:1fr 1fr; } .statement-registration > div { grid-template-columns:1fr; } .statement-registration span:last-child { grid-column:auto; } .statement-footer { flex-direction:column; } }
