:root{--g:#1f6f5c;--gl:#e8f3ef;--a:#f2a541;--d:#1e2a2f;--m:#5b6b70;--r:12px}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;color:var(--d);line-height:1.6;background:#fbfcfc}
a{color:var(--g)}img{max-width:100%;height:auto}
.wrap{max-width:1040px;margin:0 auto;padding:0 20px}
header{background:var(--g);color:#fff}header .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;flex-wrap:wrap}
.logo{color:#fff;text-decoration:none;font-weight:800;font-size:1.25rem;letter-spacing:.3px}.logo span{color:var(--a)}
nav a{color:#fff;text-decoration:none;margin-left:18px;font-weight:500;opacity:.92}nav a:hover,nav a[aria-current]{opacity:1;border-bottom:2px solid var(--a)}
.hero{background:linear-gradient(135deg,var(--g),#164f42);color:#fff;padding:56px 0 64px}.hero h1{font-size:clamp(1.8rem,4vw,2.7rem);margin:0 0 12px;line-height:1.2}.hero p{font-size:1.15rem;max-width:640px;opacity:.95}
.btn{display:inline-block;background:var(--a);color:#1e2a2f;font-weight:700;padding:12px 22px;border-radius:999px;text-decoration:none;border:0;cursor:pointer;font-size:1rem}
.btn:hover{filter:brightness(1.05)}.btn.ghost{background:transparent;color:#fff;border:2px solid #fff;margin-left:10px}
.btn[aria-disabled=true]{opacity:.85;cursor:not-allowed}
.grid{display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin:34px 0}
.card{background:#fff;border:1px solid #e3e9e7;border-radius:var(--r);padding:22px;box-shadow:0 2px 10px rgba(0,0,0,.04)}
.card h3{margin-top:0}.price{font-size:1.6rem;font-weight:800;color:var(--g)}.tag{display:inline-block;background:var(--gl);color:var(--g);font-size:.8rem;font-weight:700;padding:3px 10px;border-radius:999px}
.card img{border-radius:8px;border:1px solid #e3e9e7}
main section{padding:30px 0}h2{color:var(--g)}
form label{display:block;font-weight:600;margin:14px 0 4px}
input{width:100%;padding:11px 12px;border:1px solid #c9d3d0;border-radius:8px;font-size:1rem;background:#fff}
input:focus{outline:3px solid rgba(31,111,92,.25);border-color:var(--g)}
.calc{display:grid;grid-template-columns:1fr 1fr;gap:28px}@media(max-width:760px){.calc{grid-template-columns:1fr}nav a{margin:0 14px 0 0}}
.result{background:var(--gl);border-radius:var(--r);padding:22px;min-height:150px}
.big{font-size:2.3rem;font-weight:800;color:var(--g)}.big span{font-size:1rem;color:var(--m);margin-left:6px}
.kv{list-style:none;padding:0}.kv li{display:flex;justify-content:space-between;border-bottom:1px dashed #b9cfc8;padding:6px 0}
table{width:100%;border-collapse:collapse;margin-top:10px;background:#fff}th,td{padding:8px 10px;border-bottom:1px solid #e3e9e7;text-align:left}th{background:var(--d);color:#fff}
.persona{display:grid;grid-template-columns:2fr 1fr auto;gap:8px;margin:8px 0}.persona button{border:0;background:#f3d6d6;border-radius:8px;padding:0 12px;cursor:pointer}
.err{color:#9c1c1c;font-weight:600}.note{font-size:.9rem;color:var(--m)}
.small{font-size:.85rem;color:var(--m)}
footer{background:var(--d);color:#cfd8d6;margin-top:50px;padding:30px 0;font-size:.9rem}footer a{color:#fff}
details summary{cursor:pointer;font-weight:600;margin-top:12px}
.btn.alt{background:var(--gl);color:var(--g)}
