:root{--porcelain:#f7f9fb;--mist:#eaf2f8;--eucalyptus:#176eaa;--ink:#152d3d;--line:#152d3d29;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif}main .section-index,main .scroll-scrub__tags li,main .quote-form label,main .simple-process li>span{letter-spacing:.025em;font-family:inherit}main .section-index{text-transform:none;color:var(--eucalyptus);font-size:.92rem;font-weight:600}main h2{letter-spacing:-.045em}main .site-nav{-webkit-backdrop-filter:blur(8px);background:#0e233194;min-height:84px}main .brand-with-logo img{object-fit:contain;width:6rem;height:3.5rem}main .brand-with-logo span{font-size:.9rem}main .site-nav .nav-action{color:var(--ink);background:#fff;border-color:#fff;border-radius:.35rem;font-weight:600}main .scroll-scrub__title{letter-spacing:-.05em;max-width:13ch;font-family:inherit;font-size:clamp(2.6rem,5.4vw,5.8rem);font-weight:600;line-height:1.04}main .scroll-scrub__body{font-size:clamp(1rem,1.25vw,1.15rem);line-height:1.6}main .hero-shell{overflow-x:clip}main .scroll-scrub__media{height:calc(100% - 84px);top:84px}@media (width<=560px){main .scroll-scrub__media{height:calc(100% - 70px);top:70px}}main .scroll-scrub__copy{width:min(40rem,48vw)}main .scroll-scrub__copy:before{background:radial-gradient(#091925d6,#09192580 52%,#0000 75%)}main .scroll-scrub__chapter-pin{padding-bottom:8rem}main .scroll-scrub__tags li{text-transform:none;color:#dcecf8;border:none;padding:0 1rem 0 0;font-size:.8rem}main .scroll-scrub__tags li+li{border-left:1px solid #fff6;padding-left:1rem}main .hero-action{border-radius:.35rem;font-size:.9rem;font-weight:600}main .trust-strip{background:#fff;grid-template-columns:repeat(4,1fr);gap:2rem;padding:1.75rem 4vw}main .trust-strip>div{align-items:center;gap:1rem;display:flex}main .trust-strip p{border:0;padding:0}main .trust-strip strong{font-size:.94rem;font-weight:650}main .trust-strip span{color:#516675;line-height:1.4}.value-icon{width:3.1rem;height:3.1rem;color:var(--eucalyptus);flex-shrink:0;transition:transform .3s,color .3s}main .trust-strip>div:hover .value-icon,main .benefit-section li:hover .value-icon{color:#329cdf;transform:translateY(-4px)}main .simple-intro,main .simple-process,main .project-section,main .benefit-section,main .faq-section,main .quote-section{padding-block:clamp(4.5rem,7vw,7rem)}main .simple-intro{grid-template-columns:1fr 1fr;column-gap:6vw}main .simple-intro>.section-index{grid-column:1/-1;margin-bottom:-.5rem}main .simple-intro h2,main .simple-process h2,main .project-heading h2,main .benefit-section h2,main .faq-section h2,main .quote-intro h2,main .reviews-heading h2{font-size:clamp(2.1rem,3.6vw,3.8rem);font-weight:600;line-height:1.1}main .simple-intro>div>p{color:#516675}main .simple-process{background:#152d3d}main .simple-process .section-index{color:#83c5f3}main .simple-process li{grid-template-columns:.65fr 1.35fr;gap:2rem;padding:1.5rem 0}main .simple-process h3{font-size:1.15rem;font-weight:600}main .simple-process li p{color:#cfdae2}main .project-heading{grid-template-columns:1.3fr 1fr;row-gap:.7rem;margin-bottom:2.5rem}main .project-heading>.section-index{grid-column:1/-1;margin:0}main .project-heading>p:last-child{align-self:end;max-width:32rem;font-size:1rem}main .project-carousel{scroll-padding-inline:4vw}main .project-carousel figure{border-radius:.5rem;flex-basis:clamp(20rem,32vw,30rem)}main .project-carousel img{height:clamp(28rem,42vw,38rem)}.gallery-controls{color:#516675;justify-content:space-between;align-items:center;margin-top:1.5rem;font-size:.9rem;display:flex}.gallery-controls>div{gap:.65rem;display:flex}.gallery-controls button{border:1px solid var(--line);cursor:pointer;width:2.8rem;height:2.8rem;color:var(--ink);background:#fff;border-radius:50%;font-size:1.2rem;transition:background .2s}.gallery-controls button:hover{background:var(--mist)}main .benefit-section{background:#eaf2f8;display:block}main .benefit-section>div{max-width:38rem;margin-bottom:3rem}main .benefit-section ul{border:none;grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}main .benefit-section li{background:#ffffffb8;border:1px solid #152d3d14;border-radius:.5rem;min-height:0;padding:1.8rem}main .benefit-section li:first-child{grid-column:span 2}main .benefit-section li .value-icon{width:3.3rem;height:3.3rem;margin-bottom:1.4rem}main .benefit-section h3{letter-spacing:-.02em;margin-bottom:.85rem;font-size:1.15rem;font-weight:600}main .benefit-section p{color:#516675;max-width:45rem;font-size:.95rem;line-height:1.65}.reviews-section{color:#fff;background:#152d3d;padding:clamp(4.5rem,7vw,7rem) 6vw;overflow:hidden}.reviews-heading{justify-content:space-between;align-items:end;gap:2rem;margin-bottom:3rem;display:flex}.reviews-heading h2{max-width:13ch;margin:0}main .reviews-section .section-index{color:#83c5f3}.reviews-heading>a{text-underline-offset:.35rem;white-space:nowrap;font-size:.9rem}.reviews-track{scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#688294 transparent;align-items:stretch;gap:1rem;padding-bottom:1rem;display:flex;overflow-x:auto}.review-card{scroll-snap-align:start;background:#1d394d;border:1px solid #3a5364;border-radius:.5rem;flex-direction:column;flex:0 0 clamp(19rem,32vw,29rem);padding:2rem;display:flex}.review-stars{color:#f4c56a;letter-spacing:.15em;margin:0 0 1.4rem;font-size:1.15rem}.review-card blockquote{color:#e4edf3;margin:0 0 2rem;font-size:1rem;line-height:1.7}.review-card>div{align-items:center;gap:.9rem;margin-top:auto;display:flex}.review-avatar{color:#c2e5ff;background:#315569;border-radius:50%;place-items:center;width:2.5rem;height:2.5rem;display:grid}.review-card>div p{gap:.35rem;margin:0;display:grid}.review-card strong{font-size:.9rem}.review-card a{color:#b0c9db;font-size:.78rem;text-decoration:none}.review-source{color:#b0c9db;margin:1.2rem 0 0;font-size:.8rem}main .faq-list summary{font-size:1.15rem}main .quote-section{color:var(--ink);border-top:1px solid var(--line);background:#edf4fa;gap:6vw}.quote-logo{object-fit:contain;width:9rem;height:5rem;margin:0 0 2rem}main .quote-intro>p{color:#516675;font-size:1.05rem;line-height:1.7}main .contact-details{color:#516675;font-size:.9rem}main .contact-details a{color:var(--ink);font-weight:600}.quote-options{background:#fff;border:1px solid #d7e3ec;border-radius:.7rem;align-self:center;padding:clamp(1.5rem,3vw,3rem)}.quote-options h3{letter-spacing:-.035em;margin:0 0 .8rem;font-size:1.65rem}.enquiry-form{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.enquiry-form label{gap:.5rem;font-size:.9rem;font-weight:600;display:grid}.enquiry-form input,.enquiry-form textarea{width:100%;min-width:0;font:inherit;color:#152d3d;background:#fff;border:1px solid #bacbd7;border-radius:.3rem;padding:.8rem}.enquiry-wide{grid-column:1/-1}.enquiry-form .enquiry-email{color:#fff;font:inherit;cursor:pointer;background:#176eaa;border:0;border-radius:.3rem;padding:1rem;font-weight:600}.enquiry-form p{color:#516675;margin:0;font-size:.85rem;line-height:1.5}.enquiry-form p:empty{display:none}@media (width<=560px){.enquiry-form{grid-template-columns:1fr}}.quote-options>p{color:#516675;margin-bottom:1.5rem;font-size:.95rem;line-height:1.65}.contact-option{border-top:1px solid var(--line);align-items:center;gap:1rem;padding:1.35rem 0;text-decoration:none;display:flex}.contact-option>span:nth-child(2),.contact-option>span:first-child{flex:1;gap:.4rem;display:grid}.contact-option>span:last-child{flex:0}.contact-option strong{font-size:1rem;font-weight:600}.contact-option small{color:#516675;font-size:.83rem}.contact-symbol{color:#176eaa;background:#edf4fa;border-radius:.4rem;place-items:center;width:2.8rem;height:2.8rem;font-size:1.25rem;display:grid}.contact-option:hover strong{color:#176eaa}.quote-options>.contact-reassurance{margin:1.2rem 0 0;font-size:.8rem}main footer{background:#fff}main .footer-logo{object-fit:contain;width:6rem;height:3.5rem}main a:focus-visible,main button:focus-visible,main [tabindex="0"]:focus-visible{outline-offset:5px;outline:3px solid #329cdf}main section[id],main article[id]{scroll-margin-top:84px}@media (width<=1000px){main .site-nav nav .nav-phone{display:none}main .trust-strip,main .benefit-section ul{grid-template-columns:1fr 1fr}}@media (width<=900px){main .simple-intro,main .quote-section,main .project-heading{grid-template-columns:1fr}main .scroll-scrub__copy{width:min(34rem,100%)}main .scroll-scrub__title{max-width:14ch;font-size:clamp(2.4rem,6.5vw,4.5rem)}}@media (width<=560px){main .site-nav{min-height:70px}main .brand-with-logo img{width:5rem;height:3rem}main .scroll-scrub__title{font-size:2.65rem}main .scroll-scrub__chapter-pin{padding-bottom:8rem}main .scroll-scrub__copy:before{background:linear-gradient(#0000,#091925cc 40%,#091925f5)}main .trust-strip{gap:1.8rem 1rem;padding:2rem 1.1rem}main .trust-strip>div{flex-direction:column;align-items:flex-start;gap:.65rem}main .trust-strip strong{font-size:.85rem}main .simple-process li{grid-template-columns:1fr;gap:.6rem}main .simple-process li p{grid-column:auto}main .benefit-section ul{grid-template-columns:1fr}main .benefit-section li:first-child{grid-column:auto}main .project-carousel{scroll-padding-inline:1.1rem}main .project-carousel figure{flex-basis:82vw}main .project-carousel img{height:27rem}.reviews-section{padding-inline:1.1rem}.reviews-heading{flex-direction:column;align-items:start}.review-card{flex-basis:86vw;padding:1.5rem}main .quote-logo{width:8rem;margin-bottom:1.2rem}}@media (prefers-reduced-motion:reduce){.value-icon,main .project-carousel img{transition:none;transform:none!important}}:root{--porcelain:#f7f9fb;--mist:#eaf2f8;--eucalyptus:#176eaa;--ink:#152d3d;--white:#fff;--line:#17211e2e;color:var(--ink);background:var(--porcelain);font-synthesis:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--porcelain)}body{background:var(--porcelain);min-width:320px;color:var(--ink);margin:0}body,button,input,select,textarea{font:inherit}img{width:100%;height:auto;display:block}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}::selection{background:var(--eucalyptus);color:var(--white)}.site-nav{z-index:80;min-height:78px;color:var(--white);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);pointer-events:none;background:#0c1311b8;border-bottom:1px solid #ffffff2e;justify-content:space-between;align-items:center;padding:0 clamp(1rem,4vw,4rem);display:flex;position:fixed;top:0;left:0;right:0}.site-nav a{pointer-events:auto;text-decoration:none}.brand{letter-spacing:-.02em;align-items:center;gap:1rem;font-weight:500;display:flex}.brand-with-logo img{object-fit:cover;object-position:center;width:4.25rem;height:2.3rem}.brand-with-logo span{font-size:.95rem}.brand-mark{letter-spacing:.08em;border:1px solid #ffffffa6;place-items:center;width:2.3rem;height:2.3rem;font-family:system-ui,monospace;font-size:.66rem;display:grid}.site-nav nav{align-items:center;gap:clamp(.8rem,1.8vw,2rem);font-size:.87rem;display:flex}.site-nav nav a{padding:1rem 0;position:relative}.site-nav nav a:after{content:"";transform-origin:100%;background:currentColor;height:1px;transition:transform .3s;position:absolute;bottom:.7rem;left:0;right:0;transform:scaleX(0)}.site-nav nav a:hover:after,.site-nav nav a:focus-visible:after{transform-origin:0;transform:scaleX(1)}.site-nav .nav-phone{color:#ffffffb8}.site-nav .nav-action{border:1px solid #ffffffa6;padding:.75rem 1rem}.site-nav .nav-action:after{display:none}.hero-shell{background:var(--ink);position:relative}.hero-action{z-index:9;min-width:14rem;color:var(--ink);background:var(--white);align-items:center;gap:2.5rem;padding:1.15rem 1.3rem;text-decoration:none;transition:transform .22s;display:flex;position:absolute;top:calc(100dvh - 6rem);right:clamp(1.25rem,5vw,5rem)}.hero-action:hover{transform:translateY(-4px)}.hero-action span{margin-left:auto;font-family:system-ui,monospace}.trust-strip{border-bottom:1px solid var(--line);background:var(--white);grid-template-columns:repeat(4,1fr);display:grid}.trust-strip p{border-right:1px solid var(--line);gap:.35rem;margin:0;padding:1.7rem clamp(1rem,3vw,3rem);display:grid}.trust-strip p:last-child{border-right:0}.trust-strip strong{letter-spacing:-.02em;font-size:clamp(1.05rem,1.5vw,1.35rem);font-weight:500}.trust-strip span{color:#17211e94;font-size:.78rem}.simple-intro{grid-template-columns:.45fr 1.15fr .7fr;align-items:start;gap:clamp(2rem,5vw,6rem);padding:clamp(7rem,12vw,12rem) clamp(1.25rem,6vw,6rem);display:grid}.simple-intro h2,.simple-process h2,.project-heading h2,.benefit-section h2,.quote-intro h2{letter-spacing:-.055em;text-wrap:balance;margin:0;font-size:clamp(2.7rem,5.4vw,6rem);font-weight:400;line-height:.98}.simple-intro>div>p,.project-heading>p:last-child,.quote-intro>p{color:#17211eab;margin:0;font-size:1.08rem;line-height:1.65}.simple-intro a{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);justify-content:space-between;gap:2rem;margin-top:2rem;padding:1rem 0;text-decoration:none;display:flex}.simple-process{background:var(--ink);color:var(--white);grid-template-columns:.7fr 1.3fr;gap:clamp(3rem,8vw,10rem);padding:clamp(7rem,11vw,11rem) clamp(1.25rem,6vw,6rem);display:grid}.simple-process-heading .section-index{color:#9bc8b1}.simple-process ol{border-top:1px solid #fff3;margin:0;padding:0;list-style:none}.simple-process li{border-bottom:1px solid #fff3;grid-template-columns:3.5rem .45fr 1fr;gap:1.5rem;padding:1.8rem 0;display:grid}.simple-process li>span{color:#9bc8b1;font-family:system-ui,monospace;font-size:.72rem}.simple-process h3{margin:0;font-size:clamp(1.4rem,2vw,2rem);font-weight:400}.simple-process li p{color:#ffffffa6;margin:0;line-height:1.55}.project-section{padding:clamp(7rem,12vw,12rem) clamp(1.25rem,4vw,4rem)}.project-heading{grid-template-columns:.45fr 1.1fr .6fr;align-items:start;gap:clamp(2rem,5vw,6rem);max-width:92rem;margin:0 auto clamp(4rem,8vw,8rem);display:grid}.project-carousel{overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;gap:1rem;max-width:100%;margin-inline:calc(-1*clamp(1.25rem,4vw,4rem));padding:0 clamp(1.25rem,4vw,4rem) 1rem;display:flex;overflow-x:auto}.project-carousel::-webkit-scrollbar{display:none}.project-carousel figure{scroll-snap-align:start;background:var(--ink);flex:0 0 min(62vw,56rem);margin:0;position:relative;overflow:hidden}.project-carousel img{object-fit:cover;object-position:center;width:100%;height:clamp(27rem,54vw,46rem);transition:transform .6s}.project-carousel figure:hover img{transform:scale(1.015)}.project-carousel figcaption{color:var(--white);text-transform:uppercase;background:linear-gradient(#0000,#0a110fd1);gap:1rem;padding:1.4rem;font-size:.84rem;font-weight:500;display:flex;position:absolute;bottom:0;left:0;right:0}.project-carousel figcaption span{color:#b7dcc9}.swipe-hint{border-top:1px solid var(--line);color:#17211e99;justify-content:space-between;margin:1rem 0 0;padding-top:1rem;font-size:.86rem;display:flex}.benefit-section{background:var(--mist);grid-template-columns:.75fr 1.25fr;gap:clamp(3rem,8vw,10rem);padding:clamp(7rem,12vw,12rem) clamp(1.25rem,6vw,6rem);display:grid}.benefit-section ul{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:1fr 1fr;margin:0;padding:0;list-style:none;display:grid}.benefit-section li{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:14rem;padding:2rem}.benefit-section h3{margin:0 0 1.2rem;font-size:clamp(1.4rem,2vw,2rem);font-weight:400}.benefit-section li p{color:#17211ea3;margin:0;line-height:1.55}main .scroll-scrub__route{display:none}.scroll-scrub__copy{width:min(48rem,58vw)}.scroll-scrub__copy:before{background:radial-gradient(#0a110fe0 0%,#0a110f94 55%,#0000 78%);inset:-4rem -7rem}.scroll-scrub__kicker{color:#b7dcc9;letter-spacing:.06em;font-family:system-ui,sans-serif;font-weight:600}.scroll-scrub__title{letter-spacing:-.06em;max-width:10ch;font-weight:400}.scroll-scrub__body{color:#ffffffc7;max-width:46ch}.scroll-scrub__tags li{color:var(--white);text-transform:uppercase;border-color:#ffffff59;font-family:system-ui,sans-serif;font-size:.76rem;font-weight:500}.scroll-scrub__chapter-pin{align-items:flex-end;padding-bottom:clamp(8rem,14vh,11rem)}.section-index{color:var(--eucalyptus);letter-spacing:.055em;text-transform:uppercase;margin:0 0 1.5rem;font-family:system-ui,sans-serif;font-size:.8rem;font-weight:600}.proof-section{grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);align-items:center;gap:clamp(3rem,8vw,9rem);min-height:90vh;padding:clamp(6rem,11vw,10rem) clamp(1.25rem,6vw,6rem);display:grid}.proof-copy h2,.method-intro h2,.structure-copy h2,.board-copy h2,.repairs-heading h2,.inspection-section h2{letter-spacing:-.055em;text-wrap:balance;margin:0;font-size:clamp(2.7rem,5.4vw,6rem);font-weight:400;line-height:.98}.proof-copy>p:last-child,.method-intro>p:last-child,.structure-copy>p,.board-copy>p,.inspection-section>div>p:last-child{color:#17211eb8;max-width:42rem;margin:2rem 0 0;font-size:clamp(1.05rem,1.4vw,1.28rem);line-height:1.65}.proof-image{margin:0;position:relative}.proof-image img{aspect-ratio:16/10;object-fit:cover}.proof-image figcaption{background:var(--porcelain);padding:1rem 1.2rem;font-family:system-ui,monospace;font-size:.72rem;position:absolute;bottom:-1px;right:-1px}.method-section{background:var(--ink);color:var(--white);grid-template-columns:minmax(18rem,.72fr) minmax(0,1.28fr);gap:clamp(3rem,9vw,10rem);padding:clamp(7rem,12vw,12rem) clamp(1.25rem,6vw,6rem);display:grid}.method-intro{align-self:start;position:sticky;top:8rem}.method-intro .section-index{color:#9bc8b1}.method-intro>p:last-child{color:#ffffffad}.method-list{border-top:1px solid #fff3;margin:0;padding:0;list-style:none}.method-list li{border-bottom:1px solid #fff3;grid-template-columns:4rem minmax(10rem,.65fr) minmax(14rem,1fr);gap:1.5rem;padding:2.2rem 0;display:grid}.step-number{color:#9bc8b1;font-family:system-ui,monospace;font-size:.78rem}.method-list h3{margin:0;font-size:clamp(1.35rem,2vw,2rem);font-weight:400}.method-list p{color:#ffffffa3;margin:0;line-height:1.6}.why-section{background:var(--white);padding:clamp(7rem,12vw,12rem) clamp(1.25rem,6vw,6rem)}.why-heading{grid-template-columns:.45fr 1.05fr .75fr;align-items:start;gap:clamp(2rem,5vw,6rem);margin-bottom:clamp(4rem,8vw,8rem);display:grid}.why-heading h2,.legacy-project-copy h2,.faq-section h2{letter-spacing:-.055em;text-wrap:balance;margin:0;font-size:clamp(2.7rem,5.4vw,6rem);font-weight:400;line-height:.98}.why-heading>p:last-child,.legacy-project-copy>p{color:#17211ead;margin:0;font-size:1.05rem;line-height:1.65}.reason-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin:0;padding:0;list-style:none;display:grid}.reason-grid li{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:19rem;padding:clamp(1.5rem,3vw,2.5rem)}.reason-grid span{color:var(--eucalyptus);font-family:system-ui,monospace;font-size:.72rem}.reason-grid h3{letter-spacing:-.035em;max-width:12ch;margin:4rem 0 1rem;font-size:clamp(1.55rem,2.3vw,2.3rem);font-weight:400;line-height:1.05}.reason-grid p{color:#17211e9e;max-width:30rem;margin:0;line-height:1.55}.legacy-project{background:var(--mist);grid-template-columns:minmax(0,1.05fr) minmax(22rem,.95fr);min-height:90vh;display:grid}.legacy-project-media{min-height:44rem;overflow:hidden}.legacy-project-media img{object-fit:cover;object-position:center 46%;width:100%;height:100%}.legacy-project-copy{flex-direction:column;justify-content:center;padding:clamp(5rem,9vw,9rem) clamp(2rem,7vw,7rem);display:flex}.legacy-project-copy>p{margin-top:2rem}.legacy-logo{mix-blend-mode:multiply;width:min(16rem,65%);margin-top:4rem}.structure-section{grid-template-columns:minmax(0,1.25fr) minmax(18rem,.75fr);align-items:center;gap:clamp(3rem,7vw,8rem);padding:clamp(7rem,11vw,11rem) clamp(1.25rem,6vw,6rem);display:grid}.structure-media{position:relative}.structure-media img{aspect-ratio:1.25;object-fit:cover;object-position:center}.crop-note{background:var(--eucalyptus);color:var(--white);text-transform:uppercase;padding:.85rem 1rem;font-family:system-ui,monospace;font-size:.72rem;position:absolute;bottom:1.2rem;left:-1.2rem}.technical-rail{border-top:1px solid var(--line);margin:3rem 0 0}.technical-rail div{border-bottom:1px solid var(--line);grid-template-columns:7rem 1fr;gap:1rem;padding:1rem 0;display:grid}.technical-rail dt{color:var(--eucalyptus);text-transform:uppercase;font-family:system-ui,monospace;font-size:.72rem}.technical-rail dd{margin:0}.board-section{background:var(--mist);grid-template-columns:minmax(20rem,.8fr) minmax(0,1.2fr);align-items:stretch;min-height:88vh;display:grid}.board-copy{align-self:center;padding:clamp(6rem,10vw,10rem) clamp(1.25rem,6vw,6rem)}.board-section figure{margin:0;overflow:hidden}.board-section figure img{object-fit:cover;width:100%;height:100%}.method-action{border-bottom:1px solid;gap:2rem;margin-top:2.5rem;padding-bottom:.4rem;text-decoration:none;display:inline-flex}.method-action span{transition:transform .2s}.method-action:hover span{transform:translate(.4rem)}.repairs-section{padding:clamp(7rem,12vw,12rem) clamp(1.25rem,6vw,6rem)}.repairs-heading{grid-template-columns:.55fr 1.45fr;align-items:start;gap:2rem;margin-bottom:clamp(4rem,8vw,8rem);display:grid}.repairs-heading h2{max-width:12ch}.repairs-grid{grid-template-columns:minmax(18rem,.75fr) minmax(0,1.25fr);align-items:center;gap:clamp(3rem,7vw,8rem);display:grid}.repairs-grid ul{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.repairs-grid li{border-bottom:1px solid var(--line);gap:1.5rem;padding:1.3rem 0;font-size:clamp(1.05rem,1.7vw,1.45rem);display:flex}.repairs-grid li span{width:2rem;color:var(--eucalyptus);padding-top:.35rem;font-family:system-ui,monospace;font-size:.74rem}.repairs-media{position:relative}.repairs-media img{aspect-ratio:4/3;object-fit:cover}.repairs-media p{background:var(--white);width:min(25rem,82%);margin:-3rem 0 0 auto;padding:1.5rem;line-height:1.5;position:relative}.result-section{min-height:92vh;position:relative;overflow:hidden}.result-section>img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.result-section:after{content:"";background:linear-gradient(90deg,#09100ebf,#09100e00 68%);position:absolute;inset:0}.result-copy{z-index:1;min-height:92vh;color:var(--white);flex-direction:column;justify-content:flex-end;padding:clamp(4rem,8vw,8rem) clamp(1.25rem,6vw,6rem);display:flex;position:relative}.result-copy p{text-transform:uppercase;font-family:system-ui,monospace;font-size:.75rem}.result-copy h2{letter-spacing:-.06em;max-width:9ch;margin:1rem 0 0;font-size:clamp(3.4rem,7.7vw,8rem);font-weight:300;line-height:.9}.testimonial-section{text-align:center;background:var(--ink);min-height:70vh;color:var(--white);place-content:center;padding:clamp(6rem,10vw,10rem) clamp(1.25rem,10vw,12rem);display:grid}.quote-mark{color:#9bc8b1;margin:0;font-family:Georgia,serif;font-size:6rem;line-height:.7}.testimonial-section blockquote{letter-spacing:-.045em;text-wrap:balance;max-width:19ch;margin:1.5rem auto 2rem;font-size:clamp(2.3rem,4.8vw,5.4rem);font-weight:300;line-height:1.05}.testimonial-section>p:last-child{color:#ffffff9e;text-transform:uppercase;margin:0;font-family:system-ui,monospace;font-size:.75rem}.faq-section{grid-template-columns:.7fr 1.3fr;gap:clamp(3rem,8vw,10rem);padding:clamp(7rem,12vw,12rem) clamp(1.25rem,6vw,6rem);display:grid}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{cursor:pointer;justify-content:space-between;gap:2rem;padding:1.6rem 0;font-size:clamp(1.15rem,1.8vw,1.55rem);list-style:none;display:flex}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{color:var(--eucalyptus);font-family:system-ui,monospace;transition:transform .2s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{color:#17211ea8;max-width:45rem;margin:0;padding:0 3rem 1.8rem 0;line-height:1.65}.quote-section{background:var(--eucalyptus);color:var(--white);grid-template-columns:.75fr 1.25fr;gap:clamp(3rem,8vw,10rem);padding:clamp(7rem,12vw,12rem) clamp(1.25rem,6vw,6rem);display:grid}.quote-intro .section-index{color:#d5eadf}.quote-intro>p{color:#ffffffbf;margin-top:2rem}.contact-details{color:#ffffffb3;gap:.55rem;margin-top:3rem;display:grid}.contact-details a{width:max-content;color:var(--white);font-size:1.45rem;text-decoration:none}.quote-form{background:var(--white);color:var(--ink);grid-template-columns:1fr 1fr;align-self:start;gap:1.2rem 1rem;padding:clamp(2rem,5vw,4.5rem);display:grid}.quote-form label{color:var(--eucalyptus);letter-spacing:.05em;text-transform:uppercase;gap:.5rem;font-family:system-ui,monospace;font-size:.7rem;display:grid}.quote-form input,.quote-form textarea{border:0;border-bottom:1px solid var(--line);width:100%;color:var(--ink);text-transform:none;background:0 0;border-radius:0;outline:0;padding:.85rem 0;font-family:system-ui,sans-serif;font-size:1rem}.quote-form input:focus,.quote-form textarea:focus{border-bottom-color:var(--ink)}.quote-form .full-field{grid-column:1/-1}.quote-form button{border:0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);color:var(--ink);cursor:pointer;text-align:left;background:0 0;grid-column:1/-1;justify-content:space-between;margin-top:.8rem;padding:1.2rem 0;font-weight:500;display:flex}.quote-form>p{color:#17211e80;grid-column:1/-1;margin:0;font-size:.78rem}.footer-logo{object-fit:cover;width:4.8rem;height:2.6rem}.inspection-section{background:var(--eucalyptus);color:var(--white);grid-template-columns:minmax(18rem,.75fr) minmax(0,1.25fr);gap:clamp(3rem,8vw,10rem);padding:clamp(7rem,12vw,12rem) clamp(1.25rem,6vw,6rem);display:grid}.inspection-section .section-index{color:#d5eadf}.inspection-section>div>p:last-child{color:#ffffffbf}.quote-panel{background:var(--white);color:var(--ink);align-self:start;padding:clamp(2rem,5vw,4.5rem)}.quote-panel-label{color:var(--eucalyptus);letter-spacing:.07em;text-transform:uppercase;margin:0 0 2.2rem;font-family:system-ui,monospace;font-size:.72rem}.quote-panel h3{letter-spacing:-.045em;max-width:13ch;margin:0;font-size:clamp(2rem,3.5vw,3.8rem);font-weight:400;line-height:1}.quote-panel>p:not(.quote-panel-label){color:#17211ea8;max-width:38rem;margin:1.7rem 0 0;font-size:1.05rem;line-height:1.6}.quote-panel a{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);justify-content:space-between;gap:2rem;margin-top:2.5rem;padding:1.2rem 0;font-weight:500;text-decoration:none;display:flex}.quote-panel a span{transition:transform .2s}.quote-panel a:hover span{transform:translate(.25rem,-.25rem)}.quote-panel small{color:#17211e80;margin-top:1.2rem;line-height:1.5;display:block}.inspection-section form{grid-template-columns:1fr 1fr;align-self:start;gap:1.25rem 1rem;display:grid}.inspection-section label{text-transform:uppercase;letter-spacing:.05em;gap:.55rem;font-family:system-ui,monospace;font-size:.72rem;display:grid}.inspection-section input,.inspection-section select,.inspection-section textarea{width:100%;color:var(--white);text-transform:none;background:0 0;border:0;border-bottom:1px solid #ffffff8f;border-radius:0;outline:none;padding:1rem .15rem;font-family:system-ui,sans-serif;font-size:1rem}.inspection-section select{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.inspection-section input:focus,.inspection-section select:focus,.inspection-section textarea:focus{border-bottom-color:var(--white)}.full-field{grid-column:1/-1}.inspection-section button{min-height:4.2rem;color:var(--white);cursor:pointer;background:0 0;border:1px solid #ffffffbf;grid-column:1/-1;margin-top:1rem;transition:transform .18s,background .18s,color .18s}.inspection-section button:hover{background:var(--white);color:var(--ink)}.inspection-section button:active{transform:scale(.985)}.inspection-section button:disabled{cursor:wait;opacity:.65}.privacy-note{color:#ffffffb8;grid-column:1/-1;margin:.25rem 0 0;font-size:.82rem}.form-status{grid-column:1/-1;min-height:1.5rem;margin:0}.honeypot{position:absolute;left:-9999px}footer{border-top:1px solid var(--line);grid-template-columns:1fr 1fr auto;align-items:center;gap:2rem;padding:2.2rem clamp(1.25rem,6vw,6rem);font-size:.9rem;display:grid}footer a{text-decoration:none}.footer-brand{font-weight:600}footer p{color:#17211e9e;margin:0}.error-page{place-content:center;justify-items:start;gap:1rem;min-height:100dvh;padding:2rem;display:grid}.error-page p{color:var(--eucalyptus);margin:0;font-family:system-ui,monospace}.error-page h1{margin:0;font-size:clamp(2.5rem,7vw,6rem);font-weight:400}.error-page a,.error-page button{border:1px solid var(--ink);background:0 0;padding:.9rem 1.2rem;text-decoration:none}@media (width<=900px){.site-nav{min-height:64px}.site-nav nav>a:not(.nav-action),.brand>span:last-child{display:none}.hero-action{min-width:12.5rem;top:calc(100dvh - 5.2rem);right:1rem}.scroll-scrub__copy{width:min(100%,34rem)}.proof-section,.structure-section,.board-section,.repairs-grid,.inspection-section{grid-template-columns:1fr}.trust-strip{grid-template-columns:1fr 1fr}.trust-strip p:nth-child(2){border-right:0}.why-heading{grid-template-columns:1fr}.reason-grid{grid-template-columns:1fr 1fr}.legacy-project{grid-template-columns:1fr}.legacy-project-media{min-height:55vh}.faq-section,.simple-intro,.simple-process,.project-heading,.benefit-section,.quote-section{grid-template-columns:1fr}.project-carousel figure{flex-basis:min(76vw,38rem)}.proof-section{min-height:auto}.method-section{grid-template-columns:1fr}.method-intro{position:static}.method-list li{grid-template-columns:3rem 1fr}.method-list li p{grid-column:2}.board-copy{order:2}.board-section figure{min-height:55vh}.repairs-heading,.inspection-section form{grid-template-columns:1fr}.inspection-section form>*{grid-column:1}footer{grid-template-columns:1fr}}@media (width<=560px){.site-nav{padding-inline:1rem}.site-nav .nav-action{font-size:.82rem}.scroll-scrub__chapter-pin{padding-bottom:8rem}.scroll-scrub__title{font-size:clamp(2.8rem,15vw,4.7rem)}.scroll-scrub__tags{display:none}.proof-section,.method-section,.structure-section,.board-copy,.repairs-section,.inspection-section{padding-left:1.1rem;padding-right:1.1rem}.trust-strip{grid-template-columns:1fr}.trust-strip p{border-right:0}.reason-grid{grid-template-columns:1fr}.reason-grid li{min-height:auto}.reason-grid h3{margin-top:2.5rem}.simple-intro,.simple-process,.project-section,.benefit-section,.quote-section{padding-left:1.1rem;padding-right:1.1rem}.simple-process li{grid-template-columns:2.5rem 1fr}.simple-process li p{grid-column:2}.project-carousel{margin-inline:-1.1rem;padding-inline:1.1rem}.project-carousel figure{flex-basis:86vw}.project-carousel img{height:31rem}.benefit-section ul,.quote-form{grid-template-columns:1fr}.quote-form>*,.quote-form .full-field{grid-column:1}.brand-with-logo img{width:3.8rem;height:2rem}.proof-image figcaption{position:static}.crop-note{left:-.6rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}

/* Lightweight replacement for the generated video journey. */
:root { --ink: #152d3d; --eucalyptus: #176eaa; }
html { scroll-padding-top: 100px; }
body { overflow-x: clip; }
button, a, input, textarea, summary { touch-action: manipulation; }
:focus-visible { outline: 3px solid #2485c8; outline-offset: 5px; }
.skip-link { position: fixed; z-index: 200; top: .5rem; left: 1rem; padding: 1rem; color: #152d3d; background: white; transform: translateY(-160%); }
.skip-link:focus { transform: none; }
main .site-nav { background: #152d3d; backdrop-filter: none; min-height: 84px; }
main .brand-with-logo img { width: 5.3rem; height: auto; object-fit: contain; }
main .site-nav .nav-phone { color: #e8f0f5; }
.repair-hero { position: relative; isolation: isolate; display: flex; align-items: center; min-height: min(900px, 100svh); padding: 145px 6vw 105px; color: #fff; background: #152d3d; }
.repair-hero__image { position: absolute; z-index: -2; inset: 84px 0 0; width: 100%; height: calc(100% - 84px); object-fit: cover; object-position: center; }
.repair-hero::before { content: ''; position: absolute; z-index: -1; inset: 84px 0 0; background: linear-gradient(90deg, rgba(9,25,37,.94), rgba(9,25,37,.79) 32%, rgba(9,25,37,.2) 68%, rgba(9,25,37,.06)); }
.repair-hero__copy { max-width: 39rem; }
.hero-location { margin: 0 0 1.35rem; font-size: .85rem; font-weight: 600; letter-spacing: .035em; color: #bfe1f6; }
.repair-hero h1 { margin: 0; max-width: 12ch; font-size: clamp(2.8rem, 5.2vw, 5.6rem); line-height: 1.02; letter-spacing: -.055em; font-weight: 600; text-wrap: balance; }
.repair-hero .hero-lead { margin: 1.6rem 0 .7rem; font-size: clamp(1.15rem,1.6vw,1.45rem); font-weight: 600; }
.repair-hero__copy > p:not(.hero-location):not(.hero-lead) { max-width: 44ch; margin: 0; color: #ecf3f8; font-size: 1.05rem; line-height: 1.65; }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1.25rem 1.8rem; margin-top: 1.8rem; }
.primary-action { display: inline-flex; justify-content: space-between; align-items: center; gap: 2rem; padding: 1rem 1.2rem; border-radius: .35rem; background: #fff; color: #152d3d; font-weight: 650; font-size: .94rem; text-decoration: none; min-height: 50px; }
.primary-action:hover { background: #eaf2f8; }
.hero-call { padding: .7rem 0; font-size: 1rem; font-weight: 600; text-decoration-thickness: 1px; text-underline-offset: .3rem; }
.hero-assurances { display: flex; flex-wrap: wrap; gap: .7rem 1.3rem; padding: 0; margin: 1.6rem 0 .5rem; list-style: none; font-size: .8rem; color: #ecf3f8; }
.hero-assurances li+li { border-left: 1px solid #899ca9; padding-left: 1.3rem; }
.hero-guarantee { font-size: .7rem; color: #cad7df; }
.hero-scroll { position: absolute; bottom: 1.75rem; left: 6vw; display: flex; align-items: center; gap: 1.5rem; color: #fff; text-decoration: none; font-size: .8rem; }
.hero-scroll span { font-size: 1.3rem; }
.hero-caption { position: absolute; right: 1.1rem; bottom: 1rem; color: #fff; background: rgba(9,25,37,.8); padding: .3rem .5rem; font-size: .63rem; border-radius: .2rem; }
.repair-process { padding: clamp(3.5rem,7vw,7rem) 4vw; background: #152d3d; color: #fff; scroll-margin-top: 1rem; }
.process-intro { display: grid; grid-template-columns: .6fr 1.2fr .8fr; gap: 3rem; margin: 0 2vw 3rem; align-items: start; }
.process-intro .section-index { color: #b5d9ef; }
.process-intro h2, .leak-advice h2 { margin: 0; font-size: clamp(2.1rem,3.6vw,3.8rem); line-height: 1.08; letter-spacing: -.045em; font-weight: 600; }
.process-intro > p:last-child { margin: .2rem 0 0; color: #d4e1e9; font-size: 1rem; line-height: 1.7; }
.repair-steps { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1.2rem; padding: 0; margin: 0; list-style: none; }
.repair-step__visual { position: relative; overflow: hidden; background: #203a4a; }
.repair-step img { display: block; width: 100%; height: auto; aspect-ratio: 16/9; object-fit: cover; }
.step-number { display: block; border-bottom: 1px solid #617784; padding: .9rem 0; color: #bfe1f6; background: #152d3d; font-size: .82rem; font-weight: 600; }
.repair-step h3 { font-size: 1.16rem; line-height: 1.3; font-weight: 600; margin: 1.25rem 0 .7rem; letter-spacing: -.015em; }
.repair-step > p { font-size: .94rem; line-height: 1.7; margin: 0; color: #d4e1e9; }
.process-note { font-size: .75rem; color: #c4d4df; margin: 2rem 0 0; }
.repair-step.is-visible { animation: reveal-step .5s ease both; }
@keyframes reveal-step { from { opacity: .45; transform: translateY(14px); } to { opacity: 1; transform: none; } }
.leak-advice { display: grid; grid-template-columns: 1fr 1fr; padding: clamp(3.5rem,7vw,7rem) 6vw; gap: 6vw; background: #fff; border-top: 1px solid #d7e2e9; }
.leak-advice > div > p:not(.section-index) { font-size: 1rem; color: #405866; line-height: 1.8; margin: 0 0 1rem; }
.leak-advice a { display: inline-flex; gap: 1.5rem; padding: .8rem 0; color: #176eaa; font-weight: 600; text-underline-offset: .3rem; }
main .simple-intro { padding-block: clamp(3.5rem,7vw,7rem); }
main .project-section, main .benefit-section, main .reviews-section, main .faq-section, main .quote-section { padding-block: clamp(3.5rem,7vw,7rem); }
main .project-carousel img { height: auto; aspect-ratio: 4/3; }
main .project-carousel figure { flex-basis: min(50vw,42rem); }
main .project-heading { margin-bottom: 2.5rem; }
.gallery-controls button:disabled { opacity: .4; cursor: default; }
main .faq-list summary { min-height: 48px; line-height: 1.4; gap: 1rem; }
main .faq-list details p { max-width: 65ch; }
main .enquiry-email:disabled { opacity: .65; cursor: wait; }
#quote-status:empty { display: none; }
#quote-status { padding: .85rem; border-left: 3px solid #176eaa; background: #eaf2f8; }
.not-found { min-height: 100svh; max-width: 50rem; padding: 15vh 6vw; margin: auto; }
.not-found .primary-action { background: #152d3d; color: #fff; }
@media (min-width: 1500px) { .repair-hero { min-height: 850px; } }
@media (max-width: 1100px) { .repair-steps { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 2.5rem 1.25rem; } .process-intro { grid-template-columns: 1fr 1fr; gap: 1.5rem; } .process-intro .section-index { grid-column: 1/-1; margin-bottom: 0; } }
@media (max-width: 700px) {
  html { scroll-padding-top: 85px; }
  main .site-nav { min-height: 70px; }
  .repair-hero { min-height: 780px; min-height: max(780px,100svh); padding: 320px 5vw 90px; align-items: flex-end; }
  .repair-hero__image { inset: 70px 0 auto; height: 460px; object-position: 59% center; }
  .repair-hero::before { inset: 70px 0 0; background: linear-gradient(0deg,#152d3d 18%,rgba(21,45,61,.98) 38%,rgba(21,45,61,.62) 57%,rgba(21,45,61,.03) 85%); }
  .repair-hero__copy { max-width: 35rem; }
  .hero-location { font-size: .72rem; margin-bottom: 1rem; }
  .repair-hero h1 { font-size: clamp(2.5rem,8.5vw,3.5rem); max-width: 14ch; }
  .repair-hero .hero-lead { font-size: 1.1rem; margin-top: 1.15rem; }
  .repair-hero__copy > p:not(.hero-location):not(.hero-lead) { font-size: .95rem; }
  .hero-actions { gap: .75rem 1.2rem; margin-top: 1.4rem; }
  .primary-action { font-size: .85rem; gap: 1.5rem; }
  .hero-call { font-size: .92rem; }
  .hero-assurances { font-size: .73rem; gap: .6rem .8rem; }
  .hero-assurances li+li { padding-left: .8rem; }
  .hero-scroll { left: 5vw; bottom: 2rem; }
  .hero-caption { bottom: auto; top: 82px; right: .7rem; font-size: .6rem; }
  .process-intro { display: block; margin: 0 0 2rem; }
  .process-intro .section-index { margin-bottom: 1rem; }
  .process-intro > p:last-child { margin-top: 1.2rem; }
  .repair-process { padding-inline: 5vw; }
  .repair-steps { grid-template-columns: 1fr; gap: 2.2rem; }
  .repair-step h3 { margin-top: 1rem; }
  .leak-advice { grid-template-columns: 1fr; gap: 1.7rem; padding-inline: 5vw; }
  main .project-carousel figure { flex-basis: 82vw; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}

.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
