:root{--ink:#0C1E28;--ink-2:#12303F;--paper:#EDF1F2;--card:#FFFFFF;--steel:#55686E;--steel-2:#7E9096;--line:#D6DFE1;--line-2:#E5EBEC;--teal:#12798C;--teal-deep:#0D5A69;--teal-wash:#E4EFF1;--ember:#DE7A35;--ember-deep:#C0632A;--ember-wash:#FBEEE2;--ok:#2F7D5B;--radius:14px;--radius-sm:9px;--shadow:0 1px 2px rgba(12,30,40,.05), 0 12px 30px -18px rgba(12,30,40,.28);--shadow-lg:0 24px 60px -30px rgba(12,30,40,.42);--maxw:1080px;--font-display:"Archivo",system-ui,sans-serif;--font-body:"IBM Plex Sans",system-ui,sans-serif;--font-mono:"IBM Plex Mono",ui-monospace,monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:17px;line-height:1.62;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 22px}a{color:var(--teal-deep);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{font-family:var(--font-display);font-weight:800;line-height:1.08;letter-spacing:-.015em;margin:0}.eyebrow{font-family:var(--font-mono);font-size:12px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--teal-deep)}.mono{font-family:var(--font-mono)}header.site{position:sticky;top:0;z-index:40;background:#edf1f2db;backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--line)}.bar{display:flex;align-items:center;justify-content:space-between;height:62px}.logo{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:900;letter-spacing:-.02em;font-size:18px;color:var(--ink)}.logo:hover{text-decoration:none}.drop{width:22px;height:22px;flex:none}.nav{display:flex;gap:26px;font-size:14.5px;font-weight:500;color:var(--steel)}.nav a{color:var(--steel)}.nav a:hover{color:var(--ink);text-decoration:none}@media (max-width:720px){.nav{display:none}}.hero{padding:56px 0 34px}.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:40px;align-items:start}@media (max-width:900px){.hero-grid{grid-template-columns:1fr;gap:30px}.hero{padding:34px 0 20px}}.hero h1{font-size:clamp(2.15rem,5.2vw,3.5rem);font-weight:900}.hero h1 em{font-style:normal;color:var(--teal-deep)}.hero .lede{margin-top:18px;font-size:1.11rem;color:var(--steel);max-width:48ch}.trust-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.chip{font-family:var(--font-mono);font-size:12px;letter-spacing:.02em;color:var(--ink-2);background:var(--card);border:1px solid var(--line);border-radius:999px;padding:6px 12px}.chip b{color:var(--ember-deep);font-weight:600}.calc{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.calc-head{padding:18px 22px 6px}.calc-head .eyebrow{display:block}.calc-head h2{font-size:1.15rem;margin-top:7px}.calc-body{padding:8px 22px 22px;display:grid;gap:20px}.field label.q{display:block;font-weight:600;font-size:14.5px;margin-bottom:9px}.field .hint{font-size:12.5px;color:var(--steel-2);margin-top:7px;line-height:1.45}.seg{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.seg.two{grid-template-columns:repeat(3,1fr)}.seg button{font-family:var(--font-body);font-size:13.5px;font-weight:600;color:var(--steel);background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-sm);padding:11px 8px 10px;cursor:pointer;transition:.14s;line-height:1.15;text-align:center}.seg button small{display:block;font-family:var(--font-mono);font-weight:400;font-size:10.5px;color:var(--steel-2);margin-top:3px;letter-spacing:.01em}.seg button:hover{border-color:var(--teal)}.seg button[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}.seg button[aria-pressed=true] small{color:#9db9c0}.slider-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}.slider-val{font-family:var(--font-mono);font-weight:600;font-size:1.35rem;color:var(--ink)}.slider-val span{font-size:.8rem;color:var(--steel-2);font-weight:400}input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:6px;background:linear-gradient(90deg,var(--teal) 0%,var(--teal) 30%,var(--line) 30%);outline:none}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;border-radius:50%;background:var(--card);border:3px solid var(--teal-deep);cursor:pointer;box-shadow:0 2px 6px #0c1e2840}input[type=range]::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--card);border:3px solid var(--teal-deep);cursor:pointer}input[type=range]:focus-visible{box-shadow:0 0 0 3px var(--teal-wash)}.adds{display:grid;gap:8px}.add{display:flex;align-items:flex-start;gap:11px;padding:11px 13px;border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;transition:.14s;background:var(--card)}.add:hover{border-color:var(--teal)}.add input{margin-top:3px;width:17px;height:17px;accent-color:var(--teal-deep);flex:none;cursor:pointer}.add .t{font-size:14px;font-weight:600}.add .p{font-family:var(--font-mono);font-size:11.5px;color:var(--steel-2);margin-top:1px}.add:has(input:checked){border-color:var(--teal-deep);background:var(--teal-wash)}.result{position:relative;background:var(--ink);color:#fff;border-radius:var(--radius);padding:26px 24px 24px;overflow:hidden;isolation:isolate;box-shadow:var(--shadow-lg)}.waterlevel{position:absolute;left:0;right:0;bottom:0;z-index:-1;height:12%;background:linear-gradient(180deg,#12798c8c,#0d5a69d9);transition:height .5s cubic-bezier(.4,0,.2,1)}.waterlevel:before{content:"";position:absolute;top:-11px;left:0;right:0;height:12px;background:radial-gradient(circle at 12px -4px,transparent 8px,rgba(18,121,140,.55) 8px) repeat-x;background-size:24px 12px;opacity:.9;animation:wave 5.5s linear infinite}@keyframes wave{0%{background-position:0 0}to{background-position:24px 0}}.result .eyebrow{color:#7fc2cf}.result .estimate{font-family:var(--font-mono);font-weight:600;line-height:1;font-size:clamp(2.5rem,7vw,3.7rem);color:#fff;margin:12px 0 4px;letter-spacing:-.01em}.result .estimate .to{color:var(--ember);padding:0 .12em}.result .band{display:inline-block;font-family:var(--font-mono);font-size:12px;letter-spacing:.03em;background:#de7a3529;color:#f0a86e;border:1px solid rgba(222,122,53,.35);padding:5px 11px;border-radius:999px;margin-top:6px}.result .persqft{margin-top:16px;font-size:13.5px;color:#a9c3ca;display:flex;gap:18px;flex-wrap:wrap}.result .persqft b{color:#fff;font-family:var(--font-mono);font-weight:500}.result .cta{display:block;text-align:center;margin-top:20px;background:var(--ember);color:#fff;font-family:var(--font-display);font-weight:800;font-size:16px;letter-spacing:-.01em;padding:15px;border-radius:var(--radius-sm);transition:.15s}.result .cta:hover{background:var(--ember-deep);text-decoration:none;transform:translateY(-1px)}.result .disclaimer{margin-top:12px;font-size:11.5px;color:#8aa6ae;line-height:1.5;text-align:center}.adslot{max-width:var(--maxw);margin:34px auto;padding:0 22px}.adslot .box{border:1px dashed var(--line);border-radius:10px;min-height:110px;display:flex;align-items:center;justify-content:center;color:var(--steel-2);font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;background:repeating-linear-gradient(135deg,transparent,transparent 12px,rgba(214,223,225,.25) 12px,rgba(214,223,225,.25) 13px)}section.block{padding:52px 0}.sec-head{max-width:60ch;margin-bottom:30px}.sec-head h2{font-size:clamp(1.6rem,3.6vw,2.25rem);margin-top:10px}.sec-head p{color:var(--steel);margin:14px 0 0;font-size:1.05rem}.band-line{height:1px;background:var(--line);border:0;margin:0}.tbl{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;font-size:15px}.tbl th,.tbl td{text-align:left;padding:14px 18px;border-bottom:1px solid var(--line-2)}.tbl thead th{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--steel);background:var(--paper);font-weight:500}.tbl tr:last-child td{border-bottom:0}.tbl td.price{font-family:var(--font-mono);font-weight:500;color:var(--ink-2);white-space:nowrap;text-align:right}.tbl td .lbl{font-weight:600}.tbl td .sub{display:block;font-size:12.5px;color:var(--steel-2);margin-top:2px}.cats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}@media (max-width:820px){.cats{grid-template-columns:1fr}}.cat{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px;border-top:4px solid var(--teal)}.cat.c2{border-top-color:#b98a2e}.cat.c3{border-top-color:var(--ember)}.cat .tag{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--steel)}.cat h3{font-size:1.2rem;margin:9px 0 4px}.cat .rng{font-family:var(--font-mono);font-size:13px;color:var(--ember-deep);font-weight:500}.cat p{font-size:14.5px;color:var(--steel);margin:12px 0 0}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;counter-reset:s}@media (max-width:820px){.steps{grid-template-columns:1fr 1fr}}@media (max-width:520px){.steps{grid-template-columns:1fr}}.step{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px;position:relative}.step .n{font-family:var(--font-mono);font-weight:600;font-size:13px;color:#fff;background:var(--teal-deep);width:30px;height:30px;border-radius:8px;display:grid;place-items:center;margin-bottom:13px}.step h3{font-size:1.02rem;margin-bottom:6px}.step p{font-size:14px;color:var(--steel);margin:0}.callout{background:var(--teal-wash);border:1px solid #BFDBE0;border-radius:var(--radius);padding:24px 26px;display:flex;gap:18px;align-items:flex-start}.callout .ic{width:26px;height:26px;flex:none;color:var(--teal-deep);margin-top:2px}.callout h3{font-size:1.12rem;margin-bottom:6px}.callout p{margin:0;font-size:15px;color:var(--ink-2)}.callout p+p{margin-top:10px}.faq{border-top:1px solid var(--line)}.faq details{border-bottom:1px solid var(--line);padding:4px 0}.faq summary{list-style:none;cursor:pointer;padding:20px 44px 20px 2px;position:relative;font-family:var(--font-display);font-weight:700;font-size:1.12rem;color:var(--ink);letter-spacing:-.01em}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";position:absolute;right:6px;top:50%;transform:translateY(-50%);font-family:var(--font-mono);font-weight:400;font-size:1.5rem;color:var(--teal-deep);transition:.2s}.faq details[open] summary:after{transform:translateY(-50%) rotate(45deg)}.faq .a{padding:0 44px 22px 2px;color:var(--steel);font-size:15.5px;max-width:74ch}.citygrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.city{display:flex;justify-content:space-between;align-items:center;gap:10px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);padding:13px 15px;transition:.14s}.city:hover{border-color:var(--teal);text-decoration:none;transform:translateY(-1px);box-shadow:var(--shadow)}.city .nm{font-weight:600;font-size:14.5px;color:var(--ink)}.city .cpc{font-family:var(--font-mono);font-size:11px;color:var(--steel-2)}.sources{font-size:13.5px;color:var(--steel);max-width:70ch}.sources b{color:var(--ink-2);font-weight:600}footer.site{background:var(--ink);color:#a9c3ca;padding:40px 0;margin-top:20px;font-size:14px}footer .fgrid{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap;align-items:flex-start}footer a{color:#cfe0e4}footer .fine{margin-top:24px;padding-top:20px;border-top:1px solid rgba(255,255,255,.1);font-size:12px;color:#7c9aa2;max-width:80ch}.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;background:#fff;padding:10px 16px;border-radius:8px;z-index:99}.crumbs{padding:16px 0 0;font-family:var(--font-mono);font-size:12px;letter-spacing:.02em;color:var(--steel-2)}.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:7px;margin:0;padding:0}.crumbs li{display:flex;align-items:center;gap:7px}.crumbs li+li:before{content:"/";color:var(--line)}.crumbs a{color:var(--steel)}.crumbs a:hover{color:var(--ink)}.crumbs [aria-current]{color:var(--ink-2)}.byline{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center;margin-top:18px;font-size:13px;color:var(--steel);font-family:var(--font-mono);letter-spacing:.01em}.byline b{color:var(--ink-2);font-weight:600}.byline .dot{color:var(--line)}.lead-answer{font-size:1.14rem;line-height:1.6;color:var(--ink-2);max-width:62ch;margin:20px 0 0}.lead-answer b{color:var(--ink)}.bandcard{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:24px 26px;box-shadow:var(--shadow);display:flex;flex-wrap:wrap;gap:24px;align-items:center;justify-content:space-between}.bandcard .big{font-family:var(--font-mono);font-weight:600;font-size:clamp(1.7rem,4.5vw,2.4rem);color:var(--ink);line-height:1}.bandcard .big .to{color:var(--ember-deep);padding:0 .1em}.bandcard .lbl{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--steel);margin-bottom:8px}.bandcard .note{font-size:14px;color:var(--steel);max-width:44ch}.leadgen{background:var(--ink);color:#fff;border-radius:var(--radius);padding:28px 26px;overflow:hidden;position:relative;box-shadow:var(--shadow-lg)}.leadgen .eyebrow{color:#7fc2cf}.leadgen h3{font-size:clamp(1.25rem,3vw,1.6rem);color:#fff;margin:8px 0;max-width:24ch}.leadgen p{margin:0;color:#a9c3ca;font-size:15px;max-width:52ch}.leadgen .cta{display:inline-block;margin-top:18px;background:var(--ember);color:#fff;font-family:var(--font-display);font-weight:800;font-size:15.5px;letter-spacing:-.01em;padding:14px 26px;border-radius:var(--radius-sm);transition:.15s}.leadgen .cta:hover{background:var(--ember-deep);text-decoration:none;transform:translateY(-1px)}.leadgen .badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.leadgen .badges span{font-family:var(--font-mono);font-size:11px;letter-spacing:.02em;color:#cfe0e4;border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:5px 11px}.prose{max-width:70ch}.prose h2{font-size:clamp(1.5rem,3.2vw,2rem);margin:44px 0 4px}.prose h3{font-size:1.24rem;margin:30px 0 4px}.prose p{margin:14px 0 0;color:var(--ink-2);font-size:1.03rem}.prose ul{margin:14px 0 0;padding-left:1.15em;color:var(--ink-2)}.prose li{margin:7px 0}.prose li::marker{color:var(--teal)}.prose strong{color:var(--ink)}.prose .callout{margin-top:22px}.related{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.rel{display:block;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);padding:14px 16px;transition:.14s}.rel:hover{border-color:var(--teal);text-decoration:none;transform:translateY(-1px);box-shadow:var(--shadow)}.rel .nm{font-weight:600;font-size:14.5px;color:var(--ink)}.rel .sub{font-size:12.5px;color:var(--steel-2);margin-top:2px}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}@media (max-width:820px){.feature-grid{grid-template-columns:1fr}}.feature{display:block;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:24px;transition:.14s}.feature:hover{border-color:var(--teal);text-decoration:none;transform:translateY(-2px);box-shadow:var(--shadow)}.feature .tag{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--teal-deep)}.feature h3{font-size:1.18rem;margin:9px 0 6px;color:var(--ink)}.feature p{font-size:14.5px;color:var(--steel);margin:0}.homehero{padding:60px 0 20px;text-align:center}.homehero h1{font-size:clamp(2.3rem,6vw,3.8rem);max-width:16ch;margin:16px auto 0}.homehero h1 em{font-style:normal;color:var(--teal-deep)}.homehero .lede{margin:20px auto 0;font-size:1.14rem;color:var(--steel);max-width:56ch}.homehero .cta{display:inline-block;margin-top:26px;background:var(--ember);color:#fff;font-family:var(--font-display);font-weight:800;font-size:16px;padding:15px 30px;border-radius:var(--radius-sm);transition:.15s}.homehero .cta:hover{background:var(--ember-deep);text-decoration:none;transform:translateY(-1px)}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
