:root{--navy:#0b2545;--navy-deep:#061628;--gold:#b8973a;--red:#c0392b;--green:#1e6b4a;--bg:#f4f6f8;--paper:#fff;--ink:#1a1a1a;--muted:#5a6570;--line:#d5dde5;--max:960px;--sans:Segoe UI,system-ui,sans-serif;--serif:Georgia,serif}
*{box-sizing:border-box}body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--bg);line-height:1.65}a{color:var(--navy)}
header{background:var(--navy-deep);color:#fff;border-bottom:4px solid var(--gold);padding:1rem 1.25rem}
header .inner{max-width:var(--max);margin:0 auto;display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between}
.brand{font-family:var(--serif);font-size:1.5rem;font-weight:700;text-decoration:none;color:#fff}.brand span{color:var(--gold)}
nav a{color:#c8d4e0;text-decoration:none;margin-left:1rem;font-size:.95rem}nav a:hover{color:#fff}
.hero{background:linear-gradient(165deg,var(--navy-deep),var(--navy));color:#eef3f8;padding:2.5rem 1.25rem;border-bottom:4px solid var(--gold)}
.hero .inner{max-width:var(--max);margin:0 auto}.hero h1{font-family:var(--serif);font-size:clamp(1.8rem,4vw,2.6rem);margin:0 0 .75rem}
.hero p{color:#c5d2e0;max-width:40rem}
.kicker{display:inline-block;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);border:1px solid rgba(184,151,58,.5);padding:.25rem .6rem;margin-bottom:1rem}
.wrap{max-width:var(--max);margin:0 auto;padding:1.5rem 1.25rem 3rem}.paper{background:var(--paper);border:1px solid var(--line);padding:1.5rem}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;margin:1.25rem 0}
.stat{background:var(--paper);border:1px solid var(--line);border-top:3px solid var(--gold);padding:1rem;text-align:center}
.stat .n{font-family:var(--serif);font-size:1.4rem;color:var(--navy);font-weight:700}.stat .l{font-size:.8rem;color:var(--muted);margin-top:.25rem}
.stat.bad .n{color:var(--red)}.stat.good .n{color:var(--green)}
h1,h2{font-family:var(--serif);color:var(--navy)}h2{border-bottom:2px solid var(--gold);padding-bottom:.3rem}
table{width:100%;border-collapse:collapse;font-size:.92rem;margin:1rem 0}th,td{border:1px solid var(--line);padding:.5rem .65rem;text-align:left;vertical-align:top}th{background:var(--navy);color:#fff}tr:nth-child(even) td{background:#f8fafc}
.btn{display:inline-block;padding:.65rem 1.1rem;font-weight:600;text-decoration:none;border-radius:2px;margin:.25rem .35rem .25rem 0}
.btn-gold{background:var(--gold);color:var(--navy-deep)}.btn-navy{background:var(--navy);color:#fff}.btn-outline{border:1px solid rgba(255,255,255,.5);color:#fff}
.note{border-left:4px solid var(--gold);background:#fbf7ec;padding:.9rem 1rem;margin:1rem 0}
.warn{border-left:4px solid var(--red);background:#fdf0ee;padding:.9rem 1rem;margin:1rem 0}
.good{border-left:4px solid var(--green);background:#eef8f3;padding:.9rem 1rem;margin:1rem 0}
.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.card{border:1px solid var(--line);background:#fff;padding:1rem}.card h3{margin-top:0;font-family:var(--serif);color:var(--navy)}
footer{background:var(--navy-deep);color:#9aabbc;border-top:4px solid var(--gold);padding:2rem 1.25rem;font-size:.9rem}footer a{color:#d0dbe6}footer .inner{max-width:var(--max);margin:0 auto}
.faq-item{border:1px solid var(--line);margin-bottom:.75rem;background:#fff}.faq-item h2{font-family:var(--sans);font-size:1.05rem;margin:0;padding:.85rem 1rem;background:#f0f4f8;border:0}.faq-item .a{padding:1rem}
/* forms / pricing */
label{display:block;font-weight:600;margin:.85rem 0 .3rem;color:var(--navy);font-size:.92rem}
input[type=text],input[type=email],input[type=number],input[type=tel],input[type=file],select,textarea{width:100%;max-width:32rem;padding:.55rem .7rem;border:1px solid var(--line);font:inherit;background:#fff}
textarea{min-height:6rem;max-width:100%}
.form-row{margin-bottom:.5rem}
.price-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;margin:1.25rem 0}
.price-card{border:1px solid var(--line);background:#fff;padding:1.25rem;position:relative}
.price-card.featured{border-color:var(--gold);box-shadow:0 0 0 2px rgba(184,151,58,.25)}
.price-card .tag{position:absolute;top:.75rem;right:.75rem;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;background:var(--gold);color:var(--navy-deep);padding:.2rem .45rem;font-weight:700}
.price-card .amount{font-family:var(--serif);font-size:2rem;color:var(--navy);font-weight:700;margin:.25rem 0}
.price-card .amount span{font-size:1rem;color:var(--muted);font-weight:500}
.price-card ul{padding-left:1.1rem;margin:.5rem 0 1rem;color:var(--muted);font-size:.92rem}
.muted{color:var(--muted);font-size:.9rem}
.steps{counter-reset:step;list-style:none;padding:0;margin:1rem 0}
.steps li{counter-increment:step;position:relative;padding:.75rem 0 .75rem 2.75rem;border-bottom:1px solid var(--line)}
.steps li::before{content:counter(step);position:absolute;left:0;top:.7rem;width:1.8rem;height:1.8rem;background:var(--navy);color:#fff;border-radius:50%;font-size:.85rem;font-weight:700;display:flex;align-items:center;justify-content:center}
.chk{display:flex;gap:.5rem;align-items:flex-start;margin:.6rem 0;font-weight:400}
.chk input{width:auto;margin-top:.3rem}
.hero .btn-outline{border:1px solid rgba(255,255,255,.5);color:#fff}
.btn-gold:hover{filter:brightness(1.05)}
.btn-navy:hover{filter:brightness(1.1)}
.drop{border:2px dashed var(--line);padding:1.25rem;text-align:center;background:#fafbfc;margin:.5rem 0 1rem;max-width:32rem}
.drop strong{display:block;color:var(--navy)}
.legal-mini{font-size:.8rem;color:var(--muted);margin-top:1rem;max-width:40rem}
#order-status{margin-top:1rem;padding:1rem;display:none}
#order-status.show{display:block}
#order-status.ok{border-left:4px solid var(--green);background:#eef8f3}
#order-status.err{border-left:4px solid var(--red);background:#fdf0ee}