@font-face{font-family:Manrope;src:url(/assets/manrope.woff2?v=df7773071e87) format("woff2");font-weight:200 800;font-display:block}
:root{--ink:#101e2b;--text:#45515b;--line:#dce1e4;--pale:#f3f5f5;--accent:#c67e4b;--accent-dark:#965b32;--light:#eab88f;--wrap:1280px;font-family:Manrope,Arial,Helvetica,sans-serif;color:var(--ink);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:#fff;font-size:16px;line-height:1.65}body.site-spv{--accent:#0a938f;--accent-dark:#06716e;--light:#65d1c6}body.site-roofing{--accent:#416fec;--accent-dark:#3158c3;--light:#99b8ff}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;width:100%;height:auto}svg{width:24px;height:24px;flex-shrink:0}p{margin:0 0 1.25rem;color:var(--text)}h1,h2,h3{margin:0;font-weight:500;line-height:1.08;letter-spacing:-.045em}h1{font-size:clamp(3rem,5.5vw,5.75rem)}h2{font-size:clamp(2.35rem,3.65vw,3.8rem)}h3{font-size:1.55rem;letter-spacing:-.025em}em{font-family:Georgia,'Times New Roman',serif;font-weight:400}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:6px}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:2px}.wrap{width:calc(100% - 112px);max-width:var(--wrap);margin:auto}.topbar{background:var(--ink);color:#cbd2d8;font-size:.75rem;letter-spacing:.03em}.topbar .wrap{display:flex;justify-content:space-between;align-items:center;min-height:35px}.topbar a{color:#fff}.header{position:sticky;top:0;background:rgba(255,255,255,.98);z-index:20;border-bottom:1px solid #e7e9eb}.nav-wrap{display:flex;align-items:center;justify-content:space-between;min-height:104px;gap:28px}.brand{display:inline-flex;align-items:center;gap:13px;flex-shrink:0}.brand-mark{width:44px;height:44px;color:var(--accent)}.brand-type{display:flex;flex-direction:column;font-size:1.55rem;letter-spacing:-.055em;line-height:1.1;font-weight:600}.brand-type small{font-size:.66rem;letter-spacing:.26em;font-weight:500;margin-top:7px}.spv-type>span{font-size:2.05rem;line-height:.95;letter-spacing:-.075em}.spv-type small{font-size:.62rem;letter-spacing:.2em;margin-top:5px}nav{display:flex;gap:37px;align-items:center;font-size:.9rem}nav>a:not(.button){padding:15px 0;position:relative}nav>a[aria-current]:after{content:'';height:2px;background:var(--accent);position:absolute;bottom:4px;left:0;right:0}nav>a:hover{color:var(--accent-dark)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;min-height:56px;padding:15px 24px;background:var(--accent);color:#fff;border:0;font-size:.9rem;font-weight:600;letter-spacing:.01em;transition:background .2s,transform .2s}.site-group .button{background:#ba7441}.button:hover{background:var(--accent-dark);transform:translateY(-2px)}.button svg{width:22px}.nav-cta{min-height:48px;padding:11px 20px;gap:26px}.menu-toggle{display:none}.hero{min-height:690px;position:relative;display:flex;align-items:center;background:var(--ink);color:white;overflow:hidden}.hero-photo,.hero-shade{position:absolute;inset:0}.hero-photo img{height:100%;object-fit:cover;object-position:center}.hero-shade{background:linear-gradient(90deg,rgba(8,22,33,.92),rgba(8,22,33,.67) 43%,rgba(8,22,33,.08) 100%)}.hero-content{position:relative;padding-top:78px;padding-bottom:115px}.eyebrow{display:block;font-size:.74rem;font-weight:600;letter-spacing:.18em;line-height:1.5;margin-bottom:24px;color:var(--accent-dark)}.hero .eyebrow{color:var(--light)}.hero h1{max-width:880px;line-height:1.08}.hero h1 em{color:var(--light)}.hero-content>p{color:#e2e7e9;max-width:570px;font-size:1.09rem;line-height:1.7;margin-top:27px}.hero-actions{display:flex;align-items:center;gap:35px;margin-top:34px}.text-link{display:inline-flex;align-items:center;gap:22px;font-size:.92rem;font-weight:600;line-height:1.5;min-height:44px}.text-link:hover svg{transform:translateX(4px)}.text-link svg{transition:transform .2s}.dark-link{color:var(--ink)}.hero-caption{position:absolute;bottom:26px;left:56px;right:56px;border-top:1px solid #ffffff40;display:flex;justify-content:space-between;align-items:center;padding-top:18px;font-size:.8rem;color:#e1e5e9}.hero-caption>span:first-child{letter-spacing:.14em;font-size:.65rem}.sector-strip{border-bottom:1px solid var(--line)}.sector-strip>.wrap{display:flex;gap:30px;align-items:center;justify-content:space-between;padding:27px 0;color:#4a545d;font-size:.97rem}.sector-strip span:first-child{font-size:.65rem;letter-spacing:.14em;font-weight:600;color:#73808b}.section{padding:105px 0}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:10%}.intro-section h2{max-width:520px}.intro-copy{padding-top:0}.lead{font-size:1.19rem;line-height:1.7}.intro-copy>.text-link{margin:5px 0 35px}.mini-facts{display:flex;border-top:1px solid var(--line);padding-top:25px;gap:55px}.mini-facts div{display:flex;flex-direction:column}.mini-facts strong{font-size:1.6rem;font-weight:500;letter-spacing:-.03em}.mini-facts span{font-size:.84rem;color:#66727c}.pale{background:var(--pale)}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:48px}.section-heading p{margin:0;max-width:410px}.section-heading .eyebrow{margin-bottom:17px}.division-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.division-card{padding:38px 40px;background:#fff;border-top:3px solid var(--accent);transition:transform .2s,box-shadow .2s}.division-card:hover{transform:translateY(-5px);box-shadow:0 10px 25px #101e2b0b}.division-card.division-roofing{--accent:#416fec}.division-card.division-spv{--accent:#0a938f}.division-number{font-size:.67rem;letter-spacing:.16em;color:#6a7580;display:block;margin-bottom:40px}.division-card>.brand{margin-bottom:30px}.division-card>.brand .brand-type{font-size:1.95rem}.division-card p{max-width:405px;margin-bottom:30px}.division-card .text-link{border-top:1px solid var(--line);display:flex;justify-content:space-between;padding-top:20px}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.project-photo{aspect-ratio:1.35;position:relative;background:#dae1e6;overflow:hidden}.project-photo img{height:100%;object-fit:cover;transition:transform .6s}.project-card:hover img{transform:scale(1.04)}.image-arrow{position:absolute;right:0;bottom:0;background:white;display:flex;padding:15px}.image-arrow svg{width:22px;height:22px}.project-meta{display:flex;justify-content:space-between;gap:12px;font-size:.68rem;color:#61707b;margin:21px 0 12px;line-height:1.5}.project-card h3{font-size:1.55rem;margin-bottom:14px}.project-card>p{font-size:.91rem;line-height:1.65}.approach{background:var(--ink);color:white;padding:95px 0}.approach .eyebrow{color:var(--light)}.approach h2{margin-bottom:27px}.approach p{color:#c1cbd3;max-width:360px}.approach-list{list-style:none;padding:0;margin:0}.approach-list li{display:flex;gap:35px;border-top:1px solid #fff3;padding:27px 0 10px}.approach-list li>span{font-size:.8rem;color:var(--light);padding-top:3px}.approach-list h3{font-size:1.4rem;margin-bottom:12px;letter-spacing:-.02em}.approach-list p{font-size:.94rem;max-width:440px}.cta{padding:80px 0;background:var(--accent);color:white}.site-group .cta{background:#b16d3e}.site-spv .cta{background:#087d79}.site-roofing .cta{background:#365ed1}.cta .eyebrow{color:#fff;margin-bottom:22px}.cta h2{font-size:clamp(2.8rem,4.8vw,4.6rem)}.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:55px}.cta p{color:#fff}.button.button-light{background:white;color:var(--ink)}.button-light:hover{background:#edf0f3}footer{background:#0c1722;color:white;padding:60px 0 0}footer .brand-mark{color:var(--light)}.footer-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ffffff26;padding-bottom:40px}.footer-top>p{color:#adb9c3;font-family:Georgia,serif;font-style:italic;font-size:1.3rem;margin:0}.footer-grid{display:grid;grid-template-columns:1fr .8fr 1.2fr;gap:55px;padding:45px 0}.footer-grid .eyebrow{color:#8b9ba8;font-size:.66rem;letter-spacing:.18em;margin-bottom:20px}.footer-grid p{color:#ccd3d9;font-size:.9rem;margin-bottom:13px}.footer-grid a{display:block;width:fit-content;font-size:.88rem;margin-bottom:8px;line-height:1.8}.footer-grid a:hover{color:var(--light)}.footer-group>a{display:flex;gap:24px;width:100%;justify-content:space-between;border-bottom:1px solid #ffffff26;padding-bottom:15px;margin-bottom:17px}.footer-group svg{width:18px}.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:30px;border-top:1px solid #ffffff26;padding:23px 0;color:#a6b3bd;font-size:.72rem}.footer-bottom>span{margin-right:auto;max-width:65%}.skip{position:fixed;top:-100px;left:15px;background:white;padding:15px;z-index:100;color:var(--ink)}.skip:focus{top:10px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.service-card{display:flex;flex-direction:column;background:white;padding:30px 25px;transition:background .2s}.service-card:hover{background:#f8fbfc}.service-index{font-size:.65rem;letter-spacing:.12em;margin-bottom:40px;color:var(--accent-dark)}.service-card h3{font-size:1.5rem;margin-bottom:18px;line-height:1.15;min-height:56px}.service-card p{font-size:.9rem}.service-more{font-size:.8rem;display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:25px}.page-head{padding:55px 0 75px;background:var(--pale);border-bottom:1px solid var(--line)}.breadcrumb{color:#6b7882;font-size:.78rem;display:inline-block;margin-bottom:30px}.breadcrumb:after{content:' /';margin-left:15px;color:#9eabb5}.page-head .eyebrow{margin-bottom:22px}.page-head h1{font-size:clamp(3rem,5vw,5.2rem);max-width:1000px}.page-head h1 em{color:var(--accent-dark)}.page-head p{max-width:730px;font-size:1.12rem;line-height:1.7;margin:27px 0 0}.editorial{display:grid;grid-template-columns:1.1fr 1fr;gap:8%;align-items:center}.editorial>div:first-child{height:540px}.editorial img{height:100%;object-fit:cover}.editorial h2{margin-bottom:30px}.editorial p{font-size:1rem}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:55px}.values-grid article{border-top:1px solid #bfc8ce;padding-top:24px}.values-grid article>span{color:var(--accent-dark);font-size:.85rem}.values-grid h3{margin:30px 0 18px}.expertise-row{display:grid;grid-template-columns:40px 1.1fr 1fr 30px;align-items:center;gap:40px;padding:40px 0;border-bottom:1px solid var(--line)}.expertise-row:first-child{border-top:1px solid var(--line)}.expertise-row h2{font-size:2.2rem}.expertise-row p{font-size:1rem;margin:0}.expertise-row svg{color:var(--accent-dark)}.row-number{font-size:.8rem;color:#60717b}.scope-panel{background:var(--pale);padding:40px}.scope-panel h3{margin-bottom:20px}.scope-panel ul{padding:0;list-style:none;margin:0 0 30px}.scope-panel li{border-bottom:1px solid var(--line);padding:14px 0;color:var(--text)}.two-col h2+p{margin-top:30px}details{border-bottom:1px solid #cbd3d9;padding:20px 0}details:first-child{border-top:1px solid #cbd3d9}summary{cursor:pointer;font-weight:600;list-style:none;position:relative;padding-right:32px}summary:after{content:'+';position:absolute;right:0;font-size:1.4rem;top:-5px;color:var(--accent-dark)}details[open] summary:after{content:'−'}details p{margin:16px 0 5px}summary::-webkit-details-marker{display:none}.portfolio{row-gap:48px}.case-image{padding-top:50px}.case-image img{max-height:680px;object-fit:cover}.case-body{display:grid;grid-template-columns:1fr 2fr;gap:90px}.case-body article h2{margin-bottom:28px}.case-body dl{margin:0}.case-body dl>div{border-top:1px solid var(--line);padding:20px 0}.case-body dt{font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;color:#62717b}.case-body dd{margin:10px 0 0;font-size:1.04rem}.pale h2+.project-grid{margin-top:40px}.contact-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:10%}.contact-info h2{font-size:2.8rem;margin-bottom:35px}.contact-number{display:block;font-size:1.65rem;letter-spacing:-.03em;margin-bottom:3px}.contact-email{display:block;color:var(--accent-dark);margin-bottom:36px}.address{border-top:1px solid var(--line);padding-top:27px}.address h3{font-size:1.15rem;margin-bottom:15px}.address p{font-size:.94rem}.small-text{font-size:.8rem;line-height:1.6;color:#65717b}.contact-info>.small-text{max-width:300px;margin-top:30px}.contact-form-panel{background:var(--pale);padding:40px}.contact-form-panel h2{font-size:1.85rem;margin-bottom:17px}.contact-form-panel>p{font-size:.9rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}label{display:block;font-size:.87rem;font-weight:500;margin-bottom:20px}label>span{color:var(--accent-dark)}input,textarea,select{display:block;width:100%;border:1px solid #c5cdd2;border-radius:0;background:#fff;padding:12px;color:var(--ink);margin-top:8px;min-height:48px;font-size:1rem}textarea{resize:vertical;min-height:145px}form>.small-text a{text-decoration:underline}.contact-form-panel .button{width:100%}#form-result{border-top:2px solid var(--accent);margin-top:30px;padding-top:25px}#form-result h3{font-size:1.3rem;margin-bottom:12px}#form-result p{font-size:.9rem}.copy-button{border:1px solid var(--ink);padding:10px 15px;color:var(--ink);background:transparent;min-height:44px}.email-preview{font-size:.85rem}.legal{max-width:800px}.legal h2{font-size:2rem;margin:42px 0 22px}.legal h2:first-child{margin-top:0}.legal a{text-decoration:underline}
@media(min-width:1600px){.hero-caption{left:calc((100% - 1280px)/2);right:calc((100% - 1280px)/2)}}
@media(max-width:1150px){.wrap{width:calc(100% - 64px)}.nav-wrap{gap:20px}nav{gap:24px}.hero{min-height:630px}.hero-caption{left:32px;right:32px}.hero h1{font-size:4.8rem}.service-grid{grid-template-columns:repeat(2,1fr)}.service-card h3{min-height:0}.section{padding:80px 0}.contact-layout{gap:6%}.contact-form-panel{padding:30px}.two-col{gap:7%}.expertise-row{gap:25px}.brand-type{font-size:1.4rem}.case-body{gap:50px}.hero-content>p{max-width:510px}}
@media(max-width:850px){.wrap{width:calc(100% - 48px)}.nav-wrap{min-height:85px}.brand-mark{height:38px;width:38px}.brand-type{font-size:1.35rem}.brand-type small{font-size:.57rem}.menu-toggle{display:flex;align-items:center;gap:14px;border:0;background:none;padding:12px 0 12px 12px;min-height:48px;font-size:.85rem;color:var(--ink)}.menu-lines{width:22px;height:12px;border-top:1.5px solid;border-bottom:1.5px solid;position:relative}.menu-toggle[aria-expanded=true] .menu-lines{border:0}.menu-toggle[aria-expanded=true] .menu-lines:before,.menu-toggle[aria-expanded=true] .menu-lines:after{content:'';position:absolute;top:6px;left:0;width:22px;height:1.5px;background:currentColor;transform:rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-lines:after{transform:rotate(-45deg)}nav{display:none;position:absolute;top:100%;left:0;right:0;background:white;padding:20px 24px 28px;box-shadow:0 15px 20px #10202b15;border-top:1px solid var(--line);max-height:calc(100dvh - 120px);overflow:auto}nav.open{display:flex;flex-direction:column;align-items:stretch;gap:6px}nav>a:not(.button){padding:13px 0}.nav-cta{margin-top:10px}.hero{min-height:650px}.hero h1{font-size:4.15rem}.hero-shade{background:linear-gradient(90deg,#081621dd,#08162188 70%,#08162133)}.hero-content{padding-top:70px;padding-bottom:110px}.hero-caption{left:24px;right:24px}.sector-strip>.wrap{flex-wrap:wrap;justify-content:center;gap:12px 30px;font-size:.85rem;padding:23px 0}.sector-strip span:first-child{width:100%;text-align:center}.two-col{gap:35px}.project-grid{gap:20px}.project-meta{display:block}.project-meta>span{display:block}.project-meta>span+span{margin-top:3px}.project-card h3{font-size:1.3rem}.division-card{padding:28px}.division-card>.brand .brand-type{font-size:1.65rem}.section-heading{gap:25px}.section-heading p{max-width:300px;font-size:.9rem}.cta-inner{gap:30px}.footer-grid{gap:30px}.footer-group>a{font-size:.8rem}.footer-bottom{flex-wrap:wrap;gap:8px 24px}.footer-bottom>span{max-width:none;width:100%}.editorial{gap:35px}.editorial>div:first-child{height:560px}.values-grid{gap:25px}.expertise-row{grid-template-columns:25px 1fr 30px;gap:20px}.expertise-row p{grid-column:2;grid-row:2}.expertise-row svg{grid-column:3;grid-row:1}.contact-layout{grid-template-columns:1fr}.contact-info{max-width:580px}.contact-form-panel{margin-top:50px}.contact-info>.small-text{max-width:none}.case-body{gap:35px}}
@media(max-width:600px){html{scroll-padding-top:90px}.wrap{width:calc(100% - 40px)}.topbar{font-size:.62rem}.topbar .wrap{min-height:30px;gap:10px}.topbar .wrap>span{max-width:235px}.topbar a{white-space:nowrap}.nav-wrap{min-height:80px;gap:15px}.brand{gap:9px}.brand-type{font-size:1.3rem}.brand-type small{font-size:.53rem;letter-spacing:.21em}.brand-mark{width:35px;height:35px}.spv-type>span{font-size:1.8rem}.spv-type small{font-size:.53rem}.menu-toggle{font-size:.78rem;gap:10px}.hero{min-height:660px;align-items:flex-start}.hero-photo img{object-position:65% center}.hero-shade{background:linear-gradient(90deg,#081621eb,#08162191),linear-gradient(0deg,#08162180,transparent)}.hero-content{padding-top:64px;padding-bottom:95px}.hero .eyebrow{font-size:.64rem;letter-spacing:.15em;margin-bottom:27px}.hero h1{font-size:clamp(2.8rem,9.6vw,3.8rem);line-height:1.1;letter-spacing:-.05em}.hero-content>p{font-size:1rem;line-height:1.7;max-width:390px;margin-top:25px}.hero-actions{align-items:flex-start;flex-direction:column;gap:15px;margin-top:28px}.hero-actions .button{width:100%;max-width:350px}.hero-actions .text-link{min-height:42px}.hero-caption{left:20px;right:20px;bottom:20px;padding-top:15px}.hero-caption>span:first-child{display:none}.hero-caption>span:last-child{font-size:.75rem}.sector-strip>.wrap{gap:8px 20px;font-size:.8rem}.section{padding:63px 0}.two-col,.editorial{grid-template-columns:1fr;gap:32px}h2{font-size:2.65rem;line-height:1.1}.eyebrow{font-size:.66rem;letter-spacing:.15em;margin-bottom:18px}.lead{font-size:1.1rem}.intro-copy>.text-link{margin-bottom:22px}.mini-facts{gap:40px;padding-top:20px}.mini-facts strong{font-size:1.5rem}.mini-facts span{font-size:.76rem}.section-heading{display:block;margin-bottom:32px}.section-heading p,.section-heading>.text-link{margin-top:22px;max-width:none}.division-grid{grid-template-columns:1fr;gap:20px}.division-card{padding:30px}.division-number{margin-bottom:30px}.division-card>.brand{margin-bottom:25px}.division-card>.brand .brand-type{font-size:1.8rem}.division-card p{font-size:.95rem}.project-grid{grid-template-columns:1fr;gap:34px}.project-photo{aspect-ratio:1.45}.project-meta{display:flex;justify-content:space-between;font-size:.7rem;margin-top:17px}.project-meta>span+span{margin-top:0}.project-card h3{font-size:1.6rem;margin-bottom:10px}.project-card>p{font-size:.95rem}.approach{padding:63px 0}.approach-list li{gap:25px;padding-top:24px}.approach-list h3{font-size:1.35rem}.approach-list p{max-width:none}.cta{padding:60px 0}.cta-inner{display:block}.cta h2{font-size:3.3rem}.cta-inner>div+div{margin-top:30px}.cta .button{width:100%;max-width:350px}footer{padding-top:40px}.footer-top{display:block;padding-bottom:30px}.footer-top>p{margin-top:24px;font-size:1.1rem}.footer-grid{grid-template-columns:1fr 1fr;gap:35px 20px;padding:35px 0}.footer-grid .footer-group{grid-column:1/-1}.footer-group>a{font-size:.88rem;max-width:390px}.footer-grid a{font-size:.82rem}.footer-grid p{font-size:.86rem}.footer-bottom{font-size:.7rem;padding:25px 0}.footer-bottom>span{margin-bottom:8px}.service-grid{grid-template-columns:1fr}.service-card{padding:28px}.service-index{margin-bottom:22px}.service-card h3{font-size:1.65rem}.service-card p{font-size:.97rem}.service-more{padding-top:12px;font-size:.87rem}.page-head{padding:30px 0 50px}.breadcrumb{margin-bottom:25px}.page-head h1{font-size:clamp(2.5rem,9.4vw,3.6rem)}.page-head p{font-size:1rem;margin-top:22px}.editorial>div:first-child{height:350px}.editorial h2{margin-bottom:25px}.values-grid{grid-template-columns:1fr;gap:20px;margin-top:35px}.values-grid h3{margin-top:20px}.expertise-row{padding:28px 0;gap:15px}.expertise-row h2{font-size:1.9rem}.expertise-row p{font-size:.94rem}.scope-panel{padding:30px}.scope-panel .button{font-size:.8rem;gap:15px;width:100%}.case-image{padding-top:25px}.case-image img{height:280px}.case-body{grid-template-columns:1fr;gap:30px}.case-body dl{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.case-body dl>div:last-child{grid-column:1/-1}.case-body dd{font-size:.94rem}.contact-form-panel{padding:25px 20px;margin-top:35px}.contact-info h2{font-size:2.45rem}.contact-number{font-size:1.6rem}.contact-email{font-size:.94rem;overflow-wrap:anywhere}.contact-form-panel h2{font-size:1.65rem}.form-grid{grid-template-columns:1fr;gap:0}.legal h2{font-size:1.8rem}.legal p{font-size:1rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Review 1: calibrated contrast, type scale and division art direction. */
.site-group .button,.site-group .cta{background:#9c5e34}.site-group .button:hover{background:#824a25}.site-spv .button{background:#087d79}.site-spv .button:hover{background:#066762}.site-roofing .button{background:#365ed1}.site-roofing .button:hover{background:#2b4fae}.button.button-light{background:#fff;color:var(--ink)}
.sector-strip span:first-child{color:#596b77;font-size:.75rem}.eyebrow,.hero .eyebrow,.service-index,.division-number,.hero-caption>span:first-child,.footer-grid .eyebrow{font-size:.75rem}.project-meta,.small-text,.footer-bottom{font-size:.8rem}.hero-caption{font-size:.875rem}.service-card p,.project-card>p{font-size:1rem}.hero-content>p{font-weight:400}h1,h2{font-weight:500}.brand-type{font-weight:650}.footer-grid a{font-size:.9rem}
.site-roofing .hero-photo{left:51%}.site-roofing .hero-photo img{object-position:57% center}.site-roofing .hero-shade{background:linear-gradient(90deg,#101e2b 45%,#101e2b20 63%,transparent)}.site-roofing .hero h1{max-width:850px}.site-roofing .hero-content>p{max-width:485px}.site-spv .hero-photo img{object-position:60% 50%}.site-spv .hero-shade{background:linear-gradient(90deg,#06282bed,#06282b96 48%,#06282b15)}
@media(min-width:851px){.site-roofing .hero h1{font-size:clamp(3.5rem,5vw,5rem)}}
@media(max-width:850px){.site-roofing .hero-photo{left:0}.site-roofing .hero-shade{background:linear-gradient(90deg,#101e2bef,#101e2b99 70%,#101e2b55)}.eyebrow,.hero .eyebrow{font-size:.75rem}.footer-grid a{font-size:.875rem}.hero h1{font-size:clamp(2.6rem,9.4vw,4.2rem)}}
@media(max-width:600px){.hero .eyebrow{letter-spacing:.11em}.hero{min-height:690px}.hero-caption>span:last-child{font-size:.8rem}.project-meta{font-size:.75rem}.hero-content>p{max-width:370px}.footer-bottom{font-size:.75rem}.site-spv .hero-photo img{object-position:74% center}}

/* Review 3: enlarged-text reflow, contact context and breadcrumb contrast. */
.breadcrumb{color:#52636e}.two-col>*,.editorial>*,.footer-grid>*,.case-body>*,.division-grid>*,.project-grid>*,.contact-layout>*{min-width:0}h1,h2,h3,p,a,span{overflow-wrap:break-word}.approach-list li>div{min-width:0}.footer-grid a{max-width:100%;overflow-wrap:anywhere}.footer-group>a{max-width:100%}.project-context{padding:12px 15px;background:#e3e9ed;color:var(--ink);border-left:3px solid var(--accent);font-size:.9rem}.mini-facts{flex-wrap:wrap;gap:20px 40px}.project-meta{flex-wrap:wrap;row-gap:2px}.topbar{font-size:.75rem}.topbar .wrap{gap:15px}.topbar span{min-width:0}.button{max-width:100%}.button svg{flex-shrink:0}
@media(max-width:850px){.nav-wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;padding-top:15px;padding-bottom:15px}.nav-wrap>.brand{min-width:0;max-width:100%;flex-shrink:1;justify-self:start}.nav-wrap .brand-type{min-width:0}.menu-toggle{flex-shrink:0}.footer-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.two-col,.editorial{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media(max-width:600px){.topbar .wrap{padding:6px 0}.topbar .wrap>span{max-width:none}.topbar{font-size:.75rem}.topbar a{font-size:.75rem}.two-col,.editorial{grid-template-columns:minmax(0,1fr)}.hero-caption{position:relative;bottom:auto;left:auto;right:auto;margin:0 20px 20px;width:calc(100% - 40px)}.hero{display:block}.hero-content{padding-bottom:38px}.hero-caption>span:last-child{max-width:100%}.hero-content>p{max-width:100%}.hero h1{overflow-wrap:anywhere}.approach h2{overflow-wrap:anywhere}.cta h2{overflow-wrap:anywhere}.division-card>.brand{max-width:100%;min-width:0}.division-card .brand-type{min-width:0}.footer-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr))}.footer-grid .footer-group{grid-column:1/-1}.service-card,.scope-panel{min-width:0}.text-link{max-width:100%;gap:15px}.expertise-row{grid-template-columns:20px minmax(0,1fr) 24px}.case-body dl{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Review 4: resilient navigation, clear project layouts and useful print output. */
.related-projects:has(>.project-card:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}.no-js .menu-toggle{display:none}
@media(max-width:850px){.no-js #navigation{display:flex;position:static;grid-column:1/-1;flex-wrap:wrap;flex-direction:row;justify-content:space-between;gap:12px;padding:12px 0 0;box-shadow:none;max-height:none}.no-js #navigation .nav-cta{margin:0}.no-js .nav-wrap{grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){.related-projects:has(>.project-card:nth-child(2):last-child){grid-template-columns:minmax(0,1fr)}}
@media print{.topbar,.header nav,.menu-toggle,.hero-actions,.cta,footer,.skip,.contact-form-panel{display:none!important}.header{position:static}.wrap{width:100%;max-width:none}.hero{min-height:auto;background:#fff;color:#101e2b}.hero-photo,.hero-shade,.hero-caption{display:none}.hero-content{padding:30px 0}.hero-content p,.hero h1 em{color:#101e2b}.section,.approach{padding:30px 0;break-inside:avoid}.page-head{padding:20px 0;background:#fff}.case-image img{max-height:350px}.project-card{break-inside:avoid}.button{display:none}.approach{background:#fff;color:#101e2b}.approach p{color:#45515b}}
/* Final enlarged-text audit: allow long service names to reflow in case facts. */
.case-body dd,.case-body dt{overflow-wrap:anywhere}

/* Contact form delivery feedback. */
.contact-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
#enquiry-form button:disabled{opacity:.65;cursor:default}
#form-result.form-error{border-color:#973e2e;background:#fff5f2}
#form-result h3{margin:0 0 10px}
#form-result p{margin:0;overflow-wrap:anywhere}
