@import url('fonts.css');
:root{--paper:#f4f2ed;--ink:#242422;--red:#bd3933;--stone:#b9b1a5;--muted:#69665f;--line:#d5d0c7;--font:'Plus Jakarta Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.7 var(--font)}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}button,a,summary{touch-action:manipulation}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--red);outline-offset:6px}input:focus-visible,textarea:focus-visible{outline:2px solid var(--red);outline-offset:3px}button{color:inherit}h1,h2,h3,p{margin-top:0}.masthead,.cover-heading,.system-caption,.intro-section,.service-index,.people-section,.practical,.contact-section,footer{margin-inline:4vw}.masthead{display:flex;align-items:center;gap:40px;height:110px;border-bottom:1px solid var(--line)}.identity{display:flex;align-items:center;gap:10px;line-height:1}.identity>span{font-size:27px;letter-spacing:-1.5px;font-weight:400}.identity b{font-weight:800}.identity i{color:var(--red);font-style:normal}.identity small{display:block;letter-spacing:4px;font-size:11px;font-weight:600;padding-top:7px;padding-left:2px}.brand-description{font-size:14px;line-height:1.6;color:var(--muted);padding-left:30px;border-left:1px solid var(--line)}.masthead nav{display:flex;margin-left:auto;gap:32px;align-items:center;font-size:16px}.masthead nav a:hover{color:var(--red)}.masthead nav button{background:var(--red);color:var(--paper);border:0;padding:12px 20px;font-size:16px;min-width:130px;display:flex;justify-content:space-between;gap:20px}.mobile-menu{display:none}.cover-heading{display:grid;grid-template-columns:1.6fr 1fr;gap:40px;padding:58px 0 45px;align-items:end}.cover-heading h1{font-size:clamp(60px,7.6vw,116px);font-weight:500;letter-spacing:-6px;line-height:1.05;margin:0}.cover-heading h1 span{color:var(--red)}.cover-aside{justify-self:end;max-width:310px;padding-bottom:9px}.cover-aside p{font-size:18px;line-height:1.9;margin-bottom:24px}.link-button{font-size:16px;font-weight:600;display:inline-flex;align-items:center;justify-content:space-between;gap:30px;background:none;border:0;border-bottom:1px solid var(--ink);padding:0 0 8px;text-align:left;line-height:1.4}.link-button span{font-size:18px;font-weight:400}.link-button:hover{color:var(--red);border-color:var(--red)}.home-photo{position:relative;height:clamp(410px,43vw,690px);margin:0 20px;overflow:hidden;background:#635e50}.home-photo>img{width:100%;height:100%;object-fit:cover;object-position:center 54%;display:block}.photo-vignette{position:absolute;inset:0;background:linear-gradient(180deg,#0002,transparent 40%,#0005)}.photo-caption{position:absolute;left:calc(4vw - 20px);top:28px;color:white;font:13px/1.5 var(--font);letter-spacing:1.8px}.photo-credit{position:absolute;right:calc(4vw - 20px);bottom:23px;font-size:12px;color:#fff9}.photo-word{position:absolute;left:calc(4vw - 20px);bottom:-13px;color:var(--paper);font-size:clamp(90px,11vw,170px);line-height:1;font-weight:600;letter-spacing:-9px;pointer-events:none;opacity:.93}.hotspot{position:absolute;display:flex;align-items:center;gap:10px;background:transparent;border:0;color:white;padding:10px}.hotspot>span{width:35px;height:35px;display:grid;place-items:center;font-size:22px;line-height:1;border:1px solid #fff9;background:#24242259;border-radius:50%;backdrop-filter:blur(8px);transition:background .2s,transform .2s}.hotspot em{font-style:normal;font-size:14px;text-shadow:0 1px 5px black;letter-spacing:.3px}.hotspot:hover>span,.hotspot.selected>span{background:var(--red);border-color:var(--red);transform:scale(1.08)}.hotspot.selected>span{box-shadow:0 0 0 7px #bd39332e}.hotspot:focus-visible{outline-color:white;outline-offset:3px}.hotspot.security{right:5%;top:8%}.hotspot.network{left:49%;top:55%}.hotspot.lighting{right:15%;top:25%}.system-caption{display:grid;grid-template-columns:1fr 2fr auto;align-items:center;gap:40px;padding:24px 0;border-bottom:1px solid var(--line);min-height:105px}.caption-label{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600;letter-spacing:1px}.status-dot{width:6px;height:6px;background:var(--red);border-radius:50%;flex-shrink:0}.system-caption p{font-size:16px;max-width:570px;color:var(--muted);margin:0;line-height:1.8}.system-caption .link-button{font-size:14px;gap:20px;white-space:nowrap}.section-label{font-size:13px;letter-spacing:1.7px;font-weight:500;line-height:1.6}.intro-section{display:grid;grid-template-columns:1fr 2fr;gap:35px 50px;padding:100px 0 60px}.intro-section .section-label{grid-column:1;grid-row:1/3;padding-top:11px}.intro-section h2{grid-column:2;font-size:clamp(37px,4vw,62px);line-height:1.2;letter-spacing:-2.8px;font-weight:500;margin:0}.intro-section h2 span{color:var(--red)}.intro-section>p{grid-column:2;max-width:535px;font-size:18px;color:var(--muted);margin:0}.service-row{display:grid;grid-template-columns:1fr 2fr 60px;gap:50px;padding:37px 0 35px;border-top:1px solid var(--line);align-items:start}.service-kind{font-size:13px;letter-spacing:1.1px;padding-top:10px;color:var(--muted)}.service-content h3{font-size:37px;letter-spacing:-1.6px;line-height:1.2;font-weight:500;margin-bottom:17px}.service-content>p{max-width:550px;color:var(--muted);font-size:16px;line-height:1.9;margin-bottom:20px}.service-items{display:flex;gap:0;flex-wrap:wrap;font-size:13px;font-weight:500}.service-items span+span:before{content:'/';margin:0 14px;color:var(--stone)}.round-link{width:48px;height:48px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:none;font-size:23px;transition:background .2s,color .2s}.round-link:hover{background:var(--red);border-color:var(--red);color:white}.installation{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:var(--red);color:var(--paper);margin-top:85px;min-height:650px}.installation-note{padding:64px 7vw 65px 4vw}.installation-note>.section-label{display:block;margin-bottom:35px;font-size:12px;letter-spacing:1.3px}.installation-note h2{font-size:clamp(40px,4.2vw,66px);font-weight:500;line-height:1.12;letter-spacing:-2.7px;margin-bottom:28px}.installation-note h2 span{color:#f1d0c7}.installation-note>p{font-size:16px;line-height:1.9;max-width:360px;color:#f5e0d9;margin-bottom:30px}.white-link{display:flex;gap:30px;align-items:center;background:none;border:0;border-bottom:1px solid #f4f2ed99;padding:0 0 9px;color:var(--paper);font-size:15px}.white-link span{font-size:20px}.white-link:hover{border-color:white}.installation-photo{position:relative;overflow:hidden}.installation-photo>img{width:100%;height:100%;object-fit:cover;display:block}.installation-photo:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#0008)}.photo-note{position:absolute;bottom:45px;left:45px;z-index:1}.photo-note span{font-size:12px;letter-spacing:1.5px}.photo-note p{margin:14px 0 0;font-size:28px;line-height:1.3;letter-spacing:-1px}.people-section{padding:100px 0;border-bottom:1px solid var(--line)}.people-section>.section-label{margin-bottom:40px}.people-main{display:grid;grid-template-columns:1.4fr 1fr;gap:100px;align-items:end}.people-main h2{font-size:clamp(40px,4.8vw,72px);font-weight:500;letter-spacing:-3px;line-height:1.15;margin:0}.people-main h2 span{color:var(--red)}.people-copy{max-width:430px}.people-copy>p{font-size:17px;line-height:1.9;color:var(--muted);margin-bottom:22px}.people-copy>.link-button{margin-top:8px;font-size:15px}.practical{display:grid;grid-template-columns:1fr 1.6fr;gap:80px;padding:70px 0 90px}.practical h2{font-size:26px;letter-spacing:-1px;font-weight:500}.questions details{border-bottom:1px solid var(--line);padding:20px 0}.questions details:first-child{padding-top:0}.questions summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:17px;cursor:pointer}.questions summary::-webkit-details-marker{display:none}.questions summary span{font-size:20px;color:var(--red)}.questions details[open] summary span{transform:rotate(45deg)}.questions details p{font-size:16px;color:var(--muted);line-height:1.9;padding-right:40px;margin:17px 0 2px}.contact-section{border-top:1px solid var(--ink);padding:40px 0 75px}.contact-heading{display:flex;align-items:center;justify-content:space-between;margin:25px 0 40px}.contact-heading h2{font-size:clamp(60px,7.8vw,116px);font-weight:500;letter-spacing:-5px;line-height:1.08;margin:0}.contact-heading h2 span{color:var(--red)}.contact-arrow{background:var(--red);border:0;color:var(--paper);width:120px;height:120px;border-radius:50%;font-size:65px;font-weight:400;line-height:1;margin-right:5vw;transition:transform .2s}.contact-arrow:hover{transform:rotate(45deg)}.contact-bottom{display:flex;justify-content:space-between;gap:35px;align-items:end}.contact-bottom>p{font-size:17px;color:var(--muted);margin:0}.contact-bottom>div{display:flex;align-items:flex-start;flex-direction:column;gap:10px;min-width:30%}.contact-bottom>div>a{font-size:24px;letter-spacing:-1px}.contact-bottom small{font-size:13px;color:var(--muted)}footer{padding:25px 0 23px;border-top:1px solid var(--line)}.footer-word{font-size:clamp(55px,12.3vw,185px);line-height:1.2;letter-spacing:-.065em;white-space:nowrap;font-weight:400;padding-bottom:35px}.footer-word b{font-weight:800}.footer-word>span{font-size:.55em;color:var(--red);letter-spacing:-.05em}.footer-nav{display:flex;justify-content:space-between;gap:25px;font-size:14px;border-top:1px solid var(--line);padding-top:22px}.footer-nav>div{display:flex;gap:30px}.footer-nav a:hover{color:var(--red)}.review-note{font-size:12px;color:var(--muted);margin:18px 0 0;line-height:1.8}.skip{position:fixed;top:-100px;left:20px;padding:15px;background:var(--ink);color:white;z-index:100}.skip:focus{top:15px}dialog{width:calc(100% - 40px);max-width:650px;max-height:90vh;overflow:auto;background:var(--paper);color:var(--ink);border:0;padding:42px;border-radius:0;box-shadow:0 20px 100px #0004}dialog::backdrop{background:#242422bb;backdrop-filter:blur(5px)}dialog .section-label{margin-bottom:25px}dialog h2{font-size:39px;letter-spacing:-2px;font-weight:500;line-height:1.15;margin-bottom:22px}dialog>p:not(.section-label){font-size:17px;color:var(--muted);line-height:1.8}dialog ul{padding:0 0 0 18px;font-size:16px;line-height:1.9;margin:25px 0 30px}dialog li{margin-bottom:10px}.close{position:absolute;right:12px;top:8px;background:none;border:0;font-size:30px;width:35px;height:35px}.solid-button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;background:var(--red);color:var(--paper);border:0;padding:14px 20px;font-size:16px}.solid-button span{font-size:19px;line-height:1}.solid-button:hover{background:#9c2e29}fieldset{margin:0 0 23px;padding:0;border:0}legend{font-size:15px;margin-bottom:10px}.interest-options{display:flex;flex-wrap:wrap;gap:8px}.interest-options label{position:relative;cursor:pointer}.interest-options input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}.interest-options span{display:block;padding:8px 11px;border:1px solid var(--line);font-size:14px}.interest-options input:checked+span{background:var(--ink);border-color:var(--ink);color:var(--paper)}.interest-options input:focus-visible+span{outline:2px solid var(--red);outline-offset:3px}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:25px}form>label,.form-pair>label{display:flex;flex-direction:column;font-size:15px;margin-bottom:18px;gap:7px}input:not([type=checkbox]),textarea{font-size:17px;border:0;border-bottom:1px solid #aaa397;background:transparent;color:var(--ink);padding:7px 0 10px;resize:vertical;width:100%;border-radius:0}textarea::placeholder{color:#8c867c}.form-note{font-size:14px!important;color:var(--muted);line-height:1.8;margin-top:16px}pre{white-space:pre-wrap;overflow-wrap:anywhere;font:16px/1.7 var(--font);background:#e9e6df;padding:20px;max-height:230px;overflow:auto}.email-actions{display:flex;align-items:center;gap:25px}
@media(min-width:1700px){.masthead,.cover-heading,.system-caption,.intro-section,.service-index,.people-section,.practical,.contact-section,footer{margin-inline:auto;max-width:1580px}.home-photo{max-width:1660px;margin-inline:auto}.installation-note{padding-left:clamp(68px,calc((100vw - 1580px)/2),160px);padding-right:112px}.installation{max-width:1900px;margin-inline:auto}}
@media(max-width:1000px){.masthead{gap:25px}.brand-description{display:none}.cover-heading{grid-template-columns:1.5fr 1fr;padding-top:45px;gap:25px}.cover-heading h1{font-size:72px;letter-spacing:-4px}.cover-aside p{font-size:15px}.cover-aside .link-button{font-size:14px}.system-caption{gap:25px;grid-template-columns:1fr 2fr auto}.intro-section{grid-template-columns:.7fr 2fr;gap:30px;padding-top:80px}.service-row{grid-template-columns:.7fr 2fr 50px;gap:30px}.service-content h3{font-size:32px}.service-kind{font-size:12px}.installation{min-height:600px}.installation-note{padding-right:5vw}.installation-note h2{font-size:42px;letter-spacing:-2px}.people-main{gap:55px}.practical{gap:50px}.photo-note{left:30px;bottom:35px}.photo-note p{font-size:25px}.contact-arrow{height:95px;width:95px;font-size:50px}.contact-heading h2{font-size:78px;letter-spacing:-4px}}
@media(max-width:720px){.masthead,.cover-heading,.system-caption,.intro-section,.service-index,.people-section,.practical,.contact-section,footer{margin-inline:22px}.masthead{height:90px}.identity>span{font-size:25px}.masthead nav{gap:20px;font-size:14px}.masthead nav button{padding:10px 14px;font-size:14px;min-width:100px}.cover-heading{display:block;padding:40px 0 30px}.cover-heading h1{font-size:clamp(53px,9.9vw,75px);letter-spacing:-3.6px}.cover-aside{max-width:none;display:flex;justify-content:space-between;gap:25px;align-items:end;margin-top:28px;padding:0}.cover-aside p{font-size:15px;line-height:1.8;margin:0}.cover-aside .link-button{font-size:14px;max-width:170px;gap:20px}.home-photo{margin-inline:10px;height:490px}.home-photo>img{object-position:50% center}.photo-caption{left:16px;font-size:12px;top:20px;letter-spacing:1px}.photo-credit{right:16px;font-size:12px;bottom:15px}.photo-word{left:13px;bottom:-6px;font-size:100px;letter-spacing:-6px}.hotspot>span{width:30px;height:30px;font-size:18px}.hotspot em{font-size:12px}.hotspot.security{right:7%;top:8%}.hotspot.network{left:35%;top:57%}.hotspot.lighting{right:5%;top:19%}.system-caption{grid-template-columns:1fr auto;gap:15px;padding:22px 0}.caption-label{grid-column:1;font-size:12px}.system-caption p{grid-row:2;grid-column:1/-1;font-size:15px}.system-caption .link-button{grid-column:2;grid-row:1;font-size:13px;padding-bottom:4px}.intro-section{display:block;padding:65px 0 35px}.intro-section .section-label{padding:0;margin-bottom:22px;font-size:12px}.intro-section h2{font-size:36px;letter-spacing:-1.8px;margin-bottom:22px}.intro-section>p{font-size:16px;max-width:420px}.service-row{grid-template-columns:1fr 48px;gap:15px;padding:28px 0}.service-kind{grid-column:1/-1;font-size:12px;padding:0}.service-content h3{font-size:29px;letter-spacing:-1.1px;margin-bottom:15px}.service-content>p{font-size:15px;max-width:400px;line-height:1.9}.service-items{font-size:12px;gap:5px 0}.service-items span+span:before{margin-inline:8px}.round-link{width:40px;height:40px;font-size:20px}.installation{grid-template-columns:1fr;margin-top:45px;min-height:0}.installation-note{padding:45px 35px 45px 22px}.installation-note>.section-label{margin-bottom:25px}.installation-note h2{font-size:48px;letter-spacing:-2px}.installation-note>p{max-width:410px;font-size:16px}.installation-photo{height:480px}.photo-note{left:25px;bottom:30px}.photo-note p{font-size:30px}.people-section{padding:65px 0}.people-section>.section-label{font-size:12px;margin-bottom:25px}.people-main{grid-template-columns:1fr;gap:30px}.people-main h2{font-size:43px;letter-spacing:-2px}.people-copy{max-width:450px}.people-copy>p{font-size:16px}.practical{grid-template-columns:1fr;gap:20px;padding:50px 0 65px}.practical h2{font-size:25px}.questions summary{font-size:16px}.questions details p{font-size:15px}.contact-section{padding:30px 0 45px}.contact-section>.section-label{font-size:12px}.contact-heading{gap:20px;margin-block:25px 30px}.contact-heading h2{font-size:clamp(44px,8.9vw,64px);letter-spacing:-2px}.contact-arrow{width:65px;height:65px;font-size:36px;margin:0;flex-shrink:0}.contact-bottom{align-items:start}.contact-bottom>p{font-size:15px}.contact-bottom>div>a{font-size:20px}.contact-bottom .link-button{font-size:14px}.contact-bottom small{font-size:12px}.footer-word{font-size:12vw;letter-spacing:-.06em;padding-bottom:20px}.footer-nav{font-size:12px;gap:15px;flex-direction:column}.footer-nav>div{gap:25px}.review-note{font-size:12px}dialog{padding:35px 25px;max-height:90vh}dialog h2{font-size:32px;letter-spacing:-1.5px}}
@media(max-width:460px){.masthead nav{display:none;position:absolute;top:89px;left:0;right:0;background:var(--paper);z-index:30;padding:25px 22px;border-bottom:1px solid var(--line);font-size:18px;align-items:start;flex-direction:column;gap:22px}.masthead nav.open{display:flex}.masthead nav button{font-size:17px;padding:12px 18px;min-width:150px}.mobile-menu{display:block;margin-left:auto;background:none;border:0;padding:8px 0;font-size:15px}.cover-heading h1{font-size:54px;letter-spacing:-3px}.cover-aside{align-items:start;flex-direction:column;gap:18px;margin-top:22px}.cover-aside p{font-size:16px}.cover-aside .link-button{max-width:none;font-size:15px}.home-photo{height:430px}.hotspot em{display:none}.hotspot.security{right:5%;top:10%}.hotspot.network{left:43%;top:58%}.hotspot.lighting{right:8%;top:23%}.photo-word{font-size:87px;letter-spacing:-5px}.intro-section h2{font-size:33px}.service-content h3{font-size:27px}.service-items{font-size:12px}.service-items span+span:before{margin-inline:6px}.installation-note h2{font-size:44px}.installation-photo{height:400px}.contact-heading h2{font-size:45px;letter-spacing:-2px}.contact-arrow{height:55px;width:55px;font-size:30px}.contact-bottom{flex-direction:column;gap:20px}.contact-bottom>div>a{font-size:24px}.contact-bottom small{font-size:12px}.form-pair{grid-template-columns:1fr;gap:0}.email-actions{flex-wrap:wrap}dialog .section-label{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Larger identity and readable supporting copy. */
.masthead{min-height:130px;height:auto;padding-block:24px;gap:32px}.identity{gap:14px;flex-shrink:0}.identity>img{width:58px;height:58px}.identity>span{font-size:42px;letter-spacing:-2px}.identity small{font-size:10px;letter-spacing:6px;padding-top:10px}.brand-description{font-size:13px;padding-left:24px}.masthead nav{gap:26px;font-size:15px}.masthead nav button{font-size:15px}.cover-aside{max-width:360px}.service-content>p{max-width:630px}.service-items{row-gap:8px}.installation-note>p{max-width:440px}.photo-credit{color:#fff}.contact-bottom small{font-size:13px}.review-note{font-size:12px}
/* Scroll choreography; normal document scrolling and no scroll trapping. */
.scroll-progress{position:fixed;inset:0 auto auto 0;height:3px;width:100%;background:var(--red);transform:scaleX(0);transform-origin:left;z-index:80;pointer-events:none}
.motion-ready .reveal{opacity:0;transform:translateY(44px);transition:opacity .85s ease,transform .95s cubic-bezier(.2,.65,.2,1);transition-delay:var(--reveal-delay,0ms)}
.motion-ready .reveal.is-visible{opacity:1;transform:translateY(0)}
.motion-ready .service-row{position:relative;border-top-color:transparent}.motion-ready .service-row:before{content:'';position:absolute;left:0;right:0;top:0;height:1px;background:var(--line);transform:scaleX(0);transform-origin:left;transition:transform 1.2s cubic-bezier(.2,.65,.2,1)}
.motion-ready .service-row.is-visible:before{transform:scaleX(1)}
.motion-ready .home-photo>img,.motion-ready .installation-photo>img{transform:translate3d(0,var(--image-shift,0px),0) scale(1.13)}
.motion-ready .photo-word{transform:translate3d(var(--word-shift,0px),0,0)}
.motion-ready .footer-word{transform:translate3d(0,var(--footer-shift,0px),0);opacity:var(--footer-opacity,1)}
footer{overflow:hidden}.home-photo{border-radius:var(--photo-radius,0px)}
@media(max-width:1100px){.brand-description{display:none}.masthead nav{gap:20px}.cover-heading{grid-template-columns:1.6fr 1fr}.cover-aside p{font-size:16px}.cover-heading h1{font-size:clamp(52px,7.5vw,80px);letter-spacing:-3px}}
@media(max-width:720px){.masthead{padding-block:20px;min-height:105px}.identity>img{width:46px;height:46px}.identity>span{font-size:34px}.identity small{font-size:9px;letter-spacing:4.5px}.masthead nav{display:none;position:absolute;top:104px;left:0;right:0;background:var(--paper);z-index:30;padding:25px 22px;border-bottom:1px solid var(--line);align-items:start;flex-direction:column;gap:22px}.masthead nav.open{display:flex}.mobile-menu{display:block;margin-left:auto;background:none;border:0;padding:12px 0;font-size:15px}.cover-heading{display:block}.cover-aside{max-width:none}.cover-aside p{font-size:16px}.cover-aside .link-button{font-size:15px}.service-items{font-size:13px;line-height:1.8}.installation-note h2{font-size:44px}.contact-bottom{flex-direction:column;align-items:start}.hotspot em{font-size:12px}.photo-caption{max-width:200px;font-size:11px}.photo-credit{font-size:10px}.system-caption{column-gap:12px}.caption-label{font-size:11px;letter-spacing:.5px}.system-caption .link-button{font-size:13px}.footer-nav{font-size:13px}.footer-nav>div{flex-wrap:wrap}.contact-bottom>p{font-size:16px}.contact-bottom .link-button{font-size:16px}}
@media(max-width:380px){.identity>span{font-size:29px}.identity>img{width:40px;height:40px}.identity{gap:9px}.cover-heading h1{font-size:47px}}
@media(prefers-reduced-motion:reduce){.motion-ready .reveal{opacity:1;transform:none}.motion-ready .home-photo>img,.motion-ready .installation-photo>img,.motion-ready .photo-word,.motion-ready .footer-word{transform:none}.scroll-progress{display:none}.home-photo{border-radius:0}}

/* Photographs from the installation team. */
.installation-photo>img{object-position:23% center}.installation-photo .photo-note{max-width:85%}.installation-photo .photo-note span{font-size:11px;letter-spacing:1px}
.work-gallery{margin:100px 4vw 0}.work-heading{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:40px;align-items:start;margin-bottom:45px}.work-heading h2{font-size:clamp(34px,3.7vw,58px);font-weight:500;line-height:1.15;letter-spacing:-2px;margin:0}.work-heading h2 span{color:var(--red)}.work-heading>p{font-size:17px;color:var(--muted);margin:0}.work-photos{display:grid;grid-template-columns:1.6fr 1fr;gap:40px;align-items:start}.work-photos figure{margin:0}.work-photos img{width:100%;display:block;object-fit:cover}.compact-rack{padding-top:70px}.compact-rack img{aspect-ratio:4/3;height:auto}.cabling-rack img{height:660px;object-position:center 30%}.work-photos figcaption{padding-top:18px;font-size:16px;line-height:1.6}.work-photos figcaption span{display:block;font-size:11px;letter-spacing:1px;color:var(--muted);margin-bottom:8px}.team-photo{margin:0 0 55px}.team-photo>div{height:clamp(360px,48vw,720px);overflow:hidden}.team-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 90%;transform:none}.team-photo figcaption{font-size:13px;color:var(--muted);padding-top:12px}
@media(min-width:1700px){.work-gallery{max-width:1580px;margin-inline:auto}}
@media(max-width:900px){.work-heading{grid-template-columns:1fr 2fr}.work-heading>p{grid-column:2}.work-photos{gap:25px}.cabling-rack img{height:530px}.team-photo>div{height:340px}}
@media(max-width:720px){.work-gallery{margin:60px 22px 0}.work-heading{display:block;margin-bottom:30px}.work-heading>.section-label{display:block;margin-bottom:22px}.work-heading h2{font-size:36px;margin-bottom:24px}.work-heading>p{font-size:16px}.work-photos{grid-template-columns:1fr;gap:35px}.compact-rack{padding:0}.cabling-rack img{height:410px;object-position:center 35%}.team-photo{margin-bottom:35px}.team-photo>div{height:320px}.team-photo img{width:100%;max-width:100%;object-position:right bottom;transform:none}.installation-photo>img{object-position:18% center}}

/* Partner names stay readable as the roster grows. */
.technology-section{margin:0 4vw;padding:70px 0 85px;border-top:1px solid var(--line)}
.technology-heading{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:40px;margin-bottom:45px;align-items:start}
.technology-heading h2{font-size:clamp(34px,3.7vw,58px);font-weight:500;letter-spacing:-2px;line-height:1.15;margin:0}.technology-heading h2 span{color:var(--red)}
.technology-heading p{font-size:17px;color:var(--muted);margin:0}
.technology-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:40px}
.technology-list li{border-top:1px solid var(--line);padding:25px 0;font-size:clamp(24px,2.4vw,38px);font-weight:600;letter-spacing:-1px;line-height:1.4;display:flex;align-items:center;min-height:112px}
.technology-list a{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.technology-list a:hover{color:var(--red)}.vendor-link-label{font-size:14px;letter-spacing:0;font-weight:400;color:var(--muted)}
@media(min-width:1700px){.technology-section{max-width:1580px;margin-inline:auto}}
@media(max-width:1000px){.technology-heading{grid-template-columns:1fr 1.4fr}.technology-heading p{grid-column:2}.technology-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.technology-section{margin-inline:22px;padding:45px 0 55px}.technology-heading{display:block;margin-bottom:30px}.technology-heading .section-label{display:block;margin-bottom:22px}.technology-heading h2{font-size:36px;margin-bottom:24px}.technology-heading p{font-size:16px}.technology-list{column-gap:22px}.technology-list li{font-size:23px;letter-spacing:-.6px;min-height:106px;padding:22px 0}.vendor-link-label{font-size:13px}}

/* Frame the house and van lettering, excluding the car to the left. */
.team-photo{max-width:1100px;margin-inline:auto}
.team-photo>div{position:relative;height:auto;aspect-ratio:4/3;overflow:hidden}
.team-photo img{position:absolute;right:0;top:-12.18%;width:151.5%;max-width:none;height:auto;object-fit:initial;object-position:initial;transform:none}

/* Authentic vendor marks paired with accessible, readable names. */
.technology-list{grid-template-columns:repeat(2,minmax(0,1fr))}
.technology-list li{gap:22px;font-size:clamp(24px,2.1vw,34px);min-height:125px}
.technology-list a{flex-direction:row;align-items:center;gap:22px;width:100%}
.vendor-logo{width:64px;height:64px;object-fit:contain;flex-shrink:0}
.vendor-name{display:block}.vendor-link-label{display:block;margin-top:6px}
@media(max-width:720px){.technology-list{grid-template-columns:1fr}.technology-list li{font-size:26px;min-height:106px;gap:20px}.technology-list a{gap:20px}.vendor-logo{width:56px;height:56px}}

.technology-list .vendor-external{margin-left:auto;font-size:22px;font-weight:400;color:var(--muted)}.technology-list a:hover .vendor-external{color:var(--red)}

.vendor-copy{display:block;flex:1;min-width:0}
.vendor-description{display:block;margin-top:9px;color:var(--muted);font-size:17px;line-height:1.65;font-weight:400;letter-spacing:0;max-width:44ch}
.technology-list li{align-items:flex-start;padding-block:30px}
.technology-list a{align-items:flex-start}.technology-list .vendor-logo{margin-top:5px}.technology-list .vendor-external{margin-top:8px;flex-shrink:0}
@media(max-width:720px){.vendor-description{font-size:16px}.technology-list a{gap:16px}.technology-list .vendor-logo{width:48px;height:48px}.technology-list .vendor-external{font-size:18px}}

.connectivity-section{margin:0 4vw;padding:65px 0 85px;border-top:1px solid var(--line)}
.connectivity-heading{display:grid;grid-template-columns:1fr 2.4fr;gap:40px;margin-bottom:48px}
.connectivity-heading h2{font-size:clamp(34px,3.7vw,58px);font-weight:500;letter-spacing:-2px;line-height:1.15;margin:0}.connectivity-heading h2 span{color:var(--red)}
.connectivity-section h3{font-size:19px;font-weight:500;margin:38px 0 18px}
.connection-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
.connection-list li{border-top:1px solid var(--line);padding:22px 0}
.connection-list a{display:grid;grid-template-columns:1fr auto;gap:15px 10px;align-items:center;font-size:21px;line-height:1.4;font-weight:600}.connection-list a:hover{color:var(--red)}
.connection-mark{grid-column:1/-1;display:flex;align-items:center;height:70px}.connection-mark img{width:120px;height:64px;object-fit:contain;object-position:left center}.connection-arrow{font-size:20px;font-weight:400;color:var(--muted)}
@media(min-width:1700px){.connectivity-section{max-width:1580px;margin-inline:auto}}
@media(max-width:900px){.connection-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.connectivity-section{margin-inline:22px;padding:45px 0 55px}.connectivity-heading{display:block;margin-bottom:32px}.connectivity-heading .section-label{display:block;margin-bottom:22px}.connectivity-heading h2{font-size:36px}.connection-list{gap:10px 22px}.connection-list a{font-size:18px}.connection-mark img{width:110px;height:60px}}

/* Optical sizing: wordmarks need more width than compact symbols. */
.broadband-list .connection-mark{height:86px;overflow:hidden}
.broadband-mark-starlink img{width:190px;height:190px;max-width:none;object-fit:contain;flex-shrink:0}
.broadband-mark-lightning img{width:220px;height:auto;max-width:100%}
.broadband-mark-openreach img{width:200px;height:auto;max-width:100%}
.broadband-mark-cityfibre img{width:76px;height:76px}
@media(max-width:720px){.broadband-list .connection-mark{height:70px}.broadband-mark-starlink img{width:150px;height:150px}.broadband-mark-lightning img,.broadband-mark-openreach img{width:155px;max-width:100%;height:auto}.broadband-mark-cityfibre img{width:64px;height:64px}}

/* An editorial photograph beside the company story. */
.people-main{grid-template-columns:1.15fr .85fr;gap:clamp(40px,6vw,100px);align-items:center}
.people-story h2{font-size:clamp(40px,4.1vw,64px);line-height:1.12;margin-bottom:30px}
.people-story .people-copy{max-width:540px}
.people-main .team-photo{width:100%;max-width:560px;margin:0;justify-self:end}
.people-main .team-photo>div{aspect-ratio:1/1;background:var(--paper)}
.people-main .team-photo img{top:-3%;filter:saturate(.58) contrast(.92) brightness(1.06)}
.people-main .team-photo figcaption{font-size:15px;padding-top:16px;letter-spacing:0}
@media(max-width:900px){.people-main{grid-template-columns:1fr 1fr;gap:35px}.people-story h2{font-size:40px}}
@media(max-width:720px){.people-main{grid-template-columns:1fr;gap:35px}.people-story h2{font-size:43px}.people-main .team-photo{max-width:460px;justify-self:start}.people-main .team-photo figcaption{font-size:14px}}

.standards-list{grid-template-columns:repeat(3,minmax(0,1fr))}.connection-mark-lorawan img{background:var(--ink);padding:10px;object-position:center}.connection-mark-superlink img{width:64px;height:64px}@media(max-width:900px){.standards-list{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Architectural opening: dark materials, warm light and clear typography. */
.masthead-dark{position:relative;z-index:5;max-width:none;margin:0;padding:22px max(4vw,calc((100vw - 1580px)/2));min-height:108px;background:#151918;color:var(--paper);border-bottom:1px solid #ffffff1c}
.masthead-dark .brand-description{color:#b8bcb8;border-color:#ffffff26}
.masthead-dark nav a:hover{color:#e1ada4}
.masthead-dark nav button{padding:13px 20px;background:transparent;border:1px solid #ffffff50;transition:background .2s,border-color .2s}
.masthead-dark nav button:hover{background:var(--red);border-color:var(--red)}
.cover-architectural{position:relative;isolation:isolate;overflow:hidden;min-height:clamp(680px,calc(100svh - 108px),1000px);background:#151918;color:var(--paper)}
.architectural-image.home-photo{position:absolute;inset:0;max-width:none;width:100%;height:100%;margin:0;border-radius:0;background:#151918}
.architectural-image>img{object-position:center 53%}
.architectural-image:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,17,16,.78) 0%,rgba(12,17,16,.51) 29%,rgba(12,17,16,.08) 60%,transparent 100%),linear-gradient(0deg,rgba(12,17,16,.82),transparent 22%,transparent 86%,rgba(12,17,16,.12));pointer-events:none}
.architectural-image figcaption{position:absolute;z-index:1;right:max(4vw,calc((100vw - 1580px)/2));bottom:105px;color:#e5e6de;font-size:11px;letter-spacing:.4px}
.architectural-content{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;min-height:inherit;width:calc(100% - 8vw);max-width:1580px;margin-inline:auto;padding:56px 0 145px;pointer-events:none}
.architectural-content>*{pointer-events:auto;align-self:flex-start}
.hero-eyebrow{display:flex;align-items:center;gap:16px;font-size:11px;font-weight:600;line-height:1.6;letter-spacing:2px;margin:0 0 36px;color:#e0e0d8}
.hero-eyebrow:before{content:'';width:38px;height:2px;background:#d85449}
.architectural-content h1{font-size:clamp(72px,7.2vw,122px);font-weight:400;line-height:1.04;letter-spacing:-.065em;margin:0 0 32px;max-width:900px}
.hero-line{display:block}.hero-line-accent{color:#d7cec0}.hero-full-stop{color:#d9574b}
.hero-description{color:#dddcd5;font-size:18px;line-height:1.85;font-weight:400;max-width:430px;margin:0 0 32px}
.hero-actions{display:flex;align-items:center;gap:28px}
.hero-enquire{display:inline-flex;align-items:center;gap:28px;background:var(--red);color:var(--paper);border:1px solid var(--red);padding:17px 22px;font-size:15px;font-weight:600;line-height:1.4;transition:background .2s,border-color .2s}
.hero-enquire>span{font-size:21px;font-weight:400;line-height:1}
.hero-enquire:hover{background:#a9322d;border-color:#a9322d}
.hero-services{display:inline-flex;gap:18px;align-items:center;font-size:14px;border-bottom:1px solid #ffffff55;padding-block:8px;transition:border-color .2s}
.hero-services:hover{border-color:var(--paper)}
.hero-baseline{position:absolute;z-index:2;bottom:0;left:50%;transform:translateX(-50%);width:calc(100% - 8vw);max-width:1580px;border-top:1px solid #ffffff42;display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:88px;color:#deded7}
.hero-baseline p{font-size:14px;margin:0}.hero-scroll{display:inline-flex;align-items:center;gap:45px;font-size:10px;letter-spacing:1.7px;font-weight:600}.hero-scroll span{font-size:23px;font-weight:400}
.motion-ready .architectural-image>img{transform:translate3d(0,var(--image-shift,0px),0) scale(1.065);animation:architectural-settle 1.8s cubic-bezier(.16,1,.3,1) both}
.motion-ready .architectural-content>*{animation:architectural-rise .95s cubic-bezier(.2,.65,.2,1) both}
.motion-ready .architectural-content h1{animation-delay:.09s}.motion-ready .hero-description{animation-delay:.2s}.motion-ready .hero-actions{animation-delay:.3s}
@keyframes architectural-rise{from{opacity:0;translate:0 25px}to{opacity:1;translate:0 0}}
@keyframes architectural-settle{from{scale:1.035}to{scale:1}}
@media(min-width:2100px){.architectural-image>img{object-position:center 54%}}
@media(max-width:1100px){.architectural-content h1{font-size:clamp(70px,8.7vw,96px)}.hero-actions{gap:22px}.hero-description{font-size:17px}.architectural-image>img{object-position:60% center}.architectural-image:after{background:linear-gradient(90deg,#0c1110d9,#0c111080 50%,#0c11101a),linear-gradient(0deg,#0c1110e0,transparent 28%)}}
@media(max-width:720px){
 .masthead-dark{padding:20px 22px;min-height:96px;gap:20px}.masthead-dark nav{top:95px;background:#151918;color:var(--paper);border-color:#ffffff30}.masthead-dark .mobile-menu{color:var(--paper)}
 .cover-architectural{min-height:0;display:flex;flex-direction:column}
 .architectural-content{min-height:0;width:calc(100% - 44px);padding:48px 0 36px;order:1}
 .hero-eyebrow{font-size:9px;letter-spacing:1.4px;gap:12px;margin-bottom:27px}.hero-eyebrow:before{width:24px}
 .architectural-content h1{font-size:clamp(46px,12.8vw,84px);line-height:1.07;margin-bottom:24px;letter-spacing:-.065em}
 .hero-description{font-size:16px;line-height:1.8;margin-bottom:26px;max-width:380px}.desktop-break{display:none}
 .hero-actions{flex-wrap:wrap;gap:16px 25px}.hero-enquire{font-size:14px;padding:16px 19px;gap:26px}.hero-services{font-size:13px}
 .architectural-image.home-photo{position:relative;inset:auto;order:2;height:clamp(340px,74vw,500px);margin:0;width:100%}
 .architectural-image>img{object-position:71% 55%}.architectural-image:after{background:linear-gradient(180deg,#151918 0%,#15191826 18%,transparent 40%,#15191833)}
 .architectural-image figcaption{right:22px;bottom:16px;font-size:10px}
 .hero-baseline{position:relative;left:auto;transform:none;order:3;width:calc(100% - 44px);margin-inline:auto;min-height:83px;border-color:#ffffff30;gap:20px}
 .hero-baseline p{font-size:12px;max-width:185px;line-height:1.6}.hero-scroll{font-size:9px;letter-spacing:1px;gap:15px}
}
@media(prefers-reduced-motion:reduce){.motion-ready .architectural-image>img{transform:none;scale:none}.architectural-content>*{animation:none!important}}

/* Quiet endorsement from the parent brand, using the official M-Tech mark. */
.brand-lockup{display:flex;align-items:center;gap:32px;flex-shrink:0}
.group-endorsement{display:flex;align-items:flex-start;flex-direction:column;gap:8px;width:max-content;line-height:1}
.group-endorsement>span{font-size:10px;letter-spacing:1.1px;text-transform:uppercase;font-weight:500}
.group-endorsement img{display:block;width:140px;height:auto;object-fit:contain}
.group-endorsement-header{padding-left:30px;border-left:1px solid #ffffff26;color:#b8bcb8}
.group-endorsement-header picture{position:relative;display:block;padding:0;background:none;border:0}
.group-endorsement-header img{width:180px;height:auto;filter:brightness(0) invert(1);opacity:1;clip-path:inset(0 18% 0 0)}
.group-endorsement-header picture:after{content:'';position:absolute;inset:0;background:url(assets/mtechsystems.png) center/contain no-repeat;clip-path:inset(0 0 0 82%);pointer-events:none}
.footer-nav .footer-identity{display:flex;flex-direction:column;align-items:flex-start;gap:20px}
.group-endorsement-footer{flex-direction:row;align-items:center;gap:14px;color:var(--muted)}
.group-endorsement-footer img{width:140px}
@media(min-width:721px) and (max-width:1100px){.group-endorsement-header{display:none}}
@media(max-width:720px){
 .brand-lockup{flex-direction:column;align-items:flex-start;gap:14px}
 .group-endorsement-header{flex-direction:row;align-items:center;gap:11px;border:0;padding:0}
 .group-endorsement-header>span{font-size:9px;letter-spacing:.8px}
 .group-endorsement-header img{width:145px}
 .masthead-dark .mobile-menu{align-self:flex-start;margin-top:6px}
 .masthead-dark nav{top:100%}
 .footer-nav .footer-identity{gap:18px;margin-bottom:8px}
}

/* Architectural service gallery */
.service-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;background:#151918;margin:30px 0 0;padding:2px;overflow:hidden}
.service-gallery .service-row{position:relative;display:flex;flex-direction:column;justify-content:space-between;isolation:isolate;aspect-ratio:1/1;min-height:590px;padding:clamp(30px,4vw,75px);border:0;overflow:hidden;color:#f4f2ed;background:#151918;gap:100px}
.service-scene{position:absolute;z-index:-2;inset:0;width:100%;height:100%;display:block;overflow:hidden;transform:scale(1.025);transition:transform 1.4s cubic-bezier(.2,.65,.3,1);filter:saturate(.8)}
.service-scene-security .service-scene{background-position:0 0}.service-scene-network .service-scene{background-position:100% 0}.service-scene-lighting .service-scene{background-position:0 100%}.service-scene-audio .service-scene{background-position:100% 100%}
.service-gallery .service-row:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#080c0b66 0%,#080c0b05 25%,#080c0b55 42%,#080c0be8 78%,#080c0bfa 100%)}
.service-gallery .service-kind{display:flex;align-items:center;gap:18px;font-size:11px;letter-spacing:1.7px;color:#fff;padding:0}
.service-number{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid #ffffff55;border-radius:50%;font-size:12px;letter-spacing:0;flex-shrink:0}
.service-gallery .service-content{max-width:680px}
.service-gallery .service-content h3{font-size:clamp(40px,4.1vw,76px);font-weight:500;line-height:1.06;letter-spacing:-.045em;margin:0 0 24px;text-wrap:balance}
.service-gallery .service-content>p{font-size:clamp(16px,1.2vw,20px);line-height:1.7;color:#d1d2cd;max-width:540px;margin-bottom:24px}
.service-gallery .service-items{font-size:12px;line-height:1.8;gap:0;color:#c2c5bd;display:flex;flex-wrap:wrap;margin-bottom:30px}
.service-gallery .service-items span+span:before{color:#d36a61;margin-inline:12px}
.service-explore{display:flex;align-items:center;gap:30px;padding:12px 0;border:0;border-bottom:1px solid #ffffff60;background:none;color:#fff;font-size:14px;font-weight:500;transition:border-color .25s}
.service-explore span{font-size:24px;line-height:1;transition:transform .25s;color:#e17b70}
.service-explore:hover{border-color:#e17b70}.service-explore:hover span{transform:translate(3px,-3px)}
.service-gallery .service-row:hover .service-scene,.service-gallery .service-row:focus-within .service-scene{transform:scale(1.065)}
.service-image-note{grid-column:1/-1;text-align:right;color:#92988f;font-size:11px;letter-spacing:.3px;margin:0;padding:16px 4vw;background:#151918}
@media(min-width:1600px){.service-gallery .service-row{aspect-ratio:1.2/1;min-height:680px}.service-gallery .service-content{max-width:620px}}
@media(max-width:900px){.service-gallery .service-row{min-height:580px;aspect-ratio:auto;padding:32px 25px;gap:140px}.service-gallery .service-content h3{font-size:39px}.service-gallery .service-content>p{font-size:16px}.service-gallery .service-items{font-size:11px}.service-gallery .service-kind{font-size:9px;letter-spacing:1px;gap:10px}}
@media(max-width:620px){.service-gallery{grid-template-columns:1fr}.service-gallery .service-row{min-height:620px;padding:30px 25px;gap:160px}.service-gallery .service-content h3{font-size:44px;max-width:360px}.service-gallery .service-content>p{font-size:16px}.service-gallery .service-kind{font-size:10px}.service-gallery .service-items{font-size:11px}.service-image-note{text-align:left;padding:16px 25px}}
@media(prefers-reduced-motion:reduce){.service-scene,.service-explore,.service-explore span{transition:none!important}.service-gallery .service-row:hover .service-scene,.service-gallery .service-row:focus-within .service-scene{transform:none}}
.service-gallery{max-width:1580px;width:calc(100% - 8vw);margin:30px auto 0;gap:18px;background:transparent;padding:0}
.service-gallery .service-image-note{background:transparent;color:var(--muted);padding:0 0 8px}
@media(max-width:620px){.service-gallery{width:calc(100% - 40px);gap:16px}.service-gallery .service-row{padding:28px 22px}.service-gallery .service-content h3{font-size:40px}}

/* Layout review: consistent edges, readable labels, and proportional imagery. */
.service-gallery .service-row:before{display:none}
.service-gallery .service-items{font-size:13px;gap:8px 18px;line-height:1.6}
.service-gallery .service-items span{white-space:nowrap}
.service-gallery .service-items span+span:before{content:none}
.service-gallery .service-content{width:100%}
@media(max-width:720px){.service-gallery{grid-template-columns:1fr;width:calc(100% - 44px);gap:16px}.service-gallery .service-row{min-height:590px;padding:30px 25px;gap:130px}.service-gallery .service-content h3{font-size:clamp(36px,8vw,48px)}.service-gallery .service-items{font-size:13px}}

/* Editorial finish: a shared rhythm from the first service to the final enquiry. */
.chapter-index{color:var(--red);margin-right:16px;font-variant-numeric:tabular-nums;letter-spacing:1px}
.intro-section{grid-template-columns:1.5fr 1fr;gap:32px 9%;padding:110px 0 45px;align-items:end}
.intro-section .section-label{grid-column:1/-1;grid-row:auto;padding:0;margin-bottom:10px}
.intro-section h2{grid-column:1;font-size:clamp(44px,4.7vw,74px);letter-spacing:-.05em;line-height:1.1;text-wrap:balance}
.intro-section>p{grid-column:2;max-width:450px;font-size:18px;line-height:1.85;padding-bottom:3px}
.service-gallery{margin-top:30px;gap:22px}
.service-gallery .service-content h3{letter-spacing:-.05em}
.service-gallery .service-explore{min-height:48px;gap:48px}
.installation{background:#a63831;margin-top:100px}
.installation-note{padding-block:80px}
.installation-note>.section-label{color:#f7d7cf}
.installation-note h2{letter-spacing:-.045em}
.people-section{padding-block:110px}
.people-main{grid-template-columns:1.1fr 1fr;gap:8%}
.people-story h2{font-size:clamp(43px,4.4vw,70px);letter-spacing:-.045em}
.people-main .team-photo{max-width:610px}
.people-main .team-photo figcaption{display:flex;align-items:center;gap:14px;font-size:13px}
.people-main .team-photo figcaption:before{content:'';width:28px;height:1px;background:var(--red)}
.technology-section{padding-block:85px}
.technology-heading{grid-template-columns:1.4fr 1fr;gap:30px 9%;align-items:end;margin-bottom:50px}
.technology-heading>.section-label{grid-column:1/-1}
.technology-heading h2{font-size:clamp(40px,4vw,64px);letter-spacing:-.045em}
.technology-heading p{grid-column:2;max-width:450px;font-size:17px;line-height:1.8}
.technology-list{column-gap:34px}
.technology-list li{padding:26px 0;min-height:0;transition:background .25s}
.technology-list a{display:grid;grid-template-columns:44px minmax(0,1fr) 16px;gap:18px}
.technology-list .vendor-logo{width:44px;height:44px;margin-top:2px}
.technology-list .vendor-name{font-size:24px;letter-spacing:-.75px;line-height:1.25;font-weight:600}
.technology-list .vendor-description{font-size:15px;line-height:1.75;margin-top:10px;max-width:40ch}
.technology-list .vendor-external{font-size:18px;margin-top:2px;transition:transform .25s}
.technology-list a:hover .vendor-external{transform:translate(2px,-2px)}
.connectivity-section{padding-block:75px 85px}
.connectivity-heading{grid-template-columns:1fr;gap:28px;margin-bottom:48px}
.connectivity-heading h2{font-size:clamp(40px,4vw,64px);letter-spacing:-.045em}
.connectivity-section h3{font-size:14px;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);margin-top:40px}
.connection-list a{font-size:19px}
.connection-list li{padding-block:24px}
.practical{padding-block:85px 100px}
.practical h2{font-size:clamp(30px,3vw,45px);line-height:1.15;letter-spacing:-1.5px;max-width:300px}
.questions details{padding-block:23px}
.contact-finale{position:relative;isolation:isolate;overflow:hidden;max-width:1580px;width:calc(100% - 8vw);margin:0 auto 75px;background:#151918;color:var(--paper);border:0;padding:clamp(40px,5vw,85px)}
.contact-watermark{position:absolute;z-index:-1;width:52%;height:auto;right:-7%;top:50%;transform:translateY(-50%);opacity:.035;pointer-events:none}
.contact-finale>.section-label{display:block;color:#b8beb5;font-size:11px;letter-spacing:1.8px}
.contact-finale .contact-heading{gap:35px;margin:40px 0 55px;align-items:end}
.contact-finale .contact-heading h2{font-size:clamp(54px,6.5vw,100px);letter-spacing:-.055em;line-height:1.06}
.contact-finale .contact-heading h2 span{color:#d7cec0}
.contact-finale .contact-arrow{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;width:130px;height:130px;flex-shrink:0;margin:0;background:transparent;border:1px solid #ffffff55;font-size:50px;transition:background .25s,border-color .25s}
.contact-finale .contact-arrow small{font-size:10px;letter-spacing:1.4px;font-weight:500}
.contact-finale .contact-arrow:hover{transform:none;background:var(--red);border-color:var(--red)}
.contact-finale .contact-bottom{border-top:1px solid #ffffff2b;padding-top:30px;align-items:end}
.contact-finale .contact-bottom>p{color:#c1c6bd;font-size:17px}
.contact-finale .contact-bottom>div{min-width:0}
.contact-finale .contact-bottom>div>a{font-size:29px;letter-spacing:-.7px}
.contact-finale .contact-bottom .link-button{color:#eee9df;border-color:#ffffff55;font-size:15px}
.contact-finale .contact-bottom small{color:#a8b0a3;font-size:12px}
footer{padding-top:0}.footer-word{font-size:clamp(55px,12.3vw,185px);padding-bottom:30px}
@media(min-width:1200px){.technology-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:721px) and (max-width:1100px){.intro-section{grid-template-columns:1.2fr 1fr;gap:28px 45px}.intro-section h2{font-size:48px}.intro-section>p{font-size:16px}.people-main{gap:45px}.technology-heading{gap:28px 45px}.contact-finale .contact-heading h2{font-size:65px}.contact-finale .contact-arrow{width:105px;height:105px}}
@media(max-width:720px){
 .intro-section{display:block;padding:70px 0 20px}.intro-section .section-label{margin-bottom:26px}.intro-section h2{font-size:clamp(37px,8.4vw,54px);margin-bottom:24px;max-width:550px}.intro-section>p{font-size:16px;padding:0}
 .chapter-index{margin-right:12px}.service-gallery{gap:16px}
 .installation{margin-top:65px}.installation-note{padding:45px 28px}.installation-note h2{font-size:46px}
 .people-section{padding-block:75px}.people-main{grid-template-columns:1fr;gap:35px}.people-story h2{font-size:44px}.people-main .team-photo{max-width:460px}
 .technology-section{padding-block:55px}.technology-heading{display:block;margin-bottom:30px}.technology-heading>.section-label{margin-bottom:26px}.technology-heading h2{font-size:40px;margin-bottom:24px}.technology-heading p{font-size:16px}
 .technology-list{grid-template-columns:1fr}.technology-list li{padding-block:23px}.technology-list a{grid-template-columns:40px minmax(0,1fr) 16px;gap:16px}.technology-list .vendor-logo{width:40px;height:40px}.technology-list .vendor-name{font-size:23px}.technology-list .vendor-description{font-size:16px}
 .connectivity-section{padding-block:55px}.connectivity-heading{display:block}.connectivity-heading h2{font-size:36px}.connection-list a{font-size:17px}
 .practical{padding-block:55px 65px}.practical h2{font-size:34px;max-width:280px;margin-bottom:12px}
 .contact-finale{width:calc(100% - 44px);margin-bottom:45px;padding:38px 24px}.contact-finale .contact-heading{gap:25px;align-items:start;flex-direction:column;margin:30px 0}.contact-finale .contact-heading h2{font-size:clamp(40px,9vw,62px)}
 .contact-finale .contact-arrow{width:auto;height:auto;flex-direction:row;gap:18px;border:0;border-bottom:1px solid #ffffff55;border-radius:0;padding:0 0 12px;font-size:27px}.contact-finale .contact-arrow small{font-size:12px}.contact-finale .contact-arrow:hover{background:none;border-color:var(--red)}
 .contact-finale .contact-bottom{padding-top:24px;gap:24px;align-items:start}.contact-finale .contact-bottom>p{font-size:16px}.contact-finale .contact-bottom>div>a{font-size:26px}.contact-finale .contact-bottom small{font-size:11px;line-height:1.6}.contact-watermark{width:100%;right:-30%}
}
.service-gallery .service-row{min-width:0;width:100%}
.technology-list .vendor-description{font-size:16px}

/* Crawlable service navigation, shared by the homepage and service pages. */
.service-directory{display:flex;flex-wrap:wrap;gap:18px 32px;padding:35px 0;margin-bottom:28px;border-top:1px solid #c8c3ba;border-bottom:1px solid #c8c3ba}.service-directory a{font-size:15px;display:flex;gap:15px;align-items:center}.service-directory a:hover{color:var(--red)}a.service-explore{text-decoration:none}a.service-explore:focus-visible,.service-directory a:focus-visible{outline:2px solid var(--red);outline-offset:6px}

/* Cyber security and parent company assurance. */
.cyber-section{width:calc(100% - 8vw);max-width:1580px;margin:90px auto 0;padding:75px;background:#202622;color:var(--paper);display:grid;grid-template-columns:1.15fr 1fr;gap:9%}.cyber-heading .section-label,.cyber-principles article>span{color:#b9c4b7;font-size:11px;letter-spacing:1.5px}.cyber-heading h2{font-size:clamp(38px,3.8vw,60px);line-height:1.08;letter-spacing:-.045em;margin:25px 0 30px}.cyber-heading h2 span{color:#c8c5b8}.cyber-heading>p:not(.section-label){font-size:17px;line-height:1.8;color:#d0d5cd;margin-bottom:20px}.cyber-section .link-button{color:var(--paper);font-size:14px;border-color:#ffffff55}.cyber-principles article{padding:28px 0;border-top:1px solid #ffffff33}.cyber-principles h3{font-size:26px;letter-spacing:-.03em;margin:15px 0}.cyber-principles p{font-size:16px;line-height:1.8;color:#d0d5cd}.parent-accreditations{padding:45px 0 55px;border-top:1px solid #c8c3ba}.accreditation-heading{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end}.accreditation-heading h2{font-size:32px;letter-spacing:-.035em;line-height:1.2;margin-top:18px}.accreditation-heading>p{font-size:14px;line-height:1.8;color:#62625c;max-width:570px}.accreditation-list{list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:25px;padding:0;margin:40px 0 30px}.accreditation-list a{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px}.accreditation-list img{width:125px;height:125px;object-fit:contain;margin-bottom:10px}.accreditation-list span{font-size:14px;font-weight:600}.accreditation-list small{font-size:12px;color:#62625c}.parent-accreditations>.link-button{font-size:13px}.service-cyber-note{max-width:1400px;width:calc(100% - 10vw);margin:60px auto 90px;padding:40px;border-left:3px solid var(--red);background:#eae7df}.service-cyber-note h2{font-size:32px;letter-spacing:-.03em;margin:18px 0}.service-cyber-note>p:not(.section-label){font-size:17px;line-height:1.8;max-width:900px;margin-bottom:20px}@media(max-width:850px){.cyber-section{padding:40px 28px;grid-template-columns:1fr;gap:35px}.accreditation-heading{grid-template-columns:1fr;gap:20px}.accreditation-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 15px}.accreditation-list img{width:100px;height:100px}}@media(max-width:500px){.cyber-section{width:calc(100% - 44px);margin-top:60px;padding:35px 24px}.cyber-heading h2{font-size:37px}.accreditation-list{grid-template-columns:repeat(2,minmax(0,1fr))}.accreditation-heading h2{font-size:28px}.service-cyber-note{width:calc(100% - 48px);padding:28px 24px}.service-cyber-note h2{font-size:28px}}

/* Keep the credentials with the cyber security story. */
.cyber-section>.parent-accreditations{grid-column:1/-1;padding:40px 0 0;margin-top:10px;border-color:#ffffff33}.cyber-section .accreditation-heading>p,.cyber-section .accreditation-list small{color:#c5ccc1}.cyber-section .accreditation-heading h2{font-size:28px}.cyber-section .accreditation-list{background:var(--paper);color:var(--ink,#242422);padding:28px 20px;margin:30px 0;border-radius:2px}.cyber-section .accreditation-list small{color:#62625c}.service-cyber-note+.parent-accreditations{max-width:1400px;width:calc(100% - 10vw);margin:-50px auto 80px}.cyber-section .parent-accreditations>.link-button{color:var(--paper)}@media(max-width:500px){.cyber-section .accreditation-heading h2{font-size:25px}.cyber-section .accreditation-list{padding:24px 12px;gap:25px 10px}.cyber-section .accreditation-list img{width:90px;height:90px}.cyber-section .accreditation-list span{font-size:12px}.cyber-section .accreditation-list small{font-size:11px}.service-cyber-note+.parent-accreditations{width:calc(100% - 48px)}}

/* Open editorial treatment: credentials belong to the section, not a nested card. */
.cyber-section{background:transparent;color:var(--ink,#242422);padding:65px 0 0;border-top:1px solid #c8c3ba;gap:55px 9%}.cyber-heading .section-label,.cyber-principles article>span{color:#786b60}.cyber-heading h2 span{color:#77766e}.cyber-heading>p:not(.section-label),.cyber-principles p{color:#595953}.cyber-principles article{border-color:#c8c3ba}.cyber-section .link-button,.cyber-section .parent-accreditations>.link-button{color:var(--ink,#242422);border-color:#a6a298}.cyber-section>.parent-accreditations{border-color:#c8c3ba;margin-top:0;padding-top:35px}.cyber-section .accreditation-heading>p{color:#62625c}.cyber-section .accreditation-heading h2{font-size:26px}.cyber-section .accreditation-list{background:none;padding:10px 0 5px;margin:32px 0 22px;gap:30px}.cyber-section .accreditation-list img{width:112px;height:112px}.cyber-section .accreditation-list a{gap:8px}.cyber-section .accreditation-list small{color:#77766e}.cyber-section .accreditation-list span{font-size:13px}@media(max-width:850px){.cyber-section{padding:45px 0 0;gap:35px}.cyber-section .accreditation-list{gap:30px 18px}}@media(max-width:500px){.cyber-section{padding:40px 0 0}.cyber-section .accreditation-list{padding:0;gap:30px 16px}.cyber-section .accreditation-list img{width:100px;height:100px}.cyber-section .accreditation-heading h2{font-size:25px}}

/* Quiet security motif, kept behind the editorial content. */
.cyber-section{position:relative;isolation:isolate;overflow:hidden}.cyber-watermark{position:absolute;z-index:-1;width:clamp(330px,40vw,650px);height:auto;left:-85px;top:125px;fill:none;stroke:#484d43;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;opacity:.045;pointer-events:none;transform:rotate(-9deg)}@media(max-width:850px){.cyber-watermark{width:440px;left:auto;right:-100px;top:130px;opacity:.035}}@media(prefers-reduced-motion:no-preference){.cyber-watermark{transition:opacity .4s ease}}

/* A bolder geometric shield with a cut keyhole and restrained brand accent. */
.cyber-watermark{width:clamp(350px,37vw,600px);left:-30px;top:115px;opacity:1;transform:rotate(-5deg);stroke:none}.cyber-watermark .shield-body{fill:#424b3e;fill-opacity:.035;stroke:#424b3e;stroke-opacity:.13;stroke-width:14;stroke-linejoin:miter}.cyber-watermark .shield-inset{fill:none;stroke:#424b3e;stroke-opacity:.08;stroke-width:3}.cyber-watermark .shield-accent{fill:none;stroke:var(--red);stroke-opacity:.2;stroke-width:14;stroke-linecap:square;stroke-linejoin:miter}.cyber-watermark .shield-key{fill:#424b3e;fill-opacity:.1;stroke:none}@media(max-width:850px){.cyber-watermark{width:420px;left:auto;right:-85px;top:140px;opacity:.8}}

/* Related architectural motifs, one per editorial chapter. */
.intro-section,.people-section,.connectivity-section,.practical{position:relative;isolation:isolate}.section-watermark{position:absolute;z-index:-1;width:360px;height:auto;fill:none;stroke:#424b3e;stroke-width:10;stroke-opacity:.08;stroke-linecap:square;stroke-linejoin:miter;pointer-events:none;transform:rotate(-6deg)}.section-watermark .motif-accent{stroke:var(--red);stroke-opacity:.15}.watermark-house{width:330px;right:6%;top:10px}.watermark-people{width:440px;left:15%;top:150px}.watermark-circuit{width:420px;right:5%;top:30px;transform:rotate(7deg)}.watermark-conversation{width:270px;left:0;top:90px;transform:rotate(-8deg)}@media(max-width:720px){.section-watermark{stroke-opacity:.06}.watermark-house{width:230px;right:0;top:85px}.watermark-people{width:300px;left:0;top:140px}.watermark-circuit{width:270px;right:0;top:40px}.watermark-conversation{width:210px;left:0;top:35px}.section-watermark .motif-accent{stroke-opacity:.11}}
.watermark-house .smart-signal{stroke:var(--red);stroke-opacity:.2;stroke-width:9;stroke-linecap:round}.watermark-house .smart-hub{fill:var(--red);fill-opacity:.18;stroke:none}.watermark-house .smart-links{stroke-width:6}
/* Engineering detail for the M-Tech story. */
.watermark-people{width:460px;left:19%;top:150px;transform:rotate(-12deg);stroke-width:5;stroke-opacity:.075}.watermark-people .technical-core{stroke-width:9;stroke-opacity:.11}.watermark-people .technical-die{fill:#424b3e;fill-opacity:.035;stroke-width:3}.watermark-people .technical-detail{stroke-width:4}.watermark-people .motif-accent{stroke-width:6;stroke-opacity:.16}@media(max-width:720px){.watermark-people{width:300px;left:0;top:150px;stroke-opacity:.06}}
/* Residential design drawing for the team's engineering experience. */
.watermark-people{width:430px;left:20%;top:170px;transform:rotate(-7deg);stroke-width:4;stroke-opacity:.09}.watermark-people .plan-walls{stroke-width:7}.watermark-people .plan-doors,.watermark-people .plan-dimensions{stroke-width:2;stroke-opacity:.08}.watermark-people .motif-accent{stroke-width:5;stroke-opacity:.17}.watermark-people circle{fill:var(--paper);stroke-width:4}@media(max-width:720px){.watermark-people{width:290px;left:0;top:160px}}
.technology-heading{position:relative;isolation:isolate}.watermark-technology{width:330px;right:0;top:-55px;transform:rotate(8deg);stroke-width:6;stroke-opacity:.075}.watermark-technology .motif-accent{stroke-opacity:.15}@media(max-width:720px){.watermark-technology{width:220px;right:0;top:0;stroke-opacity:.055}}
.experience-home-link{margin-top:18px;display:table}@media(min-width:721px) and (max-width:1250px){.masthead .group-endorsement-header{display:none}.masthead nav{gap:20px}}

/* Open editorial routes and a readable project journey. */
.project-paths,.project-journey{width:92%;max-width:1580px;margin:0 auto;padding:100px 0}.project-heading{display:grid;grid-template-columns:1fr 1.5fr;column-gap:7%;align-items:end}.project-heading .section-label{grid-column:1/-1}.project-heading h2,.journey-heading h2{font-size:clamp(36px,4.2vw,66px);line-height:1.1;letter-spacing:-.055em;font-weight:500;margin:12px 0 28px}.project-heading>p:last-child{max-width:490px;font-size:19px;line-height:1.7;margin-bottom:28px}.project-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5%;margin-top:35px}.project-options article{border-top:1px solid var(--line);padding-top:25px;display:flex;flex-direction:column;align-items:flex-start}.path-number{color:var(--red);font-size:14px;letter-spacing:.08em}.project-options h3{font-size:clamp(24px,2.2vw,34px);line-height:1.25;letter-spacing:-.035em;font-weight:500;max-width:360px;margin:20px 0 16px}.project-options p{font-size:17px;max-width:390px;margin:0 0 28px;color:var(--muted)}.project-options .link-button{margin-top:auto;text-align:left}.project-journey{border-top:1px solid var(--line)}.journey-heading{max-width:770px}.journey-heading>p:last-child{font-size:20px;color:var(--muted)}.journey-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3.5%;list-style:none;padding:0;margin:55px 0 65px}.journey-steps li{border-top:2px solid var(--red);padding-top:23px}.journey-steps li>span{font-size:12px;letter-spacing:.1em;color:var(--red)}.journey-steps h3{font-size:23px;font-weight:500;line-height:1.3;letter-spacing:-.03em;margin:18px 0 14px}.journey-steps p{font-size:16px;color:var(--muted);margin:0}.aftercare-note{display:grid;grid-template-columns:1fr 2fr;gap:7%;border-top:1px solid var(--line);padding-top:40px}.aftercare-note h3{font-size:clamp(27px,3vw,42px);font-weight:500;letter-spacing:-.04em;line-height:1.2;margin:0 0 20px}.aftercare-note p:not(.section-label){font-size:18px;max-width:730px;color:var(--muted)}#enquiry select{display:block;width:100%;font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:0;padding:12px;margin-top:7px}#enquiry select:focus-visible{outline:2px solid var(--red);outline-offset:3px}
@media(max-width:1000px){.journey-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px}.project-options{gap:3%}.project-options h3{font-size:26px}}
@media(max-width:720px){.project-paths,.project-journey{padding:65px 0}.project-heading{display:block}.project-heading h2{margin-bottom:22px}.project-options{grid-template-columns:1fr;gap:32px;margin-top:30px}.project-options h3{max-width:100%;font-size:29px;margin-top:12px}.project-options p{max-width:100%;margin-bottom:15px}.journey-steps{grid-template-columns:1fr;gap:28px;margin:35px 0 45px}.journey-steps h3{margin:12px 0}.aftercare-note{grid-template-columns:1fr;gap:15px}.aftercare-note p.section-label{margin:0}.project-journey .journey-heading h2{font-size:38px}}

/* Composition pass: varied proportions, quieter motion, clearer hierarchy. */
h1,h2,h3{text-wrap:balance}
.motion-ready .reveal{opacity:1;transform:translateY(20px);transition:transform .6s cubic-bezier(.2,.65,.3,1)}
.motion-ready .reveal.is-visible{opacity:1;transform:none}
.project-paths{display:grid;grid-template-columns:.85fr 1.15fr;gap:9%;padding-block:110px}
.project-heading{display:block;align-self:start;position:sticky;top:50px}
.project-heading h2{font-size:clamp(40px,4.2vw,66px);max-width:560px}
.project-heading h2 span,.journey-heading h2 span{color:var(--red)}
.project-heading>p:last-child{max-width:370px;font-size:18px}
.project-options{display:block;margin:0}
.project-options article{display:grid;grid-template-columns:60px minmax(0,1fr);column-gap:24px;padding:30px 0;border-top:1px solid var(--line);position:relative}
.project-options article:last-child{border-bottom:1px solid var(--line)}
.project-options .path-number{grid-column:1;grid-row:1/4;font-size:40px;line-height:1.2;letter-spacing:-.06em;color:#a1998b}
.project-options h3{grid-column:2;margin:0 0 15px;max-width:470px;font-size:clamp(25px,2.3vw,35px)}
.project-options p{grid-column:2;max-width:500px;font-size:17px;margin-bottom:22px}
.project-options .link-button{grid-column:2;justify-self:start}
.project-journey{display:grid;grid-template-columns:.85fr 1.15fr;gap:50px 9%;padding-block:100px;border-top:0}
.journey-heading{align-self:start;max-width:500px}.journey-heading h2{font-size:clamp(40px,4.2vw,66px)}
.journey-heading>p:last-child{max-width:330px;font-size:19px}
.journey-steps{grid-template-columns:1fr;gap:0;margin:0;padding-left:28px;border-left:1px solid var(--line)}
.journey-steps li{position:relative;border:0;padding:0 0 32px 20px;max-width:560px}
.journey-steps li:last-child{padding-bottom:0}
.journey-steps li:before{content:'';position:absolute;left:-34px;top:5px;width:10px;height:10px;background:var(--paper);border:2px solid var(--red);border-radius:50%;box-shadow:0 0 0 6px var(--paper)}
.journey-steps h3{font-size:26px;margin:10px 0}.journey-steps p{font-size:17px}
.aftercare-note{grid-column:1/-1;background:#eae6dd;border:0;padding:40px;grid-template-columns:.85fr 1.15fr;gap:9%;position:relative}
.aftercare-note:before{content:'';position:absolute;left:0;top:0;width:48px;height:3px;background:var(--red)}
.aftercare-note h3{font-size:clamp(27px,2.6vw,39px)}
.service-explore span,.link-button span,.white-link span{transition:transform .25s}
.service-explore:hover span,.link-button:hover span,.white-link:hover span{transform:translate(3px,-3px)}
.technology-list li:hover{background:#eae6dd66}
@media(min-width:1051px){
.service-gallery{grid-template-columns:repeat(12,minmax(0,1fr));gap:24px}
.service-gallery .service-row{grid-column:span 7;aspect-ratio:auto;min-height:580px;padding:clamp(34px,3.3vw,60px);gap:90px}
.service-gallery .service-row:nth-child(2),.service-gallery .service-row:nth-child(3){grid-column:span 5}
.service-gallery .service-content h3{font-size:clamp(38px,3.3vw,58px);line-height:1.08;max-width:600px}
.service-gallery .service-content>p{font-size:18px;line-height:1.7;max-width:510px}
.service-gallery .service-items{font-size:12px}
.service-gallery .service-image-note{grid-column:1/-1}
}
@media(max-width:850px){
.project-paths,.project-journey{grid-template-columns:1fr;gap:35px;padding-block:70px}
.project-heading{position:static}.project-heading>p:last-child,.journey-heading>p:last-child{max-width:530px;margin-bottom:0}
.project-options article{grid-template-columns:46px minmax(0,1fr);column-gap:18px}.project-options .path-number{font-size:32px}
.project-options h3{font-size:28px}.project-options p{max-width:100%}
.journey-steps{margin-left:6px}.journey-steps li{max-width:100%}
.aftercare-note{grid-template-columns:1fr;padding:28px;gap:15px}.aftercare-note h3{font-size:30px}
}
@media(prefers-reduced-motion:reduce){.motion-ready .reveal{transform:none;transition:none}.service-explore span,.link-button span,.white-link span{transition:none}}

/* Keep the full footer wordmark within the mobile content width. */
@media(max-width:720px){.footer-word{font-size:12vw}.watermark-people{max-width:calc(100% - 40px)}}

/* An open disclosure row keeps the mobile partner directory easy to browse. */
.technology-list>li[hidden],.technology-toggle[hidden]{display:none}
.technology-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 0;text-align:left;border:0;border-top:1px solid var(--ink);border-bottom:1px solid var(--line);border-radius:0;background:transparent;color:var(--ink);font:inherit;cursor:pointer}
.technology-toggle-label{display:block;font-size:17px;font-weight:500;line-height:1.45;letter-spacing:-.02em}
.technology-toggle-count{display:block;margin-top:5px;font-size:13px;line-height:1.5;color:var(--muted)}
.technology-toggle-symbol{flex:none;font-size:30px;line-height:1;color:var(--red);font-weight:400}
.technology-toggle:hover .technology-toggle-label{color:var(--red)}
.technology-toggle:focus-visible{outline:2px solid var(--red);outline-offset:6px}
@media(max-width:720px){.technology-list>li{scroll-margin-top:24px}}

/* Ongoing care is a core service, from the first conversation onwards. */
.care-feature{position:relative;isolation:isolate;overflow:hidden;width:92%;max-width:1580px;margin:110px auto;padding:65px;background:#e9e4da;display:grid;grid-template-columns:1.1fr 1fr;gap:45px 8%;border-top:3px solid #a13a33}
.care-feature-heading>.section-label,.care-crosslink .section-label{font-size:12px;letter-spacing:1.2px;color:#a13a33;margin:0 0 30px}
.care-feature h2,.care-crosslink h2{font-size:clamp(37px,4.2vw,65px);line-height:1.08;letter-spacing:-.055em;font-weight:500;margin:0 0 30px}
.care-feature h2 span,.care-crosslink h2 span{color:#a13a33}
.care-feature .care-lead{font-size:23px;color:#242422;line-height:1.45;margin:0 0 22px;letter-spacing:-.025em}
.care-feature-heading>p:not(.section-label):not(.care-lead){font-size:18px;line-height:1.8;color:#595953;max-width:580px;margin:0 0 30px}
.care-feature-services article{border-top:1px solid #bcb4a6;padding:25px 0;margin:0}
.care-feature-services article:first-child{padding-top:0;border:0}
.care-feature-services article:last-child{padding-bottom:0}
.care-feature-services article>span{font-size:11px;letter-spacing:1px;color:#8a483e;display:block;margin-bottom:15px}
.care-feature-services h3{font-size:26px;line-height:1.25;font-weight:500;letter-spacing:-.03em;margin:0 0 15px}
.care-feature-services p{font-size:16px;line-height:1.8;color:#595953;margin:0}
.care-feature-bottom{grid-column:1/-1;border-top:1px solid #bcb4a6;padding-top:28px;display:flex;justify-content:space-between;align-items:center;gap:30px}
.care-feature-bottom p{font-size:14px;line-height:1.7;max-width:470px;margin:0;color:#686154}
.care-feature-bottom .link-button{font-size:15px;flex-shrink:0}
.care-watermark{fill:none;stroke:#6d7060;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}
.care-feature>.care-watermark{position:absolute;width:530px;right:-55px;top:-80px;opacity:.065;z-index:-1;pointer-events:none}
.care-watermark .care-signal{stroke:#a13a33;stroke-width:6}
.care-crosslink{width:92%;max-width:1580px;margin:90px auto;display:grid;grid-template-columns:1fr 1fr;gap:9%;border-block:1px solid #c8c3ba;padding:50px 0}
.care-crosslink h2{font-size:clamp(33px,3.5vw,52px);margin-bottom:0}
.care-crosslink>div:last-child{align-self:center}.care-crosslink p:not(.section-label){font-size:18px;line-height:1.8;color:#595953;margin:0 0 25px}
.journey-steps .link-button{font-size:14px;margin-top:20px}
@media(min-width:1001px) and (max-width:1280px){.masthead nav{gap:14px;font-size:14px}.masthead nav button{font-size:14px;min-width:110px;padding:12px}.masthead{gap:20px}}
@media(max-width:1000px){.care-feature{padding:40px;gap:35px 6%}.care-feature h2{font-size:43px}.care-feature-services h3{font-size:24px}.care-feature-bottom{align-items:start;flex-direction:column;gap:20px}}
@media(max-width:720px){.care-feature{width:calc(100% - 40px);margin:65px auto;grid-template-columns:1fr;padding:30px 25px;gap:35px}.care-feature h2{font-size:38px}.care-feature .care-lead{font-size:22px}.care-feature-heading>p:not(.section-label):not(.care-lead){font-size:17px}.care-feature-services article:first-child{border-top:1px solid #bcb4a6;padding-top:25px}.care-feature-services h3{font-size:25px}.care-feature-bottom{grid-column:1;padding-top:25px}.care-feature-bottom .link-button{font-size:14px}.care-crosslink{width:calc(100% - 40px);grid-template-columns:1fr;gap:28px;margin:60px auto;padding:35px 0}.care-crosslink h2{font-size:36px}.care-crosslink p:not(.section-label){font-size:17px}.care-feature>.care-watermark{width:380px;right:-90px;top:-30px}}
/* Ongoing care: three distinct service illustrations. */
.care-art{display:block;fill:none;stroke:#353e36;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;width:110px;height:auto;flex-shrink:0}
.care-art .care-art-guide{stroke:#b9b1a3;stroke-width:2}
.care-art .care-art-accent{stroke:#a13a33}
.care-art .care-art-dot{fill:#a13a33;stroke:none}
.care-art .care-art-control{fill:#f4f2ed}
.care-feature-services>article{position:relative;padding-right:120px;min-height:145px}
.care-feature-services>article>.care-art{position:absolute;right:0;top:20px;width:105px}
.care-feature-services>article:first-child>.care-art{top:0}
@media(max-width:1100px){.care-feature-services>article{padding-right:85px}.care-feature-services>article>.care-art{width:78px}}
@media(max-width:720px){.care-feature-services>article{padding-right:0}.care-feature-services>article>.care-art{position:static;width:95px;margin:0 0 12px -10px}}

/* Persistent navigation with a compact scrolling state. */
html{scroll-padding-top:100px}
.masthead.masthead-dark{position:sticky;top:0;z-index:100;transition:padding .22s ease,min-height .22s ease,box-shadow .22s ease}
.masthead .identity>img{transition:width .22s ease,height .22s ease}
.masthead .identity>span{transition:font-size .22s ease}
.masthead.is-compact{min-height:76px;padding-block:12px;box-shadow:0 6px 22px #00000014}
.masthead.is-compact .identity>img{width:40px;height:40px}
.masthead.is-compact .identity>span{font-size:30px;letter-spacing:-1.4px}
.masthead.is-compact .identity small{font-size:8px;letter-spacing:4px;padding-top:6px}
.masthead.is-compact .group-endorsement-header{display:none}
.masthead.is-compact nav button{padding-block:10px}
@media(max-width:720px){html{scroll-padding-top:86px}.masthead.is-compact{min-height:68px;padding-block:11px}.masthead.is-compact .identity>img{width:36px;height:36px}.masthead.is-compact .identity>span{font-size:28px}.masthead.is-compact .mobile-menu{align-self:center;margin-top:0;padding-block:10px}.masthead-dark nav{top:100%;max-height:calc(100dvh - 100%);overflow-y:auto;overscroll-behavior:contain}}
@media(prefers-reduced-motion:reduce){.masthead.masthead-dark,.masthead .identity>img,.masthead .identity>span{transition:none}}

/* Mobile QA: shared navigation, forms and narrow-screen containment. */
html{scroll-padding-top:calc(var(--header-height,108px) + 18px)}
.masthead.masthead-dark{height:auto}
.skip{z-index:110}
.breadcrumbs{flex-wrap:wrap}
.project-heading{top:calc(var(--header-height,108px) + 24px)}
form select{font:inherit;font-size:16px;color:var(--ink);background:transparent;border:1px solid var(--line);border-radius:0;padding:12px;min-width:0;width:100%;max-width:100%}
dialog{max-height:calc(100dvh - 32px);overscroll-behavior:contain}
dialog .close{width:44px;height:44px;line-height:1}
@media(max-width:1000px){
 .masthead-dark .group-endorsement-header{display:none}
 .masthead-dark .mobile-menu{display:block;margin-left:auto;align-self:center;margin-top:0;flex-shrink:0;min-width:64px;min-height:44px;background:none;border:0;color:var(--paper);padding:10px 0;font-size:15px;text-align:right}
 .masthead-dark nav{display:none;position:absolute;top:100%;left:0;right:0;margin:0;z-index:30;background:#151918;color:var(--paper);border-bottom:1px solid #ffffff30;padding:16px max(22px,4vw) 24px;flex-direction:column;align-items:stretch;gap:8px;max-height:calc(100dvh - var(--header-height,108px));overflow-y:auto;overscroll-behavior:contain}
 .masthead-dark nav.open{display:flex}
 .masthead-dark nav a{display:flex;align-items:center;min-height:44px;font-size:17px;padding-block:10px}
 .masthead-dark nav button{font-size:16px;min-height:46px;margin-top:8px}
}
@media(max-width:720px){
 .masthead.masthead-dark{min-height:84px;padding-block:16px;gap:14px}
 .masthead .brand-lockup{gap:0;min-width:0}
 .masthead .identity{gap:10px}
 .masthead .identity>img{width:38px;height:38px}
 .masthead .identity>span{font-size:30px;letter-spacing:-1.5px}
 .masthead .identity small{font-size:8px;letter-spacing:4px;padding-top:7px}
 .masthead.is-compact{min-height:68px;padding-block:11px}
 .link-button,.white-link,.service-explore{min-height:44px;align-items:center}
 .service-directory a,.footer-nav a:not(.group-endorsement){min-height:44px;align-items:center}
 .interest-options span{min-height:44px;display:flex;align-items:center}
 .interest-options label,.form-pair>label{min-width:0;max-width:100%}
 .email-actions{flex-wrap:wrap}
 .contact-bottom>div,.connection-intro>div,.connection-faq>div,.guide-rows article>div{min-width:0}
 .contact-bottom a{overflow-wrap:anywhere}
 .questions details p{padding-right:0}
}
@media(max-width:380px){
 .masthead.masthead-dark{padding-inline:16px;gap:10px}
 .masthead .identity>img{width:34px;height:34px}
 .masthead .identity>span{font-size:27px}
 .masthead .identity{gap:8px}
 .technology-list .vendor-name{overflow-wrap:anywhere}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
