:root { --ink:#102a43; --muted:#52606d; --line:#d9e2ec; --paper:#f7f9fb; --navy:#0b1f33; --teal:#1b998b; --white:#fff; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--white); font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height:1.6; }
a { color:inherit; text-decoration:none; }
.site-header { align-items:center; display:flex; justify-content:space-between; margin:auto; max-width:1240px; padding:22px 32px; }
.brand { align-items:center; display:flex; font-size:1rem; font-weight:700; gap:10px; letter-spacing:.01em; }
.brand-mark { align-items:center; background:var(--teal); color:var(--white); display:inline-flex; font-size:.7rem; font-weight:800; height:30px; justify-content:center; letter-spacing:.08em; width:30px; }
nav { align-items:center; display:flex; gap:26px; font-size:.88rem; }
nav a:hover, .footer-links a:hover { color:var(--teal); }
.nav-cta { border:1px solid var(--ink); padding:8px 14px; }
.section-shell { margin:auto; max-width:1240px; padding:96px 32px; }
.hero { min-height:650px; padding-bottom:72px; padding-top:120px; }
.compact-hero { min-height:auto; padding-bottom:64px; }
.eyebrow { color:var(--teal); font-size:.72rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
h1,h2,h3 { line-height:1.12; margin:0 0 18px; }
h1 { font-size:clamp(3rem, 6vw, 5.8rem); letter-spacing:-.06em; max-width:940px; }
h2 { font-size:clamp(2rem, 4vw, 3.5rem); letter-spacing:-.04em; max-width:760px; }
h3 { font-size:1.15rem; }
.hero-copy { color:var(--muted); font-size:1.16rem; max-width:680px; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:32px; }
.button { border:0; cursor:pointer; display:inline-block; font:inherit; font-size:.9rem; font-weight:700; padding:13px 20px; }
.button-primary { background:var(--teal); color:var(--white); }
.button-secondary { border:1px solid var(--line); color:var(--ink); }
.quiet-note { color:var(--muted); font-size:.8rem; margin-top:22px; }
.section-light { background:var(--paper); max-width:none; padding-left:max(32px, calc((100% - 1176px)/2)); padding-right:max(32px, calc((100% - 1176px)/2)); }
.card-grid { display:grid; gap:1px; grid-template-columns:repeat(4,1fr); margin-top:50px; }
.card { background:var(--white); min-height:270px; padding:28px; }
.card-number { color:var(--teal); display:block; font-size:.76rem; font-weight:800; margin-bottom:80px; }
.card p, .process-step p, .dark-grid p, .contact-copy p { color:var(--muted); font-size:.93rem; margin:0; }
.process-grid { border-top:1px solid var(--line); display:grid; grid-template-columns:repeat(4,1fr); margin-top:50px; }
.process-step { border-right:1px solid var(--line); padding:24px 24px 0 0; }
.process-step:not(:first-child) { padding-left:24px; }
.process-step:last-child { border-right:0; }
.process-step span { color:var(--teal); display:block; font-weight:800; margin-bottom:64px; }
.section-dark { background:var(--navy); color:var(--white); max-width:none; padding-left:max(32px, calc((100% - 1176px)/2)); padding-right:max(32px, calc((100% - 1176px)/2)); }
.section-dark .eyebrow { color:#7ee2d4; }
.dark-grid { display:grid; gap:36px; grid-template-columns:repeat(4,1fr); margin-top:48px; }
.dark-grid p { color:#b7c6d3; }
.light-grid { color:var(--ink); }
.light-grid p { color:var(--muted); }
.contact-section { display:grid; gap:80px; grid-template-columns:1fr 1fr; }
.contact-form { display:grid; gap:8px; }
.contact-form label { font-size:.82rem; font-weight:700; margin-top:6px; }
.contact-form input, .contact-form textarea { border:1px solid var(--line); border-radius:0; font:inherit; padding:12px; width:100%; }
.contact-form .button { margin-top:12px; width:max-content; }
.site-footer { align-items:start; border-top:1px solid var(--line); display:flex; justify-content:space-between; padding-bottom:40px; padding-top:40px; }
.site-footer p { color:var(--muted); font-size:.82rem; margin:8px 0 0; }
.footer-links { display:flex; gap:20px; font-size:.82rem; }
@media (max-width:800px) { .site-header { align-items:flex-start; flex-direction:column; gap:18px; } nav { flex-wrap:wrap; gap:14px; } .section-shell,.hero { padding-bottom:64px; padding-top:72px; } .card-grid,.process-grid,.dark-grid,.contact-section { grid-template-columns:1fr 1fr; } .card-number,.process-step span { margin-bottom:32px; } .contact-section { gap:36px; } }
@media (max-width:520px) { h1 { font-size:3rem; } .card-grid,.process-grid,.dark-grid,.contact-section { grid-template-columns:1fr; } .process-step,.process-step:not(:first-child) { border-bottom:1px solid var(--line); border-right:0; padding:24px 0; } .site-footer { flex-direction:column; gap:24px; } .footer-links { flex-wrap:wrap; } }
