:root{
  --brand-primary:#D32F2F;
  --brand-primary-600:#C62828;
  --brand-primary-100:#FDECEC;
  --brand-ink:#0f172a;
  --brand-ink-soft:#475569;
  --bg:#ffffff;
  --muted:#f8fafc;
  --ring: rgba(211,47,47,.35);
}
*{box-sizing:border-box}
html,body{margin:0;height:100%;scroll-behavior:smooth}
body{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial; color:var(--brand-ink); background:var(--bg)}
a{color:var(--brand-primary); text-decoration:none}
a:hover{text-decoration:underline}
.container{width:min(1100px, 92vw); margin-inline:auto}
.btn{display:inline-flex; align-items:center; gap:.5rem; background:var(--brand-primary); color:#fff; padding:.9rem 1.2rem; border-radius:.75rem; border:1px solid transparent; font-weight:600}
.btn:hover{background:var(--brand-primary-600)}
.btn.outline{background:transparent; color:var(--brand-primary); border-color:var(--brand-primary)}
.badge{display:inline-block; font-size:.85rem; font-weight:600; padding:.35rem .6rem; border-radius:999px; background:var(--brand-primary-100); color:var(--brand-primary)}
header{position:sticky; top:0; z-index:50; background:#fff; border-bottom:1px solid #e2e8f0}
nav{display:flex; align-items:center; justify-content:space-between; padding:.8rem 0}
.logo{display:flex; align-items:center; gap:.75rem; font-weight:800; letter-spacing:.2px}
.logo img{width:34px; height:34px}
.nav-links{display:flex; gap:1.2rem}
.hero{padding:5.5rem 0 4rem}
.hero-grid{display:grid; grid-template-columns:1.15fr .85fr; gap:3rem; align-items:center}
h1{font-family: 'Playfair Display', serif; font-size:clamp(2.2rem, 3.2vw + 1rem, 3.8rem); line-height:1.1; margin:.25rem 0 1rem}
.lead{font-size:1.1rem; color:var(--brand-ink-soft); max-width:60ch}
.cta-row{display:flex; gap:1rem; margin-top:1.6rem; flex-wrap:wrap}
.grid{display:grid; gap:1.25rem}
.cols-3{grid-template-columns:repeat(3,1fr)}
.cols-2{grid-template-columns:repeat(2,1fr)}
.card{border:1px solid #e2e8f0; border-radius:1rem; background:#fff; padding:1.25rem}
.card h3{margin:.2rem 0 .3rem}
section{padding:3.25rem 0}
section h2{font-family:'Playfair Display', serif; font-size:2rem; margin:0 0 .75rem}
.muted{background:var(--muted)}
.stats{display:flex; gap:1rem; flex-wrap:wrap; margin-top:1rem}
.stat{background:#fff; border:1px solid #e2e8f0; border-radius:.85rem; padding:.9rem 1rem; min-width:150px}
.stat b{font-size:1.4rem}
form.news{display:flex; gap:.6rem; flex-wrap:wrap}
input[type=email]{padding:.9rem 1rem; border-radius:.65rem; border:1px solid #cbd5e1; outline:0; min-width:260px}
input[type=email]:focus{box-shadow:0 0 0 4px var(--ring); border-color:var(--brand-primary)}
footer{padding:2.5rem 0; border-top:1px solid #e2e8f0; color:#64748b}
@media (max-width: 900px){ .hero-grid{grid-template-columns:1fr} .nav-links{display:none} }
