
*{box-sizing:border-box}
:root{
  --green:#e7f5ec;
  --blue:#e8f1fb;
  --beige:#f5f0e6;
  --text:#1c1d20;
  --muted:#6b7280;
  --brand:#0f766e;
}
body{
  font-family:'Open Sans',system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  color:var(--text);
  margin:0; background:#fff;
}
h1,h2,h3,h4{font-family:'Montserrat',sans-serif;margin:0 0 .5rem 0;color:#111827}
h1{font-size:clamp(28px,4vw,40px);line-height:1.2}
h2{font-size:clamp(22px,3vw,28px)}
h3{font-size:clamp(18px,2.5vw,22px)}
.lead{font-size:1.1rem; color:#374151; margin-top:.5rem}
.small{font-size:.9rem}
.tiny{font-size:.8rem}
.muted{color:var(--muted)}
.container{max-width:1100px;margin:0 auto;padding:0 16px}
.site-header{position:sticky;top:0;background:#fff;border-bottom:1px solid #eee;z-index:10}
.site-header .container{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{font-weight:700;font-family:'Montserrat',sans-serif}
.nav a{margin-left:16px;text-decoration:none;color:#374151}
.nav a:hover{color:#111827}
.hero{background:linear-gradient(180deg,#f7fafc,#ffffff);padding:56px 0 36px;border-bottom:1px solid #eee}
.hero.small{padding:40px 0}
.btn{display:inline-block;padding:12px 18px;border-radius:10px;border:1px solid #d1d5db;text-decoration:none;background:#fff}
.btn:hover{transform:translateY(-1px)}
.section{padding:28px 0}
.grid{display:grid;gap:16px}
.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:900px){
  .grid.three{grid-template-columns:1fr}
  .grid.two{grid-template-columns:1fr}
}
.card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:18px;box-shadow:0 2px 8px rgba(0,0,0,.03)}
.bg-green{background:var(--green)}
.bg-blue{background:var(--blue)}
.bg-beige{background:var(--beige)}
.footer-grid{display:grid;gap:16px;grid-template-columns:2fr 1.2fr 1fr;padding:18px 0}
@media (max-width:900px){.footer-grid{grid-template-columns:1fr}}
.site-footer{border-top:1px solid #eee;margin-top:40px}
.copy{text-align:center;border-top:1px solid #eee;padding:12px 0}
form{margin-top:12px}
.form-grid{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:900px){.form-grid{grid-template-columns:1fr}}
.form-group label{display:block;font-weight:600;margin-bottom:6px}
input[type="text"],input[type="tel"],input[type="email"]{
  width:100%;padding:12px;border:1px solid #d1d5db;border-radius:12px;outline:none
}
input:focus{border-color:#0ea5e9;box-shadow:0 0 0 3px rgba(14,165,233,.15)}
.check{display:flex;align-items:center;margin:10px 0;gap:8px}
.error{color:#b91c1c;margin-top:6px;display:block;min-height:1em}
ol.legal{padding-left:18px;line-height:1.6}
