:root{--font-body:'Satoshi',Arial,sans-serif;--font-display:'General Sans',Arial,sans-serif;--text-xs:.75rem;--text-sm:.875rem;--text-base:clamp(1rem,.95rem + .2vw,1.125rem);--text-lg:clamp(1.25rem,1.1rem + .5vw,1.5rem);--text-heading:clamp(2rem,1.25rem + 2.5vw,3.5rem);--text-hero:clamp(3.4rem,1.65rem + 4.6vw,6.4rem);--ink:#232629;--muted:#62686b;--bg:#fff;--surface:#f3f4f2;--line:#dce0df;--yellow:#f5d547;--orange:#cf5025;--blue:#087b9d;--dark:#202326;--ease:220ms cubic-bezier(.16,1,.3,1)}
[data-theme=dark]{--ink:#f3f3ed;--muted:#b9bfbe;--bg:#202326;--surface:#2b3032;--line:#484e50}
body{font-family:var(--font-body);font-size:var(--text-base);line-height:1.6;color:var(--ink);background:var(--bg)}a{text-decoration:none}button{border:0}h1,h2,h3{font-family:var(--font-display);font-weight:500;line-height:1.12;letter-spacing:-.035em}h2{font-size:var(--text-heading)}h3{font-size:var(--text-lg);letter-spacing:-.025em}.wrap{width:min(1280px,calc(100% - 112px));margin-inline:auto}.utility{background:var(--dark);color:#f1f1ec;font-size:var(--text-xs)}.utility .wrap{display:flex;justify-content:space-between;align-items:center;min-height:38px}.utility .wrap>span{letter-spacing:.12em}.utility a{display:flex;align-items:center;gap:24px;min-height:38px}.utility-phone{color:#d1d5d4}.header{background:var(--bg);position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}.header-inner{height:98px;display:flex;align-items:center;justify-content:space-between;gap:36px}.brand{display:block;width:230px;flex-shrink:0}.brand img{width:100%;height:auto}.header nav{display:flex;align-items:center;gap:34px;font-size:var(--text-sm);font-weight:500}.header nav>a{padding-block:14px;transition:color var(--ease)}.header nav>a:not(.nav-cta):hover{color:var(--blue)}.header .nav-cta{background:var(--dark);color:#fff;padding:15px 22px;display:flex;gap:28px}.header .nav-cta:hover{background:var(--blue)}.menu-button{display:none}.hero{position:relative;background:var(--dark);color:#fff;min-height:670px;overflow:hidden}.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-image{object-position:center 48%}.hero-shade{background:linear-gradient(90deg,rgba(15,24,29,.89),rgba(15,24,29,.54) 47%,rgba(15,24,29,.04) 100%)}.hero-content{position:relative;padding-top:75px;padding-bottom:28px}.eyebrow{font-size:var(--text-xs);font-weight:700;letter-spacing:.15em;line-height:1.5}.eyebrow.light{color:#e6e8e3}.hero .eyebrow{display:flex;align-items:center;gap:18px;margin-bottom:27px}.short-rule{width:34px;height:3px;background:var(--yellow)}h1{font-size:var(--text-hero);line-height:1.05;letter-spacing:-.045em;max-width:900px}.hero-description{font-size:var(--text-base);max-width:450px;color:#e3e7e6;margin-top:26px;line-height:1.7}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;padding:17px 25px;min-height:56px;font-size:var(--text-sm);font-weight:700;transition:background var(--ease),gap var(--ease)}.button.yellow{background:var(--yellow);color:#222628}.button:hover{gap:44px}.button.yellow:hover{background:#ffe36b}.hero .button{margin-top:30px}.hero-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:65px;border-top:1px solid #ffffff3a;padding-top:23px;font-size:var(--text-sm);color:#dde2df}.hero-bottom>a{font-size:var(--text-xs);letter-spacing:.11em;display:flex;gap:36px;align-items:center}.hero-bottom>a span{font-size:25px}.brand-ribbon{display:flex;height:5px;width:100%;position:absolute;bottom:0;left:0}.brand-ribbon span{flex:1;background:var(--yellow)}.brand-ribbon span:nth-child(2){background:var(--orange)}.brand-ribbon span:nth-child(3){background:var(--blue)}.promise-strip{background:var(--surface);border-bottom:1px solid var(--line)}.promises{display:grid;grid-template-columns:repeat(3,1fr);padding-block:28px}.promises p{font-size:var(--text-sm);display:flex;align-items:center;gap:22px;padding-inline:36px;border-left:1px solid var(--line)}.promises p:first-child{border:0;padding-left:0}.promises p span{color:var(--muted);font-size:var(--text-xs)}.section{padding-block:102px}.section-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:35px}.section-number{font-size:var(--text-xs);letter-spacing:.08em;color:var(--muted)}.section-intro{display:grid;grid-template-columns:1.15fr 1fr;gap:90px;align-items:end;margin-bottom:52px}.section-intro>p{color:var(--muted);max-width:460px;padding-bottom:3px}.service-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:52px}.service{border-top:1px solid var(--line)}.service:nth-last-child(-n+2){border-bottom:1px solid var(--line)}.service summary{display:flex;gap:22px;padding:28px 0;align-items:flex-start;min-height:134px}.service-index{font-size:var(--text-xs);color:var(--muted);padding-top:5px}.service summary>div{flex:1}.service h3{font-size:clamp(1.2rem,1rem + .5vw,1.4rem);letter-spacing:-.025em;margin-bottom:9px}.service summary p{font-size:var(--text-sm);color:var(--muted);max-width:320px}.expand{font-size:28px;line-height:1;transition:transform var(--ease);font-weight:400}.service[open] .expand{transform:rotate(45deg)}.service summary:hover h3{color:var(--blue)}.service-content{padding:0 25px 30px 37px;font-size:var(--text-sm);color:var(--muted)}.service-content ul{padding-left:20px;margin-block:18px}.service-content li{margin-bottom:8px}.service-content a{color:var(--ink);display:inline-flex;gap:24px;padding-block:10px;border-bottom:1px solid var(--ink);font-weight:700}.about{display:grid;grid-template-columns:1fr 1fr;background:var(--surface)}.about-image{position:relative;min-height:650px}.about-image img{position:absolute;width:100%;height:100%;object-fit:cover}.image-caption{position:absolute;bottom:0;padding:22px 34px;background:#202326df;color:#fff;font-size:var(--text-xs);letter-spacing:.08em;width:100%}.about-copy{padding:76px clamp(40px,6vw,105px)}.about-copy h2{margin:28px 0}.about-copy>p:not(.eyebrow){color:var(--muted);font-size:var(--text-base);margin-bottom:20px}.about-principles{margin-block:30px 22px}.about-principles p{padding-block:12px;border-top:1px solid var(--line);font-size:var(--text-sm);color:var(--muted)}.about-principles span{color:var(--ink);font-weight:700;margin-right:6px}.text-link{font-size:var(--text-sm);font-weight:700;display:inline-flex;gap:48px;border-bottom:1px solid currentColor;padding-block:12px}.text-link:hover{color:var(--blue)}.sector-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px}.sector-tabs{display:flex;flex-direction:column}.sector-tabs button{display:flex;text-align:left;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);background:none;color:var(--muted);font-size:var(--text-base);padding:21px 0;min-height:66px}.sector-tabs button:first-child{border-top:1px solid var(--line)}.sector-tabs button span{color:var(--muted);opacity:0}.sector-tabs button[aria-selected=true]{color:var(--ink);font-weight:700}.sector-tabs button[aria-selected=true] span{opacity:1;color:var(--blue)}.sector-tabs button:hover{color:var(--ink)}.sector-panel{background:var(--surface);padding:42px;position:relative;overflow:hidden;min-height:408px}.panel-label{font-size:var(--text-xs);font-weight:700;letter-spacing:.13em;color:var(--muted)}.sector-panel h3{font-size:clamp(1.65rem,1.3rem + 1vw,2.3rem);margin:28px 0 20px}.sector-panel>p{max-width:490px;color:var(--muted);font-size:var(--text-base)}.sector-panel ul{padding-left:19px;margin-block:24px;font-size:var(--text-sm);color:var(--muted)}.sector-panel li{margin-bottom:8px}.sector-panel .text-link{position:relative;z-index:1}.panel-number{position:absolute;bottom:-25px;right:26px;font-size:145px;line-height:1;color:var(--ink);opacity:.05;font-weight:700}.approach-band{background:var(--dark);color:#fff}.approach-inner{display:grid;grid-template-columns:1fr 1fr;column-gap:100px;padding-block:65px}.approach-inner .eyebrow{grid-column:1/-1;margin-bottom:25px}.approach-inner h2{grid-row:2/4}.approach-inner>p:not(.eyebrow){color:#c5cbca;max-width:450px}.button.outline{border:1px solid #6d7475;background:none;color:#fff;justify-self:start;margin-top:26px}.button.outline:hover{background:#353b3d}.contact{display:grid;grid-template-columns:1fr 1fr;gap:100px;padding-block:112px}.contact h2{font-size:clamp(2.9rem,2rem + 3vw,5rem);margin:25px 0}.contact-main>p:not(.eyebrow){color:var(--muted)}.contact .button{margin-top:30px}.contact-number{display:block;font-size:var(--text-lg);font-weight:500;margin-top:24px}.contact-main .contact-note{font-size:var(--text-xs);margin-top:10px}.questions>h3{margin-bottom:22px}.questions details{border-bottom:1px solid var(--line)}.questions summary{display:flex;justify-content:space-between;align-items:center;gap:30px;font-size:var(--text-sm);font-weight:700;padding-block:24px}.questions summary span{font-size:24px;font-weight:400}.questions details[open] summary span{transform:rotate(45deg)}.questions details p{padding:0 24px 24px 0;color:var(--muted);font-size:var(--text-sm)}.footer{background:var(--surface);position:relative}.footer .brand-ribbon{top:0;bottom:auto;height:4px}.footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:50px;padding-block:60px}.footer-top .brand{width:230px}.footer-top p:not(.footer-label){margin-top:20px;font-size:var(--text-sm);color:var(--muted)}.footer-label{font-size:var(--text-xs);letter-spacing:.12em;font-weight:700;margin-bottom:17px}.footer-top>div>a:not(.brand){display:block;font-size:var(--text-sm);padding-block:6px;min-height:35px}.footer a:hover{text-decoration:underline}.footer-bottom{border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding-block:20px;font-size:var(--text-xs);color:var(--muted);gap:20px}.footer-bottom>div{display:flex;gap:25px;align-items:center}.footer-bottom button{background:none;padding:12px 0;font-size:var(--text-xs);min-height:44px}.footer-bottom a{padding-block:12px}dialog{border:1px solid var(--line);background:var(--bg);color:var(--ink);width:min(580px,calc(100% - 32px));padding:35px}dialog::backdrop{background:#101518b8;backdrop-filter:blur(5px)}.dialog-head{display:flex;align-items:center;justify-content:space-between}.dialog-head button{background:var(--surface);width:44px;height:44px;font-size:28px}dialog h2{margin:22px 0}dialog>p{margin-bottom:18px;font-size:var(--text-sm);color:var(--muted)}dialog a{text-decoration:underline}[data-theme=dark] .brand img{filter:brightness(0) invert(1)}[data-theme=dark] .nav-cta{background:var(--yellow);color:var(--dark)}
[data-theme=dark] .brand img{content:url("./assets/matrix-logo-dark.png");filter:none}
.service-content h4{font-size:var(--text-sm);font-weight:700;color:var(--ink);margin:24px 0 12px}.service-links,.feature-links{display:flex;flex-wrap:wrap;gap:12px 28px}.service-links{margin-top:16px}.residential-feature{display:grid;grid-template-columns:1fr 1.2fr;gap:65px;padding:40px;margin-top:48px;background:var(--surface)}.residential-feature h3{font-size:clamp(1.7rem,1.2rem + 1vw,2.2rem);margin-top:16px}.residential-feature>div>p:not(.eyebrow){color:var(--muted);font-size:var(--text-base)}.feature-links{margin-top:17px}.feature-links .text-link{gap:24px}.hub-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:90px}.hub-intro>p{color:var(--muted);margin-top:25px;max-width:420px}.hub-intro .hub-note{font-size:var(--text-sm);max-width:370px;margin-top:28px}.hub-row{display:flex;gap:25px;border-top:1px solid var(--line);padding:28px 0}.hub-row:last-child{border-bottom:1px solid var(--line)}.hub-row>div{flex:1}.hub-row p{font-size:var(--text-sm);color:var(--muted);margin-top:10px}.hub-row .text-link{margin-top:12px;gap:25px}.client-hubs{border-bottom:1px solid var(--line)}
@media(min-width:801px) and (max-width:1050px){.header nav{gap:14px!important;font-size:12px}.header-inner{gap:20px}.header .brand{width:175px!important}}
@media(max-width:800px){.residential-feature,.hub-layout{grid-template-columns:1fr;gap:28px}.residential-feature{padding:28px;margin-top:32px}.hub-intro>p,.hub-intro .hub-note{max-width:100%}.hub-row .service-index{display:block}.hub-row{gap:18px}}
.contact-main{min-width:0}.contact-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px 28px;margin-top:30px}.contact-actions .button{margin-top:0!important}.contact-actions .text-link{gap:22px}.contact-details{margin:32px 0 0}.contact-details>div{display:grid;grid-template-columns:90px minmax(0,1fr);gap:18px;border-top:1px solid var(--line);padding-block:17px}.contact-details dt{font-size:var(--text-xs);font-weight:700;color:var(--muted);padding-top:4px}.contact-details dd{margin:0;font-size:var(--text-base)}.contact-details a{display:inline-block;padding-block:4px;overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:5px;text-decoration-color:var(--line)}.contact-details a:hover{text-decoration-color:currentColor}.contact-details address,.footer-address{font-style:normal}.footer-address{font-size:var(--text-sm);color:var(--muted);margin-top:18px}
@media(max-width:480px){.contact-details>div{grid-template-columns:76px minmax(0,1fr);gap:12px}}
.enquiry-panel{min-width:0;background:var(--surface);padding:32px}.enquiry-panel h3{font-size:clamp(1.65rem,2vw,2rem);margin:16px 0}.form-help,.field-help{font-size:var(--text-xs);color:var(--muted);line-height:1.6}.form-help{margin:16px 0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:24px}.form-field{min-width:0}.form-field.full{grid-column:1/-1}.form-field label,.enquiry-preview>label{display:block;font-size:var(--text-sm);font-weight:700;margin-bottom:7px}.form-field label span{font-weight:400;color:var(--muted);font-size:var(--text-xs)}.form-field input,.form-field select,.form-field textarea,.enquiry-preview textarea{display:block;width:100%;min-width:0;min-height:48px;border:1px solid var(--line);border-radius:0;background:var(--bg);color:var(--ink);padding:11px 12px;font-size:16px}.form-field textarea,.enquiry-preview textarea{resize:vertical}.form-field input:focus-visible,.form-field select:focus-visible,.form-field textarea:focus-visible,.enquiry-preview textarea:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.field-help{margin-top:9px}.inline-privacy{background:none;padding:0;text-decoration:underline;text-underline-offset:3px;color:var(--ink);font-size:inherit}.enquiry-panel .button{margin-top:12px;max-width:100%;gap:20px}.enquiry-preview{border-top:1px solid var(--line);margin-top:28px;padding-top:24px}.enquiry-preview[hidden]{display:none}.enquiry-preview h4{font-size:var(--text-base);line-height:1.4;margin:0 0 12px}.enquiry-preview>p{font-size:var(--text-sm);color:var(--muted)}.enquiry-preview>label{margin-top:22px}.contact-questions{grid-column:1/-1}.contact-questions details{max-width:900px}
@media(max-width:1100px){.form-grid{grid-template-columns:1fr}}
@media(max-width:480px){.enquiry-panel{padding:24px 18px}}
@media(min-width:1600px){.hero{min-height:740px}.hero-content{padding-top:100px}.hero-bottom{margin-top:90px}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.header nav{gap:22px}.header .brand{width:195px}.header .nav-cta{padding:13px 16px;gap:14px}.section-intro{gap:45px}.about-copy{padding:50px 40px}.sector-layout{gap:40px}.contact{gap:50px}.service-grid{column-gap:35px}.promises p{padding-inline:22px;gap:16px}}
@media(max-width:800px){html{scroll-padding-top:86px}.wrap{width:calc(100% - 40px)}.utility .wrap{min-height:34px}.utility-phone{display:none}.utility .wrap>span{font-size:10px;letter-spacing:.1em}.header-inner{height:78px}.header .brand{width:195px}.menu-button{display:flex;width:44px;height:44px;flex-direction:column;justify-content:center;gap:7px;padding:10px;background:var(--surface)}.menu-button span{height:1px;background:var(--ink);width:24px;transition:transform var(--ease)}.menu-button[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-button[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.header nav{display:none;position:absolute;top:78px;left:0;right:0;background:var(--bg);padding:20px;box-shadow:0 16px 18px #00000015;border-bottom:1px solid var(--line)}.header nav.open{display:flex;align-items:stretch;flex-direction:column;gap:5px}.header nav>a{padding:15px}.hero{min-height:630px}.hero-content{padding-top:62px}.hero-shade{background:linear-gradient(90deg,#101b22e6,#101b2299 65%,#101b2266)}.hero-image{object-position:60% center}.hero .eyebrow{font-size:10px;gap:12px;margin-bottom:25px}.hero-description{max-width:380px}.hero-bottom{margin-top:52px;font-size:var(--text-xs);padding-top:20px}.hero-bottom>a{font-size:10px;gap:14px}.hero-bottom>a span{font-size:20px}.promises{padding-block:22px;gap:18px}.promises p{font-size:var(--text-xs);display:block;padding:0 0 0 15px}.promises p span{display:block;margin-bottom:5px}.section{padding-block:66px}.section-top{margin-bottom:24px}.section-number{display:none}.section-intro{grid-template-columns:1fr;gap:24px;margin-bottom:36px}.section-intro>p{max-width:600px}.service-grid{column-gap:28px}.service summary{gap:12px}.service-index{display:none}.service summary p{font-size:var(--text-xs)}.service-content{padding-left:0}.about{grid-template-columns:1fr}.about-image{min-height:400px}.about-copy{padding:52px 32px}.sector-layout{gap:25px;grid-template-columns:1fr}.sector-tabs{display:grid;grid-template-columns:1fr 1fr;column-gap:24px}.sector-tabs button{font-size:var(--text-sm);padding:17px 0}.sector-tabs button:nth-child(2){border-top:1px solid var(--line)}.sector-tabs button span{opacity:1;font-size:20px}.sector-panel{min-height:370px;padding:32px}.approach-inner{grid-template-columns:1fr;gap:22px;padding-block:50px}.approach-inner .eyebrow{margin:0}.approach-inner h2{grid-row:auto}.approach-inner>p:not(.eyebrow){max-width:580px}.approach-inner .button{margin-top:5px}.contact{grid-template-columns:1fr;gap:52px}.footer-top{grid-template-columns:1fr 1fr;gap:35px;padding-block:45px}.footer-top>div:first-child{grid-column:1/-1}.footer-bottom{flex-direction:column;align-items:flex-start;gap:4px}.footer-bottom>div{flex-wrap:wrap;gap:18px}}
@media(max-width:480px){h1{font-size:clamp(2.75rem,11.3vw,3.45rem)}.hero{min-height:615px}.hero-content{padding-top:54px}.hero-description{font-size:var(--text-base);margin-top:24px;max-width:340px}.hero-bottom{margin-top:50px}.hero-bottom>a{font-size:0;gap:0}.hero-bottom>a span{font-size:25px}.hero .eyebrow{font-size:10px;letter-spacing:.1em}.short-rule{width:25px}.service-grid{grid-template-columns:1fr}.service summary{min-height:112px;align-items:center}.service-index{display:block;padding:0;min-width:18px}.service summary p{font-size:var(--text-sm)}.service:nth-last-child(2){border-bottom:0}.service-content{padding-left:30px}.about-image{min-height:330px}.about-copy{padding:45px 20px}.image-caption{font-size:10px;padding:18px 20px}.sector-tabs{display:flex;gap:0}.sector-tabs button:nth-child(2){border-top:0}.sector-panel{padding:28px 24px}.sector-panel h3{font-size:1.8rem}.footer-top{grid-template-columns:1fr;gap:30px}.footer-top>div:first-child{grid-column:auto}.footer-bottom>div{gap:15px}.promises p{line-height:1.45}.promises{gap:10px}.utility .wrap>span{font-size:10px}.questions summary{padding-block:22px}.contact-main .button{margin-top:25px}}
@media(max-width:800px){.utility .wrap>span,.hero .eyebrow,.image-caption{font-size:var(--text-xs)}.utility .wrap>span{letter-spacing:.025em}.utility a{gap:15px}.hero .eyebrow{letter-spacing:.075em}.hero-bottom>a{min-width:44px;min-height:44px;justify-content:center}.footer-top>div>a:not(.brand){min-height:44px}}
