:root{--paper:#f6f8f9;--ink:#1f2a33;--muted:#4f5f6a;--line:#d3dde2;--teal:#2fa9a0;--teal-text:#1a766f;--sf-orange:#f59c00;--sf-grey:#878787;--sf-blue:#081b30}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--paper);color:var(--ink);font:1.0625rem/1.65 "Segoe UI",system-ui,-apple-system,Roboto,sans-serif}
a{color:var(--teal-text)}
a:focus-visible{outline:3px solid var(--teal);outline-offset:3px}
.wrap{max-width:68rem;margin:0 auto;padding:0 1.25rem}
header{border-bottom:1px solid var(--line);background:#fff}
header .wrap{display:flex;justify-content:space-between;align-items:center;padding-top:.75rem;padding-bottom:.75rem;gap:1rem;flex-wrap:wrap}
.logo img{display:block;height:3.25rem;width:auto}
nav a{margin-left:1.25rem;text-decoration:none;color:var(--muted)}
nav a:hover{color:var(--teal-text)}
.hero{padding:5rem 0 4rem}
.hero h1{font-size:clamp(2rem,5.5vw,3.6rem);line-height:1.1;margin:0 0 1.25rem;max-width:20ch;font-weight:750}
.hero p{max-width:46ch;color:var(--muted);font-size:1.15rem;margin:0 0 2rem}
.btn{display:inline-block;background:var(--ink);color:#fff;padding:.8rem 1.4rem;border-radius:4px;text-decoration:none;font-weight:600;border-bottom:3px solid var(--teal)}
.btn:hover{background:#000}
section{padding:3.5rem 0;border-top:1px solid var(--line)}
section h2{font-size:1.6rem;margin:0 0 1.5rem}
.services{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:2rem}
.services h3{margin:0 0 .4rem;font-size:1.1rem;color:var(--teal-text)}
.services p{margin:0;color:var(--muted)}
.narrow{max-width:42rem}
.partner{background:var(--sf-blue);color:#fff;border-top:0;border-bottom:4px solid var(--sf-orange)}
.partner .wrap{display:grid;grid-template-columns:minmax(0,18rem) 1fr;gap:2.5rem;align-items:center}
.partner img{display:block;width:100%;height:auto}
.partner h2{margin:0 0 .75rem;color:#fff}
.partner p{margin:0 0 1.25rem;color:#c9d3dc;max-width:40rem}
.partner a.btn{background:var(--sf-orange);color:var(--sf-blue);border-bottom-color:#fff}
.partner a.btn:hover{background:#ffb52e}
@media (max-width:42rem){.partner .wrap{grid-template-columns:1fr}.partner img{max-width:16rem}}
footer{padding:2rem 0;color:var(--muted);font-size:.95rem}
footer a{color:var(--muted);margin-right:1.25rem}
.legal h1{margin-top:3rem}
.legal h2{font-size:1.2rem;margin-top:2rem}
