
:root{--ink:#18222d;--muted:#64707d;--navy:#17364f;--blue:#2b6f9e;--blue-soft:#f3f8fc;--orange:#f47b20;--line:#e2e7ec;--paper:#f7f9fb;--white:#fff;--radius:14px;--shadow:0 8px 24px rgba(20,45,68,.07)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.container{width:min(1120px,calc(100% - 40px));margin:0 auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line)}.nav{height:70px;display:flex;align-items:center;gap:28px}.brand{display:inline-flex;align-items:center;gap:10px;font-weight:800;white-space:nowrap}.brand-mark{width:38px;height:38px;border-radius:10px;background:var(--navy);display:grid;place-items:center;color:#fff}.brand-mark svg{width:27px;height:27px}.brand-text{font-size:1.18rem;color:var(--navy)}.brand-text b{color:var(--orange)}.nav-links{margin-left:auto;display:flex;align-items:center;gap:26px;font-size:.93rem;font-weight:650;color:#3d4a56}.nav-links a:hover{color:var(--blue)}.mobile-menu{display:none;margin-left:auto;border:0;background:none;font-size:1.55rem;color:var(--navy);cursor:pointer}
.home-hero{padding:72px 0 64px;background:linear-gradient(180deg,#fff 0%,#fbfdff 100%);border-bottom:1px solid #eef2f5}.hero-inner{text-align:center;max-width:820px}.hero-badge{display:inline-flex;padding:7px 12px;border-radius:999px;background:var(--blue-soft);color:var(--blue);font-size:.82rem;font-weight:750;margin-bottom:18px}.home-hero h1{font-size:clamp(2.35rem,5vw,4.25rem);line-height:1.03;letter-spacing:-.045em;margin:0;color:#18324a}.home-hero p{font-size:1.2rem;color:var(--muted);max-width:700px;margin:22px auto 0}.hero-actions{display:flex;justify-content:center;gap:12px;margin-top:30px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border-radius:9px;font-weight:750;border:1px solid transparent}.btn.primary{background:var(--blue);color:#fff}.btn.primary:hover{background:#235f89}.btn.secondary{background:#fff;border-color:#cfd8df;color:var(--navy)}.btn.secondary:hover{background:#f8fafb}
.projects{padding:68px 0 80px}.section-title{text-align:center;margin-bottom:38px}.section-title h2{font-size:2rem;line-height:1.15;margin:0;color:#1c354c;letter-spacing:-.025em}.section-title p{margin:9px 0 0;color:var(--muted);font-size:1rem}.category-title{font-size:1.3rem;margin:0 0 18px;color:#263746}.exterior-title{margin-top:46px}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.project-card{border:1px solid var(--line);border-radius:12px;padding:20px;display:flex;gap:15px;min-height:154px;background:#fff;transition:.16s ease}.project-card:hover{border-color:#bfd0dd;box-shadow:var(--shadow);transform:translateY(-2px)}.project-icon{width:46px;height:46px;flex:0 0 46px;border-radius:10px;background:var(--blue-soft);display:grid;place-items:center;color:var(--blue)}.project-icon svg{width:28px;height:28px}.project-card-copy{display:flex;flex-direction:column;min-width:0}.project-card h3{font-size:1.05rem;margin:0 0 7px;color:#1b334a}.project-card p{font-size:.9rem;line-height:1.45;color:var(--muted);margin:0 0 13px}.project-card span:not(.project-icon){margin-top:auto;font-size:.88rem;font-weight:750;color:var(--blue)}.project-card span b{font-size:1rem}
.cities-preview{background:var(--paper);border-top:1px solid #edf0f3;border-bottom:1px solid #edf0f3;padding:54px 0}.cities-head{display:flex;justify-content:space-between;gap:30px;align-items:end}.cities-head h2{margin:0;font-size:1.65rem;color:#1c354c}.cities-head p{margin:7px 0 0;color:var(--muted)}.cities-head>a{font-weight:750;color:var(--blue)}.city-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.city-chips a{background:#fff;border:1px solid var(--line);border-radius:9px;padding:10px 14px;font-weight:650;font-size:.93rem;color:#354653}.city-chips a:hover{border-color:#b9cbd8;color:var(--blue)}
.how-section{padding:70px 0 80px}.how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;max-width:930px;margin:0 auto}.how-card{text-align:center}.how-card>span{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;margin:0 auto 15px;background:var(--blue);color:#fff;font-weight:800}.how-card h3{font-size:1.08rem;margin:0 0 7px}.how-card p{font-size:.94rem;color:var(--muted);margin:0}
.footer{background:#f7f9fb;border-top:1px solid var(--line);padding:48px 0 24px}.footer-main{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:42px}.footer-brand p{color:var(--muted);max-width:340px;font-size:.92rem}.footer h4{font-size:.9rem;margin:6px 0 12px;color:#334454}.footer-main>div:not(.footer-brand){display:flex;flex-direction:column;gap:8px}.footer-main a:not(.brand){font-size:.9rem;color:#596775}.footer-main a:hover{color:var(--blue)}.footer-bottom{border-top:1px solid var(--line);margin-top:36px;padding-top:20px;display:flex;justify-content:space-between;gap:20px;color:#7b8791;font-size:.8rem}
/* Generic inner pages */.topbar{display:none}.page-hero{padding:48px 0 34px;background:#fbfcfd;border-bottom:1px solid var(--line)}.breadcrumb{font-size:.82rem;color:#7a8792;margin-bottom:14px}.breadcrumb a{color:var(--blue)}.eyebrow{display:block;color:var(--blue);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px}.page-hero h1{font-size:clamp(2rem,4vw,3rem);line-height:1.1;letter-spacing:-.035em;margin:0;color:#1b334a}.page-hero p{max-width:760px;color:var(--muted);font-size:1.03rem;margin:13px 0 0}.section{padding:56px 0}.section-soft{background:var(--paper)}.content{max-width:780px}.content h2{font-size:1.8rem;line-height:1.2;color:#1c354c}.content h3{margin-top:28px}.content p,.content li{color:#4f5f6d}.content a{color:var(--blue);text-decoration:underline;text-underline-offset:2px}.panel,.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
/* Calculator pages */.calc-hero{padding:38px 0 26px;background:#fff}.calc-title-wrap{max-width:800px}.calc-kicker{font-size:.82rem;color:var(--blue);font-weight:750;margin-bottom:8px}.calc-hero h1{font-size:clamp(2rem,4vw,3rem);letter-spacing:-.035em;line-height:1.08;margin:0;color:#1b334a}.calc-hero p{font-size:1rem;color:var(--muted);margin:12px 0 0;max-width:720px}.calc-progress{display:flex;align-items:center;gap:10px;margin-top:26px}.calc-progress div{display:flex;align-items:center;gap:8px;color:#6b7884;font-size:.82rem;font-weight:650}.calc-progress div::before{content:attr(data-step);width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:#edf3f7;color:var(--blue);font-weight:800}.calc-progress div.active{color:#1d3448}.calc-progress div.active::before{background:var(--blue);color:#fff}.calc-progress i{height:1px;width:30px;background:#d9e1e7}
.calculator-shell{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(330px,.7fr);gap:28px;align-items:start;padding:20px 0 64px}.calculator-shell .panel{padding:28px}.panel h2{font-size:1.25rem;margin:0 0 5px;color:#1d3448}.panel>p{margin:0 0 24px;color:var(--muted);font-size:.93rem}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.field label{display:block;font-size:.86rem;font-weight:700;color:#334553;margin-bottom:7px}.field input,.field select{width:100%;height:48px;border:1px solid #ccd6de;border-radius:8px;background:#fff;color:#243644;padding:0 12px;outline:none}.field input:focus,.field select:focus{border-color:#5d98bd;box-shadow:0 0 0 3px rgba(43,111,158,.10)}.disclaimer-box{margin-top:22px;padding:14px 15px;background:#f8fafb;border:1px solid #e3e9ee;border-radius:9px;color:#6b7884;font-size:.82rem;line-height:1.45}
.result-card{position:sticky;top:92px;background:#fff;border:1px solid #dbe3e9;border-radius:12px;overflow:hidden;box-shadow:0 8px 24px rgba(17,52,79,.06)}.result-primary{padding:26px 26px 22px;background:#f5f9fc;border-bottom:1px solid #dfe7ed}.result-label{text-transform:none;letter-spacing:0;font-size:.88rem;font-weight:750;color:#547084}.result-typical-price{font-size:2.75rem;line-height:1;font-weight:850;color:#15344e;margin:10px 0 8px;letter-spacing:-.04em}.result-range-line{font-size:.93rem;color:#63727f}.result-range-line strong{color:#304758}.result-note{font-size:.78rem;color:#81909b;margin-top:5px}.result-breakdown{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line)}.result-mini{padding:17px 12px;text-align:center;border-right:1px solid var(--line)}.result-mini:last-child{border-right:0}.result-mini span{display:block;font-size:.72rem;color:#7b8791;margin-bottom:5px}.result-mini strong{display:block;font-size:1rem;color:#263a4b}.result-mini.typical{background:#fff9f4}.result-mini.typical strong{color:#d96512}.assumptions{padding:20px 24px}.assumptions b{font-size:.88rem}.assumptions ul{padding-left:18px;margin:10px 0 0;color:#667580;font-size:.84rem}.assumptions li+li{margin-top:5px}.calc-after{background:var(--paper);border-top:1px solid #edf1f4;padding:42px 0}.calc-after .content h2{font-size:1.45rem}.calc-after .content p,.calc-after .content li{font-size:.92rem}.calc-after .content h3{font-size:1.05rem}
@media(max-width:900px){.nav-links{display:none;position:absolute;left:20px;right:20px;top:62px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:10px;flex-direction:column;align-items:stretch;gap:0}.nav.open .nav-links{display:flex}.nav-links a{padding:12px 10px}.mobile-menu{display:block}.project-grid{grid-template-columns:repeat(2,1fr)}.footer-main{grid-template-columns:2fr 1fr 1fr}.footer-main>div:last-child{display:none}.calculator-shell{grid-template-columns:1fr}.result-card{position:static}.how-grid{gap:20px}}
@media(max-width:640px){.container{width:min(100% - 30px,1120px)}.nav{height:64px}.brand-mark{width:36px;height:36px}.brand-text{font-size:1.08rem}.home-hero{padding:50px 0 44px}.home-hero h1{font-size:2.55rem}.home-hero p{font-size:1.03rem;line-height:1.55}.hero-actions{flex-direction:column;align-items:stretch;max-width:330px;margin-left:auto;margin-right:auto}.projects{padding:48px 0 56px}.section-title{text-align:left;margin-bottom:28px}.section-title h2{font-size:1.65rem}.project-grid{grid-template-columns:1fr;gap:11px}.project-card{min-height:0;padding:17px}.project-card p{margin-bottom:9px}.category-title{font-size:1.18rem}.exterior-title{margin-top:38px}.cities-preview{padding:42px 0}.cities-head{align-items:flex-start;flex-direction:column;gap:10px}.city-chips{gap:8px}.city-chips a{padding:9px 11px;font-size:.86rem}.how-section{padding:50px 0 58px}.how-grid{grid-template-columns:1fr;gap:28px}.how-card{text-align:left;display:grid;grid-template-columns:42px 1fr;column-gap:14px}.how-card>span{grid-row:1 / span 2;margin:0}.how-card h3,.how-card p{grid-column:2}.footer{padding:38px 0 22px}.footer-main{grid-template-columns:1fr 1fr;gap:30px}.footer-brand{grid-column:1/-1}.footer-main>div:last-child{display:flex}.footer-bottom{flex-direction:column;gap:6px}.calc-hero{padding:28px 0 18px}.calc-hero h1{font-size:2.15rem}.calc-progress{overflow:auto;padding-bottom:4px}.calc-progress div{white-space:nowrap}.calculator-shell{padding-top:10px;gap:18px;padding-bottom:46px}.calculator-shell .panel{padding:20px}.form-grid{grid-template-columns:1fr;gap:15px}.result-primary{padding:22px}.result-typical-price{font-size:2.35rem}.result-breakdown{grid-template-columns:repeat(3,1fr)}.result-mini{padding:14px 6px}.result-mini span{font-size:.66rem}.result-mini strong{font-size:.88rem}.assumptions{padding:18px 20px}.page-hero{padding:34px 0 26px}.page-hero h1{font-size:2.1rem}.grid-2,.grid-3{grid-template-columns:1fr}}


/* V4 refinement: cleaner wordmark, interactive city costs, article hub */
.brand{gap:0}.brand-mark{display:none}.brand-text{display:flex;align-items:baseline;gap:7px;font-size:1.22rem;letter-spacing:-.025em;font-weight:850}.brand-home{color:#17364f}.brand-canada{color:#f47b20;font-weight:850}.footer .brand-text{font-size:1.12rem}
.city-section{padding-top:38px}.city-intro{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:24px}.city-intro h2{font-size:1.8rem;line-height:1.15;margin:0 0 8px;color:#1c354c}.city-intro p{max-width:760px;color:var(--muted);margin:0}.city-market-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.city-market{border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden}.city-market[open]{border-color:#c6d7e3;box-shadow:0 8px 20px rgba(20,45,68,.06)}.city-market summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px}.city-market summary::-webkit-details-marker{display:none}.city-market summary>div{display:grid;gap:3px}.city-market summary strong{color:#1e3549;font-size:1rem}.city-market summary span{font-size:.82rem;color:#788691}.city-open{white-space:nowrap!important;color:var(--blue)!important;font-weight:750!important}.city-market[open] .city-open{font-size:0!important}.city-market[open] .city-open:after{content:'Hide';font-size:.82rem}.city-market-body{padding:0 20px 18px;border-top:1px solid #edf1f4}.city-market-body>p{font-size:.87rem;color:#687784;margin:14px 0}.city-cost-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:11px 0;border-top:1px solid #edf1f4}.city-cost-row:first-of-type{border-top:0}.city-cost-row>div{display:grid;gap:2px}.city-cost-row strong{font-size:.88rem;color:#2d4354}.city-cost-row span{font-size:.85rem;color:#647481}.city-cost-row>a{font-size:.8rem;font-weight:750;color:var(--blue);white-space:nowrap}.city-explainer{margin:34px 0 0;padding:24px 26px;border-radius:12px;background:var(--paper);border:1px solid #edf1f4}.city-explainer h2{font-size:1.25rem;margin:0 0 8px;color:#1e3549}.city-explainer p{margin:0;color:#667580;font-size:.92rem}
.guide-hub{padding-top:36px}.guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.guide-card{border:1px solid var(--line);border-radius:12px;padding:24px;background:#fff;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.guide-card:hover{transform:translateY(-2px);border-color:#c7d7e3;box-shadow:var(--shadow)}.guide-card>span,.home-guide-grid span{display:block;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--orange);margin-bottom:8px}.guide-card h2{font-size:1.28rem;line-height:1.25;margin:0;color:#1e3549}.guide-card p{font-size:.9rem;color:#657481;margin:10px 0 16px}.guide-card b{font-size:.86rem;color:var(--blue)}
.home-guides{padding:58px 0;border-bottom:1px solid #edf1f4}.home-guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:24px}.home-guide-grid a{border:1px solid var(--line);border-radius:12px;padding:21px;background:#fff}.home-guide-grid a:hover{border-color:#c7d7e3;box-shadow:var(--shadow)}.home-guide-grid h3{font-size:1.05rem;line-height:1.28;margin:0;color:#233d52}.home-guide-grid p{font-size:.86rem;color:#697885;margin:8px 0 0}
.article-hero{padding:54px 0 36px;background:#fbfcfd;border-bottom:1px solid var(--line)}.article-wrap{max-width:820px}.article-hero h1{font-size:clamp(2.1rem,4.7vw,3.35rem);line-height:1.06;letter-spacing:-.04em;margin:0;color:#1a334a}.article-hero p{font-size:1.08rem;color:#5f6f7c;max-width:780px;margin:18px 0 0}.article-meta{font-size:.79rem;color:#88949e;margin-top:16px}.article{padding-top:42px}.article-section{margin-bottom:34px}.article-section h2{font-size:1.45rem;line-height:1.22;margin:0 0 10px;color:#1f3a50}.article-section p{font-size:1rem;line-height:1.75;color:#4f606e;margin:0}.article-cta{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 26px;background:#f3f8fc;border:1px solid #dce8f0;border-radius:12px;margin-top:42px}.article-cta span{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:var(--blue)}.article-cta h2{font-size:1.22rem;margin:5px 0 0;color:#203b50}.article-disclaimer{font-size:.79rem!important;color:#7b8892!important;margin-top:22px!important}
.contact-phone{padding:28px}.contact-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:var(--blue)}.contact-number{display:block;font-size:clamp(1.75rem,4vw,2.35rem);line-height:1.1;font-weight:850;color:#17364f;letter-spacing:-.04em;margin:8px 0 10px}.contact-phone>p{color:#667580}.contact-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.contact-divider{height:1px;background:var(--line);margin:28px 0 24px}.contact-phone h2{font-size:1.2rem;color:#1e3549;margin:0 0 6px}.contact-form .btn{cursor:pointer}.btn.btn-primary{background:var(--blue);color:#fff}
@media(max-width:760px){.brand-text{font-size:1.12rem;gap:5px}.city-intro{display:block}.city-intro .btn{margin-top:16px}.city-market-grid,.guide-grid,.home-guide-grid{grid-template-columns:1fr}.city-market summary{padding:17px 16px}.city-market-body{padding-left:16px;padding-right:16px}.city-cost-row{align-items:flex-start}.article-cta{display:block}.article-cta .btn{margin-top:18px;width:100%}.contact-actions .btn{flex:1}.home-guides{padding:44px 0}}

/* V5: analytical workspace direction */
:root{--ink:#14222e;--muted:#5f6f7d;--navy:#0b2841;--navy-2:#123d5d;--blue:#176f96;--blue-soft:#edf7fb;--orange:#ef7d2c;--orange-dark:#c95812;--line:#dce5eb;--paper:#f4f7f9;--white:#fff;--radius:10px;--shadow:0 18px 42px rgba(8,35,56,.10)}
body{font-size:16px}.site-header{background:rgba(255,255,255,.98);box-shadow:0 1px 0 rgba(11,40,65,.04)}.nav{height:72px}.brand-text{gap:6px;font-size:1.24rem}.brand-canada{position:relative}.brand-canada:after{content:'';display:block;width:20px;height:3px;background:var(--orange);margin-top:2px;border-radius:2px}.nav-links{gap:24px}.data-chip{padding:6px 9px;border:1px solid #cad9e3;border-radius:5px;color:#526b7c;font-size:.72rem;font-weight:800;letter-spacing:.035em;text-transform:uppercase}.btn.accent{background:var(--orange);color:#fff;border-color:var(--orange)}.btn.accent:hover{background:var(--orange-dark);border-color:var(--orange-dark)}.btn.light{background:#fff;color:var(--navy);border-color:#fff}.btn.light:hover{background:#eaf1f5}.eyebrow{color:var(--orange-dark)}

.estimator-hero{position:relative;overflow:hidden;background:var(--navy);color:#fff;padding:64px 0 68px}.estimator-hero:before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(90deg,#000,transparent 72%)}.estimator-layout{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.7fr);align-items:center;gap:72px}.hero-copy{max-width:670px}.estimator-hero .hero-badge{background:rgba(255,255,255,.10);color:#bfe6f5;border:1px solid rgba(255,255,255,.12);margin-bottom:20px}.estimator-hero h1{font-size:clamp(2.75rem,5.4vw,5rem);line-height:.98;letter-spacing:-.055em;margin:0;max-width:760px}.estimator-hero .hero-copy>p{font-size:1.12rem;line-height:1.65;color:#c8d8e3;max-width:650px;margin:24px 0 0}.hero-proof{display:flex;flex-wrap:wrap;gap:12px 26px;margin-top:30px}.hero-proof span{display:flex;align-items:baseline;gap:7px;color:#9fb7c7;font-size:.82rem}.hero-proof strong{font-size:1.08rem;color:#fff}.quick-estimator{background:#fff;color:var(--ink);border-radius:12px;padding:28px;box-shadow:0 24px 70px rgba(0,0,0,.24);border-top:5px solid var(--orange)}.tool-kicker{display:block;font-size:.72rem;font-weight:850;text-transform:uppercase;letter-spacing:.10em;color:var(--orange-dark)}.quick-estimator h2{font-size:1.45rem;line-height:1.2;margin:6px 0 22px;color:var(--navy)}.quick-estimator label{display:block;font-size:.82rem;font-weight:750;color:#415461;margin:13px 0 6px}.quick-estimator select{width:100%;height:50px;padding:0 12px;border:1px solid #cbd8e1;border-radius:7px;background:#fff;color:#1d3343}.quick-estimator .btn{width:100%;margin-top:18px}.quick-estimator>p{font-size:.76rem;color:#74828c;text-align:center;margin:11px 0 0}

.projects{padding:76px 0}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:36px;margin-bottom:38px}.section-heading h2{font-size:clamp(1.9rem,3.5vw,2.75rem);line-height:1.08;letter-spacing:-.035em;margin:0;color:var(--navy)}.section-heading>p{max-width:470px;color:var(--muted);margin:0}.section-heading>a{font-weight:800;color:var(--blue);white-space:nowrap}.project-group+.project-group{margin-top:50px}.category-row{display:flex;gap:13px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:17px}.category-row>span{font-size:.72rem;font-weight:850;color:var(--orange);letter-spacing:.08em}.category-row h3{margin:0;font-size:1.12rem;color:#344b5d}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.project-card{display:block;min-height:174px;border-radius:9px;padding:20px;border-color:#d7e1e7;box-shadow:none}.project-card:hover{border-color:#8db5c9;box-shadow:0 14px 30px rgba(13,58,88,.09);transform:translateY(-3px)}.project-code{display:inline-flex!important;margin:0 0 24px!important;padding:4px 7px;border-radius:4px;background:#eef5f8;color:var(--blue)!important;font-size:.67rem!important;letter-spacing:.08em;text-transform:uppercase;font-weight:850!important}.project-card h4{font-size:1.08rem;margin:0 0 7px;color:var(--navy)}.project-card p{font-size:.88rem;line-height:1.5;color:var(--muted);margin:0 0 16px}.project-card b{display:block;font-size:.82rem;color:var(--blue);margin-top:auto}.project-card-copy{height:calc(100% - 50px)}

.city-strip{background:#eaf2f6;border-top:1px solid #d9e5eb;border-bottom:1px solid #d9e5eb;padding:48px 0}.city-strip-inner{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:70px;align-items:center}.city-strip h2{font-size:2rem;letter-spacing:-.03em;margin:0;color:var(--navy)}.city-strip p{margin:8px 0 0;color:var(--muted)}.city-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:9px}.city-links a{background:#fff;border:1px solid #cbdbe4;border-radius:6px;padding:9px 12px;font-size:.86rem;font-weight:700;color:#365267}.city-links .all-cities{background:var(--navy);border-color:var(--navy);color:#fff}

.method-spotlight{padding:82px 0}.method-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(400px,1.1fr);gap:70px;align-items:center}.method-copy h2{font-size:clamp(2rem,4vw,3.15rem);line-height:1.04;letter-spacing:-.045em;margin:0;color:var(--navy)}.method-copy>p{font-size:1.04rem;line-height:1.7;color:var(--muted);margin:19px 0}.method-points{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0}.method-points span{padding:7px 9px;border-radius:5px;background:#eaf3f7;color:#315b72;font-size:.76rem;font-weight:750}.method-copy .btn{background:var(--navy);color:#fff;border-color:var(--navy);margin-top:5px}.method-layout figure{margin:0}.method-layout img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:10px;box-shadow:var(--shadow)}.method-layout figcaption{font-size:.75rem;color:#788792;margin-top:9px}

.home-guides{padding:70px 0 78px;background:var(--paper)}.home-guide-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.home-guide-grid a{border-radius:9px;min-height:190px}.home-guide-grid h3{font-size:1.08rem}.home-guide-grid p{font-size:.88rem}.footer{background:#0a2236;border:0;color:#fff}.footer .brand-home{color:#fff}.footer .brand-canada{color:#ff9a50}.footer-brand p{color:#aabfcd}.footer-method{display:inline-block!important;color:#d8e9f2!important;font-weight:700!important}.footer h4{color:#dceaf2}.footer-main a:not(.brand){color:#9fb6c5}.footer-bottom{border-color:rgba(255,255,255,.12);color:#829cac}

.page-hero{padding:56px 0 40px;background:#f5f8fa}.page-hero h1{max-width:880px}.methodology-hero{background:var(--navy);border:0;color:#fff}.methodology-hero .breadcrumb,.methodology-hero .breadcrumb a{color:#a9c2d0}.methodology-hero .eyebrow{color:#ffae73}.methodology-hero h1{color:#fff;font-size:clamp(2.4rem,5vw,4.2rem)}.methodology-hero p{color:#bdd0dc;max-width:800px;font-size:1.08rem}.method-nav{position:sticky;top:72px;z-index:20;background:#fff;border-bottom:1px solid var(--line)}.method-nav .container{display:flex;gap:6px;overflow-x:auto;padding-top:10px;padding-bottom:10px}.method-nav a{white-space:nowrap;padding:7px 10px;border-radius:5px;font-size:.8rem;font-weight:750;color:#476174}.method-nav a:hover{background:#edf4f7;color:var(--blue)}.content-wide{max-width:940px}.method-content{scroll-margin-top:130px}.section-number{display:block;color:var(--orange);font-weight:850;font-size:.77rem;letter-spacing:.08em;margin-bottom:6px}.method-content h2{font-size:clamp(1.9rem,3.5vw,2.7rem);letter-spacing:-.035em;margin:0 0 22px;color:var(--navy)}.method-content .lead{font-size:1.06rem;line-height:1.7;color:#536675;max-width:820px}.formula-card{background:var(--navy);color:#fff;border-radius:9px;padding:25px 28px;display:grid;gap:5px;margin:20px 0 26px}.formula-card span{font-size:.72rem;color:#9fc1d2;text-transform:uppercase;letter-spacing:.09em;font-weight:800}.formula-card strong{font-size:clamp(1.12rem,2.5vw,1.55rem);font-weight:760}.method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.method-grid>div{border:1px solid var(--line);border-radius:8px;padding:19px}.method-grid h3{margin:0 0 8px;font-size:1rem;color:var(--navy)}.method-grid p{margin:0;font-size:.89rem;color:var(--muted)}.example-card{margin-top:22px;border-left:4px solid var(--orange);background:#fff7f1;padding:20px 23px;border-radius:0 8px 8px 0}.example-card>span{font-size:.7rem;font-weight:850;color:var(--orange-dark);text-transform:uppercase}.example-card h3{font-size:1.05rem;margin:5px 0 12px}.example-card p{margin:4px 0;font-size:.9rem}.source-table{border:1px solid var(--line);border-radius:9px;overflow:hidden;background:#fff;margin:24px 0}.source-row{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:18px 20px;border-top:1px solid var(--line)}.source-row:first-child{border:0}.source-row>div{display:grid;gap:3px}.source-row strong{font-size:.94rem;color:var(--navy)}.source-row span{font-size:.85rem;color:var(--muted)}.source-row a{white-space:nowrap;font-size:.8rem;font-weight:800;color:var(--blue)}.limit-callout{padding:20px 22px;background:#edf5f8;border-radius:8px}.limit-callout strong{color:var(--navy)}.limit-callout p{margin:5px 0 0;color:#536876}.factor-table-wrap{columns:2;column-gap:18px}.factor-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);break-inside:avoid}.factor-table th,.factor-table td{text-align:left;padding:10px 13px;border-bottom:1px solid var(--line);font-size:.86rem}.factor-table th{background:#eef4f7;color:#385266}.factor-table td:last-child,.factor-table th:last-child{text-align:right;font-weight:800}.exclusion-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0}.exclusion-grid>div{border:1px solid var(--line);border-radius:8px;padding:20px;background:#fff}.exclusion-grid h3{margin:0 0 9px;color:var(--navy)}.exclusion-grid ul{margin:0;padding-left:20px;color:var(--muted)}.review-log{border-left:2px solid #bed1dc;margin-left:5px}.review-log>div{position:relative;padding:0 0 25px 28px}.review-log>div:before{content:'';position:absolute;left:-6px;top:4px;width:10px;height:10px;border-radius:50%;background:var(--orange)}.review-log time{font-weight:800;color:var(--navy)}.review-log p{margin:5px 0 0;color:var(--muted)}.review-next{padding:14px 16px;background:#f4f7f9;border-radius:7px}

.estimate-status{display:flex;justify-content:space-between;align-items:center;padding:10px 18px;background:#fff;border-bottom:1px solid var(--line);font-size:.72rem;font-weight:800;color:#4f6676;text-transform:uppercase;letter-spacing:.055em}.estimate-status>a{color:var(--blue);text-transform:none;letter-spacing:0}.result-primary{background:var(--navy);border:0}.result-label{color:#a9c4d3}.result-typical-price{color:#fff}.result-range-line{color:#b9cfdb}.result-range-line strong{color:#ffb37c}.result-note{color:#8facbc}.range-track{height:7px;display:grid;grid-template-columns:1fr 8px 1fr;background:#dbe6eb}.range-track span:first-child{background:#78a9bf}.range-track i{background:var(--orange)}.range-track span:last-child{background:#b9d1dc}.formula-summary{padding:16px 22px;border-bottom:1px solid var(--line);background:#f7fafb}.formula-summary span{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.07em;font-weight:800;color:#758792}.formula-summary p{font-size:.8rem;line-height:1.45;color:#435b6b;margin:4px 0 0}.noscript-note{padding:12px 14px;margin-top:18px;background:#fff2e8;border:1px solid #f2c9a9;border-radius:7px;color:#814218;font-size:.84rem}.disclaimer-box{font-size:.84rem}.calc-next{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.7fr);gap:60px;align-items:center}.calc-next h2{font-size:1.65rem;margin:0;color:var(--navy)}.calc-next p{color:var(--muted)}.calc-next>div>a{color:var(--blue);font-weight:800}.calc-next-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.calc-next-grid div{background:#fff;border:1px solid var(--line);border-radius:7px;padding:15px}.calc-next-grid strong{display:block;color:var(--orange);font-size:.75rem}.calc-next-grid span{display:block;color:#3d5261;font-size:.8rem;line-height:1.3;margin-top:5px}

.city-source-band{background:var(--navy);color:#fff}.city-source-band .container{display:flex;justify-content:space-between;gap:30px;align-items:center;padding-top:16px;padding-bottom:16px}.city-source-band div>div{display:flex;gap:12px;align-items:baseline}.city-source-band strong{font-size:.83rem}.city-source-band span{font-size:.8rem;color:#abc1ce}.city-source-band a{font-size:.8rem;font-weight:800;color:#ffc092}.guide-intro{display:flex;justify-content:space-between;gap:35px;align-items:center;margin-bottom:25px;padding:17px 20px;background:#edf5f8;border-radius:8px}.guide-intro strong{white-space:nowrap;color:var(--navy)}.guide-intro p{margin:0;color:var(--muted);font-size:.88rem}.guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.guide-card{border-radius:9px}.article-meta{display:flex;gap:8px;flex-wrap:wrap}.article-meta span{padding:5px 8px;background:#edf4f7;border-radius:4px}.article-layout{display:grid;grid-template-columns:minmax(0,820px) 220px;gap:70px;align-items:start}.article-side{position:sticky;top:115px;border-left:2px solid var(--line);padding-left:18px;display:grid;gap:10px}.article-side>span{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;font-weight:850;color:var(--orange-dark)}.article-side>div{font-size:.78rem;line-height:1.35;color:#647581}.article-side>a{font-size:.78rem;font-weight:800;color:var(--blue);margin-top:5px}.sample-table-wrap{border:1px solid var(--line);border-radius:8px;overflow:hidden}.sample-table{width:100%;border-collapse:collapse}.sample-table th,.sample-table td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);font-size:.9rem}.sample-table th{background:#edf4f7;color:#365165}.sample-table td:last-child{font-weight:800;color:var(--navy)}.sample-table tr:last-child td{border-bottom:0}.table-note{font-size:.78rem!important;line-height:1.5!important;color:#788791!important;margin-top:9px!important}.source-note{padding:20px 22px;background:#edf5f8;border-radius:8px;margin:38px 0 0}.source-note strong{color:var(--navy)}.source-note p{font-size:.86rem;line-height:1.55;color:#566c7b;margin:5px 0}.source-note a{font-size:.82rem;font-weight:800;color:var(--blue)}

.about-layout{display:grid;grid-template-columns:minmax(0,760px) minmax(280px,.45fr);gap:70px;align-items:start}.principles-card{position:sticky;top:110px;background:var(--navy);color:#fff;border-radius:9px;padding:25px}.principles-card>span{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#a9c6d5;font-weight:800}.principles-card ul{padding-left:20px;color:#d2e0e7;line-height:1.65}.principles-card a{display:inline-block;color:#ffb681;font-weight:800;font-size:.85rem;margin-top:6px}.contact-grid{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:22px;align-items:start}.contact-card,.contact-form{background:#fff;border:1px solid var(--line);box-shadow:0 10px 28px rgba(11,40,65,.06)}.contact-card{border-radius:9px;padding:28px}.contact-card h2{font-size:1.45rem;color:var(--navy);margin:7px 0 15px}.contact-checklist{padding-left:20px;color:#4f6270}.contact-checklist li+li{margin-top:8px}.contact-card>p{font-size:.82rem;color:#71808b;border-top:1px solid var(--line);padding-top:16px;margin-top:20px}.contact-form{border-radius:9px;padding:28px}.field label span{font-weight:500;color:#81909a}.field textarea{width:100%;min-height:150px;border:1px solid #ccd6de;border-radius:8px;padding:12px;resize:vertical}.not-found{padding:110px 0 130px;background:var(--paper);text-align:center}.error-code{font-size:.78rem;font-weight:900;letter-spacing:.14em;color:var(--orange)}.not-found h1{font-size:clamp(2.25rem,5vw,4rem);letter-spacing:-.05em;color:var(--navy);margin:8px 0}.not-found p{color:var(--muted);max-width:580px;margin:0 auto}.not-found .hero-actions{margin-top:25px}

@media(max-width:960px){.estimator-layout{grid-template-columns:1fr;gap:38px}.quick-estimator{max-width:620px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.method-layout{grid-template-columns:1fr;gap:38px}.method-layout figure{max-width:760px}.article-layout{grid-template-columns:1fr}.article-side{display:none}.about-layout{grid-template-columns:1fr}.principles-card{position:static}.calc-next{grid-template-columns:1fr;gap:28px}.method-grid{grid-template-columns:1fr}.data-chip{margin-left:auto}.nav-links{margin-left:0}}
@media(max-width:900px){.data-chip{display:none}.method-nav{top:64px}}
@media(max-width:680px){.estimator-hero{padding:44px 0 48px}.estimator-hero h1{font-size:2.75rem}.estimator-hero .hero-copy>p{font-size:1rem}.hero-proof{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quick-estimator{padding:22px}.projects{padding:54px 0}.section-heading{display:block}.section-heading>p,.section-heading>a{display:block;margin-top:13px}.project-grid{grid-template-columns:1fr}.project-card{min-height:0}.project-group+.project-group{margin-top:38px}.city-strip-inner{grid-template-columns:1fr;gap:22px}.city-links{justify-content:flex-start}.method-spotlight{padding:56px 0}.method-layout{grid-template-columns:1fr}.home-guide-grid{grid-template-columns:1fr}.method-nav .container{width:100%;padding-left:15px;padding-right:15px}.source-row{display:block}.source-row a{display:inline-block;margin-top:10px}.factor-table-wrap{columns:1}.exclusion-grid{grid-template-columns:1fr}.calc-next-grid{grid-template-columns:1fr}.city-source-band .container{display:block}.city-source-band div>div{display:grid;gap:2px}.city-source-band a{display:inline-block;margin-top:7px}.guide-intro{display:block}.guide-intro p{margin-top:5px}.sample-table th,.sample-table td{padding:10px;font-size:.82rem}.contact-grid{grid-template-columns:1fr}.field input,.field select,.field textarea,.quick-estimator select{font-size:16px}.methodology-hero h1{font-size:2.7rem}}


/* V6 — product-depth + trust polish */
:root{--shadow-soft:0 18px 50px rgba(13,43,66,.09);--orange-soft:#fff4ea;--blue-pale:#edf6fb}
.site-header{box-shadow:0 1px 0 rgba(16,48,72,.02)}
.estimator-hero{position:relative;overflow:hidden}
.estimator-hero:before{content:"";position:absolute;width:560px;height:560px;border-radius:50%;right:-260px;top:-300px;background:radial-gradient(circle,rgba(43,111,158,.11),rgba(43,111,158,0) 70%);pointer-events:none}
.quick-estimator{box-shadow:var(--shadow-soft);border-color:#d6e2e9}
.quick-estimator .btn.accent{box-shadow:0 10px 24px rgba(244,123,32,.2)}
.project-card,.contact-card,.contact-form,.method-grid>div,.guide-card{transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.project-card:hover,.guide-card:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(15,48,71,.08)}
.calculator-shell{gap:34px}
.calculator-shell .panel{border-color:#d9e3ea;box-shadow:0 14px 38px rgba(17,52,79,.055)}
.calculator-shell .panel h2{font-size:1.35rem}
.calc-field-intro{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 22px;padding:12px 14px;border-radius:10px;background:#f4f8fb;border:1px solid #e1eaf0;color:#577080;font-size:.82rem}
.calc-field-intro strong{color:var(--navy)}
.form-grid{gap:16px 18px}
.field label{display:flex;align-items:center;justify-content:space-between;gap:8px}
.field input,.field select{height:50px;border-radius:10px;border-color:#c8d5de;background:#fff;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}
.field input:hover,.field select:hover{border-color:#aebfca}
.result-card{top:88px;border-color:#cfdde6;border-radius:16px;box-shadow:0 18px 48px rgba(17,52,79,.1)}
.estimate-status{background:#f7fafc;padding:11px 20px}
.result-primary{padding:28px 26px 24px;background:linear-gradient(145deg,#14344d,#1e4968)}
.result-typical-price{font-size:clamp(2.45rem,4vw,3.25rem)}
.result-range-line{font-size:.96rem}
.formula-summary{padding:18px 22px;background:#fff}
.formula-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:4px}
.formula-head span{font-size:.68rem;text-transform:uppercase;letter-spacing:.07em;font-weight:850;color:#71838f}
.formula-head a{font-size:.74rem;font-weight:850;color:var(--blue)}
.formula-summary p{font-size:.84rem;line-height:1.5;margin:0;color:#344f61;font-weight:650}
.driver-summary{padding:17px 22px;border-top:1px solid var(--line);background:#fbfdfe}
.driver-summary>span{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.07em;font-weight:850;color:#71838f;margin-bottom:9px}
.driver-chips{display:flex;flex-wrap:wrap;gap:7px}
.driver-chip{display:inline-flex;align-items:center;gap:5px;padding:7px 9px;border-radius:999px;border:1px solid #dce5eb;background:#fff;color:#49606e;font-size:.73rem;font-weight:750;line-height:1.2}
.driver-chip.up{border-color:#f0c7a7;background:#fff7f0;color:#93460f}.driver-chip.down{border-color:#c9dce7;background:#f1f8fc;color:#35617d}.driver-chip.neutral{color:#697b86}
.driver-chip b{font-size:.82rem}
.assumptions{padding:18px 22px}
.result-actions{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.result-actions a{padding:13px 14px;text-align:center;font-size:.78rem;font-weight:850;color:var(--blue);background:#fff}
.result-actions a+a{border-left:1px solid var(--line)}
.result-actions a:hover{background:#f5f9fc}
.estimate-scope{border-top:1px solid var(--line);background:#fbfcfd}
.estimate-scope summary{cursor:pointer;list-style:none;padding:15px 22px;font-size:.8rem;font-weight:850;color:#385366;display:flex;align-items:center;justify-content:space-between;gap:12px}
.estimate-scope summary::-webkit-details-marker{display:none}.estimate-scope summary:after{content:"+";font-size:1.1rem;color:var(--orange)}.estimate-scope[open] summary:after{content:"–"}
.scope-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 22px 20px}
.scope-detail-grid>div{border:1px solid #e0e7ec;border-radius:10px;padding:12px;background:#fff}
.scope-detail-grid b{display:block;font-size:.76rem;color:var(--navy);margin-bottom:5px}.scope-detail-grid p{margin:0;color:#697984;font-size:.75rem;line-height:1.45}
.data-freshness{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 22px;border-top:1px solid var(--line);background:#f5f8fa;color:#6c7f8c;font-size:.72rem}.data-freshness strong{color:#3d596b}.data-freshness a{color:var(--blue);font-weight:800}
.method-version-panel{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:26px 0 0}
.method-version-panel>div{border:1px solid #dce6ec;border-radius:11px;background:#fff;padding:16px 18px;box-shadow:0 8px 22px rgba(16,49,72,.035)}
.method-version-panel span{display:block;color:#788a96;font-size:.7rem;text-transform:uppercase;letter-spacing:.07em;font-weight:850}.method-version-panel strong{display:block;color:var(--navy);font-size:.98rem;margin-top:4px}.method-version-panel small{display:block;color:#75848f;font-size:.76rem;line-height:1.45;margin-top:4px}
.quick-estimator{position:relative}.quick-estimator:before{content:"Primary tool";position:absolute;right:18px;top:17px;padding:4px 7px;border-radius:999px;background:var(--orange-soft);color:#a94f0b;font-size:.62rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
@media(max-width:960px){.result-card{position:static}.calculator-shell{gap:22px}.method-version-panel{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.calculator-shell{width:min(100% - 24px,1120px);padding-top:10px}.calculator-shell .panel{padding:19px;border-radius:13px}.form-grid{grid-template-columns:1fr;gap:15px}.calc-field-intro{display:block}.calc-field-intro strong{display:block;margin-bottom:3px}.result-card{border-radius:14px}.result-primary{padding:23px 20px 20px}.result-breakdown .result-mini{padding:14px 8px}.formula-summary,.driver-summary,.assumptions{padding-left:18px;padding-right:18px}.scope-detail-grid{grid-template-columns:1fr;padding-left:18px;padding-right:18px}.result-actions{grid-template-columns:1fr}.result-actions a+a{border-left:0;border-top:1px solid var(--line)}.data-freshness{align-items:flex-start;flex-direction:column;gap:3px;padding-left:18px;padding-right:18px}.method-version-panel{grid-template-columns:1fr}.quick-estimator:before{position:static;display:inline-flex;margin-bottom:8px}.estimator-hero{padding-top:34px}}
