:root { --blue:#0b5cff; --ink:#14213d; --muted:#4a5568; --bg:#f6f8fc; --card:#fff; --line:#d7deea; --ok:#0a7a3b; --warn:#8a5a00; --bad:#a12a2a; }
* { box-sizing: border-box; }
html { font-size: 18px; }
body { margin:0; font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; color:var(--ink); background:var(--bg); line-height:1.5; }
.wrap { max-width: 760px; margin: 0 auto; padding: 0 1rem; }
.skip { position:absolute; left:-999px; } .skip:focus { left:1rem; top:1rem; background:#fff; padding:.5rem; z-index:9; }
.top { background:#fff; border-bottom:1px solid var(--line); } .top .wrap { display:flex; justify-content:space-between; gap:1rem; padding-top:.75rem; padding-bottom:.75rem; flex-wrap:wrap; }
.brand { font-weight:800; color:var(--blue); } .tag { color:var(--muted); font-size:.85rem; }
h1 { font-size:1.9rem; line-height:1.2; margin:1.5rem 0 .5rem; } h2 { font-size:1.35rem; margin:1.25rem 0 .5rem; } h3 { margin:.25rem 0; }
.lead { font-size:1.15rem; color:var(--muted); }
.hero { padding-bottom:1rem; }
.trust { color:var(--muted); font-size:.95rem; padding-left:1.2rem; }
.banner { background:#fff4d6; border:1px solid #f0c96a; color:var(--warn); padding:.75rem 1rem; border-radius:10px; margin:1rem 0; font-size:.95rem; }
.btn { font:inherit; border:2px solid var(--blue); background:#fff; color:var(--blue); padding:.7rem 1.2rem; border-radius:12px; cursor:pointer; font-weight:700; min-height:48px; }
.btn.primary { background:var(--blue); color:#fff; } .btn.big { font-size:1.15rem; padding:.9rem 1.6rem; margin:.5rem 0; }
.btn.link { border:0; background:none; text-decoration:underline; padding:.25rem; min-height:0; }
.btn:focus-visible, input:focus-visible, select:focus-visible { outline:3px solid #ffb703; outline-offset:2px; }
.progress { height:10px; background:#e2e8f0; border-radius:99px; margin:1.25rem 0; overflow:hidden; } #bar { height:100%; background:var(--blue); width:25%; transition:width .2s; }
fieldset { border:0; padding:0; margin:0 0 1rem; } legend { font-weight:700; font-size:1.2rem; margin-bottom:.5rem; }
label { display:block; margin:.6rem 0 .2rem; font-weight:600; }
.hint { color:var(--muted); font-size:.9rem; margin:.1rem 0 .4rem; font-weight:400; }
.compare { width:100%; border-collapse:collapse; margin:.6rem 0 1rem; }
.compare th, .compare td { border:1px solid var(--line, #ccc); padding:.45rem .55rem; text-align:left; vertical-align:top; }
.compare th { font-size:.85rem; }
input[type=text], input[type=number], input[type=tel], input[type=email], select { width:100%; font:inherit; padding:.7rem; border:2px solid var(--line); border-radius:10px; background:#fff; min-height:48px; }
.check { display:flex; gap:.6rem; align-items:flex-start; padding:.6rem .7rem; border:2px solid var(--line); background:#fff; border-radius:10px; margin:.4rem 0; font-weight:500; cursor:pointer; }
.check input { width:1.3rem; height:1.3rem; margin-top:.15rem; flex:none; }
.row { display:flex; gap:.75rem; margin-top:1rem; flex-wrap:wrap; }
.err { color:var(--bad); font-weight:600; margin:.5rem 0; }
.card { background:var(--card); border:1px solid var(--line); border-radius:14px; padding:1rem 1.1rem; margin:.75rem 0; }
.status { border-left:6px solid var(--muted); } .status.likely { border-color:var(--ok); } .status.borderline,.status.needs_review { border-color:#e0a100; } .status.unlikely,.status.blocked { border-color:var(--bad); }
.option { display:grid; grid-template-columns: 1fr auto; gap:.5rem 1rem; align-items:start; }
.price { font-size:1.6rem; font-weight:800; color:var(--blue); text-align:right; } .price small { display:block; font-size:.75rem; color:var(--muted); font-weight:500; }
.pill { display:inline-block; font-size:.75rem; background:#e8f0ff; color:var(--blue); border-radius:99px; padding:.1rem .6rem; margin-right:.3rem; font-weight:700; }
.range { font-size:1.3rem; font-weight:800; }
.foot { color:var(--muted); font-size:.8rem; padding:2rem 1rem 3rem; }
.linkbox { word-break:break-all; background:#eef2f9; padding:.6rem; border-radius:8px; font-size:.85rem; }
@media (max-width:520px){ html{font-size:17px} .option{grid-template-columns:1fr} .price{text-align:left} }
.second { margin-top:2rem; } .second h2 { margin-top:0; } .second p { color:var(--muted); margin:.25rem 0 .75rem; }
a.btn { display:inline-block; text-decoration:none; }
a.brand { text-decoration:none; }
.how h2 { font-size:1.2rem; margin:.2rem 0 .3rem; }
.steps { padding-left:1.4rem; margin:1.5rem 0; } .steps li { margin:0 0 1.1rem; padding-left:.3rem; } .steps li::marker { font-weight:800; color:var(--blue); } .steps p { margin:0; }
.how .card ul { padding-left:1.2rem; margin:.4rem 0 0; } .how .card li { margin:.4rem 0; }
.how .cta { margin:1.5rem 0 0; }
.filters label { display:flex; gap:.4rem; align-items:center; font-weight:600; margin:0; } .filters select { width:auto; min-height:40px; padding:.3rem .5rem; }
.keep.soon { color:var(--warn); font-weight:700; }
