/* Shared styles for the public lead-magnet calculators + hub (matches the landing) */
:root{
  --ink:#0B1220; --gray:#586273; --gray2:#9AA3B2;
  --grad:linear-gradient(135deg,#10B86A 0%, #2E74D6 100%);
  --accent:#0E9E8F; --accent2:#2E74D6;
  --card:#FFFFFF; --line:#EAEDF2; --tint:#F2F8F5; --tint2:#F6F8FB;
  --font:'Manrope'; --r:16px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--font),-apple-system,'Segoe UI',Roboto,Arial,sans-serif;color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased;line-height:1.55;font-size:16px}
.wrap{max-width:820px;margin:0 auto;padding:0 22px}
a{color:inherit}
.grad-text{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
svg{display:block}
.ic{width:20px;height:20px;stroke:currentColor;stroke-width:1.9;fill:none;stroke-linecap:round;stroke-linejoin:round}

nav{position:sticky;top:0;z-index:40;backdrop-filter:saturate(160%) blur(12px);background:rgba(255,255,255,.85);border-bottom:1px solid var(--line)}
.navin{display:flex;align-items:center;justify-content:space-between;padding:14px 22px;max-width:1180px;margin:0 auto}
.logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:17px;letter-spacing:-.02em;text-decoration:none;color:var(--ink)}
.logo .mark{width:30px;height:30px;border-radius:9px;background:var(--grad);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:16px}
.signin{font-weight:700;font-size:15px;color:#3A4250;text-decoration:none}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:var(--grad);color:#fff;font-weight:700;font-size:15px;border:none;padding:14px 24px;border-radius:13px;cursor:pointer;transition:.18s;font-family:inherit;text-decoration:none;
  box-shadow:0 10px 24px -8px rgba(16,140,110,.5), inset 0 1px 0 rgba(255,255,255,.3)}
.btn:hover{transform:translateY(-2px)}

.back{display:inline-flex;align-items:center;gap:7px;color:var(--gray);font-weight:700;font-size:14px;text-decoration:none;margin:30px 0 22px}
.back:hover{color:var(--accent)}
h1{font-size:40px;line-height:1.08;font-weight:800;letter-spacing:-.03em}
.sub{margin:16px 0 0;font-size:18px;line-height:1.6;color:var(--gray);font-weight:500}

.calc{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:28px;margin-top:32px;box-shadow:0 24px 50px -38px rgba(20,30,60,.3)}
.seg{display:inline-flex;background:var(--tint2);border:1px solid var(--line);border-radius:12px;padding:4px;gap:4px;margin-bottom:20px}
.seg button{border:none;background:none;font-family:inherit;font-weight:700;font-size:14px;color:var(--gray);padding:9px 16px;border-radius:9px;cursor:pointer;transition:.15s}
.seg button.on{background:#fff;color:var(--ink);box-shadow:0 4px 12px -6px rgba(20,30,60,.25)}
.field{margin-bottom:18px}
.field label{display:block;font-size:13px;font-weight:700;color:var(--ink);margin-bottom:7px}
.inwrap{position:relative}
.inwrap .cur{position:absolute;right:16px;top:50%;transform:translateY(-50%);color:var(--gray2);font-weight:700;font-size:15px}
input[type=text]{width:100%;padding:14px 44px 14px 16px;font-size:18px;font-weight:700;font-family:inherit;color:var(--ink);border:1px solid var(--line);border-radius:12px;outline:none;background:var(--tint2);font-variant-numeric:tabular-nums}
input[type=text]:focus{border-color:var(--accent);background:#fff}
.months{display:flex;gap:8px;flex-wrap:wrap}
.months button{border:1px solid var(--line);background:#fff;font-family:inherit;font-weight:700;font-size:13px;color:var(--gray);padding:8px 12px;border-radius:9px;cursor:pointer;min-width:40px}
.months button.on{background:var(--grad);color:#fff;border-color:transparent}
.hint{font-size:12.5px;color:var(--gray2);margin-top:6px;font-weight:500}

/* results */
.res{margin-top:26px;border-top:1px solid var(--line);padding-top:24px}
.res.hidden{display:none}
.proj{font-size:14px;color:var(--gray);font-weight:600}
.proj b{font-size:26px;color:var(--ink);font-weight:800;display:block;margin-top:4px;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.bignum{font-size:34px;font-weight:800;letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin-top:4px}
.rowline{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:11px 0;border-bottom:1px dashed var(--line);font-size:14px}
.rowline:last-child{border-bottom:none}
.rowline .l{color:var(--gray);font-weight:600}
.rowline .v{font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.01em}

/* УСН zones */
.zones{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:22px 0 6px}
.zone{border-radius:11px;padding:11px 10px;text-align:center;border:1.5px solid var(--line);background:#fff;opacity:.5;transition:.2s}
.zone.act{opacity:1;transform:translateY(-2px);box-shadow:0 12px 26px -16px rgba(20,30,60,.4)}
.zone .zt{font-size:11px;font-weight:800;letter-spacing:.02em}
.zone .zr{font-size:11px;color:var(--gray);font-weight:600;margin-top:3px}
.zone.z1{border-color:#8FD9BE}.zone.z1 .zt{color:#0E9E5E}
.zone.z2{border-color:#F3D08A}.zone.z2 .zt{color:#C2780A}
.zone.z3{border-color:#F0B48A}.zone.z3 .zt{color:#D9631A}
.zone.z4{border-color:#F3A6A6}.zone.z4 .zt{color:#DC2626}

/* two-card compare (наивная vs реальная маржа) */
.cmp2{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0 6px}
.cmpcard{border-radius:14px;padding:16px;border:1.5px solid var(--line);background:#fff}
.cmpcard.good{border-color:#C7ECD7;background:#F0FAF4}
.cmpcard.bad{border-color:#FAD9D9;background:#FEF2F2}
.cmpcard .ct{font-size:12px;font-weight:800;color:var(--gray);text-transform:uppercase;letter-spacing:.03em}
.cmpcard .cv{font-size:28px;font-weight:800;margin-top:6px;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.cmpcard.good .cv{color:#0E9E5E}.cmpcard.bad .cv{color:#DC2626}
.cmpcard .cs{font-size:12.5px;color:var(--gray);margin-top:4px;font-weight:600}

.verdict{margin-top:20px;border-radius:14px;padding:18px 20px;font-size:15px;line-height:1.55;display:flex;gap:12px;align-items:flex-start}
.verdict .ic{flex-shrink:0;margin-top:1px}
.verdict.ok{background:#F0FAF4;border:1px solid #C7ECD7}.verdict.ok .ic{color:#0E9E5E}
.verdict.warn{background:#FFF8EC;border:1px solid #FBE2B6}.verdict.warn .ic{color:#C2780A}
.verdict.bad{background:#FEF2F2;border:1px solid #FAD9D9}.verdict.bad .ic{color:#DC2626}
.verdict .vh{font-weight:800;margin-bottom:4px}
.verdict .vs{color:var(--gray)}

.disc{font-size:13px;color:var(--gray2);margin-top:18px;line-height:1.6;font-weight:500}

.ctablock{margin-top:40px;border-radius:22px;background:var(--grad);padding:36px 28px;text-align:center;color:#fff;box-shadow:0 40px 80px -44px rgba(16,140,110,.6)}
.ctablock h2{font-size:26px;font-weight:800;letter-spacing:-.02em}
.ctablock p{font-size:16px;margin-top:12px;opacity:.95;font-weight:500;max-width:520px;margin-left:auto;margin-right:auto}
.ctablock .btn{background:#fff;color:#0C6E54;margin-top:22px}

.faq{margin:56px 0 40px}
.faq h2{font-size:26px;font-weight:800;letter-spacing:-.02em;margin-bottom:20px}
.qa{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px 22px;margin-bottom:12px}
.qa h3{font-size:16px;font-weight:800;margin-bottom:8px}
.qa p{font-size:14.5px;color:var(--gray);line-height:1.65}

/* hub cards */
.hub{display:grid;grid-template-columns:1fr;gap:14px;margin-top:32px}
.hubcard{display:flex;align-items:flex-start;gap:16px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px 24px;text-decoration:none;color:var(--ink);transition:.16s;box-shadow:0 18px 40px -34px rgba(20,30,60,.28)}
.hubcard:hover{transform:translateY(-2px);border-color:#D6DBE3;box-shadow:0 22px 46px -30px rgba(20,30,60,.34)}
.hubcard .hi{width:46px;height:46px;border-radius:13px;background:var(--tint);color:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.hubcard h3{font-size:18px;font-weight:800;letter-spacing:-.01em}
.hubcard p{font-size:14px;color:var(--gray);margin-top:5px;line-height:1.5}
.hubcard .go{margin-left:auto;align-self:center;color:var(--accent)}

footer{padding:40px 0;border-top:1px solid var(--line);margin-top:40px;color:var(--gray2);font-size:14px}
.foot{display:flex;justify-content:space-between;width:100%;flex-wrap:wrap;gap:10px}

@media(max-width:640px){
  h1{font-size:30px}.zones{grid-template-columns:1fr 1fr}.cmp2{grid-template-columns:1fr}
}
