:root { --ink:#1f1a1a; --muted:#5e5656; --red:#b71c1c; --red-dark:#8e1414; --soft:#fbf3f3; --line:#ecdede; }
* { box-sizing:border-box; }
body { margin:0; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; color:var(--ink); background:#fff; line-height:1.65; }
.wrap { max-width:980px; margin:0 auto; padding:0 24px; }
header { background:#fff; border-top:5px solid var(--red); border-bottom:1px solid var(--line); }
nav { display:flex; align-items:center; justify-content:space-between; height:70px; }
.brand { font-weight:800; font-size:1.25rem; color:var(--ink); text-decoration:none; letter-spacing:.3px; }
.brand span { color:var(--red); }
nav ul { list-style:none; display:flex; gap:26px; margin:0; padding:0; }
nav a { color:var(--muted); text-decoration:none; font-weight:600; }
nav a:hover, nav a.active { color:var(--red); }
.hero { background:linear-gradient(135deg,var(--red) 0%,var(--red-dark) 100%); color:#fff; padding:96px 0 84px; }
.hero h1 { font-size:2.6rem; line-height:1.15; margin:0 0 18px; max-width:760px; }
.hero p { font-size:1.2rem; opacity:.93; max-width:660px; margin:0 0 30px; }
.btn { display:inline-block; background:#fff; color:var(--red); padding:12px 24px; border-radius:6px; text-decoration:none; font-weight:700; }
.btn:hover { background:var(--soft); }
section { padding:64px 0; }
section.alt { background:var(--soft); }
h2 { font-size:1.8rem; margin:0 0 8px; }
.lead { color:var(--muted); margin:0 0 32px; max-width:700px; }
.cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:22px; }
.card { background:#fff; border:1px solid var(--line); border-top:4px solid var(--red); border-radius:8px; padding:24px; }
.card h3 { margin:0 0 8px; font-size:1.15rem; }
.card p { margin:0; color:var(--muted); }
ul.ticks { padding-left:1.2rem; } ul.ticks li { margin:6px 0; } ul.ticks li::marker { color:var(--red); }
.cta { text-align:center; }
footer { background:var(--ink); color:#cfc7c7; font-size:.9rem; padding:26px 0; }
@media (max-width:640px){ .hero h1{font-size:1.95rem;} nav ul{gap:14px;} }
.contact-form { max-width:560px; display:grid; gap:16px; margin:8px 0 28px; }
.contact-form label { display:grid; gap:6px; font-weight:600; }
.contact-form .opt { font-weight:400; color:var(--muted); }
.contact-form input, .contact-form textarea { font:inherit; padding:10px 12px; border:1px solid var(--line); border-radius:6px; }
.contact-form input:focus, .contact-form textarea:focus { outline:2px solid var(--red); border-color:var(--red); }
.btn-red { background:var(--red); color:#fff; border:0; cursor:pointer; justify-self:start; }
.btn-red:hover { background:var(--red-dark); }
.btn-red:disabled { opacity:.6; cursor:wait; }
.hp { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
#form-status { margin:0; font-weight:600; color:var(--red-dark); }
