:root { --ink:#142033; --muted:#526070; --line:#e4e8ee; --bg:#f6f8fb; --blue:#1483d6; --red:#e23b4a; --card:#fff; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; color:var(--ink); background:var(--bg); font-family:"Source Sans 3",sans-serif; line-height:1.6; overflow-x:hidden; }
img { max-width:100%; display:block; }
a { color:inherit; }
h1,h2,h3 { font-family:Manrope,sans-serif; line-height:1.15; margin:0 0 .7rem; }
h1 { font-size:clamp(2.1rem,4.5vw,3.6rem); }
h2 { font-size:clamp(1.5rem,2.5vw,2.1rem); }
p { margin:0 0 1rem; }
.wrap { width:min(1100px, calc(100% - 2rem)); margin:0 auto; }
.kicker { color:var(--red); font-weight:700; letter-spacing:.14em; text-transform:uppercase; font-size:.75rem; }
.site-header { position:sticky; top:0; z-index:20; display:flex; justify-content:center; padding:.7rem 1rem; background:#fff; border-bottom:1px solid var(--line); }
.header-bar { width:min(1100px, 100%); display:flex; align-items:center; justify-content:space-between; gap:2rem; }
.brand { flex:0 0 auto; }
.brand img { height:48px; width:auto; }
.site-nav { display:flex; gap:1.15rem; }
.site-nav a { text-decoration:none; color:var(--muted); min-height:44px; display:inline-flex; align-items:center; }
.site-nav a[aria-current="page"], .site-nav a:hover { color:var(--ink); }
.nav-toggle { display:none; min-height:44px; border:1px solid var(--line); background:#fff; }
.hero { position:relative; min-height:72vh; display:grid; align-items:end; color:#fff; }
.hero img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.hero::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(11,31,51,.88), rgba(11,31,51,.35)); }
.hero-copy { position:relative; z-index:1; padding:4rem 0 3rem; max-width:720px; }
.btn, button[type="submit"] { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:0 1.2rem; border:0; border-radius:999px; background:var(--red); color:#fff; text-decoration:none; font-weight:700; cursor:pointer; }
.btn:hover, button[type="submit"]:hover { background:#c42d3a; }
.section { padding:4rem 0; }
.band { background:#fff; }
.lead { font-size:1.12rem; max-width:46rem; color:var(--muted); }
.cards { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-top:1.2rem; }
.cards article, .panel, .steps article { background:var(--card); border:1px solid var(--line); border-radius:16px; padding:1.2rem 1.2rem .4rem; }
.steps { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; margin-top:1.2rem; }
.steps strong { display:block; color:var(--red); font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; margin-bottom:.35rem; }
.ticks { display:flex; flex-wrap:wrap; gap:.5rem; margin:1rem 0 1.4rem; }
.ticks span { background:#fff; border:1px solid var(--line); border-radius:999px; padding:.35rem .8rem; }
.split { display:grid; grid-template-columns:1fr 1fr; gap:2rem; align-items:center; }
.split img { border-radius:16px; height:100%; max-height:460px; object-fit:cover; }
.wide-photo { width:100%; height:min(520px, 58vw); object-fit:cover; object-position:center 40%; border-radius:16px; margin-top:1.2rem; }
.page-actions { margin-top:1.4rem; }
.cta { display:flex; justify-content:space-between; align-items:center; gap:1rem; background:#0b1f33; color:#fff; border-radius:18px; padding:1.6rem; }
.contact-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:1rem; }
.contact-form { display:grid; gap:.8rem; }
.contact-form label { display:grid; gap:.3rem; font-weight:600; }
.contact-form input, .contact-form textarea { width:100%; border:1px solid var(--line); border-radius:10px; padding:.8rem; font:inherit; }
.hp { position:absolute; left:-9999px; }
.alert { padding:.8rem 1rem; border-radius:10px; }
.alert.ok { background:#e8f6ee; }
.alert.bad { background:#fdecee; }
.site-footer { background:#0b1f33; color:#d5dde6; padding:2rem 0 1rem; }
.footer-grid { display:grid; grid-template-columns:1.1fr 1.3fr .8fr; gap:1rem; }
.footer-logo { height:48px; width:auto; background:#fff; border-radius:8px; padding:4px 8px; margin-bottom:.6rem; }
.site-footer a { color:#fff; }
.copy { text-align:center; font-size:.9rem; }
.to-top { position:fixed; right:18px; bottom:18px; z-index:30; width:46px; height:46px; border:0; border-radius:999px; background:#0b1f33; color:#fff; opacity:0; pointer-events:none; cursor:pointer; }
.to-top.on { opacity:1; pointer-events:auto; }
@media (max-width:1100px) {
  .nav-toggle { display:inline-flex; }
  .header-bar { width:100%; }
  .site-nav { display:none; position:absolute; top:100%; left:0; right:0; background:#fff; flex-direction:column; padding:.4rem 1rem 1rem; border-bottom:1px solid var(--line); }
  .site-nav.open { display:flex; }
  .cards, .split, .contact-grid, .footer-grid, .steps { grid-template-columns:1fr 1fr; }
}
@media (max-width:700px) {
  .cards, .split, .contact-grid, .footer-grid, .cta, .steps { grid-template-columns:1fr; display:grid; }
  .hero { min-height:86vh; }
  .brand img { height:40px; }
  .to-top { right:14px; bottom:14px; }
}
