@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#263b49;--muted:#5d6f7a;--paper:#f4f8f9;--white:#fff;--cyan:#00a8c4;--cyan-light:#83d9e6;--line:#ccd9de;--dark:#344c5b;font-family:'DM Sans',Arial,sans-serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}h1,h2,h3,p,blockquote{margin:0}h1,h2,h3{font-family:Manrope,Arial,sans-serif;letter-spacing:-.055em;line-height:1.08}p{line-height:1.65}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{display:block;max-width:100%}.container{width:min(100% - 8vw,1440px);margin:auto}.section-pad{padding:clamp(80px,10vw,160px) 0}.eyebrow{font-size:.75rem;letter-spacing:.15em;font-weight:700;line-height:1.5}.accent{color:#008da7}.skip{position:absolute;top:-100px;left:1rem;z-index:100;background:white;color:black;padding:12px}.skip:focus{top:12px}:focus-visible{outline:3px solid var(--cyan);outline-offset:4px}.site-header{position:absolute;top:0;left:0;right:0;z-index:20;color:white}.inner .site-header{position:relative;background:var(--dark)}.header-inner{width:min(100% - 8vw,1440px);margin:auto;min-height:96px;display:flex;align-items:center;gap:4vw;border-bottom:1px solid rgba(255,255,255,.25)}.brand{width:176px;flex:none;display:block}.brand img{width:100%;height:70px;object-fit:contain;filter:brightness(0) invert(1)}.site-header nav{margin-left:auto;display:flex;gap:2.3vw;align-items:center}.site-header nav a{font-size:.88rem;font-weight:600;white-space:nowrap}.site-header a:hover,.text-link:hover{color:var(--cyan-light)}.site-header nav a[aria-current]{color:var(--cyan-light)}.header-cta{font-size:.82rem;font-weight:700;border:1px solid rgba(255,255,255,.65);padding:13px 16px;white-space:nowrap}.menu-toggle{display:none}.hero{height:min(850px,100svh);min-height:680px;color:#fff;position:relative;background:var(--dark);overflow:hidden}.hero-visual,.hero-shade{position:absolute;inset:0}.hero-visual img{width:100%;height:100%;object-fit:cover;object-position:center}.hero-shade{background:linear-gradient(90deg,rgba(22,45,57,.88),rgba(22,45,57,.52) 57%,rgba(22,45,57,.2)),linear-gradient(0deg,rgba(22,45,57,.72),transparent 50%)}.hero-content{position:relative;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:125px}.hero-kicker{display:flex;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.5);padding-bottom:18px;margin-bottom:44px}.hero h1{font-size:clamp(4rem,9.2vw,9.5rem);font-weight:700;text-transform:uppercase;line-height:.94;max-width:1100px}.hero h1 em,.method h2 em{font-style:normal;color:var(--cyan-light)}.hero-bottom{margin-top:46px;display:flex;justify-content:space-between;align-items:end;gap:30px}.hero-bottom p{font-size:clamp(1.04rem,1.5vw,1.3rem);max-width:600px;line-height:1.45}.hero-bottom>div{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;padding:18px 22px;font-size:.88rem;font-weight:700;min-height:58px;transition:background .2s,color .2s}.button-light{background:#fff;color:var(--dark)}.button-light:hover{background:#def4f7}.button-dark{background:var(--dark);color:white;border:0}.button-dark:hover{background:#007f98}.hero-secondary{font-size:.88rem;font-weight:700;text-decoration:underline;text-underline-offset:7px}.hero-index{position:absolute;bottom:30px;left:4vw;right:4vw;display:flex;justify-content:space-between;font-size:.7rem;letter-spacing:.14em}.two-col{display:grid;grid-template-columns:24% 1fr;gap:5vw}.manifesto{background:#e9f2f4}.manifesto h2{font-size:clamp(3rem,5.2vw,6.2rem);max-width:1000px}.manifesto h2 span{color:#8397a0}.manifesto-foot{display:flex;justify-content:space-between;gap:5vw;margin-top:55px}.manifesto-foot p{max-width:630px;font-size:1.16rem}.small-rule{font-size:.7rem;font-weight:700;letter-spacing:.15em;line-height:2.2;color:#5f8290;border-top:1px solid var(--cyan);padding-top:15px}.solutions{background:#fff}.section-head{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:65px}.section-head .eyebrow{grid-column:1/-1}.section-head h2{font-size:clamp(3.5rem,6vw,7.2rem)}.section-head p{align-self:end;max-width:470px;font-size:1.16rem;color:var(--muted)}.solution-list{border-top:1px solid var(--line)}.solution-row{display:grid;grid-template-columns:7% 34% 1fr 30px;gap:3vw;align-items:center;padding:32px 0;border-bottom:1px solid var(--line);transition:padding .25s,background .25s}.solution-row:hover{padding-left:18px;background:#f4fafb}.solution-row>span{color:var(--cyan);font-weight:700}.solution-row h3{font-size:clamp(1.5rem,2.5vw,2.75rem)}.solution-row p{color:var(--muted);max-width:550px}.solution-row b{font-size:1.6rem;font-weight:400;color:var(--cyan)}.method{background:var(--dark);color:#fff}.method-heading{display:flex;justify-content:space-between;align-items:start;gap:30px;margin-bottom:80px}.method-heading h2{font-size:clamp(3.5rem,6.4vw,7.5rem)}.method-grid{display:grid;grid-template-columns:44% 1fr;gap:9vw}.method-copy img{width:100%;aspect-ratio:1.45;object-fit:cover;margin-bottom:26px}.method-copy p{max-width:540px;color:#e2ebee;font-size:1.1rem;margin-bottom:25px}.text-link{font-weight:700;font-size:.92rem;border-bottom:1px solid currentColor;padding-bottom:7px;display:inline-flex;gap:45px}.layers{border-top:1px solid #72909c}.layer{border-bottom:1px solid #72909c;display:flex;gap:35px;align-items:center;padding:24px 0}.layer span{font-size:.8rem;color:var(--cyan-light);font-weight:700}.layer strong{font-family:Manrope,sans-serif;font-size:clamp(1.5rem,2.3vw,2.5rem);letter-spacing:-.04em}.layer-total{display:flex;justify-content:space-between;align-items:center;margin-top:35px;font-size:1.5rem;letter-spacing:.12em;color:var(--cyan-light);font-weight:800}.layer-total small{font-size:.62rem;color:white}.featured{background:#edf4f5}.featured-grid{display:grid;grid-template-columns:42% 1fr;gap:9vw;align-items:center}.featured h2{font-size:clamp(3.2rem,5.5vw,6.3rem);margin:25px 0}.featured p{font-size:1.14rem;max-width:500px;color:var(--muted);margin-bottom:35px}.featured-image img{width:100%;aspect-ratio:1.2;object-fit:cover}.featured-image span{display:block;margin-top:12px;font-size:.68rem;letter-spacing:.14em;font-weight:700;color:var(--muted)}.about-band{background:#fff}.about-grid{display:grid;grid-template-columns:48% 1fr;gap:8vw;align-items:center}.about-photo img{width:100%;aspect-ratio:1.1;object-fit:contain;background:#f3f7f8}.image-label{display:block;font-size:.68rem;letter-spacing:.14em;font-weight:700;margin-top:15px}.about-copy h2{font-size:clamp(3.1rem,5.3vw,6rem);margin:25px 0}.about-copy p{font-size:1.14rem;margin-bottom:30px;color:var(--muted)}.footer{background:#293f4c;color:#fff;padding:90px 0 25px}.footer-top{display:flex;justify-content:space-between;gap:70px;padding-bottom:90px}.footer-top h2{font-size:clamp(3.1rem,5.4vw,6rem);margin:25px 0 40px}.footer-info{display:flex;flex-direction:column;gap:14px;min-width:280px}.footer-info p{color:#c5d2d7}.footer-bottom{border-top:1px solid #61737c;padding-top:30px;display:flex;justify-content:space-between;align-items:center;gap:22px;color:#c5d2d7;font-size:.8rem}.footer-brand{width:150px}.footer-brand img{filter:brightness(0) invert(1)}.footer-credit{border-top:1px solid #61737c;margin-top:24px;padding-top:20px;text-align:right;color:#c5d2d7;font-size:.75rem}.footer-credit a{color:#fff;text-decoration:underline;text-underline-offset:3px}.page-intro{background:#e9f2f4;padding:120px 0 110px}.page-intro h1{font-size:clamp(3.8rem,7vw,8rem);max-width:1100px;margin:28px 0}.page-intro p{font-size:1.25rem;max-width:680px;color:var(--muted)}.services-page{background:#fff}.service-group{display:grid;grid-template-columns:minmax(0,38%) minmax(0,1fr);gap:8vw;border-top:1px solid var(--line);padding:55px 0;scroll-margin-top:25px}.service-group-head h2{font-size:clamp(2.3rem,3.8vw,4.8rem);margin-top:18px;overflow-wrap:anywhere}.service-items{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:start;font-size:1.1rem;color:var(--muted)}.bim-feature{background:var(--dark);color:#fff}.bim-feature h2{font-size:clamp(3rem,5vw,6rem);margin-bottom:25px}.bim-feature p{font-size:1.14rem;max-width:750px;margin-bottom:30px;color:#dce8ec}.project-overview{background:#fff}.project-intro{max-width:880px}.project-intro h2{font-size:clamp(3rem,5vw,6rem);margin:20px 0}.project-intro p{font-size:1.15rem;color:var(--muted)}.sectors{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:65px 0}.sector{background:#ecf4f5;padding:35px;min-height:290px}.sector span{font-size:.74rem;font-weight:700;letter-spacing:.14em;color:#008da7}.sector h3{font-size:2rem;margin:30px 0 18px}.sector p{color:var(--muted)}.project-note{font-size:.88rem;color:var(--muted);max-width:800px;margin-bottom:35px}.project-showcase img{width:100%;max-height:700px;object-fit:contain;background:#253d49}.project-showcase{margin-bottom:35px}.about-page{background:#fff}.about-page-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:8vw;align-items:center}.about-page-grid img{width:100%;aspect-ratio:1.25;object-fit:cover}.about-page h2{font-size:clamp(3rem,4.4vw,5rem);margin:25px 0}.about-page p{font-size:1.1rem;color:var(--muted);margin-bottom:15px}.contact-page{background:#fff}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:10vw}.contact-grid h2{font-size:clamp(3rem,4.5vw,5.3rem);margin:25px 0}.contact-grid p{color:var(--muted)}.contact-details{display:flex;flex-direction:column;align-items:start;gap:10px;margin-top:48px}.contact-details span{font-size:.7rem;font-weight:700;letter-spacing:.15em;color:#008da7;margin-top:20px}.contact-details a{border-bottom:1px solid var(--line)}.contact-details address{font-style:normal;line-height:1.6}.contact-form{background:#edf4f5;padding:clamp(25px,4vw,55px);display:flex;flex-direction:column;gap:23px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contact-form label{display:flex;flex-direction:column;gap:8px;font-size:.84rem;font-weight:700}.contact-form input,.contact-form select,.contact-form textarea{width:100%;background:#fff;border:1px solid #b8cbd1;padding:14px;color:var(--ink);border-radius:0}.contact-form .button{align-self:start}.form-note{font-size:.79rem}.reveal{opacity:0;transform:translateY(30px);transition:opacity .75s ease,transform .75s ease;transition-delay:var(--reveal-delay,0s)}.reveal.is-visible{opacity:1;transform:none}.hero h1{--reveal-delay:.12s}.hero-bottom p{--reveal-delay:.24s}.hero-bottom>div{--reveal-delay:.35s}.hero-index{--reveal-delay:.45s}.solution-row:nth-child(even){--reveal-delay:.07s}.layer:nth-child(even){--reveal-delay:.08s}
/* The soft cyan texture stays fixed behind the light sections while the page scrolls. */
.manifesto,.featured{background-image:radial-gradient(circle at 15% 20%,rgba(0,168,196,.14),transparent 35%),repeating-linear-gradient(120deg,transparent 0 55px,rgba(0,139,166,.035) 56px 58px,transparent 59px 125px);background-attachment:fixed,fixed}
@property --beam-angle{syntax:'<angle>';inherits:false;initial-value:0deg}@keyframes trace-beam{to{--beam-angle:360deg}}:is(.button,.header-cta){position:relative;isolation:isolate}:is(.button,.header-cta)::after{content:'';position:absolute;inset:0;padding:2px;pointer-events:none;background:conic-gradient(from var(--beam-angle),transparent 0deg,transparent 280deg,rgba(0,168,196,.15) 298deg,#22d2e6 327deg,#22d2e6 342deg,transparent 360deg);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;filter:drop-shadow(0 0 4px rgba(0,168,196,.7));animation:trace-beam 3.5s linear infinite}
@media(max-width:980px){.header-inner{gap:18px}.site-header nav{gap:15px}.header-cta{display:none}.hero-bottom{align-items:start}.solution-row{grid-template-columns:8% 1fr 1.1fr 20px}.featured-grid,.about-grid,.about-page-grid{gap:5vw}.contact-grid{gap:5vw}}
@media(max-width:760px){.container{width:min(100% - 40px,600px)}.header-inner{width:calc(100% - 40px);min-height:76px}.brand{width:145px}.brand img{height:58px}.menu-toggle{display:flex;margin-left:auto;background:none;border:0;flex-direction:column;gap:6px;padding:12px}.menu-toggle span{width:25px;height:2px;background:white}.site-header nav{display:none;position:absolute;top:76px;left:0;right:0;background:var(--dark);padding:20px;flex-direction:column;align-items:stretch;gap:0}.site-header nav.open{display:flex}.site-header nav a{padding:13px 0;border-bottom:1px solid #61737c}.hero{min-height:760px;height:100svh}.hero-visual img{object-position:45% center}.hero-shade{background:linear-gradient(0deg,rgba(20,43,55,.94),rgba(20,43,55,.55) 75%)}.hero-content{padding-bottom:105px}.hero-kicker{font-size:.62rem;margin-bottom:35px}.hero-kicker span{display:none}.hero h1{font-size:clamp(3.8rem,12vw,6.5rem)}.hero-bottom{flex-direction:column;margin-top:30px}.hero-bottom p{font-size:1rem}.hero-bottom>div{gap:15px}.hero-index{left:20px;right:20px}.two-col,.method-grid,.featured-grid,.about-grid,.about-page-grid,.contact-grid,.service-group{grid-template-columns:1fr}.section-pad{padding:80px 0}.manifesto h2,.section-head h2,.method h2,.featured h2,.about-copy h2{font-size:clamp(2.8rem,10vw,4.7rem)}.manifesto-foot{flex-direction:column;margin-top:30px}.section-head{grid-template-columns:1fr;gap:20px}.section-head .eyebrow{grid-column:auto}.solution-row{grid-template-columns:35px 1fr 20px;gap:14px}.solution-row p{grid-column:2/3;grid-row:2}.solution-row b{grid-column:3;grid-row:1}.method-heading{flex-direction:column;margin-bottom:45px}.method-grid{gap:50px}.featured-grid,.about-grid{gap:45px}.footer-top{flex-direction:column;gap:50px;padding-bottom:60px}.footer-bottom{flex-wrap:wrap}.page-intro{padding:85px 0}.page-intro h1{font-size:clamp(3.2rem,12vw,5rem)}.service-group{gap:25px}.service-items{grid-template-columns:1fr}.sectors{grid-template-columns:1fr;margin:45px 0}.sector{min-height:0}.contact-grid{gap:55px}.form-row{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}:is(.button,.header-cta)::after{animation:none;--beam-angle:320deg}.manifesto,.featured{background-attachment:scroll,scroll}}
/* Keep the official wordmark at its native aspect ratio in the header and footer. */
.brand{display:block;flex:0 0 190px;width:190px}
.brand img{display:block;width:100%;height:auto;max-height:64px;object-fit:contain;filter:none;background:#fff;padding:9px 11px}
.footer-bottom{align-items:center;min-height:92px}
.footer-brand{display:block;flex:0 0 190px;width:190px}
.footer-brand img{display:block;width:100%;height:auto;max-height:64px;object-fit:contain;filter:none;background:transparent;padding:0}
@media(max-width:760px){.brand{flex-basis:165px;width:165px}.footer-bottom{align-items:center}.footer-brand{flex-basis:165px;width:165px}}

/* The transparent official mark sits directly on a pale blue footer. */
.footer{background:#e8f3f5;color:#263b49}
.footer-info p,.footer-bottom,.footer-credit{color:#46606b}
.footer-bottom,.footer-credit{border-color:#b6cbd1}
.footer-info a:hover,.footer-credit a:hover{color:#007f98}
.footer-credit a{color:#263b49}
.footer .button-light{background:#344c5b;color:#fff}
.footer .button-light:hover{background:#007f98;color:#fff}

/* Header uses the same brand surface so the transparent logo stays legible. */
.site-header,.inner .site-header{background:#e8f3f5;color:#263b49}
.header-inner{border-bottom-color:#b6cbd1}
.brand img{width:100%;height:auto;max-height:64px;object-fit:contain;filter:none;background:transparent;padding:0}
.site-header nav a[aria-current],.site-header a:hover{color:#007f98}
.header-cta{border-color:#8daab4}
.menu-toggle span{background:#263b49}
@media(max-width:760px){.site-header nav{background:#e8f3f5}.site-header nav a{border-bottom-color:#b6cbd1}}
