:root{--ink:#111111;--paper:#f5f3ef;--gold:#b88a4a;--text:#222222;--muted:#777777;--line:rgba(17,17,17,.15);--white:#fff;--serif:"Playfair Display",Georgia,serif;--sans:"Manrope",Arial,sans-serif;--ease:cubic-bezier(.22,1,.36,1);--pad:max(24px,6vw)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--text);font-family:var(--sans);font-size:15px;line-height:1.65;overflow-x:hidden}body.menu-open,body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{color:inherit}img{display:block;width:100%;height:100%;object-fit:cover}::selection{background:var(--gold);color:var(--white)}.progress{position:fixed;z-index:200;left:0;top:0;width:0;height:2px;background:var(--gold)}.loader{position:fixed;inset:0;z-index:9999;background:var(--ink);display:grid;place-items:center;transition:opacity .7s var(--ease),visibility .7s}.loader.done{opacity:0;visibility:hidden}.loader-mark{font:500 52px var(--serif);color:var(--paper);letter-spacing:2px}.loader-logo{width:auto;height:90px;object-fit:contain}.loader-line{position:absolute;bottom:15%;width:140px;height:1px;background:rgba(255,255,255,.15)}.loader-line span{display:block;width:0;height:100%;background:var(--gold);animation:load 1.5s var(--ease) forwards}@keyframes load{to{width:100%}}.cursor,.cursor-dot{position:fixed;pointer-events:none;z-index:9998;border-radius:50%;transform:translate(-50%,-50%);display:none}.cursor{width:38px;height:38px;border:1px solid var(--gold);transition:width .2s,height .2s,background .2s}.cursor-dot{width:4px;height:4px;background:var(--gold)}@media(pointer:fine){.cursor,.cursor-dot{display:block}.cursor.hover{width:62px;height:62px;background:rgba(184,138,74,.12)}}
.site-header{position:fixed;z-index:100;top:0;left:0;width:100%;height:96px;padding:0 var(--pad);display:flex;align-items:center;gap:38px;color:var(--white);border-bottom:1px solid rgba(255,255,255,.15);transition:height .5s var(--ease),background .5s,color .5s,box-shadow .5s}.site-header.scrolled{height:76px;background:rgba(245,243,239,.97);color:var(--ink);box-shadow:0 10px 35px rgba(17,17,17,.06);border-color:var(--line)}.brand{display:flex;align-items:center;gap:12px;min-width:245px}.brand-logo{width:auto;height:100px;object-fit:contain;display:block}.footer-logo{height:120px;margin-bottom:18px}.brand-mark{display:grid;place-items:center;width:43px;height:43px;border:1px solid currentColor;font:600 19px var(--serif)}.brand-name{font-size:12px;font-weight:700;line-height:1.15;letter-spacing:1.2px}.brand-name small{display:block;margin-top:4px;font-size:8px;font-weight:500;letter-spacing:.7px}.desktop-nav{margin-left:auto;display:flex;gap:26px}.desktop-nav a{position:relative;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.7px}.desktop-nav a:after{content:"";position:absolute;left:0;bottom:-8px;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .35s var(--ease)}.desktop-nav a:hover:after{transform:scaleX(1);transform-origin:left}.header-cta{display:flex;gap:18px;align-items:center;padding:12px 16px;border:1px solid currentColor;text-transform:uppercase;font-size:10px;font-weight:700;letter-spacing:.6px;transition:background .3s,color .3s}.header-cta:hover{background:var(--gold);border-color:var(--gold);color:var(--white)}.menu-toggle{display:none;background:none;border:0;width:44px;height:44px;padding:12px;position:relative}.menu-toggle span{position:absolute;width:22px;height:1px;background:currentColor;left:11px;transition:.4s var(--ease)}.menu-toggle span:first-child{top:17px}.menu-toggle span:last-child{top:25px}.menu-toggle.active span:first-child{top:21px;transform:rotate(45deg)}.menu-toggle.active span:last-child{top:21px;transform:rotate(-45deg)}.mobile-menu{position:fixed;z-index:90;inset:0;background:var(--ink);color:var(--paper);padding:120px var(--pad) 40px;opacity:0;visibility:hidden;transform:translateY(-20px);transition:.5s var(--ease)}.mobile-menu.open{opacity:1;visibility:visible;transform:none}.mobile-menu-top{display:flex;justify-content:space-between;font-size:10px;text-transform:uppercase;letter-spacing:1.5px;color:#999;border-bottom:1px solid #333;padding-bottom:14px}.mobile-menu nav{display:flex;flex-direction:column}.mobile-menu nav a{font:500 clamp(30px,7vw,50px) var(--serif);border-bottom:1px solid #292929;padding:10px 0}.mobile-menu nav em{font:500 9px var(--sans);font-style:normal;color:var(--gold);display:inline-block;width:42px}.mobile-menu>p{color:#999;margin-top:28px;font-size:12px}
.hero{position:relative;height:max(780px,100svh);min-height:720px;color:var(--white);overflow:hidden}.hero-media,.hero-shade,.hero-grid{position:absolute;inset:0}.hero-media img{animation:heroZoom 16s ease-out both}.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.75) 0%,rgba(0,0,0,.38) 50%,rgba(0,0,0,.12)),linear-gradient(0deg,rgba(0,0,0,.72),transparent 55%)}.hero-grid{background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:25% 100%,25% 100%;opacity:.3}@keyframes heroZoom{from{transform:scale(1.12)}to{transform:scale(1)}}
@keyframes blurFadeIn{from{opacity:0;filter:blur(12px);letter-spacing:4px}to{opacity:1;filter:blur(0);letter-spacing:2px}}
@keyframes wordSlideUp{from{opacity:0;transform:translateY(28px) scale(.96);filter:blur(4px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes maskReveal{from{transform:translateY(110%)}to{transform:translateY(0)}}
@keyframes fadeUpIn{from{opacity:0;transform:translateY(32px)}to{opacity:1;transform:none}}
@keyframes ctaAppear{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}
.hero-content{position:absolute;z-index:2;left:var(--pad);right:var(--pad);top:49%;transform:translateY(-50%);max-width:1120px}
.eyebrow{text-transform:uppercase;font-size:10px;font-weight:700;letter-spacing:2px;margin:0 0 26px}
.eyebrow span{color:var(--gold);margin-right:18px}
.hero-eyebrow{opacity:1;animation:none}
.hero-eyebrow i{font-style:normal;color:var(--gold);margin:0 8px}
.hero-eyebrow .hw{display:inline-block;opacity:0;animation:wordSlideUp .5s var(--ease) forwards}
.hero-eyebrow .hw:nth-child(1){animation-delay:.1s}
.hero-eyebrow .hw:nth-child(2){animation-delay:.2s}
.hero-eyebrow .hw:nth-child(3){animation-delay:.3s}
.hero h1{font:500 clamp(70px,10vw,148px)/.84 var(--serif);letter-spacing:0;text-transform:uppercase;margin:0}
.hero h1 em{font-weight:500;text-transform:none}
.hl{display:block;overflow:hidden}
.hm{display:block;animation:maskReveal .7s var(--ease) forwards;transform:translateY(110%)}
.hl:nth-child(1) .hm{animation-delay:.35s}
.hl:nth-child(2) .hm{animation-delay:.5s}
.hm .hw{display:inline-block;opacity:0;animation:wordSlideUp .5s var(--ease) forwards}
.hl:nth-child(1) .hw:nth-child(1){animation-delay:.38s}
.hl:nth-child(1) .hw:nth-child(2){animation-delay:.48s}
.hl:nth-child(2) .hw:nth-child(1){animation-delay:.55s}
.hero-bottom{display:grid;grid-template-columns:minmax(280px,490px) 1fr;gap:80px;align-items:end;margin-top:45px;opacity:0;animation:fadeUpIn .6s .65s var(--ease) forwards}
.hero-bottom>p{font-size:15px;line-height:1.8;margin:0;color:rgba(255,255,255,.82)}
.hero-actions{display:flex;flex-direction:column;align-items:flex-start;gap:24px}
.cta-item{opacity:0;animation:ctaAppear .5s var(--ease) forwards}
.cta-item:nth-child(1){animation-delay:.75s}
.cta-item:nth-child(2){animation-delay:.9s}.button{border:0;display:inline-flex;align-items:center;justify-content:space-between;gap:34px;min-height:55px;padding:0 22px;text-transform:uppercase;font-size:10px;font-weight:700;letter-spacing:1px;cursor:pointer;transition:background .35s,color .35s,transform .2s}.button-gold{background:var(--gold);color:var(--white)}.button-gold:hover{background:var(--paper);color:var(--ink)}.button-dark{background:var(--ink);color:var(--white)}.button-dark:hover{background:var(--gold)}.button-outline{color:var(--white);border:1px solid rgba(255,255,255,.6)}.button-outline:hover{background:var(--white);color:var(--ink)}.text-link,.arrow-link{font-size:11px;text-transform:uppercase;letter-spacing:1px;border-bottom:1px solid currentColor;padding-bottom:5px}.text-link span,.arrow-link span{margin-left:20px}.scroll-cue{position:absolute;z-index:2;left:var(--pad);bottom:35px;display:flex;align-items:center;gap:20px;text-transform:uppercase;font-size:9px;letter-spacing:1.5px}.scroll-cue i{font-style:normal;animation:bounce 1.8s infinite}@keyframes bounce{50%{transform:translateY(8px)}}.hero-stats{position:absolute;z-index:2;right:var(--pad);bottom:30px;display:flex}.hero-stats>div{border-left:1px solid rgba(255,255,255,.25);padding:0 28px}.hero-stats strong{font:500 30px var(--serif)}.hero-stats sup{color:var(--gold);font-weight:700}.hero-stats span{display:block;text-transform:uppercase;font-size:8px;letter-spacing:1px;color:rgba(255,255,255,.65);margin-top:5px}.trust-strip{height:78px;background:var(--gold);color:var(--white);display:flex;align-items:center;overflow:hidden}.marquee{display:flex;flex:none;align-items:center;gap:35px;white-space:nowrap;animation:marquee 26s linear infinite}.marquee span{font-size:11px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase}.marquee i{font-style:normal}@keyframes marquee{to{transform:translateX(-50%)}}
.section{padding:140px var(--pad)}.section-intro{display:grid;grid-template-columns:28% 1fr;margin-bottom:80px}.section-intro h2,.section-heading h2,.why h2,.estimator h2,.contact h2{font:500 clamp(44px,6vw,82px)/1.08 var(--serif);letter-spacing:0;margin:0}.section h2 em,.why h2 em,.contact h2 em{color:var(--gold);font-weight:500}.about-layout{display:grid;grid-template-columns:56% 1fr;gap:8vw;align-items:center}.about-image{height:650px;position:relative;overflow:hidden}.image-index{position:absolute;bottom:0;right:0;background:var(--paper);padding:14px 20px;font-size:10px;letter-spacing:1px}.about-copy .lead{font:500 26px/1.45 var(--serif);margin-top:0;color:var(--ink)}.about-copy>p:not(.lead){color:var(--muted);margin:26px 0 36px}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:100px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.metric-grid>div{padding:36px 25px;border-right:1px solid var(--line);display:flex;justify-content:space-between;align-items:end}.metric-grid>div:last-child{border-right:0}.metric-grid strong{font:500 48px var(--serif)}.metric-grid p{text-transform:uppercase;font-size:8px;line-height:1.6;letter-spacing:1px;color:var(--muted);margin:0}.services{background:#ebe8e1}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:80px}.section-heading>p{max-width:390px;color:var(--muted);margin-bottom:10px}.service-list{border-top:1px solid var(--line)}.service-row{position:relative;display:grid;grid-template-columns:80px minmax(260px,1fr) 1fr 50px;gap:20px;align-items:center;min-height:130px;border-bottom:1px solid var(--line);transition:background .4s,padding .4s var(--ease)}.service-row:before{content:"";position:absolute;left:0;bottom:-1px;height:2px;width:0;background:var(--gold);transition:width .5s var(--ease)}.service-row:hover{background:var(--paper);padding-left:22px;padding-right:22px}.service-row:hover:before{width:100%}.service-no{font:600 10px var(--sans);color:var(--gold);transition:transform .4s}.service-row:hover .service-no{transform:translateX(8px)}.service-row h3{font:500 clamp(25px,3vw,40px) var(--serif);margin:0}.service-row p{color:var(--muted);max-width:340px}.service-arrow{font-size:24px;transform:translate(-12px,12px);opacity:0;transition:.4s}.service-row:hover .service-arrow{opacity:1;transform:none}.featured{display:grid;grid-template-columns:52% 48%;min-height:850px;background:var(--gold);color:var(--white)}.featured-image{overflow:hidden}.featured-image img{height:115%;transform:translateY(-7%)}.featured-copy{padding:100px 8vw;display:flex;flex-direction:column;justify-content:center}.featured-copy h2{font:500 clamp(55px,7vw,96px)/.95 var(--serif);text-transform:uppercase;margin:20px 0 30px}.featured-copy h2 em{display:block;font-weight:500}.featured-copy>p{max-width:470px}.featured-copy ul{list-style:none;padding:0;margin:40px 0;border-top:1px solid rgba(255,255,255,.35);display:grid;grid-template-columns:1fr 1fr}.featured-copy li{padding:13px 0;border-bottom:1px solid rgba(255,255,255,.35);font-size:11px;text-transform:uppercase;letter-spacing:.8px}.featured-copy li:before{content:"+";margin-right:12px}.featured-copy .button{align-self:flex-start;margin-top:20px}.process{background:var(--paper)}.timeline{position:relative;display:grid;grid-template-columns:repeat(6,1fr);gap:0}.timeline-line{position:absolute;left:0;right:0;top:49px;height:1px;background:var(--line)}.timeline-line span{display:block;height:100%;width:0;background:var(--gold);transition:width 1.8s var(--ease)}.timeline.visible .timeline-line span{width:100%}.timeline article{position:relative;padding-right:25px}.timeline article b{font-size:9px;color:var(--gold)}.timeline article i{display:block;position:relative;z-index:1;width:9px;height:9px;margin:26px 0 38px;background:var(--paper);border:2px solid var(--gold);border-radius:50%}.timeline article h3{font:500 19px/1.25 var(--serif);margin:0 0 15px}.timeline article p{font-size:11px;color:var(--muted);max-width:130px}.filters{display:flex;gap:24px}.filters button{border:0;border-bottom:1px solid transparent;background:none;padding:5px 0;cursor:pointer;text-transform:uppercase;font-size:9px;letter-spacing:1px}.filters button.active{color:var(--gold);border-color:var(--gold)}.project-grid{display:grid;grid-template-columns:1.2fr .8fr;grid-auto-rows:430px;gap:22px}.project{position:relative;border:0;padding:0;overflow:hidden;cursor:pointer;text-align:left;background:var(--ink)}.project-tall{grid-row:span 2}.project-wide{grid-column:2}.project-left{grid-column:1;grid-row:3}.project img{transition:transform .9s var(--ease)}.project:hover img{transform:scale(1.06)}.project-overlay{position:absolute;inset:0;padding:32px;color:var(--white);display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(transparent 35%,rgba(0,0,0,.76));opacity:.8;transition:opacity .4s}.project:hover .project-overlay{opacity:1}.project-overlay small{text-transform:uppercase;letter-spacing:1.2px;font-size:9px;color:#ddd}.project-overlay strong{font:500 32px var(--serif);margin:7px 0}.project-overlay em{font-style:normal;text-transform:uppercase;font-size:9px;letter-spacing:1px;transform:translateY(20px);opacity:0;transition:.4s}.project:hover .project-overlay em{transform:none;opacity:1}.project.hidden{display:none}.why{position:relative;overflow:hidden;background:var(--ink);color:var(--paper);padding:140px var(--pad)}.blueprint{position:absolute;inset:0;background-image:linear-gradient(rgba(184,138,74,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(184,138,74,.08) 1px,transparent 1px);background-size:80px 80px;mask-image:linear-gradient(90deg,transparent,#000)}.why-head{position:relative;display:grid;grid-template-columns:28% 1fr;margin-bottom:100px}.why-grid{position:relative;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #353535}.why-grid article{padding:36px 28px 20px 0;border-right:1px solid #353535;min-height:260px}.why-grid article+article{padding-left:28px}.why-grid b{font-size:9px;color:var(--gold)}.why-grid h3{font:500 24px/1.25 var(--serif);margin:55px 0 18px}.why-grid p{font-size:12px;color:#999}.estimator{display:grid;grid-template-columns:.8fr 1.2fr;gap:10vw}.estimator-intro>p:last-child{max-width:430px;color:var(--muted);margin-top:35px}.calculator{display:grid;grid-template-columns:1fr 1fr;gap:28px 22px;padding:46px;background:#ece8e0;border-top:3px solid var(--gold)}.field{display:flex;flex-direction:column;gap:8px}.field.full{grid-column:1/-1}.field label{font-size:9px;text-transform:uppercase;font-weight:700;letter-spacing:1px}.field label span{color:var(--muted);font-weight:500}.field input,.field select,.field textarea{width:100%;border:0;border-bottom:1px solid #aaa;background:transparent;border-radius:0;padding:11px 0;outline:none;color:var(--text);transition:border .3s}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold)}.choice{display:grid;grid-template-columns:1fr 1fr}.choice label input{position:absolute;opacity:0}.choice label span{display:block;border:1px solid #bbb;padding:14px 16px;text-align:center;color:var(--muted);cursor:pointer}.choice label+label span{border-left:0}.choice label input:checked+span{background:var(--ink);color:var(--white);border-color:var(--ink)}.calculator .button{align-self:start}.estimate-result{border-left:1px solid var(--gold);padding-left:20px;display:flex;flex-direction:column}.estimate-result>span{font-size:9px;text-transform:uppercase;letter-spacing:1px}.estimate-result strong{font:500 27px var(--serif);margin:6px 0}.estimate-result small{font-size:9px;color:var(--muted)}.estimate-result a{font-size:9px;text-transform:uppercase;font-weight:700;margin-top:12px}.testimonials{background:#ebe8e1}.testimonial-wrap{position:relative;max-width:950px;margin:0 auto}.quote-mark{font:500 150px/1 var(--serif);color:var(--gold);height:95px}.testimonial-stage blockquote{font:500 clamp(27px,4vw,48px)/1.4 var(--serif);margin:0 0 45px}.testimonial-author strong{font-size:11px;text-transform:uppercase;letter-spacing:1px}.testimonial-author span{display:block;color:var(--muted);font-size:11px;margin-top:5px}.slider-footer{margin-top:60px;padding-top:25px;border-top:1px solid var(--line);display:flex;justify-content:space-between}.slider-buttons{display:flex;gap:8px}.slider-buttons button,.modal-nav button{width:48px;height:48px;border:1px solid var(--line);background:transparent;cursor:pointer;transition:.3s}.slider-buttons button:hover{background:var(--gold);color:var(--white);border-color:var(--gold)}.slider-progress{display:flex;align-items:center;gap:12px;font-size:9px}.slider-progress i{display:block;width:100px;height:1px;background:#bbb}.slider-progress b{display:block;height:1px;background:var(--gold);transition:width .4s}.big-stats{display:grid;grid-template-columns:repeat(4,1fr);background:var(--gold);color:var(--white);padding:70px var(--pad)}.big-stats>div{border-right:1px solid rgba(255,255,255,.35);text-align:center}.big-stats>div:last-child{border:0}.big-stats strong{font:500 clamp(48px,6vw,84px) var(--serif)}.big-stats p{text-transform:uppercase;font-size:9px;letter-spacing:2px}.banner{height:760px;position:relative;color:var(--white);display:flex;align-items:center}.banner>img,.banner-shade{position:absolute;inset:0}.banner-shade{background:linear-gradient(90deg,rgba(0,0,0,.8),rgba(0,0,0,.16))}.banner-content{position:relative;margin-left:var(--pad);max-width:690px}.banner h2{font:500 clamp(55px,7vw,95px)/.95 var(--serif);text-transform:uppercase;margin:20px 0 30px}.banner h2 em{font-weight:500;text-transform:none}.banner-content>p:not(.eyebrow){max-width:520px;color:#ddd}.banner-content>div{display:flex;gap:12px;margin-top:35px}.contact{display:grid;grid-template-columns:.85fr 1.15fr;gap:10vw}.contact-info>p:not(.eyebrow){color:var(--muted);max-width:430px;margin:30px 0 55px}.contact dl{display:grid;grid-template-columns:1fr 1fr;gap:25px}.contact dt{font-size:8px;text-transform:uppercase;color:var(--gold);letter-spacing:1px}.contact dd{font-size:12px;margin:6px 0 0}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:25px 22px}.error{font-size:9px;color:#9b3428;min-height:12px}.field.invalid input,.field.invalid textarea{border-color:#9b3428}.form-status{grid-column:1/-1;font-size:12px;margin:0}.form-status.success{color:#3b6a45}.form-status.failure{color:#9b3428}footer{background:var(--ink);color:var(--white);padding:90px var(--pad) 24px}.footer-main{display:grid;grid-template-columns:2.2fr 1fr 1.2fr 1fr;gap:50px;padding-bottom:75px}.footer-brand h2{font:500 30px/1.25 var(--serif);text-transform:uppercase}.footer-brand h2 small{display:block;font:500 9px var(--sans);letter-spacing:2px;margin-top:7px;color:var(--gold)}.footer-brand p,.footer-main>div>p{color:rgba(255,255,255,.75);font-size:14px}.footer-main h3{color:var(--gold);font-size:11px;text-transform:uppercase;letter-spacing:1.5px;margin:8px 0 24px}.footer-main>div:not(:first-child)>a{display:block;color:rgba(255,255,255,.8);font-size:14px;margin:10px 0;transition:color .2s}.footer-main>div:not(:first-child)>a:hover{color:var(--white)}.socials{display:flex;gap:8px;margin-top:25px}.socials a{display:grid!important;place-items:center;width:36px;height:36px;border:1px solid #444;margin:0!important}.footer-bottom{border-top:1px solid #333;padding-top:22px;padding-bottom:8px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;color:rgba(255,255,255,.55);font-size:12px;padding-right:70px}.footer-bottom div{display:flex;gap:22px}.footer-bottom a{color:rgba(255,255,255,.55);transition:color .2s}.footer-bottom a:hover{color:var(--white)}.footer-bottom .technest-link{color:var(--gold);font-weight:600}.footer-bottom .technest-link:hover{color:var(--white)}.floating-actions{position:fixed;z-index:80;right:22px;bottom:22px;display:flex;flex-direction:column;gap:8px}.floating-actions a{position:relative;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--ink);color:var(--white);border:1px solid #444;box-shadow:0 6px 20px rgba(0,0,0,.18)}.floating-actions a:last-child{background:var(--gold);border-color:var(--gold)}.floating-actions span{position:absolute;right:58px;padding:6px 10px;background:var(--ink);font-size:9px;text-transform:uppercase;white-space:nowrap;opacity:0;transform:translateX(8px);transition:.3s}.floating-actions a:hover span{opacity:1;transform:none}
.project-modal{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;border:0;padding:0;background:var(--ink);color:var(--paper);opacity:0;transform:scale(.98);transition:opacity .4s,transform .4s var(--ease)}.project-modal[open]{display:grid;grid-template-columns:58% 42%;opacity:1;transform:none}.project-modal::backdrop{background:rgba(0,0,0,.8)}.modal-image{height:100vh}.modal-copy{padding:12vh 6vw;display:flex;flex-direction:column;justify-content:center}.modal-copy h2{font:500 clamp(45px,5vw,75px)/1.05 var(--serif);margin:10px 0 35px}.modal-meta{display:grid;grid-template-columns:repeat(3,1fr);padding:22px 0;border-top:1px solid #3a3a3a;border-bottom:1px solid #3a3a3a}.modal-meta span{display:block;color:#777;font-size:8px;text-transform:uppercase}.modal-meta b{font-size:10px}.modal-copy>p:last-of-type{color:#999;max-width:520px;margin:32px 0}.modal-close{position:absolute;z-index:2;right:24px;top:20px;border:1px solid #555;background:var(--ink);color:var(--white);width:48px;height:48px;font-size:28px;cursor:pointer}.modal-nav{display:flex;justify-content:space-between;margin-top:auto}.modal-nav button{width:auto;padding:0 18px;color:var(--paper);border-color:#444}.reveal{opacity:0;transform:translateY(45px);transition:opacity .9s var(--ease),transform .9s var(--ease)}.reveal.visible{opacity:1;transform:none}.image-reveal{clip-path:inset(0 0 100% 0);transition:clip-path 1.2s var(--ease)}.image-reveal.visible{clip-path:inset(0)}
@keyframes fadeUp{to{opacity:1;transform:none}}@media(max-width:1100px){.desktop-nav{display:none}.header-cta{margin-left:auto}.menu-toggle{display:block}.section{padding-top:110px;padding-bottom:110px}.hero-stats{display:none}.featured-copy{padding:80px 6vw}.metric-grid strong{font-size:38px}.project-grid{grid-auto-rows:350px}}@media(max-width:800px){:root{--pad:22px}.site-header{height:76px}.brand{min-width:0}.brand-name{display:none}.header-cta{display:none}.hero{height:100svh;min-height:680px}.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.7),rgba(0,0,0,.24)),linear-gradient(0deg,rgba(0,0,0,.8),transparent 70%)}.hero-content{top:43%}.hero h1{font-size:clamp(58px,18vw,85px)}.hero-bottom{grid-template-columns:1fr;gap:28px;margin-top:28px}.hero-bottom>p{font-size:13px}.hero-actions{gap:18px}.scroll-cue{bottom:25px}.section{padding-top:88px;padding-bottom:88px}.section-intro,.why-head{grid-template-columns:1fr;gap:15px;margin-bottom:50px}.section-intro h2,.section-heading h2,.why h2,.estimator h2,.contact h2{font-size:45px}.about-layout{grid-template-columns:1fr;gap:45px}.about-image{height:470px}.about-copy .lead{font-size:22px}.metric-grid{grid-template-columns:1fr 1fr;margin-top:60px}.metric-grid>div:nth-child(2){border-right:0}.metric-grid>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.metric-grid>div{padding:26px 12px}.metric-grid strong{font-size:35px}.section-heading{display:block;margin-bottom:45px}.section-heading>p{margin-top:24px}.service-row{grid-template-columns:40px 1fr 30px;min-height:100px}.service-row p{display:none}.featured{grid-template-columns:1fr}.featured-image{height:520px}.featured-copy{padding:70px var(--pad)}.featured-copy h2{font-size:55px}.featured-copy ul{grid-template-columns:1fr}.timeline{display:block;padding-left:36px}.timeline-line{left:4px;right:auto;top:0;bottom:0;width:1px;height:auto}.timeline-line span{height:0;width:100%!important;transition:height 1.8s var(--ease)}.timeline.visible .timeline-line span{height:100%}.timeline article{padding:0 0 38px 30px}.timeline article i{position:absolute;left:-36px;top:4px;margin:0}.timeline article h3 br{display:none}.timeline article p{max-width:none}.filters{margin-top:30px;overflow-x:auto}.project-grid{grid-template-columns:1fr;grid-auto-rows:480px}.project-tall,.project-wide{grid-row:auto;grid-column:auto}.why{padding:88px var(--pad)}.why-grid{grid-template-columns:1fr 1fr}.why-grid article:nth-child(2){border-right:0}.why-grid article{min-height:230px}.estimator{grid-template-columns:1fr;gap:45px}.calculator{padding:28px}.testimonials .section-intro{margin-bottom:10px}.big-stats{grid-template-columns:1fr 1fr;gap:35px 0}.big-stats>div:nth-child(2){border-right:0}.banner{height:700px}.banner-content{margin-right:var(--pad)}.banner h2{font-size:56px}.contact{grid-template-columns:1fr;gap:60px}.footer-main{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.project-modal[open]{grid-template-columns:1fr;overflow-y:auto}.modal-image{height:45vh}.modal-copy{padding:50px var(--pad);min-height:55vh}.modal-nav{margin-top:40px}}@media(max-width:520px){.hero-eyebrow{font-size:8px;line-height:1.8;max-width:300px}.hero h1{font-size:55px}.hero-bottom>p{max-width:350px}.scroll-cue{display:none}.trust-strip{height:64px}.about-image{height:390px}.section-heading h2,.section-intro h2,.why h2,.estimator h2,.contact h2{font-size:39px}.service-row h3{font-size:24px}.featured-image{height:420px}.featured-copy h2{font-size:46px}.project-grid{grid-auto-rows:430px}.project-overlay{padding:22px}.why-grid{grid-template-columns:1fr}.why-grid article{border-right:0;border-bottom:1px solid #353535;min-height:0;padding:28px 0!important}.why-grid h3{margin:25px 0 12px}.calculator,.contact-form{grid-template-columns:1fr}.calculator .field,.contact-form .field{grid-column:1}.choice{grid-template-columns:1fr 1fr}.estimate-result{grid-column:1}.testimonial-stage blockquote{font-size:25px}.big-stats{padding:55px var(--pad)}.big-stats strong{font-size:45px}.banner h2{font-size:47px}.banner-content>div{flex-direction:column;align-items:flex-start}.contact dl{grid-template-columns:1fr}.footer-main{grid-template-columns:1fr}.footer-brand{grid-column:auto}.footer-bottom{flex-direction:column;gap:12px}.floating-actions{right:14px;bottom:14px}.modal-meta{grid-template-columns:1fr;gap:14px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}.image-reveal{clip-path:none}.cursor,.cursor-dot{display:none}}

/* Distinctive construction consultancy banner refresh */
.hero{background:var(--paper);color:var(--ink)}
.hero-media img{object-position:center center;animation:heroDrift 18s var(--ease) both}
.hero-shade{background:linear-gradient(90deg,rgba(245,243,239,.04) 0%,rgba(245,243,239,0) 48%,rgba(17,17,17,.08) 100%),linear-gradient(0deg,rgba(245,243,239,.2),transparent 30%)}
.hero-grid{background-image:linear-gradient(rgba(17,17,17,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(17,17,17,.055) 1px,transparent 1px);background-size:80px 80px;opacity:.32;mask-image:linear-gradient(90deg,#000,transparent 48%)}
.site-header{color:var(--ink);border-color:rgba(17,17,17,.12);background:rgba(245,243,239,.2);backdrop-filter:blur(8px)}
.hero-content{max-width:min(720px,48vw);top:47%}
.hero h1{font-size:clamp(68px,8.2vw,128px);line-height:.88}
.hero h1 em{color:var(--gold)}
.hero-bottom{grid-template-columns:minmax(280px,470px);gap:30px;margin-top:38px}
.hero-bottom>p{color:rgba(17,17,17,.72)}
.hero-actions{flex-direction:row;align-items:center;flex-wrap:wrap}
.text-link{color:var(--ink)}
.hero-stats>div{border-color:rgba(17,17,17,.2)}
.hero-stats span{color:rgba(17,17,17,.58)}
.hero-drawing{position:absolute;inset:0;z-index:1;pointer-events:none}
.measure{position:absolute;display:block;border-color:rgba(184,138,74,.75);opacity:0;animation:measureDraw 1.35s var(--ease) 1.2s forwards}
.measure-a{left:5.2vw;top:24%;width:39vw;border-top:1px solid}.measure-a:before,.measure-a:after{content:"";position:absolute;top:-5px;width:1px;height:10px;background:var(--gold)}.measure-a:before{left:0}.measure-a:after{right:0}
.measure-b{left:5.2vw;top:24%;height:48%;border-left:1px solid}.measure-b:before,.measure-b:after{content:"";position:absolute;left:-5px;width:10px;height:1px;background:var(--gold)}.measure-b:before{top:0}.measure-b:after{bottom:0}
.measure-c{left:5.2vw;bottom:28%;width:17vw;border-top:1px dashed rgba(184,138,74,.6)}
.site-pulse{position:absolute;width:12px;height:12px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 0 rgba(184,138,74,.55);animation:sitePulse 2.4s ease-out infinite}
.pulse-a{left:65%;top:40%}.pulse-b{left:82%;top:64%;animation-delay:1.1s}
@keyframes heroDrift{from{transform:scale(1.035) translateX(1%)}to{transform:scale(1) translateX(0)}}
@keyframes measureDraw{from{opacity:0;transform:scaleX(.1);transform-origin:left}to{opacity:1;transform:scaleX(1)}}
@keyframes sitePulse{0%{box-shadow:0 0 0 0 rgba(184,138,74,.55)}70%{box-shadow:0 0 0 16px rgba(184,138,74,0)}100%{box-shadow:0 0 0 0 rgba(184,138,74,0)}}
@media(max-width:1100px){.hero-content{max-width:58vw}.site-pulse{display:none}}
@media(max-width:800px){.hero{min-height:720px}.hero-media img{object-position:61% center}.hero-shade{background:linear-gradient(90deg,rgba(245,243,239,.94) 0%,rgba(245,243,239,.78) 52%,rgba(245,243,239,.14) 100%),linear-gradient(0deg,rgba(245,243,239,.9),transparent 58%)}.hero-grid{background-size:52px 52px;mask-image:linear-gradient(90deg,#000,transparent 78%)}.hero-content{max-width:none;right:18vw;top:44%}.hero h1{font-size:clamp(52px,15vw,78px)}.hero-bottom{grid-template-columns:1fr}.hero-actions{align-items:flex-start}.hero-stats{display:none}.measure-a{width:72vw}.measure-b{height:44%}}
@media(max-width:520px){.hero-media img{object-position:66% center}.hero-content{right:var(--pad);top:43%}.hero-eyebrow{max-width:280px}.hero-bottom>p{max-width:320px}.hero-actions{flex-direction:column;align-items:flex-start}.measure{opacity:.45}.measure-a{width:82vw}}
