*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',Arial,'Noto Sans',sans-serif;line-height:1.6;color:#0f172a;background:#fff}
.container{width:min(1100px,92%);margin:0 auto}
.site-header{position:sticky;top:0;background:#fff;border-bottom:1px solid #e2e8f0;z-index:10}
.site-header .container{display:flex;align-items:center;justify-content:space-between;padding:.75rem 0}
.logo{height:56px;width:auto;border-radius:.25rem}
.nav a{margin-left:1rem;text-decoration:none;color:#0f172a;font-weight:600}
.hero{background:linear-gradient(180deg,#f8fafc,#eef2ff);padding:4rem 0;text-align:center}
.hero h1{font-size:clamp(1.8rem,3vw,3rem);margin:.25rem 0}
.hero p{font-size:1.1rem;margin:.25rem 0 1.25rem}
.btn{display:inline-block;padding:.75rem 1.25rem;border-radius:.75rem;border:1px solid #0f172a;text-decoration:none;font-weight:700}
.section{padding:3rem 0}
.section.alt{background:#f8fafc}
.grid{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.card{background:#fff;border:1px solid #e2e8f0;border-radius:1rem;padding:1.25rem;box-shadow:0 1px 2px rgba(0,0,0,.03)}
.bullets{line-height:1.8}
.narrow{max-width:720px}
.contact-form label{display:block;margin-bottom:.75rem;font-weight:600}
input,textarea{width:100%;padding:.65rem;border:1px solid #cbd5e1;border-radius:.5rem;margin-top:.25rem}
.site-footer{border-top:1px solid #e2e8f0;padding:1.25rem 0;text-align:center}
.link{font-weight:700}
.helper{color:#475569;font-size:.9rem;margin-top:.5rem}
