@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
:root{--navy:#0b2133;--deep:#071725;--ink:#102b3e;--muted:#62717b;--red:#ed3f35;--paper:#fff;--mist:#f2f5f5;--line:#dce3e5;--font:'DM Sans',Arial,sans-serif;--heading:'Manrope',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:#fff;color:var(--ink);font-family:var(--font);line-height:1.7;font-size:15px;-webkit-font-smoothing:antialiased}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--heading);font-weight:600;letter-spacing:-.045em;line-height:1.13}h2{font-size:clamp(34px,4vw,57px)}h2 em{font-style:normal;color:#778b98}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;max-width:100%}button:focus-visible,a:focus-visible{outline:3px solid #fa8d59;outline-offset:6px}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--red);outline-offset:3px}.container{width:min(1280px,calc(100% - 112px));margin-inline:auto}.section{padding-block:115px}.skip-link{position:fixed;top:-100px;left:10px;z-index:300;background:white;color:var(--ink);padding:15px}.skip-link:focus{top:10px}.header{height:106px;display:flex;align-items:center;justify-content:space-between;padding:0 4%;position:absolute;inset:0 0 auto;z-index:50;color:white;border-bottom:1px solid #ffffff20;gap:35px;transition:background .25s,height .25s,box-shadow .25s}.header.scrolled{position:fixed;height:90px;background:rgba(7,23,37,.97);box-shadow:0 5px 25px #0002}.brand{display:flex;align-items:center;gap:14px;flex-shrink:0}.brand-symbol{font:800 40px var(--heading);letter-spacing:-7px;color:#f23d32;line-height:1;position:relative;padding-right:8px}.brand-symbol>span{position:absolute;width:27px;height:2px;bottom:-7px;left:3px;background:currentColor}.brand-name{font:700 17px var(--heading);letter-spacing:.08em;line-height:1.2}.brand-name small{display:block;font:500 8px var(--font);letter-spacing:.16em;margin-top:7px}.brand-logo{width:72px;height:72px;object-fit:contain;background:#fff;border-radius:2px}.header nav{display:flex;gap:30px;font-size:12px;font-weight:500;margin-left:auto}.header nav a{position:relative;padding-block:10px}.header nav a:after{content:'';position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--red);transition:width .25s}.header nav a:hover:after{width:100%}.header-cta{font-size:12px;font-weight:600;display:flex;gap:38px;align-items:center;padding:14px 19px;border:1px solid #ffffff60}.header-cta:hover{background:white;color:var(--ink)}.header-cta span{font-size:20px}.menu-button{display:none;color:white;background:none;border:0;padding:10px}.menu-button span{display:block;width:25px;height:2px;background:currentColor;margin:6px 0}.hero{height:min(960px,100svh);min-height:780px;position:relative;background:var(--deep);overflow:hidden;color:#fff}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%;animation:hero-in 1.3s ease-out both}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,18,32,.91),rgba(4,20,33,.66) 32%,rgba(5,19,30,.12) 66%,rgba(5,19,30,.12)),linear-gradient(0deg,rgba(3,17,29,.94),transparent 36%)}.hero-grid{position:absolute;left:4%;top:106px;bottom:80px;width:1px;background:#ffffff09}.hero-copy{position:relative;z-index:2;padding:clamp(172px,20vh,225px) 0 120px 7%;width:57%;pointer-events:none}.hero-copy a{pointer-events:auto}.eyebrow{font-size:10px;letter-spacing:.18em;font-weight:600;display:flex;align-items:center;gap:10px;margin-bottom:24px}.light{color:#bbcad4}.live-dot{width:6px;height:6px;background:var(--red);box-shadow:0 0 0 5px #ed3f3520;border-radius:50%;flex-shrink:0}.hero h1{font-size:clamp(56px,6.15vw,94px);font-weight:500;line-height:1.07;letter-spacing:-.065em;margin-left:-5px}.hero h1>span{color:#d1dce2}.hero-description{color:#d0d8de;margin-top:27px;font-size:16px;line-height:1.85}.hero-actions{display:flex;align-items:center;gap:29px;margin-top:34px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:17px 23px;min-height:56px;font-size:12px;font-weight:600;border:1px solid transparent;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button span{font-size:19px;line-height:1}.red{background:var(--red);color:#fff}.red:hover{background:#d63229}.hero-secondary{font-size:12px;display:flex;gap:22px;align-items:center}.hero-secondary span{font-size:19px}.hero-secondary:hover{color:#ff8b82}.building-systems{position:absolute;left:49%;right:5%;top:24%;bottom:16%;z-index:3}.connection-lines{position:absolute;width:100%;height:100%;opacity:.55;color:#ed3f35;pointer-events:none}.connection-lines path{fill:none;stroke:currentColor;stroke-width:1;stroke-dasharray:5 9;animation:flow 40s linear infinite}.system-point{border:0;background:none;padding:8px;color:white;position:absolute;display:flex;align-items:center;gap:9px;white-space:nowrap;transform:translate(-50%,-50%)}.point-core{background:#112838a0;display:grid;place-items:center;width:30px;height:30px;border:1px solid #ffffff90;border-radius:50%;font-size:20px;line-height:1;backdrop-filter:blur(8px);box-shadow:0 0 0 7px #fff1;transition:.25s}.point-tag{background:#081b2ce0;backdrop-filter:blur(8px);padding:8px 11px;font-size:8px;letter-spacing:.1em;border:1px solid #ffffff30}.point-tag i{display:inline-block;height:4px;width:4px;background:var(--red);margin-right:7px;vertical-align:middle}.system-point:hover .point-core,.system-point.active .point-core{background:var(--red);border-color:var(--red);box-shadow:0 0 0 8px #ed3f3525}.point-fire{left:26%;top:20%}.point-security{left:83%;top:46%}.point-tv{left:19%;top:61%}.point-wifi{left:65%;top:76%}.system-caption{position:absolute;bottom:-6%;right:0;width:300px;padding:19px 0 0;border-top:1px solid #ffffff50;text-shadow:0 1px 8px #000}.system-caption>span{font-size:9px;letter-spacing:.15em;color:#becbd3}.system-caption h2{font-size:19px;letter-spacing:-.02em;line-height:1.4;margin:8px 0 15px}.system-caption a{font-size:10px;display:flex;justify-content:space-between}.system-caption a:hover{color:#ff9088}.hero-bottom{position:absolute;bottom:35px;left:7%;right:7%;display:flex;align-items:center;justify-content:space-between;font-size:8px;letter-spacing:.15em;z-index:4}.hero-bottom>div{display:flex;align-items:center;gap:12px}.tiny-square{display:block;height:4px;width:4px;background:var(--red)}.hero-bottom a{display:flex;gap:45px;font-size:10px;letter-spacing:0}.hero-bottom a span{font-size:18px}.image-caption{position:absolute;right:10px;bottom:5px;font-size:7px;color:#c7d2d9;opacity:.75}.proof-bar{padding:30px 7%;display:grid;grid-template-columns:1fr 1fr 1fr 1fr;align-items:center;border-bottom:1px solid var(--line);gap:25px}.proof-bar strong{font-size:17px;display:block;font-family:var(--heading);letter-spacing:-.03em}.proof-bar span{font-size:10px;display:block;margin-top:4px;color:var(--muted)}.proof-bar>a{font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:space-between;padding-left:25px;border-left:1px solid var(--line)}.proof-bar>a span{font-size:22px;color:var(--red);margin:0}.section-kicker{display:flex;gap:15px;align-items:center;font-size:9px;letter-spacing:.16em;font-weight:600;margin-bottom:35px}.section-kicker>span{font-size:9px;color:var(--red);border:1px solid #ed3f3550;width:24px;height:24px;display:grid;place-items:center;letter-spacing:0}.intro-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:9%}.intro h2{font-size:clamp(32px,3.5vw,49px);line-height:1.25}.intro-body{padding-top:5px}.lead{font-size:19px;line-height:1.7;color:var(--ink);margin-bottom:20px}.intro-body>p:not(.lead),.about-right>p:not(.lead){color:var(--muted);font-size:14px;line-height:1.95}.text-link{display:inline-flex;align-items:center;gap:35px;font-size:11px;font-weight:600;padding-bottom:9px;border-bottom:1px solid #adbcc5;margin-top:25px}.text-link span{font-size:18px;color:var(--red)}.text-link:hover{color:var(--red);border-color:var(--red)}.systems{background:var(--mist)}.section-top{display:flex;justify-content:space-between;align-items:end;gap:60px;margin-bottom:50px}.section-top h2{font-size:clamp(34px,3.6vw,51px);line-height:1.19}.section-top>.section-kicker{margin:0}.section-top>p{max-width:340px;color:var(--muted);font-size:13px;line-height:1.9;padding-bottom:4px}.services-list{border-top:1px solid #ccd6db}.service-row{display:flex;align-items:center;gap:25px;padding:32px 0;border-bottom:1px solid #ccd6db;position:relative;transition:padding .3s,background .3s}.service-row:hover{padding-inline:18px;background:#fff}.service-no{font-size:10px;color:#8698a3;margin-right:5px}.service-icon{width:42px;height:42px;color:var(--ink);display:block;flex-shrink:0}.service-icon svg{width:100%;height:100%;stroke-width:1.2}.service-row h3{font-size:23px;margin-bottom:7px;letter-spacing:-.04em}.service-row p{font-size:12px;color:var(--muted)}.service-tags{margin-left:auto;max-width:220px;font-size:9px;color:#6b7f8b;padding-left:20px}.round-arrow{height:43px;width:43px;border:1px solid #becdd4;border-radius:50%;display:grid;place-items:center;flex-shrink:0;font-size:22px;margin-left:20px;transition:.3s}.service-row:hover .round-arrow{background:var(--red);color:white;border-color:var(--red)}.feature-project{display:grid;grid-template-columns:1fr 1fr;background:var(--navy);color:white}.feature-illustration{background:radial-gradient(ellipse at center,#173c53,#0d283c);position:relative;display:flex;align-items:center;justify-content:center;min-height:690px;overflow:hidden}.feature-illustration:before{content:'';position:absolute;inset:0;background-image:linear-gradient(#ffffff05 1px,transparent 1px),linear-gradient(90deg,#ffffff05 1px,transparent 1px);background-size:45px 45px}.building-drawing{width:80%;color:#6e8d9e;position:relative}.building-drawing svg{display:block;width:100%;height:auto}.drawing-label{position:absolute;left:8%;top:45px;font-size:8px;letter-spacing:.18em;color:#a7bfcd}.drawing-note{position:absolute;bottom:28px;left:8%;color:#9bb3c1;font-size:9px}.feature-copy{padding:75px 13% 75px 11%}.feature-copy h2{font-size:clamp(43px,4.7vw,66px);line-height:1.1;margin-bottom:26px}.feature-copy h2 em{color:#ed7d73}.feature-copy>p:not(.project-type){font-size:13px;line-height:1.9;color:#b5c4ce}.project-type{font-size:8px;letter-spacing:.12em;color:#c1cdd5;margin-bottom:20px}.feature-copy .section-kicker{margin-bottom:42px}.scope-pills{display:flex;flex-wrap:wrap;gap:8px;margin-block:22px}.scope-pills span{font-size:9px;padding:5px 10px;border:1px solid #ffffff30;color:#e0e8ed}.feature-copy>p.project-client{font-size:10px}.text-link.white{color:white;border-color:#647b8a}.project-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line);padding-bottom:25px}.project-filters{display:flex;gap:10px;flex-wrap:wrap}.project-filters button{font-size:10px;border:1px solid var(--line);background:white;color:var(--muted);padding:8px 15px}.project-filters button.selected{background:var(--navy);border-color:var(--navy);color:white}.project-filters button:hover{border-color:var(--ink)}#project-counter{font-size:8px;color:var(--muted);letter-spacing:.1em;white-space:nowrap}.project-item{display:grid;grid-template-columns:50px 1fr 90px 160px;gap:15px;align-items:center;padding:28px 0;border-bottom:1px solid var(--line);transition:background .2s}.project-item[hidden]{display:none}.project-item:hover{background:#f7f9f9}.project-index{font-size:10px;color:#94a4ae}.project-sector{font-size:8px;letter-spacing:.1em;color:#8b5c59}.project-item h3{font-size:21px;margin:7px 0;line-height:1.3}.project-item p{font-size:11px;color:var(--muted)}.project-year{font-size:11px;color:var(--muted)}.project-kind{font-size:8px;letter-spacing:.07em;color:#6b7b84;text-align:right}.record-note{font-size:10px;color:#72828c;margin-top:20px}.about{background:#f3f5f4}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:13%}.about h2{font-size:clamp(38px,4.1vw,57px);line-height:1.2}.since{border-top:1px solid #b6c7cb;padding:20px 0 25px;display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.since>span{font-size:9px;letter-spacing:.15em}.since strong{font-family:var(--heading);font-weight:500;font-size:60px;letter-spacing:-.08em;line-height:1}.since strong span{font-size:25px;color:var(--red);display:inline-block;margin-left:20px}.about-values{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:30px}.about-values>div{border-top:1px solid #cad6d9;padding-top:18px}.about-values span{display:block;font-size:9px;color:var(--red);margin-bottom:10px}.about-values strong{font-size:12px}.about-values p{font-size:11px;color:var(--muted);margin-top:8px;line-height:1.9}.company-logo-panel{display:flex;align-items:center;gap:45px;margin-bottom:30px}.company-logo-panel img{width:225px;height:225px;object-fit:contain;background:#fff}.company-logo-panel>span{font-size:10px;letter-spacing:.1em;color:var(--muted)}.credential-grid{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:45px;border-top:1px solid var(--line);padding-top:35px}.credential-label{font-size:8px;letter-spacing:.1em;color:#8b5c59}.credential-grid h3{font-size:19px;margin:13px 0}.credential-grid p{font-size:12px;color:var(--muted);line-height:1.9}.credential-grid .text-link{margin-top:15px}.process{background:var(--deep);color:#fff}.process-heading{display:flex;justify-content:space-between;align-items:end;gap:60px}.process-heading h2{font-size:clamp(35px,4vw,55px)}.process-heading h2 em{color:#859bab}.process-heading>p{max-width:310px;font-size:13px;color:#b9c7d1}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:55px;margin-top:60px}.process-grid>div{border-top:1px solid #496071;padding-top:25px}.process-grid>div>span{font-size:8px;letter-spacing:.12em;color:#d58d85}.process-grid h3{font-size:20px;line-height:1.4;margin:20px 0 14px}.process-grid p{font-size:12px;color:#a1b5c3;line-height:1.9}.contact{display:grid;grid-template-columns:1fr 1.2fr;gap:12%}.contact h2{font-size:clamp(48px,5.1vw,74px);line-height:1.08}.contact-heading>p{font-size:14px;line-height:1.9;color:var(--muted);margin-top:25px}.contact-phone{display:flex;align-items:center;gap:30px;font-size:27px;letter-spacing:-.05em;font-family:var(--heading);margin-top:38px}.contact-phone span{font-size:22px;color:var(--red)}.contact-email{font-size:13px;display:inline-block;margin-top:7px;color:var(--muted);border-bottom:1px solid #cad6dc}.contact-person{display:flex;gap:13px;align-items:center;margin-top:40px}.person-monogram{display:grid;place-items:center;width:45px;height:45px;border:1px solid var(--line);border-radius:50%;font-size:11px}.contact-person p{font-size:11px}.contact-person p span{display:block;color:var(--muted);font-size:10px}.enquiry-form{padding-top:2px}.form-top{padding-bottom:25px;border-bottom:1px solid var(--line);margin-bottom:25px}.form-top h3{font-size:23px}.form-top p{font-size:11px;color:var(--muted);margin-top:10px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}label{display:flex;flex-direction:column;font-size:10px;font-weight:600;gap:7px;margin-bottom:24px}input,select,textarea{background:#f6f8f8;border:1px solid #dce3e5;border-radius:0;min-width:0;max-width:100%;width:100%;padding:13px 12px;font-size:12px;font-weight:400;color:var(--ink)}input::placeholder,textarea::placeholder{color:#84939b}textarea{resize:vertical;min-height:110px}.submit{width:100%}.form-note{font-size:9px;line-height:1.9;color:var(--muted);margin-top:15px}.closing{background:var(--red);color:white;padding:64px 0}.closing>.container{position:relative}.closing span{font-size:9px;letter-spacing:.2em}.closing p{font-size:clamp(35px,4.2vw,62px);font-family:var(--heading);letter-spacing:-.05em;line-height:1.15;margin-top:22px}.closing em{font-style:normal;color:#ffd5d0}.closing a{position:absolute;right:0;top:50%;transform:translateY(-50%);width:65px;height:65px;border:1px solid #ffffff60;border-radius:50%;display:grid;place-items:center;font-size:28px}.footer{padding-top:50px;padding-bottom:25px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-bottom:40px}.dark-brand{color:var(--ink)}.footer-top>p{font-size:11px;color:var(--muted)}.footer-top>div{display:flex;gap:25px;font-size:10px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:20px;border-top:1px solid var(--line);font-size:9px;color:var(--muted)}.footer-bottom button{background:none;color:inherit;border:0;padding:0;font-size:9px}.whatsapp{position:fixed;right:22px;bottom:22px;z-index:40;background:#fff;color:var(--ink);padding:13px 18px;box-shadow:0 4px 30px #001b3026;border-radius:35px;display:flex;gap:10px;align-items:center;border:1px solid var(--line)}.whatsapp>span:first-child{display:block;width:23px;height:23px;color:#188450}.whatsapp svg{width:100%;height:100%}.whatsapp-label{font-size:11px;font-weight:600}.whatsapp:hover{background:#eef9f1}.dialog{width:min(600px,calc(100% - 32px));max-height:85svh;padding:42px;border:0;color:var(--ink);box-shadow:0 20px 100px #0004}.dialog::backdrop{background:#02131dba;backdrop-filter:blur(6px)}.dialog h2{font-size:34px;margin-bottom:16px}.dialog>p:not(.eyebrow):not(.form-note){font-size:13px;color:var(--muted);margin-bottom:18px}.dialog-close{position:absolute;right:12px;top:8px;background:none;border:0;font-size:30px;color:var(--ink);padding:5px 10px}.dialog pre{font-family:var(--font);font-size:12px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere;background:var(--mist);padding:20px}.dialog-actions{display:flex;gap:10px;flex-wrap:wrap}.secondary{border-color:var(--line);background:#fff;color:var(--ink)}body:has(dialog[open]){overflow:hidden}.service-page .header{position:relative;background:var(--deep)}.service-hero{position:relative;background:var(--deep);color:white;padding:85px 0 95px;overflow:hidden}.service-hero:after{content:'';background:linear-gradient(90deg,#071725,transparent),url('assets/building-hero.webp') center 52%/cover;opacity:.27;position:absolute;inset:0 0 0 35%}.service-hero>.container{position:relative;z-index:2}.breadcrumb{font-size:11px;display:flex;gap:15px;color:#a5b9c8;margin-bottom:50px}.service-hero h1{font-size:clamp(45px,6vw,84px);max-width:850px;font-weight:500;margin-bottom:25px}.service-hero p{font-size:17px;color:#b4c4cf;max-width:570px;line-height:1.85;margin-bottom:30px}.service-content{display:grid;grid-template-columns:1.6fr 1fr;gap:12%}.service-content h2{font-size:36px;margin-bottom:25px}.service-content p{color:var(--muted);line-height:1.95;margin-bottom:25px;font-size:14px}.service-detail-list{list-style:none;padding:0;margin:25px 0}.service-detail-list li{padding:20px 0;border-bottom:1px solid var(--line);display:flex;gap:20px;font-size:14px}.service-detail-list li:before{content:'↗';color:var(--red)}.service-aside{background:var(--mist);padding:30px;height:fit-content}.service-aside h3{font-size:23px;margin-bottom:15px}.service-aside ul{padding-left:18px;color:var(--muted);font-size:12px;line-height:2.1;margin-bottom:30px}.service-aside .button{width:100%}.other-services{background:var(--mist)}.other-services h2{font-size:32px;margin-bottom:35px}.other-services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.other-services-grid a{padding:25px;background:white;border-bottom:2px solid var(--red);font-size:16px;font-family:var(--heading);display:flex;justify-content:space-between;gap:20px}.other-services-grid a:hover{background:var(--navy);color:white}
@keyframes hero-in{from{transform:scale(1.035);opacity:.3}to{transform:scale(1);opacity:1}}@keyframes flow{to{stroke-dashoffset:-280}}
@media(min-width:1600px){.hero-copy{padding-left:max(7%,calc((100vw - 1320px)/2))}.hero{max-height:1050px}.hero h1{font-size:100px}}
@media(max-width:1150px){.container{width:calc(100% - 80px)}.header{gap:20px}.header nav{gap:19px}.brand-name{font-size:13px}.brand-name small{font-size:7px}.header-cta{gap:22px}.hero h1{font-size:6.5vw}.hero-copy{width:61%;padding-left:6%}.hero{min-height:760px}.building-systems{left:53%;right:4%}.system-point{gap:5px}.point-tag{font-size:7px;padding:6px}.point-core{width:25px;height:25px;font-size:17px}.point-security{left:72%}.point-tv{left:18%;top:57%}.point-wifi{left:63%;top:72%}.system-caption{width:240px;bottom:-5%}.system-caption h2{font-size:17px}.service-tags{display:none}.service-row .round-arrow{margin-left:auto}.feature-copy{padding:65px 10%}.feature-illustration{min-height:650px}.contact{gap:8%}.company-logo-panel{gap:20px}.company-logo-panel img{width:190px;height:190px}}
@media(max-width:900px){.header nav{gap:15px}.header nav a{font-size:10px}.header-cta{font-size:10px;gap:16px}.brand-logo{width:62px;height:62px}.brand{gap:10px}.brand-name{font-size:11px;letter-spacing:.03em}.brand-name small{font-size:6px}.hero{min-height:740px}.hero-copy{padding-top:190px}.hero h1{font-size:64px}.hero-description{font-size:14px}.hero-actions{gap:19px}.hero-secondary{gap:12px;font-size:10px}.hero .button{padding:15px 18px;gap:18px;font-size:10px}.building-systems{left:58%;top:23%;right:3%;bottom:17%}.point-tag{font-size:6px}.point-fire{left:25%}.point-security{left:67%;top:40%}.point-tv{left:12%;top:60%}.point-wifi{left:60%;top:75%}.connection-lines{opacity:.3}.system-caption{width:230px;bottom:-3%}.proof-bar{padding-inline:6%;gap:20px;grid-template-columns:repeat(3,1fr)}.proof-bar>a{display:none}.proof-bar strong{font-size:15px}.intro-grid{gap:7%}.section{padding-block:85px}.section-top{gap:35px}.section-top>p{max-width:270px;font-size:12px}.feature-copy h2{font-size:48px}.feature-illustration{min-height:660px}.project-item{grid-template-columns:35px 1fr 75px}.project-kind{display:none}.about-grid{gap:8%}.about h2{font-size:41px}.company-logo-panel{display:block}.company-logo-panel img{width:210px;height:210px;margin-bottom:15px}.credential-grid{gap:25px}.credential-grid h3{font-size:17px}.process-grid{gap:30px}.process-grid h3{font-size:18px}.contact{grid-template-columns:.9fr 1.1fr;gap:7%}.contact h2{font-size:53px}.form-row{gap:12px}.footer-top{gap:20px}}
@media(max-width:700px){html{scroll-padding-top:85px}.container{width:calc(100% - 44px)}.header,.header.scrolled{height:88px;padding-inline:20px;gap:14px}.brand-logo{width:62px;height:62px}.brand-name{font-size:11px;letter-spacing:.04em}.brand-name small{font-size:6px;letter-spacing:.06em}.header nav{display:none;position:absolute;top:88px;left:0;right:0;background:var(--deep);padding:20px 25px;border-bottom:1px solid #ffffff30;flex-direction:column;gap:5px}.header nav.open{display:flex}.header nav a{font-size:14px;padding-block:12px}.header-cta{font-size:10px;padding:8px 12px;margin-left:auto;gap:9px;min-height:38px}.header-cta span{font-size:15px}.menu-button{display:block;padding:3px}.menu-button span{width:20px}.hero{height:auto;min-height:940px}.hero-image{object-position:64% 50%;height:100%;opacity:.88}.hero-overlay{background:linear-gradient(90deg,#071725c9,#07172530),linear-gradient(0deg,#071725 0%,#07172538 55%,#07172585)}.hero-grid{display:none}.hero-copy{width:100%;padding:150px 25px 0}.hero .eyebrow{font-size:7px;letter-spacing:.15em;margin-bottom:25px}.hero h1{font-size:clamp(48px,10vw,70px);line-height:1.09;letter-spacing:-.055em}.hero-description{font-size:13px;margin-top:25px}.hero-actions{margin-top:27px;gap:22px;flex-wrap:wrap}.hero .button{font-size:11px;padding:16px 19px;gap:22px}.hero-secondary{font-size:11px}.building-systems{top:560px;left:7%;right:7%;bottom:120px;min-height:240px}.connection-lines{display:none}.system-point{transform:none;position:static;display:flex;justify-content:flex-start;width:50%;padding:8px 0;float:left;white-space:normal}.point-tag{background:#07172590;font-size:7px;padding:8px;letter-spacing:.04em}.point-core{height:23px;width:23px;min-width:23px;font-size:15px;box-shadow:none}.system-point.active .point-core{box-shadow:0 0 0 4px #ed3f3525}.system-caption{position:static;width:100%;clear:both;padding-top:20px;margin-top:110px}.system-caption h2{font-size:20px;margin-bottom:15px}.system-caption>a{max-width:240px;font-size:11px}.hero-bottom{left:25px;right:25px;bottom:38px}.hero-bottom>div{max-width:220px;font-size:7px;letter-spacing:.08em;line-height:1.9}.hero-bottom a{font-size:9px;gap:15px}.proof-bar{padding:24px 22px;gap:12px}.proof-bar strong{font-size:12px;line-height:1.4}.proof-bar span{font-size:8px;line-height:1.6}.section{padding-block:65px}.section-kicker{margin-bottom:25px;font-size:8px;gap:12px}.intro-grid{grid-template-columns:1fr;gap:25px}.intro h2{font-size:34px;line-height:1.25}.lead{font-size:18px;margin-bottom:16px}.intro-body>p:not(.lead){font-size:13px}.text-link{font-size:11px;margin-top:20px}.section-top{display:block;margin-bottom:35px}.section-top h2{font-size:35px}.section-top>p{margin-top:23px;max-width:100%;font-size:13px}.service-row{gap:15px;padding-block:24px}.service-no{font-size:8px;margin:0}.service-icon{width:30px;height:30px}.service-row h3{font-size:18px;margin-bottom:7px;line-height:1.3}.service-row p{font-size:10px;max-width:240px}.round-arrow{width:33px;height:33px;font-size:18px;margin-left:auto}.service-row:hover{padding-inline:4px}.feature-project{grid-template-columns:1fr}.feature-illustration{min-height:390px}.building-drawing{max-width:380px;width:78%}.drawing-label{top:28px;font-size:7px}.drawing-note{font-size:8px;bottom:20px}.feature-copy{padding:45px 25px 55px}.feature-copy .section-kicker{margin-bottom:30px}.feature-copy h2{font-size:51px}.project-toolbar{display:block;padding-bottom:20px}.project-filters{gap:6px}.project-filters button{font-size:9px;padding:7px 11px}#project-counter{display:block;margin-top:18px}.project-item{grid-template-columns:24px 1fr 53px;gap:10px;padding-block:23px}.project-item h3{font-size:18px}.project-item p{font-size:10px;line-height:1.7}.project-sector{font-size:7px}.project-year{font-size:9px;text-align:right}.record-note{font-size:9px}.about-grid{grid-template-columns:1fr;gap:35px}.about h2{font-size:41px}.company-logo-panel{display:flex;gap:30px}.company-logo-panel img{width:200px;height:200px;margin:0}.company-logo-panel>span{font-size:9px;line-height:1.8}.since strong{font-size:48px}.about-values{gap:20px}.credential-grid{grid-template-columns:1fr;gap:25px}.credential-grid>div{padding-bottom:22px;border-bottom:1px solid var(--line)}.credential-grid h3{font-size:20px}.credential-grid p{font-size:13px}.process-heading{display:block}.process-heading h2{font-size:37px}.process-heading>p{margin-top:22px;font-size:13px;max-width:100%}.process-grid{grid-template-columns:1fr;gap:28px;margin-top:35px}.process-grid h3{font-size:22px;margin-top:14px}.process-grid p{font-size:13px}.contact{grid-template-columns:1fr;gap:45px}.contact h2{font-size:58px}.contact-person{margin-top:25px}.contact-phone{margin-top:25px}.form-row{gap:15px}.enquiry-form label{font-size:10px;margin-bottom:20px}.form-top p{font-size:12px}input,select,textarea{font-size:14px;padding:13px 10px}.closing{padding-block:45px}.closing p{font-size:36px;padding-right:40px}.closing span{font-size:8px}.closing a{width:45px;height:45px;font-size:23px;right:0;top:65%}.footer{padding-top:35px}.footer-top{flex-wrap:wrap;gap:25px;padding-bottom:30px}.footer-top .brand{width:100%}.footer-top>p{font-size:11px}.footer-top>div{font-size:10px;gap:15px}.footer-bottom{font-size:8px;flex-wrap:wrap;gap:12px}.footer-bottom>span:nth-child(2){display:none}.whatsapp{right:15px;bottom:15px;width:48px;height:48px;padding:12px;justify-content:center}.whatsapp-label{display:none}.whatsapp>span:first-child{width:24px;height:24px}.dialog{padding:35px 22px 25px}.dialog h2{font-size:29px}.dialog-actions .button{flex:1;font-size:11px;padding:14px}.service-hero{padding-block:45px 60px}.breadcrumb{margin-bottom:35px;font-size:10px}.service-hero h1{font-size:47px}.service-hero p{font-size:15px}.service-content{grid-template-columns:1fr;gap:30px}.service-content h2{font-size:31px}.other-services-grid{grid-template-columns:1fr}.other-services-grid a{font-size:18px}.service-hero:after{left:0;opacity:.2}}
@media(max-width:390px){.header{gap:10px;padding-inline:14px}.header-cta{padding:8px;gap:6px}.brand-logo{width:54px;height:54px}.brand-name{font-size:9px}.brand-name small{font-size:5px}.hero-copy{padding-inline:22px}.hero h1{font-size:47px}.hero-actions{gap:16px}.hero .button{font-size:10px}.hero-secondary{font-size:10px}.hero-description{font-size:12px}.service-icon{display:none}.form-row{grid-template-columns:1fr;gap:0}.company-logo-panel img{width:175px;height:175px}.project-filters button{padding:7px 9px;font-size:8px}.closing p{font-size:32px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

@media(min-width:701px) and (max-width:900px){.hero h1{font-size:6.5vw}}
@media(max-width:700px){.hero h1{font-size:clamp(34px,10.5vw,64px)}}

/* Larger interactive building labels */
.building-systems{top:25%;bottom:20%;left:50%;right:4%}.systems-instruction{position:absolute;top:-40px;left:0;font-size:9px;font-weight:600;letter-spacing:.13em;display:flex;align-items:center;gap:10px;color:#fff}.systems-instruction>span{width:5px;height:5px;background:var(--red)}.systems-instruction small{font-size:9px;letter-spacing:0;font-weight:400;color:#cad7df;margin-left:9px}.system-point{width:248px;min-height:83px;padding:14px;gap:12px;background:linear-gradient(125deg,rgba(12,36,54,.94),rgba(6,23,37,.79));border:1px solid rgba(225,239,247,.4);border-radius:5px;box-shadow:0 12px 38px #0003;backdrop-filter:blur(13px);transition:background .25s,border-color .25s,box-shadow .25s,translate .25s;isolation:isolate}.system-point:before{content:'';position:absolute;inset:-1px;z-index:-1;border-radius:5px;background:linear-gradient(120deg,#ed3f351c,transparent);opacity:0;transition:opacity .25s}.system-point:hover,.system-point:focus-visible,.system-point.active{border-color:#f97b70;background:linear-gradient(125deg,rgba(36,44,57,.98),rgba(7,25,40,.94));box-shadow:0 0 0 1px #ed3f3535,0 0 30px #ed3f3524,0 14px 35px #0005;translate:0 -3px}.system-point.active:before{opacity:1}.point-core{position:relative;width:35px;height:35px;min-width:35px;border:0;border-radius:50%;background:#ffffff0d;color:white;box-shadow:none;padding:7px}.point-core svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.5}.system-point.active .point-core{box-shadow:none;background:var(--red)}.system-point.active .point-core:after{content:'';position:absolute;inset:-5px;border:1px solid #ed3f35;border-radius:50%;animation:system-ring 2.8s ease-out infinite}.point-tag{white-space:normal;text-align:left;display:flex;flex-direction:column;gap:5px;flex:1;min-width:0;background:none;padding:0;border:0;backdrop-filter:none;letter-spacing:0}.point-tag strong{font-family:var(--heading);font-size:16px;font-weight:650;letter-spacing:-.025em;line-height:1.25;color:white}.point-tag small{font-size:9px;font-weight:400;color:#ccd8e0;line-height:1.4;letter-spacing:0}.point-arrow{font-size:19px;color:#b7cad5;align-self:flex-start;line-height:1.2}.system-point.active .point-arrow{color:#ff8277}.point-fire{left:24%;top:16%}.point-security{left:76%;top:36%}.point-tv{left:24%;top:51%}.point-wifi{left:76%;top:69%}.connection-lines{opacity:.9}.connection-lines path{stroke:#c2d8e3;opacity:.28;stroke-width:1;transition:opacity .3s,stroke .3s;animation:flow 40s linear infinite}.connection-lines path.route-active{opacity:1;stroke:#fc665a;stroke-width:2;animation-duration:16s}.system-caption{bottom:-16%;left:0;right:0;width:100%;max-width:none;padding-top:15px;border-top:1px solid #ffffff60;text-shadow:0 1px 10px #000;position:absolute}.system-detail-top{display:flex;align-items:center;justify-content:space-between;gap:15px}.system-detail-top>span{font-size:9px;letter-spacing:.1em;color:#d8e1e7}.system-navigation{display:flex;gap:8px}.system-navigation button{width:28px;height:28px;display:grid;place-items:center;border:1px solid #ffffff45;background:#07172590;color:white;font-size:15px;line-height:1}.system-navigation button:hover{background:var(--red);border-color:var(--red)}.system-caption h2{font-size:clamp(21px,1.9vw,28px);font-weight:550;line-height:1.3;letter-spacing:-.035em;margin:10px 0}.system-caption p{font-size:12px;line-height:1.6;color:#d0dce3;max-width:460px;min-height:38px}.system-detail-actions{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:13px}.system-caption a{font-size:11px;gap:20px;display:flex;align-items:center;color:#fff}.system-caption a>span{font-size:17px;color:#ff877b}.system-caption #system-tour-toggle{border:0;border-bottom:1px solid #ffffff50;background:none;color:#fff;padding:6px 0;font-size:10px;display:flex;align-items:center;gap:8px;white-space:nowrap}.system-caption #system-tour-toggle>span{color:#ff877b;font-size:9px}.system-caption:after{content:'';height:2px;position:absolute;top:-1px;left:0;width:100%;background:#fa6559;transform-origin:left;transform:scaleX(0)}.tour-playing .system-caption:after{animation:system-progress 4.8s linear infinite}.tour-playing .systems-instruction>span{box-shadow:0 0 12px var(--red)}
@keyframes system-ring{0%{scale:.85;opacity:.6}75%,100%{scale:1.65;opacity:0}}@keyframes system-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(min-width:1600px){.system-point{width:280px;padding:17px;min-height:94px}.point-tag strong{font-size:19px}.point-tag small{font-size:11px}.point-core{width:40px;height:40px;min-width:40px}.system-caption h2{font-size:30px}.system-caption p{font-size:14px}}
@media(min-width:801px) and (max-width:1150px){.building-systems{left:54%;right:3%;top:25%;bottom:23%}.system-point{width:200px;min-height:80px;padding:11px;gap:9px}.point-tag strong{font-size:14px}.point-tag small{font-size:8px}.point-core{width:29px;height:29px;min-width:29px;padding:6px}.point-arrow{font-size:15px}.systems-instruction{font-size:8px}.systems-instruction small{display:none}.system-caption{bottom:-23%}.system-caption h2{font-size:22px}.system-caption p{font-size:11px}.system-detail-actions{gap:13px}.system-caption a{font-size:10px}.system-caption #system-tour-toggle{font-size:9px}.hero h1{font-size:5.9vw}}
@media(min-width:801px) and (max-width:950px){.building-systems{left:56%;right:3%}.system-point{width:175px;min-height:80px;padding:10px;gap:8px}.point-tag strong{font-size:13px}.point-tag small{font-size:8px}.point-arrow{display:none}.point-core{width:27px;height:27px;min-width:27px}.point-fire,.point-tv{left:25%}.point-security,.point-wifi{left:76%}.system-detail-actions{align-items:flex-start;flex-direction:column;gap:8px}.system-caption p{min-height:35px}.system-caption{bottom:-27%}}
@media(max-width:800px){.hero{height:auto;min-height:1100px}.hero-copy{width:100%;padding:155px 25px 0}.hero h1{font-size:clamp(34px,10.5vw,72px)}.hero-overlay{background:linear-gradient(90deg,#071725b8,#07172520),linear-gradient(0deg,#071725 0%,#07172530 62%,#07172570)}.building-systems{top:580px;left:25px;right:25px;bottom:auto;min-height:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}.systems-instruction{position:static;grid-column:1/-1;font-size:8px;margin:0 0 7px;gap:8px;flex-wrap:wrap}.systems-instruction small{font-size:9px;margin-left:auto}.system-point{position:relative;left:auto;top:auto;float:none;transform:none;width:100%;min-height:91px;justify-content:flex-start;padding:14px 11px;gap:10px}.point-core{width:30px;height:30px;min-width:30px;padding:6px}.point-tag strong{font-size:15px;line-height:1.3}.point-tag small{font-size:9px;line-height:1.5}.point-arrow{display:none}.connection-lines{display:none}.system-caption{grid-column:1/-1;position:relative;left:auto;right:auto;bottom:auto;width:100%;padding-top:15px;margin:10px 0 0;clear:none}.system-caption h2{font-size:25px;max-width:100%;margin:11px 0}.system-caption p{font-size:12px;min-height:39px;max-width:100%}.system-detail-actions{margin-top:13px;gap:18px}.system-caption a{font-size:11px;max-width:none}.system-caption #system-tour-toggle{font-size:10px}.system-detail-top>span{font-size:8px}.hero-bottom{bottom:35px}.system-point:hover,.system-point.active{translate:0 -2px}}
@media(min-width:701px) and (max-width:800px){.hero{min-height:1240px}.building-systems{top:710px;left:40px;right:40px}.point-tag strong{font-size:19px}.point-tag small{font-size:11px}.system-point{padding:18px}.hero-copy{padding-left:40px}.system-caption h2{font-size:29px}}
@media(max-width:450px){.building-systems{left:22px;right:22px;gap:10px;top:555px}.system-point{padding:11px 9px;gap:7px;min-height:88px}.point-core{width:24px;height:24px;min-width:24px;padding:5px}.point-tag strong{font-size:13px}.point-tag small{font-size:8px}.system-caption h2{font-size:23px}.system-caption p{font-size:11px}.system-detail-actions{gap:10px;flex-wrap:wrap}.system-caption a{font-size:10px}.system-caption #system-tour-toggle{font-size:9px}.hero{min-height:1080px}.systems-instruction small{display:none}}
@media(prefers-reduced-motion:reduce){.system-point,.connection-lines path{transition:none}.system-point.active .point-core:after,.tour-playing .system-caption:after{animation:none}}
/* Labels originate at fixed points on the building, with slim leader lines. */
@media(min-width:801px){.hero{min-height:880px}}
.building-systems{left:49%;right:5%;top:24%;bottom:30%}.system-point{width:auto;min-height:44px;padding:0;gap:28px;overflow:visible;isolation:auto;background:none;border:0;border-radius:0;box-shadow:none;backdrop-filter:none;transform:translate(-15px,-50%);translate:0 0}.system-point:before{display:none}.system-point:hover,.system-point:focus-visible,.system-point.active{background:none;border:0;box-shadow:none;translate:0 0}.point-core{width:30px;height:30px;min-width:30px;padding:0;border:1px solid #ffffffb3;background:#102a3dab;backdrop-filter:blur(6px);font-size:23px;font-family:var(--font);font-weight:400;line-height:1;box-shadow:0 0 0 6px #ffffff0c}.system-point:hover .point-core,.system-point.active .point-core{background:var(--red);border-color:var(--red);box-shadow:0 0 0 7px #ed3f3520}.point-tag{position:relative;flex:none;padding:10px 13px;border:1px solid #ffffff45;border-radius:0;background:#081b2cd9;backdrop-filter:blur(7px);white-space:nowrap;gap:0;transition:color .2s,border-color .2s,background .2s}.point-tag:before{content:'';position:absolute;left:-29px;top:50%;width:28px;height:1px;background:#ffffff9c;transition:background .2s}.point-tag strong{font-family:var(--font);font-size:15px;line-height:1.2;letter-spacing:.065em;font-weight:600;text-transform:uppercase}.point-tag small,.point-arrow{display:none}.system-point.active .point-tag,.system-point:hover .point-tag{border-color:#f77367;background:#142a3ee8}.system-point.active .point-tag:before,.system-point:hover .point-tag:before{background:#ff8277}.point-fire{left:26%;top:20%}.point-security{left:83%;top:46%}.point-tv{left:19%;top:61%}.point-wifi{left:65%;top:83%}.point-security,.point-wifi{flex-direction:row-reverse;transform:translate(calc(-100% + 15px),-50%)}.point-security .point-tag:before,.point-wifi .point-tag:before{left:auto;right:-29px}.connection-lines{opacity:.65}.system-caption{bottom:-48%;right:0;left:auto;max-width:355px;width:100%}.system-caption h2{font-size:24px}.system-detail-actions{gap:14px}.system-caption p{font-size:11px;min-height:35px}.systems-instruction{left:0;top:-45px}.systems-instruction small{font-size:9px}
@media(min-width:1600px){.point-tag strong{font-size:18px}.point-tag{padding:12px 16px}.point-core{width:34px;height:34px;min-width:34px;font-size:25px}.system-caption{max-width:420px}.system-caption h2{font-size:29px}.system-caption p{font-size:13px}}
@media(min-width:801px) and (max-width:1150px){.building-systems{left:54%;right:4%;top:26%;bottom:32%}.point-tag strong{font-size:12px}.point-tag{padding:9px 11px}.system-point{gap:20px;min-height:40px}.point-tag:before{width:20px;left:-21px}.point-security .point-tag:before,.point-wifi .point-tag:before{right:-21px}.point-core{width:27px;height:27px;min-width:27px;font-size:21px}.point-security,.point-wifi{transform:translate(calc(-100% + 15px),-50%)}.system-caption{max-width:320px;bottom:-55%}.system-detail-actions{flex-direction:row;align-items:center}.system-caption h2{font-size:23px}.system-caption #system-tour-toggle{font-size:9px}.system-caption a{font-size:10px}.point-fire{left:22%}.point-tv{left:15%}}
@media(max-width:800px){.hero{min-height:1190px}.building-systems{display:block;top:570px;left:6%;right:6%;height:300px;bottom:auto;min-height:0}.systems-instruction{position:absolute;top:-35px;left:0;font-size:8px;display:flex;flex-wrap:nowrap}.systems-instruction small{display:none}.system-point{position:absolute;float:none;width:auto;min-height:38px;padding:0;gap:18px;transform:translate(-12px,-50%)}.point-core{width:24px;height:24px;min-width:24px;font-size:19px}.point-tag{padding:9px 10px;white-space:nowrap}.point-tag strong{font-size:12px;letter-spacing:.04em;line-height:1.3}.point-tag:before{left:-19px;width:18px}.point-fire{left:24%;top:10%}.point-security{left:88%;top:35%}.point-tv{left:13%;top:59%}.point-wifi{left:78%;top:84%}.point-security,.point-wifi{transform:translate(calc(-100% + 12px),-50%)}.point-security .point-tag:before,.point-wifi .point-tag:before{left:auto;right:-19px}.connection-lines{display:block;width:100%;height:100%;opacity:.5}.system-caption{position:absolute;top:320px;bottom:auto;left:0;right:0;max-width:none;width:100%;margin:0;padding-top:15px}.system-caption h2{font-size:24px}.system-caption p{font-size:12px;min-height:40px}.system-detail-actions{flex-direction:row;align-items:center;gap:18px}.system-caption a{font-size:11px}.system-caption #system-tour-toggle{font-size:10px}.system-point:hover,.system-point.active{translate:0 0}.point-tag small{display:none}}
@media(min-width:701px) and (max-width:800px){.hero{min-height:1350px}.building-systems{top:710px;left:8%;right:8%;height:350px}.point-tag strong{font-size:16px}.point-tag{padding:11px 14px}.system-caption{top:365px}.system-caption h2{font-size:28px}}
@media(max-width:450px){.building-systems{top:555px;left:6%;right:6%;height:280px}.hero{min-height:1160px}.point-tag strong{font-size:11px}.point-tag{padding:9px}.system-point{gap:14px}.point-tag:before{left:-15px;width:14px}.point-security .point-tag:before,.point-wifi .point-tag:before{right:-15px}.point-fire{left:20%;top:12%}.point-security{left:89%;top:36%}.point-tv{left:9%;top:61%}.point-wifi{left:80%;top:86%}.system-caption{top:305px}.system-caption h2{font-size:23px}.system-caption p{font-size:11px}.system-detail-actions{gap:13px}.system-caption a{font-size:10px}.system-caption #system-tour-toggle{font-size:9px}}

/* The building remains interactive on small screens, with labels on leader lines. */
.hero-picture{display:contents}
.building-scene{position:absolute;inset:0}
.building-map{position:absolute;inset:0}
.menu-button,.system-navigation button,.system-caption #system-tour-toggle{touch-action:manipulation}
.menu-button{flex-shrink:0}
.enquiry-form label,.project-item>div,.contact-heading,.service-content>div{min-width:0}
.contact-email,.credential-grid p{overflow-wrap:anywhere}
.header.menu-open{position:fixed;background:var(--deep)}
body.menu-open{overflow:hidden}

@media(max-width:800px){
  html{scroll-padding-top:100px}
  .container{width:calc(100% - 40px)}
  .section{padding-block:64px}
  .header,.header.scrolled{height:84px;padding-inline:18px;gap:12px}
  .brand{gap:10px;min-width:0}
  .brand-logo{width:54px;height:54px;flex-shrink:0}
  .brand-name{font-size:clamp(10px,1.9vw,13px);letter-spacing:.04em}
  .brand-name small{font-size:6px;letter-spacing:.05em}
  .header-cta{font-size:11px;padding:10px 12px;gap:10px;min-height:44px;margin-left:auto}
  .menu-button{display:grid;align-content:center;justify-items:center;width:44px;height:44px;padding:8px;margin-left:0}
  .menu-button span{width:24px;margin:4px 0}
  .header nav{display:none;position:absolute;top:100%;left:0;right:0;margin:0;background:var(--deep);padding:14px 20px 24px;border-bottom:1px solid #ffffff30;flex-direction:column;gap:2px;max-height:calc(100svh - 84px);overflow-y:auto}
  .header nav.open{display:flex}
  .header nav a{font-size:16px;min-height:48px;padding:12px 8px}
  .header.menu-open .menu-button span:first-child{transform:translateY(5px) rotate(45deg)}
  .header.menu-open .menu-button span:last-child{transform:translateY(-5px) rotate(-45deg)}
  .hero{height:auto;min-height:0;max-height:none;overflow:hidden;--building-height:clamp(300px,70vw,460px)}
  .hero-copy{width:100%;padding:128px 20px 0;position:relative}
  .hero .eyebrow{font-size:9px;letter-spacing:.12em;margin-bottom:22px;line-height:1.6}
  .hero h1{font-size:clamp(32px,10vw,68px);line-height:1.09;letter-spacing:-.055em;margin-left:0}
  .hero-description{font-size:14px;line-height:1.8;margin-top:22px}
  .hero-actions{gap:14px 24px;flex-wrap:wrap;margin-top:26px}
  .hero .button{font-size:12px;padding:15px 18px;min-height:50px;gap:20px}
  .hero-secondary{font-size:12px;min-height:44px;gap:12px}
  .building-scene{position:relative;inset:auto;margin-top:30px}
  .hero-picture{display:block;position:absolute;inset:0 0 auto;height:var(--building-height)}
  .hero-image{inset:0;width:100%;height:100%;object-fit:cover;object-position:65% center;opacity:1;animation:none}
  .hero-overlay{inset:0 0 auto;height:var(--building-height);background:linear-gradient(180deg,var(--deep),#07172512 20%,#07172505 70%,var(--deep)),linear-gradient(90deg,#07172530,transparent)}
  .hero-grid{display:none}
  .building-systems{position:relative;inset:auto;display:block;width:100%;height:auto;min-height:0;padding-top:var(--building-height)}
  .building-map{inset:0 0 auto;height:var(--building-height);margin-inline:20px}
  .systems-instruction{top:8px;left:0;right:0;display:flex;flex-wrap:wrap;gap:8px;font-size:9px;letter-spacing:.12em;line-height:1.6}
  .systems-instruction small{display:inline;font-size:10px;letter-spacing:0;color:#d0dbe3}
  .connection-lines{display:none}
  .system-point{position:absolute;float:none;min-height:48px;width:auto;padding:0;gap:16px;transform:translate(-15px,-50%);justify-content:flex-start}
  .point-core{width:30px;height:30px;min-width:30px;font-size:23px;box-shadow:0 0 0 5px #ffffff18}
  .point-tag{display:flex;align-items:center;min-height:44px;padding:10px;background:#081b2ceb;white-space:nowrap}
  .point-tag strong{font-size:clamp(11px,2.85vw,15px);line-height:1.25;letter-spacing:.035em}
  .point-tag small,.point-arrow{display:none}
  .point-tag:before{left:-17px;right:auto;width:16px}
  .point-fire{left:56%;top:25%;flex-direction:row-reverse}
  .point-security{left:88%;top:46%;flex-direction:row-reverse}
  .point-tv{left:32%;top:66%;flex-direction:row}
  .point-wifi{left:80%;top:84%;flex-direction:row-reverse}
  .point-fire,.point-security,.point-wifi{transform:translate(calc(-100% + 15px),-50%)}
  .point-fire .point-tag:before,.point-security .point-tag:before,.point-wifi .point-tag:before{left:auto;right:-17px;width:16px}
  .system-caption{position:relative;inset:auto;width:auto;max-width:none;min-height:0;margin:0 20px;padding:22px 0 0;border-top:1px solid #ffffff30}
  .system-detail-top{gap:12px}
  .system-detail-top>span{font-size:10px;line-height:1.6}
  .system-navigation{gap:8px;margin-right:64px;flex-shrink:0}
  .system-navigation button{width:44px;height:44px;font-size:20px}
  .system-caption h2{font-size:clamp(24px,4.8vw,32px);line-height:1.2;margin:16px 0 12px;letter-spacing:-.035em}
  .system-caption p{font-size:14px;line-height:1.8;min-height:0;max-width:580px}
  .system-detail-actions{display:flex;flex-wrap:wrap;flex-direction:row;align-items:center;gap:10px 22px;margin-top:18px}
  .system-caption a{font-size:12px;min-height:44px;display:flex;align-items:center;gap:18px}
  .system-caption #system-tour-toggle{font-size:12px;min-height:44px;padding:10px 12px}
  .hero-bottom{position:relative;inset:auto;margin:28px 20px 32px;gap:20px;align-items:center;font-size:8px}
  .hero-bottom>div{font-size:8px;line-height:1.8;max-width:260px;letter-spacing:.08em}
  .hero-bottom a{font-size:11px;min-height:44px;gap:12px;flex-shrink:0}
  .image-caption{top:calc(var(--building-height) - 18px);bottom:auto;right:12px;font-size:8px;z-index:2}
  .proof-bar{padding:24px 20px;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
  .proof-bar strong{font-size:13px;line-height:1.4}
  .proof-bar span{font-size:10px;line-height:1.6}
  .proof-bar>a{display:none}
  .intro-grid,.about-grid,.contact,.service-content{grid-template-columns:minmax(0,1fr);gap:32px}
  .section-top{display:block;margin-bottom:32px}
  .section-top>p{max-width:100%;font-size:14px;margin-top:22px}
  .intro h2,.section-top h2{font-size:clamp(30px,6.5vw,42px)}
  .intro-body>p:not(.lead),.about-right>p:not(.lead){font-size:14px}
  .service-row{display:grid;grid-template-columns:32px minmax(0,1fr) 36px;gap:14px;padding-block:25px}
  .service-no,.service-tags{display:none}
  .service-icon{display:block;width:30px;height:30px}
  .service-row h3{font-size:20px;line-height:1.3}
  .service-row p{font-size:13px;line-height:1.7;max-width:none}
  .service-row .round-arrow{width:36px;height:36px;margin:0}
  .feature-project{grid-template-columns:minmax(0,1fr)}
  .feature-illustration{min-height:350px}
  .building-drawing{max-width:380px}
  .feature-copy{padding:44px 20px 52px}
  .feature-copy>p:not(.project-type){font-size:14px}
  .project-toolbar{display:block}
  .project-filters{gap:8px}
  .project-filters button{min-height:44px;padding:10px 13px;font-size:12px}
  #project-counter{display:block;margin-top:18px;font-size:10px}
  .project-item{grid-template-columns:22px minmax(0,1fr) 52px;gap:10px}
  .project-item h3{font-size:20px;overflow-wrap:break-word}
  .project-item p{font-size:13px;line-height:1.7}
  .project-sector{font-size:9px}
  .project-year{font-size:11px;text-align:right}
  .project-kind{display:none}
  .company-logo-panel{display:flex;gap:24px}
  .company-logo-panel img{width:clamp(140px,40vw,200px);height:auto;margin:0}
  .company-logo-panel>span{font-size:10px}
  .credential-grid,.process-grid{grid-template-columns:minmax(0,1fr);gap:28px}
  .process-heading{display:block}
  .process-heading>p{max-width:100%;margin-top:22px}
  .credential-grid p,.process-grid p{font-size:14px}
  .contact{gap:40px}
  .contact-email{font-size:15px;min-height:40px;line-height:2.4}
  .form-top p,.form-note{font-size:12px}
  .enquiry-form label{font-size:12px;font-weight:600}
  input,select,textarea{font-size:16px;min-height:50px;padding:14px 12px}
  textarea{min-height:140px}
  .submit{font-size:14px}
  .footer-top{flex-wrap:wrap;gap:24px}
  .footer-top .brand{width:100%}
  .footer-top>p,.footer-top>div{font-size:12px}
  .footer-top>div a{display:inline-flex;align-items:center;min-height:44px}
  .footer-bottom{font-size:11px;flex-wrap:wrap;gap:12px}
  .footer-bottom>span:nth-child(2){display:none}
  .footer-bottom button,.footer-bottom>a{font-size:12px;min-height:44px}
  .footer{padding-bottom:calc(70px + env(safe-area-inset-bottom,0px))}
  .whatsapp{right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));width:52px;height:52px;padding:13px;justify-content:center}
  .whatsapp-label{display:none}
  .dialog{width:calc(100% - 24px);max-height:calc(100svh - 24px);max-height:calc(100dvh - 24px);padding:50px 20px 24px;overflow-y:auto;overscroll-behavior:contain}
  .dialog-close{width:44px;height:44px;top:6px;right:6px;padding:0}
  .dialog pre{padding:14px;font-size:13px}
  .dialog-actions{flex-direction:column}
  .dialog-actions .button{width:100%;min-height:50px;font-size:14px}
  .service-hero{padding-block:36px 48px}
  .service-hero h1{font-size:clamp(34px,8.5vw,60px);overflow-wrap:break-word}
  .service-hero p{font-size:15px}
  .service-hero .eyebrow{font-size:9px;line-height:1.7}
  .service-hero:after{left:0;background-image:linear-gradient(90deg,#071725,transparent),url('assets/building-hero-mobile.webp')}
  .breadcrumb{flex-wrap:wrap;gap:8px 12px;font-size:12px;margin-bottom:28px}
  .service-content h2{font-size:clamp(28px,6.8vw,38px)}
  .service-aside{padding:26px 20px}
  .service-aside ul{font-size:14px}
  .service-aside .button{gap:14px;font-size:12px}
  .other-services-grid{grid-template-columns:minmax(0,1fr)}
  .other-services-grid a{min-height:64px;font-size:18px}
}
@media(max-width:600px){
  .form-row{grid-template-columns:minmax(0,1fr);gap:0}
  .about-values{grid-template-columns:minmax(0,1fr);gap:24px}
  .about-values p{font-size:13px}
  .intro h2 br{display:none}
}
@media(max-width:450px){
  .header-cta{display:none}
  .menu-button{margin-left:auto}
  .hero-actions{gap:10px 20px}
  .system-detail-actions{align-items:stretch;gap:6px 16px}
  .system-caption a{font-size:11px}
  .system-caption #system-tour-toggle{font-size:11px}
  .hero-bottom{align-items:flex-start;gap:15px}
  .hero-bottom>div{max-width:185px}
}
@media(max-width:350px){
  .service-row{grid-template-columns:minmax(0,1fr) 34px;gap:12px}
  .service-icon{display:none}
  .point-tag{padding:9px 8px}
  .system-point{gap:12px}
  .point-tag:before{left:-13px;width:12px}
  .point-fire .point-tag:before,.point-security .point-tag:before,.point-wifi .point-tag:before{right:-13px;width:12px}
  .hero-bottom{flex-wrap:wrap}
  .hero-bottom>div{max-width:none}
  .company-logo-panel{gap:15px}
}

/* Direct contact with Cyril on every service page and the home page. */
.whatsapp{background:#157347;color:#fff;border-color:#157347}.whatsapp>span:first-child{color:#fff}.whatsapp:hover{background:#105c38}.whatsapp-direct{background:#157347;color:#fff;margin-top:20px;gap:14px;justify-content:center}.whatsapp-direct:hover{background:#105c38}.whatsapp-direct [data-icon]{width:22px;height:22px;flex-shrink:0}.whatsapp-direct svg{width:100%;height:100%}.service-aside .whatsapp-direct{font-size:12px}
@media(max-width:800px){.whatsapp-direct{min-height:50px;font-size:14px}.contact-heading .whatsapp-direct{width:100%}}
@media(min-width:801px){.whatsapp{left:22px;right:auto}}
