@font-face{font-family:Inter;src:url('/assets/Inter.woff2') format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:Space;src:url('/assets/Space.woff2') format('woff2');font-weight:300 700;font-display:swap}
:root{--ink:#05255A;--muted:#4A5768;--paper:#FFFFFF;--stone:#F4FBFE;--line:rgba(5,37,90,.19);--green:#25623D;--acid:#A2DFF8;--blue:#13549D;--water:#47A9DC;--green-bright:#52A62F;--foam:#CFF2FC;--progress:0;--gutter:clamp(22px,4.25vw,82px);--header-height:96px;color-scheme:light;font-family:Inter,Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 24px)}body{margin:0;overflow-x:clip}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}button{color:inherit}button,a,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default}img{display:block;max-width:100%;height:auto}figure,h1,h2,h3,p{margin:0}ul,ol{margin:0;padding:0}h1,h2,h3{font-family:Space,Inter,sans-serif;font-weight:500}::selection{color:var(--paper);background:var(--green)}:focus-visible{outline:3px solid #13549D;outline-offset:6px}button:focus-visible{outline-offset:3px}a,button,summary{scroll-margin-top:calc(var(--header-height) + 30px)}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:0;transform:translateY(-130%);left:20px;background:var(--ink);color:white;padding:18px 25px;z-index:100}.skip-link:focus{top:15px;transform:translateY(0)}.section-wrap{padding-inline:max(var(--gutter),env(safe-area-inset-left)) max(var(--gutter),env(safe-area-inset-right));max-width:1800px;margin-inline:auto}.eyebrow{font-size:10px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;line-height:1.65;display:flex;align-items:center;gap:14px}.tiny-cross{font-size:23px;font-weight:400;line-height:1}.section-index{margin-bottom:35px}.section-index>span{opacity:.5;margin-right:6px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:34px;min-height:54px;padding:15px 23px;background:var(--green);color:#fff;font-size:12px;font-weight:500;line-height:1.5;border:1px solid transparent;transition:background .25s,transform .25s}.button>span{font-size:21px;line-height:1;transition:transform .25s}.button:hover{background:#05255A}.button:hover>span,.text-link:hover>span{transform:translate(3px,-3px)}.button-small{min-height:46px;padding:11px 17px;gap:24px;font-size:11px}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;min-height:48px;border-bottom:1px solid currentColor;font-size:12px;font-weight:500;padding-bottom:4px}.text-link>span{font-size:21px;transition:transform .25s}.location-label{display:flex;align-items:center;gap:9px;font-size:10px;line-height:1.6}.location-label>i{width:6px;height:6px;background:var(--green);border-radius:50%;flex-shrink:0}
.site-header{position:absolute;z-index:30;top:0;left:0;right:0;min-height:var(--header-height);display:flex;align-items:center;justify-content:space-between;gap:25px;padding:16px max(var(--gutter),env(safe-area-inset-left)) 16px max(var(--gutter),env(safe-area-inset-right));padding-top:max(16px,env(safe-area-inset-top));border-bottom:1px solid var(--line);transition:background .25s,box-shadow .25s}.site-header.is-scrolled{position:fixed;background:rgba(255,255,255,.96);backdrop-filter:blur(16px);box-shadow:0 2px 16px rgba(5,37,90,.025)}.brand{display:flex;align-items:center;gap:9px;flex-shrink:0}.brand img{width:49px;height:49px;object-fit:contain}.brand-type{font-family:Space,Inter,sans-serif;font-size:17px;font-weight:700;letter-spacing:-.045em;line-height:1.1}.brand-type>span{display:block;font-family:Inter,sans-serif;font-size:8px;letter-spacing:.26em;font-weight:500;margin-top:5px}.desktop-nav{display:flex;gap:clamp(20px,2.5vw,46px);margin-left:5vw}.desktop-nav a{font-size:11px;position:relative;padding-block:15px}.desktop-nav a:after{content:'';position:absolute;left:0;right:0;bottom:9px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s}.desktop-nav a:hover:after{transform:scaleX(1)}.header-actions{display:flex;align-items:center;gap:25px}.preview-tag{display:flex;align-items:center;gap:6px;font-size:9px;white-space:nowrap;color:#4A5768}.preview-tag>span{height:5px;width:5px;background:var(--green);border-radius:50%}.menu-toggle{display:none;background:none;border:1px solid var(--line);height:44px;width:44px;align-items:center;justify-content:center;flex-direction:column;gap:5px}.menu-toggle span{width:17px;height:1px;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(3px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-3px) rotate(-45deg)}.mobile-menu[hidden]{display:none}.mobile-menu{position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:22px var(--gutter) 32px;border-bottom:1px solid var(--line);box-shadow:0 14px 22px rgba(5,37,90,.09)}.mobile-menu a{display:flex;justify-content:space-between;font:500 25px Space,Inter,sans-serif;padding:15px 0;border-bottom:1px solid var(--line)}.mobile-menu a>span{font:11px Inter,sans-serif;align-self:center}.mobile-menu p{margin-top:25px;font-size:11px}
.experience{height:300vh;height:300svh;position:relative;background:#FFFFFF}.scene-sticky{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;isolation:isolate}.scene-fallback{position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.88),rgba(255,255,255,.12) 70%),url('/assets/property-house-clean-speed-20261028.webp') center/cover;opacity:0;transition:opacity .8s;z-index:-1}#scene-canvas{display:block;width:100%;height:100%;position:absolute;inset:0;z-index:0;touch-action:pan-y}.scene-vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(255,255,255,.72),rgba(255,255,255,.35) 32%,transparent 63%),linear-gradient(0deg,rgba(255,255,255,.85),transparent 24%,transparent 87%,rgba(255,255,255,.85));z-index:1}.hero-content{position:absolute;left:max(var(--gutter),env(safe-area-inset-left));top:clamp(160px,24vh,270px);top:clamp(155px,24svh,270px);z-index:3;width:48%;max-width:730px;pointer-events:none}.hero-chapter{position:absolute;top:0;left:0;right:0;opacity:0;visibility:hidden;transform:translateY(25px);transition:opacity .45s,transform .65s cubic-bezier(.2,.7,.2,1),visibility .45s}.hero-chapter.is-active{opacity:1;visibility:visible;transform:translateY(0)}.hero-chapter a{pointer-events:auto}.hero-chapter:not(.is-active) a{pointer-events:none}.hero-chapter .eyebrow{font-size:9px;letter-spacing:.11em;margin-bottom:25px}.hero-chapter h1{font-size:clamp(76px,8.2vw,150px);line-height:.91;letter-spacing:-.082em;margin-left:-.035em;max-width:10ch}.hero-chapter h1 span,.hero-chapter h2 span{color:var(--green)}.hero-chapter h2{font-size:clamp(52px,5.8vw,103px);line-height:.98;letter-spacing:-.07em;margin-left:-.025em}.hero-intro{font-size:clamp(12px,1.12vw,16px);line-height:1.75;margin-top:30px;max-width:36ch}.hero-link{margin-top:16px}.hero-chapter>.button{margin-top:24px}.scene-side-note{position:absolute;right:max(24px,env(safe-area-inset-right));top:41%;writing-mode:vertical-rl;z-index:3;font-size:8px;letter-spacing:.18em;display:flex;align-items:center;gap:20px;opacity:.7}.scene-side-note>span{height:48px;width:1px;background:var(--ink);opacity:.5}.scene-footer{position:absolute;z-index:3;bottom:max(28px,env(safe-area-inset-bottom));left:max(var(--gutter),env(safe-area-inset-left));right:max(var(--gutter),env(safe-area-inset-right));display:grid;grid-template-columns:1fr .8fr 1fr;align-items:center;gap:30px}.scroll-cue{display:flex;align-items:center;gap:14px;width:fit-content;font-size:10px;line-height:1.6}.scroll-cue-icon{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(5,37,90,.3);border-radius:50%;font-size:20px}.scroll-cue span span{display:block;color:#4A5768}.chapter-tracker{display:flex;align-items:center;gap:14px;font-size:9px;max-width:230px;justify-self:center;width:100%}.chapter-total{opacity:.45}.chapter-track{height:1px;background:rgba(5,37,90,.23);width:100%;position:relative}.chapter-track i{display:block;position:absolute;top:-1px;left:0;height:3px;width:100%;background:var(--green);transform:scaleX(max(.015,var(--progress)));transform-origin:left}.scene-utilities{justify-self:end;display:flex;gap:20px;align-items:center}.scene-caption{font-size:8px;line-height:1.6;letter-spacing:.02em;opacity:.75}.scene-caption>span{padding:0 4px}.scene-controls{display:flex;gap:4px}.icon-button{width:40px;height:42px;padding:11px;background:none;border:1px solid rgba(5,37,90,.2);border-radius:50%;display:grid;place-items:center;transition:background .2s}.icon-button:hover{background:rgba(255,255,255,.8)}.icon-button svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}.icon-button .play-icon{display:none}.icon-button[aria-pressed="true"] .play-icon{display:block}.icon-button[aria-pressed="true"] .pause-icon{display:none}.scene-loader{position:absolute;z-index:2;right:26%;top:49%;width:190px;transform:translate(50%,-50%);display:flex;align-items:center;flex-direction:column;transition:opacity .6s,visibility .6s;pointer-events:none}.scene-loader p{font-size:9px;letter-spacing:.06em;margin-top:23px}.loader-track{height:1px;background:rgba(5,37,90,.2);width:120px;margin-top:14px;overflow:hidden}.loader-track i{display:block;height:100%;width:var(--load-progress,0%);background:var(--green);transition:width .2s;transform-origin:left}.loader-percent{font-size:8px;font-variant-numeric:tabular-nums;margin-top:9px;opacity:.6}.loader-mark{width:70px;height:48px;display:flex;gap:4px;transform:skewY(-17deg) rotate(16deg);position:relative}.loader-mark span{display:block;flex:1;background:#13549D;border:1px solid rgba(5,37,90,.1);position:relative;overflow:hidden}.loader-mark span:after{content:'';position:absolute;inset:0;background:#CFF2FC;transform:translateY(100%);animation:clean-tile 1.8s ease-in-out infinite}.loader-mark span:nth-child(2):after{animation-delay:.12s}.loader-mark span:nth-child(3):after{animation-delay:.24s}@keyframes clean-tile{0%,10%{transform:translateY(100%)}55%,80%{transform:translateY(0)}100%{transform:translateY(-100%)}}html[data-stage="ready"] .scene-loader,html[data-stage="fallback"] .scene-loader,.scene-loader.is-done{opacity:0;visibility:hidden}html[data-stage="fallback"] .scene-fallback{opacity:1}html[data-stage="fallback"] #scene-canvas{opacity:0}html[data-stage="fallback"] .scene-caption{max-width:180px}html[data-stage="fallback"] .scene-vignette{background:linear-gradient(90deg,rgba(255,255,255,.8),transparent 75%)}
.introduction{padding-block:115px 130px;border-bottom:1px solid var(--line)}.introduction>.eyebrow{margin-bottom:45px}.introduction-copy{display:grid;grid-template-columns:1.35fr 1fr;gap:8vw;align-items:end}.introduction h2{font-size:clamp(50px,6vw,105px);line-height:1.03;letter-spacing:-.065em}.introduction h2 span{color:#13549D}.introduction-aside{padding-bottom:5px}.introduction-aside>p{font-size:clamp(17px,1.5vw,24px);line-height:1.6;max-width:32ch;font-weight:400;letter-spacing:-.015em}.introduction-aside .location-label{margin-top:30px}.results{padding-block:110px 135px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:50px}.section-heading h2,.services h2,.about h2{font-size:clamp(43px,5vw,84px);line-height:1.06;letter-spacing:-.055em}.section-heading h2 span,.services h2 span,.about h2 span{color:#13549D}.section-description{font-size:14px;line-height:1.7;padding-bottom:7px;padding-right:7vw}.project-layout{display:grid;grid-template-columns:1.7fr 1fr;gap:5.6vw;align-items:start}.project-main{min-width:0}.comparison{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--stone)}.comparison-frame{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}.comparison-frame img{height:100%;width:100%;object-fit:cover}.comparison-frame figcaption{position:absolute;top:20px;left:20px;background:rgba(255,255,255,.94);padding:8px 13px;font-size:10px}.comparison[data-view="after"] .comparison-after,.comparison[data-view="before"] .comparison-before,.comparison[data-view="both"] .comparison-frame{opacity:1;visibility:visible}.comparison[data-view="both"]{aspect-ratio:4/2.25;display:grid;grid-template-columns:1fr 1fr;gap:3px}.comparison[data-view="both"] .comparison-frame{position:relative}.comparison[data-view="both"] img{object-fit:cover}.project-caption{display:flex;align-items:start;justify-content:space-between;gap:16px;padding-top:25px}.project-type{font-size:9px;font-weight:500;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}.project-caption h3,.project-secondary h3{font-size:clamp(19px,1.6vw,26px);letter-spacing:-.035em;font-weight:500;line-height:1.3}.caption-note,.project-secondary figcaption>p:last-child{font-size:11px;line-height:1.7;color:var(--muted);margin-top:8px}.comparison-controls{display:flex;align-items:center;border:1px solid var(--line);padding:3px;flex-shrink:0}.comparison-controls button{background:transparent;border:0;min-height:39px;font-size:9px;padding:8px 12px;white-space:nowrap}.comparison-controls button[aria-pressed="true"]{color:var(--paper);background:var(--ink)}.comparison-controls button span{margin-left:5px}.project-secondary{margin-top:105px;min-width:0}.project-image{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--stone)}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform 1s}.project-secondary:hover .project-image img{transform:scale(1.035)}.image-stamp{position:absolute;bottom:18px;left:20px;right:20px;font-size:8px;letter-spacing:.12em;padding:14px;background:rgba(255,255,255,.93);display:flex;align-items:center;justify-content:space-between}.image-stamp>span{font-size:17px}.project-secondary figcaption{padding-top:25px}
.services{background:#F4FBFE;border-top:1px solid rgba(5,37,90,.07);border-bottom:1px solid rgba(5,37,90,.07)}.services-inner{padding-block:110px 115px;display:grid;grid-template-columns:1fr 1.2fr;gap:8vw}.services-intro{position:relative}.services-intro>p:not(.eyebrow){max-width:34ch;font-size:13px;line-height:1.85;margin-top:27px}.services-intro>.text-link{margin-top:25px}.material-study{display:flex;align-items:center;gap:15px;font-size:7px;letter-spacing:.12em;color:#4A5768;max-width:320px;margin-top:75px}.material-line{height:1px;background:#47A9DC;flex:1}.service-list details{border-bottom:1px solid rgba(5,37,90,.2)}.service-list details:first-child{border-top:1px solid rgba(5,37,90,.2)}.service-list summary{list-style:none;display:grid;grid-template-columns:27px 1fr 20px;gap:17px;align-items:center;cursor:pointer;padding:24px 0;min-height:78px}.service-list summary::-webkit-details-marker{display:none}.service-number{font-size:9px;color:#4A5768}.service-list h3{font-size:clamp(18px,1.8vw,29px);letter-spacing:-.035em;line-height:1.35}.detail-plus{width:14px;height:14px;position:relative}.detail-plus:before,.detail-plus:after{content:'';position:absolute;background:var(--ink);left:0;top:6px;width:14px;height:1px;transition:transform .25s}.detail-plus:after{transform:rotate(90deg)}details[open] .detail-plus:after{transform:rotate(0)}.service-detail{padding:0 32px 28px 44px;max-width:500px}.service-detail p{font-size:12px;line-height:1.85;color:#4A5768;max-width:39ch}.service-detail a{display:inline-flex;align-items:center;gap:20px;min-height:44px;font-size:10px;font-weight:500;margin-top:8px}.service-detail a>span{font-size:19px}
.about{display:grid;grid-template-columns:1fr 1fr;gap:10vw;padding-block:135px;align-items:center}.about-image{aspect-ratio:4/4.8;position:relative;background:var(--stone);overflow:hidden}.about-image img{height:100%;width:100%;object-fit:cover;object-position:center 47%}.about-image figcaption{position:absolute;bottom:20px;left:20px;right:20px;display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.92);padding:15px 18px;font-size:8px;letter-spacing:.12em}.about-image figcaption>span:last-child{font-size:20px}.about-copy .section-index{margin-bottom:35px}.about-copy h2{font-size:clamp(43px,4.2vw,73px)}.about-copy .about-lead{font-size:19px;line-height:1.5;letter-spacing:-.02em;margin-top:35px;color:var(--ink)}.about-copy>p:not(.eyebrow):not(.about-lead){font-size:13px;line-height:1.9;color:#4A5768;max-width:39ch;margin-top:20px}.about-copy .text-link{margin-top:26px}.how-it-works{padding-block:10px 130px}.how-it-works .section-heading{padding-bottom:38px;border-bottom:1px solid var(--line);align-items:center;margin-bottom:0}.how-it-works .section-index{margin-bottom:0}.how-it-works h2{font-size:clamp(28px,3.4vw,52px);letter-spacing:-.055em}.process-list{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:6vw;padding-top:38px}.process-number{display:flex;align-items:center;justify-content:space-between;font:400 40px Space,Inter,sans-serif;letter-spacing:-.05em;color:#13549D;margin-bottom:38px}.process-number>span{font:400 23px Inter,sans-serif;color:var(--ink)}.process-list h3{font-size:21px;line-height:1.3;letter-spacing:-.035em;margin-bottom:15px}.process-list p{font-size:12px;line-height:1.85;color:#4A5768;max-width:31ch}
.contact{background:#05255A;color:#FFFFFF;position:relative;overflow:hidden}.contact:before{content:'';position:absolute;width:60vw;height:60vw;border:1px solid rgba(71,169,220,.07);border-radius:50%;right:-20vw;bottom:-28vw;pointer-events:none}.contact-inner{padding-block:60px 50px;position:relative}.contact-top{display:flex;justify-content:space-between;align-items:center;gap:25px}.contact-top>.eyebrow{font-size:9px;color:#A2DFF8}.contact-top>p:last-child{font-size:8px;letter-spacing:.11em;color:#CFF2FC}.contact-main{display:flex;justify-content:space-between;align-items:end;gap:60px;padding:75px 0 90px}.contact-main h2{font-size:clamp(83px,11vw,185px);line-height:.94;letter-spacing:-.075em;margin-left:-.035em}.contact-main h2 span{color:#A2DFF8}.contact-action{padding-bottom:9px;margin-right:8vw}.contact-action>p:first-child{font-size:16px;line-height:1.75;color:#FFFFFF;margin-bottom:27px}.button-light{background:#FFFFFF;color:#05255A;min-height:58px;padding-inline:23px;white-space:nowrap}.button-light:hover{background:#CFF2FC}.booking-note{font-size:9px;line-height:1.6;color:#CFF2FC;max-width:30ch;margin-top:13px}.coverage{border-top:1px solid rgba(162,223,248,.25);padding-top:33px;display:grid;grid-template-columns:1fr 4fr;gap:30px;align-items:start}.coverage>p{font-size:8px;letter-spacing:.12em;color:#CFF2FC;line-height:1.9}.coverage ul{display:flex;flex-wrap:wrap;gap:15px 24px;list-style:none;max-width:750px}.coverage li{font-size:11px;color:#FFFFFF}.site-footer{padding-block:34px;display:flex;align-items:center;justify-content:space-between;gap:20px}.footer-brand{font:700 16px Space,Inter,sans-serif;letter-spacing:-.06em;line-height:1.1}.footer-brand>span{display:block;font:500 7px Inter,sans-serif;letter-spacing:.22em;margin-top:5px}.site-footer>p{font-size:9px;color:#4A5768;line-height:1.7}.footer-preview>span{margin:0 6px}.back-top{height:42px;width:42px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:19px}.js-reveal [data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .7s,transform .85s cubic-bezier(.22,.6,.24,1)}.js-reveal [data-reveal].is-visible{opacity:1;transform:translateY(0)}
@media(min-width:1700px){.site-header{padding-inline:max(var(--gutter),calc((100vw - 1635px)/2))}.hero-content{left:max(var(--gutter),calc((100vw - 1635px)/2))}.hero-chapter .eyebrow{font-size:11px}.hero-intro{font-size:17px}.desktop-nav a,.button-small{font-size:12px}.preview-tag{font-size:10px}.scene-footer{left:max(var(--gutter),calc((100vw - 1635px)/2));right:max(var(--gutter),calc((100vw - 1635px)/2))}}
@media(max-width:1100px){:root{--header-height:88px}.site-header{gap:18px}.desktop-nav{gap:22px;margin-left:0}.preview-tag{position:absolute;top:calc(100% + 10px);right:var(--gutter);padding:5px 8px;background:rgba(255,255,255,.9);font-size:8px}.header-actions{gap:15px}.hero-content{width:54%;top:23svh}.hero-chapter h1{font-size:clamp(75px,10vw,110px)}.hero-chapter h2{font-size:clamp(56px,7.5vw,90px)}.hero-chapter .eyebrow{max-width:29ch}.scene-caption{max-width:93px}.scene-caption .scene-motion-hint{display:none}.scene-footer{grid-template-columns:1fr .6fr 1fr;gap:20px}.scene-utilities{gap:10px}.project-caption{flex-direction:column;gap:20px}.project-secondary{margin-top:80px}.project-layout{gap:5vw;grid-template-columns:1.5fr 1fr}.services-inner{gap:6vw;grid-template-columns:1fr 1.15fr}.service-list summary{gap:10px;grid-template-columns:22px 1fr 16px}.service-detail{padding-left:32px}.about{gap:7vw}.about-copy .about-lead{font-size:17px}.about-copy>p:not(.eyebrow):not(.about-lead){font-size:12px}.contact-action{margin-right:0}.contact-main{gap:30px}.contact-main h2{font-size:12vw}.contact-action>p:first-child{font-size:14px}}
@media(max-width:760px){:root{--header-height:82px;--gutter:24px}.site-header{min-height:82px;padding-block:14px;padding-top:max(14px,env(safe-area-inset-top));gap:10px}.brand{gap:6px}.brand img{width:42px;height:42px}.brand-type{font-size:15px}.brand-type>span{font-size:7px;letter-spacing:.21em}.desktop-nav{display:none}.header-actions{gap:10px}.button-small{min-height:44px;font-size:10px;padding:10px 12px;gap:14px}.button-small>span{font-size:17px}.menu-toggle{display:flex}.scene-sticky{}.scene-vignette{background:linear-gradient(180deg,rgba(255,255,255,.78),rgba(255,255,255,.5) 36%,transparent 62%,rgba(255,255,255,.8)),linear-gradient(90deg,rgba(255,255,255,.2),transparent)}.hero-content{top:calc(var(--header-height) + 38px);width:calc(100% - 48px);max-width:540px}.hero-chapter .eyebrow{font-size:8px;max-width:none;margin-bottom:21px;gap:10px}.hero-chapter h1{font-size:clamp(67px,14vw,100px);line-height:.91;letter-spacing:-.08em}.hero-chapter h2{font-size:clamp(48px,10.6vw,76px);line-height:.97;max-width:11ch}.hero-intro{font-size:11px;line-height:1.65;margin-top:21px}.hero-link{font-size:10px;min-height:40px;margin-top:11px;gap:30px}.hero-chapter>.button{font-size:10px;min-height:45px;margin-top:19px;padding:10px 15px;gap:24px}.hero-chapter>.button>span{font-size:18px}.scene-side-note{display:none}.scene-footer{bottom:max(20px,env(safe-area-inset-bottom));grid-template-columns:1fr 1fr;gap:18px;align-items:end}.scroll-cue{font-size:9px;gap:10px}.scroll-cue-icon{height:36px;width:36px;font-size:18px}.chapter-tracker{position:absolute;bottom:67px;left:0;max-width:135px;font-size:8px;gap:11px}.scene-utilities{flex-direction:column;gap:6px;align-items:end}.scene-caption{font-size:7px;max-width:none}.scene-caption>span{display:inline}.icon-button{width:36px;height:36px;padding:9px}.scene-controls{gap:6px}.scene-loader{top:64%;right:48%;width:160px}.scene-loader p{font-size:8px;margin-top:18px}.loader-mark{width:54px;height:38px}.introduction{padding-block:70px 75px}.introduction>.eyebrow{margin-bottom:30px}.introduction-copy{grid-template-columns:1fr;gap:30px}.introduction h2{font-size:clamp(49px,10vw,75px)}.introduction-aside>p{font-size:16px;line-height:1.7;max-width:34ch}.introduction-aside .location-label{margin-top:23px;font-size:9px}.results{padding-block:70px 80px}.section-heading{align-items:start;gap:24px;margin-bottom:32px}.section-heading h2,.services h2,.about h2{font-size:clamp(41px,8.8vw,65px)}.section-description{font-size:11px;padding-right:0;max-width:20ch;padding-top:57px}.section-index{font-size:8px;gap:8px;margin-bottom:25px}.section-index>span{margin-right:3px}.project-layout{grid-template-columns:1fr;gap:43px}.project-caption{flex-direction:row;flex-wrap:wrap;gap:18px;padding-top:20px}.project-caption h3,.project-secondary h3{font-size:21px}.project-type{font-size:8px;margin-bottom:9px}.caption-note,.project-secondary figcaption>p:last-child{font-size:10px}.comparison-controls{margin-top:1px}.comparison-controls button{font-size:9px;padding:8px 12px;min-height:38px}.comparison-frame figcaption{top:14px;left:14px;font-size:9px;padding:7px 11px}.comparison[data-view="both"]{aspect-ratio:4/3}.project-secondary{margin-top:0;display:grid;grid-template-columns:1.1fr 1fr;align-items:end;gap:20px}.project-image{aspect-ratio:3/3.5}.image-stamp{left:10px;right:10px;bottom:10px;font-size:6px;padding:10px;letter-spacing:.05em}.image-stamp>span{font-size:15px}.project-secondary figcaption{padding-bottom:5px}.project-secondary h3{font-size:20px}.services-inner{padding-block:70px 75px;grid-template-columns:1fr;gap:38px}.services-intro>p:not(.eyebrow){font-size:12px;max-width:37ch;margin-top:24px}.services-intro>.text-link{margin-top:19px;font-size:11px}.material-study{display:none}.service-list summary{padding:21px 0;grid-template-columns:25px 1fr 16px;gap:12px;min-height:69px}.service-list h3{font-size:22px}.service-detail{padding-left:37px;font-size:12px}.service-detail a{font-size:10px}.about{padding-block:75px;gap:35px;grid-template-columns:1fr}.about-image{aspect-ratio:4/3.7;max-height:570px}.about-image img{object-position:center 39%}.about-copy .section-index{margin-bottom:24px}.about-copy .about-lead{font-size:19px;margin-top:26px}.about-copy>p:not(.eyebrow):not(.about-lead){font-size:13px;max-width:42ch;margin-top:17px}.about-copy .text-link{font-size:11px;margin-top:22px}.how-it-works{padding-block:0 75px}.how-it-works .section-heading{flex-direction:column;gap:18px;padding-bottom:27px}.how-it-works h2{font-size:36px}.process-list{grid-template-columns:1fr;gap:27px;padding-top:28px}.process-list li{display:grid;grid-template-columns:60px 1fr;column-gap:22px;border-bottom:1px solid var(--line);padding-bottom:27px}.process-list li:last-child{padding-bottom:0;border-bottom:0}.process-number{grid-row:1/3;display:block;font-size:32px;margin-bottom:0}.process-number>span{display:block;font-size:18px;margin-top:15px}.process-list h3{font-size:20px;margin-bottom:8px}.process-list p{font-size:12px;max-width:36ch}.contact-inner{padding-block:38px 37px}.contact-top{align-items:start;gap:14px}.contact-top>.eyebrow{font-size:8px;gap:8px;max-width:24ch}.contact-top>p:last-child{font-size:7px;max-width:18ch;line-height:1.7;text-align:right}.contact-main{flex-direction:column;align-items:start;padding:50px 0 48px;gap:36px}.contact-main h2{font-size:clamp(80px,19vw,137px);line-height:.92}.contact-action{padding-bottom:0}.contact-action>p:first-child{font-size:14px;margin-bottom:22px}.button-light{font-size:11px;min-height:53px;gap:29px;padding-inline:19px}.booking-note{max-width:none;font-size:8px}.coverage{grid-template-columns:1fr;gap:18px;padding-top:24px}.coverage ul{gap:13px 20px}.coverage li{font-size:10px}.site-footer{padding-block:30px;display:grid;grid-template-columns:1fr auto;gap:22px}.site-footer>p{font-size:8px}.site-footer>p:nth-child(2){grid-column:1;grid-row:2}.footer-preview{grid-column:1;grid-row:3;margin-top:-13px}.back-top{grid-column:2;grid-row:1/4}.footer-brand{font-size:16px}.footer-brand>span{font-size:7px}}
@media(max-width:380px){:root{--gutter:18px;--header-height:76px}.site-header{padding-block:12px}.brand img{width:36px;height:36px}.brand-type{font-size:13px}.brand-type>span{font-size:6px}.header-actions{gap:6px}.button-small{padding:10px;gap:8px;font-size:9px}.menu-toggle{width:40px}.hero-content{width:calc(100% - 36px);top:115px}.hero-chapter .eyebrow{font-size:7px;letter-spacing:.09em;gap:8px}.hero-chapter h1{font-size:65px}.hero-chapter h2{font-size:48px}.hero-intro{font-size:10px}.section-description{font-size:10px;max-width:16ch}.service-list h3{font-size:19px}.service-list summary{gap:8px;grid-template-columns:21px 1fr 15px}.service-detail{padding-left:29px}.project-secondary{gap:14px}.project-secondary h3{font-size:18px}.image-stamp{font-size:5px;padding:8px}.contact-top>p:last-child{font-size:6px}.contact-top>.eyebrow{font-size:7px}.button-light{font-size:10px;gap:22px}}
@media(max-height:670px) and (min-width:761px){.hero-content{top:125px}.hero-chapter h1{font-size:90px}.hero-chapter h2{font-size:63px}.hero-chapter .eyebrow{margin-bottom:18px}.hero-intro{margin-top:20px}.hero-chapter>.button{margin-top:17px}.scene-sticky{}.scene-footer{bottom:23px}}
@media(max-height:500px) and (orientation:landscape){.scene-sticky{}.hero-content{top:115px;width:70%}.hero-chapter h1{font-size:62px}.hero-chapter h2{font-size:45px}.hero-intro{font-size:10px}.hero-chapter .eyebrow{margin-bottom:14px}.scene-footer{bottom:18px}.scene-vignette{background:linear-gradient(90deg,rgba(255,255,255,.8),transparent 70%)}.mobile-menu{max-height:calc(100dvh - 80px);overflow-y:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.hero-chapter{transform:none}.js-reveal [data-reveal]{opacity:1;transform:none}.loader-mark span:after{animation:none;transform:translateY(0)}.project-secondary:hover .project-image img{transform:none}}

/* A concise still presentation when animation is unavailable or unwanted. */
.scroll-cue-static,.scene-caption .scene-caption-fallback{display:none}
.scene-caption>.scene-caption-live{padding:0}
.scene-caption .scene-motion-hint{padding-left:4px}
html[data-stage="fallback"] .experience{height:auto;min-height:100svh}
html[data-stage="fallback"] .scene-sticky{position:relative}
html[data-stage="fallback"] .hero-chapter:first-child{opacity:1;visibility:visible;transform:none}
html[data-stage="fallback"] .hero-chapter:not(:first-child),html[data-stage="fallback"] .scene-controls,html[data-stage="fallback"] .chapter-tracker,html[data-stage="fallback"] .scroll-cue-live,html[data-stage="fallback"] .scene-caption-live{display:none}
html[data-stage="fallback"] .scroll-cue-static,html[data-stage="fallback"] .scene-caption-fallback{display:block}
html[data-stage="fallback"] .scene-footer{grid-template-columns:1fr 1fr}
@media(prefers-reduced-motion:reduce){
  .experience{height:auto;min-height:100svh}.scene-sticky{position:relative}
  .hero-chapter:first-child{opacity:1;visibility:visible;transform:none}
  .hero-chapter:not(:first-child),.scene-controls,.chapter-tracker,.scroll-cue-live,.scene-motion-hint{display:none!important}
  .scroll-cue-static{display:block}.scene-footer{grid-template-columns:1fr 1fr}
}

html[data-stage="fallback"] #scene-canvas{visibility:hidden}

/* Retain touch target improvements without changing the house composition. */
.scene-controls .icon-button{width:44px;height:44px;flex-shrink:0}
.scene-controls .icon-button:disabled{opacity:.4;cursor:default}

/* r4: the logo palette and the company's existing words. */
.site-header{background:#fff}
.desktop-nav{gap:clamp(16px,1.8vw,30px);margin-left:0}
.button{background:var(--blue)}
.button:hover{background:var(--ink)}
.button-light{background:#fff;color:var(--ink)}
.button-light:hover{background:var(--foam)}
.preview-tag>span,.location-label>i{background:var(--green-bright)}
.hero-chapter h1 span,.hero-chapter h2 span{color:var(--blue)}
.chapter-track i{background:var(--water)}
#scene-canvas,.scene-fallback{top:var(--header-height);height:calc(100% - var(--header-height));bottom:auto}
.scene-fallback{background-image:url('/assets/property-house-clean-speed-20261028.webp'),url('/assets/property-house-dirty-speed-20261028.webp')}
.scene-vignette{background:linear-gradient(90deg,rgba(255,255,255,.96),rgba(255,255,255,.84) 28%,rgba(255,255,255,.18) 49%,transparent 67%),linear-gradient(0deg,rgba(255,255,255,.97),transparent 20%)}
.hero-content{top:clamp(150px,23svh,245px);width:43%;max-width:650px}
.hero-chapter .eyebrow{margin-bottom:20px}
.hero-chapter h1{font-size:clamp(42px,4.6vw,78px);line-height:1.02;letter-spacing:-.065em;max-width:none}
.hero-chapter h2{font-size:clamp(42px,4.4vw,74px);line-height:1.06;letter-spacing:-.06em}
.hero-intro{max-width:34ch;margin-top:23px;font-size:clamp(12px,1.05vw,16px);line-height:1.75}
.hero-link{margin-top:13px}
.scene-side-note{display:none}
.scene-caption{opacity:1;color:var(--muted)}
.trust-strip{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--line);margin-top:65px}
.trust-strip li{display:flex;gap:13px;align-items:center;padding:23px 16px;font-size:12px;line-height:1.5}
.trust-strip li+li{border-left:1px solid var(--line)}
.trust-strip li>span{color:var(--green);font-size:17px}
.introduction-aside .location-label{max-width:44ch;align-items:baseline}
.service-summary strong{font-weight:600;color:var(--ink)}
.service-scope{margin-top:20px}
.service-scope h4{margin:0 0 8px;font-size:11px;font-weight:600;color:var(--ink)}
.service-scope ul{padding-left:16px;font-size:11px;line-height:1.85;color:var(--muted)}
.service-scope li+li{margin-top:4px}
.service-detail a{color:var(--blue);margin-top:18px}
.service-list h3{font-size:clamp(18px,1.8vw,29px)}
.about-copy h2{font-size:clamp(38px,3.7vw,67px)}
.about-copy .about-lead{font-size:18px;line-height:1.7}
.how-it-works .section-heading{gap:40px}
.how-it-works h2{max-width:17ch}
.reviews{padding-block:100px 110px;background:var(--stone);border-block:1px solid var(--line)}
.reviews .section-heading{margin-bottom:30px}
.reviews-source__line{font-size:13px;line-height:1.7;color:var(--muted);margin-bottom:32px}
.reviews-source__line a{color:var(--blue);text-decoration:underline;text-underline-offset:4px}
.quotes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px}
.quote{border-top:2px solid var(--water);padding-top:24px;display:flex;flex-direction:column;align-items:start}
.quote__stars{font-size:12px;letter-spacing:.15em;color:var(--green);margin-bottom:23px}
.quote blockquote{margin:0 0 25px;font-size:14px;line-height:1.85;color:var(--ink)}
.quote__by{font-size:11px;font-weight:600;line-height:1.7;margin-top:auto}
.quote__by .muted{font-weight:400;color:var(--muted)}
.reviews-more{margin-top:35px;border-top:1px solid var(--line)}
.reviews-more>summary{padding:21px 0;min-height:48px;font-size:12px;font-weight:500;color:var(--blue);cursor:pointer}
.reviews-more .quotes{padding-block:10px 25px;row-gap:40px}
.reviews-source{margin-top:25px}
.reviews-source .text-link{font-size:11px}
.questions{display:grid;grid-template-columns:1fr 1.2fr;gap:8vw;padding-block:110px 120px}
.questions .section-heading{align-items:start;margin:0}
.question-list{min-width:0}
.question{border-top:1px solid var(--line)}
.question:last-child{border-bottom:1px solid var(--line)}
.question summary{padding:24px 25px 24px 0;min-height:64px;font-size:16px;font-weight:500;line-height:1.5;cursor:pointer}
.question>div,.question>p{font-size:13px;line-height:1.85;color:var(--muted);padding:0 20px 25px 0;max-width:56ch}
.question p{margin:0}
.contact-main h2{font-size:clamp(54px,6.5vw,110px);line-height:1.03;letter-spacing:-.065em}
.contact-action{max-width:34ch;margin-right:0}
.contact-action>p:first-child{font-size:14px;line-height:1.8}
.contact-details{border-top:1px solid rgba(162,223,248,.25);margin-top:32px;padding-top:25px;display:flex;align-items:start;justify-content:space-between;gap:25px;font-size:11px;line-height:1.8}
.contact-details p{max-width:48ch;color:var(--foam)}
.contact-details a{overflow-wrap:anywhere;min-height:44px;display:flex;align-items:center;text-decoration:underline;text-underline-offset:4px}
@media(max-width:1100px){
 .hero-content{width:45%;top:clamp(145px,23svh,210px)}
 .hero-chapter .eyebrow{max-width:none;font-size:8px}
 .hero-chapter h1{font-size:clamp(40px,4.6vw,58px)}
 .hero-chapter h2{font-size:clamp(39px,4.4vw,56px)}
 .hero-intro{font-size:12px;max-width:33ch}
 .trust-strip li{font-size:11px;padding-inline:12px;gap:9px}
 .quotes{gap:25px}.quote blockquote{font-size:12px}
 .contact-main{gap:45px}.contact-main h2{font-size:6.5vw}
}
@media(max-width:760px){
 .scene-sticky{background:#fff}
 #scene-canvas,.scene-fallback{top:auto;bottom:115px;height:min(75vw,360px);width:100%}
 .scene-fallback{background-size:cover;background-position:center}
 .scene-vignette{background:none}
 html[data-stage="fallback"] .scene-vignette{background:none}
 .hero-content{top:118px;width:calc(100% - 48px);max-width:none}
 .hero-chapter .eyebrow{font-size:8px;letter-spacing:.08em;margin-bottom:14px}
 .hero-chapter h1{font-size:clamp(36px,9vw,44px);line-height:1.02;letter-spacing:-.055em}
 .hero-chapter h2{font-size:clamp(36px,9vw,44px);line-height:1.05;letter-spacing:-.055em}
 .hero-intro{font-size:11px;line-height:1.7;max-width:37ch;margin-top:14px}
 .hero-link{font-size:10px;margin-top:9px;min-height:40px}
 .hero-chapter>.button{margin-top:15px}
 .scene-caption .scene-motion-hint{display:none}
 .scene-loader{top:auto;bottom:calc(115px + min(37.5vw,180px));right:50%;transform:translate(50%,50%)}
 .scene-footer{bottom:max(20px,env(safe-area-inset-bottom))}
 .chapter-tracker{bottom:65px}
 .trust-strip{grid-template-columns:1fr 1fr;margin-top:40px}
 .trust-strip li{font-size:10px;padding:18px 9px;gap:8px}
 .trust-strip li:nth-child(3){border-left:0}
 .trust-strip li:nth-child(n+3){border-top:1px solid var(--line)}
 .introduction h2{font-size:clamp(40px,10vw,68px)}
 .introduction-aside .location-label{max-width:39ch;line-height:1.8}
 .section-description{padding-top:56px;max-width:21ch}
 .service-list h3{font-size:20px}
 .service-detail{padding-right:10px}
 .about-copy h2{font-size:clamp(38px,9vw,58px)}
 .about-copy .about-lead{font-size:16px;line-height:1.75}
 .how-it-works h2{font-size:36px;max-width:16ch}
 .reviews{padding-block:70px 75px}
 .reviews .section-heading h2,.questions h2{font-size:clamp(37px,8.7vw,58px)}
 .reviews-source__line{font-size:11px;margin-bottom:28px}
 .quotes{grid-template-columns:1fr;gap:30px}
 .quote{padding-top:20px}
 .quote__stars{font-size:11px;margin-bottom:17px}
 .quote blockquote{font-size:13px;line-height:1.8;margin-bottom:18px;max-width:49ch}
 .quote__by{font-size:10px}
 .reviews-more{margin-top:30px}
 .questions{grid-template-columns:1fr;gap:35px;padding-block:70px 80px}
 .question summary{font-size:15px;padding-block:22px}
 .question>div,.question>p{font-size:12px}
 .contact-main h2{font-size:clamp(48px,11vw,76px)}
 .contact-action{max-width:39ch}
 .contact-action>p:first-child{font-size:13px}
 .contact-details{flex-direction:column;gap:5px;font-size:10px;margin-top:25px;padding-top:22px}
 .contact-details p{margin-bottom:10px}
}
@media(max-width:380px){
 .scene-sticky{}
 .brand{gap:5px}.brand img{width:30px;height:30px}.brand-type{font-size:11.5px}
 .hero-content{top:108px;width:calc(100% - 36px)}
 .hero-chapter .eyebrow{font-size:7px;margin-bottom:12px}
 .hero-chapter h1,.hero-chapter h2{font-size:32px}
 .hero-intro{font-size:10px;max-width:36ch;margin-top:12px}
 .hero-link{margin-top:7px;min-height:38px}
 .service-list h3{font-size:18px}
 .trust-strip li{font-size:9px;padding-inline:7px;gap:6px}
 .contact-main h2{font-size:46px}
}
@media(max-height:500px) and (orientation:landscape) and (min-width:761px){
 .hero-content{top:115px;width:44%}
 .hero-chapter h1,.hero-chapter h2{font-size:36px}
 .hero-intro{font-size:10px;margin-top:14px}
 .hero-chapter .eyebrow{margin-bottom:13px}
}

/* r5: readable phone content, a fluid scene, and complete site navigation. */
html{scroll-padding-top:calc(var(--header-offset,var(--header-height)) + 16px);-webkit-text-size-adjust:100%}
.scene-media{position:absolute;inset:0;z-index:0}
#scene-canvas{pointer-events:none;touch-action:pan-y}
.introduction-aside>p+p{margin-top:20px}
.hero-intro{font-size:1rem}
.button{font-size:.875rem;min-height:48px}
.text-link{font-size:.875rem;min-height:44px}
.results-all{margin-top:36px}
.service-read-more{margin-left:24px;text-decoration:underline;text-underline-offset:4px}
.services-intro>p:not(.eyebrow),.service-detail p,.about-copy>p:not(.eyebrow):not(.about-lead),.process-list p,.quote blockquote,.question>div,.question>p,.contact-action>p:first-child{font-size:1rem;line-height:1.75}
.service-scope h4,.service-scope ul,.service-detail a,.reviews-source__line,.quote__by,.reviews-more>summary,.contact-details,.coverage li{font-size:.875rem;line-height:1.75}
.question summary{font-size:1rem;min-height:56px}
.comparison-controls button{font-size:.8125rem;min-height:44px;padding-inline:15px}
.project-type,.caption-note,.project-secondary figcaption>p:last-child{font-size:.8125rem}
.comparison-frame figcaption{font-size:.8125rem}
.image-stamp,.about-image figcaption{font-size:.6875rem;letter-spacing:.08em}
.reviews-source .text-link{font-size:.875rem}
.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:25px 50px}
.contact-heading{grid-column:1;grid-row:1}
.contact-heading .eyebrow{font-size:.6875rem;color:var(--foam)}
.contact-heading h3{font-size:clamp(1.75rem,3vw,2.6rem);line-height:1.15;letter-spacing:-.04em;margin:12px 0 20px}
.contact-heading>p:last-child{font-size:1rem;line-height:1.75;color:#fff}
.contact-coverage-note{grid-column:1;grid-row:2;font-size:.875rem!important}
.contact-channels{grid-column:2;grid-row:1/3;display:grid;gap:0}
.contact-channel{display:flex!important;align-items:center!important;gap:18px;padding:18px 0;border-bottom:1px solid rgba(162,223,248,.25);text-decoration:none!important;min-width:0}
.contact-channel svg{width:24px;height:24px;flex-shrink:0;stroke:currentColor;color:var(--acid)}
.contact-channel>div{min-width:0}
.contact-channel span,.contact-channel b{display:block;font-weight:400}
.contact-channel span{font-size:.75rem;color:var(--foam);margin-bottom:5px}
.contact-channel b{font-size:1rem;line-height:1.5;color:#fff;overflow-wrap:anywhere}
.contact-channel[href]:hover b{text-decoration:underline;text-underline-offset:4px}
.site-footer{display:block;padding-block:64px 28px}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr .8fr;gap:45px}
.footer-grid>div{min-width:0}
.footer-intro>b{font:600 1.5rem Space,Inter,sans-serif;line-height:1.2;letter-spacing:-.045em}
.footer-intro>p{font-size:.9375rem;line-height:1.8;margin-top:20px;max-width:34ch}
.footer-grid h3{font:600 .875rem Inter,sans-serif;margin-bottom:16px}
.footer-grid ul{list-style:none}
.footer-grid li{font-size:.875rem;line-height:1.6}
.footer-grid a{display:inline-flex;align-items:center;min-height:44px;overflow-wrap:anywhere;max-width:100%}
.footer-grid a:hover{text-decoration:underline;text-underline-offset:4px}
.footer-intro a{font-size:.875rem}
.footer-bottom{border-top:1px solid var(--line);margin-top:40px;padding-top:24px;display:flex;flex-wrap:wrap;gap:16px 25px;align-items:center;font-size:.75rem;color:var(--muted);line-height:1.7}
.footer-bottom>span{max-width:40ch}
.footer-bottom a:not(.back-top){text-decoration:underline;text-underline-offset:4px;display:inline-flex;align-items:center;min-height:44px}
.footer-bottom .footer-preview{margin:0;font-size:.6875rem}
.footer-bottom .back-top{margin-left:auto;width:44px;height:44px;flex-shrink:0;color:var(--ink)}

@media(max-width:900px){
 :root{--gutter:20px;--header-height:72px}
 .site-header{min-height:72px;padding:12px max(20px,env(safe-area-inset-left)) 12px max(20px,env(safe-area-inset-right));padding-top:max(12px,env(safe-area-inset-top));gap:8px 12px;flex-wrap:wrap}
 .brand{gap:7px;min-width:0}
 .brand img{width:38px;height:38px}
 .brand-type{font-size:.8125rem;letter-spacing:-.025em}
 .brand-type>span{font-size:.4375rem;letter-spacing:.15em}
 .header-actions{gap:8px;margin-left:auto;max-width:100%}
 .header-actions .button{font-size:.8125rem;padding:10px 12px;min-height:44px;gap:0;white-space:normal;text-align:center}
 .header-actions .button>span{display:none}
 .desktop-nav{display:none}
 .preview-tag{display:none}
 .menu-toggle{display:flex;width:44px;height:44px;flex-shrink:0}
 .mobile-menu{padding:12px var(--gutter) max(20px,env(safe-area-inset-bottom));max-height:calc(100dvh - var(--header-offset,var(--header-height)));overflow-y:auto;overscroll-behavior:contain}
 .mobile-menu a{font-size:1.125rem;line-height:1.5;min-height:48px;padding:12px 0}
 .mobile-menu a>span,.mobile-menu p{font-size:.75rem}
 .scene-sticky{height:100svh;min-height:0;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(100px,1fr) auto auto;gap:24px;padding-top:calc(var(--header-offset,var(--header-height)) + 24px);padding-bottom:max(16px,env(safe-area-inset-bottom));background:var(--ink);color:#fff}
 .hero-content{position:relative;inset:auto;width:auto;max-width:none;margin:0 max(var(--gutter),env(safe-area-inset-right)) 0 max(var(--gutter),env(safe-area-inset-left));display:grid;grid-row:2;grid-column:1;align-self:end;min-width:0}
 .hero-chapter{position:relative;inset:auto;grid-area:1/1;min-width:0;align-self:start}
 .hero-chapter .eyebrow{font-size:.6875rem;line-height:1.5;letter-spacing:.05em;margin-bottom:12px;gap:8px}
 .hero-chapter .tiny-cross{font-size:20px}
 .hero-chapter h1,.hero-chapter h2{font-size:clamp(2rem,10.7vw,3.5rem);line-height:1.04;letter-spacing:-.055em;max-width:none;margin:0;overflow-wrap:normal}
 .hero-intro{display:none}
 .hero-link{font-size:.875rem;min-height:44px;margin-top:10px;padding-bottom:0;gap:24px}
 .hero-chapter>.button{margin-top:12px;min-height:44px;font-size:.875rem;padding:10px 14px}
 .scene-media{position:absolute;inset:var(--header-offset,var(--header-height)) 0 0;width:100%;height:auto;max-height:none;min-height:0}
 #scene-canvas,.scene-fallback{top:0;left:0;right:0;bottom:0;width:100%;height:100%}
 .scene-fallback{background-size:cover;background-position:center}
 .scene-vignette,html[data-stage="fallback"] .scene-vignette{display:block;background:linear-gradient(180deg,rgba(5,37,90,.04) 0%,rgba(5,37,90,.08) 25%,rgba(5,37,90,.28) 40%,rgba(5,37,90,.84) 64%,rgba(5,37,90,.96) 100%)}
 /* In flowing/static layouts the scrim follows the copy's grid area, so
    enlarged text cannot grow upwards into an unprotected light wall. */
 .scene-sticky::after{grid-area:2/1/4/2;align-self:stretch;z-index:1;pointer-events:none;margin-top:-48px;background:linear-gradient(180deg,transparent,rgba(5,37,90,.76) 48px,rgba(5,37,90,.88))}
 html.scene-flow .scene-sticky::after,html[data-stage="fallback"] .scene-sticky::after{content:""}
 .hero-chapter h1,.hero-chapter h2{color:#fff;text-shadow:0 2px 18px rgba(5,37,90,.25)}
 .hero-chapter h1 span,.hero-chapter h2 span{color:var(--foam)}
 .hero-chapter .eyebrow{color:#fff;text-shadow:0 1px 3px #05255A,0 0 12px #05255A}
 .hero-chapter .tiny-cross{color:var(--acid)}
 .hero-link{color:#fff}
 .hero-chapter>.button{background:#fff;color:var(--ink)}
 .hero-chapter>.button:hover{background:var(--foam)}
 .hero-content :focus-visible,.scene-footer :focus-visible{outline-color:#fff}
 .scene-loader{color:#fff}
 .scene-loader{top:50%;bottom:auto;right:50%;transform:translate(50%,-50%)}
 .scene-footer{position:relative;inset:auto;grid-row:3;grid-column:1;margin:0 max(var(--gutter),env(safe-area-inset-right)) 0 max(var(--gutter),env(safe-area-inset-left));display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 16px;align-items:center;border-top:1px solid rgba(207,242,252,.32);padding-top:12px;color:#fff}
 .scroll-cue{grid-column:1;grid-row:1;font-size:.75rem;line-height:1.5;min-height:44px;gap:10px}
 .scroll-cue-icon{width:34px;height:34px;flex-shrink:0;border-color:rgba(207,242,252,.6)}
 .scroll-cue span span{color:var(--foam)}
 .scene-utilities{display:contents}
 .scene-controls{grid-row:1;grid-column:2;gap:6px}
 .scene-controls .icon-button{width:44px;height:44px;color:#fff;border-color:rgba(207,242,252,.55);background:rgba(5,37,90,.32)}
 .scene-controls .icon-button:hover{background:rgba(19,84,157,.85)}
 .scene-caption{grid-row:2;grid-column:1/-1;max-width:none;font-size:.625rem;line-height:1.5;letter-spacing:0;color:var(--foam)}
 .chapter-tracker{display:none}
 .introduction,.results{padding-block:56px 64px}
 .introduction>.eyebrow{margin-bottom:24px}
 .introduction-copy{grid-template-columns:1fr;gap:25px}
 .introduction h2{font-size:clamp(2.5rem,9vw,4rem)}
 .introduction-aside>p{font-size:1rem;line-height:1.75;max-width:none}
 .introduction-aside>p+p{margin-top:18px}
 .introduction-aside .location-label{font-size:.8125rem;line-height:1.75;max-width:none}
 .eyebrow,.section-index{font-size:.6875rem;line-height:1.6;letter-spacing:.06em}
 .section-index{margin-bottom:20px}
 .section-heading{gap:20px}
 .section-heading h2,.services h2,.about h2{font-size:clamp(2.375rem,8.5vw,3.75rem)}
 .results .section-heading{display:block;margin-bottom:28px}
 .section-description{font-size:1rem;line-height:1.65;padding:0;margin-top:20px;max-width:36ch}
 .trust-strip{margin-top:32px;grid-template-columns:1fr 1fr}
 .trust-strip li{font-size:.8125rem;line-height:1.5;padding:16px 8px;gap:8px}
 .trust-strip li:nth-child(3){border-left:0}.trust-strip li:nth-child(n+3){border-top:1px solid var(--line)}
 .project-layout{grid-template-columns:1fr;gap:36px}
 .project-caption{display:block;padding-top:20px}
 .project-caption h3,.project-secondary h3{font-size:1.5rem}
 .caption-note{font-size:.875rem;line-height:1.65}
 .comparison-controls{width:fit-content;max-width:100%;margin-top:18px;flex-wrap:wrap}
 .comparison-controls button{font-size:.8125rem;min-height:44px;padding:9px 15px}
 .comparison-frame figcaption{font-size:.75rem}
 .project-secondary{grid-template-columns:1fr;margin:0;display:block}
 .project-image{aspect-ratio:4/3}
 .project-secondary figcaption{padding-top:20px}
 .project-secondary figcaption>p:last-child{font-size:.875rem;line-height:1.65}
 .image-stamp{font-size:.6875rem;padding:12px}
 .services-inner{padding-block:56px 64px;grid-template-columns:1fr;gap:32px}
 .services-intro>p:not(.eyebrow){font-size:1rem;line-height:1.75;max-width:none}
 .services-intro>.text-link{font-size:.875rem;min-height:44px;margin-top:18px}
 .service-list summary{grid-template-columns:22px minmax(0,1fr) 16px;gap:10px;min-height:64px;padding:20px 0}
 .service-list h3{font-size:1.25rem;line-height:1.4}
 .service-number{font-size:.6875rem}
 .service-detail{padding:0 0 24px 32px;max-width:none}
 .service-detail p{font-size:1rem;line-height:1.75;max-width:none}
 .service-scope h4,.service-scope ul{font-size:.875rem;line-height:1.75}
 .service-detail a{font-size:.875rem;min-height:44px}
 .service-read-more{margin-left:20px}
 .about{grid-template-columns:1fr;gap:32px;padding-block:64px}
 .about-image{aspect-ratio:4/3.7;max-height:none}
 .about-copy .about-lead,.about-copy>p:not(.eyebrow):not(.about-lead){font-size:1rem;line-height:1.75;max-width:none}
 .about-copy .text-link{font-size:.875rem;min-height:44px}
 .how-it-works{padding-bottom:64px}
 .how-it-works .section-heading{display:block}
 .how-it-works h2{font-size:2.25rem;margin-top:20px;max-width:18ch}
 .process-list{grid-template-columns:1fr;gap:24px;padding-top:28px}
 .process-list li{display:block;padding:0 0 24px;border-bottom:1px solid var(--line)}
 .process-number{font-size:1.75rem;margin-bottom:12px;display:flex;max-width:100px}
 .process-number>span{margin:0}
 .process-list h3{font-size:1.375rem;line-height:1.4}
 .process-list p{font-size:1rem;line-height:1.75;max-width:none}
 .reviews{padding-block:56px 64px}
 .reviews .section-heading h2,.questions h2{font-size:clamp(2.25rem,8.5vw,3.5rem)}
 .reviews-source__line{font-size:.875rem;line-height:1.75}
 .quotes{grid-template-columns:1fr;gap:30px}
 .quote blockquote{font-size:1rem;line-height:1.8;max-width:none}
 .quote__stars{font-size:.875rem}
 .quote__by{font-size:.875rem;line-height:1.7}
 .reviews-more>summary,.reviews-source .text-link{font-size:.875rem;min-height:44px}
 .questions{grid-template-columns:1fr;gap:28px;padding-block:56px 64px}
 .question summary{font-size:1rem;line-height:1.5;min-height:56px;padding:20px 0}
 .question>div,.question>p{font-size:1rem;line-height:1.75;padding-right:0}
 .contact-inner{padding-block:36px}
 .contact-top>.eyebrow{font-size:.6875rem;max-width:none}
 .contact-top>p:last-child{font-size:.625rem;line-height:1.6}
 .contact-main{display:block;padding:40px 0}
 .contact-main h2{font-size:clamp(2.5rem,10vw,4rem);line-height:1.08}
 .contact-action{margin-top:28px;max-width:none}
 .contact-action>p:first-child{font-size:1rem;line-height:1.75;margin-bottom:22px}
 .button-light{font-size:.9375rem;min-height:48px;white-space:normal}
 .coverage{grid-template-columns:1fr;gap:18px;padding-top:25px}
 .coverage>p{font-size:.6875rem;line-height:1.75}
 .coverage ul{gap:12px 18px}
 .coverage li{font-size:.875rem;line-height:1.6}
 .contact-details{grid-template-columns:1fr;gap:22px;margin-top:25px;padding-top:28px}
 .contact-heading,.contact-coverage-note,.contact-channels{grid-column:1;grid-row:auto}
 .contact-coverage-note{order:3;margin:0!important}
 .contact-channels{width:100%}
 .contact-heading h3{font-size:1.875rem}
 .contact-channel{padding-block:17px}
 .contact-channel b{font-size:1rem}
 .contact-channel[href^="mailto:"] b{font-size:.875rem}
 .site-footer{padding-block:48px 24px}
 .footer-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));gap:32px}
 .footer-grid h3{font-size:1rem;margin-bottom:12px}
 .footer-grid li,.footer-intro a{font-size:.9375rem}
 .footer-bottom{gap:12px 20px;margin-top:28px;padding-top:20px}
 .footer-bottom>span{flex-basis:100%}
 .footer-bottom .footer-preview{font-size:.75rem;max-width:26ch}
}

/* Keep the photograph behind the text when the available height cannot fit it.
   Natural document flow makes enlarged text and short screens fully reachable. */
html.scene-flow .experience{height:auto;min-height:0}
html.scene-flow .scene-sticky{position:relative;height:auto;min-height:100svh;grid-template-rows:minmax(120px,28vw) auto auto}
html.scene-flow .hero-chapter:not(:first-child){display:none}
html.scene-flow .hero-chapter:first-child{opacity:1;visibility:visible;transform:none}
@media(max-width:900px) and (max-height:540px) and (orientation:landscape){
 html.scene-flow .scene-sticky{grid-template-rows:40px auto auto}
 html.scene-flow .hero-content{max-width:60%}
 .hero-chapter h1,.hero-chapter h2{font-size:2.5rem}
 .scene-vignette,html[data-stage="fallback"] .scene-vignette{background:linear-gradient(90deg,rgba(5,37,90,.9),rgba(5,37,90,.6) 55%,rgba(5,37,90,.1)),linear-gradient(0deg,rgba(5,37,90,.9),transparent 50%)}
}
@media(max-width:900px){
 html[data-stage="fallback"] .experience{height:auto;min-height:0}
 html[data-stage="fallback"] .scene-sticky{height:auto;min-height:100svh;grid-template-rows:minmax(160px,1fr) auto auto}
}
@media(max-width:900px) and (prefers-reduced-motion:reduce){
 .experience{height:auto;min-height:0}.scene-sticky{height:auto;min-height:100svh;grid-template-rows:minmax(160px,1fr) auto auto}
 .scene-sticky::after{content:""}
}

/* R7 keeps the approved close-up, then opens a clear view of the paving. */
@media(max-width:900px){
 html.patio-view .hero-content{transform:translateY(calc(var(--hero-copy-shift,0px) * var(--patio-focus,0)));will-change:transform}
 html.patio-view .scene-vignette{background:none}
 html.patio-view .scene-vignette::before,html.patio-view .scene-vignette::after{content:"";position:absolute;inset:0}
 html.patio-view .scene-vignette::before{opacity:calc(1 - var(--patio-focus,0));background:linear-gradient(180deg,rgba(5,37,90,.04) 0%,rgba(5,37,90,.08) 25%,rgba(5,37,90,.28) 40%,rgba(5,37,90,.84) 64%,rgba(5,37,90,.96) 100%)}
 html.patio-view .scene-vignette::after{opacity:var(--patio-focus,0);background:linear-gradient(180deg,rgba(5,37,90,.94),rgba(5,37,90,.84) calc(var(--hero-copy-height,210px) + 28px),transparent calc(var(--hero-copy-height,210px) + 125px)),linear-gradient(0deg,rgba(5,37,90,.98),rgba(5,37,90,.76) 80px,transparent 130px)}
 /* A separate clear strip stays available below long copy in document flow. */
 html.scene-flow .scene-sticky{grid-template-rows:minmax(120px,28vw) auto minmax(150px,34vw) auto}
 html.scene-flow .scene-footer{grid-row:4}
 html.scene-flow .scene-sticky::after{grid-area:2/1/3/2;margin-bottom:-36px;background:linear-gradient(180deg,transparent,rgba(5,37,90,.76) 48px,rgba(5,37,90,.88) calc(100% - 36px),transparent)}
 html.scene-flow .scene-vignette{background:linear-gradient(0deg,rgba(5,37,90,.98),rgba(5,37,90,.76) 80px,transparent 130px)}
}
@media(max-width:900px) and (max-height:540px) and (orientation:landscape){
 html.scene-flow .scene-sticky{grid-template-rows:40px auto minmax(150px,24vw) auto}
}

/* R8: an immediate dirty poster and a loader with its own clear space. */
.scene-fallback{opacity:1;z-index:0;background-image:url('/assets/property-house-dirty-speed-20261028.webp');background-size:cover;background-position:center}
html:not([data-stage="ready"]) #scene-canvas{visibility:hidden}
html[data-stage="ready"] .scene-fallback{visibility:hidden;opacity:0;transition:none}
html[data-stage="fallback"] .scene-fallback{background-image:url('/assets/property-house-clean-speed-20261028.webp')}
.scene-loader{top:calc(var(--header-offset,var(--header-height)) + 24px);bottom:auto;right:24px;transform:none;width:auto;max-width:210px;padding:10px 14px;flex-direction:row;gap:10px;background:rgba(5,37,90,.9);color:#fff;border-radius:2px}
.scene-loader .loader-mark{width:28px;height:22px;flex-shrink:0}
.scene-loader p{margin:0;font-size:11px;line-height:1.5;letter-spacing:0}
@media(max-width:900px){
 .experience{height:calc(var(--scene-height,100svh) * 2.2)}
 .scene-sticky{height:var(--scene-height,100svh);background:#05255A}
 .scene-media{inset:var(--header-offset,var(--header-height)) 0 0;transform-origin:50% 100%}
 html.patio-view .scene-media{transform:translateY(calc(-1 * var(--scene-bottom,0px))) scaleY(var(--scene-scale-y,1))}
 html.patio-view .scene-vignette::after{background:linear-gradient(180deg,rgba(5,37,90,var(--scene-top-alpha,.88)) 0px,rgba(5,37,90,var(--scene-top-alpha,.88)) var(--scene-top-shade,0px),transparent calc(var(--scene-top-shade,0px) + 36px)),linear-gradient(0deg,rgba(5,37,90,var(--scene-bottom-alpha,.9)),transparent calc(var(--scene-bottom-shade,78px) + 36px))}
 .scene-loader{left:20px;right:auto;top:18px;bottom:auto;transform:none;max-width:calc(100% - 40px);padding:8px 11px}
 .scene-loader .loader-mark{width:26px;height:19px}
 .scene-loader p{font-size:11px}
 html.scene-flow .scene-media,html[data-stage="fallback"] .scene-media{transform:none}
 html.scene-flow .experience,html[data-stage="fallback"] .experience{height:auto}
 html.scene-flow .scene-sticky,html[data-stage="fallback"] .scene-sticky{height:auto}
}
@media(max-width:900px) and (prefers-reduced-motion:reduce){
 .experience{height:auto}.scene-sticky{height:auto}.scene-media{transform:none}
}

/* Real-job pairs and the nine-second wash rhythm come from the original
   homepage. Keep the complete 4:3 photos, without filters or image zooms. */
.result-comparisons{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:start}
.result-comparison{--compare-position:50%;min-width:0;width:100%}
.result-comparison-photo{position:relative;aspect-ratio:4/3;overflow:hidden;background:#F4FBFE;border:1px solid var(--line)}
.result-comparison-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;-webkit-user-drag:none}
.result-comparison-image--before{clip-path:inset(0 calc(100% - var(--compare-position)) 0 0)}
.result-comparison-seam{position:absolute;inset:0 auto 0 0;width:100%;pointer-events:none;transform:translateX(var(--compare-position));border-left:2px solid #fff;filter:drop-shadow(0 0 4px rgba(19,84,157,.6))}
.result-comparison-label-layer{position:absolute;inset:0;pointer-events:none}
.result-comparison-label-layer--before{clip-path:inset(0 calc(100% - var(--compare-position)) 0 0)}
.result-comparison-label-layer--after{clip-path:inset(0 0 0 var(--compare-position))}
.result-comparison-tag{position:absolute;bottom:14px;padding:8px 12px;background:#fff;font-size:.75rem;font-weight:700;line-height:1.2;box-shadow:0 2px 8px #05255A26;pointer-events:none}
.result-comparison-tag--before{left:14px;color:var(--green)}
.result-comparison-tag--after{right:14px;color:var(--blue)}
.result-comparison-caption{padding-top:22px}
.result-comparison-caption .project-type{font-size:.75rem;margin-bottom:10px}
.result-comparison-caption h3{font-size:clamp(25px,2.4vw,34px);letter-spacing:-.04em;line-height:1.1;margin-bottom:10px}
.result-comparison-caption>p:not(.project-type){font-size:1rem;line-height:1.65;color:var(--muted);max-width:47ch}
.result-comparison-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:end;margin-top:19px}
.result-comparison-controls[hidden]{display:none}
.result-comparison-range-wrap{min-width:0}
.result-comparison-range-wrap label{display:block;font-size:.8125rem;line-height:1.4;color:var(--muted)}
.result-comparison-range{display:block;-webkit-appearance:none;appearance:none;width:100%;height:44px;margin:0;background:transparent;cursor:ew-resize;touch-action:pan-y;accent-color:var(--blue)}
.result-comparison-range::-webkit-slider-runnable-track{height:4px;background:#B8CFDE;border-radius:2px}
.result-comparison-range::-moz-range-track{height:4px;background:#B8CFDE;border-radius:2px}
.result-comparison-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:26px;height:26px;margin-top:-11px;border:3px solid #fff;border-radius:50%;background:var(--blue);box-shadow:0 0 0 1px var(--blue)}
.result-comparison-range::-moz-range-thumb{box-sizing:border-box;width:26px;height:26px;border:3px solid #fff;border-radius:50%;background:var(--blue);box-shadow:0 0 0 1px var(--blue)}
.result-comparison-toggle{display:flex;align-items:center;justify-content:center;gap:12px;min-width:102px;min-height:44px;max-width:100%;padding:10px 14px;border:1px solid var(--line);background:#fff;font-size:.8125rem;line-height:1.3}
.result-comparison-toggle:hover{background:var(--stone)}
.result-comparison-toggle:disabled{color:var(--muted);cursor:default}
.result-comparison-range:focus-visible,.result-comparison-toggle:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
@media(max-width:760px){
 .result-comparisons{grid-template-columns:minmax(0,1fr);gap:42px}
 .result-comparison-caption{padding-top:19px}
 .result-comparison-caption h3{font-size:28px}
 .result-comparison-controls{gap:16px;margin-top:16px}
 .result-comparison-tag{bottom:12px;padding:8px 10px}
 .result-comparison-tag--before{left:12px}.result-comparison-tag--after{right:12px}
}
@media(max-width:359px){.result-comparison-controls{grid-template-columns:1fr;gap:8px}.result-comparison-toggle{justify-self:start}}

/* Preserve the original two-person diagonal composition and uncropped 2:3
   portraits. The source does not identify which photograph belongs to whom. */
.team-gallery{min-width:0;width:100%}
.team-photos{position:relative;aspect-ratio:1/1;width:100%}
.team-photo{position:absolute;width:52%;margin:0;border:3px solid var(--blue);background:var(--stone);overflow:hidden;box-shadow:0 12px 30px #05255A1F}
.team-photo img{display:block;width:100%;height:auto;aspect-ratio:2/3;object-fit:contain}
.team-photo--first{top:0;left:0;z-index:2}
.team-photo--second{bottom:0;right:0;z-index:1}
.team-gallery-caption{display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:.75rem;font-weight:600;letter-spacing:.1em;line-height:1.4;margin-top:16px}
.team-gallery-caption span{font-size:22px}
.team-actions{display:flex;flex-wrap:wrap;gap:8px 26px;align-items:center;margin-top:16px}
.about-copy .team-actions .text-link{min-height:44px;font-size:.875rem;margin-top:0}

/* R8: compact navigation and content hierarchy. Hero composition is owned by
   style.css; the original business words and destinations remain in the HTML. */
.header-actions .button>.quote-label{display:inline;font:inherit;line-height:inherit;transform:none}
.quote-prefix,.quote-word{font:inherit}
.intro-details{margin-top:16px;color:var(--muted)}
.intro-details>summary{min-height:44px;cursor:pointer;font-size:.875rem;font-weight:600;color:var(--blue);padding:12px 0}
.intro-details>p{font-size:1rem;line-height:1.75;max-width:44ch;padding:4px 0 12px}
.about{column-gap:8vw;row-gap:24px;align-items:start}
.about-heading{grid-column:2;align-self:end}
.about-heading .section-index{margin-bottom:24px}
.about-heading h2{font-size:clamp(38px,3.7vw,67px)}
.about .team-gallery{grid-column:1;grid-row:1/3;align-self:center}
.about .about-copy{grid-column:2}
.about-copy .about-lead{margin-top:0}
.process-list{gap:36px}
.process-list summary{display:grid;grid-template-columns:38px minmax(0,1fr) 16px;gap:14px;align-items:center;min-height:64px;cursor:pointer;list-style:none}
.process-list summary::-webkit-details-marker{display:none}
.process-list h3{margin:0;font-size:1.125rem;line-height:1.4}
.process-list .process-number{font-size:1.5rem;margin:0}
.process-list details>p{padding:12px 0 0 52px;max-width:none}
.quotes-featured{grid-template-columns:minmax(0,1fr);max-width:62ch}
.quotes-featured .quote{padding-top:20px}
.quotes-featured blockquote{font-size:1.125rem}
.coverage{display:block}
.coverage>details>summary{cursor:pointer;min-height:48px;padding:8px 0;font-size:.875rem;line-height:1.6;color:var(--foam)}
.coverage>details>summary>span{display:inline-block;vertical-align:top}
.coverage ul{padding-block:16px}
.contact-details{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}
.contact-explanation>summary{cursor:pointer;min-height:44px;padding:10px 0;color:var(--foam);font-size:1rem}
.contact-explanation .contact-heading{padding-top:12px}
.contact-explanation .contact-heading h3{font-size:1.75rem}
.contact-explanation .contact-coverage-note{margin-top:20px}
.contact-details .contact-channels{grid-column:2;grid-row:auto}
.footer-links{min-width:0;border-top:1px solid var(--line)}
.footer-links>summary{min-height:48px;padding:15px 0;font-size:.875rem;font-weight:600;line-height:1.5;cursor:pointer}
.footer-links ul{padding-bottom:12px}
@media(max-width:900px){
 .site-header{min-height:68px;flex-wrap:nowrap;gap:8px;padding:12px max(16px,env(safe-area-inset-right)) 12px max(16px,env(safe-area-inset-left));padding-top:max(12px,env(safe-area-inset-top))}
 .site-header .brand{gap:6px;min-width:0;min-height:44px;flex-shrink:1}
 .site-header .brand img{width:34px;height:34px;flex-shrink:0}
 .site-header .brand-type{font-size:.8125rem;line-height:1.1;white-space:normal;letter-spacing:-.025em}
 .site-header .brand-type>span{font-size:.4375rem;letter-spacing:.14em;margin-top:4px}
 .site-header .header-actions{gap:6px;flex-shrink:1;margin-left:auto}
 .site-header .header-actions .button{padding:10px 12px;font-size:.8125rem;min-height:44px;white-space:normal}
 .site-header .quote-prefix{display:none}
 .site-header .quote-word{text-transform:capitalize}
 .site-header .menu-toggle{width:44px;height:44px;flex:0 0 44px}
 .introduction{padding-block:44px}
 .introduction>.eyebrow,.section-index{margin-bottom:20px}
 .introduction-copy{gap:22px}
 .introduction h2{font-size:clamp(34px,8.5vw,52px)}
 .introduction-aside>p{font-size:1rem;line-height:1.65;max-width:42ch}
 .introduction-aside .location-label{font-size:.8125rem;line-height:1.6;margin-top:16px}
 .trust-strip{margin-top:24px}
 .trust-strip li{padding:12px 9px;font-size:.75rem;line-height:1.45}
 .results,.about,.reviews,.questions{padding-block:48px}
 .section-heading{display:block;margin-bottom:26px}
 .section-heading h2,.services h2,.about-heading h2,.reviews .section-heading h2,.questions h2{font-size:clamp(34px,8.5vw,52px);line-height:1.08}
 .section-description{max-width:40ch;padding:16px 0 0;font-size:1rem;line-height:1.65}
 .result-comparisons{gap:32px}
 .result-comparison-caption{padding-top:16px}
 .result-comparison-caption h3{font-size:1.5rem}
 .result-comparison-caption>p:not(.project-type){font-size:.9375rem;line-height:1.6}
 .result-comparison-controls{margin-top:12px;gap:12px}
 .results-all{margin-top:24px}
 .services-inner{padding-block:48px;gap:26px}
 .services-intro>p:not(.eyebrow){margin-top:18px;line-height:1.65}
 .services-intro>.text-link{margin-top:14px}
 .material-study{display:none}
 .service-list summary{padding:15px 0;min-height:60px;grid-template-columns:22px minmax(0,1fr) 16px;gap:10px}
 .service-list h3{font-size:1.125rem;line-height:1.4}
 .service-detail{padding:0 0 24px 32px;max-width:none}
 .service-detail p{line-height:1.65}
 .about{grid-template-columns:minmax(0,1fr);gap:24px}
 .about-heading,.about .team-gallery,.about .about-copy{grid-column:1;grid-row:auto}
 .about-heading .section-index{margin-bottom:20px}
 .team-photos{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;aspect-ratio:auto;align-items:start}
 .team-photo{position:relative;inset:auto;width:100%;border-width:2px;box-shadow:none}
 .team-photo img{width:100%;height:auto;aspect-ratio:2/3;object-fit:contain}
 .team-gallery-caption{font-size:.625rem;margin-top:10px}
 .about-copy .about-lead{font-size:1rem;line-height:1.7;margin-top:0}
 .about-copy>p:not(.eyebrow):not(.about-lead){margin-top:14px;line-height:1.65;max-width:none}
 .team-actions{margin-top:12px}
 .how-it-works{padding-block:0 48px}
 .how-it-works .section-heading{display:block;padding-bottom:20px}
 .how-it-works .section-index{margin-bottom:16px}
 .how-it-works h2{font-size:clamp(28px,7.5vw,40px);max-width:19ch}
 .process-list{display:block;padding-top:0}
 .process-list li{border-bottom:1px solid var(--line);padding:0}
 .process-list summary{padding:14px 0;min-height:64px;grid-template-columns:28px minmax(0,1fr) 16px;gap:12px}
 .process-list .process-number{font-size:1.125rem}
 .process-list h3{font-size:1rem}
 .process-list details>p{font-size:1rem;line-height:1.65;padding:0 12px 20px 40px}
 .reviews .section-heading{margin-bottom:20px}
 .reviews-source__line{margin-bottom:22px;font-size:.875rem}
 .quote__stars{margin-bottom:14px}
 .quote blockquote{font-size:1rem;line-height:1.7;margin-bottom:16px}
 .quote__by{font-size:.8125rem}
 .reviews-more{margin-top:22px}
 .reviews-more>summary{padding:15px 0;min-height:48px}
 .reviews-source{margin-top:8px}
 .questions{gap:22px}
 .question summary{padding:16px 20px 16px 0;min-height:56px;line-height:1.5}
 .question>p{line-height:1.65;padding-bottom:20px}
 .contact-inner{padding-block:38px 32px}
 .contact-top{gap:16px;align-items:start}
 .contact-top>p:last-child{font-size:.5625rem;line-height:1.6;max-width:18ch;text-align:right}
 .contact-main{padding:30px 0 24px;gap:22px}
 .contact-main h2{font-size:clamp(42px,10.5vw,60px)}
 .contact-action>p:first-child{font-size:1rem;line-height:1.65;margin-bottom:20px}
 .contact-action .button{min-height:48px;font-size:.875rem}
 .coverage{padding-top:12px}
 .coverage>details>summary{font-size:.8125rem}
 .coverage ul{gap:8px 18px;line-height:1.6}
 .contact-details{display:block;margin-top:12px;padding-top:10px}
 .contact-details .contact-channels{margin-top:6px;display:grid;grid-template-columns:1fr;gap:0}
 .contact-channel{padding:12px 0;gap:12px;min-height:62px}
 .contact-channel span{font-size:.6875rem;margin-bottom:2px}
 .contact-channel b{font-size:.875rem;line-height:1.45}
 .site-footer{padding-block:32px 20px}
 .footer-grid{grid-template-columns:minmax(0,1fr);gap:12px}
 .footer-intro>b{font-size:1.25rem}
 .footer-intro>p{margin-top:10px;font-size:.875rem;line-height:1.65;max-width:42ch}
 .footer-intro>p:last-child{display:flex;flex-wrap:wrap;gap:0 16px;margin-bottom:8px}
 .footer-intro>p:last-child br{display:none}
 .footer-grid a{font-size:.8125rem;min-height:44px}
 .footer-links>summary{min-height:48px;padding:14px 0}
 .footer-links ul{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:20px}
 .footer-links li{min-width:0}
 .footer-bottom{position:relative;margin-top:20px;padding-top:16px;padding-right:58px;display:flex;flex-direction:column;align-items:start;gap:6px;font-size:.6875rem}
 .footer-bottom .back-top{position:absolute;right:0;bottom:0;margin:0}
 .footer-bottom .footer-preview{font-size:.625rem}
}
@media(max-width:359px){
 .site-header .brand-type{font-size:.75rem}
 .site-header .header-actions .button{font-size:.75rem;padding-inline:10px}
 .site-header .brand img{width:32px;height:32px}
 .site-header{gap:6px}
 .result-comparison-controls{grid-template-columns:minmax(0,1fr) auto;gap:10px}
 .result-comparison-toggle{min-width:86px;padding-inline:10px;justify-self:auto}
 .result-comparison-range-wrap label{font-size:.75rem}
}

/* Prime Shine r9: stronger colour hierarchy using the existing logo palette.
   Presentation only. Keep the accepted scene, layout and original photos intact. */
.introduction{background:#DDEEF8;border-color:#B7D3E5}
.introduction .trust-strip{border-color:#A6C6DA}
.introduction .trust-strip li{border-color:#A6C6DA}
.introduction .location-label{color:#254F6B}

.results{background:#05255A;color:#fff;--ink:#fff;--muted:#D5E5F3;--line:#5D7FA8}
.results .section-heading h2,.results .result-comparison-caption h3{color:#fff}
.results .section-heading h2 span,.results .project-type{color:#A2DFF8}
.results .section-description{color:#D5E5F3}
.results .result-comparison-photo{border-color:#668DB8}
.results .result-comparison-tag--before{color:#25623D}
.results .result-comparison-tag--after{color:#13549D}
.results .result-comparison-toggle{background:#fff;color:#05255A;border-color:#fff}
.results .result-comparison-toggle:hover{background:#CFF2FC;border-color:#CFF2FC}
.results .result-comparison-toggle:disabled{color:#4A5768}
.results .result-comparison-range{accent-color:#A2DFF8}
.results .result-comparison-range::-webkit-slider-thumb{background:#A2DFF8;border-color:#05255A;box-shadow:0 0 0 1px #A2DFF8}
.results .result-comparison-range::-moz-range-thumb{background:#A2DFF8;border-color:#05255A;box-shadow:0 0 0 1px #A2DFF8}
.results .text-link{color:#fff}

.services{background:#13549D;color:#fff;--ink:#fff;--muted:#E4EFFB;--line:#82A6D0;border-color:#13549D}
.services h2,.services h3{color:#fff}
.services h2 span{color:#A2DFF8}
.services .services-intro>p,.services .service-detail p,.services .service-number,.services .material-study{color:#E4EFFB}
.services a,.services .service-scope h4,.services .service-scope ul{color:#fff}
.services .service-list details[open]{background:#104888}
.services .ticks li::before{color:#CFF2FC}
.services .material-line{background:#A2DFF8}

.about{background:#E5F0E6}
.about .about-heading h2 span,.about .team-gallery-caption{color:#25623D}
.about .team-photo{border-color:#25623D}
.how-it-works{background:#fff}
.how-it-works .process-number{color:#25623D}

.reviews{background:#25623D;color:#fff;--ink:#fff;--muted:#E0EFDF;--line:#86AE89;border-color:#25623D}
.reviews .section-heading h2,.reviews .quote blockquote,.reviews .quote__by{color:#fff}
.reviews .section-heading h2 span,.reviews .quote__stars{color:#D0EDBC}
.reviews .reviews-source__line,.reviews .muted{color:#E0EFDF}
.reviews a,.reviews .reviews-more>summary{color:#fff}
.questions{background:#DFEDF6}
.questions .question{border-color:#A8C5D8}

.contact{background:#13549D}
.site-footer{background:#05255A;color:#fff;--muted:#D0E1F0;--line:#6688AC}
.site-footer .footer-intro>b,.site-footer a,.site-footer summary{color:#fff}
.site-footer .footer-intro>p,.site-footer .footer-bottom{color:#D0E1F0}
.site-footer .footer-bottom .back-top{color:#fff;border-color:#9DC7E8}
.site-footer .back-top:hover{background:#13549D}

/* The pale index numbers and blue focus ring need their own dark-surface pairs. */
.section-index>span{opacity:1}
.results .section-index>span,.services .section-index>span,.reviews .section-index>span{opacity:1;color:#CFF2FC}
.results :focus-visible,.services :focus-visible,.reviews :focus-visible,.contact :focus-visible,.site-footer :focus-visible{outline-color:#A2DFF8}
.results .result-comparison-toggle:focus-visible{outline-color:#A2DFF8}
.header-actions .button{background:#25623D;border-color:#25623D;color:#fff}
.header-actions .button:hover{background:#174A2B;border-color:#174A2B}

/* Production readability and discovery. */
.quotes-featured{max-width:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.quotes-featured blockquote{font-size:1rem;line-height:1.75}
.quote{margin:0}
.reviews .quotes-featured .quote{padding:24px 0 0}
.coverage>.text-link{margin-top:20px}
.desktop-nav{gap:clamp(12px,1.45vw,24px)}
@media(min-width:901px){
 .site-header{gap:16px}
 .desktop-nav{gap:clamp(4px,.8vw,16px);flex-shrink:0}
 .desktop-nav a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 6px;font-size:1rem;font-weight:500;line-height:1.5;white-space:nowrap}
 .header-actions .button-small{min-height:48px;font-size:1rem;padding:12px 16px;gap:14px;white-space:nowrap}
}
@media(min-width:901px) and (max-width:1100px){
 .site-header{gap:10px;padding-inline:24px}
 .desktop-nav{gap:4px}
 .desktop-nav a{padding-inline:3px}
 .header-actions .button-small{padding-inline:12px;gap:8px}
}
@media(max-width:760px){.quotes-featured{grid-template-columns:1fr;gap:28px}}

/* One introduction, with a clear gap before the service promises. */
.introduction .trust-strip{margin-top:48px}
@media(max-width:900px){.introduction .trust-strip{margin-top:32px}}

/* Numbered disclosures retain a visible focus ring inside their own padding. */
.service-list summary{grid-template-columns:28px minmax(0,1fr) 16px;gap:16px;padding:24px 20px}
.service-number{font-size:.75rem;line-height:1.5;font-variant-numeric:tabular-nums}
.service-list .service-detail{padding:0 20px 28px 64px;max-width:none}
.service-list summary:focus-visible,.process-list summary:focus-visible,.question summary:focus-visible{outline-offset:-3px}
.process-list summary{padding:16px 12px;grid-template-columns:38px minmax(0,1fr) 16px}
.process-list details>p{padding:8px 12px 0 64px}
.question summary{padding-inline:12px}
.question>p{padding-inline:12px}

/* Direct contact routes sit beside coverage, rather than below a separate row. */
.contact-main{padding-bottom:48px}
.contact-support{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;border-top:1px solid rgba(162,223,248,.25);padding-top:24px;align-items:start}
.contact-support .coverage{grid-column:1;grid-row:1;border:0;padding:0;min-width:0}
.contact-support .contact-details{grid-column:2;grid-row:1;display:block;margin:0;padding:0;border:0;min-width:0}
.contact-support .contact-channels{margin:0;display:grid;grid-template-columns:minmax(0,1fr)}
.contact-support .contact-channel:first-child{padding-top:8px}
@media(max-width:900px){
 .service-list summary{grid-template-columns:24px minmax(0,1fr) 16px;gap:10px;padding:16px 12px}
 .service-list .service-detail{padding:0 12px 24px 46px}
 .process-list summary{padding:14px 12px;grid-template-columns:28px minmax(0,1fr) 16px;gap:12px}
 .process-list details>p{padding:0 12px 20px 52px}
 .contact-main{padding-bottom:24px}
 .contact-support{grid-template-columns:minmax(0,1fr);gap:24px;padding-top:16px}
 .contact-support .contact-details,.contact-support .coverage{grid-column:1;grid-row:auto}
 .contact-support .coverage{border-top:1px solid rgba(162,223,248,.25);padding-top:16px}
}
