:root{
  --red:#c8102e; --red-dark:#a30d24; --navy:#15314b;
  --ink:#191f26; --muted:#6b7280; --line:#e7e9ee;
  --bg:#f6f7f9; --card:#ffffff; --panel:#fbfcfd;
  --good:#0f9d58; --shadow:0 1px 3px rgba(16,24,40,.06),0 10px 28px rgba(16,24,40,.07);
  --radius:18px;
  --safe-t:env(safe-area-inset-top); --safe-b:env(safe-area-inset-bottom);
  --safe-l:env(safe-area-inset-left); --safe-r:env(safe-area-inset-right);
  --header-h:64px;
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
[hidden]{display:none !important;}
html,body{margin:0;padding:0;}
body{background:var(--bg);color:var(--ink);-webkit-text-size-adjust:100%;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;}
h1,h2,h3,p,ul{margin:0;}

/* Header */
.site-header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.88);
  backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);
  border-bottom:1px solid var(--line);padding-top:var(--safe-t);}
.header-inner{max-width:1240px;margin:0 auto;height:var(--header-h);display:flex;align-items:center;
  justify-content:space-between;padding:0 max(18px,var(--safe-l));gap:16px;}
.brand{display:flex;align-items:center;gap:11px;}
.brand .leaf{width:34px;height:34px;flex:none;}
.brand .leaf path{fill:var(--red);}
.brand-text{display:flex;flex-direction:column;line-height:1;}
.brand-name{font-weight:800;font-size:22px;letter-spacing:.06em;}
.brand-sub{font-size:9.5px;font-weight:700;letter-spacing:.22em;color:var(--muted);margin-top:3px;}
.header-actions{display:flex;align-items:center;gap:14px;}
.since{font-size:13px;color:var(--muted);font-weight:500;}
.call-btn{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;background:var(--red);color:#fff;
  font-weight:700;font-size:15px;padding:10px 16px;border-radius:999px;box-shadow:0 4px 14px rgba(200,16,46,.28);
  transition:transform .12s,background .12s;}
.call-btn:active{transform:scale(.96);background:var(--red-dark);}
.call-btn svg{width:18px;height:18px;fill:#fff;}

/* Hero */
.hero{max-width:1240px;margin:0 auto;padding:30px max(20px,var(--safe-l)) 6px;}
.hero h1{font-size:34px;font-weight:800;letter-spacing:-.015em;line-height:1.06;}
.hero h1 .h1-sub{display:block;font-size:17px;font-weight:600;color:var(--red);letter-spacing:0;margin-top:8px;}
.hero .lead{margin:14px 0 0;color:#3b424c;font-size:16.5px;line-height:1.55;max-width:880px;}
.hero-cta{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:20px 0 4px;}
.cta-primary{display:inline-flex;align-items:center;gap:10px;background:var(--red);color:#fff;font-weight:750;
  font-size:16px;padding:14px 22px;border-radius:14px;box-shadow:0 6px 18px rgba(200,16,46,.30);
  transition:transform .12s,background .12s;}
.cta-primary:active{transform:scale(.97);background:var(--red-dark);}
.cta-primary svg{width:20px;height:20px;fill:#fff;}
.cta-sub{color:var(--muted);font-size:14px;font-weight:500;}

/* Groups + cards */
.group{max-width:1240px;margin:0 auto;padding:22px max(20px,var(--safe-l)) 4px;}
.group-title{font-size:21px;font-weight:800;letter-spacing:-.01em;}
.group-title::before{content:"";display:inline-block;width:10px;height:10px;border-radius:3px;background:var(--red);margin-right:10px;vertical-align:middle;}
.group-sub{color:var(--muted);font-size:15px;margin:5px 0 0;}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;margin-top:16px;padding-bottom:8px;}
.tcard{display:flex;gap:13px;align-items:flex-start;text-align:left;background:var(--card);border:1px solid var(--line);
  border-radius:16px;padding:17px 16px;box-shadow:var(--shadow);transition:transform .12s,box-shadow .12s,border-color .12s;}
.tcard:hover{transform:translateY(-2px);border-color:#dfe2ea;box-shadow:0 6px 14px rgba(16,24,40,.08),0 18px 40px rgba(16,24,40,.08);}
.tcard:active{transform:scale(.99);}
.tcard .ico{width:42px;height:42px;flex:none;border-radius:11px;display:flex;align-items:center;justify-content:center;
  background:#fdeef0;color:var(--red);}
.tcard .ico svg{width:23px;height:23px;fill:currentColor;}
.tcard.pro .ico{background:#eef2f7;color:var(--navy);}
.tcard>span:last-child{display:flex;flex-direction:column;align-items:flex-start;}
.tcard .tc-title{display:block;font-weight:750;font-size:16px;line-height:1.25;margin-bottom:3px;}
.tcard .tc-blurb{color:var(--muted);font-size:13.5px;margin-top:4px;line-height:1.4;}
.tcard .tc-go{margin-top:9px;color:var(--red);font-weight:700;font-size:13px;display:inline-flex;align-items:center;gap:4px;}
.tcard.pro .tc-go{color:var(--navy);}

/* Tool view */
#tool{max-width:1040px;margin:0 auto;padding:14px max(18px,var(--safe-l)) 30px;}
.tool-bar{padding:8px 0 4px;}
.back-btn{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-weight:650;font-size:15px;padding:8px 4px;}
.back-btn svg{width:20px;height:20px;}
.back-btn:active{color:var(--ink);}
.tool-head{display:flex;align-items:flex-start;gap:14px;margin:6px 0 18px;}
.tool-ico{width:50px;height:50px;flex:none;border-radius:13px;display:flex;align-items:center;justify-content:center;background:#fdeef0;color:var(--red);}
.tool-ico svg{width:27px;height:27px;fill:currentColor;}
.tool-head h2{font-size:24px;font-weight:800;letter-spacing:-.01em;}
.tool-head p{color:var(--muted);font-size:15px;margin-top:4px;max-width:640px;line-height:1.45;}
.tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start;}
.tool-grid.solo{grid-template-columns:1fr;}
.tool-grid.solo>*{display:grid;gap:16px;}
@media (min-width:761px){.tool-grid.solo .panel.inputs+.panel.result{margin-top:0;}}
.panel{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:var(--shadow);}
.panel.inputs{background:var(--panel);}

/* Inputs */
.field{margin-bottom:16px;}
.field:last-child{margin-bottom:0;}
.field label{display:block;font-weight:650;font-size:14.5px;margin-bottom:7px;}
.field .hint{color:var(--muted);font-weight:500;font-size:12.5px;margin-left:6px;}
.field input[type=number],.field select{width:100%;font:inherit;font-size:16px;padding:12px 13px;border:1.5px solid var(--line);
  border-radius:11px;background:#fff;color:var(--ink);appearance:none;-webkit-appearance:none;}
.field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 10l5 5 5-5' stroke='%236b7280' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 11px center;background-size:20px;padding-right:38px;}
.field input:focus,.field select:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px rgba(200,16,46,.12);}
.seg{display:flex;gap:8px;flex-wrap:wrap;}
.seg button{flex:1;min-width:84px;border:1.5px solid var(--line);background:#fff;border-radius:11px;padding:11px 8px;font-weight:600;font-size:14px;color:var(--ink);transition:.12s;}
.seg button.on{background:var(--red);border-color:var(--red);color:#fff;}
.range-row{display:flex;align-items:center;gap:12px;}
.range-row input[type=range]{flex:1;accent-color:var(--red);}
.range-val{font-weight:750;font-variant-numeric:tabular-nums;min-width:64px;text-align:right;}

/* Result */
.panel.result{background:linear-gradient(180deg,#fff,#fff);border-color:#f0d3d8;}
.res-label{color:var(--muted);font-size:13px;font-weight:650;text-transform:uppercase;letter-spacing:.06em;}
.res-big{font-size:42px;font-weight:850;letter-spacing:-.02em;line-height:1.05;margin:6px 0 2px;color:var(--red);}
.res-big small{font-size:20px;font-weight:750;color:var(--ink);}
.res-sub{font-size:16px;font-weight:600;color:var(--ink);margin-top:2px;}
.res-detail{margin-top:14px;border-top:1px solid var(--line);padding-top:14px;display:flex;flex-direction:column;gap:9px;}
.res-row{display:flex;justify-content:space-between;gap:14px;font-size:14.5px;}
.res-row .k{color:var(--muted);}
.res-row .v{font-weight:700;font-variant-numeric:tabular-nums;text-align:right;}
.res-note{margin-top:14px;background:#fdeef0;border-radius:11px;padding:12px 13px;font-size:14px;line-height:1.45;color:#7a2230;}
.res-note strong{color:var(--red);}
.res-good{color:var(--good);}
.res-warn{color:#b3541e;}
.tag{display:inline-block;font-size:12px;font-weight:750;padding:3px 9px;border-radius:999px;background:#eef2f7;color:var(--navy);}

/* Wizard */
.wiz-step{font-size:13px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;}
.wiz-q{font-size:20px;font-weight:800;margin:6px 0 16px;}
.wiz-opts{display:grid;gap:10px;}
.wiz-opt{text-align:left;border:1.5px solid var(--line);background:#fff;border-radius:13px;padding:15px 16px;font-size:16px;font-weight:600;display:flex;align-items:center;gap:12px;transition:.12s;}
.wiz-opt:hover{border-color:var(--red);}
.wiz-opt .e{font-size:22px;}
.wiz-progress{height:6px;background:var(--line);border-radius:999px;overflow:hidden;margin-bottom:18px;}
.wiz-progress i{display:block;height:100%;background:var(--red);border-radius:999px;transition:width .25s;}

/* Disclaimer + tool CTA */
.disclaimer{margin:16px 4px 0;color:var(--muted);font-size:13px;line-height:1.5;}
.tool-cta{margin-top:18px;background:var(--navy);color:#fff;border-radius:16px;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.tool-cta strong{display:block;font-size:17px;}
.tool-cta span{color:#c3cedb;font-size:14px;}
.tool-cta .cta-primary{background:#fff;color:var(--navy);box-shadow:none;}
.tool-cta .cta-primary svg{fill:var(--navy);}

/* Footer */
.site-footer{border-top:1px solid var(--line);background:#fff;margin-top:24px;
  padding:24px max(20px,var(--safe-l)) calc(104px + var(--safe-b));text-align:center;}
.foot-brand{font-weight:800;font-size:17px;}
.foot-brand .brand-name{color:var(--red);}
.foot-meta{margin-top:8px;color:var(--muted);font-size:14px;display:flex;gap:10px;justify-content:center;flex-wrap:wrap;}
.foot-meta a{color:var(--red);font-weight:600;}
.foot-fine{max-width:680px;margin:12px auto 0;color:var(--muted);font-size:12.5px;line-height:1.5;}

/* Floating call */
.fab-call{position:fixed;z-index:60;left:50%;transform:translateX(-50%);bottom:calc(18px + var(--safe-b));
  display:inline-flex;align-items:center;gap:12px;background:var(--red);color:#fff;padding:15px 26px 15px 22px;
  border-radius:999px;box-shadow:0 8px 28px rgba(200,16,46,.42),0 2px 6px rgba(0,0,0,.18);transition:transform .12s,background .12s;}
.fab-call:active{transform:translateX(-50%) scale(.95);background:var(--red-dark);}
.fab-call svg{width:26px;height:26px;fill:#fff;flex:none;}
.fab-text{display:flex;flex-direction:column;line-height:1.05;}
.fab-lead{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;opacity:.9;}
.fab-num{font-size:19px;font-weight:800;}

@media (max-width:760px){
  .tool-grid{grid-template-columns:1fr;}
  .hero h1{font-size:28px;}
  .hero h1 .h1-sub{font-size:15.5px;}
  .hero .lead{font-size:15.5px;}
  .since{display:none;}
  .cta-primary{width:100%;justify-content:center;}
  .res-big{font-size:36px;}
  .tool-cta{justify-content:center;text-align:center;}
}
