:root{
  --ink:#12202B; --muted:#4A5A67; --bg:#F2F5F6; --card:#FFFFFF; --line:#DCE3E7; --field-line:#8795A1;
  --green:#0B6B5C; --green-dark:#0B3F38; --green-tint:#DDEFEB; --gold:#F2B544; --err:#B3261E;
  --radius:14px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:'Public Sans',system-ui,sans-serif;font-size:18px;line-height:1.5}
main,.topbar,.subbar,.legal{max-width:560px;margin:0 auto}
main{background:var(--bg);min-height:70vh;outline:none}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-family:'Sora',system-ui,sans-serif;margin:0}
p{margin:0}
[hidden]{display:none!important}

/* header: on every page */
.topbar{display:flex;align-items:center;gap:14px;padding:14px 20px;background:#fff;border-bottom:1px solid var(--line)}
.avatar{width:60px;height:60px;border-radius:50%;object-fit:cover;flex-shrink:0;border:2px solid var(--green-tint)}
.brand{display:flex;flex-direction:column;gap:1px;min-width:0}
.brand-name{font:700 19px/1.25 'Sora',sans-serif}
.brand-co{font:700 17px/1.3 'Public Sans',sans-serif;color:var(--green);margin-top:4px}
.brand-sub{font-size:14px;line-height:1.35;color:var(--muted)}

/* sub bar: back link + page title */
.subbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 20px 4px 8px;background:#EAF0F2;border-bottom:1px solid var(--line)}
.back{display:inline-flex;align-items:center;gap:4px;min-height:48px;padding:0 10px;border-radius:10px;font-size:17px;font-weight:600;color:var(--green)}
.view-title{font:600 17px 'Sora',sans-serif}

/* blocks */
.block{padding:22px 24px 4px;display:flex;flex-direction:column;gap:16px}
.block:last-child{padding-bottom:26px}
.stack{gap:16px}
.stack-lg{gap:22px}
h2{font-size:21px;font-weight:600}
.h1-sm{font-size:27px;line-height:1.2;font-weight:700}
.muted{color:var(--muted)}
.small{font-size:15px}
.strong{font-weight:600}
.center{text-align:center}
.fine{font-size:14px;line-height:1.5;color:var(--muted)}
.row-between{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.link{font-size:16px;font-weight:600;color:var(--green)}

/* hero */
.hero{background:var(--green-dark);color:#fff;padding:32px 24px 28px;display:flex;flex-direction:column;gap:16px}
.hero h1{font-size:33px;line-height:1.15;font-weight:700}
.hero p{color:#D5E6E3;font-size:19px}
.eyebrow{font-size:14px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--gold)}
.hero-done{padding-top:40px}
.check-badge{width:52px;height:52px;border-radius:26px;background:var(--gold);color:var(--ink);display:flex;align-items:center;justify-content:center}

/* buttons */
.btn{display:flex;align-items:center;justify-content:center;min-height:56px;padding:0 20px;border-radius:12px;border:1px solid transparent;font:600 18px 'Public Sans',sans-serif;cursor:pointer;text-align:center}
.btn-primary{background:var(--green);color:#fff}
.btn-gold{background:var(--gold);color:var(--ink)}
.btn-ghost{border-color:#7FB3AB;color:#fff;font-weight:500;min-height:52px;font-size:17px}
.btn-outline{background:#fff;border-color:var(--field-line);color:var(--ink)}
.btn:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #1B7FE0;outline-offset:2px}

/* how it works */
.steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:18px}
.steps li{display:flex;gap:14px;align-items:flex-start}
.steps div{display:flex;flex-direction:column}
.steps strong{font-size:18px}
.steps div span{font-size:16px;color:var(--muted);line-height:1.45}
.num{flex-shrink:0;width:36px;height:36px;border-radius:18px;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:16px}

/* tiles + cards */
.tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.tile{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:16px 14px;display:flex;flex-direction:column;gap:4px}
.tile strong{font-size:17px;line-height:1.3}
.tile span{font-size:15px;line-height:1.4;color:var(--muted)}
.tile-wide{grid-column:1 / -1}
.callout{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--green);border-radius:var(--radius);padding:18px 16px;color:var(--ink)}
.callout div{flex:1;display:flex;flex-direction:column;gap:4px}
.callout strong{font-size:17px;line-height:1.3}
.callout span{font-size:15px;line-height:1.4;color:var(--muted)}
.callout svg{color:var(--green);flex-shrink:0}
.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;display:flex;flex-direction:column;gap:8px}
.card h3{font-size:19px;font-weight:600}
.card p{font-size:16px;line-height:1.5;color:var(--muted)}
.card-accent{border-color:var(--green);gap:10px}
.pill{font-size:13px;font-weight:600;color:var(--green-dark);background:var(--green-tint);border-radius:999px;padding:4px 10px;white-space:nowrap}
.dots{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;font-size:16px;line-height:1.45}
.dots li{position:relative;padding-left:20px}
.dots li::before{content:"";position:absolute;left:0;top:9px;width:8px;height:8px;border-radius:4px;background:var(--green)}
.email-line{font:600 18px 'Sora',sans-serif;word-break:break-all}

/* calculators */
.tabs{display:flex;background:#E3E9EC;border-radius:12px;padding:4px;gap:4px}
.tabs button{flex:1;min-height:50px;border:0;border-radius:9px;background:transparent;color:#3A4A56;font:500 16px 'Public Sans',sans-serif;cursor:pointer}
.tabs button[aria-selected="true"]{background:#fff;color:var(--ink);font-weight:600}
.result{background:var(--green-dark);color:#fff;border-radius:16px;padding:22px 20px;display:flex;flex-direction:column;gap:6px}
.result span{font-size:15px;color:#D5E6E3}
.result strong{font:700 42px/1.1 'Sora',sans-serif}
.result small{font-size:15px;line-height:1.5;color:#D5E6E3}
.slider{display:flex;flex-direction:column;gap:8px;font-size:16px;font-weight:600}
.slider-top{display:flex;justify-content:space-between;gap:12px}
input[type=range]{width:100%;accent-color:var(--green);min-height:36px}
.seg{display:flex;gap:8px}
.seg button{flex:1;min-height:52px;border:1px solid var(--field-line);border-radius:10px;background:#fff;color:var(--ink);font:500 17px 'Public Sans',sans-serif;cursor:pointer}
.seg button[aria-pressed="true"]{border:2px solid var(--green);background:#E4F2EF;color:var(--green-dark);font-weight:600}

/* form */
.progress-top{display:flex;justify-content:space-between;font-size:15px}
.bars{display:flex;gap:6px}
.bars i{flex:1;height:6px;border-radius:3px;background:#C9D3D9}
.bars i.on{background:var(--green)}
.field{display:flex;flex-direction:column;gap:6px}
.label{font-size:15px;font-weight:600}
input[type=text],input[type=tel],input[type=email],select{width:100%;min-height:54px;border:1px solid var(--field-line);border-radius:10px;padding:0 14px;font:18px 'Public Sans',sans-serif;background:#fff;color:var(--ink)}
select{padding:0 10px}
input[aria-invalid="true"],select[aria-invalid="true"]{border:2px solid var(--err)}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.grid21{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:12px}
.check{display:flex;gap:12px;align-items:flex-start;font-size:15px;line-height:1.5;padding-top:4px}
.check input{width:26px;height:26px;flex-shrink:0;margin:0;accent-color:var(--green)}
.error{color:var(--err);font-size:16px;font-weight:600}
.actions{display:flex;gap:12px;padding:14px 24px 26px}
.actions .btn{flex:1}
.actions #nextBtn{flex:2}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* footer */
.legal{padding:22px 24px 34px;font-size:13px;line-height:1.55;color:var(--muted);display:flex;flex-direction:column;gap:8px}
.legal a{text-decoration:underline}

.two-btn{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.hero-phone{text-align:center;font-size:16px!important;margin-top:-4px}

.calc-cta{display:flex;align-items:center;gap:14px;background:#fff;color:var(--ink);border-radius:14px;padding:14px 16px;border:2px solid var(--gold)}
.calc-ico{width:48px;height:48px;border-radius:12px;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.calc-txt{flex:1;display:flex;flex-direction:column;gap:2px}
.calc-txt strong{font-size:19px;line-height:1.25}
.calc-txt span{font-size:15px;line-height:1.35;color:var(--muted)}
.calc-cta>svg{color:var(--green);flex-shrink:0}

/* calculator breakdown */
.breakdown{display:flex;flex-direction:column;gap:12px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px}
.bar{display:flex;height:16px;border-radius:8px;overflow:hidden;background:#E3E9EC}
.bar i{display:block;height:100%}
.s1{background:#0B3F38}.s2{background:#2E9C88}.s3{background:#F2B544}.s4{background:#D9822B}.s5{background:#7A8995}
.legend{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:16px}
.legend li{display:flex;align-items:center;gap:10px}
.legend span{flex:1}
.legend b{font-weight:600}
.sw{width:14px;height:14px;border-radius:4px;flex-shrink:0;display:inline-block}
.field.sub{gap:2px}
.tips{border-color:var(--gold)}
.strong-no{font-weight:400}
