:root{--ink:#171816;--paper:#f3f2ee;--muted:#8a8b84;--line:#d9d8d1;--lime:#ced780;--white:#fff;--font:'DM Sans',sans-serif;--display:'Manrope',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:15px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.wrap{width:min(1200px,calc(100% - 96px));margin:0 auto}.skip-link{position:absolute;left:-999px;top:8px;background:#fff;padding:12px;z-index:100}.skip-link:focus{left:8px}.site-header{height:82px;position:absolute;z-index:20;top:0;left:0;width:100%;color:white;border-bottom:1px solid #ffffff35}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between}.brand{display:inline-flex;align-items:center;gap:12px}.brand-icon{width:32px;height:32px;display:grid;grid-template-columns:1fr 1fr;gap:3px;transform:rotate(-8deg)}.brand-icon i{border:1px solid currentColor;display:block;border-radius:2px}.brand-icon i:nth-child(2),.brand-icon i:nth-child(3){background:currentColor;opacity:.8}.brand-copy{display:flex;flex-direction:column;gap:2px}.brand-copy strong{font:800 15px var(--display);letter-spacing:.15em}.brand-copy small{font-size:8px;letter-spacing:.22em;opacity:.7}.primary-nav{display:flex;align-items:center;gap:34px;font-size:12px;color:#e2e2dd}.primary-nav>a:not(.nav-cta):hover{color:var(--lime)}.nav-cta{padding:12px 17px;border:1px solid #ffffff7a;color:#fff}.nav-cta span{margin-left:14px}.menu-toggle{display:none}.hero{height:min(790px,100svh);min-height:670px;position:relative;background:#20221e;color:#fff;display:flex;align-items:center;overflow:hidden}.hero-image,.hero-shade{position:absolute;inset:0}.hero-image{background-image:url('assets/hero-building-dusk.png');background-size:cover;background-position:center 53%;background-repeat:no-repeat;transform:scale(1.015)}.hero-shade{background:linear-gradient(90deg,rgba(13,15,13,.78),rgba(13,15,13,.3) 56%,rgba(13,15,13,.04)),linear-gradient(0deg,rgba(12,14,13,.35),transparent 38%)}.hero-content{position:relative;z-index:1;padding-top:45px}.eyebrow{font-size:10px;letter-spacing:.2em;font-weight:700;color:#76786f;margin:0 0 25px}.eyebrow span{display:inline-block;width:22px;height:1px;background:var(--lime);vertical-align:middle;margin-right:9px}.eyebrow.light{color:#e0e0d8}.hero h1{font:500 clamp(54px,7.3vw,100px)/1.02 var(--display);letter-spacing:-.065em;margin:0;max-width:760px}.hero h1 em,.intro h2 em,.section-heading h2 em,.industry-copy h2 em,.contact h2 em{font-style:normal;color:#d5d5cc}.hero-lede{font-size:16px;line-height:1.7;max-width:410px;color:#e2e3dc;margin:28px 0 33px}.hero-actions{display:flex;align-items:center;gap:30px}.button{min-height:50px;padding:0 20px;display:inline-flex;align-items:center;justify-content:space-between;gap:35px;border:0;font:600 12px var(--font);cursor:pointer}.button-light{background:#f1f0ea;color:#1e201d}.button span{font-size:16px}.text-link{font-weight:600;font-size:12px;border-bottom:1px solid var(--ink);padding-bottom:8px}.text-link span{padding-left:16px}.light-link{color:white;border-color:#ffffff83}.hero-caption{position:absolute;bottom:36px;left:50%;transform:translateX(-50%);width:min(1200px,calc(100% - 96px));display:flex;justify-content:space-between;color:#ffffffa8;font-size:9px;letter-spacing:.18em}.scroll-cue{position:absolute;right:48px;bottom:36px;color:#fff;writing-mode:vertical-rl;font-size:8px;letter-spacing:.18em;display:flex;align-items:center;gap:12px}.scroll-cue span{height:38px;width:1px;background:#ffffff90}.section-pad{padding:120px 0}.intro{background:var(--paper)}.intro-grid{display:grid;grid-template-columns:1fr 2.4fr 1.2fr;gap:35px}.section-label{font-size:9px;letter-spacing:.16em;color:#77786f;display:flex;gap:18px;align-items:flex-start;padding-top:10px}.section-label i{height:1px;background:#9c9d96;flex:1;margin-top:5px}.intro-main .eyebrow{margin-bottom:18px}.intro h2,.section-heading h2,.industry-copy h2{font:500 clamp(36px,4.4vw,57px)/1.12 var(--display);letter-spacing:-.055em;margin:0}.intro h2 em,.section-heading h2 em,.industry-copy h2 em{color:#81837a}.intro-side{padding-top:46px}.intro-side p,.industry-lede{font-size:14px;color:#6b6d65;line-height:1.8;margin:0 0 23px}.values-row{margin-top:105px;border-top:1px solid var(--line);padding-top:27px;display:grid;grid-template-columns:1fr 1fr 1fr 1.5fr;gap:24px}.values-row>div{display:flex;gap:16px;align-items:flex-start}.values-row strong{font:500 11px var(--display);color:#85867d}.values-row span{font-size:12px;line-height:1.5}.values-row>p{font:500 14px/1.6 var(--display);margin:0;max-width:280px}.services{background:#e9e8e2}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:54px}.section-heading .eyebrow{margin-bottom:18px}.heading-note{max-width:260px;font-size:13px;line-height:1.7;color:#6c6e66;margin:0 0 5px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #cfcec7;border-left:1px solid #cfcec7}.service-card{min-height:226px;padding:25px 24px 20px;border-right:1px solid #cfcec7;border-bottom:1px solid #cfcec7;position:relative;transition:background .25s,transform .25s}.service-card:hover{background:#f5f4ef;transform:translateY(-3px)}.service-icon{font:500 10px var(--display);color:#82847a;border:1px solid #bfc0b6;width:30px;height:30px;display:grid;place-items:center;border-radius:50%;margin-bottom:29px}.service-card h3{font:600 17px var(--display);letter-spacing:-.025em;margin:0 0 8px}.service-card p{font-size:12px;line-height:1.6;color:#72736c;margin:0;max-width:230px}.service-card>a{position:absolute;right:22px;top:24px;color:#797b72}.industries{background:#171816;color:#f2f2ec}.industries-grid{display:grid;grid-template-columns:1fr 1fr;gap:11%;align-items:center}.industry-photo{display:block;width:100%;height:570px;min-height:570px;object-fit:cover;object-position:center}.industry-copy{padding:30px 0}.industry-copy .eyebrow{color:#b4b5ab}.industry-copy h2{margin-bottom:25px}.industry-copy h2 em{color:#a9aaa1}.industry-lede{color:#b7b8ae;max-width:390px;margin-bottom:32px}.industry-list{border-top:1px solid #ffffff36}.industry-list>div{border-bottom:1px solid #ffffff36;padding:17px 0;display:grid;grid-template-columns:42px 1fr auto;font-size:13px}.industry-list span{font-size:9px;color:#a1a39a}.industry-list b{font-weight:400;color:var(--lime)}.work{background:var(--paper)}.work-heading{margin-bottom:43px}.project-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:24px;align-items:start}.project-small{margin-top:90px}.project-photo{background-size:cover;background-position:center;background-repeat:no-repeat;min-height:390px;position:relative}.project-large .project-photo{min-height:490px}.project-meta{display:flex;justify-content:space-between;align-items:flex-start;padding-top:18px}.project-meta>div>span{font-size:9px;letter-spacing:.14em;color:#777970}.project-meta h3{font:500 20px var(--display);margin:7px 0 0;letter-spacing:-.03em}.project-arrow{font-size:18px}.contact{background:#232522;color:#f2f2ec}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%}.contact h2{font:500 clamp(42px,5vw,65px)/1.1 var(--display);letter-spacing:-.06em;margin:0 0 22px}.contact-copy>p:not(.eyebrow){max-width:360px;color:#b8b9b1;line-height:1.7;font-size:14px;margin-bottom:32px}.phone-link{font:500 20px var(--display);display:flex;justify-content:space-between;border-bottom:1px solid #ffffff42;padding:15px 0}.phone-link span{color:var(--lime)}.contact-address{font-size:12px;line-height:1.8;color:#b8b9b1;display:block;margin-top:23px;position:relative}.contact-address span{position:absolute;left:0;top:0;transform:translateX(330px);color:var(--lime)}.contact-form{background:#2d2f2c;padding:31px 34px}.form-top{font-size:9px;letter-spacing:.14em;color:#c6c7bd;display:flex;justify-content:space-between;border-bottom:1px solid #ffffff30;padding-bottom:20px;margin-bottom:22px}.contact-form label{display:block;font-size:10px;letter-spacing:.05em;color:#c3c4bb;margin-bottom:15px}.contact-form input,.contact-form select,.contact-form textarea{width:100%;display:block;margin-top:8px;background:transparent;color:#f4f4ed;border:0;border-bottom:1px solid #ffffff42;border-radius:0;padding:10px 0;font:13px var(--font);outline:none}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--lime)}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#7f8178}.contact-form select{color:#a4a59c}.contact-form select option{color:#171816}.contact-form textarea{resize:vertical}.contact-form .button{width:100%;margin-top:7px}.form-note{font-size:10px;color:#a7a89f;margin:12px 0 0;line-height:1.5}.site-footer{background:#111210;color:#e9e9e1;padding:38px 0 20px}.footer-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:38px}.footer-brand{color:#f4f4ed}.footer-top>p{font:500 16px/1.4 var(--display);color:#b4b5ac;margin:0}.back-top{font-size:9px;letter-spacing:.15em}.back-top span{font-size:15px;margin-left:13px;color:var(--lime)}.footer-bottom{border-top:1px solid #ffffff2e;padding-top:17px;display:flex;justify-content:space-between;color:#85877e;font-size:8px;letter-spacing:.12em}.whatsapp{position:fixed;right:23px;bottom:22px;z-index:15;background:#eff0e8;color:#20221e;padding:11px 15px;border-radius:30px;display:flex;align-items:center;gap:8px;box-shadow:0 5px 25px #0003;font-size:11px}.whatsapp span{font-size:17px;color:#43533d}.whatsapp b{font-weight:600}
.reveal{opacity:1;transform:translateY(18px);transition:transform .7s ease}.reveal.is-visible{transform:none}
@media(max-width:900px){.wrap{width:calc(100% - 52px)}.primary-nav{gap:19px}.primary-nav a{font-size:11px}.nav-cta{padding:10px}.intro-grid{grid-template-columns:1fr 2fr}.intro-side{grid-column:2;padding-top:0}.service-grid{grid-template-columns:repeat(2,1fr)}.industries-grid{gap:7%}.industry-photo{min-height:500px}.contact-grid{gap:6%}.hero-caption{width:calc(100% - 52px)}.scroll-cue{right:25px}}
@media(max-width:650px){html{scroll-padding-top:68px}.wrap{width:calc(100% - 40px)}.site-header{height:68px}.brand-icon{width:27px;height:27px}.brand-copy strong{font-size:13px}.brand-copy small{font-size:7px}.menu-toggle{display:flex;width:42px;height:42px;align-items:center;justify-content:center;flex-direction:column;gap:6px;background:transparent;border:1px solid #ffffff70;color:white}.menu-toggle span{width:16px;height:1px;background:currentColor;transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.primary-nav{position:absolute;top:68px;left:0;right:0;background:#171816;padding:16px 20px 24px;display:flex;flex-direction:column;align-items:stretch;gap:0;visibility:hidden;opacity:0;transform:translateY(-8px);transition:.2s}.primary-nav.open{visibility:visible;opacity:1;transform:none}.primary-nav>a:not(.nav-cta){padding:15px 0;border-bottom:1px solid #ffffff20;font-size:13px}.nav-cta{margin-top:17px;text-align:center;font-size:12px!important}.hero{min-height:680px;height:91svh;max-height:850px}.hero-image{background-position:59% center}.hero-shade{background:linear-gradient(90deg,#11130fbb,#11130f56 70%,#11130f33),linear-gradient(0deg,#11130f70,transparent 50%)}.hero-content{padding-top:18px}.eyebrow{font-size:9px;line-height:1.6}.hero h1{font-size:clamp(52px,15vw,76px)}.hero-lede{font-size:14px;max-width:330px;margin:22px 0 27px}.hero-actions{align-items:flex-start;flex-direction:column;gap:21px}.button{min-height:48px}.hero-caption{width:calc(100% - 40px);bottom:24px;font-size:7px;letter-spacing:.13em}.hero-caption span:last-child{max-width:130px;text-align:right}.scroll-cue{display:none}.section-pad{padding:79px 0}.intro-grid{display:flex;flex-direction:column;gap:27px}.section-label{order:0;max-width:260px}.intro-main{order:1}.intro-main .eyebrow{margin-bottom:15px}.intro h2,.section-heading h2,.industry-copy h2{font-size:clamp(37px,11vw,49px)}.intro-side{order:2;padding:0}.intro-side p{font-size:13px}.values-row{margin-top:56px;grid-template-columns:1fr 1fr;gap:22px 10px}.values-row>p{grid-column:1/-1;margin-top:10px}.section-heading{display:block;margin-bottom:32px}.heading-note{margin-top:20px;max-width:360px}.service-grid{grid-template-columns:1fr 1fr}.service-card{min-height:213px;padding:20px 15px 18px}.service-icon{margin-bottom:24px}.service-card h3{font-size:15px;line-height:1.3}.service-card p{font-size:11px}.service-card>a{right:15px;top:20px}.industries-grid{display:flex;flex-direction:column;gap:31px;align-items:stretch}.industry-photo{height:350px;min-height:350px;order:1;object-position:center}.industry-copy{padding:0;order:0}.industry-copy .eyebrow{margin-bottom:15px}.industry-copy h2{margin-bottom:17px}.industry-lede{font-size:13px;margin-bottom:22px}.industry-list>div{padding:14px 0;font-size:12px}.work-heading{margin-bottom:31px}.project-grid{display:flex;flex-direction:column;gap:30px}.project-small{margin-top:0}.project-photo,.project-large .project-photo{min-height:300px}.project-large,.project-small{width:100%}.project-meta h3{font-size:17px}.contact-grid{display:flex;flex-direction:column;gap:35px}.contact h2{font-size:clamp(43px,13vw,60px)}.contact-copy>p:not(.eyebrow){font-size:13px}.contact-address span{transform:translateX(min(78vw,330px))}.contact-form{padding:24px 20px}.form-top{font-size:8px}.footer-top{align-items:flex-start;gap:20px;flex-wrap:wrap}.footer-top>p{font-size:14px}.back-top{margin-left:auto;align-self:center}.footer-bottom{font-size:7px;gap:11px;flex-wrap:wrap}.whatsapp{right:13px;bottom:13px;padding:10px 13px}.whatsapp b{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}.reveal{opacity:1;transform:none}}

/* Service imagery, clearer reading sizes and the expanded building technology sections. */
body{font-size:16px}
.primary-nav{gap:22px;font-size:13px}
.primary-nav>a{font-size:13px}

.hero-shade{background:linear-gradient(90deg,rgba(13,15,13,.84),rgba(13,15,13,.42) 58%,rgba(13,15,13,.1)),linear-gradient(0deg,rgba(12,14,13,.36),transparent 42%)}
.hero h1{font-size:clamp(49px,6.8vw,88px)}
.hero h1 em{color:#d5d5cc}
.hero-tagline{margin:17px 0 0;color:#cbbda7;font:500 clamp(19px,2.1vw,25px)/1.4 var(--display);letter-spacing:-.025em}
.hero-tagline+.hero-lede{margin-top:19px}
.hero-lede{font-size:17px;max-width:460px}
.service-grid{grid-template-columns:repeat(4,minmax(0,1fr));border:0;gap:16px}
.service-card{padding:0;min-height:0;background:#f5f4ef;border:1px solid #d7d6ce;display:flex;flex-direction:column;overflow:hidden;transition:transform .25s,box-shadow .25s}
.service-card:hover{background:#f8f7f3;transform:translateY(-2px);box-shadow:0 12px 24px #17181612;border-color:#bdbcb3}
.service-card>img{width:100%;aspect-ratio:1.7/1;object-fit:cover;background:#d5d5ce;display:block;transition:transform .55s cubic-bezier(.2,.65,.25,1)}
.service-body{padding:19px 20px 20px;display:flex;flex-direction:column;align-items:flex-start;flex:1}
.service-icon{margin:0 0 14px;width:29px;height:29px}
.service-card h3{font-size:17px;line-height:1.35;margin:0 0 8px;min-height:45px}
.service-card p{font-size:13px;line-height:1.65;color:#5f6159;margin:0 0 17px;max-width:none}
.service-card .service-explore{position:static;margin-top:auto;border-bottom:1px solid #a5a69d;padding-bottom:5px;font-size:12px;font-weight:700;color:#292b26}
.service-explore>span{padding-left:9px}
.service-details{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:#cfcec7;border:1px solid #cfcec7;margin-top:42px}
.service-details article{background:#e9e8e2;padding:21px 20px 23px;scroll-margin-top:96px;min-height:170px}
.service-details article>span,.why-grid article>span{font-size:10px;font-weight:700;letter-spacing:.14em;color:#777970}
.service-details h3{font:600 16px/1.35 var(--display);margin:12px 0 8px;letter-spacing:-.02em}
.service-details p{font-size:13px;line-height:1.6;color:#5f6159;margin:0 0 13px}
.service-details a{font-size:12px;font-weight:700;border-bottom:1px solid #a5a69d;padding-bottom:4px}
.why{background:#f8f7f3}
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}
.why-grid article{padding:24px 23px 6px 0}
.why-grid h3{font:600 18px/1.3 var(--display);letter-spacing:-.025em;margin:18px 0 10px}
.why-grid p{font-size:14px;line-height:1.7;color:#64665f;margin:0;max-width:250px}

.industry-list>div{font-size:14px;padding:18px 0}
.project-photo{background-color:#deded7}
.photo-home{background-image:url('assets/service-automation-project-home.jpg')}
.photo-office{background-image:url('assets/service-networking-project-office.jpg')}
.project-meta>div>span{font-size:10px;letter-spacing:.12em}
.project-meta h3{font-size:21px}
.heading-note{font-size:14px;line-height:1.75}
.intro-side p,.industry-lede{font-size:15px}
.values-row span{font-size:13px}
.contact-form label{font-size:12px}
.contact-form input,.contact-form select,.contact-form textarea{font-size:14px}
.contact-copy>p:not(.eyebrow){font-size:15px}
.form-note{font-size:12px}
.hero-caption{font-size:10px}
.service-card,.why-grid article,.project{transition-delay:0s}
.brand{flex:0 1 244px;min-width:0}
.brand-header-logo{display:block;width:244px;max-width:100%;height:auto;object-fit:contain;object-position:left center}



.hero-shade{background:linear-gradient(90deg,rgba(13,15,13,.79),rgba(13,15,13,.32) 60%,rgba(13,15,13,.08)),linear-gradient(0deg,rgba(12,14,13,.38),transparent 42%)}
.service-details article{scroll-margin-top:106px}
.service-details article>a{display:inline-block;color:#292b26}
.service-details article>a:hover,.service-details article>a:focus-visible{color:#596335}
@media(max-width:1000px){.primary-nav{gap:13px}.primary-nav>a{font-size:11px}.nav-cta{padding:10px}.service-grid,.service-details{grid-template-columns:repeat(2,minmax(0,1fr))}.why-grid{grid-template-columns:repeat(2,1fr);row-gap:25px}}
@media(max-width:650px){
  .brand{flex-basis:184px}
  body{font-size:15px}.primary-nav>a:not(.nav-cta){font-size:14px}.hero h1{font-size:clamp(43px,12vw,65px);letter-spacing:-.06em}.hero-tagline{font-size:clamp(17px,5vw,20px);margin-top:14px}.hero-tagline+.hero-lede{margin-top:16px}.hero-lede{font-size:15px;line-height:1.65}.eyebrow{font-size:10px}.hero-caption{font-size:8px}
  .service-grid{gap:10px}.service-card>img{aspect-ratio:1.45/1}.service-body{padding:15px 13px 16px}.service-icon{margin-bottom:11px;width:26px;height:26px}.service-card h3{font-size:15px;min-height:0;line-height:1.35}.service-card p{font-size:12px;line-height:1.55;margin-bottom:13px}.service-card .service-explore{font-size:11px}.service-details{grid-template-columns:1fr;margin-top:28px}.service-details article{min-height:0;padding:19px 17px}.service-details h3{font-size:17px}.service-details p{font-size:13px}.why-grid{grid-template-columns:1fr 1fr;gap:0 18px}.why-grid article{padding:19px 0 14px}.why-grid h3{font-size:16px;margin:14px 0 8px}.why-grid p{font-size:13px;line-height:1.6}.industry-list>div{font-size:13px;padding:16px 0}.project-meta>div>span{font-size:9px}.project-meta h3{font-size:18px}.heading-note{font-size:13px}.intro-side p,.industry-lede,.contact-copy>p:not(.eyebrow){font-size:14px}.contact-form label{font-size:11px}.contact-form input,.contact-form select,.contact-form textarea{font-size:14px}.form-note{font-size:11px}
}

/* Homepage refinements: tonal depth, restrained ambient texture and balanced footer lockup. */
:root{--paper:#f2f0ea}
.intro,.work{background:linear-gradient(142deg,#f6f4ee 0%,#eeede7 52%,#f4f2ec 100%)}
.services{background:radial-gradient(ellipse at 78% 7%,rgba(255,255,255,.62),transparent 43%),linear-gradient(136deg,#eeede6 0%,#e7e6df 58%,#f0efe9 100%)}
.why{background:radial-gradient(ellipse at 86% 12%,rgba(255,255,255,.82),transparent 47%),linear-gradient(132deg,#f8f7f2 0%,#efeee8 100%)}
.industries{background:radial-gradient(ellipse at 78% 10%,rgba(184,190,177,.1),transparent 48%),linear-gradient(132deg,#171816 0%,#20211f 64%,#171816 100%)}
.service-card{background:linear-gradient(145deg,#f8f7f2,#f1f0ea);border-color:#d2d1c9;box-shadow:0 1px 0 rgba(25,26,23,.035),0 8px 24px rgba(25,26,23,.035)}
.service-details article{background:linear-gradient(145deg,#efeee8,#e8e7e0)}
.why-grid article{border-color:#d3d2ca}
.ambient-tech{position:relative;isolation:isolate}
.ambient-tech>.wrap{position:relative;z-index:1}
.ambient-tech::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.18;background-image:radial-gradient(ellipse at 22% 14%,rgba(255,255,255,.84),transparent 48%),radial-gradient(circle,rgba(99,111,104,.22) 0 1px,transparent 1.5px),linear-gradient(128deg,transparent 49.8%,rgba(98,108,101,.09) 50%,transparent 50.2%);background-size:100% 100%,78px 78px,156px 156px;animation:ambient-drift 38s ease-in-out infinite alternate}
.ambient-tech-dark::before{opacity:.62;background-image:radial-gradient(ellipse at 82% 14%,rgba(196,201,190,.15),transparent 48%),radial-gradient(circle,rgba(220,223,214,.12) 0 1px,transparent 1.5px),linear-gradient(128deg,transparent 49.8%,rgba(221,224,216,.065) 50%,transparent 50.2%)}
@keyframes ambient-drift{from{background-position:0 0,0 0,0 0}to{background-position:0 0,12px -8px,-12px 8px}}
.site-footer{background:radial-gradient(ellipse at 14% 5%,rgba(164,171,159,.1),transparent 45%),linear-gradient(130deg,#111210,#181916 65%,#111210)}
.site-footer>.wrap{position:relative;z-index:1}
.footer-top{padding:25px 0 28px;align-items:center;border-bottom:1px solid rgba(255,255,255,.13)}
.footer-lockup{display:flex;align-items:center;gap:24px;min-width:0}
.footer-logo{display:block;width:250px;max-width:42vw;height:auto;object-fit:contain;object-position:left center;background:transparent}
.footer-tagline{max-width:190px;padding-left:22px;border-left:1px solid rgba(255,255,255,.19);font:500 15px/1.45 var(--display);letter-spacing:-.02em;color:#c8c9c1}
.footer-bottom{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:26px;padding-top:15px;border-top:0;color:#85877e;font-size:8px;letter-spacing:.12em}
.back-top{color:#aeb0a7}
@media(max-width:650px){
  .ambient-tech::before{animation:none;opacity:.08}
  .ambient-tech-dark::before{opacity:.32}
  .footer-top{align-items:flex-start;gap:20px;padding:23px 0 21px}
  .footer-lockup{flex-direction:column;align-items:flex-start;gap:8px}
  .footer-logo{width:min(230px,68vw);max-width:100%}
  .footer-tagline{max-width:none;border:0;padding:0;font-size:14px}
  .back-top{margin-left:auto;align-self:flex-start;padding-top:4px}
  .footer-bottom{grid-template-columns:1fr auto;gap:12px 18px;font-size:7px}
  .footer-bottom>span:first-child{grid-column:1/-1}
}
@media(prefers-reduced-motion:reduce){.ambient-tech::before{animation:none!important}}

/* Concise, image-led homepage preview for the dedicated local portfolio page. */
.work-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.work-preview-card{min-width:0;overflow:hidden;background:#f8f7f2;border:1px solid #d3d1c9;box-shadow:0 6px 20px rgba(24,25,22,.045)}
.work-preview-card>img{display:block;width:100%;height:clamp(220px,23vw,300px);object-fit:cover;background:#d3d1c9}
.work-preview-card:nth-child(3)>img{object-position:center 36%}
.work-preview-card>div{padding:17px 19px 20px}
.work-preview-card>div>span{font-size:8px;letter-spacing:.13em;color:#77786f;line-height:1.5;font-weight:700}
.work-preview-card h3{font:600 19px/1.2 var(--display);letter-spacing:-.03em;margin:8px 0 5px}
.work-preview-card p{color:#6d6e67;font-size:12px;margin:0}
.work-preview-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:24px}
.work-preview-footer>p{max-width:630px;color:#6d6e67;font-size:12px;line-height:1.65;margin:0}
.work-preview-footer .button{flex-shrink:0}
@media(max-width:850px){.work-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.work-preview-card>img{height:clamp(220px,35vw,310px)}.work-preview-footer{align-items:flex-start;flex-direction:column}.work-preview-footer .button{width:auto}}
@media(max-width:560px){.work-preview-grid{grid-template-columns:1fr;gap:16px}.work-preview-card>img{height:auto;aspect-ratio:1.4/1}.work-preview-footer .button{width:100%}}
/* Balanced transition from the homepage service cards into the next section. */
.services{padding-bottom:88px}
.why{padding-top:88px}

/* Homepage middle sections: restrained architectural tones and slow ambient light. */
.intro.ambient-tech{
  background:linear-gradient(132deg,#eae8e1 0%,#e4e2da 53%,#eeece6 100%);
}
.services.ambient-tech{
  background:radial-gradient(ellipse at 76% 35%,rgba(255,255,255,.52),transparent 48%),linear-gradient(138deg,#e2e4e3 0%,#dadddc 54%,#e5e5e1 100%);
}
.why.ambient-tech{
  background:linear-gradient(132deg,#f3efe6 0%,#eee9df 54%,#f5f1e8 100%);
}
.intro.ambient-tech::before,
.services.ambient-tech::before,
.why.ambient-tech::before{
  opacity:.24;
  background-repeat:no-repeat,repeat;
  background-size:100% 100%,260px 260px;
  animation:section-ambient-drift 54s ease-in-out infinite alternate;
}
.intro.ambient-tech::before{
  background-image:radial-gradient(ellipse at 78% 18%,rgba(255,255,255,.68),transparent 52%),linear-gradient(132deg,transparent 49.75%,rgba(89,94,89,.075) 50%,transparent 50.25%);
}
.services.ambient-tech::before{
  opacity:.2;
  background-image:radial-gradient(ellipse at 78% 28%,rgba(255,255,255,.72),transparent 52%),linear-gradient(132deg,transparent 49.8%,rgba(78,89,91,.075) 50%,transparent 50.2%);
}
.why.ambient-tech::before{
  background-image:radial-gradient(ellipse at 80% 15%,rgba(255,255,255,.76),transparent 52%),linear-gradient(132deg,transparent 49.78%,rgba(132,119,91,.07) 50%,transparent 50.22%);
}
@keyframes section-ambient-drift{
  from{background-position:0 0,0 0}
  to{background-position:2% 1%,14px -9px}
}
@media(max-width:650px){
  .intro.ambient-tech::before,.services.ambient-tech::before,.why.ambient-tech::before{animation:none;opacity:.11}
}
@media(prefers-reduced-motion:reduce){
  .intro.ambient-tech::before,.services.ambient-tech::before,.why.ambient-tech::before{animation:none!important}
}

/* Editorial architectural visual and balanced principles for the homepage intro. */
.intro .intro-visual{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  height:clamp(300px,36vw,430px);
  margin-top:52px;
  background:#74746c;
  border-top:1px solid rgba(255,255,255,.52);
  border-bottom:1px solid rgba(90,89,80,.22);
  box-shadow:0 16px 44px rgba(44,43,37,.09);
}
.intro-visual picture,.intro-visual img,.intro-visual-glow,.intro-visual-shade,.intro-visual-connections{position:absolute;inset:0;width:100%;height:100%}
.intro-visual img{display:block;object-fit:cover;object-position:center 53%}
.intro-visual-glow{z-index:1;pointer-events:none;mix-blend-mode:screen;background:radial-gradient(ellipse at 74% 38%,rgba(225,204,163,.17),transparent 34%),radial-gradient(ellipse at 24% 78%,rgba(237,224,199,.09),transparent 42%);background-size:130% 130%;animation:intro-ambient-glow 46s ease-in-out infinite alternate}
.intro-visual-shade{z-index:2;pointer-events:none;background:linear-gradient(90deg,rgba(18,20,18,.38),rgba(18,20,18,.08) 58%,rgba(18,20,18,.16)),linear-gradient(0deg,rgba(16,18,16,.5),transparent 48%)}
.intro-visual-connections{z-index:3;pointer-events:none;fill:none;stroke:#ddd5c3;stroke-width:1.1;stroke-opacity:.36;vector-effect:non-scaling-stroke}
.intro-visual-connections .network-trace{stroke:#f3ead7;stroke-width:1.8;stroke-opacity:0;stroke-dasharray:.1 .9;stroke-dashoffset:1;animation:network-light-pass 30s ease-in-out 3s infinite}
.intro-visual-connections .network-node-halo{fill:#e5d8bb;stroke:none;opacity:.22;transform-box:fill-box;transform-origin:center;animation:network-node-breathe 8s ease-in-out infinite}
.intro-visual-connections .network-node-core{fill:#f4eddf;stroke:none;opacity:.75}
.intro-visual-connections .node-two{animation-delay:1.6s}.intro-visual-connections .node-three{animation-delay:3.1s}.intro-visual-connections .node-four{animation-delay:4.4s}
.intro-visual-caption{position:absolute;z-index:4;left:28px;bottom:22px;margin:0;color:rgba(250,248,240,.88);font-size:9px;font-weight:600;letter-spacing:.19em;line-height:1.8}
.intro-visual-caption i{display:inline-block;width:15px;height:1px;margin:0 7px 3px;background:rgba(225,216,195,.72)}
.intro .values-row{margin-top:48px;padding-top:25px;grid-template-columns:1fr 1fr 1fr 1.4fr;gap:32px;align-items:start}
.intro .values-row>div{gap:16px;padding-left:17px;border-left:1px solid rgba(132,126,108,.34)}
.intro .values-row strong{color:#8e856f;font-size:12px;letter-spacing:.04em}
.intro .values-row span{font-size:14px;line-height:1.45;font-weight:500;letter-spacing:-.01em}
.intro .values-row>p{max-width:320px;padding-left:22px;border-left:1px solid rgba(132,126,108,.34);color:#56564f;font-size:15px;line-height:1.55}
@keyframes intro-ambient-glow{from{background-position:0 0}to{background-position:8% -3%}}
@keyframes network-node-breathe{0%,100%{opacity:.17;transform:scale(.82)}50%{opacity:.36;transform:scale(1.08)}}
@keyframes network-light-pass{0%,8%{stroke-dashoffset:1;stroke-opacity:0}18%{stroke-opacity:.48}72%{stroke-dashoffset:0;stroke-opacity:.42}82%,100%{stroke-dashoffset:0;stroke-opacity:0}}
@media(max-width:650px){
  .intro .intro-visual{height:clamp(220px,64vw,300px);margin-top:34px}
  .intro-visual img{object-position:center 52%}
  .intro-visual-glow{animation:none;opacity:.62}
  .intro-visual-connections{stroke-opacity:.24}
  .intro-visual-connections .network-trace{display:none}
  .intro-visual-connections .network-node-halo{animation-duration:11s;opacity:.14}
  .intro-visual-caption{left:16px;right:14px;bottom:15px;font-size:7px;letter-spacing:.12em}
  .intro-visual-caption i{width:9px;margin-left:4px;margin-right:4px}
  .intro .values-row{margin-top:30px;padding-top:20px;grid-template-columns:1fr;gap:12px}
  .intro .values-row>div{gap:12px;padding:10px 0 10px 13px}
  .intro .values-row span{font-size:15px}
  .intro .values-row>p{grid-column:auto;margin-top:8px;padding-left:14px}
}
@media(prefers-reduced-motion:reduce){
  .intro-visual-glow,.intro-visual-connections .network-trace,.intro-visual-connections .network-node-halo{animation:none!important}
}

/* Whole service cards are links; keep the CTA text as a visual cue. */
.service-card{color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;transition:transform .25s ease,box-shadow .25s ease,background .25s ease,border-color .25s ease}
.service-card:hover{background:linear-gradient(145deg,#f8f7f2,#f1f0ea);border-color:#d2d1c9;transform:none;box-shadow:0 1px 0 rgba(25,26,23,.035),0 8px 24px rgba(25,26,23,.035)}
.service-card>img{transition:transform .55s cubic-bezier(.2,.65,.25,1)}
.service-card:focus-visible{position:relative;z-index:1;outline:2px solid #827b69;outline-offset:3px;box-shadow:0 0 0 3px var(--paper),0 0 0 5px #827b69}
.service-card:active{transform:scale(.992);background:#eeede7;transition-duration:.12s}
.service-card .service-explore{display:inline-flex;align-items:center}
@media(hover:hover) and (pointer:fine){
  .service-card:hover{background:linear-gradient(145deg,#fbfaf6,#f4f3ed);border-color:#bdbcb3;transform:translateY(-2px);box-shadow:0 12px 24px rgba(23,24,22,.075)}
  .service-card:hover>img{transform:scale(1.025)}
}

/* Keep the ninth homepage service centered at the same card width. */
@media(min-width:1001px){.service-card--last{grid-column:1/-1;justify-self:center;width:calc((100% - 48px)/4)}}
@media(max-width:1000px){.service-card--last{grid-column:1/-1;justify-self:center;width:calc((100% - 16px)/2)}}
@media(max-width:650px){.service-card--last{width:calc((100% - 10px)/2)}}

.company-story{margin-top:3.5rem;padding:2rem 0 0;border-top:1px solid rgba(82,83,79,.24);max-width:760px}.company-story .eyebrow{margin:0 0 .75rem}.company-story h3{font-size:clamp(1.4rem,2.3vw,2rem);margin:0 0 .65rem;color:var(--ink,#242522)}.company-story>p:last-child{max-width:700px;font-size:1.05rem;line-height:1.75;color:var(--muted,#676862)}
.portfolio-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}.portfolio-card{min-width:0;overflow:hidden;border:1px solid rgba(35,36,33,.12);border-radius:4px;background:rgba(255,255,255,.72)}.portfolio-visual{position:relative;min-height:220px;aspect-ratio:1.55/1;overflow:hidden;background-color:#777873;background-image:linear-gradient(145deg,rgba(225,218,198,.65),rgba(40,44,42,.13) 46%,rgba(20,22,21,.65)),repeating-linear-gradient(135deg,transparent 0 34px,rgba(255,255,255,.10) 35px 36px);}.portfolio-visual:before,.portfolio-visual:after{content:"";position:absolute;pointer-events:none}.portfolio-visual:before{inset:18% 12%;border:1px solid rgba(243,233,207,.4);transform:skewY(-5deg)}.portfolio-visual:after{width:42%;height:1px;left:29%;top:50%;background:rgba(243,233,207,.62);box-shadow:0 0 22px rgba(230,213,174,.45);transform:rotate(-13deg)}.portfolio-smart{background-image:linear-gradient(135deg,rgba(170,156,123,.34),rgba(25,30,29,.67)),repeating-linear-gradient(90deg,transparent 0 48px,rgba(240,234,216,.18) 49px 50px)}.portfolio-theatre{background-image:radial-gradient(ellipse at 50% 45%,rgba(229,214,177,.36),transparent 48%),linear-gradient(135deg,#56524a,#1e2020 70%)}.portfolio-security{background-image:linear-gradient(145deg,rgba(189,183,165,.34),rgba(25,30,32,.8)),repeating-linear-gradient(0deg,transparent 0 42px,rgba(240,234,216,.18) 43px 44px)}.portfolio-access{background-image:linear-gradient(135deg,rgba(186,175,147,.45),rgba(37,41,40,.78)),linear-gradient(90deg,transparent 48%,rgba(235,230,214,.28) 49%,transparent 51%)}.portfolio-lighting{background-image:radial-gradient(ellipse at 60% 65%,rgba(229,209,160,.52),transparent 38%),linear-gradient(145deg,#73736c,#282b29 68%)}.portfolio-commercial{background-image:linear-gradient(145deg,rgba(184,179,159,.4),rgba(33,37,37,.84)),repeating-linear-gradient(90deg,transparent 0 65px,rgba(240,234,216,.18) 66px 67px)}.portfolio-card .project-meta{min-height:92px;padding:1rem 1.1rem;align-items:flex-start}.portfolio-card .project-meta span{font-size:.63rem;letter-spacing:.11em;line-height:1.5}.portfolio-card .project-meta h3{font-size:1.08rem;margin:.5rem 0 0}.portfolio-note{margin:1.5rem 0 0;color:var(--muted,#676862);font-size:.92rem}
@media(max-width:800px){.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-visual{min-height:190px}}
@media(max-width:520px){.company-story{margin-top:2.5rem;padding-top:1.5rem}.company-story>p:last-child{font-size:.98rem}.portfolio-grid{gap:.75rem}.portfolio-visual{min-height:132px;aspect-ratio:1.25/1}.portfolio-card .project-meta{min-height:96px;padding:.8rem}.portfolio-card .project-meta span{font-size:.54rem}.portfolio-card .project-meta h3{font-size:.92rem}}
