:root {
  --bg:#0c1524;
  --surface:#111a2b;
  --card:#151f33;
  --muted:#9aa4b2;
  --text:#e8edf5;
  --accent:#2a66ff;
  --urgent:#e63946;
  --ring:rgba(42,102,255,.25);
  --maxw:1040px;
  --radius:14px;
}
* { box-sizing:border-box }
html,body { margin:0; background:var(--bg); color:var(--text); line-height:1.65; font-family:Inter,system-ui,-apple-system,'Segoe UI',Roboto,'Helvetica Neue',Arial; font-weight:400 }
a { color:var(--accent) }
p, li { text-align:justify }
.container { max-width:var(--maxw); margin:0 auto; padding:28px 20px }
:focus-visible { outline:2px solid var(--accent); outline-offset:3px }
.skip-link { position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden }
.skip-link:focus { position:static; width:auto; height:auto; padding:8px 12px; background:var(--surface); border-radius:8px }
.nav { display:flex; justify-content:space-between; gap:16px; align-items:center; margin-bottom:18px; color:var(--muted); font-size:14px }
.nav a { color:var(--muted); text-decoration:none; margin-left:16px }
.nav a:hover { color:var(--text) }
.mini-wordmark { font-family:'Playfair Display', serif; color:var(--text); font-weight:700; font-size:20px }
.hero { display:flex; flex-direction:column; gap:18px; align-items:center; justify-content:center; text-align:center; padding:36px; border-radius:20px; background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,0)); border:1px solid rgba(255,255,255,.06) }
.hero-left { max-width:800px; margin:0 auto }
.brand-logo { margin-bottom:14px }
.brand-logo .wordmark { font-family:'Playfair Display', serif; font-weight:700; font-size:44px; line-height:1.1; letter-spacing:.2px; color:#e8edf5 }
.brand-logo .tagline { font-size:15px; color:var(--muted); margin-top:-4px }
.divider { width:80px; border:0; border-top:1px solid rgba(255,255,255,.15); margin:12px auto }
.eyebrow { color:var(--muted); text-transform:uppercase; font-size:12px; letter-spacing:.12em; margin-bottom:8px; font-weight:600 }
h1 { font-family:'Playfair Display',serif; font-size:38px; margin:0 0 12px; font-weight:700; line-height:1.18 }
h2 { font-family:'Playfair Display',serif; font-size:26px; margin:0 0 10px; font-weight:700 }
h3 { margin:0 0 8px; font-size:18px }
h4 { margin:0 0 8px }
p.lead { margin:0 0 18px; color:var(--muted); font-size:18px }
.cta-row { display:flex; justify-content:center; flex-wrap:wrap; gap:12px; margin-top:16px }
.cta { display:inline-block; background:var(--accent); color:#fff; padding:15px 24px; border-radius:10px; text-decoration:none; font-weight:600; box-shadow:0 8px 24px var(--ring); font-size:17px; border:0; cursor:pointer }
.cta.secondary { background:#24324f; color:#e8edf5; box-shadow:none; border:1px solid rgba(255,255,255,.08) }
.cta.urgent { background:var(--urgent); box-shadow:0 8px 24px rgba(230,57,70,.18) }
section { margin-top:28px }
.grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px }
.grid.two { grid-template-columns:repeat(2,1fr) }
.box { background:var(--card); padding:20px; border-radius:12px; border:1px solid rgba(255,255,255,.08); box-shadow:0 10px 28px rgba(0,0,0,.25) }
.box h3, .box h4 { text-align:center }
.muted { color:var(--muted) }
.note { background:#0f1627; border:1px solid rgba(255,255,255,.06); padding:14px; border-radius:12px }
.how { display:flex; gap:16px; align-items:flex-start }
.step { background:#1d2b4b; color:#b9c3d1; font-weight:700; padding:12px; border-radius:10px; min-width:54px; width:54px; height:54px; display:flex; align-items:center; justify-content:center }
ul.clean { margin:8px 0 0; padding-left:18px }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px }
.form-field { display:flex; flex-direction:column; gap:6px }
.form-field.full { grid-column:1 / -1 }
label { color:#d7deea; font-weight:600; font-size:14px }
input, select, textarea { width:100%; border:1px solid rgba(255,255,255,.12); background:#0f1627; color:var(--text); border-radius:10px; padding:12px 12px; font-family:inherit; font-size:15px }
textarea { min-height:130px; resize:vertical }
input[type="file"] { padding:10px }
.checkbox { display:flex; gap:10px; align-items:flex-start; color:var(--muted); font-size:14px }
.checkbox input { width:auto; margin-top:6px }
footer { margin-top:28px; padding-top:18px; border-top:1px solid rgba(255,255,255,0.08) }
.footer-wrap { display:flex; gap:18px; align-items:flex-start; justify-content:space-between }
.footer-left { flex:1; min-width:260px }
.footer-right { flex:0 0 360px }
.map-wrap { position:relative; padding-bottom:62%; height:0; overflow:hidden; border-radius:12px; border:1px solid rgba(255,255,255,.06); background:#0f1627 }
.map-wrap iframe { position:absolute; top:0; left:0; width:100%; height:100%; border:0 }
.footer-bottom { margin-top:14px; display:flex; justify-content:space-between; align-items:center; color:var(--muted); font-size:13px; gap:12px }
@media (max-width:900px){
  .nav { flex-direction:column; align-items:flex-start }
  .nav a { margin-left:0; margin-right:14px }
  .grid, .grid.two { grid-template-columns:1fr }
  .form-grid { grid-template-columns:1fr }
  .footer-wrap { flex-direction:column }
  .footer-right { width:100%; flex:1 }
  .brand-logo .wordmark { font-size:38px }
  h1 { font-size:31px }
  .hero { padding:28px 20px }
}
@media (prefers-reduced-motion: reduce) {
  * { scroll-behavior: auto !important }
}
