@charset "UTF-8";
.risk-photo{display:block;width:100%;padding:0;border:0;background:#eee;margin-bottom:22px;cursor:zoom-in}.risk-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
:root{color-scheme:only light;background:#fff;--ink:#262626;--muted:#505050;--paper:#fff;--shade:#f2f2f0;--line:#d1d1ce;--strong:#303030;--error:#9b2222;scroll-behavior:smooth;scroll-padding-top:120px;color:var(--ink);font:16px/1.6 Arial,Helvetica,sans-serif}*{box-sizing:border-box}body{margin:0;background:#fff;color:#262626}button,input,select{font:inherit}button,a,input,summary,select{touch-action:manipulation}button,a{color:inherit}a{text-underline-offset:5px}button{cursor:pointer}button:disabled{cursor:wait;opacity:1}[hidden]{display:none!important}:focus-visible{outline:3px solid #4e6984;outline-offset:4px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(1.9rem,3.3vw,3.05rem);line-height:1.12;letter-spacing:-.045em;margin-bottom:24px}h2{font-size:clamp(1.85rem,3.6vw,2.9rem);line-height:1.14;letter-spacing:-.04em;margin-bottom:22px}h3{font-size:1.35rem;line-height:1.3;letter-spacing:-.02em}p{margin-bottom:18px}a:hover{color:#000}button:hover,a.button:hover{filter:brightness(.9)}.wrap{width:min(1200px,calc(100% - 48px));margin:auto}.eyebrow{display:block;font-size:.75rem;letter-spacing:.12em;color:var(--muted);font-weight:700;margin-bottom:20px}.reviewbar{background:#252525;color:white;min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:7px 24px;font-size:.75rem;letter-spacing:.03em}.reviewbar button{color:white;border:0;background:none;text-decoration:underline;font-size:.8rem;padding:4px}.skip{position:absolute;top:-100px;z-index:100;background:white;padding:12px}.skip:focus{top:40px}header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.98);border-bottom:1px solid var(--line)}.header{display:flex;align-items:center;gap:28px;min-height:86px}.brand{font-size:1.35rem;font-weight:750;letter-spacing:.1em;text-decoration:none;white-space:nowrap}.brand small{display:block;font-size:.58rem;letter-spacing:.15em;margin-top:3px;font-weight:400}.header nav{display:flex;gap:23px;margin-left:auto}.header nav a{font-size:.9rem;text-decoration:none}.phone{font-size:.9rem;font-weight:700;white-space:nowrap;text-decoration:none}.header-tz{font-size:.85rem;white-space:nowrap}#menu-toggle{display:none}.mobile-tz{display:none}.hero{padding-top:48px;padding-bottom:48px;display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:center}.hero-service{font-size:1.3rem;margin-bottom:4px}.hero-price{font-size:clamp(2.7rem,5vw,4.1rem);font-weight:700;letter-spacing:-.06em;line-height:1.15;margin-bottom:18px}.hero-price span{font-size:.52em;letter-spacing:-.02em}.lead{font-size:1.12rem;line-height:1.6;max-width:620px}.hero-facts{display:flex;gap:32px;border-top:1px solid var(--line);margin-top:28px;padding-top:18px}.hero-facts p{margin:0}.hero-facts strong,.hero-facts span{display:block}.hero-facts span{color:var(--muted);font-size:.85rem}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px}.button{border:1px solid var(--strong);background:var(--strong);color:white;display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:12px 24px;text-decoration:none;font-weight:600;font-size:1rem;line-height:1.4;text-align:center;border-radius:2px}.button:hover{color:white}.button.outline{background:transparent;color:var(--ink)}.text-link{font-weight:600;text-decoration:underline}.placeholder{background:repeating-linear-gradient(135deg,transparent,transparent 35px,#e3e3e0 35px,#e3e3e0 36px),#eeeeeB;border:1px solid var(--line);position:relative;display:flex;align-items:center;justify-content:center;text-align:center;padding:32px}.placeholder>div{background:#eeeeeB;padding:22px}.placeholder strong,.placeholder small{display:block}.placeholder strong{font-weight:500}.placeholder small{color:var(--muted);font-size:.85rem;margin-top:5px}.placeholder-cross{font-size:3rem;line-height:1;color:#595959;display:block;margin-bottom:14px}.asset-tag{position:absolute;top:16px;left:16px;font-size:.7rem;letter-spacing:.1em;background:#eeeeeB;padding:2px 6px;color:#505050}.hero-media{height:470px}.compact{padding:40px 0;border-top:1px solid var(--line)}.section-heading{margin-bottom:36px}.section-heading>p{max-width:690px;font-size:1.1rem}.compact .section-heading{display:flex;gap:38px;align-items:center;margin-bottom:22px}.compact .section-heading .eyebrow{margin:0}.compact h2{font-size:1.6rem;margin:0}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line)}.service{display:block;text-align:left;border:0;border-right:1px solid var(--line);background:white;text-decoration:none;padding:24px 20px}.service:last-child{border:0}.service strong{display:flex;justify-content:space-between;gap:10px;font-size:1rem}.service p{font-size:.85rem;color:var(--muted);margin:9px 0 0}.service.active{background:var(--shade)}.b2b{display:flex;gap:24px;justify-content:space-between;font-size:.9rem;padding-top:22px}.b2b a{white-space:nowrap}section.shade{background:var(--shade)}section:not(.hero):not(.compact){padding-top:80px;padding-bottom:80px}.included{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;border-top:1px solid #bcbcb8;border-bottom:1px solid #bcbcb8;padding:18px 0;margin-bottom:32px;font-size:.95rem}.included span:before{content:'+';margin-right:10px;color:#595959}.programs{display:grid;grid-template-columns:1fr 1fr;gap:24px}.programs article{background:white;border:1px solid var(--line);padding:32px;display:flex;flex-direction:column}.programs h3{font-size:1.8rem}.programs article>p{max-width:450px;min-height:78px}.programs dl{margin:10px 0 24px}.programs dl div{display:flex;justify-content:space-between;gap:18px;border-top:1px solid var(--line);padding:12px 0}.programs dd{font-weight:700;margin:0}.price-bottom{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:30px}.price-bottom p{font-size:.95rem}.price-bottom aside{border-left:2px solid #777;padding-left:24px}.price-bottom aside p{margin:8px 0 0}.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.report-media{min-height:380px}.editorial-list{padding:0;margin:0 0 26px;list-style:none}.editorial-list li{display:flex;gap:24px;padding:22px 0;border-bottom:1px solid var(--line)}.editorial-list li:first-child{padding-top:0}.editorial-list li>span{font-size:.85rem;color:#595959;padding-top:3px}.editorial-list h3{margin-bottom:8px}.editorial-list p{margin:0;color:var(--muted)}.recommendation{display:grid;grid-template-columns:1fr 1fr;gap:64px;margin-top:38px;padding-top:28px;border-top:1px solid var(--line)}.recommendation h3,.recommendation p{margin:0}.risk-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}.risk-media{height:260px;margin-bottom:22px}.risk-grid p{max-width:450px}.risk-cost{border-top:1px solid #bcbcb8;padding-top:22px;margin-top:12px;display:flex;gap:36px}.risk-cost p{margin:0}.caption,.small{font-size:.85rem;color:var(--muted)}.caption{margin-top:18px;margin-bottom:0}.trust-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.evidence{border:1px solid var(--line);padding:26px;background:white;text-align:left}.evidence .slot{display:flex;align-items:center;min-height:110px;background:var(--shade);padding:20px;color:#595959;font-size:.9rem;margin-bottom:20px}.evidence .eyebrow{margin-bottom:12px}.steps{border-top:1px solid var(--line)}.step-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;list-style:none;padding:0;margin:0}.step-grid li{border-top:1px solid var(--line);padding-top:22px}.step-grid li>span{font-size:2rem;color:#595959}.step-grid h3{margin:12px 0}.step-grid p{font-size:.95rem;margin:0}.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.faqs details{border-bottom:1px solid var(--line)}.faqs details:first-child{border-top:1px solid var(--line)}summary{cursor:pointer;list-style:none;font-weight:600;padding:22px 30px 22px 0;position:relative}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:0;top:20px;font-weight:400;font-size:1.3rem}details[open]>summary:after{content:'−'}.faqs details p{color:var(--muted);padding-right:22px;margin-bottom:24px}.request{display:grid;grid-template-columns:1fr 1fr;gap:80px}.request h2{margin-top:20px}.request .lead{max-width:450px}.contact-aside{margin-top:32px;display:grid;gap:8px}.contact-aside a:first-child{font-size:1.35rem;font-weight:700;text-decoration:none}.demo-note{font-size:.8rem;color:var(--muted);border-left:2px solid #999;padding-left:12px;margin-bottom:26px}.field{margin-bottom:20px}.field label{display:block;font-size:.9rem;font-weight:600;margin-bottom:8px}input:not([type=checkbox]):not([type=radio]),select{width:100%;min-height:50px;border:1px solid #aaa;background:white;color:var(--ink);padding:12px;border-radius:2px}input[type=file]{font-size:.85rem!important}input[aria-invalid=true]{border-color:var(--error)!important}.error{font-size:.85rem;color:var(--error);margin:6px 0 0}.error:empty{display:none}.contact-modes{border:0;margin:0 0 20px;padding:0}.contact-modes legend{font-size:.9rem;font-weight:600;margin-bottom:8px}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:4px;background:var(--shade);padding:4px}.segmented label{position:relative;cursor:pointer}.segmented input{position:absolute;opacity:0}.segmented span{display:block;text-align:center;padding:10px;border:1px solid transparent;min-height:48px}.segmented input:checked+span{background:white;border-color:#595959;font-weight:700}.segmented input:focus-visible+span{outline:3px solid #4e6984}.attachment{border-top:1px solid var(--line);margin:26px 0}.attachment summary{font-size:.9rem}.attachment summary span{font-weight:400;font-size:.8rem;color:var(--muted);margin-left:5px}.consent{display:flex;gap:12px;align-items:flex-start;font-size:.85rem}.consent input{width:20px;height:20px;flex-shrink:0;margin:1px 0;accent-color:#333}.inline-link{border:0;background:transparent;padding:0;text-align:left;text-decoration:underline;text-underline-offset:3px}.submit{width:100%;margin-top:22px}.form-area form>.small{margin-top:12px}.context{border:1px solid var(--line);padding:12px 16px;margin:24px 0;display:flex;gap:16px;align-items:center;font-size:.9rem}.context button{background:none;border:0;text-decoration:underline;margin-left:auto}.success-preview{background:var(--shade);padding:20px;margin:24px 0}#success h3{font-size:2rem;margin:10px 0 18px}#file-list{list-style:none;padding:0;margin:12px 0}#file-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:10px 0;font-size:.8rem}#file-list li span{overflow-wrap:anywhere}#file-list button{border:0;background:none;text-decoration:underline;padding:8px}.footer-grid{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:40px}footer{background:#292929;color:white;padding:48px 0;font-size:.9rem}.footer-grid>div:last-child{display:grid;gap:8px;align-content:start}footer a:hover{color:#ddd}footer p{margin-top:8px;color:#ccc}dialog{max-width:min(800px,calc(100% - 32px));max-height:88dvh;overflow:auto;border:1px solid #aaa;padding:32px;color:var(--ink);background:#fff}dialog::backdrop{background:#0007}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px}.dialog-head .eyebrow{margin:0}.dialog-head button{border:1px solid #aaa;background:white;padding:8px 12px}dialog h2{font-size:1.9rem}dialog h3{margin-top:28px}.review-actions{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0}.review-actions .button{font-size:.85rem}dialog li{margin-bottom:12px}body.menu-open{overflow:hidden}@media(max-width:1100px){.header{gap:20px}.header nav{display:none;position:fixed;top:86px;left:0;right:0;background:white;border-bottom:1px solid #999;padding:24px;flex-direction:column;max-height:calc(100dvh - 86px);overflow:auto}.header nav.open{display:flex}.header nav a{font-size:1.1rem;padding:10px}.mobile-tz{display:block}.header-tz{display:none}.phone{margin-left:auto}#menu-toggle{display:block;border:1px solid #999;background:white;padding:8px 12px;min-height:44px}.hero{gap:32px}.hero-media{height:400px}}@media(max-width:900px){.hero{grid-template-columns:1fr;gap:32px}.hero-media{height:230px}.hero-copy{max-width:700px}.hero h1{max-width:650px}.hero-facts{max-width:550px}.split,.faq-layout,.request{grid-template-columns:1fr;gap:32px}.recommendation{gap:32px}.service-grid{grid-template-columns:1fr 1fr}.service:nth-child(2){border-right:0}.service:nth-child(-n+2){border-bottom:1px solid var(--line)}.step-grid{grid-template-columns:1fr 1fr}.report-media{min-height:280px}.included{grid-template-columns:1fr 1fr;gap:14px}.request .lead{max-width:650px}.form-area{max-width:650px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid .brand{grid-column:1/-1}.faq-layout .section-heading{margin-bottom:0}}@media(max-width:600px){.wrap{width:calc(100% - 40px)}.reviewbar{padding:8px 14px;gap:10px}.bar-extra{display:none}.reviewbar button{font-size:.72rem}.header{min-height:72px;gap:12px}.brand{font-size:1.05rem}.brand small{font-size:.48rem}.phone{font-size:.75rem;max-width:110px;line-height:1.4}#menu-toggle{font-size:.8rem;padding:6px 8px;min-height:44px}.header nav{top:72px}.hero{padding-top:30px;padding-bottom:32px}.eyebrow{font-size:.7rem;margin-bottom:14px}.hero h1{font-size:1.8rem;line-height:1.15;margin-bottom:18px}.hero-service{font-size:1rem}.hero-price{font-size:2.9rem}.lead{font-size:1rem}.actions{gap:14px}.actions .button{width:100%}.actions .text-link{font-size:.9rem}.hero-facts{gap:24px;margin-top:22px}.hero-facts strong{font-size:.9rem}.hero-facts span{font-size:.8rem}.hero-media{height:180px}.placeholder{padding:20px}.placeholder>div{padding:15px}.compact .section-heading{display:block}.compact .section-heading .eyebrow{margin-bottom:12px}.compact{padding:28px 0}.service-grid{grid-template-columns:1fr}.service{border-right:0;border-bottom:1px solid var(--line)!important;padding:17px 18px}.service:last-child{border-bottom:0!important}.service strong{font-size:1rem}.service p{margin-top:5px}.b2b{flex-direction:column;gap:10px;font-size:.85rem}section:not(.hero):not(.compact){padding-top:48px;padding-bottom:48px}.section-heading{margin-bottom:26px}.section-heading>p{font-size:1rem}h2{font-size:1.9rem}h3{font-size:1.2rem}.included{font-size:.85rem;gap:12px}.included span:before{margin-right:6px}.programs,.price-bottom,.recommendation,.risk-grid,.trust-grid,.step-grid{grid-template-columns:1fr;gap:24px}.programs article{padding:22px}.programs h3{font-size:1.5rem}.programs article>p{min-height:0}.price-bottom aside{padding-left:18px}.report-media{min-height:240px}.editorial-list li{gap:18px}.recommendation{gap:10px}.risk-media{height:190px}.risk-cost{display:block;margin-top:4px}.risk-cost p{margin-top:10px}.evidence{padding:20px}.step-grid{gap:0}.step-grid li{display:grid;grid-template-columns:42px 1fr;column-gap:16px;padding:22px 0}.step-grid li>span{grid-row:1/3;font-size:1.5rem}.step-grid h3{margin:0 0 10px}.step-grid p{grid-column:2}.request h2 br{display:none}.footer-grid{grid-template-columns:1fr;gap:28px}dialog{padding:20px}.dialog-head{gap:12px}.dialog-head button{white-space:nowrap;font-size:.8rem}.review-actions{display:grid}.attachment summary span{display:block;margin:0}.placeholder-cross{font-size:2rem}.field input,.field select{font-size:1rem}}@media(prefers-reduced-motion:reduce){:root{color-scheme:only light;background:#fff;scroll-behavior:auto}}@media print{header{position:static}.reviewbar,.demo-note,dialog{display:none}section{break-inside:avoid}.wrap{width:100%}.placeholder{background:#eee}}

/* Explicit surface pairs prevent inherited or browser theme colors. */
main{background:#fff;color:#262626}
header,header nav,dialog,.service,.programs article,.evidence{color:#262626}
input::placeholder{color:#595959;opacity:1}
input,select{color-scheme:light;-webkit-text-fill-color:#262626}
input::file-selector-button{color:#262626;background:#eee;border:1px solid #777;padding:8px 12px;margin-right:12px}
.button:link,.button:visited,.button:hover,.button:active{color:#fff;background:#303030}
.button.outline:link,.button.outline:visited,.button.outline:hover,.button.outline:active{color:#262626;background:#fff}
.button:disabled{color:#fff;background:#505050;opacity:1}
.reviewbar,.reviewbar button{color:#fff;background:#252525}
footer,footer a,footer .inline-link{color:#fff;background:#292929}
footer p{color:#dedede}

/* Preserve word spacing around optional line breaks and reduce tight heading tracking. */
h1,h2{letter-spacing:-.02em}h3{letter-spacing:normal}.hero-price{letter-spacing:-.025em}.hero-price span{letter-spacing:normal}

.hero-photo{margin:0;min-width:0}.hero-photo img{display:block;width:100%;height:470px;object-fit:cover}.hero-photo figcaption,.gallery-caption{font-size:13px;color:#505050;margin:8px 0 0}.program-gallery{margin:0 0 24px}.photo-open{display:block;border:0;padding:0;background:#eee;width:100%;cursor:zoom-in}.photo-open img{display:block;width:100%;height:88px;object-fit:cover}.photo-open.cover img{height:260px}.photo-thumbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:8px}.gallery-caption{line-height:1.5}.photo-expanded{display:block;max-width:100%;max-height:65dvh;width:auto;height:auto;margin:auto}dialog:has(.photo-expanded){max-width:min(1200px,calc(100% - 24px))}@media(max-width:900px){.hero-photo img{height:300px}}@media(max-width:600px){.hero-photo img{height:230px}.photo-open.cover img{height:200px}.photo-open img{height:60px}}

.report-pages{display:grid;grid-template-columns:1fr 1fr;gap:16px}.report-page{padding:12px;border:1px solid #c5c5c5;background:#fff;color:#262626;text-align:left;cursor:zoom-in}.report-page img{width:100%;height:210px;object-fit:contain;display:block;background:#f4f4f4}.report-page span{display:block;font-size:14px;line-height:1.4;margin-top:10px}.report-page small{display:block;color:#505050;margin-top:4px}.report-file{margin-top:14px}.report-example{margin-top:40px;padding:32px;background:#f2f2f0}.report-example>h3{max-width:750px}.report-example li{margin-bottom:12px;max-width:900px}.report-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:20px 0;margin:20px 0 28px;border-block:1px solid #bcbcb8}.report-facts dt{font-size:14px;color:#505050}.report-facts dd{font-size:24px;font-weight:bold;margin:4px 0 0}.report-example .small{margin-bottom:0}@media(max-width:600px){.report-page img{height:160px}.report-pages{gap:10px}.report-page{padding:8px}.report-example{padding:22px}.report-facts{grid-template-columns:1fr;gap:16px}.report-facts dd{font-size:22px}.report-example ul{padding-left:20px}}
.hero-photo img{height:auto;aspect-ratio:16/9;object-fit:contain}

:root{--ink:#14283e;--muted:#4d6174;--shade:#f1f6fa;--line:#d6e2ec;--strong:#075bad;font-family:Arial,Helvetica,sans-serif;scroll-padding-top:110px}
body{color:var(--ink)}
.wrap{width:min(1320px,calc(100% - 64px))}
a:hover{color:#075bad}
h1,h2{letter-spacing:-.025em}h2{font-size:clamp(2rem,3.4vw,3rem)}
.eyebrow{color:#365d7f;font-size:.75rem;letter-spacing:.1em}
.header{min-height:88px;gap:24px}.brand{color:#075bad;letter-spacing:.06em}.brand small{color:#4d6174;font-size:.6rem;letter-spacing:.08em}
.header nav{gap:20px}.header nav a{font-size:.875rem}.header-tz{padding:10px 14px;border:1px solid var(--line);border-radius:6px;text-decoration:none}
.hero{grid-template-columns:.95fr 1.15fr;gap:48px;padding-top:58px;padding-bottom:60px}
.hero h1{font-size:clamp(2.1rem,3.3vw,3.05rem);line-height:1.08;margin-bottom:18px;max-width:550px}
.hero-service{font-size:1.0625rem;color:var(--muted);margin-bottom:24px;max-width:400px}
.hero-price{color:#075bad;font-size:clamp(2.8rem,4.4vw,4rem);margin-bottom:16px}.hero-price span{font-size:.43em;color:var(--ink)}
.hero .lead{font-size:1rem;line-height:1.65;max-width:510px;margin-bottom:24px}
.hero-photo{border-radius:14px;overflow:hidden;box-shadow:0 18px 48px #15365314}
.hero-photo img{width:100%;height:auto;aspect-ratio:16/9;object-fit:contain}
.hero .actions{gap:16px}.hero .text-link{font-size:.875rem}.hero-facts{gap:32px;margin-top:26px}.hero-facts strong{font-size:1rem}.hero-facts span{font-size:.875rem}
.button{background:#075bad;border-color:#075bad;border-radius:7px;min-height:54px;padding:14px 22px;box-shadow:0 5px 12px #075bad12}
.button:hover{background:#064b8d;color:#fff;filter:none}.button.outline{color:#075bad;background:white;box-shadow:none}
.text-link{color:#075bad;text-decoration-thickness:1px;text-underline-offset:5px}
.service-grid{border:0;gap:12px}.service{border:1px solid var(--line)!important;border-radius:8px;padding:22px;background:white;transition:border-color .15s,background .15s}
.service:hover{border-color:#075bad!important;background:#f1f6fa;filter:none}.service.active{background:#edf5fc;border-color:#91b7d9!important}.service p{font-size:.875rem}.b2b{font-size:.875rem}
section:not(.hero):not(.compact){padding-top:88px;padding-bottom:88px}.section-heading>p{line-height:1.65}
.included{border-color:var(--line);font-size:1rem;gap:20px}.included span:before{color:#075bad;font-weight:700}
.programs article{border-radius:12px;padding:28px;box-shadow:0 8px 28px #14283e05}.programs h3{font-size:1.85rem;margin-bottom:14px}.programs article>p{min-height:64px}.programs .text-link{margin-top:auto}
.program-gallery{border-radius:7px;overflow:hidden}.photo-thumbs{gap:6px;margin-top:6px}.photo-open.cover img{height:auto;aspect-ratio:16/10}.photo-open img{height:80px}.photo-open:focus-visible{outline-offset:-4px}
.programs dd{color:#075bad}.price-bottom aside{border-color:#075bad}.price-bottom p{font-size:1rem}
.split{gap:48px}.report-pages .photo-open{border:1px solid var(--line);border-radius:6px;overflow:hidden}.recommendation{background:#f1f6fa;border:1px solid var(--line);border-radius:10px;padding:28px;gap:36px}
.risk-grid{gap:28px}.risk-photo{border-radius:9px;overflow:hidden}.risk-photo img{aspect-ratio:16/10}.risk-grid p{max-width:560px}.risk-grid h3{font-size:1.5rem}.risk-cost{border-color:var(--line);padding-top:28px;margin-top:28px}.risk-cost strong{min-width:32%;font-size:1.125rem}.caption,.small{font-size:.875rem}
.evidence{border-radius:10px;padding:28px}.evidence h3{font-size:1.45rem}.evidence .text-link{display:inline-block;margin-top:8px}.evidence p{line-height:1.65}.trust-grid{gap:20px}
.steps{background:#f7fafc}.step-grid{gap:28px}.step-grid li{border-top:2px solid #b5cde0}.step-grid li>span{color:#075bad;font-size:2.3rem;font-weight:700}.step-grid p{font-size:1rem}
.faqs summary{font-size:1.0625rem;padding-top:24px;padding-bottom:24px}.faqs details[open] summary{color:#075bad}.faqs details p{font-size:1rem}
.request{gap:64px;align-items:start}.request h2{margin-top:0}.form-area{background:#fff;padding:32px;border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 40px #14283e07}.demo-note{border-color:#91b7d9;font-size:.875rem}
input:not([type=checkbox]):not([type=radio]),select{border-color:#9aafc0;border-radius:6px;min-height:52px;font-size:1rem}.segmented{border-radius:7px}.segmented span{border-radius:5px}.segmented input:checked+span{border-color:#075bad;color:#075bad}.consent input{accent-color:#075bad}.field label,.contact-modes legend,.consent,.attachment summary{font-size:.9375rem}
footer{background:#14283e;padding:52px 0}footer .brand{color:white}footer .brand small{color:#c3d4e3}footer a:hover{color:#fff}footer p{color:#c3d4e3}dialog{border-color:var(--line);border-radius:12px}dialog .dialog-head button{border-radius:5px;border-color:var(--line)}
:focus-visible{outline:3px solid #075bad;outline-offset:4px}
@media(max-width:1100px){.hero{gap:28px}.header{gap:18px}.header nav{top:88px}.header nav a{font-size:1rem}}
@media(max-width:900px){.hero{grid-template-columns:1fr;padding-top:40px;gap:30px}.hero-copy{max-width:680px}.hero h1{max-width:650px}.hero .lead{max-width:600px}.hero-photo{max-width:760px}.split,.recommendation,.request{grid-template-columns:1fr;gap:28px}.service-grid{grid-template-columns:1fr 1fr}.form-area{max-width:none}.hero-photo img{height:auto}}
@media(max-width:600px){.wrap{width:calc(100% - 40px)}.header{min-height:72px;gap:10px}.header nav{top:72px}.brand{font-size:1.02rem}.brand small{font-size:.49rem}.phone{font-size:.75rem}.hero{padding-top:28px;padding-bottom:36px;gap:26px}.hero h1{font-size:2.1rem;line-height:1.1;margin-bottom:14px}.hero .eyebrow{font-size:.6875rem;letter-spacing:.06em}.hero-service{font-size:1rem;margin-bottom:20px}.hero-price{font-size:3rem}.hero .lead{font-size:1rem}.hero .actions{gap:14px}.hero-facts{gap:24px;margin-top:24px}.hero-facts strong{font-size:.9375rem}.hero-facts span{font-size:.875rem}.hero-photo{border-radius:8px}.hero-photo img{height:auto}.service-grid{grid-template-columns:1fr}.service{padding:18px}.compact{padding:30px 0}.compact .section-heading{display:block}.compact .section-heading .eyebrow{margin-bottom:12px}.compact h2{font-size:1.6rem}section:not(.hero):not(.compact){padding-top:52px;padding-bottom:52px}h2{font-size:2rem}.section-heading>p{font-size:1rem}.included{font-size:.9375rem;gap:14px}.programs article{padding:20px}.programs article>p{min-height:0}.photo-open img{height:58px}.photo-open.cover img{height:auto}.price-bottom{gap:22px}.recommendation{padding:22px;gap:14px}.risk-grid{gap:32px}.risk-cost{display:block}.risk-cost p{margin-top:12px}.evidence{padding:22px}.step-grid{gap:0}.step-grid li{padding:22px 0}.step-grid li>span{font-size:1.7rem}.faqs summary{font-size:1rem}.request{gap:24px}.form-area{padding:22px 18px}.contact-aside{margin-top:24px}footer{padding:40px 0}.eyebrow{font-size:.75rem}}
@media(prefers-reduced-motion:reduce){.service{transition:none}}
.hero-help{font-size:.875rem;line-height:1.5;color:var(--muted);max-width:490px;margin:16px 0 0}
.program-intro{max-width:800px;margin:0 0 28px;font-size:1rem}.program-intro strong{display:block;color:var(--ink);margin-bottom:5px}
.decision-strip{display:flex;gap:32px;justify-content:space-between;align-items:center;margin-top:30px;background:white;padding:28px;border:1px solid var(--line);border-radius:10px}.decision-strip h3{margin-bottom:8px}.decision-strip p{max-width:630px;margin:0;color:var(--muted)}.decision-strip .button{flex-shrink:0}
.assurance-list,.request-benefits{padding-left:20px;margin:0}.assurance-list li,.request-benefits li{margin-bottom:14px}.assurance-list li::marker,.request-benefits li::marker{color:#075bad}.request-benefits{margin:24px 0}.request-benefits li{padding-left:5px}
.report-detail{border-top:1px solid var(--line);margin:20px 0}.report-detail summary{font-size:1.05rem}.report-detail ul{padding-left:22px}.report-detail li{margin-bottom:10px}
@media(max-width:600px){.decision-strip{display:block;padding:22px}.decision-strip .button{width:100%;margin-top:20px}.hero-help{font-size:.875rem}.report-detail summary{font-size:1rem}}
.included-icons{gap:20px;padding:24px 0}.included-item{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;min-width:0}.included-item img{display:block;width:128px;height:128px;object-fit:contain}.included-icons .included-item span:before{content:none}.included-item span{font-weight:600;line-height:1.4}
@media(max-width:600px){.included-icons{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px;padding:20px 0}.included-item{gap:8px}.included-item img{width:104px;height:104px}.included-item span{font-size:.9375rem}}
.team{margin-top:64px;padding-top:48px;border-top:1px solid var(--line)}.team-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px}.team-card{min-width:0}.team-card>img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:9px}.team-copy{padding-top:20px}.team-copy h3{font-size:1.125rem;line-height:1.35;margin:0 0 12px;min-height:3.05rem}.team-copy p{font-size:1rem;line-height:1.6;color:var(--muted);margin:0}.team-actions{margin-top:32px}
@media(min-width:601px) and (max-width:1000px){.team-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 20px}}
@media(max-width:600px){.team{margin-top:40px;padding-top:36px}.team-grid{grid-template-columns:1fr;gap:24px}.team-card{display:grid;grid-template-columns:112px minmax(0,1fr);gap:18px;border-bottom:1px solid var(--line);padding-bottom:24px;align-items:start}.team-card:last-child{border-bottom:0;padding-bottom:0}.team-card>img{aspect-ratio:4/5;border-radius:6px}.team-copy{padding-top:0}.team-copy h3{min-height:0;font-size:1.0625rem;margin-bottom:8px}.team-copy p{font-size:1rem;line-height:1.5}.team-actions{margin-top:26px}}

/* Direct business contacts and email handoff */
.form-note{color:#304a60;font-size:.9375rem;margin-bottom:24px}.contact-prompt{margin-top:30px}.messenger-links{display:flex;flex-wrap:wrap;gap:10px}.messenger-links .button{padding:12px 18px;font-size:.9375rem;min-height:48px}.telegram{background:#075bad;color:#fff}.email-fallback{margin:24px 0}.email-fallback textarea{width:100%;font:inherit;font-size:.9375rem;line-height:1.5;padding:12px;border:1px solid #9cabb9;border-radius:6px;resize:vertical;margin-bottom:12px;background:white;color:#132c41}.email-fallback .messenger-links{margin-top:18px}#reset-form{margin-top:20px}.contact-widget{position:fixed;right:24px;bottom:24px;z-index:25}.contact-widget summary{display:flex;gap:10px;align-items:center;padding:14px 20px;background:#064b8d;color:#fff;border-radius:30px;box-shadow:0 5px 22px #14314d30;font-weight:700;cursor:pointer;list-style:none;min-height:50px}.contact-widget summary::-webkit-details-marker{display:none}.contact-widget summary::after{display:none}.contact-popover{position:absolute;right:0;bottom:70px;width:320px;max-width:calc(100vw - 32px);padding:24px;background:#fff;border:1px solid #c7d6e3;border-radius:14px;box-shadow:0 12px 40px #122c4330;color:#132c41}.contact-popover strong{font-size:1.125rem}.contact-popover p{font-size:.9375rem;margin:8px 0 16px}.contact-popover .messenger-links{display:grid}.contact-popover>a{display:block;margin-top:18px;font-size:.9375rem}.widget-phone{font-weight:700}.contact-widget summary:focus-visible{outline:3px solid #e5ab34;outline-offset:3px}footer{padding-bottom:100px}@media(max-width:600px){.contact-widget{right:16px;bottom:calc(16px + env(safe-area-inset-bottom))}.contact-widget summary{padding:13px 16px;font-size:.875rem}.contact-popover{padding:20px}.contact-aside .messenger-links{display:grid}.form-area .submit{white-space:normal}}

/* Unified first screen: quiet text surface, full-height illustration. */
.hero.hero-unified{display:block;width:min(1480px,100%);margin:0 auto;padding:0;background:#f2f6f9;isolation:isolate;overflow:hidden;color:#14283e}
.hero-unified .hero-stage{position:relative;min-height:610px;display:flex;align-items:center}
.hero-unified .hero-copy{position:relative;z-index:2;width:45%;max-width:650px;padding:48px 0 48px max(32px,calc((100vw - 1320px)/2));box-sizing:border-box}
.hero-unified .eyebrow{font-size:11px;letter-spacing:.13em;color:#42617c;margin-bottom:25px}
.hero-unified h1{font-size:clamp(36px,3.5vw,52px);line-height:1.08;letter-spacing:-.035em;margin:0 0 20px;color:#132b42;max-width:490px}
.hero-unified .hero-service{font-size:17px;line-height:1.6;color:#405a70;max-width:375px;margin:0 0 29px;padding-right:12px}
.hero-unified .hero-price{font-size:clamp(44px,4vw,60px);line-height:1.08;letter-spacing:-.035em;margin:0 0 12px;color:#075bad;white-space:nowrap}
.hero-unified .hero-price span{font-size:21px;font-weight:600;color:#17324c;letter-spacing:-.02em}
.hero-unified .hero-scope{font-size:15px;line-height:1.65;color:#304e68;margin:0 0 26px}
.hero-unified .actions{display:flex;flex-direction:column;align-items:flex-start;gap:17px;margin:0}
.hero-unified .actions .button{background:#075bad;color:white;border:1px solid #075bad;border-radius:6px;font-size:15px;padding:16px 20px;min-height:54px;box-shadow:none;display:inline-flex;align-items:center;gap:14px}
.hero-unified .actions .button:hover{background:#064682;border-color:#064682}
.hero-unified .actions .text-link{font-size:14px;color:#315a7c;text-decoration-color:#90aabd}
.hero-unified .hero-photo{position:absolute;inset:0 0 0 auto;width:72%;max-width:none;margin:0;border-radius:0;box-shadow:none;overflow:hidden;z-index:0}
.hero-unified .hero-photo img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:70% center;filter:saturate(.76) brightness(.99)}
.hero-unified .hero-stage:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,#f2f6f9 0%,#f2f6f9 30%,rgba(242,246,249,.98) 35%,rgba(242,246,249,.92) 40%,rgba(242,246,249,.55) 46%,rgba(242,246,249,0) 58%)}
.hero-unified .hero-facts{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:0;padding:25px max(32px,calc((100vw - 1320px)/2));border-top:1px solid #d9e3eb;background:#f2f6f9}
.hero-unified .hero-facts p{margin:0;padding-right:20px}.hero-unified .hero-facts p+p{border-left:1px solid #cfdae3;padding-left:28px}
.hero-unified .hero-facts strong{font-size:15px;color:#18344d;margin-bottom:5px}.hero-unified .hero-facts span{font-size:13px;color:#4a6275;line-height:1.5}
@media(min-width:1481px){.hero-unified .hero-copy{padding-left:80px}.hero-unified .hero-facts{padding-left:80px;padding-right:80px}}
@media(min-width:901px) and (max-width:1100px){.hero-unified .hero-copy{width:48%;padding-left:32px}.hero-unified .hero-stage{min-height:600px}.hero-unified h1{font-size:38px}.hero-unified .hero-service{max-width:330px}.hero-unified .actions .button{font-size:14px;padding:15px}.hero-unified .hero-stage:after{background:linear-gradient(90deg,#f2f6f9 0%,#f2f6f9 34%,rgba(242,246,249,.94) 43%,rgba(242,246,249,0) 62%)}}
@media(max-width:900px){.hero-unified .hero-stage{display:flex;flex-direction:column;min-height:0;align-items:stretch}.hero-unified .hero-copy{width:100%;max-width:none;padding:36px 32px 24px}.hero-unified h1{font-size:44px;max-width:600px}.hero-unified h1 br:last-of-type{display:none}.hero-unified h1 br:last-of-type:after{content:" "}.hero-unified .hero-service{max-width:470px}.hero-unified .hero-photo{position:relative;inset:auto;width:100%;max-width:none}.hero-unified .hero-photo img{height:auto;aspect-ratio:16/9;object-fit:contain;filter:saturate(.76)}.hero-unified .hero-stage:after{display:none}.hero-unified .hero-photo:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#f2f6f9 0%,rgba(242,246,249,0) 5%,rgba(242,246,249,0) 94%,#f2f6f9 100%)}.hero-unified .hero-facts{gap:16px;padding:22px 32px}.hero-unified .hero-facts p+p{padding-left:16px}.hero-unified .hero-facts p{padding-right:0}}
@media(max-width:600px){.hero-unified .hero-copy{padding:30px 20px 24px}.hero-unified .eyebrow{font-size:10px;letter-spacing:.09em;margin-bottom:20px}.hero-unified h1{font-size:clamp(32px,8.8vw,42px);line-height:1.1;margin-bottom:16px}.hero-unified .hero-service{font-size:16px;margin-bottom:24px;padding:0}.hero-unified .hero-price{font-size:46px}.hero-unified .hero-price span{font-size:19px}.hero-unified .hero-scope{font-size:14px;margin-bottom:24px}.hero-unified .actions{gap:17px}.hero-unified .actions .button{width:100%;justify-content:space-between;font-size:14px;padding:16px;gap:8px}.hero-unified .hero-facts{grid-template-columns:1fr;gap:14px;padding:22px 20px 28px}.hero-unified .hero-facts p{display:grid;grid-template-columns:140px 1fr;gap:12px;align-items:baseline}.hero-unified .hero-facts p+p{border-left:0;border-top:1px solid #d9e3eb;padding:14px 0 0}.hero-unified .hero-facts strong{font-size:14px;margin:0}.hero-unified .hero-facts span{font-size:12px}}

/* Illustrated conditions directly below the hero. */
.hero-unified .hero-facts.fact-cards{gap:18px;border-top:0;padding-top:24px;padding-bottom:32px}
.fact-cards .fact-card{display:flex;align-items:center;gap:12px;min-width:0;padding:22px 18px 22px 12px;background:#fff;border:1px solid #d6e3ed;border-radius:12px;box-shadow:0 3px 12px rgba(25,57,86,.035)}
.fact-cards .fact-card>img{display:block;flex:0 0 84px;width:84px;height:84px;object-fit:contain}
.fact-cards .fact-copy{min-width:0}
.hero-unified .fact-cards .fact-copy strong{display:block;font-size:19px;line-height:1.3;font-weight:700;letter-spacing:-.02em;color:#17344e;margin:0 0 8px}
.hero-unified .fact-cards .fact-copy span{display:block;font-size:14px;line-height:1.5;color:#476077}
@media(min-width:601px) and (max-width:1100px){.fact-cards .fact-card{flex-direction:column;align-items:flex-start;padding:16px 18px 22px;gap:6px}.fact-cards .fact-card>img{margin-left:-8px}.hero-unified .fact-cards .fact-copy strong{font-size:18px}}
@media(max-width:600px){.hero-unified .hero-facts.fact-cards{gap:12px;padding:18px 20px 28px}.fact-cards .fact-card{padding:16px 14px 16px 8px;gap:10px}.fact-cards .fact-card>img{flex-basis:76px;width:76px;height:76px}.hero-unified .fact-cards .fact-copy strong{font-size:18px;margin-bottom:6px}.hero-unified .fact-cards .fact-copy span{font-size:14px}}

/* Compact program galleries and local explanation of applicability. */
.program-more{border-top:1px solid var(--line);margin-top:8px}
.program-more summary{padding:12px 4px;min-height:48px;font-size:14px;font-weight:600;color:#075bad;cursor:pointer}
.program-more .photo-thumbs{margin:0 0 12px}
.program-qualification{display:block;font-size:14px;line-height:1.5;color:#476077;margin-top:10px}
.programs .program-gallery{margin-bottom:22px}
.evidence-report{border-color:#b7cfe2;background:#f4f8fc}
#report-example{scroll-margin-top:110px}
@media(max-width:600px){.program-more summary{font-size:14px}.program-qualification{font-size:14px}#report-example{scroll-margin-top:88px}}

.demo-controls{border:1px dashed #b7c8d7;border-radius:6px;padding:10px 14px;margin-bottom:22px}.demo-controls summary{font-size:14px;cursor:pointer;min-height:36px;padding:6px 0}.demo-controls label{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.5;margin:12px 0}.demo-controls input{width:18px;height:18px;flex-shrink:0;margin:2px 0 0}.demo-controls p{margin-bottom:6px}.form-area [aria-busy="true"]{cursor:progress}.form-area [aria-busy="true"] .submit{background:#476077}#send-status:empty,#send-error:empty{display:none}

.included-explanation{display:block;font-size:14px;line-height:1.5;font-weight:400;color:#476077;max-width:220px}.step-grid h3{font-size:1.2rem;line-height:1.35}.hero-unified .hero-service{max-width:405px}.risk-cost strong{max-width:390px}@media(max-width:600px){.included-explanation{font-size:14px}.step-grid h3{font-size:1.2rem}}
.service-cadastre{cursor:default}.service-cadastre:hover{transform:none}.service-links{display:grid;gap:4px;margin-top:12px}.service-links a{display:flex;align-items:center;min-height:44px;font-size:.875rem;font-weight:600;line-height:1.4}.optional-label{font-size:.875rem;font-weight:400;color:#40596e}

/* Framework acceptance: scalable text and narrow-screen resilience. */
.hero-unified .eyebrow{font-size:.75rem}
.hero-unified h1{font-size:clamp(2.25rem,3.5vw,3.25rem)}
.hero-unified .hero-service{font-size:1.0625rem}
.hero-unified .hero-price{font-size:clamp(2.75rem,4vw,3.75rem);white-space:normal}
.hero-unified .hero-price span{display:inline-block;font-size:1.3125rem}
.hero-unified .hero-scope{font-size:1rem}
.hero-unified .actions .button{font-size:1rem;max-width:100%;white-space:normal}
.hero-unified .actions .text-link{font-size:.875rem}
.hero-unified .fact-cards .fact-copy strong{font-size:1.1875rem}
.hero-unified .fact-cards .fact-copy span{font-size:.875rem}
.request>* , .split>* , .programs>* , .service-grid>*{min-width:0}
.request h2,.team-copy,.service-links a{overflow-wrap:break-word}
.contact-popover{max-height:calc(100dvh - 120px);overflow-y:auto;overscroll-behavior:contain}
@media(max-width:900px){.hero-unified h1{font-size:2.75rem}}
@media(max-width:600px){
 .hero-unified h1{font-size:clamp(2rem,8.8vw,2.625rem)}
 .hero-unified .hero-service,.hero-unified .hero-scope{font-size:1rem}
 .hero-unified .hero-price{font-size:2.875rem}
 .hero-unified .hero-price span{font-size:1.1875rem}
 .hero-unified .fact-cards .fact-copy strong{font-size:1.125rem}
 .hero-unified .actions .button{justify-content:center}
 .request h2 br{display:none}
}
@media(max-width:380px){.team-card{grid-template-columns:1fr}.team-card>img{max-width:160px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}}

/* Buyer context and evidence additions; existing visual system preserved. */
.offer-assurance{font-size:.875rem;line-height:1.5;color:#40596e;max-width:380px;margin:-12px 0 22px}
.buyer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.buyer-grid>article{min-width:0;padding:24px;background:#fff;border:1px solid #d6e3ed;border-radius:12px}.buyer-grid h3,.buyer-grid h4{font-size:1.1875rem;line-height:1.35;margin:0 0 12px}.buyer-grid p{font-size:1rem;line-height:1.6}.buyer-grid a{display:inline-flex;align-items:center;min-height:44px;font-size:.875rem;font-weight:600;color:#075bad}.buyer-grid .eyebrow{font-size:.75rem}.price-clarity{margin-top:28px}.report-check{margin:28px 0;padding:24px;background:#f2f6f9;border-radius:12px}.report-check>h3,.site-access h3{font-size:1.375rem;line-height:1.35}.site-access{padding:28px;margin-top:28px;border:1px solid #d6e3ed;border-radius:12px;background:#f2f6f9}.site-access li{margin:10px 0;font-size:1rem;line-height:1.6}#faq-builder{scroll-margin-top:110px}#your-stage{scroll-margin-top:110px}@media(max-width:850px){.buyer-grid{grid-template-columns:1fr}.buyer-grid>article{padding:20px}.report-check,.site-access{padding:20px}}

#calculator{scroll-margin-top:100px}.ec-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:28px;align-items:start}.ec-controls,.ec-result{border:1px solid #d6e3ed;border-radius:16px;padding:28px;background:#fff;min-width:0}.ec-controls{background:#f8fafc}.ec-field{display:block;margin-bottom:24px;font-size:1rem;font-weight:600;line-height:1.5}.ec-field select{display:block;width:100%;margin-top:10px;min-height:48px;background:white;border:1px solid #b8cddd;border-radius:8px;color:#183044;font:inherit;padding:10px 12px}.ec-label{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.ec-label>label{flex:1}.ec-label>span{white-space:nowrap;background:#eef4fa;border:1px solid #d6e3ed;border-radius:8px;padding:6px 10px}.ec-label input{width:64px;border:0;background:transparent;color:#17344e;font:inherit;text-align:right;padding:3px 0}.ec-field input[type=range]{display:block;width:100%;height:32px;margin:0;appearance:none;background:transparent;cursor:pointer;accent-color:#075bad}.ec-field input[type=range]::-webkit-slider-runnable-track{height:6px;border-radius:8px;background:linear-gradient(to right,#075bad var(--fill,0%),#dce4ec var(--fill,0%))}.ec-field input[type=range]::-webkit-slider-thumb{appearance:none;width:26px;height:26px;background:#fff;border:2px solid #075bad;border-radius:50%;margin-top:-10px;box-shadow:0 2px 8px #18304422}.ec-field input[type=range]::-moz-range-track{height:6px;background:#dce4ec}.ec-field input[type=range]::-moz-range-progress{height:6px;background:#075bad}.ec-field input[type=range]::-moz-range-thumb{width:24px;height:24px;border:2px solid #075bad;border-radius:50%;background:#fff}.ec-check{display:flex;align-items:flex-start;gap:12px;padding:16px;margin:14px 0;background:#eef4fa;border:1px solid #d6e3ed;border-radius:10px;cursor:pointer;font-size:1rem;line-height:1.5}.ec-check input{flex:0 0 22px;width:22px;height:22px;margin:2px 0 0;accent-color:#075bad}.ec-result{position:sticky;top:110px;background:#f2f6f9}.ec-price{display:block;font-weight:700;font-size:clamp(1.8rem,3vw,2.8rem);color:#075bad;line-height:1.2;margin:16px 0;overflow-wrap:anywhere}.ec-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:24px 0}.ec-metrics>div{padding:12px 8px;background:white;border-radius:8px}.ec-metrics dt{font-size:.875rem;line-height:1.4;color:#40596e}.ec-metrics dd{font-size:1.125rem;font-weight:700;margin:8px 0 0}.ec-result h3{font-size:1.125rem}.ec-result li{margin:8px 0;font-size:1rem}.ec-note{font-size:.875rem;line-height:1.6;color:#40596e}.ec-result .button{display:flex;justify-content:center;text-align:center;width:100%;margin-top:20px}#ec-reset{cursor:pointer;background:none;border:0;font:inherit;min-height:44px;padding:8px 0;color:#075bad}#calculator [hidden]{display:none!important}#calculator :focus-visible{outline:3px solid #075bad;outline-offset:3px}#calculator input[aria-invalid=true]{outline:2px solid #ae302b}@media(max-width:900px){.ec-layout{grid-template-columns:1fr}.ec-result{position:static}}@media(max-width:600px){.ec-controls,.ec-result{padding:20px}.ec-label{gap:10px;flex-wrap:wrap}.ec-label>label{flex-basis:65%}.ec-label input{width:54px}.ec-metrics{gap:6px}.ec-metrics dt{font-size:.8125rem}.ec-check{padding:14px}.ec-field select{font-size:1rem}.ec-field{margin-bottom:20px}}
/* Compact calculator layout; isolate controls from global form rules. */
#calculator .ec-layout{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:20px}
#calculator .ec-controls,#calculator .ec-result{padding:20px}
#calculator .ec-field{min-width:0;margin:0 0 16px;font-size:1rem;line-height:1.4}
#calculator .ec-field select{min-width:0;max-width:100%;min-height:44px;margin-top:6px;padding:8px 32px 8px 10px;font-weight:400}
#calculator .ec-label{display:flex;flex-wrap:nowrap;gap:10px;margin-bottom:4px;min-height:44px}
#calculator .ec-label>label{flex:1 1 auto;min-width:0;overflow-wrap:break-word}
#calculator .ec-label>span{display:inline-flex;align-items:center;justify-content:flex-end;flex:0 0 auto;gap:4px;max-width:100%;min-height:44px;padding:0 8px;white-space:nowrap;font-weight:600}
#calculator .ec-label input[type=number]{display:block;flex:0 1 4ch;width:4ch;min-width:4ch;max-width:4ch;min-height:42px;height:42px;margin:0;padding:0;border:0;border-radius:0;background:transparent;text-align:right;font:inherit;appearance:textfield;-moz-appearance:textfield}
#calculator .ec-label input[type=number]::-webkit-inner-spin-button,#calculator .ec-label input[type=number]::-webkit-outer-spin-button{appearance:none;margin:0}
#calculator .ec-field input[type=range]{min-width:0;min-height:32px;height:32px;margin:0;padding:0;border:0;border-radius:0;background:transparent}
#calculator #ec-building,#calculator #ec-foundation{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px;align-items:start}
#calculator #ec-building>[data-control=storeys]{grid-column:1/-1}
#calculator #ec-foundation>label.ec-field{align-self:end}
#calculator #ec-foundation>.ec-check,#calculator #ec-piles,#calculator #ec-basement{grid-column:1/-1}
#calculator .ec-check{min-height:44px;padding:10px 12px;margin:0 0 8px;gap:10px;line-height:1.4;font-size:.9375rem;font-weight:400}
#calculator .ec-check input{min-width:20px;width:20px;height:20px;flex:0 0 20px;margin:1px 0 0}
#calculator .ec-check span{min-width:0}
#calculator #ec-reset{padding:6px 0;margin:0;min-height:44px;font-size:.9375rem}
#calculator .ec-result{top:100px}
#calculator .ec-result .eyebrow{margin-bottom:8px}
#calculator .ec-price{margin:8px 0 12px}
#calculator #ec-program{margin-bottom:12px}
#calculator .ec-metrics{margin:16px 0;gap:6px}
#calculator .ec-metrics>div{min-width:0;padding:10px 8px}
#calculator .ec-metrics dd{margin-top:4px;overflow-wrap:anywhere}
#calculator .ec-result h3{margin:16px 0 8px}
#calculator .ec-result ul{padding-left:20px;margin:0 0 14px}
#calculator .ec-result li{margin:4px 0}
#calculator .ec-note{margin-bottom:12px;line-height:1.5}
#calculator .ec-result .button{margin-top:14px;padding:12px}
#calculator .ec-result .button+.ec-note{margin-top:12px;margin-bottom:0}
@media(max-width:1000px){#calculator .ec-layout{grid-template-columns:1fr}#calculator .ec-result{position:static}}
@media(max-width:600px){#calculator .ec-layout{gap:14px}#calculator .ec-controls,#calculator .ec-result{padding:16px}#calculator #ec-building,#calculator #ec-foundation{grid-template-columns:1fr;gap:0}#calculator .ec-label>label{flex-basis:auto}#calculator .ec-field{margin-bottom:12px}#calculator .ec-metrics dt{font-size:.875rem}}

#calculator .ec-result{position:static}
#calculator .ec-plan{margin:0 0 18px;padding:0 0 14px;border-bottom:1px solid #d6e3ed}
#calculator .ec-plan figcaption{display:grid;gap:4px;font-size:1rem;line-height:1.4}
#calculator .ec-plan figcaption span{font-size:.875rem;color:#40596e}
#calculator .ec-plan svg{display:block;width:100%;height:auto;max-height:300px;margin:8px auto;font-family:Arial,sans-serif}
#calculator .ec-plan .ec-note{margin:0}
#calculator .ec-detail{border-top:1px solid #d6e3ed;padding:0}
#calculator .ec-detail summary{cursor:pointer;min-height:48px;padding:12px 0;font-weight:600;font-size:1rem;line-height:1.4}
#calculator .ec-detail p,#calculator .ec-detail li{font-size:.9375rem;line-height:1.5;margin-bottom:10px}
#calculator .ec-detail a{overflow-wrap:anywhere}
#calculator #ec-breakdown{margin:0 0 12px}
#calculator #ec-breakdown>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:9px 0;border-bottom:1px solid #d6e3ed;font-size:.875rem;line-height:1.4}
#calculator #ec-breakdown dd{margin:0;text-align:right;white-space:nowrap;font-weight:600}
#calculator #ec-breakdown>div:last-child{font-weight:700;font-size:1rem}

#calculator .ec-explanation{margin-top:20px;border:1px solid #d6e3ed;border-radius:16px;padding:8px 24px 24px;background:#f2f6f9;min-width:0}
#calculator .ec-accordions>.ec-detail:first-child{border-top:0}
#calculator .ec-accordions .ec-detail summary{padding:16px 0}
#calculator .ec-accordions .ec-detail>p,#calculator .ec-accordions .ec-detail>ul{max-width:100%;margin-bottom:14px}
#calculator .ec-followup{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:32px;border-top:1px solid #d6e3ed;padding-top:20px;margin-top:8px;align-items:center}
#calculator .ec-followup h3{font-size:1.125rem;margin:0 0 10px}
#calculator .ec-followup ul{margin:0 0 14px;padding-left:20px;font-size:1rem;line-height:1.5}
#calculator .ec-followup .ec-note{margin:0}
#calculator .ec-followup-action .button{width:100%;margin:0 0 12px}
#calculator #ec-reasons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px}
@media(max-width:600px){#calculator .ec-explanation{padding:4px 16px 16px;margin-top:14px}#calculator .ec-followup,#calculator #ec-reasons{grid-template-columns:1fr;gap:16px}#calculator #ec-reasons{gap:0}}

#calculator .ec-layout{align-items:stretch}
#calculator .ec-controls,#calculator .ec-result{height:100%}
@media(max-width:1000px){#calculator .ec-controls,#calculator .ec-result{height:auto}}

#calculator .ec-modes{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 20px;padding:0;border:0;min-width:0}
#calculator .ec-modes legend{font-weight:600;margin-bottom:10px;font-size:1rem}
#calculator .ec-modes label{flex:1 1 210px;display:flex;align-items:center;gap:10px;min-height:50px;border:1px solid #b8cddd;border-radius:9px;background:#fff;padding:12px 14px;font-size:1rem;cursor:pointer;line-height:1.4}
#calculator .ec-modes label:has(input:checked){background:#edf5fc;border-color:#075bad;box-shadow:inset 0 0 0 1px #075bad}
#calculator .ec-modes input{width:18px;height:18px;min-height:18px;min-width:18px;flex:0 0 18px;margin:0;padding:0;accent-color:#075bad}
#calculator .ec-water{grid-column:1/-1}
#calculator .ec-extra-options{margin:8px 0 12px;border-top:1px solid #d6e2ec}
#calculator .ec-extra-options summary{font-size:.9375rem;line-height:1.5;padding:12px 0;cursor:pointer;min-height:44px}
#calculator .ec-price-context{font-size:.875rem;line-height:1.6;color:#40596e;border-left:3px solid #7aaacf;padding-left:12px;margin:16px 0}
#calculator .ec-depth-plan{display:flex;align-items:center;gap:24px;margin:0 0 16px;padding:12px;border-radius:10px;background:#fff}
#calculator .ec-depth-plan svg{width:340px;max-width:50%;height:auto;flex:0 1 340px;font-family:Arial,sans-serif}
#calculator .ec-depth-plan figcaption{flex:1;font-size:.875rem;line-height:1.5;color:#40596e}
@media(max-width:600px){#calculator .ec-depth-plan{display:block}#calculator .ec-depth-plan svg{max-width:100%;width:100%}#calculator .ec-depth-plan figcaption{padding:0 10px 10px}#calculator .ec-modes{gap:8px}#calculator .ec-modes label{flex-basis:100%}}

/* Project inputs share the compact calculator layout. */
#calculator #ec-water-control{grid-column:1/-1}
#calculator .ec-project-toggle{display:block;width:100%;text-align:left;min-height:48px;padding:12px 14px;border:1px solid #a4c3dd;border-radius:9px;background:#edf5fc;color:#075bad;font:inherit;font-weight:600;cursor:pointer;margin:12px 0}
#calculator .ec-project-toggle[aria-expanded=true]{background:#075bad;color:#fff}
#calculator #ec-project{border-top:1px solid #d6e3ed;padding-top:14px;margin-top:8px}
#calculator .ec-project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}
#calculator .ec-project-grid .ec-label{align-items:flex-start;min-height:64px}
#calculator .ec-project-grid .ec-label input[type=number]{min-width:5ch;max-width:5ch;width:5ch}
#calculator .ec-full{grid-column:1/-1}
#calculator .ec-status{display:inline-block;font-size:.875rem;font-weight:600;color:#075bad;margin:0 0 12px;padding:5px 9px;background:#e3eef7;border-radius:6px}
#calculator .ec-missing{padding-left:20px;margin:10px 0 16px;font-size:.9375rem;line-height:1.5}
#calculator .ec-missing li{margin:6px 0}
#calculator .ec-depth-groups{border-top:1px solid #d6e3ed;padding-top:10px}
#calculator .ec-depth-groups p{font-size:.9375rem;margin:6px 0}
#calculator #ec-extras-note:empty{display:none}
#calculator #ec-extras-note:not(:empty){margin:12px 0}
@media(max-width:600px){#calculator .ec-project-grid{grid-template-columns:1fr}#calculator .ec-project-grid .ec-label{min-height:48px}#calculator .ec-project-toggle{font-size:.9375rem}}

/* Plain-language project depths and visible editable values. */
#calculator #ec-foundation>label.ec-field{grid-column:1/-1}
#calculator #ec-project-building>#ec-foundation-depth,#calculator #ec-project-building>#ec-piles,#calculator #ec-project-building>#ec-basement,#calculator #ec-project-building>#ec-water-control{grid-column:1/-1}
#calculator #ec-foundation-depth .ec-label,#calculator [data-control=basementDepth] .ec-label{min-height:48px;align-items:center}
#calculator #ec-foundation-depth .ec-label>span,#calculator [data-control=basementDepth] .ec-label>span{background:#fff;border:2px solid #729ec3;border-radius:8px;box-shadow:0 1px 3px #17344e0d}
#calculator #ec-foundation-depth input[type=number],#calculator [data-control=basementDepth] input[type=number]{font-size:1.125rem;min-width:5ch;max-width:5ch;width:5ch;cursor:text}
#calculator .ec-input-help{font-size:.875rem;line-height:1.5;color:#40596e;margin:4px 0 8px;font-weight:400}
#calculator .ec-input-error{font-size:.875rem;line-height:1.5;color:#982a20;font-weight:400;margin:8px 0}
#calculator .ec-field-error{border-left:3px solid #b43b2d;padding-left:12px}
#calculator .ec-field-error .ec-label>span{border-color:#b43b2d!important}
#calculator .ec-corrections{display:flex;flex-wrap:wrap;gap:4px 16px}
#calculator .ec-corrections:empty{display:none}
#calculator .ec-corrections button{background:none;border:0;padding:8px 0;min-height:44px;color:#075bad;font:inherit;font-size:.9375rem;text-align:left;cursor:pointer;text-decoration:underline;text-underline-offset:3px}

/* Floor depth is the primary homeowner input; exact foundation depth is optional. */
#calculator #ec-basement{grid-column:1/-1;margin-top:4px}
#calculator .ec-depth-options{margin:4px 0 12px}
#calculator .ec-depth-options summary{color:#075bad;font-weight:600}
#calculator #ec-depth-options #ec-foundation-depth{margin:4px 0 12px}
#calculator #ec-foundation-depth input[type=number]{flex-basis:6ch;min-width:6ch;max-width:6ch;width:6ch}
#calculator #ec-foundation-depth input::placeholder{color:#5d7489;opacity:1;font-size:1rem}
#calculator #ec-floor-assumption:empty,#calculator #ec-foundation-auto:empty{display:none}

/* Compact calculator: shared core rows and price before the plan. */
#calculator>.section-heading{margin-bottom:20px}
#calculator .ec-layout{gap:16px}
#calculator .ec-controls,#calculator .ec-result{padding:16px}
#calculator .ec-field{margin-bottom:12px}
#calculator #ec-building{column-gap:16px}
#calculator #ec-building>[data-control=storeys]{grid-column:auto}
#calculator #ec-building>label.ec-field{align-self:start;padding-top:4px}
#calculator #ec-building>.ec-dimensions-caption{grid-column:1/-1;margin:0 0 4px}
#calculator #ec-building>label.ec-field select{margin-top:10px}
#calculator .ec-project-grid .ec-label{min-height:44px;align-items:center}
#calculator .ec-extra-options,#calculator .ec-depth-options{margin:4px 0 8px}
#calculator .ec-extra-options summary{padding:9px 0;min-height:44px;font-size:1rem}
#calculator .ec-project-toggle{min-height:44px;margin:8px 0;padding:10px 12px}
#calculator #ec-project{padding-top:10px;margin-top:4px}
#calculator .ec-status{margin:0 0 6px;padding:4px 8px}
#calculator .ec-result>.eyebrow{margin:0 0 4px}
#calculator .ec-price{margin:4px 0 6px;line-height:1.15}
#calculator #ec-program{margin:0 0 8px;font-size:1rem;line-height:1.4}
#calculator .ec-metrics{margin:8px 0;gap:6px}
#calculator .ec-metrics>div{padding:8px}
#calculator .ec-metrics dt{font-size:.875rem}
#calculator .ec-metrics dd{margin:3px 0 0}
#calculator .ec-rounding-note{margin:4px 0 10px}
#calculator .ec-plan{margin:10px 0 0;padding:12px 0 0;border-bottom:0;border-top:1px solid #d6e3ed}
#calculator .ec-plan figcaption{gap:2px}
#calculator .ec-plan svg{margin:4px auto 0;max-height:300px}
#calculator .ec-explanation{margin-top:14px;padding:4px 16px 16px}
#calculator .ec-accordions .ec-detail summary{padding:10px 0;min-height:44px}
#calculator .ec-followup{gap:20px;padding-top:14px;margin-top:4px}
#calculator .ec-followup h3{margin:0 0 6px}
#calculator .ec-followup ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 20px;margin:0 0 10px;padding-left:18px;line-height:1.4}
#calculator .ec-followup li{margin:0}
#calculator .ec-followup-action .button{margin-bottom:8px}
#calculator #ec-reasons{gap:0 20px}
@media(max-width:600px){
 #calculator>.section-heading{margin-bottom:16px}
 #calculator .ec-layout{gap:12px}
 #calculator #ec-building{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:12px}
 #calculator #ec-building>.ec-field:not(.ec-dimension){grid-column:1/-1}
 #calculator .ec-dimension .ec-label{flex-wrap:wrap;gap:4px}
 #calculator .ec-dimension .ec-label>label{flex:1 0 100%}
 #calculator .ec-dimension .ec-label>span{margin-left:auto}
 #calculator #ec-building>label.ec-field{padding-top:0}
 #calculator #ec-building>label.ec-field select{margin-top:6px}
 #calculator .ec-check,#calculator #ec-reset,#calculator .ec-project-toggle{font-size:1rem}
 #calculator .ec-followup{gap:12px}
 #calculator .ec-followup ul{grid-template-columns:1fr;gap:4px}
 #calculator .ec-plan svg{max-height:300px}
}
@media(max-width:360px){#calculator .ec-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}#calculator .ec-metrics>div:last-child{grid-column:1/-1}}

/* Extensions to the approved wireframe, sharing its palette and typography. */
.bundle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.bundle-card{display:flex;flex-direction:column;min-width:0;padding:28px;border:1px solid #c7dbea;border-radius:14px;background:#fff;scroll-margin-top:115px}
.bundle-top .eyebrow{margin-bottom:12px}.bundle-top h3{font-size:1.75rem;line-height:1.2;margin-bottom:16px}.bundle-top>p{color:#40596e}
.bundle-core{border-top:1px solid #d6e2ec;padding-top:20px}.bundle-card h4{font-size:1rem;line-height:1.5;margin:0 0 10px}.bundle-card ul{padding-left:20px;margin:0 0 20px}.bundle-card li{margin:0 0 12px;font-size:1rem;line-height:1.6}
.bundle-result{border-left:3px solid #075bad;padding:16px 18px;margin:0 0 22px;background:#f1f6fa}.bundle-result>span{display:block;font-size:.875rem;color:#365d7f;margin-bottom:8px}.bundle-result p{margin:0;line-height:1.6}
.bundle-options{border:0;padding:0;margin:0 0 16px;min-width:0}.bundle-options legend{font-size:1rem;font-weight:700;padding:0 0 10px}.bundle-options label{display:flex;align-items:flex-start;gap:10px;line-height:1.5;font-size:1rem;font-weight:400;cursor:pointer;padding:10px 0;min-height:44px}.bundle-options input[type=checkbox]{flex:0 0 20px;width:20px;min-width:20px;height:20px;min-height:20px;accent-color:#075bad;margin:3px 0 0;padding:0}.bundle-options span{min-width:0}
.bundle-note summary,.standalone-services>summary,.report-verification>summary{cursor:pointer;font-size:1rem;font-weight:600;line-height:1.5;padding:14px 0;min-height:48px}.bundle-note p{font-size:.875rem;line-height:1.6;color:#40596e}.bundle-bottom{margin-top:auto;padding-top:24px}.bundle-bottom strong,.bundle-bottom span{display:block}.bundle-bottom span{font-size:.875rem;color:#40596e;margin-top:6px}.bundle-bottom .button{width:100%;white-space:normal}
.bundle-assurance{background:#f1f6fa;border-radius:10px;padding:20px 24px;margin:24px 0}.bundle-assurance p:last-child{font-size:.875rem;color:#40596e;margin:0}.standalone-services{border-top:1px solid #d6e2ec;padding-top:8px;margin-top:20px}.standalone-services .service-grid{margin-top:16px}
.report-verification{margin-top:20px;border-block:1px solid #d6e2ec;padding:8px 0}.report-verification ol{padding-left:24px}.report-verification li{margin-bottom:12px;font-size:1rem}.report .recommendation{display:block}.report .recommendation p{max-width:900px}.report .recommendation h3{margin-bottom:14px}
#copy-request{font:inherit;line-height:1.5;min-height:44px;background:none;border:0;padding:8px 0;text-align:left}#copy-status:empty{display:none}#context-text{white-space:pre-wrap;overflow-wrap:anywhere}.context{min-width:0}
#your-stage .section-heading{margin-bottom:20px}#your-stage .buyer-grid article{padding:22px}#your-stage .buyer-grid h3{font-size:1.25rem}
@media(max-width:760px){.bundle-grid{grid-template-columns:1fr;gap:18px}.bundle-card{padding:22px}.bundle-top h3{font-size:1.5rem}.bundle-assurance{padding:18px}.bundle-bottom{padding-top:18px}}
@media(max-width:380px){.bundle-card{padding:18px}.bundle-result{padding:14px}.bundle-bottom .button{padding:12px}}
.faq-layout{display:block}
#faq .section-heading{margin-bottom:20px;max-width:none}
#faq .section-heading h2{margin-bottom:0}
#faq .faqs{width:100%;min-width:0}
#faq .faqs summary{padding:16px 34px 16px 0;line-height:1.5}
#faq .faqs summary:after{top:14px}
#faq .faqs details p{margin-bottom:16px;padding-right:34px;max-width:none}
footer a,footer .inline-link{background:transparent}
.bundle-price{margin-bottom:12px}
.bundle-price>span{font-size:.875rem;color:#40596e}
.bundle-price>strong{font-size:2rem;line-height:1.2;color:#075bad;margin-top:6px}
.bundle-scope{border-top:1px solid #d3e0ec;border-bottom:1px solid #d3e0ec;margin-bottom:20px}
.bundle-scope>summary{padding:16px 28px 16px 0;font-size:1rem;line-height:1.5}
.bundle-scope>summary:after{top:14px}
.bundle-scope ul{padding-left:20px;margin:0 0 14px}
.bundle-scope li{margin-bottom:12px;font-size:.9375rem;line-height:1.6}
.bundle-scope li strong{display:inline}
.bundle-scope p{font-size:.875rem;line-height:1.6;color:#40596e;margin-bottom:16px}
#faq .faqs{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 40px;align-items:start}
.faq-column{min-width:0}
.bundle-icon{float:right;object-fit:contain;width:153.6px;height:153.6px;margin:0 0 12px 16px}
.bundle-top:after{content:'';display:table;clear:both}
.bundle-price-note{font-size:.875rem;line-height:1.5;color:#40596e}
.bundle-price-note:empty{display:none}
@media(max-width:760px){#faq .faqs{grid-template-columns:1fr;gap:0}#faq .faq-column+.faq-column details:first-child{border-top:0}.bundle-icon{width:115.2px;height:115.2px;margin-left:12px}}
@media(max-width:760px){#bundle-build .bundle-top h3{clear:both;line-height:1.12;margin-bottom:12px}}

/* The homepage request keeps a short recap above its optional technical detail. */
body.home #request #context-brief p{margin:0 0 8px;font-size:.875rem;line-height:1.55;overflow-wrap:anywhere}
body.home #request #context-brief p:last-child{margin-bottom:4px}
body.home #request #context-details{min-width:0;border:0;margin:0;padding:0}
body.home #request #context-details>summary{min-height:44px;padding:10px 26px 10px 0;font-size:.8125rem;line-height:1.5;font-weight:600;color:inherit}
body.home #request #context-details>summary:after{top:8px}
body.home #request #context-details[open]>summary:not([hidden]){margin-bottom:8px;border-bottom:1px solid var(--line)}

/* Estate 3D: a consistent, restrained engineering identity. */
@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url('fonts/manrope-400.woff') format('woff')}
@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url('fonts/manrope-500.woff') format('woff')}
@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url('fonts/manrope-600.woff') format('woff')}
@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url('fonts/manrope-700.woff') format('woff')}
@font-face{font-family:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url('fonts/manrope-800.woff') format('woff')}
:root{--ink:#142a3c;--muted:#526576;--shade:#f3f6f8;--line:#dce4ea;--strong:#125da4;--navy:#102c43;--blue:#125da4;--radius:16px;font-family:'Manrope','Segoe UI',Arial,sans-serif;line-height:1.65;scroll-padding-top:104px;font-synthesis:none}
body{color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased}
main,header,header nav,.service,.programs article,.evidence{color:var(--ink)}
input,select{-webkit-text-fill-color:currentColor}
button,input,select,textarea{font-family:inherit}
::selection{background:#c9e1f5;color:#102c43}
.wrap{width:min(1280px,calc(100% - 80px))}
h1,h2,h3,h4{font-weight:700;letter-spacing:-.035em;text-wrap:balance;color:var(--ink)}
h2,.compact h2{font-size:clamp(2rem,3.2vw,2.75rem);line-height:1.14;margin:0}
h3{font-size:1.375rem;line-height:1.3}
p{line-height:1.65}
.eyebrow{color:#567082;font-size:.75rem;font-weight:700;line-height:1.5;letter-spacing:.12em}
.small,.caption{font-size:.875rem;line-height:1.6;color:var(--muted)}
.section-heading,.compact .section-heading{display:grid;gap:12px;margin-bottom:24px;max-width:920px}
.section-heading .eyebrow,.compact .section-heading .eyebrow{margin:0}
.section-heading h2{max-width:24ch}
.section-heading>p{font-size:1.0625rem;max-width:680px;color:var(--muted);margin:0}
section:not(.hero):not(.compact){padding-block:48px}
section.compact{padding-block:48px;border-color:var(--line)}
section.shade{background:var(--shade)}
a{transition:color .18s ease;text-decoration-thickness:1px;text-underline-offset:4px}
a:hover{color:var(--blue)}
.button,.hero-unified .actions .button{background:var(--navy);border:1px solid var(--navy);color:#fff;border-radius:8px;min-height:54px;padding:15px 22px;font-size:.9375rem;font-weight:700;line-height:1.45;letter-spacing:0;box-shadow:none;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease;white-space:normal}
.button:hover,.hero-unified .actions .button:hover{background:#185c94;border-color:#185c94;color:#fff;box-shadow:0 5px 16px #102c4314}
.button:link,.button:visited{background:var(--navy);color:#fff}
.button:hover,.button:active{background:#185c94;color:#fff}
.button.outline{background:#fff;color:var(--navy);border-color:#bccbd6;box-shadow:none}
.button.outline:hover{background:#edf3f8;border-color:var(--navy)}
.button.outline:link,.button.outline:visited{background:#fff;color:var(--navy)}
.button.outline:hover,.button.outline:active{background:#edf3f8;color:var(--navy)}
.text-link{color:var(--blue);font-weight:700}
:focus-visible{outline:3px solid #397ebb;outline-offset:4px}
header{background:#fffffffa;border-bottom:1px solid var(--line)}
.header{min-height:88px;gap:28px}
.brand{font-size:1.375rem;letter-spacing:.045em;color:var(--navy);font-weight:800;line-height:1.2}
.brand small{font-family:'Segoe UI',Arial,sans-serif;font-size:.625rem;letter-spacing:.09em;margin-top:9px;font-weight:500;color:var(--muted)}
.header nav{gap:22px}
.header nav a{font-size:.875rem;font-weight:500;color:#435969;text-decoration:none}
.header nav a:hover{color:var(--blue)}
.phone{font-size:.875rem;font-weight:700;color:var(--ink);letter-spacing:-.02em}
.header-tz{border:1px solid #bacbd7;border-radius:7px;padding:12px 16px;font-size:.8125rem;font-weight:700;color:var(--navy)}
.header-tz:hover{background:#f1f5f8;border-color:#8ca5b8}
.hero.hero-unified{width:min(1480px,100%);background:#f2f6f9}
.hero-unified .hero-stage{min-height:610px}
.hero-unified .hero-copy{width:48%;max-width:680px;padding:48px 24px 48px max(40px,calc((100vw - 1280px)/2))}
.hero-unified h1{font-size:clamp(2.375rem,3.6vw,3.375rem);line-height:1.1;font-weight:800;letter-spacing:-.045em;max-width:520px;margin-bottom:22px;text-wrap:initial}
.hero-unified .eyebrow{font-size:.75rem;color:#49667c;letter-spacing:.1em;margin-bottom:22px}
.hero-unified .hero-service{font-size:1.0625rem;line-height:1.65;color:#415d71;max-width:420px;margin-bottom:28px}
.hero-unified .hero-price{font-size:clamp(3rem,4.2vw,4rem);font-weight:800;letter-spacing:-.045em;color:var(--blue);margin-bottom:14px;line-height:1.05;font-variant-numeric:tabular-nums}
.hero-unified .hero-price span{font-size:1.25rem;color:var(--ink);font-weight:700;letter-spacing:-.02em}
.hero-unified .hero-scope{font-size:1rem;line-height:1.65;color:#375269;max-width:430px;margin-bottom:24px}
.offer-assurance{font-size:.875rem;color:#526b7e;line-height:1.55;margin-top:-10px}
.hero-unified .actions{gap:18px}
.hero-unified .actions .text-link{font-size:.875rem;color:#315873}
.hero-unified .hero-photo img{filter:saturate(.72) brightness(.98)}
.hero-unified .hero-stage:after{background:linear-gradient(90deg,#f2f6f9 0%,#f2f6f9 31%,rgba(242,246,249,.98) 38%,rgba(242,246,249,.82) 44%,rgba(242,246,249,0) 62%)}
.hero-unified .hero-facts.fact-cards{padding:24px max(40px,calc((100vw - 1280px)/2)) 24px;gap:16px;max-width:none;width:100%}
.fact-cards .fact-card{padding:18px 18px 18px 12px;gap:14px;border-color:#e0e8ed;border-radius:12px;box-shadow:none}
.fact-cards .fact-card>img{width:76px;height:76px;flex-basis:76px}
.hero-unified .fact-cards .fact-copy strong{font-size:1.0625rem;line-height:1.4;letter-spacing:-.025em;margin-bottom:6px}
.hero-unified .fact-cards .fact-copy span{font-size:.875rem;line-height:1.5;color:var(--muted)}
#your-stage{padding-block:32px;border-top:0}
#your-stage .section-heading{margin-bottom:20px}
#your-stage h2{font-size:clamp(1.75rem,2.6vw,2.25rem)}
.buyer-grid{gap:24px}
#your-stage .buyer-grid article{border:0;border-left:1px solid var(--line);border-radius:0;padding:8px 24px}
#your-stage .buyer-grid article:first-child{border-left:0;padding-left:0}
.buyer-grid h3,#your-stage .buyer-grid h3{font-size:1.1875rem;letter-spacing:-.025em;line-height:1.4}
.buyer-grid p{color:var(--muted);font-size:1rem;margin-bottom:12px}
.included-icons{padding:26px 0 30px;gap:24px;border-block:1px solid #d9e3ea;margin-bottom:36px}
.included-item{gap:8px}
.included-item img{width:112px;height:112px}
.included-item span{font-size:1rem;font-weight:700}
.included-explanation{font-size:.875rem;color:var(--muted)}
.program-intro{color:var(--muted);max-width:760px;margin-bottom:28px}
.program-intro strong{color:var(--ink)}
.programs{gap:24px}
.programs article{padding:28px;background:#fff;border:1px solid #e0e7ed;border-radius:var(--radius);box-shadow:0 8px 24px #102c4304}
.programs article>.eyebrow{margin-bottom:18px}
.programs h3{font-size:1.75rem;line-height:1.2;letter-spacing:-.04em}
.programs article>p{color:var(--muted);min-height:0}
.programs dl{margin-top:8px;margin-bottom:24px}
.programs dl div{padding:14px 0;border-color:var(--line)}
.programs dd{color:var(--ink);font-weight:800;font-variant-numeric:tabular-nums}
.program-gallery{border-radius:10px}
.photo-open.cover img{aspect-ratio:16/10}
.program-more summary{padding:14px 32px 14px 0;color:var(--blue)}
.program-qualification{color:var(--muted)}
.price-clarity{gap:24px;margin-top:32px}
.price-clarity>article{background:transparent;border:0;border-top:1px solid #cedbe4;border-radius:0;padding:24px 0 0}
.price-clarity h3{font-size:1.125rem}
.price-bottom{gap:48px;margin-top:28px}
.price-bottom p{color:var(--muted)}
.price-bottom aside{border-color:#92adc2}
.decision-strip{padding:28px 32px;border:1px solid var(--line);border-radius:12px;box-shadow:none}
.decision-strip h3{font-size:1.375rem}
#calculator .section-heading{max-width:860px}
#calculator .ec-modes{gap:12px;margin-bottom:24px}
#calculator .ec-modes label{border-color:#cfdce5;border-radius:10px;padding:14px 16px;min-height:56px;font-size:.9375rem}
#calculator .ec-modes label:has(input:checked){background:#edf4fa;border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue)}
#calculator .ec-layout{gap:24px;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}
#calculator .ec-controls,#calculator .ec-result{padding:26px;border-color:var(--line);border-radius:var(--radius)}
#calculator .ec-controls{background:#fff}
#calculator .ec-result{background:#f1f5f8}
#calculator .ec-field{font-size:.9375rem;line-height:1.5;margin-bottom:18px}
#calculator .ec-field select{border-color:#c0cfda;border-radius:7px;min-height:46px;font-size:.9375rem;background:#fff}
#calculator .ec-label>span{background:#f1f5f8;border-color:#dbe5ed;border-radius:7px;color:var(--navy);font-variant-numeric:tabular-nums}
#calculator .ec-check{border-color:#e1e8ee;background:#f6f8fa;border-radius:8px;padding:12px;line-height:1.5}
#calculator .ec-check:has(input:checked){border-color:#87accb;background:#edf4fa}
#calculator .ec-plan svg,#calculator .ec-depth-plan svg{font-family:inherit}
#calculator .ec-price{color:var(--navy);font-size:clamp(2.25rem,3.3vw,3rem);font-weight:800;letter-spacing:-.035em;font-variant-numeric:tabular-nums}
#calculator .ec-metrics{gap:8px}
#calculator .ec-metrics>div{padding:14px 10px;background:#fff;border-radius:9px}
#calculator .ec-metrics dt{font-size:.875rem;color:var(--muted)}
#calculator .ec-metrics dd{font-weight:800}
#calculator .ec-explanation{background:#f6f8fa;border-color:var(--line);border-radius:var(--radius);padding:8px 28px 28px}
#calculator .ec-detail summary{padding-right:32px}
#calculator .ec-note,#calculator .ec-price-context{color:var(--muted)}
#calculator .ec-depth-plan{background:#fff;border:1px solid var(--line)}
.report .split{gap:48px;align-items:start}
.report-pages{padding:24px;background:#f0f4f7;border:1px solid var(--line);border-radius:var(--radius)}
.report-page{border-color:#d6e0e8;border-radius:4px;box-shadow:0 8px 18px #112c4310}
.editorial-list li{padding:22px 0;border-color:var(--line)}
.editorial-list li>span{font-size:.875rem;color:#678295;font-variant-numeric:tabular-nums}
.editorial-list h3{font-size:1.25rem;letter-spacing:-.025em}
.editorial-list p{font-size:1rem;color:var(--muted)}
.report-example{border-color:var(--line);border-radius:var(--radius);background:#f4f7f9;padding:32px}
.report-example h3{font-size:1.625rem;line-height:1.25}
.report-facts{gap:16px;border-color:var(--line)}
.report-facts dt{font-size:.875rem;color:var(--muted)}
.report-facts dd{color:var(--navy);font-size:1.25rem;font-weight:800}
.report-check{background:#fff;border-radius:0;padding-inline:0}
.recommendation{background:#f3f6f8;border-color:var(--line);border-radius:var(--radius);padding:32px}
.recommendation h3{font-size:1.5rem}
.recommendation p{max-width:860px;color:var(--muted)}
.risk-grid{gap:32px}
.risk-photo{border-radius:12px}
.risk-grid h3{font-size:1.625rem;line-height:1.25;margin-bottom:16px}
.risk-grid p{color:var(--muted)}
.risk-grid p strong{color:var(--ink)}
.risk-cost{border-color:#cfdae3;gap:32px;align-items:start}
.risk-cost strong{font-size:1.25rem;line-height:1.4}
.risk-cost p{color:var(--muted)}
.trust-grid{gap:24px}
.evidence{background:#f6f8fa;border:1px solid var(--line);border-radius:14px;padding:28px}
.evidence h3{font-size:1.375rem;line-height:1.3}
.evidence p{color:var(--muted)}
.evidence-report{background:#edf4fa;border-color:#c4d8e7}
.team{margin-top:32px;padding-top:28px;border-color:var(--line)}
.team-grid{gap:24px}
.team-card>img{border-radius:10px}
.team-copy{padding-top:18px}
.team-copy h3{font-size:1.0625rem;line-height:1.4;letter-spacing:-.025em;min-height:3rem;margin-bottom:10px}
.team-copy p{font-size:1rem;line-height:1.6;color:var(--muted)}
.steps{background:#fff}
.step-grid{gap:24px}
.step-grid li{border-top:1px solid #bdccd7;padding-top:24px}
.step-grid li>span{font-size:2rem;font-weight:500;color:#718d9f;letter-spacing:-.045em}
.step-grid h3{font-size:1.125rem;line-height:1.4;margin:14px 0 12px}
.step-grid p{font-size:1rem;color:var(--muted)}
.site-access{background:#f4f7f9;border-color:var(--line);border-radius:14px;padding:28px}
#services{border-top:1px solid var(--line)}
#services .section-heading{max-width:840px}
.bundle-grid{gap:28px}
.bundle-card{padding:32px;border:1px solid #cfdce6;border-radius:18px;box-shadow:0 10px 30px #16334a06;background:#fff}
.bundle-top{display:grid;grid-template-columns:minmax(0,1fr) 153.6px;column-gap:18px;row-gap:12px;align-items:center;margin-bottom:24px}
.bundle-top:after{display:none}
.bundle-icon{float:none;grid-column:2;grid-row:1/3;display:block;width:153.6px;height:153.6px;margin:0;justify-self:end}
.bundle-top>.eyebrow{grid-column:1;grid-row:1;align-self:end;margin:0;font-size:.6875rem}
.bundle-top h3{grid-column:1;grid-row:2;align-self:start;margin:0;font-size:clamp(1.5rem,2.2vw,1.875rem);line-height:1.16;overflow-wrap:normal;text-wrap:balance;letter-spacing:-.04em}
.bundle-top>p{grid-column:1/-1;grid-row:3;margin:4px 0 0;color:var(--muted);font-size:1rem}
.bundle-core{padding-top:24px;border-color:var(--line)}
.bundle-card h4,.bundle-options legend{font-size:1rem;letter-spacing:-.015em;font-weight:700}
.bundle-card li{color:var(--muted);font-size:1rem;line-height:1.65}
.bundle-card li strong{color:var(--ink);font-weight:700}
.bundle-result{background:#f2f6f9;border-left:2px solid #8dafc8;border-radius:0 8px 8px 0;padding:18px 20px;margin-bottom:24px}
.bundle-result>span{font-size:.8125rem;font-weight:600;color:#547287;margin-bottom:6px}
.bundle-result p{font-size:1rem;color:var(--ink)}
.bundle-options label{padding:12px 0;font-size:.9375rem;line-height:1.6;color:#344e61}
.bundle-note summary,.bundle-scope>summary{font-size:.9375rem;color:var(--ink)}
.bundle-price>strong{font-size:2.375rem;letter-spacing:-.04em;color:var(--navy);font-weight:800;font-variant-numeric:tabular-nums}
.bundle-price>span{font-size:.875rem;color:var(--muted)}
.bundle-price-note{color:var(--muted)}
.bundle-bottom{padding-top:24px}
.bundle-assurance{background:#f4f7f9;border:1px solid var(--line);border-radius:12px;padding:24px 28px}
.bundle-assurance p{color:var(--muted)}
.bundle-assurance strong{color:var(--ink)}
.service{border-color:var(--line)!important;border-radius:10px}
.service p{color:var(--muted)}
.b2b{color:var(--muted);font-size:.875rem;gap:20px}
#faq{padding-block:48px}
#faq .section-heading{margin-bottom:24px}
#faq .faqs{gap:0 40px;align-items:start}
#faq .faqs summary{font-size:1rem;font-weight:600;line-height:1.5;padding:18px 40px 18px 0;color:var(--ink)}
#faq .faqs summary:after{top:16px;font-size:1.25rem;color:#648197}
#faq .faqs details{border-color:#d3dfe8}
#faq .faqs details[open] summary{color:var(--blue)}
#faq .faqs details p{font-size:1rem;color:var(--muted);line-height:1.65;margin-bottom:20px}
/* The final consultation has one decisive branded surface. */
.request.wrap{width:100%;padding:48px max(40px,calc((100% - 1280px)/2));background:var(--navy);gap:64px;color:#e3ebf0;align-items:start}
.request>div:first-child{padding-top:8px}
.request .eyebrow{color:#a5c2d8}
.request h2{color:#fff;font-size:clamp(2rem,3.2vw,2.75rem);line-height:1.16;letter-spacing:-.035em}
.request h2 br{display:none}
.request .lead{color:#d0dde7;font-size:1.0625rem;line-height:1.65;max-width:520px;margin-top:24px}
.request-benefits{margin:24px 0}
.request-benefits li{font-size:1rem;color:#e1eaf1;margin-bottom:12px}
.request-benefits li::marker{color:#80add0}
.request>div:first-child .small{color:#bfd0df}
.request .contact-prompt{font-size:1rem;color:#d0dde7;margin-top:28px}
.request .contact-aside{border-color:#486074;margin-top:28px;padding-top:24px;gap:12px}
.request .contact-aside a{color:#fff;font-size:1.25rem;font-weight:600;letter-spacing:-.015em}
.request .contact-aside a[href^='mailto:']{font-size:1rem;color:#d0e0ec}
.request .text-link{color:#bfdcf2}
.request .context{color:var(--ink);background:#f0f5f9;border-color:#bdd0e0}
.request .messenger-links .button{background:#fff;color:var(--navy);border-color:#fff}
.request .messenger-links .button.outline{background:transparent;color:#fff;border-color:#7896ac}
.request .messenger-links .button:hover{background:#dceaf5;color:var(--navy);border-color:#dceaf5}
.request .form-area{background:#fff;color:var(--ink);padding:32px;border:0;border-radius:16px;box-shadow:none}
.request .form-area h3{color:var(--ink)}
.request .form-area .eyebrow{color:#567082}
.form-area .field label,.contact-modes legend{font-size:.9375rem;font-weight:600;color:var(--ink);line-height:1.5}
.form-area input:not([type=checkbox]):not([type=radio]),.form-area select{min-height:52px;border:1px solid #bacbd7;border-radius:8px;background:#fff;color:var(--ink);font-size:1rem;padding:12px 14px;box-shadow:none}
.form-area input::placeholder{color:#667d8f;opacity:1}
.form-area .segmented{background:#f0f4f7;border-color:#d3dfe8;padding:4px;gap:4px}
.form-area .segmented span{font-size:.9375rem;border-radius:6px;min-height:44px;line-height:1.4}
.form-area .segmented input:checked+span{background:#fff;color:var(--navy);border-color:#b8cbd9;box-shadow:0 2px 5px #102c4308}
.form-area .consent{font-size:.875rem;line-height:1.6;color:var(--muted)}
.form-area .small{color:var(--muted)}
.demo-note{background:#f1f5f8;color:#53697c;border:1px solid #d8e3eb;border-radius:7px;padding:12px 14px;font-size:.8125rem;line-height:1.55}
.demo-controls{border-style:solid;border-color:#e0e7ed;border-radius:7px;padding:8px 14px}
.demo-controls summary{color:var(--muted);font-size:.8125rem}
.form-area .submit{width:100%;margin-top:8px;font-size:.9375rem}
.form-area .error{color:#a02c2c}
footer{background:#0a2134;color:#dce7ef;padding:48px 0 100px;border-top:1px solid #31495c}
footer a,footer .inline-link{background:transparent;color:#d2e0ea;font-size:.875rem;line-height:1.65}
footer a:hover,footer .inline-link:hover{color:#fff}
footer .brand{color:#fff}
footer .brand small{color:#9fb6c8}
footer p{color:#aac1d2;font-size:.9375rem}
.footer-grid{gap:64px}
.footer-grid>div:last-child{display:grid;gap:10px;align-content:start}
.footer-grid>div:last-child a{text-decoration:none}
.footer-grid strong{font-size:.9375rem;color:#e0ebf3}
.contact-widget summary{background:#125da4;border:1px solid #3b80b5;border-radius:28px;padding:13px 18px;box-shadow:0 8px 24px #0a213429;font-size:.9375rem;font-weight:700}
.contact-popover{border-color:#cbdbe7;border-radius:14px;box-shadow:0 16px 48px #102c4324}
dialog{border:1px solid var(--line);border-radius:16px;color:var(--ink);box-shadow:0 28px 100px #061a3240}
dialog::backdrop{background:#102a4380}
dialog .dialog-head button{font-family:inherit;min-height:44px;padding:8px 14px;border-radius:7px}
@media(min-width:1481px){.hero-unified .hero-copy{padding-left:100px}.hero-unified .hero-facts.fact-cards{padding-inline:100px}}
@media(max-width:1150px){.header{gap:18px}.header nav{gap:14px}.header nav a{font-size:.8125rem}.header-tz{padding:11px 12px}.hero-unified .hero-copy{padding-left:40px;width:51%}.hero-unified h1{font-size:2.625rem}.fact-cards .fact-card{flex-direction:row;align-items:center;padding:16px 12px;gap:10px}.fact-cards .fact-card>img{width:64px;height:64px;flex-basis:64px;margin:0}.hero-unified .fact-cards .fact-copy strong{font-size:1rem}.bundle-card{padding:26px}.bundle-top{grid-template-columns:minmax(0,1fr) 140px;gap:10px 14px}.bundle-icon{width:153.6px;height:153.6px;max-width:100%;object-fit:contain}.bundle-top h3{font-size:1.5rem}}
@media(max-width:1000px){#calculator .ec-layout{grid-template-columns:1fr}.header nav a{font-size:1rem}.request.wrap{gap:36px}.team-grid{gap:24px}.fact-cards .fact-card{flex-direction:column;align-items:flex-start}.hero-unified .hero-facts.fact-cards{gap:12px}.bundle-top{grid-template-columns:1fr}.bundle-icon{grid-column:1;grid-row:1;justify-self:start}.bundle-top>.eyebrow{grid-row:2}.bundle-top h3{grid-row:3}.bundle-top>p{grid-row:4}}
@media(max-width:900px){.wrap{width:calc(100% - 48px)}.hero-unified .hero-stage{min-height:0}.hero-unified .hero-copy{width:100%;max-width:none;padding:40px 24px 30px}.hero-unified h1{font-size:clamp(2.25rem,5.8vw,3.25rem);max-width:650px}.hero-unified .hero-service{max-width:520px}.hero-unified .hero-stage:after{display:none}.hero-unified .hero-facts.fact-cards{padding:22px 24px 24px}.request.wrap{padding-inline:24px;grid-template-columns:1fr}.request>div:first-child{max-width:680px}.report .split{gap:32px}.section-heading{max-width:100%}.request .form-area{max-width:none}.footer-grid{gap:32px}.decision-strip{gap:24px;align-items:flex-start}}
@media(max-width:850px){#your-stage .buyer-grid{gap:0}#your-stage .buyer-grid article,#your-stage .buyer-grid article:first-child{border:0;border-top:1px solid var(--line);padding:22px 0}#your-stage .buyer-grid article:first-child{border-top:0;padding-top:0}.price-clarity{grid-template-columns:1fr;gap:0}.price-clarity>article{padding-block:22px}.price-clarity>article p:last-child{margin-bottom:0}}
@media(max-width:760px){.bundle-grid{gap:20px}.bundle-card{padding:24px}.bundle-top{grid-template-columns:minmax(0,1fr) 115.2px;gap:14px 18px;margin-bottom:24px}.bundle-icon{grid-column:2;grid-row:1;width:115.2px;height:115.2px;max-width:none;justify-self:end;margin:0}.bundle-top>.eyebrow{grid-column:1;grid-row:1;align-self:center;font-size:.75rem}.bundle-top h3,#bundle-build .bundle-top h3{grid-column:1/-1;grid-row:2;font-size:1.875rem;line-height:1.14;clear:none;margin:0;max-width:22ch;text-wrap:balance}.bundle-top>p{grid-row:3;margin:0}.bundle-price>strong{font-size:2.25rem}#faq .faqs{grid-template-columns:1fr;gap:0}.decision-strip{flex-direction:column}.decision-strip .button{width:100%}}
@media(max-width:600px){.wrap{width:calc(100% - 40px)}.header{min-height:76px;gap:12px}.brand{font-size:1.125rem}.brand small{font-size:.5625rem;letter-spacing:.04em;margin-top:7px}.phone{font-size:.75rem}.header nav{top:76px}.header nav a{font-size:1rem}#menu-toggle{border-color:#c9d7e1;border-radius:7px;padding:8px 10px;min-height:44px;font-size:.8125rem}.hero-unified .hero-copy{padding:32px 20px 28px}.hero-unified h1{font-size:clamp(2rem,8.6vw,2.625rem);line-height:1.11;letter-spacing:-.045em;margin-bottom:20px}.hero-unified .eyebrow{font-size:.75rem;letter-spacing:.065em;margin-bottom:20px}.hero-unified .hero-service{font-size:1rem;margin-bottom:26px;line-height:1.6}.hero-unified .hero-price{font-size:3rem}.hero-unified .hero-price span{font-size:1.125rem}.hero-unified .hero-scope{font-size:1rem}.hero-unified .actions .button{font-size:.9375rem;width:100%;min-height:54px;padding:15px 14px}.hero-unified .hero-facts.fact-cards{padding:20px;gap:10px}.fact-cards .fact-card{flex-direction:row;align-items:center;padding:14px;gap:12px}.fact-cards .fact-card>img{width:68px;height:68px;flex-basis:68px}.hero-unified .fact-cards .fact-copy strong{font-size:1rem;line-height:1.4}.hero-unified .fact-cards .fact-copy span{font-size:.875rem}.section-heading,.compact .section-heading{display:grid;gap:12px;margin-bottom:20px}.section-heading .eyebrow,.compact .section-heading .eyebrow{margin:0}.section-heading h2{max-width:none}h2,.compact h2{font-size:2rem;line-height:1.16;letter-spacing:-.035em}.section-heading>p{font-size:1rem}.eyebrow{font-size:.75rem}section:not(.hero):not(.compact),section.compact{padding-block:32px}#your-stage{padding-block:28px}#your-stage h2{font-size:1.75rem}.included-icons{gap:26px 18px;padding-block:24px}.included-item img{width:96px;height:96px}.included-item span{font-size:.9375rem}.programs{gap:20px}.programs article{padding:20px}.programs h3{font-size:1.5rem}.price-bottom{gap:24px}.decision-strip{padding:24px}.decision-strip h3{font-size:1.25rem}.report-pages{padding:16px}.report-example{padding:24px}.report-example h3{font-size:1.375rem}.report-facts{gap:12px}.recommendation{padding:24px}.risk-grid{gap:36px}.risk-grid h3{font-size:1.5rem}.risk-cost{gap:14px}.trust-grid{gap:18px}.evidence{padding:24px}.team{margin-top:28px;padding-top:24px}.team-card{gap:18px}.team-copy h3{font-size:1.0625rem;min-height:0}.team-grid{gap:24px}.step-grid{gap:0}.step-grid li{padding-block:22px}.step-grid li>span{font-size:1.75rem}.site-access{padding:24px}#calculator .ec-controls,#calculator .ec-result{padding:18px}#calculator .ec-layout{gap:16px}#calculator .ec-modes label{font-size:.9375rem}#calculator .ec-field select{font-size:1rem}#calculator .ec-metrics>div{padding:12px 8px}#calculator .ec-explanation{padding:4px 18px 20px}#calculator .ec-followup{gap:24px}#calculator .ec-price{font-size:2.5rem}.bundle-card{padding:22px}.bundle-top h3,#bundle-build .bundle-top h3{font-size:1.75rem}.bundle-card li{font-size:1rem}.bundle-result{padding:16px 18px}.bundle-options label{font-size:.9375rem}.bundle-assurance{padding:22px}.b2b{flex-direction:column;gap:8px}.b2b a{white-space:normal}#faq{padding-block:32px}#faq .section-heading{margin-bottom:20px}#faq .faqs summary{font-size:1rem;padding:16px 36px 16px 0}#faq .faqs summary:after{top:14px}.request.wrap{padding:32px 20px;gap:32px}.request h2{font-size:2rem;line-height:1.16}.request .lead{font-size:1rem;margin-top:20px}.request .form-area{padding:24px 20px}.request .contact-aside a{font-size:1.25rem}.messenger-links .button{font-size:.875rem}.form-area .submit{padding-inline:12px}.footer-grid{gap:32px}footer{padding:40px 0 104px}.contact-widget{right:16px}.contact-widget summary{padding:12px 16px;font-size:.875rem}.contact-popover{padding:22px}}
@media(max-width:380px){.header .phone{display:none}.bundle-card{padding:20px}.bundle-top{column-gap:12px}.bundle-top h3,#bundle-build .bundle-top h3{font-size:1.625rem}.hero-unified .hero-price{font-size:2.75rem}.hero-unified .hero-price span{font-size:1rem}.request .form-area{padding:22px 16px}.team-card{grid-template-columns:1fr}}
@media(max-width:380px){.bundle-top{grid-template-columns:1fr}.bundle-icon{grid-column:1;grid-row:1;justify-self:start}.bundle-top>.eyebrow{grid-row:2}.bundle-top h3,#bundle-build .bundle-top h3{grid-row:3}.bundle-top>p{grid-row:4}}
/* Clearly separate the five price conditions without adding extra sections. */
#price .price-clarity{gap:16px;margin-top:28px}
#price .price-clarity>article{padding:24px;background:#fff;border:1px solid #d6e2eb;border-radius:12px}
#price .price-clarity h3,#price .price-bottom h3{font-size:1.125rem;font-weight:700;line-height:1.4;letter-spacing:-.025em;margin:0 0 12px}
#price .price-clarity p,#price .price-bottom p{font-size:1rem;line-height:1.65;margin:0;color:var(--muted)}
#price .price-bottom{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}
#price .price-bottom>div,#price .price-bottom>aside{min-width:0;padding:24px;background:#fff;border:1px solid #d6e2eb;border-radius:12px}
@media(max-width:850px){#price .price-clarity{gap:12px}#price .price-clarity>article{padding:22px}}
@media(max-width:600px){#price .price-clarity>article{padding:20px}#price .price-bottom{grid-template-columns:1fr;gap:12px;margin-top:12px}#price .price-bottom>div,#price .price-bottom>aside{padding:20px}}
/* Service bundles are a distinct decision point on the page. */
#services.services.wrap{width:100%;padding:48px max(40px,calc((100% - 1280px)/2));background:#102c43;border:0}
#services>.section-heading{margin-bottom:24px}
#services>.section-heading h2{color:#fff}
#services>.section-heading>.eyebrow{color:#a9cce6}
#services>.section-heading>p{color:#d0dee9}
#services .bundle-grid{gap:28px}
#services .bundle-card{background:#fff;color:var(--ink);border:1px solid #d8e4ed;box-shadow:0 12px 36px #04162626}
#services .bundle-top>.eyebrow{width:fit-content;max-width:100%;padding:6px 10px;border-radius:6px;background:#edf4fa;color:#315f82;letter-spacing:.07em}
#services .bundle-price{padding:18px 20px;background:#eef4f8;border-radius:10px;margin-bottom:16px}
#services .bundle-price>strong{color:#102c43}
#services .bundle-card .button,#services .bundle-card .button:link,#services .bundle-card .button:visited{background:#125da4;border-color:#125da4;color:#fff}
#services .bundle-card .button:hover,#services .bundle-card .button:active{background:#0b467d;border-color:#0b467d;color:#fff}
#services>.bundle-assurance{background:#1a374e;border-color:#3e5b71}
#services>.bundle-assurance p{color:#d0dee9}
#services>.bundle-assurance strong{color:#fff}
#services>.standalone-services{border-color:#456075}
#services>.standalone-services>summary{color:#e2edf5}
#services>.b2b{color:#c1d4e3}
#services>.b2b>a{color:#fff}
#services>.standalone-services>summary:hover,#services>.b2b>a:hover{color:#b5daf5}
@media(max-width:900px){#services.services.wrap{padding-inline:24px}}
@media(max-width:600px){#services.services.wrap{padding:32px 20px}#services>.section-heading{margin-bottom:20px}#services .bundle-grid{gap:20px}#services .bundle-price{padding:16px 18px}}
/* Compact order terms after the included services. */
#price .included-icons{margin-bottom:24px}
#price .price-terms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:24px 0;border-bottom:1px solid #d9e3ea}
#price .price-terms>div{min-width:0;padding-inline:24px;border-left:1px solid #d9e3ea}
#price .price-terms>div:first-child{padding-left:0;border-left:0}
#price .price-terms>div:last-child{padding-right:0}
#price .price-terms h3{font-size:1.0625rem;line-height:1.4;margin:0 0 10px;letter-spacing:-.02em}
#price .price-terms p{font-size:.9375rem;line-height:1.6;color:var(--muted);margin:0}
#price .price-terms strong{color:var(--ink);font-weight:600}
#price .price-contact{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:24px}
#price .price-contact p{margin:0;color:var(--muted);font-size:.9375rem;max-width:480px}
#price .price-contact .button{flex-shrink:0;text-align:center}
@media(max-width:760px){#price .price-terms{grid-template-columns:1fr;padding:0}#price .price-terms>div,#price .price-terms>div:first-child,#price .price-terms>div:last-child{padding:18px 0;border:0;border-top:1px solid #d9e3ea}#price .price-terms>div:first-child{border-top:0;padding-top:0}#price .price-terms h3{margin-bottom:8px}#price .price-contact{flex-direction:column;align-items:stretch;gap:16px}#price .price-contact .button{width:100%;flex-shrink:1}}
/* Four main service directions directly after the first screen. */
#directions.directions{padding-block:32px 24px;border:0}
.directions-heading{display:grid;gap:10px;margin-bottom:20px}
.directions-heading .eyebrow{margin:0}
#directions h2{font-size:clamp(1.75rem,2.6vw,2.25rem);line-height:1.2;margin:0}
.directions-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:stretch}
#directions .direction-card{display:flex;flex-direction:column;align-items:center;text-align:center;min-width:0;padding:12px 18px;border:1px solid #dce4ea;border-radius:14px;background:#fff;color:var(--ink);text-decoration:none;box-shadow:0 6px 18px #102c4312,0 1px 3px #102c4308;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
#directions .direction-card:hover,#directions .direction-card:focus-within{border-color:#89aecb;background:#f5f9fc;box-shadow:0 12px 28px #102c4324,0 2px 6px #102c4310}
#directions .direction-icon{display:block;align-self:center;width:145.6px;height:145.6px;max-width:100%;object-fit:contain;margin:0 0 4px}
#directions .direction-card h3{font-size:1.375rem;line-height:1.3;letter-spacing:-.025em;margin:0 0 6px;color:var(--ink)}
#directions .direction-card p{font-size:.9375rem;line-height:1.55;color:var(--muted);margin:0 0 8px;max-width:25ch}
#directions .direction-link,#directions .direction-links{margin-top:auto;font-size:.875rem;font-weight:700;line-height:1.5;color:var(--blue)}
#directions .direction-link{display:flex;align-items:center;gap:8px;min-height:44px}
#directions .direction-links{display:flex;flex-wrap:wrap;justify-content:center;gap:0 16px;width:100%}
#directions .direction-links a{display:inline-flex;align-items:center;gap:6px;min-height:44px;color:var(--blue);background:transparent;text-decoration:none}
#directions .direction-links a:hover{text-decoration:underline;color:#0b467d}
#directions a.direction-card:hover .direction-link{text-decoration:underline;text-underline-offset:4px}
@media(max-width:1050px){.directions-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}
@media(max-width:600px){#directions.directions{padding-block:28px 20px}.directions-heading{gap:8px;margin-bottom:20px}#directions h2{font-size:1.75rem}.directions-grid{gap:12px}#directions .direction-card{padding:8px 10px;border-radius:12px}#directions .direction-icon{width:124.8px;height:124.8px;max-width:calc(100% + 20px);margin-bottom:4px}#directions .direction-card h3{font-size:1.125rem;line-height:1.3;margin-bottom:6px}#directions .direction-card p{font-size:.875rem;line-height:1.5;margin-bottom:4px}#directions .direction-link,#directions .direction-links{font-size:.8125rem}#directions .direction-links{gap:0 12px}}
@media(prefers-reduced-motion:reduce){a,.button,.hero-unified .actions .button,#directions .direction-card{transition:none}:root{scroll-behavior:auto}}

/* Homepage acceptance pass: preserve the current identity and compact layout. */
:root{--anchor-gap:104px;scroll-padding-top:var(--anchor-gap)}
#calculator,#your-stage,#faq-builder,#report-example,.bundle-card{scroll-margin-top:8px}
#your-stage .buyer-grid article{display:flex;flex-direction:column;align-items:flex-start}
#your-stage .buyer-grid article>.text-link{margin-top:auto}
.button,.hero-unified .actions .button,.form-area .submit{font-size:1rem}
.request .context{gap:12px;align-items:flex-start;overflow-wrap:anywhere}
.request #clear-context{flex-shrink:0;min-height:44px;padding:6px 0;font-size:.875rem}
#copy-status:empty,.form-area .error:empty{display:none}
.report .recommendation p+p{margin-top:12px}
.report .recommendation>.text-link{display:inline-flex;align-items:center;min-height:44px;margin-top:12px}
#services .bundle-assurance{padding:20px 24px}
#services .bundle-assurance p{margin:0}
#services .bundle-assurance p+p{margin-top:8px}
#calculator .ec-layout{gap:16px}
#calculator .ec-controls,#calculator .ec-result{padding:16px}
#calculator .ec-field{margin-bottom:12px}
#calculator .ec-metrics{gap:6px}
#calculator .ec-metrics>div{padding:8px}
#calculator .ec-explanation{padding:4px 16px 16px}
#calculator .ec-accordions .ec-detail summary{padding-right:32px}
#calculator .ec-result:has(#ec-missing:not([hidden])) .ec-price{font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.25}
@media(max-width:1100px){.header nav a{font-size:1rem;min-height:44px;display:flex;align-items:center}}
@media(max-width:1000px){
 .bundle-top{grid-template-columns:minmax(0,1fr) 115.2px;gap:12px 16px;margin-bottom:20px}
 .bundle-top>.eyebrow{grid-column:1;grid-row:1;align-self:center}
 .bundle-top>.bundle-icon{grid-column:2;grid-row:1;width:115.2px;height:115.2px;max-width:100%;justify-self:end;align-self:center}
 .bundle-top>h3,#bundle-build .bundle-top>h3{grid-column:1/-1;grid-row:2;max-width:24ch;line-height:1.16;margin:0}
 .bundle-top>p{grid-column:1/-1;grid-row:3;margin:0}
}
@media(max-width:900px){#calculator .ec-layout{grid-template-columns:1fr}}
@media(max-width:600px){
 :root{--anchor-gap:88px}
 .section-heading h2 br{display:none}
 #calculator .ec-layout{gap:12px}
 #calculator .ec-label input[type=number]{font-size:1rem}
 #calculator #ec-foundation-depth input[type=number],#calculator [data-control=basementDepth] input[type=number]{font-size:1.125rem}
 #directions .direction-link,#directions .direction-links{font-size:.875rem}
 .request .context{flex-direction:column;gap:4px}
 #services .bundle-assurance{padding:18px 20px}
 .contact-widget{bottom:max(14px,env(safe-area-inset-bottom))}
}

/* Compact first screen; preserve the existing illustration and site sections. */
#offer .hero-stage{min-height:0}
#offer .hero-copy{padding-block:28px}
#offer .hero-intro{margin-bottom:14px;gap:6px 14px}
#offer h1{font-size:clamp(2rem,3vw,2.875rem);line-height:1.12;margin-bottom:14px;text-wrap:balance}
#offer .hero-service{margin-bottom:18px;line-height:1.5}
#offer .hero-price{margin-bottom:8px}
#offer .hero-scope{margin-bottom:10px;line-height:1.5}
#offer .offer-assurance{margin:0 0 14px;line-height:1.5}
#offer .actions{gap:10px}
#offer .hero-facts.fact-cards{padding-block:14px;gap:12px}
#offer .fact-card{flex-direction:row;align-items:center;padding-block:12px;gap:10px}
#offer .fact-copy strong{margin-bottom:4px}
@media(max-width:900px){
  #offer .hero-copy{padding-block:24px 18px}
  #offer h1{font-size:clamp(2rem,4.6vw,2.75rem);max-width:650px}
  #offer .hero-intro{margin-bottom:12px}
  #offer .hero-facts.fact-cards{padding-block:12px 16px}
}
@media(max-width:600px){
  #offer .hero-copy{padding-block:22px 18px}
  #offer h1{font-size:clamp(2rem,8.2vw,2.5rem);margin-bottom:12px}
  #offer .hero-service{margin-bottom:16px}
  #offer .hero-scope{margin-bottom:8px}
  #offer .offer-assurance{margin-bottom:12px}
  #offer .actions{gap:6px}
  #offer .actions .text-link{display:inline-flex;align-items:center;min-height:44px}
  #offer .hero-facts.fact-cards{padding-block:12px;gap:8px}
  #offer .fact-card{padding:10px 12px;gap:12px}
}

/* Three research stages with icons centered above the copy. */
#process .process-preparation{max-width:76ch;margin:0 0 28px;font-size:1rem;line-height:1.65;color:var(--muted)}
#process .process-preparation strong{color:var(--ink)}
#process .research-steps{grid-template-columns:repeat(3,minmax(0,1fr))}
#process .research-steps li{display:block;min-width:0}
#process .research-stage-heading{display:grid;grid-template-columns:minmax(0,1fr) 112px minmax(0,1fr);align-items:center;min-height:112px}
#process .research-stage-number{justify-self:start;font-size:2rem;font-weight:500;letter-spacing:-.045em;color:#718d9f}
#process .research-stage-icon{grid-column:2;display:block;width:112px;height:112px;object-fit:contain}
@media(max-width:900px){
 #process .research-steps{grid-template-columns:1fr;gap:0}
 #process .research-steps li{padding-block:22px}
 #process .research-stage-heading{grid-template-columns:minmax(0,1fr) 88px minmax(0,1fr);min-height:88px}
 #process .research-stage-number{font-size:1.5rem}
 #process .research-stage-icon{width:88px;height:88px}
 #process .research-steps h3{margin:12px 0 8px}
 #process .process-preparation{margin-bottom:20px}
}
#services .b2b-copy{min-width:0}
#services .b2b-copy p{margin:0}
#services .b2b-copy .b2b-template-note{margin-top:8px;font-size:.875rem;line-height:1.5}
#services .b2b-actions{display:flex;flex-direction:column;align-items:flex-start;flex-shrink:0;gap:12px}
#services .b2b-actions a{color:#fff;line-height:1.5;text-underline-offset:3px}
#services .b2b-actions a:hover{color:#b5daf5}
#services .b2b-file-type{white-space:nowrap;color:#c1d4e3;font-size:.875rem}
@media(max-width:900px){#services .b2b-actions{gap:10px;margin-top:4px}}

#partners { padding: 32px 0 24px; background: #fff; }
#partners .partners-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 20px; }
#partners h2 { margin: 0; font-size: clamp(1.5rem, 2.5vw, 2rem); line-height: 1.25; }
#partners .partners-viewport { overflow-x: auto; border-top: 1px solid #e4ebf1; border-bottom: 1px solid #e4ebf1; padding: 14px 0; }
#partners .partners-track { display: flex; width: max-content; }
#partners .partners-group { display: flex; align-items: center; gap: 32px; flex: 0 0 auto; list-style: none; padding: 0 32px 0 0; margin: 0; }
#partners .partners-group li { display: flex; justify-content: center; align-items: center; flex: 0 0 259.2px; width: 259.2px; height: 134.4px; margin: 0; overflow: hidden; }
#partners .partners-group img { display: block; flex: 0 0 auto; object-fit: contain; max-width: none; width: 204px; height: auto; max-height: 108px; }
#partners .partners-group .partner-dokagene { width: 312px; max-height: 132px; }
#partners .partners-group .partner-cska { width: 76.8px; max-height: 105.6px; }
#partners .partners-group .partner-tashir { width: 240px; }
#partners .partners-group .partner-ava { width: 211.2px; }
#partners .partners-copy { display: none; }
#partners.is-animated .partners-copy { display: flex; }
#partners.is-animated .partners-viewport { overflow: hidden; -webkit-mask-image: linear-gradient(to right, transparent, #000 5%, #000 95%, transparent); mask-image: linear-gradient(to right, transparent, #000 5%, #000 95%, transparent); }
#partners.is-animated .partners-track { animation: partners-drift 42s linear infinite; }
#partners .partners-viewport:focus-within .partners-track { animation-play-state: paused; }
#partners .partners-viewport:focus-visible { outline: 2px solid #075fa9; outline-offset: 4px; }
@keyframes partners-drift { to { transform: translateX(-50%); } }
@media (hover: hover) { #partners .partners-viewport:hover .partners-track { animation-play-state: paused; } }
@media (max-width: 600px) {
  #partners { padding: 28px 0 16px; }
  #partners .partners-heading { gap: 12px; margin-bottom: 14px; }
  #partners .partners-group { gap: 20px; padding-right: 20px; }
  #partners .partners-group li { flex-basis: 204px; width: 204px; height: 110.4px; }
  #partners .partners-group img { width: 168px; max-height: 88.8px; }
  #partners .partners-group .partner-dokagene { width: 264px; max-height: 110.4px; }
  #partners .partners-group .partner-cska { width: 62.4px; }
  #partners .partners-group .partner-tashir { width: 192px; }
  #partners .partners-group .partner-ava { width: 174px; }
}
@media (prefers-reduced-motion: reduce) {
  #partners.is-animated .partners-track { animation: none; }
  #partners .partners-copy { display: none; }
  #partners .partners-viewport { overflow-x: auto; -webkit-mask-image: none; mask-image: none; }
}

/* Scoped styles for the locally hosted regional map. */
.hero-unified .hero-intro{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px;margin-bottom:22px}
.hero-unified .hero-intro .eyebrow{margin:0}
.hero-unified .hero-history{display:inline-flex;padding:6px 10px;border:1px solid #cbdcea;border-radius:6px;background:#e6eef5;color:#125da4;font-size:.875rem;font-weight:750;line-height:1.3}
#objects{background:#f3f6f8;border-block:1px solid #e3eaf0}
#objects .objects-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:28px}
#objects .objects-heading h2{margin:10px 0 14px}
#objects .objects-heading p{max-width:620px;margin:0;color:var(--muted)}
#objects .objects-history{padding:18px 24px;border-left:2px solid #125da4;flex-shrink:0}
#objects .objects-history strong{display:block;font-size:1.8rem;font-weight:750;letter-spacing:-.035em;line-height:1.25}
#objects .objects-history span{font-size:.875rem;color:#526576}
#objects .objects-shell{background:#fff;border:1px solid #d7e2eb;border-radius:20px;box-shadow:0 14px 40px #123c6210;overflow:hidden}
#objects .objects-toolbar{padding:20px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #e1e8ed}
#objects .objects-filters{display:flex;flex-wrap:wrap;gap:7px}
#objects button.object-filter{border:1px solid #dce4ea;background:#fff;color:#334f63;border-radius:7px;min-height:42px;padding:8px 12px;font-size:.875rem;font-weight:600;line-height:1.3;display:flex;align-items:center;gap:7px;box-shadow:none;white-space:nowrap}
#objects button.object-filter:hover{background:#f0f6fa;border-color:#adcadf}
#objects button.object-filter[aria-pressed=true]{background:#12344e;color:#fff;border-color:#12344e}
#objects .object-swatch{height:7px;width:7px;border-radius:50%;background:var(--mark);flex-shrink:0}
#objects .objects-total{white-space:nowrap;color:#526576;font-size:.875rem}
#objects .objects-total strong{color:#142a3c;font-size:1.125rem;margin-right:5px}
#objects .objects-grid{display:grid;grid-template-columns:minmax(0,1fr) 290px;align-items:stretch}
#objects .objects-canvas-wrap{position:relative;min-width:0;height:570px;background:#eaf1ed;isolation:isolate}
#objects #objects-canvas{height:100%;width:100%;background:#edf2ee;font-family:inherit;font-size:.875rem;z-index:1}
#objects .objects-canvas-wrap:fullscreen{width:100vw;height:100vh;border-radius:0}
#objects .objects-loading{position:absolute;inset:0;z-index:900;display:grid;place-content:center;text-align:center;background:#edf2ee;color:#526576;padding:24px}
#objects [hidden]{display:none!important}
#objects .objects-loading p{margin:0 0 12px}
#objects .objects-loading button{border:1px solid #b8ccda;border-radius:7px;background:white;color:#12344e;padding:9px 18px}
#objects .objects-modes{position:absolute;left:18px;top:18px;z-index:800;background:#fffffff5;border:1px solid #dae4e9;border-radius:9px;padding:4px;display:flex;gap:3px;box-shadow:0 3px 12px #163a5510}
#objects .objects-modes button{border:0;background:transparent;min-height:36px;padding:7px 11px;border-radius:5px;font-size:.8125rem;font-weight:650;color:#526576;line-height:1.3}
#objects .objects-modes button[aria-pressed=true]{color:#12344e;background:#e5edf3}
#objects .objects-controls{position:absolute;right:18px;top:18px;z-index:800;display:grid;gap:6px}
#objects .objects-controls button{display:grid;place-items:center;width:40px;height:40px;background:#fff;border:1px solid #d5e0e7;box-shadow:0 3px 12px #163a5510;border-radius:8px;color:#163a55;font-size:1.5rem;font-weight:500;line-height:1;padding:0}
#objects .objects-controls button:hover{background:#eff5f9}
#objects .objects-controls svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7}
#objects .objects-help{position:absolute;bottom:29px;left:18px;z-index:750;color:#516a78;background:#fffffff0;border:1px solid #e0e8e7;border-radius:6px;padding:5px 9px;font-size:.75rem;pointer-events:none;max-width:calc(100% - 36px)}
#objects .objects-sidebar{padding:26px 23px;display:flex;flex-direction:column;gap:17px;border-left:1px solid #e1e8ed;min-width:0}
#objects .objects-sidebar h3{font-size:1.1875rem;margin:0;letter-spacing:-.025em;line-height:1.4}
#objects .objects-sidebar p{color:#526576;font-size:.875rem;line-height:1.6;margin:0}
#objects .objects-search label{font-size:.8125rem;font-weight:650;display:block;margin:0 0 7px;color:#334f63}
#objects .objects-search input{width:100%;min-width:0;border:1px solid #c9d9e5;padding:11px 12px;background:#f8fafc;border-radius:7px;color:#142a3c;font:inherit;font-size:.875rem;min-height:44px}
#objects .objects-search input::placeholder{color:#748694}
#objects .objects-selected{padding:17px 0 0;border-top:1px solid #e1e8ed;min-width:0}
#objects .object-category{display:inline-flex;align-items:center;gap:7px;font-size:.75rem;color:#526576;font-weight:600;margin-bottom:8px}
#objects .objects-selected h4{font-size:1rem;line-height:1.4;margin:0 0 8px;letter-spacing:-.01em}
#objects .objects-selected p{font-size:.8125rem;overflow-wrap:anywhere}
#objects .objects-selected small{font-size:.75rem;display:block;color:#637c8c;margin-bottom:7px}
#objects .objects-selected a{font-size:.8125rem;display:inline-block;margin-top:12px;color:#125da4}
#objects .objects-results{display:flex;flex-direction:column;gap:6px;max-height:240px;overflow:auto;padding:1px}
#objects .objects-results button{border:1px solid #e1e8ed;background:#fff;color:#142a3c;border-radius:7px;padding:9px 10px;min-height:42px;text-align:left;font-size:.8125rem;line-height:1.4}
#objects .objects-results button:hover{border-color:#8eb5d4;background:#f3f8fc}
#objects .objects-results button small{display:block;color:#60788b;margin-top:2px}
#objects .objects-sidebar .objects-cta{margin-top:auto;padding-top:16px;border-top:1px solid #e1e8ed;display:grid;gap:12px}
#objects .objects-cta .button{display:block;text-align:center;min-height:46px;font-size:.875rem;padding:12px}
#objects .objects-bottom{display:flex;justify-content:space-between;gap:18px;padding:14px 24px;border-top:1px solid #e1e8ed;font-size:.8125rem;color:#607787}
#objects .objects-bottom p{margin:0;font-size:inherit}
#objects .objects-bottom button{border:0;background:transparent;padding:0;color:#125da4;text-decoration:underline;font-size:.8125rem;white-space:nowrap;line-height:1.6}
#objects button:focus-visible,#objects a:focus-visible,#objects input:focus-visible{outline:3px solid #2c8fe0;outline-offset:3px}
#objects .leaflet-control-attribution{background:#ffffffd9;color:#607787;font-size:10px;padding:2px 6px;line-height:1.5}
#objects .leaflet-control-attribution a{color:#40657f;background:transparent}
#objects .leaflet-popup-content-wrapper{border-radius:12px;box-shadow:0 8px 28px #12345029;color:#142a3c}
#objects .leaflet-popup-content{font:inherit;line-height:1.5;margin:15px 20px}
#objects .leaflet-popup-content strong{display:block;font-size:.9375rem;margin:5px 0}
#objects .leaflet-popup-content small{font-size:.75rem;color:#607787}
#objects .leaflet-popup-close-button{background:transparent;color:#607787}
#objects .object-points-canvas{position:absolute;left:0;top:0;pointer-events:none}
#objects .objects-canvas-wrap.is-expanded{position:fixed;inset:0;height:100dvh;width:100vw;z-index:100000}
body.object-map-expanded{overflow:hidden}
@media(max-width:1050px){#objects .objects-grid{grid-template-columns:minmax(0,1fr) 250px}#objects .objects-sidebar{padding:22px 18px}#objects .objects-toolbar{align-items:flex-start}#objects .objects-total{padding-top:8px}#objects .objects-history{padding-right:0}}
@media(max-width:760px){#objects .objects-heading{display:block}#objects .objects-history{margin-top:24px;padding:0 0 0 16px}#objects .objects-history strong{font-size:1.4rem}#objects .objects-grid{grid-template-columns:1fr}#objects .objects-canvas-wrap{height:470px}#objects .objects-sidebar{border-left:0;border-top:1px solid #e1e8ed;display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:22px}#objects .objects-sidebar>h3,#objects .objects-sidebar>p{grid-column:1/-1}#objects .objects-search{grid-column:1/-1}#objects .objects-selected,#objects .objects-cta{align-self:start}#objects .objects-results{grid-column:1/-1}#objects .objects-toolbar{padding:18px;display:block}#objects .objects-total{margin:12px 0 0}#objects .objects-bottom{padding:14px 18px}#objects .objects-help{font-size:11px}#objects .objects-modes{top:12px;left:12px}#objects .objects-controls{top:12px;right:12px}}
@media(max-width:480px){#objects .objects-shell{border-radius:14px}#objects .objects-canvas-wrap{height:420px}#objects .objects-sidebar{display:flex;padding:20px;gap:16px}#objects .objects-cta{width:100%}#objects .objects-bottom{flex-direction:column;gap:8px}#objects .objects-bottom button{text-align:left;align-self:flex-start}#objects .objects-filters{gap:6px}#objects button.object-filter{font-size:.8125rem;min-height:40px;padding:8px 10px}#objects .objects-help{left:10px;bottom:39px;max-width:calc(100% - 20px)}#objects .leaflet-control-attribution{font-size:9px}}
@media(prefers-reduced-motion:reduce){#objects *{transition:none!important;animation:none!important}}

/* The approved artwork forms the services section, on the page's own surface. */
#directions.puzzle-services{--pz-blue:#1761e8;--pz-ink:#172333;--pz-muted:#556273;background:transparent;scroll-margin-top:104px;padding-block:32px 24px;isolation:isolate}
#directions.puzzle-services .directions-heading{margin-bottom:12px}
#directions .pz-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.45fr);gap:28px;align-items:center}
#directions .pz-copy{min-width:0}
#directions .pz-copy h3{font-family:Manrope,Arial,sans-serif;font-size:clamp(30px,3.2vw,44px);line-height:1.15;letter-spacing:-.035em;color:var(--pz-ink);margin:0 0 20px;max-width:420px;text-wrap:balance}
#directions .pz-copy p{font-size:17px;line-height:1.65;color:var(--pz-muted);max-width:370px;margin:0}
#directions .pz-figure{width:min(980px,100%);margin:0 auto;min-width:0;scroll-margin-top:104px}
#directions .pz-board{display:block;width:100%;height:auto;aspect-ratio:1337/1176;overflow:visible;touch-action:manipulation;mix-blend-mode:multiply;-webkit-mask-image:linear-gradient(to right,transparent,#000 2%,#000 98%,transparent),linear-gradient(to bottom,transparent,#000 2%,#000 98%,transparent);mask-image:linear-gradient(to right,transparent,#000 2%,#000 98%,transparent),linear-gradient(to bottom,transparent,#000 2%,#000 98%,transparent);-webkit-mask-composite:source-in;mask-composite:intersect}
#directions .pz-board image{pointer-events:none}
#directions .pz-piece{cursor:pointer;outline:none}
#directions .pz-hit{fill:#3893ff;fill-opacity:0;stroke:none;pointer-events:fill;transition:fill-opacity .18s ease}
#directions .pz-highlight{opacity:0;filter:brightness(1.16) saturate(1.1);pointer-events:none;transition:opacity .18s ease}
#directions .pz-focus-ring{fill:#3399ff;fill-opacity:.15;stroke:var(--pz-blue);stroke-width:3.5;vector-effect:non-scaling-stroke;opacity:0;pointer-events:none;filter:drop-shadow(0 0 6px #1761e855);transition:opacity .18s ease}
#directions .pz-piece:focus-visible .pz-highlight,#directions .pz-piece.is-active .pz-highlight,#directions .pz-piece:active .pz-highlight{opacity:1}
#directions .pz-piece:focus-visible .pz-hit,#directions .pz-piece.is-active .pz-hit,#directions .pz-piece:active .pz-hit{fill-opacity:.1}
#directions .pz-piece:focus-visible .pz-focus-ring,#directions .pz-piece.is-active .pz-focus-ring,#directions .pz-piece:active .pz-focus-ring{opacity:1}
#directions .pz-mobile-links{display:none}
#directions .pz-cadastre-links{display:flex;justify-content:flex-end;gap:8px 20px;flex-wrap:wrap;padding-right:8%;margin-top:0}
#directions .pz-cadastre-links a{display:inline-flex;align-items:center;gap:6px;min-height:44px;color:var(--blue);font-size:14px;font-weight:600;text-decoration:underline;text-decoration-color:#b6cadd;text-underline-offset:4px}
#directions .pz-cadastre-links a:hover{color:var(--pz-blue);text-decoration-color:currentColor}
#directions .pz-cadastre-links a:focus-visible{outline:2px solid var(--pz-blue);outline-offset:3px;border-radius:3px}
@media(hover:hover) and (pointer:fine){
  #directions .pz-piece:hover .pz-highlight{opacity:1}
  #directions .pz-piece:hover .pz-hit{fill-opacity:.1}
  #directions .pz-piece:hover .pz-focus-ring{opacity:1}
}
@media(max-width:900px){
  #directions .pz-layout{grid-template-columns:minmax(0,1fr);gap:18px}
  #directions .pz-copy h3{font-size:clamp(28px,5vw,38px);max-width:620px;margin-bottom:12px}
  #directions .pz-copy p{font-size:16px;max-width:580px}
}
@media(max-width:720px){
  #directions.puzzle-services{padding-block:28px 20px;scroll-margin-top:88px}
  #directions.puzzle-services .directions-heading{margin-bottom:10px}
  #directions .pz-figure{scroll-margin-top:88px}
  #directions .pz-mobile-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px}
  #directions .pz-mobile-link{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:48px;padding:10px 12px;border:1px solid #d1dfec;border-radius:8px;color:var(--pz-ink);background:#fff;text-decoration:none;font-size:14px;font-weight:700}
  #directions .pz-mobile-link span{color:var(--pz-blue)}
  #directions .pz-mobile-link:focus-visible,#directions .pz-mobile-link:active{background:#eaf3ff;border-color:var(--pz-blue);outline:2px solid var(--pz-blue);outline-offset:2px}
  #directions .pz-cadastre-links{justify-content:center;padding-right:0;margin-top:4px;gap:4px 20px}
}
@media(prefers-reduced-motion:reduce){#directions .pz-highlight,#directions .pz-hit,#directions .pz-focus-ring{transition:none}}
@media(forced-colors:active){#directions .pz-focus-ring{stroke:Highlight;fill:none;filter:none;forced-color-adjust:none}#directions .pz-mobile-link{border:1px solid ButtonText}}

.evidence-portfolio{min-width:0;container-type:inline-size;scroll-margin-top:110px;cursor:pointer}
.evidence-portfolio h3{margin:0 0 18px}
.portfolio-carousel{display:flex;flex:1;flex-direction:column;min-width:0;min-height:0}
.portfolio-viewport{display:grid;flex:1;min-width:0;min-height:0}
.portfolio-slide{grid-area:1/1;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;gap:18px;min-width:0;min-height:0;visibility:hidden;pointer-events:none}
.portfolio-slide.is-active{visibility:visible;pointer-events:auto}
.portfolio-photo{position:relative;display:block;width:100%;min-width:0;min-height:0;margin:0;padding:0;border:1px solid var(--line);border-radius:9px;background:#eaf0f4;overflow:hidden;cursor:zoom-in;line-height:0}
.portfolio-photo img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.portfolio-zoom{position:absolute;right:8px;bottom:8px;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#ffffffed;color:var(--navy);font-size:18px;line-height:1}
.portfolio-photo:hover{border-color:var(--blue)}
.portfolio-copy{min-width:0}
.portfolio-copy h4{margin:0;font-size:1.125rem;line-height:1.4;letter-spacing:-.02em;text-wrap:initial;overflow-wrap:anywhere}
.evidence-portfolio .portfolio-copy p{margin:8px 0 0;font-size:1rem;line-height:1.5;overflow-wrap:anywhere}
.portfolio-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@container(max-width:430px){.portfolio-slide{gap:14px}}
.portfolio-photo:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
@media(max-width:850px){.portfolio-photo{aspect-ratio:3/2}}

/* Native dialog and scroll snapping keep fullscreen browsing manual. */
#portfolio-viewer{box-sizing:border-box;position:fixed;inset:0;width:100%;max-width:none;height:100vh;height:100dvh;max-height:none;margin:0;padding:24px max(24px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));border:0;border-radius:0;background:#101b26;color:#fff;overflow:hidden}
#portfolio-viewer[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:16px}
#portfolio-viewer::backdrop{background:#101b26}
.portfolio-viewer-head{display:flex;justify-content:space-between;align-items:center;gap:16px}
#portfolio-viewer h2{margin:0;font-size:1.125rem;line-height:1.4;font-weight:500;letter-spacing:0;color:#dce6ef}
#portfolio-viewer button{display:grid;place-items:center;flex-shrink:0;min-width:48px;min-height:48px;padding:10px;border:1px solid #677d91;border-radius:50%;background:transparent;color:#fff;cursor:pointer;font:inherit}
#portfolio-viewer .portfolio-viewer-close{padding:10px 18px;border-radius:28px;font-size:.9375rem;white-space:nowrap}
#portfolio-viewer button:hover{background:#263b4d;border-color:#b3c7d8}
#portfolio-viewer button:active{background:#3a5063}
#portfolio-viewer button:focus-visible,.portfolio-gallery:focus-visible{outline:2px solid #a8d6ff;outline-offset:3px}
.portfolio-gallery{display:flex;min-width:0;min-height:0;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;touch-action:pan-x pinch-zoom;cursor:grab}
.portfolio-gallery::-webkit-scrollbar{display:none}
.portfolio-gallery.is-dragging{scroll-snap-type:none;cursor:grabbing;user-select:none}
.portfolio-frame{box-sizing:border-box;flex:0 0 100%;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:18px;min-width:0;min-height:0;margin:0;padding:0 12px;scroll-snap-align:start;scroll-snap-stop:always}
.portfolio-frame img{display:block;width:100%;height:100%;min-width:0;min-height:0;object-fit:contain;user-select:none;-webkit-user-drag:none}
.portfolio-frame figcaption{text-align:center;max-width:70ch;justify-self:center}
#portfolio-viewer .portfolio-frame h3{margin:0;font-size:clamp(1.125rem,2vw,1.5rem);line-height:1.35;letter-spacing:-.02em;color:#fff}
#portfolio-viewer .portfolio-frame p{margin:6px 0 0;font-size:1rem;line-height:1.4;color:#bccbd7}
.portfolio-viewer-controls{display:flex;justify-content:center;align-items:center;gap:24px}
#portfolio-viewer .portfolio-viewer-controls p{margin:0;font-size:.875rem;line-height:1.4;color:#bccbd7;text-align:center}
@media(max-width:600px){
 #portfolio-viewer{padding:16px max(12px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}
 #portfolio-viewer[open]{gap:12px}
 #portfolio-viewer h2{font-size:1rem}
 .portfolio-frame{gap:16px;padding:0 4px}
 .portfolio-viewer-controls{gap:16px}
 #portfolio-viewer .portfolio-viewer-controls p{max-width:180px}
}

#trust .trust-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:24px}
.company-details{display:grid;align-content:start;gap:16px;min-width:0}
#trust .trust-grid .evidence{min-width:0;height:auto;min-height:0;padding:24px}
#trust .trust-grid .eyebrow{margin:0 0 8px}
.company-details h3{margin:0 0 12px}
.company-details .evidence p{margin:0 0 16px;line-height:1.55}
.company-details .evidence .text-link{margin:0;line-height:1.5}
.company-contact-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:16px}
.company-details .company-contact-grid p{margin:0}
.company-hours{font-size:.875rem;white-space:nowrap}
.company-contact-links{display:flex;flex-wrap:wrap;align-items:center;gap:8px 24px;margin:16px 0 14px}
.company-contact-links a{font-size:1rem;line-height:1.5;text-underline-offset:3px}
.company-contact-links a:first-child{font-weight:600;text-decoration:none}
.company-details .company-reviews{background:#fff}
.company-reviews h3{font-size:1.125rem;line-height:1.4;margin-bottom:10px}
#trust .evidence-portfolio{align-self:stretch;display:flex;flex-direction:column;contain:size}
#trust .evidence-portfolio h3{margin:0 0 18px}
@media(max-width:1100px) and (min-width:851px){
  .company-contact-grid{grid-template-columns:minmax(0,1fr);gap:10px}
  .company-hours{white-space:normal}
}
@media(max-width:850px){
  #trust .trust-grid{grid-template-columns:minmax(0,1fr);gap:16px}
  .company-details{display:contents}
  #trust .company-terms{order:1}
  #trust .evidence-portfolio{order:2;contain:none}
  #trust .company-contacts{order:3}
  #trust .company-reviews{order:4}
}
@media(max-width:600px){
  #trust .trust-grid .evidence{padding:20px}
  .company-contact-grid{grid-template-columns:minmax(0,1fr);gap:12px}
  .company-contact-links{gap:8px 16px;margin:14px 0}
}

/* Final approved homepage composition. Existing artwork and palette are retained. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.quick-nav{border-bottom:1px solid #dce6ee;background:#f6f9fc}
.quick-nav nav{display:flex;gap:12px 28px;overflow-x:auto;scrollbar-width:thin;white-space:nowrap}
.quick-nav a{display:inline-flex;align-items:center;min-height:44px;font-size:.875rem;font-weight:600;text-decoration:none;color:#355b78}
.header nav{gap:14px}.header nav a{font-size:.8125rem}.header{gap:18px}
@media(min-width:1101px) and (max-width:1450px){.header-tz{display:none}.header nav{gap:12px}.header nav a{font-size:.75rem}}
@media(min-width:1101px){.header .phone{font-size:.8125rem}}
#main>section:not(.hero){padding-block:40px}
#main .section-heading{gap:10px;margin-bottom:22px}
#main .section-heading h2{max-width:30ch;margin:0;font-size:clamp(1.8rem,2.7vw,2.5rem);line-height:1.16}
#main .section-heading p{margin:0}
#report .result-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.result-card{min-width:0;display:flex;flex-direction:column}.result-number{color:#55809f;font-size:.8125rem;font-weight:700;margin-bottom:8px}
.result-card h3{font-size:1.1875rem;margin-bottom:10px}.result-card>p{font-size:.9375rem;line-height:1.55;color:var(--muted)}
#report .report-page{margin-top:auto;display:grid;grid-template-columns:92px minmax(0,1fr);gap:14px;padding:12px;width:100%;align-items:center;box-shadow:none;background:#f4f8fb;border-radius:10px;text-align:left}
#report .report-page img{height:126px;width:92px;object-fit:contain;background:#fff;border:1px solid #d8e3eb}
#report .report-page span{font-size:.875rem;line-height:1.45;font-weight:600;margin:0}
#report .report-page small{font-weight:400;font-size:.75rem}
#report .report-caption{font-size:.8125rem;line-height:1.45;margin:8px 0 0;padding-left:8px;border-left:2px solid #7198b6}
.report-bottom{display:grid;grid-template-columns:1fr 1.3fr;gap:32px;border-top:1px solid var(--line);padding-top:20px;margin-top:22px}
.report-bottom .text-link{display:inline-flex;align-items:center;min-height:44px;margin-right:22px;font-size:.9375rem}.report-bottom .small{margin:2px 0 0}
.foundation-advice{font-size:.9375rem;line-height:1.6;margin:0}.foundation-advice>strong{display:block;margin-bottom:6px;color:#153e5b}
#risks .section-heading{max-width:950px}#risks .section-heading h2{max-width:30ch}
#risks .risk-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
#risks .risk-grid article{min-width:0}#risks .risk-photo,#risks .risk-repair{width:100%;height:auto;aspect-ratio:16/10;margin:0 0 16px;border-radius:10px;overflow:hidden}
#risks .risk-photo img{display:block;width:100%;height:100%;object-fit:cover}
.risk-repair{display:grid;place-items:center;background:linear-gradient(140deg,#d7e1e8,#9bafbe);color:#294254}
.risk-repair svg{width:90%;height:90%}
#risks .risk-grid h3{font-size:1.3rem;margin-bottom:10px}#risks .risk-grid p{font-size:.9375rem;margin:0;line-height:1.55}
#risks .actions{justify-content:space-between;border-top:1px solid #cdd9e2;padding-top:22px;gap:16px}.risk-conclusion{font-size:1.1875rem;max-width:620px}
#price .included-icons{gap:18px;padding:14px 0;margin-bottom:8px}.price-base-volume{font-size:1rem;margin-bottom:18px;max-width:900px}
#price .included-item{display:grid;grid-template-columns:56px 1fr;gap:2px 12px;align-items:center;text-align:left}
#price .included-item img{width:56px;height:56px;grid-row:1/3;margin:0}
#price .included-item span{font-size:.9375rem}#price .included-item small{font-size:.8125rem;line-height:1.4;max-width:none}
#price .price-terms{padding-block:18px}#price .price-terms h3{margin-bottom:6px}#price .price-terms p{font-size:.875rem;line-height:1.5}
#price .unified-calculator{padding-top:30px;border-top:0;margin-top:4px}
#calculator .section-heading h2{font-size:clamp(1.5rem,2.2vw,1.9rem)}
#calculator .ec-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}
#calculator .ec-result{position:static}#calculator .ec-advanced-content{padding-top:14px}
#calculator #ec-advanced>summary{font-size:.9375rem;padding:16px 28px 16px 0}
#calculator #ec-advanced>summary:after{top:13px}#calculator .ec-plan svg{max-height:185px}
#calculator .ec-metrics{margin:14px 0}#calculator .ec-metrics dt{font-size:.8125rem}
#calculator .ec-explanation{border:0;background:transparent;margin:16px 0 0;padding:0}
#calculator .ec-accordions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
#calculator .ec-detail>summary{font-size:.875rem;padding:14px 28px 14px 0}#calculator .ec-detail>summary:after{top:10px}
#calculator .ec-followup{grid-template-columns:1fr 1.25fr;align-items:start;gap:24px;padding-top:12px;margin-top:0}
#calculator .ec-followup-action{display:flex;flex-wrap:wrap;gap:12px}#calculator .ec-followup-action .button{flex:1 1 180px;margin:0}
#calculator .ec-followup-action>p{flex-basis:100%;margin:0}#calculator .ec-scope-details h3{display:none}
#calculator .ec-scope-details>div{padding-top:12px}
#add-to-bundle:disabled{opacity:.55;cursor:not-allowed}
#services.services.wrap{padding-block:40px}
#services .bundle-card{padding:24px;gap:0}#services .bundle-top{grid-template-columns:minmax(0,1fr) 110px;gap:8px 18px;margin-bottom:14px}
#services .bundle-icon{grid-column:2;grid-row:1/3;width:110px;height:110px;max-width:100%;margin:0;justify-self:end}
#services .bundle-top>.eyebrow{grid-column:1;grid-row:1;align-self:end;font-size:.75rem;margin:0}
#services .bundle-top h3,#bundle-build .bundle-top h3{grid-column:1;grid-row:2;max-width:21ch;margin:0;font-size:1.5rem;line-height:1.2;text-wrap:initial;align-self:start}
#services .bundle-result{padding:0;background:transparent;border:0;margin:0 0 18px;flex:1}
#services .bundle-result p{font-size:.9375rem;line-height:1.6;margin:0}
#services .bundle-price{margin:0 0 10px;padding:13px 16px;display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center;justify-content:space-between}
#services .bundle-price strong{font-size:1.8rem;margin:0}#services .bundle-price span{font-size:.875rem;margin:0}
#services .bundle-price-note:empty{display:none}#services .bundle-price-note{font-size:.8125rem;margin:0 0 12px}
#services .bundle-card details{border-top:1px solid var(--line);margin:0}
#services .bundle-card summary{padding:15px 30px 15px 0;font-size:.9375rem}#services .bundle-card summary:after{top:12px}
#services .bundle-card .bundle-scope li,#services .bundle-scope p{font-size:.875rem;line-height:1.55}
#services .bundle-options{border:0;margin:0;padding:0 0 12px}#services .bundle-options label{font-size:.875rem;line-height:1.5;padding-block:10px}
#services .bundle-card>.button{margin-top:14px;width:100%}
.bundle-calculation{background:#eaf5f0;border-left:3px solid #3d8c71;padding:12px 14px;margin-bottom:12px;font-size:.875rem;line-height:1.5}
.bundle-calculation p{margin:5px 0}.bundle-calculation button{background:none;border:0;padding:8px 0;min-height:36px;font-size:.8125rem;color:#24634e}
#services .bundle-assurance{padding:14px 18px;margin-top:18px;font-size:.9375rem}#services .bundle-assurance a{color:#fff}
#services .b2b{padding-top:18px}
#directions .pz-layout{grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:30px}
#directions .pz-copy h3{font-size:clamp(1.8rem,2.8vw,2.4rem);max-width:450px;margin-bottom:18px}
.direction-explanations{list-style:none;padding:0;margin:0 0 18px;display:grid;gap:13px;font-size:.9375rem;line-height:1.55;color:#526577}
.direction-explanations a{color:#183e5d;font-weight:700;text-decoration:underline;text-decoration-color:#adc7dc}
#directions .pz-copy .pz-help{font-size:.9375rem;line-height:1.5;margin-bottom:14px}
#works #portfolio{contain:none;display:block;padding:0;border:0;container-type:inline-size;cursor:default;background:transparent}
#works .portfolio-slide{grid-template-rows:auto auto;gap:20px}
#works .portfolio-photo{aspect-ratio:2/1;max-height:600px;background:#e4ecf2;border-radius:14px}
#works .portfolio-photo img{object-fit:contain}
#works .portfolio-copy{max-width:900px}#works .portfolio-copy h4{font-size:1.5rem;line-height:1.3}
#works .portfolio-copy p{font-size:1rem;line-height:1.65;margin:8px 0 0}
#trust .company-intro{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(180px,1fr);max-width:none;gap:24px;align-items:end}
#trust .company-intro h2{max-width:27ch;margin:10px 0 16px;font-size:clamp(1.75rem,2.7vw,2.3rem)}
#trust .company-intro p{max-width:65ch;color:var(--muted);margin:0;font-size:1rem}
.company-documents{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding-bottom:4px;font-size:.9375rem}
.company-people{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:stretch}
#trust #team,#trust .company-reviews{margin:0;padding:24px;border:1px solid var(--line);border-radius:12px;min-width:0;background:#f6f9fb}
#trust #team .section-heading{margin:0 0 16px;gap:8px}#trust #team .section-heading h3{font-size:1.125rem;margin:0}
#trust #team .team-grid{display:grid;grid-template-columns:1fr;gap:0;align-items:stretch}
#trust #team .team-card{grid-area:1/1;display:grid;grid-template-columns:112px minmax(0,1fr);gap:18px;align-items:center;visibility:hidden;pointer-events:none;margin:0;padding:0;border:0}
#trust #team .team-card.is-active{visibility:visible;pointer-events:auto}
#trust #team .team-card>img{width:112px;height:140px;object-fit:cover;margin:0;border-radius:8px}
#trust #team .team-copy h3{font-size:1rem;min-height:0;margin:0 0 8px}#trust #team .team-copy p{font-size:.875rem;line-height:1.5;margin:0}
#trust .company-reviews{display:flex;flex-direction:column;align-items:flex-start}
#trust .company-reviews h3{font-size:1.35rem;line-height:1.3;margin:0 0 12px}#trust .company-reviews p{font-size:.9375rem;line-height:1.65}
#trust .company-reviews>a{margin-top:auto;min-height:44px;display:inline-flex;align-items:center}
:is(#trust,#trust-partners) #partners{padding:24px 0 0;border:0;background:transparent;margin-top:4px}
:is(#trust,#trust-partners) #partners>.wrap{width:100%}:is(#trust,#trust-partners) #partners h2{font-size:1rem;font-weight:600;letter-spacing:0}
#faq .faq-list{min-width:0}.faq-list details{border-bottom:1px solid var(--line)}.faq-list details:first-child{border-top:1px solid var(--line)}
.faq-list summary{font-size:1rem;padding:18px 32px 18px 0;line-height:1.5}.faq-list summary:after{top:15px}.faq-list p{font-size:.9375rem;line-height:1.65;color:var(--muted);padding-right:20px}
#request #context{margin:0 0 20px;background:#edf5fb;color:#183e5b;display:block;padding:16px;border-radius:8px;border-color:#b7d1e5}
#context-text{white-space:pre-line;display:block;font-size:.875rem;line-height:1.6}
#request #clear-context{display:block;margin:8px 0 0;color:#245b84;text-align:left}
#bundle-picker{width:min(760px,calc(100% - 32px));padding:28px;border:0;border-radius:16px}
.bundle-picker-head{display:flex;gap:16px;align-items:start;justify-content:space-between;margin-bottom:18px}
.bundle-picker-head h2{font-size:1.6rem;margin:0}.bundle-picker-head button{background:#f0f5f8;border:1px solid var(--line);border-radius:6px;padding:8px 12px;min-height:44px}
.bundle-choices{display:grid;grid-template-columns:1fr 1fr;gap:16px}.bundle-choice{display:flex;flex-direction:column;gap:8px;text-align:left;border:1px solid #bbcedf;border-radius:10px;padding:20px;background:#f5f9fc;color:#173f5e;min-width:0;line-height:1.5}
.bundle-choice:hover{border-color:#1c6097;background:#eaf4fb;filter:none}.bundle-choice strong{font-size:1.15rem}.bundle-choice b{font-size:1.5rem;margin-top:auto}.bundle-choice small{font-size:.8125rem}
#bundle-picker .picker-note{font-size:.875rem;color:#526577;margin:18px 0 0}
@media(max-width:1000px){#calculator .ec-layout{grid-template-columns:1fr 1fr}#price .included-icons{grid-template-columns:1fr 1fr}.company-people{gap:16px}#trust #team,#trust .company-reviews{padding:20px}}
@media(max-width:900px){#directions .pz-layout{grid-template-columns:1fr}.direction-explanations{grid-template-columns:1fr 1fr;gap:14px 24px}#directions .pz-figure{max-width:660px}#calculator .ec-layout{grid-template-columns:1fr}#trust .company-intro{grid-template-columns:1fr}.company-documents{flex-direction:row;gap:20px;flex-wrap:wrap}.company-people{grid-template-columns:1fr 1fr}#trust #team .team-card{grid-template-columns:88px minmax(0,1fr);gap:12px}#trust #team .team-card>img{width:88px;height:110px}#calculator .ec-plan svg{max-height:165px}}
@media(max-width:760px){#main>section:not(.hero){padding-block:32px}#report .result-grid{gap:18px}#report .result-card h3{font-size:1rem}#report .report-page{grid-template-columns:1fr}#report .report-page img{width:100%;height:100px}#report .report-page span{font-size:.8125rem}.report-bottom{grid-template-columns:1fr;gap:18px}#risks .risk-grid{gap:18px}#risks .risk-grid h3{font-size:1.125rem}#calculator .ec-accordions{grid-template-columns:1fr;gap:0}#calculator .ec-followup{grid-template-columns:1fr;gap:12px}#services.services.wrap{padding-block:32px}.company-people{grid-template-columns:1fr}#trust #team .team-card{grid-template-columns:112px minmax(0,1fr)}#trust #team .team-card>img{width:112px;height:140px}#works .portfolio-photo{aspect-ratio:4/3}#works .portfolio-copy h4{font-size:1.25rem}}
@media(max-width:600px){.quick-nav nav{gap:22px}.quick-nav a{font-size:.8125rem}#main .section-heading h2{font-size:1.8rem}#report .result-grid{grid-template-columns:1fr;gap:20px}.result-card{display:grid;grid-template-columns:minmax(0,1fr) 116px;gap:0 16px}.result-card>h3,.result-card>.result-number,.result-card>p{grid-column:1}.result-card>.report-page{grid-column:2;grid-row:1/4;align-self:start}#report .result-card h3{font-size:1.125rem}#report .result-card>p:not(.report-caption){font-size:.875rem;margin-bottom:0}#report .report-page{padding:8px;gap:8px}#report .report-page img{height:104px}#report .report-page span{font-size:.75rem}#report .report-page small{font-size:.6875rem}#report .report-caption{grid-column:1/-1;margin-top:10px;font-size:.8125rem}.report-bottom{padding-top:16px}.foundation-advice{font-size:.875rem}#risks .risk-grid{grid-template-columns:1fr;gap:20px}#risks .risk-grid article{display:grid;grid-template-columns:112px minmax(0,1fr);gap:0 16px}#risks .risk-photo,#risks .risk-repair{grid-row:1/3;aspect-ratio:1/1;margin:0;align-self:start}#risks .risk-grid h3{font-size:1.125rem;margin-bottom:8px}#risks .risk-grid p{font-size:.875rem}#risks .risk-conclusion{font-size:1.125rem}#price .included-item{grid-template-columns:44px 1fr;gap:2px 8px}#price .included-item img{width:44px;height:44px}#price .included-item span{font-size:.875rem}#price .included-item small{font-size:.75rem}#price .price-terms{padding-block:0}#price .price-terms>div{padding-block:12px}#price .unified-calculator{padding-top:22px}#calculator .ec-layout{gap:12px}#calculator .ec-plan svg{max-height:140px}#calculator .ec-followup-action .button{flex-basis:100%}#services .bundle-card{padding:20px}#services .bundle-top{grid-template-columns:minmax(0,1fr) 82px;gap:8px 12px}#services .bundle-top h3,#bundle-build .bundle-top h3{font-size:1.25rem}#services .bundle-icon{width:82px;height:82px}#services .bundle-top>.eyebrow{font-size:.625rem;letter-spacing:.04em;padding:5px 7px}#services .bundle-result p{font-size:.875rem}#services .bundle-price{padding:12px}#services .bundle-price strong{font-size:1.65rem}.direction-explanations{grid-template-columns:1fr;gap:12px}#directions .pz-copy h3{font-size:1.85rem}#directions .pz-copy .pz-help{max-width:none}#trust #team,#trust .company-reviews{padding:20px}#trust .company-intro h2{font-size:1.75rem}:is(#trust,#trust-partners) #partners{padding-top:20px}.bundle-choices{grid-template-columns:1fr}#bundle-picker{padding:20px}.bundle-picker-head h2{font-size:1.3rem}.bundle-choice{padding:16px}.bundle-choice b{font-size:1.35rem}}
@media(max-width:360px){.result-card{grid-template-columns:minmax(0,1fr) 96px;column-gap:12px}#trust #team .team-card{grid-template-columns:88px minmax(0,1fr)}#trust #team .team-card>img{width:88px;height:110px}#risks .risk-grid article{grid-template-columns:90px minmax(0,1fr)}}
/* Exact source fragments; highlighted coordinates do not alter the report. */
#report .report-page{display:flex;flex-direction:column;align-items:stretch;gap:10px}
#report .report-excerpt{display:block;width:100%;height:156px;min-width:0;background:#fff;border:1px solid #dce5ed}
#report .report-page>span{min-height:48px}
#modal:has(.report-zoom){width:min(1120px,calc(100% - 32px));max-width:none}
.report-zoom>p{font-size:1rem;line-height:1.6;max-width:78ch}
.report-zoom-frame{overflow:auto;max-width:100%;border:1px solid var(--line);margin-bottom:18px;background:#fff}
.report-zoom .report-excerpt{display:block;min-width:800px;width:100%;height:auto}
.report-zoom>a{display:inline-flex;min-height:44px;align-items:center}
.footer-hours{font-size:.875rem;line-height:1.6;margin-top:14px}
@media(max-width:600px){#report .report-excerpt{height:110px}#report .report-page>span{min-height:0}.report-zoom>p{font-size:.9375rem}}

.brand .brand-slogan{font-size:.875rem;line-height:1.35;letter-spacing:0;font-weight:500;margin-top:5px;text-transform:none}
@media(max-width:600px){.header .brand .brand-slogan{font-size:.75rem}}

/* v91: clear disclosure chevrons and concise company advantages. */
details>summary::after{content:"";display:block;width:10px;height:10px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;right:6px;margin-top:5px;transform:rotate(45deg);transform-origin:center;transition:transform .2s ease}
details[open]>summary::after{content:"";transform:rotate(225deg)}
.company-benefits{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:0 0 28px}
.company-benefits article{padding:22px 18px;border-top:3px solid var(--blue,#176cad);background:#f6f9fb;border-radius:0 0 10px 10px}
.company-benefits h3{font-size:1.2rem;line-height:1.35;margin:0 0 12px;color:var(--ink,#183044)}
.company-benefits p{font-size:.9375rem;line-height:1.6;color:var(--muted);margin:0}
@media(min-width:901px){#directions .pz-figure{width:100%;max-width:none}}
@media(max-width:1000px){.company-benefits{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}
@media(max-width:600px){.company-benefits{grid-template-columns:1fr;gap:12px;margin-bottom:20px}.company-benefits article{padding:18px}.company-benefits h3{font-size:1.125rem;margin-bottom:8px}}
@media(prefers-reduced-motion:reduce){details>summary::after{transition:none}}

/* Linked review rating in the existing footer brand column. */
.footer-about{min-width:0}
footer .footer-rating{display:inline-flex;align-items:center;gap:12px;margin-top:24px;padding:12px 16px;border:1px solid #52697b;border-radius:10px;text-decoration:none;color:#fff;max-width:100%}
footer .footer-rating:hover{background:#ffffff0d;color:#fff;border-color:#9fb6c8}
.footer-rating-score{font-size:2rem;line-height:1;font-weight:700;letter-spacing:-.04em}
.footer-rating-copy{display:grid;gap:4px;font-size:.875rem;line-height:1.4}
.footer-rating-stars{font-size:1rem;letter-spacing:2px;color:#ffc94d;white-space:nowrap}

/* Engineering Clarity: Estate3D_Style_Explorer.html, theme 1. */
@font-face{font-family:'Golos Text';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/puzzle-golos-400.woff') format('woff')}
@font-face{font-family:'Golos Text';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/puzzle-golos-700.woff') format('woff')}
:root{--bg:#f5f7fa;--surface:#fff;--paper:#fff;--ink:#172333;--muted:#556273;--line:#cbd4df;--accent:#214ccd;--hover:#193ba5;--pressed:#142f84;--soft:#e6edff;--shade:var(--bg);--blue:var(--accent);--strong:var(--accent);--navy:var(--ink);--radius:12px;--card-radius:18px;--font-body:'Golos Text','Segoe UI',Arial,sans-serif;--font-heading:'Manrope','Segoe UI',Arial,sans-serif;font-family:var(--font-body);font-size:16px;line-height:1.5556;background:var(--bg);font-synthesis:none}
body{font-family:var(--font-body);font-size:1.125rem;line-height:1.5556;color:var(--ink);background:var(--bg)}
button,input,select,textarea{font-family:var(--font-body)}
h1,h2,h3,h4,.brand{font-family:var(--font-heading);font-weight:700;color:var(--ink)}
h1,h2{letter-spacing:-.035em}h3,h4{letter-spacing:-.02em}
strong,b{font-weight:700}
a:hover,.text-link:hover{color:var(--accent)}
:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
input[type=checkbox],input[type=radio]{accent-color:var(--accent)}
#main>section:not(.hero),#services.services.wrap{padding-block:48px}
#main .section-heading{gap:12px;margin-bottom:24px}
#main .section-heading h2,#directions .directions-heading h2,#objects .objects-heading h2,#request h2{font-size:clamp(1.875rem,3vw,2.5rem);line-height:1.2;font-weight:700;color:var(--ink);margin:0;max-width:30ch}
#main .section-heading p,#objects .objects-heading p{font-size:1.125rem;line-height:1.5556;color:var(--muted)}
.eyebrow{font-family:var(--font-body);font-size:.75rem;line-height:1.5;letter-spacing:.1em;color:var(--muted);font-weight:700}
.small,.caption,.report-caption{font-size:.875rem;line-height:1.55;color:var(--muted)}
.text-link{font-size:1rem;font-weight:700;line-height:1.5;color:var(--accent);text-decoration-color:var(--line)}
.text-link:hover{text-decoration-color:currentColor}
header{background:var(--surface);border-color:var(--line)}
.header{gap:18px}.header nav{gap:14px}.header nav a,.header .phone,.header-tz{font-size:.875rem;color:var(--ink);line-height:1.5}
.brand .brand-slogan{font-family:var(--font-body);font-weight:400;color:var(--muted);letter-spacing:0}
.quick-nav{background:var(--bg);border-color:var(--line)}.quick-nav a{font-size:.875rem;color:var(--muted);font-weight:400}
.quick-nav a:hover{color:var(--accent)}
/* Primary actions are the only large cobalt surfaces. */
.button,.button:link,.button:visited,#offer .actions .button,#offer .actions .button:link,#offer .actions .button:visited,#services .bundle-card .button,#services .bundle-card .button:link,#services .bundle-card .button:visited,#request .messenger-links .button{background:var(--accent);border:1px solid var(--accent);color:#fff;border-radius:var(--radius);font-family:var(--font-body);font-size:1rem;line-height:1.5;font-weight:700;min-height:54px;padding:14px 22px;box-shadow:none;filter:none;white-space:normal;transition:background .16s ease,border-color .16s ease}
.button:hover,#main .button:hover,#offer .actions .button:hover,#services .bundle-card .button:hover,#request .messenger-links .button:hover{background:var(--hover);border-color:var(--hover);color:#fff;box-shadow:none;filter:none}
.button:active,#main .button:active,#offer .actions .button:active,#services .bundle-card .button:active,#request .messenger-links .button:active{background:var(--pressed);border-color:var(--pressed);color:#fff}
.button.outline,.button.outline:link,.button.outline:visited,#main .button.outline,#request .messenger-links .button.outline{background:transparent;color:var(--ink);border-color:var(--muted);box-shadow:none}
.button.outline:hover,#main .button.outline:hover,#request .messenger-links .button.outline:hover{background:var(--soft);color:var(--ink);border-color:var(--accent)}
.button.outline:active,#main .button.outline:active,#request .messenger-links .button.outline:active{background:var(--line);color:var(--ink);border-color:var(--accent)}
#main .button:disabled{background:#e0e4e7;border-color:#c9ced2;color:#66727c;opacity:1;cursor:not-allowed}
/* Hero: retain the artwork and blend it into the approved base colour. */
.hero.hero-unified,#offer .hero-facts{background:var(--bg)}
#offer .hero-copy{padding-block:40px;min-width:0}
#offer h1{color:var(--ink);font-size:clamp(2.25rem,4.5vw,4rem);line-height:1.0625;font-weight:700;letter-spacing:-.035em;max-width:10.5em;margin-bottom:24px;text-wrap:balance}
#offer .hero-intro{margin-bottom:20px}.hero-unified .eyebrow,#offer .hero-history{color:var(--muted)}
#offer .hero-service{font-size:1.125rem;line-height:1.5556;color:var(--muted);margin-bottom:24px;max-width:31ch}
#offer .hero-price,#calculator .ec-price,#services .bundle-price strong,#calculator .ec-metrics dd{font-family:var(--font-body);font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.035em;color:var(--ink)}
#offer .hero-price{font-size:clamp(2.5rem,4vw,3.5rem);line-height:1.15;margin-bottom:12px}
#offer .hero-scope{font-size:1rem;line-height:1.5;color:var(--muted);margin-bottom:12px}
#offer .offer-assurance{font-size:.875rem;line-height:1.55;color:var(--muted);margin:0 0 20px}
#offer .actions{gap:12px 20px}#offer .actions .text-link{font-size:1rem;line-height:1.5;color:var(--accent)}
#offer .hero-stage:after{background:linear-gradient(90deg,#f5f7fa 0%,#f5f7fa 31%,#f5f7fafA 38%,#f5f7fad1 44%,#f5f7fa00 62%)}
#offer .hero-photo img{filter:none}
#offer .hero-photo:after{background:linear-gradient(180deg,#f5f7fa 0%,#f5f7fa00 5%,#f5f7fa00 94%,#f5f7fa 100%)}
#offer .hero-facts.fact-cards{padding-block:20px;gap:16px}
#offer .fact-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--card-radius);padding:20px 16px;box-shadow:none;gap:14px}
#offer .fact-copy strong{font-family:var(--font-body);font-size:1rem;line-height:1.5;letter-spacing:0;font-weight:700;color:var(--ink);margin-bottom:6px}
#offer .fact-copy span{font-size:.875rem;line-height:1.5;color:var(--muted)}
/* Results, risks and the scope of the offer. */
#report .result-card h3,#risks .risk-grid h3{font-size:1.25rem;line-height:1.4}
#report .result-card>p:not(.report-caption),#risks .risk-grid p,.foundation-advice{font-size:1.125rem;line-height:1.5556;color:var(--muted)}
.result-number{color:var(--accent)}
#report .report-page{background:var(--surface);border:1px solid var(--line);border-radius:var(--card-radius);padding:16px}
#report .report-page span{font-size:1rem;line-height:1.5;font-weight:700;color:var(--ink)}
#report .report-page small,#report .report-caption{font-size:.875rem;line-height:1.5;color:var(--muted)}
#report .report-caption{border-color:var(--line)}
#report .report-excerpt,.report-zoom-frame{border-color:var(--line)}
.foundation-advice>strong{color:var(--ink)}
#risks .risk-photo,#risks .risk-repair{border-radius:var(--card-radius)}
#risks .actions,.report-bottom{border-color:var(--line)}
#risks .risk-conclusion{font-size:1.125rem;line-height:1.5556}
#price .included-item span{font-family:var(--font-body);font-size:1rem;line-height:1.5;color:var(--ink)}
#price .included-item small{font-size:.875rem;line-height:1.5;color:var(--muted)}
#price .price-terms h3{font-size:1.25rem;line-height:1.4}
#price .price-terms p,.price-base-volume{font-size:1rem;line-height:1.625;color:var(--muted)}
/* Calculator: neutral panels, consistent labels and a single selection colour. */
#calculator .section-heading h2{font-size:clamp(1.5rem,2.5vw,2rem);line-height:1.25}
#calculator .ec-controls,#calculator .ec-result{background:var(--surface);border:1px solid var(--line);border-radius:var(--card-radius);padding:24px}
#calculator .ec-field,#calculator .ec-check,#calculator .ec-project-toggle,#calculator #ec-reset{font-size:1rem;line-height:1.5}
#calculator .ec-field{font-weight:400}
#calculator .ec-field select{font-size:1rem;min-height:48px;border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);background:var(--surface)}
#calculator .ec-label>span,#calculator #ec-foundation-depth .ec-label>span,#calculator [data-control=basementDepth] .ec-label>span{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);box-shadow:none;font-weight:700}
#calculator .ec-label input{color:var(--ink)}
#calculator .ec-field input[type=range]{accent-color:var(--accent)}
#calculator .ec-field input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(to right,var(--accent) var(--fill,0%),var(--line) var(--fill,0%))}
#calculator .ec-field input[type=range]::-webkit-slider-thumb{border-color:var(--accent);box-shadow:none}
#calculator .ec-field input[type=range]::-moz-range-track{background:var(--line)}
#calculator .ec-field input[type=range]::-moz-range-progress{background:var(--accent)}
#calculator .ec-field input[type=range]::-moz-range-thumb{border-color:var(--accent)}
#calculator .ec-check{background:var(--bg);border-color:var(--line);border-radius:var(--radius)}
#calculator .ec-check input,#calculator .ec-modes input{accent-color:var(--accent)}
#calculator .ec-check:has(input:checked),#calculator .ec-modes label:has(input:checked){background:var(--soft);border-color:var(--accent);box-shadow:none}
#calculator .ec-modes label{border-color:var(--line);border-radius:var(--radius);font-size:1rem}
#calculator .ec-project-toggle{background:var(--soft);border-color:var(--line);color:var(--accent);border-radius:var(--radius);font-weight:700}
#calculator .ec-project-toggle[aria-expanded=true]{background:var(--soft);border-color:var(--accent);color:var(--accent)}
#calculator #ec-reset{color:var(--accent)}
#calculator .ec-status{background:var(--soft);color:var(--accent);font-size:.875rem;line-height:1.5;border-radius:6px}
#calculator .ec-price{font-size:clamp(2rem,3.3vw,3rem)}
#calculator .ec-metrics>div{background:var(--bg);border-radius:var(--radius);border-color:var(--line)}
#calculator .ec-metrics dt,#calculator .ec-note,#calculator .ec-price-context,#calculator .ec-input-help{font-size:.875rem;line-height:1.55;color:var(--muted)}
#calculator .ec-detail>summary,#calculator #ec-advanced>summary{font-size:1rem;line-height:1.5;color:var(--ink)}
#calculator .ec-plan svg,#calculator .ec-depth-plan svg{font-family:var(--font-body)}
#calculator .ec-plan svg>rect{fill:var(--bg);stroke:var(--line)}
#calculator .ec-plan text,#calculator .ec-depth-plan text{fill:var(--muted)}
#calculator .ec-plan text[fill='#fff']{fill:#fff}
#calculator .ec-plan text[paint-order]{stroke:var(--bg)}
/* Service bundles keep white cards on the common light canvas. */
#services.services.wrap{background:var(--bg);color:var(--ink);border-block:1px solid var(--line)}
#services>.section-heading h2{color:var(--ink)}
#services>.section-heading>.eyebrow,#services>.section-heading>p{color:var(--muted)}
#services .bundle-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--card-radius);box-shadow:0 8px 24px #17233308;padding:28px}
#services .bundle-top h3,#bundle-build .bundle-top h3{font-size:1.5rem;line-height:1.3;letter-spacing:-.025em}
#services .bundle-top>.eyebrow{background:var(--bg);color:var(--muted);border-radius:6px;font-size:.75rem;line-height:1.5}
#services .bundle-result p{font-size:1.125rem;line-height:1.5556}
#services .bundle-price{background:var(--bg);border-radius:var(--radius)}
#services .bundle-price strong{font-size:2rem;line-height:1.25}
#services .bundle-price span,#services .bundle-price-note{font-size:.875rem;line-height:1.5;color:var(--muted)}
#services .bundle-card summary,#services .bundle-card .bundle-scope li,#services .bundle-scope p,#services .bundle-options label{font-size:1rem;line-height:1.5}
#services .bundle-options input{accent-color:var(--accent)}
.bundle-calculation{background:var(--soft);border-color:var(--accent);color:var(--ink);border-radius:0 var(--radius) var(--radius) 0;font-size:1rem}
.bundle-calculation button{color:var(--accent);font-size:.875rem}
#services>.bundle-assurance{background:var(--surface);border:1px solid var(--line);border-radius:var(--card-radius)}
#services>.bundle-assurance p,#services>.b2b,#services .b2b-file-type{color:var(--muted);font-size:1rem;line-height:1.625}
#services>.bundle-assurance strong{color:var(--ink)}
#services .bundle-assurance a,#services>.b2b>a,#services .b2b-actions a{color:var(--accent)}
#services .b2b-actions a:hover{color:var(--hover)}
/* Preserve the approved puzzle geometry, shadows and two-thirds column. */
#directions.puzzle-services{--pz-blue:var(--accent);--pz-ink:var(--ink);--pz-muted:var(--muted);background:transparent}
#directions .pz-copy h3{font-size:clamp(1.75rem,2.4vw,2rem);line-height:1.25;font-weight:700;color:var(--ink)}
#directions .pz-copy .pz-help,.direction-explanations{font-family:var(--font-body);font-size:1.125rem;line-height:1.5556;color:var(--muted)}
.direction-explanations a{color:var(--ink);text-decoration-color:var(--line)}
.direction-explanations a:hover{color:var(--accent)}
#directions .pz-highlight{filter:none}
#directions .pz-hit{fill:var(--accent)}
#directions .pz-focus-ring{fill:var(--soft);fill-opacity:.22;stroke:var(--accent);filter:none}
#directions .pz-mobile-link{background:var(--surface);border-color:var(--line);border-radius:var(--radius);font-size:1rem;line-height:1.5}
#directions .pz-mobile-link:focus-visible,#directions .pz-mobile-link:active{background:var(--soft);border-color:var(--accent)}
/* Portfolio, workflow and company evidence share the same type scale. */
#works .portfolio-photo{background:var(--surface);border:1px solid var(--line);border-radius:var(--card-radius)}
#works .portfolio-copy h4{font-size:1.5rem;line-height:1.35}
#works .portfolio-copy p,#process .step-grid p,#process .process-preparation,#process .site-access p{font-size:1.125rem;line-height:1.5556;color:var(--muted)}
#process .step-grid h3{font-size:1.25rem;line-height:1.4}
#process .step-grid li{border-color:var(--line)}
#process .research-stage-number{color:var(--muted);font-family:var(--font-body);font-weight:700}
#process .site-access{background:var(--surface);border:1px solid var(--line);border-radius:var(--card-radius)}
#process .site-access li{font-size:1rem;line-height:1.625;color:var(--muted)}
#trust .company-intro h2{font-size:clamp(1.875rem,3vw,2.5rem);line-height:1.2}
#trust .company-intro p,#trust .company-reviews p{font-size:1.125rem;line-height:1.5556;color:var(--muted)}
#trust #team,#trust .company-reviews,.company-benefits article{background:var(--surface);border:1px solid var(--line);border-radius:var(--card-radius);box-shadow:none}
.company-benefits article{padding:24px 20px}
.company-benefits h3{font-size:1.25rem;line-height:1.4;color:var(--ink)}
.company-benefits p,#trust #team .team-copy p{font-size:1rem;line-height:1.625;color:var(--muted)}
#trust #team .team-copy h3{font-size:1.125rem;line-height:1.45}
#trust .company-reviews h3{font-size:1.5rem;line-height:1.35}
#trust-partners{padding-bottom:48px}
:is(#trust,#trust-partners) #partners h2{font-size:clamp(1.875rem,3vw,2.5rem);line-height:1.2;font-weight:700;letter-spacing:-.035em}
/* Keep category colours on the map; theme only the surrounding controls. */
#objects .objects-shell{border:1px solid var(--line);border-radius:var(--card-radius);background:var(--surface);box-shadow:none}
#objects button.object-filter{color:var(--ink);border-color:var(--line);border-radius:var(--radius);font-size:.875rem;min-height:44px;font-weight:400}
#objects button.object-filter:hover{background:var(--soft);border-color:var(--accent)}
#objects button.object-filter[aria-pressed=true]{background:var(--accent);color:#fff;border-color:var(--accent)}
#objects .objects-sidebar,#objects .objects-selected,#objects .objects-bottom{border-color:var(--line)}
#objects .objects-sidebar h3{font-size:1.25rem;line-height:1.4}
#objects .objects-sidebar p,#objects .objects-search label,#objects .objects-bottom{font-size:.875rem;line-height:1.55;color:var(--muted)}
#objects .objects-search input{background:var(--surface);border-color:var(--line);border-radius:var(--radius);font-size:1rem;color:var(--ink);min-height:48px}
#objects .objects-modes{border-color:var(--line);border-radius:var(--radius)}
#objects .objects-modes button{font-size:.875rem;color:var(--muted)}
#objects .objects-modes button[aria-pressed=true]{background:var(--soft);color:var(--accent)}
#objects .objects-controls button{color:var(--ink);border-color:var(--line);border-radius:var(--radius)}
#objects .objects-controls svg{stroke-width:1.75}
#objects .objects-cta .button{font-size:1rem;line-height:1.5;min-height:54px}
#objects .objects-results button{font-size:.875rem;border-radius:var(--radius);border-color:var(--line);color:var(--ink)}
#objects .objects-bottom button,#objects .objects-selected a{font-size:.875rem;color:var(--accent)}
#faq .faq-list summary{font-size:1.125rem;line-height:1.5556;padding-block:20px}
#faq .faq-list p{font-size:1.125rem;line-height:1.5556;color:var(--muted)}
/* Closing consultation remains light; its form carries the primary CTA. */
#request.request.wrap{background:var(--bg);color:var(--ink);border-top:1px solid var(--line);gap:48px}
#request .eyebrow,#request .lead,#request>div:first-child .small,#request .contact-prompt{color:var(--muted)}
#request .lead,#request .contact-prompt{font-size:1.125rem;line-height:1.5556}
#request .contact-aside{border-color:var(--line)}
#request .contact-aside a,#request .contact-aside a[href^=mailto]{color:var(--ink);font-family:var(--font-body);font-weight:700}
#request .text-link{color:var(--accent)}
#request .form-area{background:var(--surface);border:1px solid var(--line);border-radius:var(--card-radius);box-shadow:0 8px 24px #17233308;padding:32px}
#request .form-area .field label,#request .contact-modes legend{font-size:1rem;font-weight:700;line-height:1.5}
#request .form-area input:not([type=checkbox]):not([type=radio]),#request .form-area select{font-size:1rem;line-height:1.5;border:1px solid var(--line);border-radius:var(--radius);min-height:54px;background:var(--surface);color:var(--ink)}
#request .form-area input::placeholder{color:var(--muted)}
#request .form-area .segmented{background:var(--bg);border-color:var(--line);border-radius:var(--radius)}
#request .form-area .segmented span{font-size:1rem;line-height:1.5;border-radius:8px}
#request .form-area .segmented input:checked+span{background:var(--soft);color:var(--accent);border-color:var(--accent);box-shadow:none}
#request .form-area .consent,#request .form-area .small{font-size:.875rem;line-height:1.55;color:var(--muted)}
#request #context{background:var(--soft);color:var(--ink);border-color:var(--line);border-radius:var(--radius)}
#request #clear-context{color:var(--accent);font-size:.875rem}
/* Shared overlays and the contact control. */
#modal,#bundle-picker,.portfolio-viewer{border:1px solid var(--line);border-radius:var(--card-radius);background:var(--surface);color:var(--ink);font-family:var(--font-body)}
.bundle-choice{border-color:var(--line);border-radius:var(--radius);background:var(--bg);color:var(--ink)}
.bundle-choice:hover{background:var(--soft);border-color:var(--accent)}
.bundle-choice small,#bundle-picker .picker-note{font-size:.875rem;color:var(--muted)}
.contact-widget summary{background:var(--accent);color:#fff;border-radius:var(--radius);font-size:1rem;line-height:1.5;font-weight:700;box-shadow:0 6px 22px #1723331a}
.contact-widget summary:hover{background:var(--hover)}.contact-widget summary:active{background:var(--pressed)}
.contact-widget summary:focus-visible{outline-color:var(--accent)}
.contact-popover{border-color:var(--line);border-radius:var(--card-radius);color:var(--ink);background:var(--surface)}
/* Footer with a real, locally served Yandex brand mark. */
footer{background:var(--surface);color:var(--ink);border-color:var(--line)}
footer .brand,footer .footer-grid strong{color:var(--ink)}
footer .brand small,footer p{color:var(--muted)}
footer a,footer .inline-link{color:var(--ink);font-size:.875rem;line-height:1.6}
footer a:hover,footer .inline-link:hover{color:var(--accent)}
footer .footer-rating{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);gap:12px;padding:14px;flex-wrap:wrap}
footer .footer-rating:hover{background:var(--bg);color:var(--ink);border-color:var(--accent)}
.footer-rating-logo{display:block;width:40px;height:40px;flex:0 0 40px;object-fit:contain}
.footer-rating-score{font-family:var(--font-body);font-weight:700;color:var(--ink)}
.footer-rating-copy{font-size:.875rem;line-height:1.5;color:var(--muted)}
.footer-rating-stars{color:#a86500}
/* Responsive rhythm and readable text, without fixed-height text containers. */
@media(min-width:1101px) and (max-width:1450px){.header nav{gap:10px}.header nav a,.header .phone{font-size:.875rem}}
@media(max-width:1100px){#offer h1{font-size:3rem;line-height:1.125}#offer .hero-copy{width:52%;padding-left:24px}#offer .hero-facts.fact-cards{padding-inline:24px}}
@media(max-width:900px){#offer .hero-copy{width:100%;padding:32px 24px;max-width:none}#offer h1{max-width:16ch}#offer .hero-service{max-width:48ch}#offer .hero-stage:after{display:none}#request.request.wrap{gap:32px}#directions .pz-copy h3{max-width:24ch}}
@media(max-width:760px){#trust-partners{padding-bottom:36px}#main>section:not(.hero),#services.services.wrap{padding-block:36px}#services .bundle-card{padding:24px}.company-benefits{gap:16px}#request .form-area{padding:24px}}
@media(max-width:600px){
 body{font-size:1rem;line-height:1.625}
 #main .section-heading{margin-bottom:20px;gap:10px}
 #main .section-heading h2,#directions .directions-heading h2,#objects .objects-heading h2,#request h2,#trust .company-intro h2{font-size:1.875rem;line-height:1.2;max-width:none}
 #main .section-heading p,#objects .objects-heading p{font-size:1rem;line-height:1.625}
 #offer .hero-copy{padding:28px 20px}#offer h1{font-size:clamp(2rem,8.7vw,2.625rem);line-height:1.12;margin-bottom:20px}
 #offer .hero-intro{margin-bottom:16px}#offer .hero-service{font-size:1rem;line-height:1.625;margin-bottom:20px}
 #offer .hero-price{font-size:2.625rem}#offer .hero-facts.fact-cards{padding:16px 20px;gap:12px}#offer .fact-card{padding:16px}
 #offer .actions{gap:8px}#offer .actions .button{width:100%}
 #report .result-card>p:not(.report-caption),#risks .risk-grid p,.foundation-advice,#services .bundle-result p,#directions .pz-copy .pz-help,.direction-explanations,#works .portfolio-copy p,#process .step-grid p,#process .process-preparation,#process .site-access p,#trust .company-intro p,#trust .company-reviews p,#faq .faq-list summary,#faq .faq-list p,#request .lead,#request .contact-prompt{font-size:1rem;line-height:1.625}
 #report .result-card h3,#risks .risk-grid h3{font-size:1.125rem;line-height:1.4}
 #report .report-page{padding:10px;gap:8px}#report .report-page span{font-size:.875rem;line-height:1.5}#report .report-page small{font-size:.8125rem}
 #calculator .section-heading h2{font-size:1.5rem;line-height:1.3}#calculator .ec-controls,#calculator .ec-result{padding:18px}
 #services .bundle-card{padding:20px}#services .bundle-top h3,#bundle-build .bundle-top h3{font-size:1.375rem;line-height:1.3}#services .bundle-top>.eyebrow{font-size:.75rem}
 #directions .pz-copy h3{font-size:1.625rem;line-height:1.3}
 #works .portfolio-copy h4{font-size:1.25rem}#process .step-grid h3{font-size:1.125rem}
 #trust .company-reviews h3{font-size:1.25rem}.company-benefits article{padding:20px}
 #request .form-area{padding:20px}.contact-widget summary{font-size:.875rem}
 .footer-grid{gap:28px}.footer-rating-logo{width:36px;height:36px;flex-basis:36px}
}
@media(max-width:380px){#report .result-card{grid-template-columns:1fr}#report .result-card>.report-page{grid-column:1;grid-row:auto;margin-top:12px}#report .report-excerpt{height:150px}#risks .risk-grid article{grid-template-columns:1fr}#risks .risk-photo{grid-row:auto;aspect-ratio:16/10;margin-bottom:14px}#calculator .ec-metrics{grid-template-columns:1fr}#calculator .ec-metrics>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px}}
@media(prefers-reduced-motion:reduce){.button,.contact-widget summary{transition:none}}
/* Explicitly cover legacy high-specificity controls and fullscreen captions. */
#contact{background:var(--surface);color:var(--ink);border-color:var(--line);font-size:1rem}
#calculator .ec-corrections button,#calculator .ec-depth-options summary{color:var(--accent)}
#calculator :focus-visible,#objects button:focus-visible,#objects a:focus-visible,#objects input:focus-visible{outline-color:var(--accent)}
.contact-widget summary{border-color:var(--accent)}
.contact-widget summary:hover{border-color:var(--hover)}
.contact-widget summary:active{border-color:var(--pressed)}
#portfolio-viewer{background:var(--bg);color:var(--ink);border:0;border-radius:0}
#portfolio-viewer::backdrop{background:var(--bg)}
#portfolio-viewer h2,#portfolio-viewer .portfolio-frame h3{color:var(--ink);font-weight:700}
#portfolio-viewer .portfolio-frame p,#portfolio-viewer .portfolio-viewer-controls p{color:var(--muted)}
#portfolio-viewer button{background:var(--surface);color:var(--ink);border-color:var(--line);border-radius:var(--radius);font-family:var(--font-body)}
#portfolio-viewer .portfolio-viewer-close{border-radius:var(--radius);font-size:1rem}
#portfolio-viewer button:hover{background:var(--soft);border-color:var(--accent);color:var(--ink)}
#portfolio-viewer button:active{background:var(--line)}
#portfolio-viewer button:focus-visible,.portfolio-gallery:focus-visible{outline-color:var(--accent)}

/* Compare the same service and scope before the expandable bundle details. */
#services .bundle-benefit{margin:4px 0 20px;padding:18px;background:var(--soft);border-radius:var(--radius)}
#services .bundle-benefit h4{font-size:1rem;line-height:1.5;margin:0 0 12px}
#services .bundle-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0}
#services .bundle-comparison>div{min-width:0}
#services .bundle-comparison dt{font-size:.875rem;line-height:1.5;color:var(--muted)}
#services .bundle-comparison dd{font-size:1.25rem;line-height:1.5;margin:2px 0 0;font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}
#services .bundle-comparison>div:first-child dd{color:var(--accent)}
#services .bundle-comparison>div:last-child dd{color:var(--muted);font-weight:400}
#services .bundle-saving{font-size:1rem;line-height:1.5;font-weight:700;color:var(--accent);margin:12px 0 0}
#services .bundle-addon-benefit{display:block;font-size:.875rem;line-height:1.5;color:var(--muted);margin-top:4px}
/* Do not squeeze side-by-side illustrations and copy into narrow columns. */
@media(min-width:601px) and (max-width:1200px){
 #price .included-icons{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
 .header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 16px;padding-block:12px;min-height:0}
 .header .brand{grid-column:1;grid-row:1;min-width:0;justify-self:start}
 .header .phone{display:inline-flex;grid-column:1;grid-row:2;align-items:center;justify-self:start;margin:0;max-width:none;min-height:44px;font-size:.875rem}
 #menu-toggle{grid-column:2;grid-row:1/3;justify-self:end;min-width:64px;min-height:44px;padding:10px 12px;border-radius:var(--radius);font-size:.875rem}
 .header nav{top:116px;max-height:calc(100dvh - 116px);padding:16px 20px;gap:4px}
 .header nav a{font-size:1rem;line-height:1.5}
 .quick-nav nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;padding-block:6px;overflow:visible;white-space:normal}
 .quick-nav a{min-width:0;min-height:44px;font-size:.875rem;line-height:1.4;padding-block:8px}
 #price .included-icons{grid-template-columns:minmax(0,1fr);gap:0;padding-block:0}
 #price .included-item{grid-template-columns:56px minmax(0,1fr);gap:4px 16px;align-items:start;padding-block:18px}
 #price .included-item+.included-item{border-top:1px solid var(--line)}
 #price .included-item img{width:56px;height:56px;grid-column:1;grid-row:1/3;align-self:center;justify-self:center}
 #price .included-item span,#price .included-item small{grid-column:2;min-width:0}
 #price .included-item small{font-size:1rem;line-height:1.5}
 #services .bundle-benefit{padding:16px}
 #services .bundle-icon{grid-row:1}
 #services .bundle-top h3,#bundle-build .bundle-top h3{grid-column:1/-1;grid-row:2;max-width:none}
 #report .result-card{grid-template-columns:minmax(0,1fr)}
 #report .result-card>.report-page{grid-column:1;grid-row:auto;margin-top:12px}
 #report .report-excerpt{height:156px}
 #risks .risk-grid article{grid-template-columns:minmax(0,1fr)}
 #risks .risk-photo,#risks .risk-repair{grid-row:auto;aspect-ratio:16/10;margin-bottom:14px}
 #trust #team .team-card{grid-template-columns:minmax(0,1fr);gap:14px}
}
@media(max-width:380px){
 #services .bundle-benefit{padding:14px}
 #services .bundle-comparison{grid-template-columns:minmax(0,1fr);gap:10px}
 #services .bundle-comparison>div{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:2px 10px}
 #services .bundle-comparison dd{margin:0}
}
/* Demo reviews use native touch scrolling and stable, content-driven height. */
.reviews-carousel{width:100%;min-width:0;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;border-radius:var(--radius);margin-bottom:18px}
.reviews-carousel::-webkit-scrollbar{display:none}
.reviews-track{display:flex;width:100%;align-items:stretch}
.review-card{flex:0 0 100%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always;box-sizing:border-box;padding:2px}
.review-author{display:flex;align-items:center;gap:12px;margin-bottom:12px;min-width:0}
.review-author>div{min-width:0}
.review-avatar{display:flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;border-radius:50%;background:#e6edff;color:#214ccd;font-size:1rem;font-weight:700}
.review-avatar-2{background:#e7eef0;color:#345869}.review-avatar-3{background:#eee8f2;color:#67507d}.review-avatar-4{background:#f1ebdf;color:#745f36}.review-avatar-5{background:#e6eeea;color:#39654f}
#trust .review-author h4{font-family:var(--font-body);font-size:1rem;line-height:1.5;margin:0 0 2px;letter-spacing:0}
.review-topic{display:block;font-size:.875rem;line-height:1.5;color:var(--muted)}
.review-stars{color:#a86500;font-size:1.125rem;line-height:1.5;letter-spacing:2px;margin-bottom:12px}
.review-card blockquote{margin:0}
#trust .company-reviews .review-card p{font-size:1rem;line-height:1.625;color:var(--ink);margin:0;overflow-wrap:break-word}
#trust .company-reviews>.text-link{font-size:.875rem;line-height:1.5}
@media(prefers-reduced-motion:reduce){.reviews-carousel{scroll-behavior:auto}}
/* Separate site navigation items without adding width to the dividers. */
@media(min-width:1101px){
 .header #nav{--nav-gap:24px;gap:var(--nav-gap);align-items:center}
 .header #nav>a:not(.mobile-tz){position:relative;display:inline-flex;align-items:center;min-height:44px;white-space:nowrap;padding-block:10px}
 .header #nav>a:not(:first-child):not(.mobile-tz)::before{content:"";position:absolute;left:calc(var(--nav-gap)/-2);top:50%;width:1px;height:16px;background:var(--line);transform:translateY(-50%);pointer-events:none}
}
@media(min-width:1101px) and (max-width:1280px){.header #nav{--nav-gap:20px}}
@media(max-width:1100px){
 .header #nav{gap:0}
 .header #nav>a{padding:14px 10px;white-space:normal}
 .header #nav>a+a{border-top:1px solid var(--line)}
}

/* Home pricing: one offer, followed by the existing calculator. */
#price.home-price .price-heading p{max-width:750px}
#price.home-price .price-package{background:var(--surface);border:1px solid var(--line);border-radius:var(--card-radius)}
#price.home-price .price-package-main{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.55fr)}
#price.home-price .price-summary{background:var(--soft);border-radius:17px 0 0 0;padding:30px 32px}
#price.home-price .price-label{font-size:1rem;line-height:1.5;font-weight:700;margin:0 0 8px}
#price.home-price .price-amount{display:flex;align-items:baseline;gap:10px;margin:0 0 8px;color:var(--ink);line-height:1.1;white-space:nowrap}
#price.home-price .price-amount>span{font-size:1.25rem}
#price.home-price .price-amount strong{font-family:var(--font-body);font-size:clamp(2.5rem,3.5vw,3.25rem);font-weight:700;letter-spacing:-.035em;font-variant-numeric:tabular-nums}
#price.home-price .price-volume{font-size:1rem;font-weight:700;line-height:1.5;margin:0 0 8px}
#price.home-price .price-program-note{font-size:1rem;line-height:1.5;color:var(--muted);margin:0 0 22px;max-width:35ch}
#price.home-price .price-calculate{display:flex;align-items:center;justify-content:center;gap:14px;width:fit-content;max-width:100%;text-align:center}
#price.home-price .price-calculate>span{font-size:1.25rem;line-height:1}
#price.home-price .price-calculate-note{display:block;font-size:.8125rem;line-height:1.5;color:var(--muted);margin-top:10px}
#price.home-price .price-inclusions{padding:30px 32px;align-self:center;min-width:0}
#price.home-price .price-inclusions>h3{font-size:1.25rem;line-height:1.4;margin:0 0 24px}
#price.home-price .included-icons{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 24px;border:0;padding:0;margin:0}
#price.home-price .included-item{grid-template-columns:52px minmax(0,1fr);gap:4px 12px;padding:0;border:0;align-items:start;align-content:start}
#price.home-price .included-item img{width:52px;height:52px;grid-column:1;grid-row:1/3;align-self:start;margin:0}
#price.home-price .included-item span{font-size:1rem;line-height:1.5;grid-column:2}
#price.home-price .included-item small{font-size:1rem;line-height:1.5;grid-column:2;max-width:none}
#price.home-price .price-terms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0;padding:24px 32px;border:0;border-top:1px solid var(--line)}
#price.home-price .price-terms>div{padding:0;border:0}
#price.home-price .price-terms>div+div{padding-left:24px;border-left:1px solid var(--line)}
#price.home-price .price-terms h3{font-size:1.125rem;line-height:1.5;margin:0 0 6px}
#price.home-price .price-terms p{font-size:.9375rem;line-height:1.6;margin:0}
#price.home-price .unified-calculator{padding-top:36px;margin-top:0;border:0}
#price.home-price #calculator .price-calculator-heading{max-width:none;margin-bottom:24px}
#price.home-price #calculator .price-calculator-heading h2{font-size:clamp(1.5rem,2.25vw,2rem);line-height:1.25;max-width:none}
#price.home-price #calculator .price-calculator-heading p{max-width:none}
/* The offer, included services and terms share three equal desktop columns. */
@media(min-width:901px){
 #price.home-price .price-package-main{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}
 #price.home-price .included-icons{column-gap:64px}
 #price.home-price .price-terms{column-gap:0;padding-inline:0}
 #price.home-price .price-terms>div,#price.home-price .price-terms>div+div{min-width:0;padding-inline:32px}
 #price.home-price .price-terms>div+div{border-left:0;box-shadow:inset 1px 0 var(--line)}
}
@media(max-width:1100px) and (min-width:901px){
 #price.home-price .price-summary,#price.home-price .price-inclusions{padding:24px}
 #price.home-price .price-calculate{gap:10px;padding-inline:16px}
 #price.home-price .included-icons{gap:22px 48px}
 #price.home-price .price-terms>div,#price.home-price .price-terms>div+div{padding-inline:24px}
 #price.home-price .included-item{grid-template-columns:40px minmax(0,1fr);column-gap:10px}
 #price.home-price .included-item img{width:40px;height:40px}
}
@media(max-width:900px){
 #price.home-price .price-package-main{grid-template-columns:minmax(0,1fr)}
 #price.home-price .price-summary{border-radius:17px 17px 0 0}
 #price.home-price .price-program-note{max-width:none}
 #price.home-price .price-terms{gap:18px;padding:24px}
 #price.home-price .price-terms>div+div{padding-left:18px}
}
@media(max-width:600px){
 #price.home-price .price-summary,#price.home-price .price-inclusions{padding:24px 20px}
 #price.home-price .price-calculate{width:100%}
 #price.home-price .price-calculate-note{text-align:center}
 #price.home-price .price-inclusions>h3{margin-bottom:20px}
 #price.home-price .included-icons{grid-template-columns:minmax(0,1fr);gap:20px}
 #price.home-price .included-item{grid-template-columns:48px minmax(0,1fr);gap:2px 14px}
 #price.home-price .included-item img{width:48px;height:48px}
 #price.home-price .price-terms{grid-template-columns:minmax(0,1fr);gap:16px;padding:24px 20px}
 #price.home-price .price-terms>div+div{padding:16px 0 0;border-left:0;border-top:1px solid var(--line)}
 #price.home-price .unified-calculator{padding-top:28px}
 #price.home-price #calculator .price-calculator-heading{margin-bottom:20px}
}

/* Homepage readability: report zoom action and phone-free estimate note. */
body.home #report .report-page small{font-size:.875rem;font-weight:700;color:var(--accent);text-decoration:underline;text-underline-offset:.18em}
body.home #price.home-price .price-calculate-note{font-size:.9375rem;color:var(--ink)}

/* Existing WordPress content in the approved Engineering Clarity design. */
body:not(.home) #main { background: #f5f7fa; }
/* Match the approved section joins without changing geometry or card borders. */
body:not(.home) #main > section[id] { border-block-color: transparent; }
.estate-interior {
  --estate-ink: #172333;
  --estate-muted: #556273;
  --estate-line: #cbd4df;
  --estate-accent: #214ccd;
  --estate-soft: #e6edff;
  --estate-background: #f5f7fa;
  color: var(--estate-ink);
  padding-top: 28px;
  padding-bottom: 72px;
  overflow-wrap: anywhere;
}
.estate-interior *, .estate-interior *::before, .estate-interior *::after { box-sizing: border-box; }
.estate-interior .screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  word-wrap: normal !important;
}
.estate-breadcrumbs { margin-bottom: 34px; font-size: .875rem; line-height: 1.55; color: var(--estate-muted); }
.estate-breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 8px 10px; padding: 0; margin: 0; list-style: none; }
.estate-breadcrumbs li { display: inline; }
.estate-breadcrumbs li + li::before { content: "/"; margin-right: 10px; color: #8591a1; }
.estate-breadcrumbs a { color: var(--estate-muted); text-decoration: none; }
.estate-breadcrumbs a:hover { color: var(--estate-accent); text-decoration: underline; }
.estate-breadcrumbs [aria-current="page"] { color: var(--estate-ink); }
.estate-interior .estate-page-heading {
  position: static;
  z-index: auto;
  padding: 0 0 36px;
  margin: 0;
  border: 0;
  background: transparent;
  color: var(--estate-ink);
}
.estate-page-heading .eyebrow { margin-bottom: 14px; }
.estate-page-heading h1 {
  max-width: 25ch;
  margin: 0;
  font-family: var(--font-heading, 'Manrope', 'Segoe UI', sans-serif);
  font-size: clamp(2rem, 4vw, 3.5rem);
  font-weight: 700;
  line-height: 1.14;
  letter-spacing: -.035em;
  text-wrap: balance;
}
.estate-page-heading-with-symbol { display: grid; grid-template-columns: minmax(0, 1fr) 160px; align-items: center; gap: 32px; }
.estate-page-heading-copy { min-width: 0; }
.estate-page-symbol { display: block; width: 160px; height: 160px; object-fit: contain; }
.estate-page-intro { max-width: 760px; margin: 22px 0 0; color: var(--estate-muted); font-size: 1.125rem; line-height: 1.65; }
.estate-page-intro p:last-child { margin-bottom: 0; }
.estate-post-meta { display: flex; flex-wrap: wrap; align-items: baseline; gap: 12px 22px; margin-top: 22px; color: var(--estate-muted); font-size: .875rem; }
.estate-post-meta a { color: inherit; }
.estate-content-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 32px; align-items: start; }
.estate-content-primary { min-width: 0; }
.estate-featured-image { margin: 0 0 24px; padding: 0; overflow: hidden; border: 1px solid var(--estate-line); border-radius: 18px; background: #fff; }
.estate-featured-image img { display: block; width: 100%; height: auto; }
.estate-entry-content {
  padding: clamp(22px, 3vw, 40px);
  border: 1px solid var(--estate-line);
  border-radius: 18px;
  background: #fff;
  color: var(--estate-ink);
  font-family: var(--font-body, 'Golos Text', 'Segoe UI', sans-serif);
  font-size: 1.0625rem;
  line-height: 1.75;
  display: flow-root;
}
.estate-entry-content:empty { display: none; }
.estate-entry-content > :first-child { margin-top: 0; }
.estate-entry-content > :last-child { margin-bottom: 0; }
.estate-entry-content :where(h1, h2, h3, h4, h5, h6) {
  font-family: var(--font-heading, 'Manrope', 'Segoe UI', sans-serif);
  color: var(--estate-ink);
  font-weight: 700;
  line-height: 1.3;
  margin: 1.7em 0 .7em;
  scroll-margin-top: 120px;
  text-wrap: balance;
}
.estate-entry-content :where(h1, h2) { font-size: clamp(1.5rem, 2.4vw, 2rem); letter-spacing: -.03em; }
.estate-entry-content h3 { font-size: 1.35rem; letter-spacing: -.02em; }
.estate-entry-content h4 { font-size: 1.125rem; letter-spacing: -.01em; }
.estate-entry-content :where(h5, h6) { font-size: 1rem; }
.estate-entry-content p { margin: 0 0 1.25em; }
.estate-entry-content a { color: var(--estate-accent); text-underline-offset: .2em; }
.estate-entry-content a:hover { color: #193ba5; }
.estate-entry-content :where(ul, ol) { padding-left: 1.45em; margin: 0 0 1.5em; }
.estate-entry-content li { padding-left: .2em; margin: .5em 0; }
.estate-entry-content :where(ul, ol) :where(ul, ol) { margin-block: .5em; }
.estate-entry-content li::marker { color: var(--estate-accent); }
.estate-entry-content :where(img, video, canvas, svg) { max-width: 100%; }
.estate-entry-content img { height: auto; }
.estate-entry-content :where(iframe, embed, object) { max-width: 100%; border: 0; }
.estate-entry-content figure { max-width: 100%; margin: 1.75em 0; }
.estate-entry-content figcaption, .estate-entry-content .wp-caption-text { margin: 10px 0 0; color: var(--estate-muted); font-size: .875rem; line-height: 1.55; }
.estate-entry-content .wp-caption { max-width: 100%; }
.estate-entry-content .wp-caption img { display: block; }
.estate-entry-content .aligncenter { display: block; margin-right: auto; margin-left: auto; }
.estate-entry-content .alignleft { float: left; margin: .4em 1.5em 1em 0; max-width: 48%; }
.estate-entry-content .alignright { float: right; margin: .4em 0 1em 1.5em; max-width: 48%; }
.estate-entry-content .alignwide, .estate-entry-content .alignfull { width: 100%; max-width: 100%; margin-left: 0; margin-right: 0; }
.estate-entry-content :where(blockquote, .wp-block-pullquote) { margin: 1.8em 0; padding: 22px 26px; border: 0; border-left: 3px solid var(--estate-accent); border-radius: 0 12px 12px 0; background: var(--estate-background); }
.estate-entry-content blockquote p:last-child { margin-bottom: 0; }
.estate-entry-content cite { color: var(--estate-muted); font-size: .875rem; }
.estate-entry-content hr { clear: both; height: 1px; border: 0; background: var(--estate-line); margin: 2em 0; }
.estate-entry-content table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; border-spacing: 0; margin: 1.5em 0; font-size: .9375rem; line-height: 1.6; }
.estate-entry-content .wp-block-table { overflow-x: auto; }
.estate-entry-content .wp-block-table table { display: table; width: 100%; margin: 0; }
.estate-entry-content :where(th, td) { min-width: 100px; border: 1px solid var(--estate-line); padding: 12px 16px; vertical-align: top; text-align: left; }
.estate-entry-content th { color: var(--estate-ink); background: var(--estate-background); font-weight: 700; }
.estate-entry-content tr:nth-child(even) td { background: #f9fafc; }
.estate-entry-content :where(pre, code) { font-family: ui-monospace, Consolas, monospace; font-size: .875em; background: var(--estate-background); }
.estate-entry-content pre { padding: 18px; overflow-x: auto; border: 1px solid var(--estate-line); border-radius: 12px; }
.estate-entry-content code { padding: .1em .3em; }
.estate-entry-content pre code { padding: 0; }
.estate-entry-content details { margin: 1em 0; padding: 18px 20px; border: 1px solid var(--estate-line); border-radius: 12px; }
.estate-entry-content summary { cursor: pointer; font-weight: 700; }
.estate-entry-content details[open] summary { margin-bottom: 16px; }
.estate-entry-content .wp-block-gallery, .estate-entry-content .gallery { margin: 24px 0; }
.estate-entry-content .gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.estate-entry-content .gallery-item { width: auto !important; float: none !important; margin: 0; text-align: center; }
.estate-entry-content .gallery br { display: none; }
.estate-entry-content .gallery-icon img { border: 0 !important; }
.estate-entry-content .wp-block-button__link { padding: 14px 22px; border-radius: 12px; background: var(--estate-accent); color: #fff; font-size: 1rem; font-weight: 700; line-height: 1.5; text-decoration: none; }
.estate-entry-content .wp-block-button__link:hover { background: #193ba5; color: #fff; }
.estate-entry-content .is-style-outline .wp-block-button__link { background: transparent; color: var(--estate-ink); border: 1px solid var(--estate-muted); }
.estate-entry-content .wp-block-file { margin: 20px 0; font-size: 1rem; }
.estate-entry-content .wp-block-file__button { padding: 10px 14px; background: var(--estate-accent); color: #fff; border-radius: 8px; text-decoration: none; }
.estate-entry-content .wp-block-cover { border-radius: 12px; overflow: hidden; }
.estate-entry-content .wp-block-cover :where(h2, h3, h4) { color: inherit; }
.estate-entry-content .wp-block-columns { gap: 24px; }
.estate-entry-content .wp-block-column { min-width: 0; }
.estate-entry-content .wp-block-embed__wrapper { max-width: 100%; }
.estate-entry-content .wp-has-aspect-ratio .wp-block-embed__wrapper { position: relative; }
.estate-entry-content .wp-embed-aspect-16-9 .wp-block-embed__wrapper { aspect-ratio: 16 / 9; }
.estate-entry-content .wp-embed-aspect-4-3 .wp-block-embed__wrapper { aspect-ratio: 4 / 3; }
.estate-entry-content .wp-has-aspect-ratio .wp-block-embed__wrapper iframe { width: 100%; height: 100%; }
.estate-entry-content :where(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]), select, textarea),
.estate-comments :where(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]), textarea) {
  max-width: 100%; min-height: 48px; border: 1px solid var(--estate-line); border-radius: 10px; background: #fff; color: var(--estate-ink); padding: 12px 14px; font: inherit;
}
.estate-entry-content :where(textarea, input[type="text"], input[type="email"], input[type="tel"]), .estate-comments textarea { width: 100%; }
.estate-entry-content :where(input[type="submit"], button[type="submit"]), .estate-comments .submit {
  max-width: 100%; min-height: 48px; border: 1px solid var(--estate-accent); border-radius: 12px; background: var(--estate-accent); color: #fff; padding: 12px 20px; font: inherit; font-weight: 700; cursor: pointer; white-space: normal;
}
.estate-sidebar { display: grid; gap: 24px; min-width: 0; }
.estate-side-panel { padding: 24px; border: 1px solid var(--estate-line); border-radius: 18px; background: #fff; }
.estate-side-panel h2 { margin: 0 0 18px; font-size: 1.25rem; line-height: 1.4; letter-spacing: -.02em; }
.estate-services-nav ul, .estate-related-posts ul { padding: 0; margin: 0; list-style: none; }
.estate-services-nav li + li, .estate-related-posts li + li { border-top: 1px solid var(--estate-line); }
.estate-services-nav li a { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 14px 0; color: var(--estate-ink); font-size: .9375rem; line-height: 1.5; text-decoration: none; }
.estate-services-nav li:first-child a { padding-top: 0; }
.estate-services-nav li a > span { flex: 0 0 auto; color: var(--estate-accent); }
.estate-services-nav li a:hover, .estate-services-nav li a[aria-current="page"] { color: var(--estate-accent); }
.estate-services-nav li a[aria-current="page"] { font-weight: 700; }
.estate-all-services { display: inline-block; margin-top: 12px; font-size: .9375rem; }
.estate-services-nav .estate-current-direction > a { color: var(--estate-accent); font-weight: 700; }
.estate-service-subnav summary { cursor: pointer; font-size: 1rem; line-height: 1.5; font-weight: 700; }
.estate-service-subnav ul { list-style: none; padding: 0; margin: 16px 0 0; }
.estate-service-subnav li + li { border-top: 1px solid var(--estate-line); }
.estate-service-subnav a { display: block; padding: 12px 0; color: var(--estate-muted); font-size: .8125rem; line-height: 1.6; text-decoration: none; }
.estate-service-subnav li:last-child a { padding-bottom: 0; }
.estate-service-subnav a:hover, .estate-service-subnav a[aria-current="page"] { color: var(--estate-accent); }
.estate-service-subnav a[aria-current="page"] { font-weight: 700; }
.estate-side-cta { background: var(--estate-soft); }
.estate-side-cta .eyebrow { margin-bottom: 12px; font-size: .6875rem; }
.estate-side-cta h2 { font-size: 1.45rem; line-height: 1.3; }
.estate-side-cta p { margin: 0 0 22px; color: var(--estate-muted); font-size: .9375rem; line-height: 1.65; }
.estate-side-cta .button { width: 100%; padding-inline: 14px; }
.estate-related-posts li { padding: 15px 0; }
.estate-related-posts li:first-child { padding-top: 0; }
.estate-related-posts li:last-child { padding-bottom: 0; }
.estate-related-posts a { display: block; font-size: .9375rem; line-height: 1.55; color: var(--estate-ink); text-decoration: none; }
.estate-related-posts a:hover { color: var(--estate-accent); text-decoration: underline; }
.estate-related-posts time { display: block; margin-top: 8px; color: var(--estate-muted); font-size: .75rem; }
.estate-service-catalog { margin-top: 40px; }
.estate-service-catalog > h2 { font-size: 1.75rem; line-height: 1.3; margin: 0 0 24px; }
.estate-service-catalog-full:first-child { margin-top: 0; }
.estate-catalog-index { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 28px; }
.estate-catalog-index a { display: inline-flex; align-items: center; min-height: 44px; padding: 9px 14px; border: 1px solid var(--estate-line); border-radius: 10px; background: #fff; color: var(--estate-ink); font-size: .875rem; line-height: 1.5; text-decoration: none; }
.estate-catalog-index a:hover { color: var(--estate-accent); border-color: var(--estate-accent); background: var(--estate-soft); }
.estate-service-groups { display: grid; gap: 24px; }
.estate-catalog-group { padding: 28px; border: 1px solid var(--estate-line); border-radius: 18px; background: #fff; scroll-margin-top: 130px; }
.estate-catalog-group-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 16px 24px; flex-wrap: wrap; margin-bottom: 20px; }
.estate-catalog-group h3 { font-size: 1.65rem; line-height: 1.35; margin: 0; }
.estate-catalog-group-heading > .text-link { font-size: .875rem; }
.estate-catalog-description { color: var(--estate-muted); margin: 0; font-size: .9375rem; line-height: 1.65; }
.estate-catalog-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 26px; margin: 0; padding: 0; list-style: none; }
.estate-catalog-links li { min-width: 0; border-top: 1px solid var(--estate-line); }
.estate-catalog-links a { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; padding: 16px 0; color: var(--estate-ink); font-size: .875rem; line-height: 1.65; text-decoration: none; }
.estate-catalog-links a > span { flex: 0 0 auto; color: var(--estate-accent); }
.estate-catalog-links a:hover { color: var(--estate-accent); }
.estate-related-services { padding: 28px; margin-top: 32px; border: 1px solid var(--estate-line); border-radius: 18px; background: #fff; }
.estate-related-services h2 { font-size: 1.4rem; line-height: 1.4; margin: 0 0 22px; }
.estate-program-card { padding: 36px; margin-bottom: 24px; border: 1px solid var(--estate-line); border-radius: 18px; background: #fff; }
.estate-program-card h2 { margin: 0 0 24px; font-size: clamp(1.65rem, 2.5vw, 2rem); line-height: 1.3; }
.estate-program-card .eyebrow { margin-bottom: 12px; }
.estate-program-card > p { color: var(--estate-muted); font-size: 1rem; line-height: 1.7; margin: 24px 0; }
.estate-program-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin: 0; padding: 24px 0; border-block: 1px solid var(--estate-line); }
.estate-program-facts dt { font-size: .8125rem; color: var(--estate-muted); line-height: 1.5; }
.estate-program-facts dd { margin: 8px 0 0; font-size: 1.5rem; font-weight: 700; line-height: 1.3; font-variant-numeric: tabular-nums; }
.estate-program-calculator { display: block; width: fit-content; margin-top: 20px; font-size: .9375rem; }
.estate-prices-page .estate-entry-content table { width: 100%; font-variant-numeric: tabular-nums; }
.estate-prices-page .estate-entry-content thead td { font-weight: 700; background: var(--estate-soft); color: var(--estate-ink); }
.estate-prices-page .estate-entry-content td:first-child { width: 70%; }
.estate-prices-page .estate-entry-content td:last-child { min-width: 140px; font-weight: 700; }
.estate-card-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.estate-content-card { min-width: 0; display: flex; flex-direction: column; border: 1px solid var(--estate-line); border-radius: 18px; background: #fff; overflow: hidden; }
.estate-card-image { display: block; overflow: hidden; background: var(--estate-background); }
.estate-card-image img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; }
.estate-card-body { display: flex; flex-direction: column; flex: 1; padding: 26px; }
.estate-card-meta { display: block; color: var(--estate-muted); font-size: .8125rem; line-height: 1.5; margin-bottom: 12px; }
.estate-content-card :where(h2, h3) { font-size: 1.35rem; line-height: 1.4; margin: 0 0 14px; letter-spacing: -.02em; }
.estate-content-card :where(h2, h3) a { color: var(--estate-ink); text-decoration: none; }
.estate-content-card :where(h2, h3) a:hover { color: var(--estate-accent); }
.estate-content-card p { color: var(--estate-muted); font-size: .9375rem; line-height: 1.65; margin: 0 0 22px; }
.estate-content-card .text-link { align-self: start; margin-top: auto; font-size: .9375rem; }
.estate-search-form { margin: 0 0 28px; }
.estate-search-form > label { display: block; margin-bottom: 10px; font-size: 1rem; font-weight: 700; }
.estate-search-fields { display: flex; align-items: stretch; gap: 12px; }
.estate-search-fields input { min-width: 0; width: 100%; min-height: 54px; padding: 14px 18px; border: 1px solid var(--estate-line); border-radius: 12px; background: #fff; color: var(--estate-ink); font: inherit; font-size: 1rem; }
.estate-search-fields .button { flex-shrink: 0; }
.estate-search-results { display: grid; gap: 20px; }
.estate-search-results .estate-content-card { display: grid; grid-template-columns: minmax(0, 1fr); }
.estate-search-results .estate-card-image img { max-height: 260px; }
.estate-empty-state { min-width: 0; padding: 32px; border: 1px solid var(--estate-line); border-radius: 18px; background: #fff; }
.estate-empty-state h2 { font-size: 1.65rem; line-height: 1.35; margin: 0 0 16px; }
.estate-empty-state p { color: var(--estate-muted); font-size: 1rem; line-height: 1.65; }
.estate-empty-state .estate-search-form:last-child { margin-bottom: 0; }
.estate-empty-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 26px; margin-top: 30px; }
.estate-interior .pagination { margin-top: 36px; }
.estate-interior .pagination .nav-links, .estate-page-links { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.estate-interior .page-numbers, .estate-page-links a, .estate-page-links .current {
  display: inline-flex; justify-content: center; align-items: center; min-width: 44px; min-height: 44px; padding: 8px 12px; border: 1px solid var(--estate-line); border-radius: 10px; background: #fff; color: var(--estate-ink); font-size: .9375rem; text-decoration: none;
}
.estate-interior .page-numbers.current, .estate-page-links .current { color: #fff; background: var(--estate-accent); border-color: var(--estate-accent); }
.estate-interior a.page-numbers:hover, .estate-page-links a:hover { color: var(--estate-accent); border-color: var(--estate-accent); }
.estate-interior .page-numbers.dots { border-color: transparent; background: transparent; padding-inline: 3px; min-width: 24px; }
.estate-page-links { clear: both; margin: 32px 0 0; font-size: .9375rem; }
.estate-page-links > span:first-child { margin-right: 8px; }
.estate-post-tags { margin: 26px 0; color: var(--estate-muted); font-size: .875rem; }
.estate-post-tags a { color: var(--estate-accent); }
.estate-interior .post-navigation { margin: 32px 0 0; padding-top: 24px; border-top: 1px solid var(--estate-line); }
.estate-interior .post-navigation .nav-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.estate-interior .post-navigation a { display: block; color: var(--estate-ink); font-size: 1rem; line-height: 1.6; text-decoration: none; }
.estate-interior .post-navigation a:hover { color: var(--estate-accent); }
.estate-post-navigation-label { display: block; color: var(--estate-muted); font-size: .8125rem; margin-bottom: 8px; }
.estate-comments { margin-top: 36px; padding-top: 30px; border-top: 1px solid var(--estate-line); font-size: 1rem; }
.estate-comments h2, .estate-comments h3 { font-size: 1.5rem; line-height: 1.4; }
.estate-comments label { display: block; margin-bottom: 6px; }
.estate-comments .comment-form-cookies-consent label { display: inline; }
.estate-comments .comment-list { padding-left: 22px; }
.estate-comments .comment-body { margin-bottom: 24px; padding-bottom: 24px; border-bottom: 1px solid var(--estate-line); }
.estate-comments .comment-meta { position: static; padding: 0; background: transparent; color: var(--estate-muted); font-size: .875rem; }
.estate-comments .comment-meta a { color: inherit; background: transparent; }
.estate-comments .comment-author img { border-radius: 50%; vertical-align: middle; margin-right: 8px; }
.estate-comments .comment-content { margin-top: 16px; }
.estate-comments a { color: var(--estate-accent); }
@media (max-width: 1000px) {
  .estate-content-layout { grid-template-columns: minmax(0, 1fr) 270px; gap: 24px; }
  .estate-card-grid { gap: 18px; }
  .estate-card-body, .estate-side-panel { padding: 22px; }
  .estate-card-grid .estate-content-card :where(h2, h3) { font-size: 1.2rem; }
}
@media (max-width: 850px) {
  .estate-content-layout { grid-template-columns: minmax(0, 1fr); gap: 36px; }
  .estate-sidebar { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
  .estate-related-posts { grid-column: 1 / -1; }
  .estate-page-heading h1 { max-width: 27ch; }
}
@media (max-width: 600px) {
  .estate-interior { padding-top: 20px; padding-bottom: 40px; }
  .estate-breadcrumbs { margin-bottom: 24px; font-size: .8125rem; }
  .estate-breadcrumbs ol { gap: 6px 8px; }
  .estate-interior .estate-page-heading { padding-bottom: 28px; }
  .estate-page-heading h1 { font-size: clamp(1.8rem, 7.2vw, 2.5rem); line-height: 1.18; }
  .estate-page-heading-with-symbol { display: block; }
  .estate-page-symbol { display: none; }
  .estate-page-intro { margin-top: 18px; font-size: 1rem; }
  .estate-post-meta { margin-top: 18px; gap: 8px 18px; }
  .estate-entry-content { padding: 22px 18px; font-size: 1rem; line-height: 1.7; border-radius: 14px; }
  .estate-entry-content .alignleft, .estate-entry-content .alignright { float: none; max-width: 100%; margin: 1.25em auto; }
  .estate-entry-content :where(blockquote, .wp-block-pullquote) { padding: 18px; }
  .estate-entry-content :where(th, td) { padding: 10px 12px; }
  .estate-entry-content .gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .estate-sidebar, .estate-card-grid { grid-template-columns: minmax(0, 1fr); }
  .estate-side-panel { padding: 24px; }
  .estate-card-body { padding: 24px; }
  .estate-catalog-group, .estate-related-services, .estate-program-card { padding: 24px 20px; }
  .estate-catalog-links { grid-template-columns: minmax(0, 1fr); }
  .estate-catalog-group-heading { gap: 12px; }
  .estate-catalog-group h3 { font-size: 1.5rem; }
  .estate-program-facts { gap: 12px; }
  .estate-program-facts dd { font-size: 1.2rem; }
  .estate-program-card .button { width: 100%; }
  .estate-prices-page .estate-entry-content td:first-child { min-width: 160px; }
  .estate-card-grid .estate-content-card :where(h2, h3) { font-size: 1.35rem; }
  .estate-empty-state { padding: 24px 20px; }
  .estate-search-fields { flex-wrap: wrap; gap: 10px; }
  .estate-search-fields .button { width: 100%; }
  .estate-empty-actions { flex-direction: column; align-items: stretch; }
  .estate-empty-actions > .text-link { align-self: start; }
  .estate-interior .post-navigation .nav-links { grid-template-columns: minmax(0, 1fr); }
}
@media print {
  .estate-interior { padding: 0; }
  .estate-content-layout { display: block; }
  .estate-sidebar, .estate-breadcrumbs, .estate-search-form, .estate-interior .post-navigation, .estate-interior .pagination, .estate-comments { display: none; }
  .estate-entry-content { padding: 0; border: 0; }
  .estate-page-heading h1 { max-width: none; }
  .estate-content-card { break-inside: avoid; }
}

.estate-menu{display:flex;list-style:none;padding:0;margin:0;gap:14px;align-items:center}.estate-menu li{position:relative}.estate-menu .sub-menu{display:none;position:absolute;top:100%;left:0;background:var(--surface);border:1px solid var(--line);padding:12px;min-width:240px;list-style:none;box-shadow:0 12px 30px #17233312}.estate-menu li:hover>.sub-menu,.estate-menu li:focus-within>.sub-menu{display:grid;gap:12px}#nav [aria-current=page],#nav .current-menu-item>a{color:var(--accent)}.admin-bar>header{top:32px}.estate-document{overflow-wrap:anywhere}.estate-document .estate-document-layout{display:contents}.estate-document .estate-document-group{margin-block:20px}.estate-document img{height:auto;max-width:100%}.estate-document iframe{max-width:100%;border:0}.estate-document table{display:block;overflow-x:auto;border-collapse:collapse;width:100%}.estate-document td,.estate-document th{padding:14px;border:1px solid var(--line);min-width:80px}.estate-document h2{font-size:clamp(1.5rem,2.5vw,2rem)}.estate-document h3{font-size:1.25rem}.estate-document h4,.estate-document h5,.estate-document h6{font-size:1.1rem;margin:24px 0 12px}.estate-document ul,.estate-document ol{padding-left:1.3em}.estate-document li+li{margin-top:8px}.estate-document a{color:var(--accent)}.estate-document-action{padding:24px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg)}.wp-block-image img{height:auto}.wp-block-table{overflow:auto}.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}
@media(max-width:1100px){.estate-menu{display:grid;gap:0}.estate-menu .sub-menu{position:static;display:grid;box-shadow:none;border:0;border-left:2px solid var(--line);margin-left:12px;min-width:0}.estate-menu a{display:block;padding:10px}.estate-menu .sub-menu a{font-size:.875rem}}
@media(max-width:782px){.admin-bar>header{top:46px}}
.brand.estate-brand{display:block;flex-shrink:0;line-height:1;text-decoration:none;letter-spacing:0}.estate-brand-logo{display:block;width:221px;height:auto;max-width:100%;object-fit:contain}.brand.estate-brand .brand-slogan{font-size:.75rem;line-height:1.3;letter-spacing:0;margin-top:5px}.estate-brand-footer .estate-brand-logo{width:250px}.header .estate-brand-logo{max-height:48px;width:221px}.footer-about .estate-brand{margin-bottom:22px}
.header .brand.estate-brand .brand-slogan{text-align:center}
@media(min-width:1101px) and (max-width:1250px){.header .estate-brand-logo{width:180px}.header{gap:10px}.header nav{gap:6px}}
@media(max-width:600px){.header .estate-brand-logo{width:180px;max-height:40px}.brand.estate-brand .brand-slogan{font-size:.6875rem}.estate-brand-footer .estate-brand-logo{width:230px}}

/* Keep all six portfolio previews the same size at every viewport width.
   This authored override survives rebuilds of the approved source assets. */
#works #portfolio .portfolio-slide {
  grid-template-rows: auto minmax(0, 1fr);
}
#works #portfolio .portfolio-photo {
  width: 100%;
  height: auto;
  min-height: 0;
  max-height: none;
  aspect-ratio: 16 / 9;
  align-self: start;
}
#works #portfolio .portfolio-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
#works #portfolio .portfolio-copy {
  align-self: start;
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* The format selector preserves the approved image box and crop. */
.estate-hero-picture { display: contents; }

/* One header row; all overrides are confined to the approved navigation. */
.estate-site-header .header { gap: 22px; }
.estate-site-header #nav.estate-primary-nav { gap: 0; }
.estate-site-header #nav .estate-nav-list { display: flex; align-items: center; gap: 18px; margin: 0; padding: 0; list-style: none; }
.estate-site-header #nav .estate-nav-list li { position: relative; margin: 0; padding: 0; list-style: none; }
.estate-site-header #nav .estate-nav-list > li { display: flex; align-items: center; }
.estate-site-header #nav .estate-nav-list a { display: flex; align-items: center; min-height: 44px; padding: 10px 0; font-size: .875rem; line-height: 1.5; white-space: nowrap; text-decoration: none; }
.estate-site-header #nav .estate-nav-toggle { display: inline-flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%; min-height: 44px; margin: 0; padding: 10px 0; border: 0; border-radius: 5px; background: transparent; color: #435969; font: inherit; font-size: .875rem; font-weight: 500; line-height: 1.5; white-space: nowrap; text-align: left; cursor: pointer; }
.estate-site-header #nav .estate-nav-chevron { display: block; flex: 0 0 6px; width: 6px; height: 6px; margin: 0 3px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg) translateY(-2px); }
.estate-site-header #nav .estate-nav-toggle[aria-expanded="true"] { color: var(--accent); background: var(--bg); }
.estate-site-header #nav .estate-nav-toggle[aria-expanded="true"] .estate-nav-chevron { transform: rotate(225deg) translate(-1px, -1px); }
.estate-site-header #nav .estate-nav-toggle:hover { color: var(--accent); }
.estate-site-header #nav .estate-nav-toggle:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
.estate-site-header #nav .estate-nav-list .sub-menu { display: none; position: absolute; z-index: 2; top: 100%; left: -16px; min-width: 224px; margin: 0; padding: 8px; list-style: none; border: 1px solid var(--line); border-radius: 10px; background: #fff; box-shadow: 0 14px 36px #17233316; }
.estate-site-header #nav:not(.is-enhanced) .estate-nav-list li:hover > .sub-menu,
.estate-site-header #nav:not(.is-enhanced) .estate-nav-list li:focus-within > .sub-menu,
.estate-site-header #nav.is-enhanced .estate-nav-list li.is-open > .sub-menu { display: block; }
.estate-site-header #nav .estate-nav-list .sub-menu a { min-height: 44px; padding: 10px 12px; border-radius: 5px; white-space: normal; }
.estate-site-header #nav .estate-nav-list .sub-menu a:hover { background: var(--bg); }
.estate-site-header #nav .estate-nav-list a:hover,
.estate-site-header #nav .estate-nav-list [aria-current="page"],
.estate-site-header #nav .estate-nav-list .current-menu-item > a,
.estate-site-header #nav .estate-nav-list .current-menu-item > .estate-nav-toggle,
.estate-site-header #nav .estate-nav-list .current-menu-ancestor > .estate-nav-toggle { color: var(--accent); }
@media (min-width: 1281px) {
    .estate-site-header .header-tz { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; }
}
@media (min-width: 1101px) and (max-width: 1280px) {
    .estate-site-header .header { gap: 16px; }
    .estate-site-header #nav .estate-nav-list { gap: 16px; }
    .estate-site-header .header-tz { display: none; }
}
@media (max-width: 1100px) {
    .estate-site-header #nav.estate-primary-nav { align-items: stretch; padding: 16px 24px; }
    .estate-site-header #nav .estate-nav-list { display: block; width: 100%; }
    .estate-site-header #nav .estate-nav-list > li { display: grid; grid-template-columns: minmax(0, 1fr); align-items: stretch; border-bottom: 1px solid var(--line); }
    .estate-site-header #nav .estate-nav-list a { min-height: 48px; padding: 12px 10px; font-size: 1rem; white-space: normal; }
    .estate-site-header #nav .estate-nav-toggle { min-height: 48px; padding: 12px 10px; font-size: 1rem; white-space: normal; }
    .estate-site-header #nav .estate-nav-list .sub-menu { grid-column: 1 / -1; position: static; min-width: 0; margin: 0 0 10px 10px; padding: 0 0 0 10px; border: 0; border-left: 2px solid var(--line); border-radius: 0; box-shadow: none; }
    html:not(.estate-js) .estate-site-header #nav:not(.is-enhanced) .estate-nav-list .sub-menu { display: block; }
    .estate-site-header #nav .estate-nav-list .sub-menu a { font-size: .9375rem; }
    .estate-site-header #nav > .mobile-tz { display: flex; align-items: center; min-height: 48px; margin-top: 14px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 7px; font-weight: 700; }
    .estate-site-header #nav > .mobile-tz::before { display: none; }
    html:not(.estate-js) .estate-site-header #nav:not(.is-enhanced) { display: flex; position: static; grid-column: 1 / -1; flex-basis: 100%; margin: 0; max-height: none; }
    html:not(.estate-js) .estate-site-header .header:has(#nav:not(.is-enhanced)) { flex-wrap: wrap; }
    html:not(.estate-js) .estate-site-header .header:has(#nav:not(.is-enhanced)) #menu-toggle { display: none; }
}
@media (max-width: 600px) {
    .estate-site-header .header { gap: 4px 16px; }
    .estate-site-header #nav.estate-primary-nav { padding: 12px 20px 20px; }
    html:not(.estate-js) .estate-site-header #nav:not(.is-enhanced) { grid-row: 3; }
}

/* Variant 4: phone navigation only. Tablet and desktop styling is unchanged. */
.estate-mobile-nav { display: none; }
@media (max-width: 600px) {
    body { --estate-mobile-bar-height: calc(70px + env(safe-area-inset-bottom, 0px)); padding-bottom: var(--estate-mobile-bar-height); }
    .estate-mobile-nav { display: block; position: fixed; z-index: 30; inset: auto 0 0; height: var(--estate-mobile-bar-height); padding: 6px 8px calc(6px + env(safe-area-inset-bottom, 0px)); border-top: 1px solid var(--line); border-radius: 16px 16px 0 0; background: #fff; box-shadow: 0 -4px 20px #1723330a; }
    .estate-mobile-nav-items { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); height: 58px; }
    .estate-mobile-nav-item { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; min-width: 0; min-height: 48px; margin: 0; padding: 4px 0; border: 0; border-radius: 8px; background: transparent; color: var(--ink); font: inherit; font-size: .625rem; font-weight: 500; line-height: 1.3; letter-spacing: 0; white-space: nowrap; text-decoration: none; cursor: pointer; }
    .estate-mobile-nav-item svg { flex: 0 0 24px; }
    .estate-mobile-nav-item:hover, .estate-mobile-nav-item[aria-current], .estate-mobile-nav-item[aria-expanded="true"] { color: var(--accent); }
    .estate-mobile-nav-item:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
    .estate-mobile-nav .estate-mobile-nav-more { display: none; }
    .estate-mobile-nav.is-enhanced .estate-mobile-nav-more { display: flex; }
    .estate-mobile-nav noscript { display: none; }
    html:not(.estate-js) .estate-mobile-nav noscript { display: contents; }
    .contact-widget { bottom: calc(var(--estate-mobile-bar-height) + 14px); }
    .contact-widget .contact-popover { max-height: calc(100dvh - var(--estate-mobile-bar-height) - 90px); overflow-y: auto; }
}
@media (max-width: 360px) {
    .estate-mobile-nav-item { font-size: .5625rem; }
}

/* Variant 4 header: keep the logo, call and menu controls on one phone row. */
@media (max-width: 600px) {
    .estate-site-header .header { grid-template-columns: minmax(0, 1fr) 44px 44px; gap: 8px; padding-block: 0; min-height: 60px; }
    .estate-site-header .header .phone { grid-column: 2; grid-row: 1; justify-self: center; justify-content: center; width: 44px; height: 44px; min-height: 44px; margin: 0; padding: 10px; font-size: 0; }
    .estate-site-header .header .phone::before { content: ""; display: block; width: 24px; height: 24px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M21 16.4v3a2 2 0 0 1-2.2 2 18 18 0 0 1-7.8-2.8 18 18 0 0 1-5.5-5.5A18 18 0 0 1 2.7 5.2 2 2 0 0 1 4.7 3h3a2 2 0 0 1 2 1.7c.1 1 .4 2 .7 2.9a2 2 0 0 1-.5 2.1L8.6 11a14 14 0 0 0 5.5 5.5l1.3-1.3a2 2 0 0 1 2.1-.5c.9.3 1.9.6 2.9.7a2 2 0 0 1 1.6 1Z' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M21 16.4v3a2 2 0 0 1-2.2 2 18 18 0 0 1-7.8-2.8 18 18 0 0 1-5.5-5.5A18 18 0 0 1 2.7 5.2 2 2 0 0 1 4.7 3h3a2 2 0 0 1 2 1.7c.1 1 .4 2 .7 2.9a2 2 0 0 1-.5 2.1L8.6 11a14 14 0 0 0 5.5 5.5l1.3-1.3a2 2 0 0 1 2.1-.5c.9.3 1.9.6 2.9.7a2 2 0 0 1 1.6 1Z' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat; }
    .estate-site-header .header #menu-toggle { position: relative; grid-column: 3; grid-row: 1; display: flex; align-items: center; justify-content: center; width: 44px; min-width: 44px; height: 44px; padding: 10px; border: 0; background: transparent; color: var(--ink); font-size: 0; }
    .estate-site-header .header #menu-toggle::before { content: ""; display: block; width: 22px; height: 18px; background: linear-gradient(currentColor, currentColor) left top / 22px 2px no-repeat, linear-gradient(currentColor, currentColor) left center / 22px 2px no-repeat, linear-gradient(currentColor, currentColor) left bottom / 22px 2px no-repeat; }
    .estate-site-header .header #menu-toggle::after { content: ""; position: absolute; left: -4px; top: 10px; width: 1px; height: 24px; background: var(--line); }
    .estate-site-header .header #menu-toggle[aria-expanded="true"]::before { height: 22px; background: linear-gradient(45deg, transparent calc(50% - 1px), currentColor calc(50% - 1px), currentColor calc(50% + 1px), transparent calc(50% + 1px)), linear-gradient(-45deg, transparent calc(50% - 1px), currentColor calc(50% - 1px), currentColor calc(50% + 1px), transparent calc(50% + 1px)); }
    html:not(.estate-js) .estate-site-header .header:has(#nav:not(.is-enhanced)) #menu-toggle { display: none; }
}

/* Section joins use background colour and spacing, without extra rules.
   Keep border widths so all content and anchor positions stay unchanged. */
body.home #main > section[id] {
  border-block-color: transparent;
}

/* Extend only the homepage hero's colour beyond its approved 1480px canvas.
   The hero, artwork, content and clipping retain their original dimensions.
   The shadow is paint only: it adds no layout width or pointer target. */
@media (min-width: 1481px) {
  body.home #main > #offer.hero.hero-unified {
    box-shadow: 0 0 0 100vmax var(--bg);
    clip-path: inset(0 -100vmax);
  }
}

/* An illustrated comparison; all rules are scoped to this homepage component. */
body.home #neighbor-geology {
    margin-bottom: 0;
    scroll-margin-top: 110px;
}
body.home #neighbor-geology .neighbor-geology-copy {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
    gap: 16px 64px;
    align-items: center;
    margin-bottom: 32px;
}
body.home #neighbor-geology .eyebrow { grid-column: 1 / -1; display: block; }
body.home #neighbor-geology h2 {
    margin: 0;
    max-width: 27ch;
    font-size: clamp(1.875rem, 3vw, 2.5rem);
    line-height: 1.2;
    text-wrap: balance;
}
body.home #neighbor-geology .neighbor-geology-intro > p {
    margin: 0;
    color: var(--muted);
    font-size: 1.0625rem;
    line-height: 1.6;
}
body.home #neighbor-geology .neighbor-geology-intro > .neighbor-geology-takeaway {
    margin-top: 18px;
    padding-left: 18px;
    border-left: 3px solid var(--accent);
    color: var(--ink);
}
body.home #neighbor-geology .neighbor-geology-figure {
    margin: 0;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 22px;
    background: var(--surface);
}
body.home #neighbor-geology .neighbor-geology-artwork {
    position: relative;
    isolation: isolate;
    background: #eef2f6;
}
body.home #neighbor-geology .neighbor-geology-artwork > img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1672 / 941;
}
body.home #neighbor-geology .neighbor-geology-lots {
    position: absolute;
    z-index: 1;
    inset: 5% 0 auto;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    color: var(--ink);
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
}
body.home #neighbor-geology .neighbor-geology-lots > span { justify-self: center; }
body.home #neighbor-geology .neighbor-geology-water-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
}
body.home #neighbor-geology .neighbor-geology-water-label {
    position: absolute;
    z-index: 3;
    transform: translate(-50%, calc(-100% - 9px));
    padding: 7px 12px;
    border: 1px solid #b8e1e9;
    border-radius: 7px;
    background: #f5fdff;
    color: #056b82;
    box-shadow: 0 2px 8px #17233312;
    font-size: .875rem;
    font-weight: 700;
    line-height: 1.3;
    text-align: center;
    white-space: nowrap;
}
body.home #neighbor-geology .neighbor-geology-water-label-left { left: 25.5%; top: 67.1626%; }
body.home #neighbor-geology .neighbor-geology-water-label-right { left: 75%; top: 45.0584%; }
body.home #neighbor-geology .neighbor-geology-level {
    position: absolute;
    z-index: 1;
    left: 25.5%;
    right: 27%;
    top: 55%;
    height: 5px;
    transform: translateY(-50%);
    background: #ffffffd9;
}
body.home #neighbor-geology .neighbor-geology-level::after {
    content: '';
    position: absolute;
    inset: 1px 0 auto;
    border-top: 2px dashed var(--accent);
}
body.home #neighbor-geology .neighbor-geology-sample {
    position: absolute;
    z-index: 2;
    top: 55%;
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    transform: translate(-50%, -50%);
    border: 3px solid #fff;
    border-radius: 50%;
    box-shadow: 0 0 0 2px var(--accent), 0 3px 12px #17233324;
    color: #fff;
    background: var(--accent);
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
}
body.home #neighbor-geology .neighbor-geology-sample-one { left: 25.5%; }
body.home #neighbor-geology .neighbor-geology-sample-two { left: 73%; }
body.home #neighbor-geology .neighbor-geology-level-label {
    position: absolute;
    z-index: 2;
    left: 49.25%;
    top: 55%;
    transform: translate(-50%, -50%);
    padding: 7px 12px;
    border: 1px solid #d9e2f5;
    border-radius: 6px;
    color: var(--accent);
    background: #fff;
    font-size: .875rem;
    font-weight: 700;
    line-height: 1.3;
    white-space: nowrap;
}
body.home #neighbor-geology figcaption { padding: 28px 32px 20px; }
body.home #neighbor-geology .neighbor-geology-comparison {
    display: grid;
    grid-template-columns: .85fr 1fr 1.15fr;
    align-items: center;
    gap: 24px;
}
body.home #neighbor-geology .neighbor-geology-comparison-title {
    margin: 0;
    color: var(--muted);
    font-size: 1.125rem;
    line-height: 1.45;
}
body.home #neighbor-geology .neighbor-geology-comparison-title strong { color: var(--ink); }
body.home #neighbor-geology .neighbor-geology-soil {
    display: flex;
    align-items: center;
    gap: 14px;
    padding-left: 24px;
    border-left: 1px solid var(--line);
}
body.home #neighbor-geology .neighbor-geology-number {
    flex: 0 0 40px;
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    font-size: 1rem;
    font-weight: 700;
}
body.home #neighbor-geology .neighbor-geology-soil-sand .neighbor-geology-number { color: #69451c; background: #f3dfbd; }
body.home #neighbor-geology .neighbor-geology-soil-clay .neighbor-geology-number { color: #773d2b; background: #f1d5c9; }
body.home #neighbor-geology .neighbor-geology-soil p { margin: 0; }
body.home #neighbor-geology .neighbor-geology-soil strong { display: block; color: var(--ink); font-size: 1.125rem; line-height: 1.4; }
body.home #neighbor-geology .neighbor-geology-soil p > span { display: block; margin-top: 4px; color: var(--muted); font-size: .875rem; line-height: 1.5; }
body.home #neighbor-geology .neighbor-geology-water-comparison { margin-top: 24px; padding-top: 22px; border-top: 1px solid var(--line); }
body.home #neighbor-geology .neighbor-geology-water-icon { flex: 0 0 40px; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: #e3f5f9; color: #0787a2; }
body.home #neighbor-geology .neighbor-geology-water-icon svg { display: block; width: 23px; height: 23px; }
@media (max-width: 1000px) {
    body.home #neighbor-geology .neighbor-geology-water-label { top: auto; bottom: 2.5%; transform: translateX(-50%); }
    body.home #neighbor-geology .neighbor-geology-copy { gap: 16px 32px; }
    body.home #neighbor-geology h2 { font-size: 2rem; }
    body.home #neighbor-geology .neighbor-geology-intro > p { font-size: 1rem; }
    body.home #neighbor-geology .neighbor-geology-comparison { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
    body.home #neighbor-geology .neighbor-geology-comparison-title { grid-column: 1 / -1; }
    body.home #neighbor-geology .neighbor-geology-comparison-title br { display: none; }
    body.home #neighbor-geology .neighbor-geology-comparison-title strong { margin-left: .3em; }
    body.home #neighbor-geology .neighbor-geology-soil { padding-left: 0; border: 0; }
}
@media (max-width: 700px) {
    body.home #neighbor-geology .neighbor-geology-copy { grid-template-columns: minmax(0, 1fr); gap: 16px; margin-bottom: 24px; }
    body.home #neighbor-geology h2 { font-size: 1.75rem; }
    body.home #neighbor-geology .neighbor-geology-lots { top: 4%; font-size: .875rem; gap: 8px; }
    body.home #neighbor-geology .neighbor-geology-figure { border-radius: 16px; }
    body.home #neighbor-geology .neighbor-geology-sample { width: 24px; height: 24px; border-width: 2px; font-size: 12px; box-shadow: 0 0 0 1.5px var(--accent); }
    body.home #neighbor-geology .neighbor-geology-water-label { padding: 4px 6px; border-radius: 5px; font-size: .875rem; }
    body.home #neighbor-geology .neighbor-geology-level-label { display: none; }
    body.home #neighbor-geology figcaption { padding: 20px 18px 18px; }
    body.home #neighbor-geology .neighbor-geology-comparison { gap: 18px 14px; align-items: start; }
    body.home #neighbor-geology .neighbor-geology-comparison-title { font-size: 1rem; }
    body.home #neighbor-geology .neighbor-geology-soil { gap: 8px; align-items: flex-start; }
    body.home #neighbor-geology .neighbor-geology-number { flex-basis: 26px; width: 26px; height: 26px; font-size: .8125rem; }
    body.home #neighbor-geology .neighbor-geology-water-icon { flex-basis: 26px; width: 26px; height: 26px; }
    body.home #neighbor-geology .neighbor-geology-water-icon svg { width: 17px; height: 17px; }
    body.home #neighbor-geology .neighbor-geology-water-comparison { margin-top: 20px; padding-top: 18px; }
    body.home #neighbor-geology .neighbor-geology-soil strong { font-size: 1rem; }
    body.home #neighbor-geology .neighbor-geology-soil p > span { font-size: .8125rem; }
}

/* Homepage team: portraits can replace the placeholders without layout changes. */
#trust .company-people{align-items:stretch}
#trust #team{display:flex;flex-direction:column;padding:22px;scroll-margin-top:110px}
#trust #team .section-heading{display:block;margin:0 0 10px}
#trust #team .section-heading .eyebrow{display:block;margin-bottom:8px}
#trust #team .section-heading h3{font-size:1.375rem;line-height:1.3}
#trust #team .team-intro{margin:0 0 16px;font-size:.9375rem;line-height:1.55;color:var(--muted);max-width:48ch}
#trust #team .team-grid{flex:0 0 auto;align-items:start;overflow:hidden}
#trust #team .team-card{grid-template-columns:111.6px minmax(0,1fr);gap:18px;align-items:start}
#trust #team .team-card.is-entering{animation:team-slide-in-up .5s ease both}
#trust #team .team-card.is-leaving{visibility:visible;pointer-events:none;animation:team-slide-out-up .5s ease both}
@keyframes team-slide-in-up{from{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}
@keyframes team-slide-out-up{from{transform:translateX(0);opacity:1}to{transform:translateX(-100%);opacity:0}}
#trust #team .team-portrait{width:100%;aspect-ratio:4/5;overflow:hidden;border-radius:12px;background:var(--bg)}
#trust #team .team-portrait>img{display:block;width:100%;height:100%;object-fit:cover}
#trust #team .team-portrait--director>img{transform:scale(1.4);transform-origin:53% 65%}
#trust #team .team-portrait--geologist>img{transform:scale(1.4);transform-origin:50% 25%}
#trust #team .team-portrait--laboratory>img{transform:scale(1.25);transform-origin:50% 25%}
#trust #team .team-portrait--ecologist>img{transform:scale(1.4);transform-origin:50% 55%}
#trust #team .team-portrait--surveyor>img{transform:scale(1.2);transform-origin:60% 35%}
#trust #team .team-portrait--cadastre>img{object-position:64% center}
#trust #team .team-photo-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;width:100%;height:100%;padding:16px 8px;background:linear-gradient(155deg,#f3f6fc,#e5ecf7);color:#7085a7;border:1px solid #d5deeb;border-radius:12px}
#trust #team .team-photo-placeholder svg{display:block;width:62px;height:74px;flex-shrink:0}
#trust #team .team-photo-placeholder span{font-size:.625rem;line-height:1.5;text-align:center;color:#53647e}
#trust #team .team-copy{padding:0}
#trust #team .team-experience{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:flex-start;gap:4px 6px;padding:0;margin-bottom:12px;border:0;border-radius:0;background:none;color:var(--ink);font-size:.875rem;line-height:1.5;font-weight:500}
#trust #team .team-experience strong{color:inherit;font-size:inherit;line-height:inherit;font-weight:600;white-space:nowrap}
#trust #team .team-copy h4{margin:0 0 8px;font-size:1.25rem;line-height:1.35;letter-spacing:-.02em}
#trust #team .team-copy .team-name{margin:0 0 6px;font-family:var(--font-heading);font-size:1.25rem;line-height:1.35;font-weight:700;color:var(--ink)}
#trust #team .team-card--named .team-copy h4{font-size:1rem;color:var(--muted);font-weight:400}
#trust #team .team-copy .team-specialty{margin:0 0 10px;color:var(--accent);font-size:.8125rem;line-height:1.5;font-weight:700}
#trust #team .team-copy .team-description,#trust #team .team-copy .team-responsibility{margin:0;font-size:.9375rem;line-height:1.55;color:var(--muted)}
#trust #team .team-copy .team-responsibility{margin-top:10px;padding-top:10px;border-top:1px solid var(--line);color:var(--ink)}
#trust .company-reviews{padding:22px}
#trust .company-reviews .reviews-carousel{margin-bottom:10px}
#trust .company-reviews .reviews-carousel.is-vertical{overflow:hidden;scroll-snap-type:none;overscroll-behavior-x:auto}
#trust .company-reviews .is-vertical .reviews-track{display:grid;grid-template-columns:minmax(0,1fr);align-items:start}
#trust .company-reviews .is-vertical .review-card{grid-area:1/1;visibility:hidden;pointer-events:none;scroll-snap-align:none}
#trust .company-reviews .is-vertical .review-card.is-active{visibility:visible;pointer-events:auto}
#trust .company-reviews .is-vertical .review-card.is-entering{animation:review-slide-in-down .5s ease both}
#trust .company-reviews .is-vertical .review-card.is-leaving{visibility:visible;pointer-events:none;animation:review-slide-out-down .5s ease both}
@keyframes review-slide-in-down{from{transform:translateX(-100%);opacity:0}to{transform:translateX(0);opacity:1}}
@keyframes review-slide-out-down{from{transform:translateX(0);opacity:1}to{transform:translateX(100%);opacity:0}}
#trust .company-reviews>a{margin-top:0}
/* Keep pause available to keyboard and screen-reader users without a visible toolbar. */
#trust #team .team-playback{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#trust #team .team-playback:focus-visible{position:static;align-self:flex-start;width:auto;height:auto;min-height:44px;margin:0 0 16px;padding:8px 12px;overflow:visible;clip-path:none;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);font:inherit;font-size:.8125rem;white-space:normal;cursor:pointer}
#trust #team button:focus-visible,#trust #team .team-grid:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
@media(min-width:761px) and (max-width:1100px){
    #trust #team .team-card{grid-template-columns:1fr;gap:14px}
    #trust #team .team-portrait{width:93.6px}
}
@media(max-width:760px){
    #trust #team{padding:20px}
    #trust #team .team-card{grid-template-columns:100.8px minmax(0,1fr);gap:16px}
}
@media(max-width:480px){
    #trust #team,#trust .company-reviews{padding:18px}
    #trust #team .team-card{grid-template-columns:79.2px minmax(0,1fr);gap:0 14px}
    #trust #team .team-portrait{width:79.2px;grid-column:1;grid-row:1/3}
    #trust #team .team-photo-placeholder{gap:10px;padding:10px 5px}
    #trust #team .team-photo-placeholder svg{width:46px;height:55px}
    #trust #team .team-photo-placeholder span{font-size:.5625rem}
    #trust #team .team-copy{display:contents}
    #trust #team .team-experience{grid-column:1/-1;grid-row:3;margin:14px 0 12px;padding:0}
    #trust #team .team-copy h4{grid-column:2;grid-row:1;font-size:1.125rem;overflow-wrap:break-word}
    #trust #team .team-copy .team-specialty{grid-column:2;grid-row:2;margin:0}
    #trust #team .team-copy .team-description{grid-column:1/-1;margin-top:0}
    #trust #team .team-copy .team-responsibility{grid-column:1/-1}
    #trust #team .team-card--named .team-portrait{grid-row:1/4}
    #trust #team .team-copy .team-name{grid-column:2;grid-row:1;font-size:1.125rem;overflow-wrap:break-word}
    #trust #team .team-card--named .team-copy h4{grid-row:2}
    #trust #team .team-card--named .team-copy .team-specialty{grid-row:3}
    #trust #team .team-card--named .team-experience{grid-row:4}
    #trust #team .team-intro{margin-bottom:14px}
}
@media(prefers-reduced-motion:reduce){
    #trust #team .team-card.is-entering,#trust #team .team-card.is-leaving{animation:none}
    #trust #team .team-card.is-leaving{visibility:hidden}
    #trust .company-reviews .is-vertical .review-card.is-entering,#trust .company-reviews .is-vertical .review-card.is-leaving{animation:none}
    #trust .company-reviews .is-vertical .review-card.is-leaving{visibility:hidden}
}

/* Only the explicitly approved footer; no shared layout or interaction rules. */
#contact.estate-footer {
    background: var(--surface, #fff);
    color: var(--ink, #172435);
    border-top: 1px solid var(--line, #cbd6e4);
    padding: 32px 0 24px;
}
#contact.estate-footer .estate-footer-grid {
    display: grid;
    grid-template-columns: 1.08fr 1.08fr 1fr 1fr;
    gap: 28px;
    align-items: start;
}
#contact.estate-footer .estate-footer-grid > * { min-width: 0; }
#contact.estate-footer .estate-brand {
    width: 250px;
    max-width: 100%;
    margin: 0;
}
#contact.estate-footer .brand-slogan { text-align: center; }
#contact.estate-footer .estate-footer-description {
    max-width: 32ch;
    margin: 16px 0 14px;
    color: var(--muted, #536981);
    font-size: .8125rem;
    line-height: 1.6;
}
#contact.estate-footer .footer-rating {
    display: inline-flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 10px;
    max-width: 100%;
    margin: 0;
    padding: 11px 12px;
    color: var(--ink, #172435);
    background: var(--surface, #fff);
    border: 1px solid var(--line, #cbd6e4);
    border-radius: 12px;
    text-decoration: none;
}
#contact.estate-footer .footer-rating:hover {
    background: var(--bg, #f5f7fa);
    border-color: var(--accent, #254deb);
}
#contact.estate-footer .footer-rating-logo { width: 32px; height: 32px; flex: 0 0 32px; }
#contact.estate-footer .footer-rating-score { font-size: 1.625rem; line-height: 1; }
#contact.estate-footer .footer-rating-copy { font-size: .75rem; line-height: 1.4; gap: 3px; }
#contact.estate-footer .footer-rating-stars { font-size: .75rem; letter-spacing: 1px; }
#contact.estate-footer .estate-footer-title {
    margin: 2px 0 13px;
    color: var(--ink, #172435);
    font-size: .9375rem;
    line-height: 1.4;
    font-weight: 700;
}
#contact.estate-footer .estate-footer-nav ul { margin: 0; padding: 0; list-style: none; }
#contact.estate-footer .estate-footer-nav li { margin: 0; padding: 0; }
#contact.estate-footer a,
#contact.estate-footer .inline-link {
    background: transparent;
    color: var(--ink, #172435);
    font-size: .875rem;
    line-height: 1.5;
    text-decoration: none;
    overflow-wrap: anywhere;
}
#contact.estate-footer a:hover,
#contact.estate-footer .inline-link:hover { color: var(--accent, #254deb); text-decoration: underline; }
#contact.estate-footer a:focus-visible,
#contact.estate-footer .inline-link:focus-visible { outline: 2px solid var(--accent, #254deb); outline-offset: 4px; }
#contact.estate-footer .estate-footer-nav a { display: inline-block; padding: 5px 0; }
#contact.estate-footer .estate-footer-all { font-weight: 700; }
#contact.estate-footer .estate-footer-nav .estate-footer-all { margin-top: 4px; color: var(--accent, #254deb); }
#contact.estate-footer .estate-footer-phone {
    display: block;
    font-size: 1.0625rem;
    line-height: 1.5;
    font-weight: 700;
    white-space: nowrap;
    margin-bottom: 6px;
}
#contact.estate-footer .estate-footer-email { display: inline-block; padding: 2px 0; }
#contact.estate-footer address,
#contact.estate-footer .estate-footer-hours {
    margin: 13px 0;
    color: var(--muted, #536981);
    font-size: .8125rem;
    font-style: normal;
    line-height: 1.6;
}
#contact.estate-footer .estate-footer-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-top: 26px;
    padding-top: 18px;
    padding-right: 180px;
    border-top: 1px solid var(--line, #cbd6e4);
}
#contact.estate-footer .estate-footer-legal {
    margin: 0;
    color: var(--muted, #536981);
    font-size: .75rem;
    line-height: 1.6;
}
#contact.estate-footer .estate-footer-legal span { display: block; }
#contact.estate-footer .estate-footer-policies { display: flex; flex-wrap: wrap; gap: 8px 24px; justify-content: flex-end; }
#contact.estate-footer .estate-footer-policies a,
#contact.estate-footer .estate-footer-policies .inline-link { font-size: .75rem; color: var(--muted, #536981); }
@media (max-width: 1100px) {
    #contact.estate-footer .estate-footer-grid { gap: 24px; grid-template-columns: 1fr 1fr; }
    #contact.estate-footer .estate-footer-company { grid-column: 1; grid-row: 1; }
    #contact.estate-footer .estate-footer-contacts { grid-column: 2; grid-row: 1; }
    #contact.estate-footer .estate-footer-nav { grid-row: 2; }
    #contact.estate-footer .estate-footer-bottom { align-items: flex-start; flex-direction: column; gap: 10px; }
    #contact.estate-footer .estate-footer-policies { justify-content: flex-start; }
}
@media (max-width: 600px) {
    #contact.estate-footer { padding: 28px 0 92px; }
    #contact.estate-footer .estate-footer-grid { gap: 24px 20px; }
    #contact.estate-footer .estate-footer-company { grid-column: 1 / -1; grid-row: 1; }
    #contact.estate-footer .estate-brand { width: 230px; }
    #contact.estate-footer .estate-footer-description { max-width: 46ch; margin-top: 12px; }
    #contact.estate-footer .estate-footer-nav { grid-row: 2; }
    #contact.estate-footer .estate-footer-nav a { padding: 7px 0; min-height: 36px; }
    #contact.estate-footer .estate-footer-title { font-size: .875rem; margin-bottom: 9px; }
    #contact.estate-footer .estate-footer-contacts { grid-column: 1 / -1; grid-row: 3; }
    #contact.estate-footer .estate-footer-phone { font-size: 1.125rem; }
    #contact.estate-footer .estate-footer-bottom { display: block; margin-top: 24px; padding-top: 16px; padding-right: 0; }
    #contact.estate-footer .estate-footer-policies { justify-content: flex-start; gap: 6px 18px; margin-top: 12px; }
    #contact.estate-footer .estate-footer-policies a { padding: 5px 0; }
}

