.home-page *{box-sizing:border-box}.home-page img,.home-page video{width:100%;display:block}.home-page button,.home-page input,.home-page select,.home-page textarea{font:inherit}.home-page a{color:inherit}.home-page .wrap{width:min(calc(100% - 2 * var(--gutter)), var(--max));margin-inline:auto}.home-page .eyebrow{font:600 .7rem/1 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0 0 1rem}.home-page h1,.home-page h2,.home-page h3{font-family:var(--font-display);text-wrap:balance;letter-spacing:-.025em;margin:0;font-weight:700;line-height:.94}.home-page h1{max-width:12ch;font-size:clamp(3.6rem,8.5vw,8rem)}.home-page h2{font-size:clamp(2.7rem,5vw,5rem)}.home-page h3{font-size:clamp(1.55rem,2.6vw,2.35rem)}.home-page p{text-wrap:pretty}.home-page .button{border:1px solid var(--accent);background:var(--accent);min-height:3.25rem;color:var(--navy);cursor:pointer;justify-content:center;align-items:center;gap:.7rem;padding:.8rem 1.25rem;font-weight:750;text-decoration:none;transition:transform .2s,background .2s,color .2s;display:inline-flex}.home-page .button:hover{background:#f8842a;background:lab(67.7217% 41.116 64.8785);transform:translateY(-2px)}.home-page .button:active{transform:translateY(1px)}.home-page .button.secondary{color:var(--surface);background:0 0;border-color:#fff6;border-color:lab(100% 0 0/.4)}.home-page .button.secondary:hover{border-color:var(--surface);background:#ffffff14;background:lab(100% 0 0/.08)}.home-page :focus-visible{outline:3px solid var(--accent);outline-offset:4px}.home-page .hero{background:var(--navy);height:100svh;min-height:0;color:var(--surface);align-items:flex-end;display:flex;position:relative;overflow:hidden}.home-page .hero-media,.home-page .hero-shade{position:absolute;inset:0}.home-page .hero-media video{object-fit:cover;height:100%}.home-page .hero-shade{background:linear-gradient(90deg,#000610eb 0%,#010a15ad 47%,#010a1538 100%);background:linear-gradient(90deg,lab(1.52709% -.583485 -4.72348/.92) 0%,lab(2.44084% -.963047 -6.1713/.68) 47%,lab(2.44084% -.963047 -6.1713/.22) 100%)}.home-page .hero-grid{z-index:2;grid-template-columns:minmax(0,1.65fr) minmax(16rem,.6fr);align-items:end;gap:4rem;padding-block:7.5rem 2rem;display:grid;position:relative}.home-page .hero-copy>p:not(.eyebrow){color:#d5dce1;color:lab(87.2435% -1.3651 -3.44536);max-width:42rem;margin:1.25rem 0 1.5rem;font-size:clamp(1.05rem,1.4vw,1.3rem)}.home-page .hero-actions{flex-wrap:wrap;gap:.75rem;display:flex}.home-page .hero-proof{border-left:1px solid #ffffff47;border-left:1px solid lab(100% 0 0/.28);padding-left:2rem}.home-page .hero-proof strong{font:700 3.2rem/1 var(--font-display);font-variant-numeric:tabular-nums;display:block}.home-page .hero-proof span{color:#c4cbd2;color:lab(81.4437% -1.62804 -4.12897);margin:.4rem 0 1.5rem;font-size:.82rem;display:block}.home-page .hero-caption{right:var(--gutter);z-index:2;font:500 .62rem/1.4 var(--font-mono);color:#c9cfd4;color:lab(82.6034% -1.36364 -3.44459);text-align:right;position:absolute;bottom:1.25rem}.home-page .proof-bar{background:var(--surface);border-bottom:1px solid var(--border)}.home-page .proof-grid{grid-template-columns:1.4fr repeat(5,1fr);display:grid}.home-page .proof-item{border-right:1px solid var(--border);padding:1.35rem 1.25rem}.home-page .proof-item:first-child{padding-left:0}.home-page .proof-item:last-child{border-right:0}.home-page .proof-item span{font:.61rem/1.4 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);display:block}.home-page .proof-item strong{margin-top:.35rem;font-size:.9rem;display:block}.home-page .section{padding:clamp(5rem,9vw,9rem) 0}.home-page .section-head{grid-template-columns:.75fr 1.25fr;align-items:end;gap:clamp(2rem,6vw,8rem);margin-bottom:4rem;display:grid}.home-page .section-head p{max-width:43rem;color:var(--muted);margin:0;font-size:1.08rem}.home-page .services{background:var(--navy);color:var(--surface)}.home-page .services .section-head p{color:#aab2ba;color:lab(72.1635% -2.01249 -5.14932)}.home-page .service-grid{border-top:1px solid #ffffff2e;border-top:1px solid lab(100% 0 0/.18);grid-template-columns:repeat(2,1fr);display:grid}.home-page .service{border-bottom:1px solid #ffffff2e;border-bottom:1px solid lab(100% 0 0/.18);border-right:1px solid #ffffff2e;border-right:1px solid lab(100% 0 0/.18);min-height:20rem;padding:2.25rem;transition:background .25s;position:relative;overflow:hidden}.home-page .service:nth-child(2n){border-right:0}.home-page .service:hover{background:var(--navy-2)}.home-page .service-index{font:.7rem/1 var(--font-mono);color:var(--accent)}.home-page .service h3{margin:5rem 0 1.1rem}.home-page .service p{color:#aab2ba;color:lab(72.1635% -2.01249 -5.14932);max-width:30rem;margin:0}.home-page .service-arrow{color:var(--accent);font-size:1.4rem;transition:transform .2s;position:absolute;top:2rem;right:2rem}.home-page .service:hover .service-arrow{transform:translate(4px,-4px)}.home-page .projects{background:#fff}.home-page .project-preview-stage{padding-bottom:0;position:relative}.home-page .project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.home-page .project-card{background:var(--navy);min-height:25rem;color:var(--surface);position:relative;overflow:hidden}.home-page .project-card img{object-fit:cover;height:100%;transition:transform .7s cubic-bezier(.2,.7,.2,1)}.home-page .project-card:hover img{transform:scale(1.025)}.home-page .project-overlay{background:linear-gradient(#0000 38%,#000610e6);background:linear-gradient(#0000 38%,lab(1.52709% -.583485 -4.72348/.9));position:absolute;inset:0}.home-page .project-copy{padding:clamp(1.25rem,2vw,2rem);position:absolute;inset:auto 0 0}.home-page .project-meta{font:.62rem/1.5 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:#dacfc3;color:lab(83.7667% 2.37265 7.2593);margin-bottom:.75rem}.home-page .project-copy p{color:#cfd5da;color:lab(84.9235% -1.36438 -3.44498);max-width:32rem;margin:.8rem 0 0}.home-page .project-card[hidden]{display:none}.home-page .project-more{border-left:3px solid var(--accent);background:#ffffff14;background:lab(100% 0 0/.08);margin-top:1rem;padding:1rem;font-size:.8rem;display:none}.home-page .project-card.expanded .project-more{display:block}.home-page .project-toggle{color:var(--surface);text-underline-offset:.3rem;cursor:pointer;background:0 0;border:0;margin-top:1.1rem;padding:0;font-weight:700;text-decoration:underline}.home-page .projects-discover{place-items:center;display:grid;position:absolute;inset:0}.home-page .project-teaser{height:clamp(8rem,11vw,11rem);margin-top:1rem;position:relative;overflow:hidden}.home-page .project-teaser-grid{filter:blur(2px);grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.home-page .project-teaser-grid img{object-fit:cover;height:25rem}.home-page .projects-discover:before{content:"";background:linear-gradient(to bottom, #e6ecf21a, var(--pale) 95%);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);position:absolute;inset:0}@supports (color:lab(0% 0 0)){.home-page .projects-discover:before{background:linear-gradient(to bottom, lab(93.0436% -1.36667 -3.44628/.1), var(--pale) 95%)}}.home-page .projects-discover-link{background:var(--accent);min-height:3.5rem;color:var(--navy);align-items:center;gap:.75rem;padding:.85rem 1.4rem;font-weight:750;text-decoration:none;transition:transform .2s,box-shadow .2s;display:inline-flex;position:relative;box-shadow:0 .8rem 2rem #05182724;box-shadow:0 .8rem 2rem lab(7.13227% -2.8022 -13.0136/.14)}.home-page .projects-discover-link span{transition:transform .2s}.home-page .projects-discover-link:hover{transform:translateY(-2px);box-shadow:0 1rem 2.4rem #05182733;box-shadow:0 1rem 2.4rem lab(7.13227% -2.8022 -13.0136/.2)}.home-page .projects-discover-link:hover span{transform:translate(3px)}.home-page .projects-discover-link:active{transform:translateY(0)}.home-page .about-preview{background:#fff;background:var(--surface)}.home-page .about-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:clamp(3rem,7vw,8rem);display:grid}.home-page .about-photo{margin:0;position:relative}.home-page .about-photo img{object-fit:cover;height:clamp(28rem,45vw,38rem)}.home-page .about-photo figcaption{font:.62rem/1.45 var(--font-mono);color:var(--muted);margin-top:.75rem}.home-page .stamp{background:var(--navy);min-width:9.5rem;color:var(--surface);border-right:.35rem solid var(--accent);box-shadow:var(--shadow);padding:1.3rem 1.5rem;position:absolute;bottom:2.75rem;right:1.25rem}.home-page .stamp strong{font:700 2.35rem/1 var(--font-display);color:var(--accent);font-variant-numeric:tabular-nums;display:block}.home-page .stamp span{font:650 .58rem/1.3 var(--font-mono);text-transform:uppercase;letter-spacing:.08em;margin-top:.5rem;display:block}.home-page .about-copy h2{max-width:13ch;margin-bottom:1.75rem}.home-page .about-copy>p:not(.eyebrow){max-width:42rem;color:var(--muted);font-size:1.04rem}.home-page .about-link{border-bottom:1px solid var(--fg);align-items:center;gap:.65rem;margin-top:.65rem;padding:.4rem 0;font-size:.88rem;font-weight:750;text-decoration:none;display:inline-flex}.home-page .about-link span{color:var(--accent);transition:transform .2s}.home-page .about-link:hover span{transform:translate(3px,-3px)}.home-page .about-proof{border-top:1px solid var(--border);grid-template-columns:1fr 1fr;gap:1.25rem;margin-top:2.25rem;padding-top:1.5rem;display:grid}.home-page .about-proof strong{font:700 1.15rem/1.2 var(--font-display);color:var(--fg);display:block}.home-page .about-proof span{color:var(--muted);margin-top:.35rem;font-size:.72rem;display:block}.home-page .contact{color:var(--fg);background:#fff}.home-page .contact-grid{grid-template-columns:.8fr 1.2fr;gap:clamp(3rem,8vw,9rem);display:grid}.home-page .contact-copy>p:not(.eyebrow){color:var(--muted);max-width:31rem}.home-page .contact-details{margin-top:2.5rem;font-size:.9rem}.home-page .contact-details a{color:var(--fg)}.home-page .form{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.home-page .field{flex-direction:column;gap:.4rem;display:flex}.home-page .field.full{grid-column:1/-1}.home-page .field label{letter-spacing:.05em;font-size:.7rem;font-weight:700}.home-page .field input,.home-page .field select,.home-page .field textarea{width:100%;color:var(--surface);background:#ffffff0f;background:lab(100% 0 0/.06);border:1px solid #ffffff47;border:1px solid lab(100% 0 0/.28);border-radius:0;min-height:3.15rem;padding:.85rem}.home-page .field select option{color:var(--fg)}.home-page .field textarea{resize:vertical;min-height:8rem}.home-page .field input::placeholder,.home-page .field textarea::placeholder{color:#a0a5ab;color:lab(67.5231% -1.35779 -3.44143)}.home-page .error{color:#ffa36d;color:lab(76.0092% 34.251 46.364);min-height:1rem;font-size:.7rem}.home-page .form-status{color:#7cd591;color:lab(78.4684% -38.941 25.3387);grid-column:1/-1;min-height:1.5rem;font-weight:650}@media (max-width:900px){.home-page .hero-grid{grid-template-columns:1fr}.home-page .hero-proof{display:none}.home-page .proof-grid{grid-template-columns:repeat(3,1fr)}.home-page .proof-item:nth-child(4){border-right:0}.home-page .proof-item:first-child{padding-left:1.25rem}.home-page .section-head{grid-template-columns:1fr;gap:1.5rem}.home-page .project-grid{grid-template-columns:1fr 1fr}.home-page .about-grid,.home-page .contact-grid{grid-template-columns:1fr}.home-page .about-photo{max-width:42rem}.home-page .stamp{bottom:2.75rem;right:1rem}}@media (max-width:600px){.home-page .hero{min-height:0}.home-page .hero-grid{padding-block:7rem 2rem}.home-page .hero-caption{display:none}.home-page .proof-grid{grid-template-columns:1fr 1fr}.home-page .proof-item:nth-child(3){border-right:0}.home-page .proof-item:nth-child(4){border-right:1px solid var(--border)}.home-page .service-grid{grid-template-columns:1fr}.home-page .service{border-right:0;min-height:auto;padding:1.5rem}.home-page .service h3{margin:3.5rem 0 1rem}.home-page .project-grid{grid-template-columns:1fr}.home-page .project-card{min-height:25rem}.home-page .project-copy p{font-size:.88rem}.home-page .form{grid-template-columns:1fr}.home-page .field.full{grid-column:auto}.home-page .about-photo img{height:22rem}.home-page .stamp{min-width:8.75rem;padding:1rem 1.15rem;bottom:2.5rem;right:.75rem}.home-page .stamp strong{font-size:2rem}.home-page .about-proof{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.home-page *,.home-page :before,.home-page :after{transition:none!important}.home-page .hero-media video{display:none}.home-page .hero-media{background:url(/assets/hero-fallback-b66b28debc.png) 50%/cover}}.home-page .service-index{font-size:0}.home-page .service:first-child .service-index:after{content:"02.1"}.home-page .service:nth-child(2) .service-index:after{content:"02.2"}.home-page .service:nth-child(3) .service-index:after{content:"02.3"}.home-page .service:nth-child(4) .service-index:after{content:"02.4"}.home-page .service-index:after{font-size:.7rem}.home-page .services-preview{color:var(--fg);background:#e6ecf2}.home-page .services-preview .section-head p:not(.eyebrow){color:#000}.home-page .division-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.home-page .division-card{border-top:2px solid var(--accent);background:#fff;flex-direction:column;align-items:flex-start;min-height:22rem;padding:clamp(1.75rem,3vw,2.75rem);display:flex}.home-page .division-card.construction{background:var(--accent);color:var(--navy)}.home-page .division-card .division-label{font-size:.78rem;font-weight:700}.home-page .division-card h3{max-width:10ch;margin:2rem 0 1.15rem;font-size:clamp(2.3rem,4vw,3.7rem)}.home-page .division-card p{max-width:31rem;color:var(--muted);margin:0}.home-page .division-card.construction p{color:var(--navy-2)}.home-page .division-link{border-bottom:1px solid;align-items:center;gap:.65rem;margin-top:auto;padding:.7rem 0 .35rem;font-weight:750;text-decoration:none;transition:color .2s;display:inline-flex}.home-page .division-link span{transition:transform .2s;display:inline-block}.home-page .division-link:hover,.home-page .division-link:focus-visible{color:var(--accent)}.home-page .construction .division-link:hover,.home-page .construction .division-link:focus-visible{color:var(--surface)}.home-page .division-link:hover span,.home-page .division-link:focus-visible span{transform:translate(3px,-3px)}.home-page .legacy-services{display:none!important}@media (max-width:700px){.home-page .division-grid{grid-template-columns:1fr}.home-page .division-card{min-height:20rem}}.home-page [data-od-id=services-preview] .section-head>p{place-self:end;width:min(100%,32rem);max-width:none;margin:0 0 .35rem}@media (max-width:900px){.home-page [data-od-id=services-preview] .section-head>p{justify-self:start;width:min(100%,42rem);margin:0}}.home-page [data-od-id=projects] .section-head>p{place-self:end;width:min(100%,32rem);max-width:none;margin:0 0 .35rem}@media (max-width:900px){.home-page [data-od-id=projects] .section-head>p{justify-self:start;width:min(100%,42rem);margin:0}}.home-page .proof-bar{border-top:1px solid var(--border)}.home-page [data-od-id=services-preview] .section-head>div>p:not(.eyebrow){color:#000;max-width:36rem;margin:1.25rem 0 0;font-size:1.08rem}.home-page [data-od-id=projects] .section-head>div>p:not(.eyebrow){max-width:36rem;color:var(--muted);margin:1.25rem 0 0;font-size:1.08rem}@media (max-width:900px){.home-page [data-od-id=services-preview] .section-head h2{white-space:normal}}.home-page [data-od-id=projects] .section-head h2{white-space:nowrap}@media (max-width:900px){.home-page [data-od-id=projects] .section-head h2{white-space:normal}}.home-page [data-od-id=services-preview] .section-head h2,.home-page [data-od-id=projects] .section-head h2{white-space:normal}.home-page [data-od-id=services-preview] .section-head .eyebrow+h2,.home-page [data-od-id=projects] .section-head .eyebrow+h2{margin-top:1.5rem}.home-page .social-feed{color:var(--fg);background:#e6ecf2}.home-page .social-feed .section-head{grid-template-columns:1fr;align-items:start}.home-page .social-feed .section-head h2{max-width:16ch}.home-page .social-feed .section-head p:not(.eyebrow){color:var(--muted);max-width:42rem;margin-top:1.25rem}.home-page .social-feed .section-head>p{justify-self:end;width:min(100%,32rem)}.home-page .social-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.home-page .social-embed{border:1px solid var(--border);background:#fff;border-radius:12px;flex-direction:column;width:100%;min-width:0;max-width:500px;height:40rem;margin-inline:auto;padding:1rem;display:flex}.home-page .social-content{scrollbar-width:thin;border-radius:8px;flex:1;min-height:0;overflow:auto}.home-page .social-content .twitter-tweet{margin:0!important}.home-page .social-content:focus-visible{outline-offset:-3px}.home-page .social-frame{background:#fff;overflow:hidden}.home-page .social-frame iframe{transform-origin:0 0;border:0;display:block}.home-page .social-post-link{flex-shrink:0;align-self:start;margin-top:.75rem;font-size:.8rem;display:inline-block}.home-page blockquote.twitter-tweet{color:#fff;background:var(--navy-2);border:0;border-radius:12px;margin:0;padding:1.5rem}.home-page .social-load-note{font-size:.8rem}.home-page .social-feed .section-head .eyebrow{color:var(--accent)}@media (max-width:900px){.home-page .social-feed .section-head>p{justify-self:start}.home-page .social-grid{grid-template-columns:1fr 1fr}}@media (max-width:600px){.home-page .social-grid{grid-template-columns:1fr}}
.about-page *{box-sizing:border-box}.about-page img{width:100%;display:block}.about-page a{color:inherit}.about-page button{font:inherit}.about-page .wrap{width:min(calc(100% - 2 * var(--gutter)), var(--max));margin-inline:auto}.about-page :focus-visible{outline:3px solid var(--accent);outline-offset:4px}.about-page .eyebrow{font:650 .68rem/1 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0 0 1.15rem}.about-page h1,.about-page h2,.about-page h3{font-family:var(--font-display);text-wrap:balance;letter-spacing:-.025em;margin:0;font-weight:700;line-height:.98}.about-page h1{max-width:10ch;font-size:clamp(4rem,8vw,7.8rem)}.about-page h2{font-size:clamp(2.7rem,5vw,4.8rem)}.about-page h3{font-size:clamp(1.5rem,2.5vw,2.2rem)}.about-page p{text-wrap:pretty}.about-page .section{padding:clamp(5rem,9vw,9rem) 0}.about-page .button{border:1px solid var(--accent);background:var(--accent);min-height:3.25rem;color:var(--navy);justify-content:center;align-items:center;gap:.65rem;padding:.8rem 1.25rem;font-weight:750;text-decoration:none;transition:transform .2s,background .2s;display:inline-flex}.about-page .button:hover{background:#f8842a;background:lab(67.7217% 41.116 64.8785);transform:translateY(-2px)}.about-page .page-hero{background:var(--navy);min-height:31rem;color:var(--surface);border-bottom:.2rem solid var(--accent);align-items:flex-end;padding:12rem 0 5rem;display:flex;position:relative;overflow:hidden}.about-page .page-hero:after{content:"";background:linear-gradient(110deg,#0000,#392218a6);background:linear-gradient(110deg,#0000,lab(16.2285% 10.3227 11.7687/.65));position:absolute;inset:0 0 0 55%}.about-page .hero-copy{z-index:2;position:relative}.about-page .hero-copy p:not(.eyebrow){color:#c3ccd4;color:lab(81.4439% -2.02027 -5.15339);max-width:47rem;margin:1.8rem 0 0;font-size:clamp(1.05rem,1.5vw,1.3rem)}.about-page .story-grid{grid-template-columns:.8fr 1.2fr;align-items:start;gap:clamp(3rem,9vw,10rem);display:grid}.about-page .story-title{position:sticky;top:3rem}.about-page .story-title h2{max-width:8ch}.about-page .story-copy{max-width:45rem}.about-page .story-copy>p{color:var(--muted);font-size:1.1rem}.about-page .story-copy h3{margin:2.5rem 0 .8rem}.about-page .story-copy h3+p{color:var(--muted);margin-top:0}.about-page .values{color:var(--fg);background:#e6ecf2}.about-page .values-head{margin-bottom:3.5rem}.about-page .value-grid{grid-template-columns:repeat(4,1fr);gap:1rem;display:grid}.about-page .value{border-top:1px solid var(--border);background:#fff;flex-direction:column;justify-content:space-between;min-height:9.5rem;padding:1.5rem;display:flex}.about-page .value span{font:.65rem/1 var(--font-mono);color:var(--accent)}.about-page .value strong{font-size:1.05rem}.about-page .process-grid,.about-page .standing-grid{grid-template-columns:1fr 1fr;gap:clamp(3rem,8vw,9rem);display:grid}.about-page .process-lead h2,.about-page .standing-lead h2{max-width:11ch}.about-page .process-lead p{max-width:38rem;color:var(--muted);font-size:1.05rem}.about-page .process-detail article+article,.about-page .standing-detail article+article{margin-top:2rem}.about-page .process-detail h3,.about-page .standing-detail h3{font-size:1.55rem;line-height:1.05}.about-page .process-detail p,.about-page .standing-detail p{color:var(--muted)}.about-page .capability{border-top:1px solid var(--border);grid-template-columns:1fr auto;align-items:end;gap:2rem;margin-top:5rem;padding-top:2rem;display:grid}.about-page .capability h3{font-size:1.65rem}.about-page .grades{flex-wrap:wrap;gap:.5rem;display:flex}.about-page .grade{text-align:center;background:var(--surface);min-width:4.6rem;font:700 1.2rem/1 var(--font-display);color:#7a3700;color:lab(31.987% 29.8741 51.3954);border:1px solid #e8b08e;border:1px solid lab(76.4506% 17.6397 25.8822);padding:1rem .8rem}.about-page .standing{background:var(--pale)}.about-page .standing-detail .note{font-size:.75rem}.about-page .work-head{grid-template-columns:.85fr 1.15fr;align-items:end;gap:3rem;margin-bottom:3rem;display:grid}.about-page .work-head p{color:var(--muted);max-width:40rem;margin:0}.about-page .gallery{grid-template-columns:repeat(3,1fr);gap:2.5rem 1.25rem;display:grid}.about-page .gallery figure{margin:0}.about-page .gallery img{aspect-ratio:4/3;object-fit:cover}.about-page .gallery figcaption{font:.63rem/1.45 var(--font-mono);color:var(--muted);margin-top:.65rem}.about-page .cta{background:var(--accent);color:var(--navy);padding:clamp(3.5rem,6vw,6rem) 0}.about-page .cta-grid{justify-content:space-between;align-items:center;gap:3rem;display:flex}.about-page .cta h2{max-width:13ch}.about-page .cta .eyebrow{color:var(--navy)}.about-page .cta .button{background:var(--navy);color:var(--surface);border-color:var(--navy);min-width:12rem}@media (max-width:900px){.about-page .story-grid,.about-page .process-grid,.about-page .standing-grid{grid-template-columns:1fr}.about-page .story-title{position:static}.about-page .value-grid{grid-template-columns:repeat(2,1fr)}.about-page .capability,.about-page .work-head{grid-template-columns:1fr}.about-page .gallery{grid-template-columns:1fr 1fr}}@media (max-width:600px){.about-page .page-hero{min-height:34rem;padding:10rem 0 4rem}.about-page .value-grid,.about-page .gallery{grid-template-columns:1fr}.about-page .value{min-height:8rem}.about-page .capability{margin-top:3.5rem}.about-page .grade{min-width:4rem}.about-page .cta-grid{flex-direction:column;align-items:flex-start}.about-page .gallery img{aspect-ratio:5/4}}.about-page [data-od-id=about-hero]{background:linear-gradient(90deg,#000610f0 0%,#010a15c7 55%,#010a157a 100%),url(/assets/river-works-d6ccd6cc52.jpeg) 50% 58%/cover no-repeat;background:linear-gradient(90deg,lab(1.52709% -.583485 -4.72348/.94) 0%,lab(2.44084% -.963047 -6.1713/.78) 55%,lab(2.44084% -.963047 -6.1713/.48) 100%),url(/assets/river-works-d6ccd6cc52.jpeg) 50% 58%/cover no-repeat;height:32rem;min-height:32rem;padding:9rem 0 3.5rem}.about-page [data-od-id=about-hero] h1{max-width:18ch;font-size:clamp(3.25rem,6vw,5.75rem)}.about-page [data-od-id=about-hero] .hero-copy p:not(.eyebrow){margin-top:1.25rem}@media (max-width:600px){.about-page [data-od-id=about-hero]{height:27rem;min-height:27rem;padding:8rem 0 3rem}.about-page [data-od-id=about-hero] h1{max-width:12ch;font-size:clamp(3rem,14vw,4.5rem)}}.about-page [data-od-id=company-values]{padding:clamp(4rem,6vw,6rem) 0}.about-page [data-od-id=company-values] .values-head{margin-bottom:2.25rem}.about-page [data-od-id=company-values] .value{min-height:6.75rem;padding:1.1rem 1.25rem}@media (max-width:600px){.about-page [data-od-id=company-values]{padding:3.5rem 0}.about-page [data-od-id=company-values] .values-head{margin-bottom:1.75rem}.about-page [data-od-id=company-values] .value{min-height:6rem;padding:1rem 1.15rem}}.about-page [data-od-id=our-story] .story-grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:start;gap:clamp(3rem,7vw,8rem)}.about-page [data-od-id=our-story] .story-title{position:static}.about-page [data-od-id=our-story] .story-media{margin:0}.about-page [data-od-id=our-story] .story-media img{aspect-ratio:4/3;object-fit:cover}.about-page [data-od-id=our-story] .story-media figcaption{font:.63rem/1.45 var(--font-mono);color:var(--muted);margin-top:.7rem}.about-page [data-od-id=our-story] .story-copy{max-width:45rem}.about-page [data-od-id=our-story] .story-copy>h2{max-width:11ch;margin-bottom:2rem}.about-page [data-od-id=our-story] .story-principles{grid-template-columns:1fr 1fr;gap:1.25rem;margin-top:2.5rem;display:grid}.about-page [data-od-id=our-story] .story-principles article{border-top:1px solid var(--border);padding-top:1.25rem}.about-page [data-od-id=our-story] .story-principles h3{margin:0 0 .8rem}.about-page [data-od-id=our-story] .story-principles p{color:var(--muted);margin:0}@media (max-width:900px){.about-page [data-od-id=our-story] .story-grid{grid-template-columns:1fr}.about-page [data-od-id=our-story] .story-title,.about-page [data-od-id=our-story] .story-copy{max-width:46rem}}@media (max-width:600px){.about-page [data-od-id=our-story] .story-principles{grid-template-columns:1fr}}.about-page [data-od-id=about-hero] .hero-copy:before{content:"More about us";color:var(--accent);font:700 .7rem/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;margin:0 0 1rem;display:block}.about-page [data-od-id=about-hero]{height:24rem;min-height:24rem;padding:9rem 0 3.5rem}@media (max-width:600px){.about-page [data-od-id=about-hero]{height:27rem;min-height:27rem;padding:8rem 0 3rem}}.about-page [data-od-id=people-process] .process-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:clamp(3rem,7vw,8rem)}.about-page [data-od-id=people-process] .process-lead{max-width:40rem}.about-page [data-od-id=people-process] .process-lead h2{max-width:10ch}.about-page [data-od-id=people-process] .process-media{margin:0}.about-page [data-od-id=people-process] .process-media img{aspect-ratio:16/10;object-fit:cover}.about-page [data-od-id=people-process] .process-media figcaption{font:.63rem/1.45 var(--font-mono);color:var(--muted);margin-top:.7rem}.about-page [data-od-id=people-process] .process-detail{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:1rem;max-width:none;display:grid}.about-page [data-od-id=people-process] .process-detail article{background:var(--surface);border-top:2px solid var(--accent);margin:0;padding:2rem}.about-page [data-od-id=people-process] .process-detail article+article{margin-top:0}@media (max-width:900px){.about-page [data-od-id=people-process] .process-grid{grid-template-columns:1fr}.about-page [data-od-id=people-process] .process-detail{grid-column:auto}}@media (max-width:600px){.about-page [data-od-id=people-process] .process-detail{grid-template-columns:1fr}}
.services-page *{box-sizing:border-box}.services-page a{color:inherit}.services-page button{font:inherit}.services-page .wrap{width:min(calc(100% - 2 * var(--gutter)), var(--max));margin-inline:auto}.services-page :focus-visible{outline:3px solid var(--accent);outline-offset:4px}.services-page .eyebrow{font:650 .68rem/1 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0 0 1.15rem}.services-page h1,.services-page h2,.services-page h3{font-family:var(--font-display);text-wrap:balance;letter-spacing:-.025em;margin:0;font-weight:700;line-height:.98}.services-page h1{max-width:12ch;font-size:clamp(4rem,8vw,7.8rem)}.services-page h2{font-size:clamp(2.8rem,5vw,5rem)}.services-page h3{font-size:clamp(1.45rem,2.4vw,2rem)}.services-page p{text-wrap:pretty}.services-page .section{padding:clamp(5rem,9vw,9rem) 0}.services-page .button{border:1px solid var(--accent);background:var(--accent);min-height:3.25rem;color:var(--navy);justify-content:center;align-items:center;gap:.65rem;padding:.8rem 1.25rem;font-weight:750;text-decoration:none;transition:transform .2s,background .2s;display:inline-flex}.services-page .button:hover{background:#f8842a;background:lab(67.7217% 41.116 64.8785);transform:translateY(-2px)}.services-page .page-hero{min-height:24rem;color:var(--surface);border-bottom:.2rem solid var(--accent);background:linear-gradient(90deg,#000610f0 0%,#010a15c7 55%,#010a157a 100%),url(/assets/river-works-d6ccd6cc52.jpeg) 50% 58%/cover no-repeat;background:linear-gradient(90deg,lab(1.52709% -.583485 -4.72348/.94) 0%,lab(2.44084% -.963047 -6.1713/.78) 55%,lab(2.44084% -.963047 -6.1713/.48) 100%),url(/assets/river-works-d6ccd6cc52.jpeg) 50% 58%/cover no-repeat;align-items:flex-end;padding:9rem 0 3.5rem;display:flex;position:relative;overflow:hidden}.services-page .page-hero:after{content:"";background:linear-gradient(110deg,#0000,#392218a6);background:linear-gradient(110deg,#0000,lab(16.2285% 10.3227 11.7687/.65));position:absolute;inset:0 0 0 58%}.services-page .page-hero h1{max-width:14ch;font-size:clamp(3.5rem,7vw,6.5rem)}.services-page .hero-copy{z-index:2;position:relative}.services-page .hero-copy p:not(.eyebrow){color:#c3ccd4;color:lab(81.4439% -2.02027 -5.15339);max-width:42rem;margin:1.3rem 0 0;font-size:1.08rem}.services-page .subnav{z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);background:#f4f7fbf0;background:lab(97.1025% -.827372 -2.07187/.94);position:sticky;top:0}.services-page .subnav-inner{gap:.75rem;padding:1.35rem 0;display:flex;overflow-x:auto}.services-page .subnav a{color:#6b2e00;color:lab(27.3159% 30.3204 49.8321);background:#ffe5d6;background:lab(92.9097% 7.29522 10.8955);flex:none;padding:.65rem 1rem;font-size:.78rem;font-weight:750;text-decoration:none}.services-page .section-title{margin-bottom:3.5rem}.services-page .service-list{grid-template-columns:repeat(3,1fr);gap:0 2rem;display:grid}.services-page .service{border-top:1px solid var(--border);flex-direction:column;align-items:flex-start;min-height:17rem;padding:1.5rem 0;display:flex}.services-page .service .index{font:.67rem/1 var(--font-mono);color:#873d00;color:lab(35.3141% 35.2947 64.0611)}.services-page .service h3{margin:2rem 0 1rem}.services-page .service p{color:var(--muted);margin:0}.services-page .service a{text-underline-offset:.3rem;margin-top:auto;padding-top:1.2rem;font-size:.75rem;font-weight:750}.services-page .construction{color:var(--fg);background:#e6ecf2}.services-page .construction .service{border-color:var(--border)}.services-page .construction .service p{color:var(--muted)}.services-page .construction .service .index{color:var(--accent)}.services-page .hire-grid{grid-template-columns:.9fr 1.1fr;gap:clamp(3rem,8vw,9rem);display:grid}.services-page .hire-copy h2{max-width:9ch}.services-page .hire-copy>p:not(.eyebrow){max-width:37rem;color:var(--muted);font-size:1.05rem}.services-page .hire-copy .button{margin-top:1rem}.services-page .fleet{background:var(--pale);border-left:3px solid var(--accent);counter-reset:fleet;margin:0;padding:1rem 1.5rem 1rem 4rem;list-style:none}.services-page .fleet li{border-bottom:1px solid var(--border);padding:1.05rem 0;font-weight:700;position:relative}.services-page .fleet li:last-child{border-bottom:0}.services-page .fleet li:before{counter-increment:fleet;content:counter(fleet, decimal-leading-zero);font:650 .67rem/1.6 var(--font-mono);color:var(--muted);position:absolute;left:-2.8rem}.services-page .credentials{border-top:1px solid var(--border);padding:2.5rem 0}.services-page .credentials-grid{justify-content:space-between;align-items:center;gap:2rem;display:flex}.services-page .credentials h3{font-size:1.6rem}.services-page .grades{flex-wrap:wrap;gap:.5rem;display:flex}.services-page .grade{text-align:center;background:var(--surface);min-width:4.7rem;font:700 1.2rem/1 var(--font-display);color:#7a3700;color:lab(31.987% 29.8741 51.3954);border:1px solid #e8b08e;border:1px solid lab(76.4506% 17.6397 25.8822);padding:1rem .8rem}.services-page .cta{background:var(--accent);color:var(--navy);padding:clamp(3.5rem,6vw,6rem) 0}.services-page .cta-grid{justify-content:space-between;align-items:center;gap:3rem;display:flex}.services-page .cta h2{max-width:13ch}.services-page .cta .eyebrow{color:var(--navy)}.services-page .cta .button{background:var(--navy);color:var(--surface);border-color:var(--navy);min-width:12rem}@media (max-width:900px){.services-page .service-list{grid-template-columns:1fr 1fr}.services-page .hire-grid{grid-template-columns:1fr}.services-page .credentials-grid{flex-direction:column;align-items:flex-start}}@media (max-width:600px){.services-page .page-hero{background-position:62%;min-height:27rem;padding:8rem 0 3rem}.services-page .service-list{grid-template-columns:1fr}.services-page .service{min-height:auto;padding-bottom:2.5rem}.services-page .service a{margin-top:1.5rem}.services-page .cta-grid{flex-direction:column;align-items:flex-start}}
.projects-page *{box-sizing:border-box}.projects-page img{width:100%;display:block}.projects-page a{color:inherit}.projects-page button,.projects-page input,.projects-page select{font:inherit}.projects-page .wrap{width:min(calc(100% - 2 * var(--gutter)), var(--max));margin-inline:auto}.projects-page :focus-visible{outline:3px solid var(--accent);outline-offset:4px}.projects-page .eyebrow{font:650 .68rem/1 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0 0 1.15rem}.projects-page h1,.projects-page h2,.projects-page h3{font-family:var(--font-display);text-wrap:balance;letter-spacing:-.025em;margin:0;font-weight:700;line-height:.98}.projects-page h1{max-width:14ch;font-size:clamp(3.5rem,7vw,6.5rem)}.projects-page h2{font-size:clamp(2.7rem,5vw,4.8rem)}.projects-page h3{font-size:clamp(1.45rem,2.4vw,2rem)}.projects-page p{text-wrap:pretty}.projects-page .section{padding:clamp(5rem,8vw,8rem) 0}.projects-page .button{border:1px solid var(--accent);background:var(--accent);min-height:3.25rem;color:var(--navy);cursor:pointer;justify-content:center;align-items:center;gap:.65rem;padding:.8rem 1.25rem;font-weight:750;text-decoration:none;display:inline-flex}.projects-page .button:hover{background:#f8842a;background:lab(67.7217% 41.116 64.8785)}.projects-page .page-hero{background:var(--navy);min-height:24rem;color:var(--surface);border-bottom:.2rem solid var(--accent);align-items:flex-end;padding:9rem 0 3.5rem;display:flex;position:relative;overflow:hidden}.projects-page .page-hero:after{content:"";background:linear-gradient(110deg,#0000,#392218a6);background:linear-gradient(110deg,#0000,lab(16.2285% 10.3227 11.7687/.65));position:absolute;inset:0 0 0 58%}.projects-page .hero-copy{z-index:2;position:relative}.projects-page .hero-copy p:not(.eyebrow){color:#c3ccd4;color:lab(81.4439% -2.02027 -5.15339);max-width:42rem;margin:1.3rem 0 0;font-size:1.08rem}.projects-page .featured{background:var(--navy);color:var(--surface)}.projects-page .featured-head{grid-template-columns:1fr 1fr;align-items:end;gap:4rem;margin-bottom:3rem;display:grid}.projects-page .featured-head p{color:#aab2ba;color:lab(72.1635% -2.01249 -5.14932);max-width:38rem;margin:0}.projects-page .feature-grid{grid-template-rows:1fr 1fr;grid-template-columns:1.35fr .65fr;gap:1rem;display:grid}.projects-page .feature-card{background:var(--navy-2);min-height:18rem;text-decoration:none;position:relative;overflow:hidden}.projects-page .feature-card:first-child{grid-row:span 2;min-height:38rem}.projects-page .feature-card img{object-fit:cover;height:100%;transition:transform .6s}.projects-page .feature-card:hover img{transform:scale(1.025)}.projects-page .feature-shade{background:linear-gradient(#0000 35%,#00040aeb);background:linear-gradient(#0000 35%,lab(.873774% -.282168 -3.46981/.92));position:absolute;inset:0}.projects-page .feature-copy{padding:clamp(1.25rem,3vw,2.5rem);position:absolute;inset:auto 0 0}.projects-page .feature-copy span{font:.62rem/1.5 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:#e0cdbe;color:lab(83.6961% 5.23156 10.1096)}.projects-page .feature-copy h3{margin:.65rem 0 .4rem}.projects-page .feature-copy p{color:#ccd2d7;color:lab(83.7635% -1.36402 -3.44479);margin:0;font-size:.82rem}.projects-page .register{background:var(--bg)}.projects-page .register-head{justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2rem;display:flex}.projects-page .register-head p{max-width:38rem;color:var(--muted);margin:0}.projects-page .filters{background:var(--pale);border-top:1px solid var(--border);grid-template-columns:1fr 1fr 1fr auto;gap:1rem;padding:1.5rem;display:grid}.projects-page .field{flex-direction:column;gap:.45rem;display:flex}.projects-page .field label{font-size:.7rem;font-weight:750}.projects-page .field input,.projects-page .field select{border:1px solid var(--border);background:var(--surface);min-height:3.2rem;color:var(--fg);padding:.75rem}.projects-page .reset{cursor:pointer;background:0 0;border:0;align-self:end;min-height:3.2rem;text-decoration:underline}.projects-page .results-meta{color:var(--muted);margin:1.8rem 0;font-size:.8rem}.projects-page .project-list{grid-template-columns:repeat(3,1fr);gap:1.25rem;display:grid}.projects-page .record{background:var(--surface);border-top:2px solid var(--accent);flex-direction:column;min-height:18rem;padding:1.65rem;display:flex}.projects-page .record .division{font:.63rem/1.2 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.projects-page .record h3{margin:1.5rem 0 .8rem;font-size:1.7rem}.projects-page .record .client{color:var(--muted);margin:0;font-size:.85rem}.projects-page .record-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:end;gap:1rem;margin-top:auto;padding-top:1.2rem;font-size:.72rem;display:flex}.projects-page .record-footer a{text-underline-offset:.25rem;font-weight:750}.projects-page .load-wrap{text-align:center;margin-top:2.5rem}.projects-page .empty{background:var(--surface);text-align:center;color:var(--muted);grid-column:1/-1;padding:3rem}@media (max-width:900px){.projects-page .featured-head{grid-template-columns:1fr}.projects-page .filters,.projects-page .project-list{grid-template-columns:1fr 1fr}}@media (max-width:600px){.projects-page .page-hero{min-height:27rem;padding:8rem 0 3rem}.projects-page .feature-grid{grid-template-columns:1fr}.projects-page .feature-card,.projects-page .feature-card:first-child{grid-row:auto;min-height:24rem}.projects-page .filters,.projects-page .project-list{grid-template-columns:1fr}.projects-page .register-head{flex-direction:column;align-items:flex-start}.projects-page .record{min-height:16rem}}.projects-page [data-od-id=project-register] .record{padding:0;overflow:hidden}.projects-page [data-od-id=project-register] .record-media{aspect-ratio:16/9;background:var(--navy-2);overflow:hidden}.projects-page [data-od-id=project-register] .record-media img{object-fit:cover;height:100%;transition:transform .5s}.projects-page [data-od-id=project-register] .record:hover .record-media img{transform:scale(1.035)}.projects-page [data-od-id=project-register] .record-content{flex-direction:column;flex:1;padding:1.65rem;display:flex}
.detail-page *{box-sizing:border-box}.detail-page img{width:100%;display:block}.detail-page a{color:inherit}.detail-page button{font:inherit}.detail-page .wrap{width:min(calc(100% - 2 * var(--gutter)), var(--max));margin-inline:auto}.detail-page :focus-visible{outline:3px solid var(--accent);outline-offset:4px}.detail-page .eyebrow{font:650 .68rem/1 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0 0 1.15rem}.detail-page h1,.detail-page h2,.detail-page h3{font-family:var(--font-display);text-wrap:balance;letter-spacing:-.025em;margin:0;font-weight:700;line-height:.98}.detail-page h1{max-width:15ch;font-size:clamp(3.2rem,6vw,6rem)}.detail-page h2{font-size:clamp(2.6rem,4.5vw,4.4rem)}.detail-page h3{font-size:1.6rem}.detail-page .section{padding:clamp(5rem,8vw,8rem) 0}.detail-page .button{border:1px solid var(--accent);background:var(--accent);min-height:3.25rem;color:var(--navy);justify-content:center;align-items:center;gap:.65rem;padding:.8rem 1.25rem;font-weight:750;text-decoration:none;display:inline-flex}.detail-page .button.dark{background:var(--navy);color:var(--surface);border-color:var(--navy)}.detail-page .page-hero{background:var(--navy);min-height:27rem;color:var(--surface);border-bottom:.2rem solid var(--accent);align-items:flex-end;padding:10rem 0 4rem;display:flex}.detail-page .hero-copy .sector{color:#c3ccd4;color:lab(81.4439% -2.02027 -5.15339);margin-top:1.5rem;font-size:1.05rem}.detail-page .back-row{border-bottom:1px solid var(--border);padding:1.4rem 0}.detail-page .back-row a{text-underline-offset:.3rem;font-weight:750}.detail-page .project-media{background:var(--navy)}.detail-page .project-media img{object-fit:cover;height:clamp(24rem,55vw,48rem)}.detail-page .project-media[hidden]{display:none}.detail-page .overview-grid{grid-template-columns:1.1fr .9fr;align-items:start;gap:clamp(3rem,9vw,10rem);display:grid}.detail-page .overview-copy p{max-width:43rem;color:var(--muted);font-size:1.06rem}.detail-page .overview-copy .button{margin-top:1rem}.detail-page .facts{background:var(--pale);margin:0;padding:2rem 2.2rem}.detail-page .facts div+div{margin-top:1.6rem}.detail-page .facts dt{font:.64rem/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.detail-page .facts dd{margin:.45rem 0 0}.detail-page .gallery{background:var(--navy);color:var(--surface)}.detail-page .gallery-head{grid-template-columns:1fr 1fr;align-items:end;gap:4rem;margin-bottom:2.5rem;display:grid}.detail-page .gallery-head>p{color:#aab2ba;color:lab(72.1635% -2.01249 -5.14932);margin:0}.detail-page .gallery-grid{grid-template-columns:1.35fr .65fr;gap:1rem;display:grid}.detail-page .gallery-grid img{object-fit:cover;height:21rem}.detail-page .gallery-grid img:first-child{grid-row:span 2;height:43rem}.detail-page .gallery-empty{border-top:2px solid var(--accent);background:#ffffff0e;background:lab(100% 0 0/.055);grid-column:1/-1;align-content:end;min-height:16rem;padding:2rem;display:grid}.detail-page .gallery-empty strong{font:700 clamp(1.7rem, 3vw, 2.6rem)/1 var(--font-display)}.detail-page .gallery-empty p{color:#aab2ba;color:lab(72.1635% -2.01249 -5.14932);max-width:36rem;margin:.8rem 0 0}.detail-page .cta{background:var(--accent);color:var(--navy);padding:clamp(3.5rem,6vw,6rem) 0}.detail-page .cta-grid{justify-content:space-between;align-items:center;gap:3rem;display:flex}.detail-page .cta h2{max-width:13ch}.detail-page .cta .eyebrow{color:var(--navy)}@media (max-width:900px){.detail-page .overview-grid,.detail-page .gallery-head{grid-template-columns:1fr}}@media (max-width:600px){.detail-page .page-hero{min-height:30rem;padding:8rem 0 3rem}.detail-page .project-media img{height:24rem}.detail-page .gallery-grid{grid-template-columns:1fr}.detail-page .gallery-grid img,.detail-page .gallery-grid img:first-child{grid-row:auto;height:22rem}.detail-page .cta-grid{flex-direction:column;align-items:flex-start}}
:root{--bg:#f4f7fb;--surface:white;--fg:#0c1721;--muted:#58626a;--border:#cfd5da;--accent:#e37100;--navy:#03111e;--navy-2:#132331;--pale:#e6ecf2;--font-display:"Bahnschrift Condensed", "Aptos Display", sans-serif;--font-body:"Aptos", "Segoe UI", sans-serif;--font-mono:"Cascadia Mono", "IBM Plex Mono", ui-monospace, monospace;--max:86rem;--gutter:clamp(1.25rem, 4vw, 4.5rem);--shadow:0 1.4rem 3.5rem #00061029}@supports (color:lab(0% 0 0)){:root{--bg:lab(97.1025% -.827372 -2.07187);--fg:lab(7.19539% -2.3348 -8.24623);--muted:lab(40.8398% -2.32922 -6.13739);--border:lab(84.9235% -1.36438 -3.44498);--accent:lab(60.7297% 41.6068 68.4692);--navy:lab(4.37613% -1.72431 -10.1365);--navy-2:lab(12.9453% -3.43187 -11.5727);--pale:lab(93.0436% -1.36667 -3.44628);--shadow:0 1.4rem 3.5rem lab(1.52709% -.583485 -4.72348/.16)}}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:6rem}body{background:var(--bg);color:var(--fg);font-family:var(--font-body);margin:0;line-height:1.6}body.menu-open{overflow:hidden}img,video{max-width:100%;display:block}img{height:auto}figure{margin:0}a{color:inherit;text-underline-offset:.25em}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3{font-family:var(--font-display);text-wrap:balance;letter-spacing:-.025em;margin:0;font-weight:700;line-height:.98}h1{font-size:clamp(3.5rem,7vw,6.5rem)}h2{font-size:clamp(2.7rem,5vw,4.8rem)}h3{font-size:clamp(1.5rem,2.5vw,2.2rem)}p{text-wrap:pretty}:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.wrap{width:min(calc(100% - 2 * var(--gutter)), var(--max));margin-inline:auto}.section{padding:clamp(5rem,9vw,9rem) 0}.eyebrow{font:650 .68rem/1.4 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0 0 1.15rem}.button{border:1px solid var(--accent);background:var(--accent);min-height:3.25rem;color:var(--navy);justify-content:center;align-items:center;gap:.65rem;padding:.8rem 1.25rem;font-weight:750;text-decoration:none;transition:transform .2s,background .2s;display:inline-flex}.button:hover{background:#f8842a;background:lab(67.7217% 41.116 64.8785);transform:translateY(-2px)}.button:active{transform:translateY(1px)}.skip-link{z-index:100;background:var(--surface);padding:.8rem 1rem;position:fixed;top:-5rem;left:1rem}.skip-link:focus{top:1rem}.site-header{z-index:20;color:var(--surface);position:absolute;inset:0 0 auto}.nav-inner{justify-content:space-between;align-items:center;gap:2rem;min-height:6rem;display:flex}.brand{flex:none;width:150px;height:83px}.brand img{object-fit:contain;width:150px;height:83px}.navigation{align-items:center;gap:clamp(1rem,2.2vw,2.25rem);display:flex}.navigation a{font-size:.95rem;font-weight:650;text-decoration:none}.navigation a:not(.button){border-bottom:1px solid #0000;padding:.5rem 0}.navigation a:not(.button):hover,.navigation a[aria-current]{border-color:var(--accent)}.menu-button{z-index:2;background:var(--navy);color:var(--surface);border:1px solid #fff6;border:1px solid lab(100% 0 0/.4);min-width:3rem;min-height:3rem;display:none;position:relative}.site-footer{color:#abb2b8;color:lab(72.1634% -1.62306 -4.12632);background:#01060e;background:lab(1.53857% -.606686 -3.75241);padding:4rem 0 2rem}.footer-grid{grid-template-columns:1.4fr repeat(3,1fr);gap:3rem;display:grid}.footer-grid img{width:7rem;margin-bottom:1rem}.footer-grid h2{font:700 .85rem/1.4 var(--font-body);color:var(--surface);margin:0 0 1.25rem}.footer-grid p,.footer-grid a{font-size:.78rem}.footer-grid a{overflow-wrap:anywhere;margin:.55rem 0;text-decoration:none;display:block}.footer-grid a:hover{color:var(--accent)}.footer-bottom{border-top:1px solid #ffffff1f;border-top:1px solid lab(100% 0 0/.12);justify-content:space-between;gap:2rem;margin-top:3rem;padding-top:1.5rem;font-size:.7rem;display:flex}.enquiry-form{gap:1rem;display:grid}.enquiry-form label{flex-direction:column;gap:.4rem;font-size:.78rem;font-weight:700;display:flex}.enquiry-form label span{font-weight:400}.form-pair{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.enquiry-form input,.enquiry-form select,.enquiry-form textarea{border:1px solid var(--border);background:var(--surface);width:100%;min-height:3.15rem;color:var(--fg);border-radius:0;padding:.85rem}.enquiry-form textarea{resize:vertical}.enquiry-form .button{justify-self:start}.form-note{margin:0;font-size:.78rem}.home-page .contact .enquiry-form option{color:var(--fg);background:var(--surface)}.home-page .contact .form-note{color:var(--fg)}.home-page .hero>video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.home-page .hero-shade{pointer-events:none}.home-page .hero-copy h1{max-width:none;font-size:clamp(2.75rem,min(7vw,13svh),6.75rem);line-height:.94}.home-page .hero-grid{grid-template-columns:minmax(0,1fr)}.home-page .hero-copy{flex-direction:column;grid-column:1;max-width:48rem;min-height:min(60svh,30rem);display:flex}.home-page .hero-actions{margin-top:auto}.home-page .hero-copy h1 span{display:block}.home-page .hero-media{z-index:0}.home-page .project-card img{position:absolute;inset:0}.home-page .project-copy a{text-decoration:none}.home-page .project-copy a:hover{text-decoration:underline}.home-page .media-note{font-size:.68rem}.home-page .about-preview{padding-bottom:clamp(5rem,7.5vw,7.5rem)}.services-page .page-hero h1{font-size:clamp(3.5rem,6.25vw,90px)}.projects-page .page-hero{background:linear-gradient(90deg,#000610f0,#010a157a),url(/assets/hero-fallback-b66b28debc.png) 50% 58%/cover;background:linear-gradient(90deg,lab(1.52709% -.583485 -4.72348/.94),lab(2.44084% -.963047 -6.1713/.48)),url(/assets/hero-fallback-b66b28debc.png) 50% 58%/cover}.projects-page .page-hero h1{font-size:clamp(3.5rem,6.6vw,95px)}.projects-page .register-head p{margin-top:1.25rem}.projects-page .filter-actions{flex-wrap:wrap;align-self:end;gap:.5rem;display:flex}.projects-page .media-note{color:var(--muted);margin:.8rem 0 0;font-size:.65rem}.projects-page .record h3 a{text-decoration:none}.projects-page .record h3 a:hover{text-decoration:underline}.detail-page .project-media figcaption{padding:.75rem var(--gutter);color:#fff;font:.65rem/1.5 var(--font-mono)}.utility-page .page-intro{background:var(--navy);color:#fff;border-bottom:.2rem solid var(--accent);min-height:27rem;padding:10rem 0 4rem;position:relative}.utility-page .page-intro h1{max-width:15ch}.utility-page .intro-copy{color:#c3ccd4;color:lab(81.4439% -2.02027 -5.15339);max-width:42rem}.utility-page .contact-grid{grid-template-columns:.8fr 1.2fr;gap:clamp(3rem,8vw,9rem);display:grid}.enquiry-panel{background:var(--pale);border-top:2px solid var(--accent);padding:clamp(1.25rem,3vw,3rem)}.utility-page .enquiry-panel h2,.home-page .enquiry-panel h2{font-size:2rem}.utility-page .contact-links{gap:.5rem;margin:2.5rem 0;display:grid}.utility-page .muted{background:var(--pale)}.utility-page .office-grid{grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:3rem;display:grid}.utility-page .office-grid article{background:var(--surface);border-top:2px solid var(--accent);padding:2rem}.utility-page address{margin:1.5rem 0;font-style:normal}.utility-page .prose{max-width:52rem}.utility-page .prose h2{margin-top:2rem;font-size:clamp(2rem,4vw,3rem)}@media (max-width:900px){.navigation{background:var(--navy);min-height:100dvh;max-height:100dvh;padding:7rem var(--gutter) 2rem;flex-direction:column;align-items:flex-start;gap:1.5rem;display:none;position:absolute;inset:0 0 auto;overflow-y:auto}.navigation.open{display:flex}.navigation a:not(.button){font:700 2rem/1.2 var(--font-display)}.menu-button{display:block}.home-page .hero-grid{grid-template-columns:minmax(0,1fr)}.footer-grid{grid-template-columns:1.2fr 1fr 1fr}.footer-grid>div:last-child{grid-column:2/-1}.utility-page .contact-grid,.utility-page .office-grid{grid-template-columns:1fr}}@media (max-width:600px){.nav-inner{min-height:5rem}.brand,.brand img{width:120px;height:75px}.footer-grid,.form-pair{grid-template-columns:1fr}.footer-grid>div:last-child{grid-column:auto}.footer-bottom{flex-direction:column}.home-page .hero-copy h1{font-size:clamp(2.25rem,min(10.5vw,8svh),3.5rem)}.home-page .hero-copy{min-height:0}.home-page .hero{height:100svh;min-height:0}.home-page .hero-grid{padding-block:6.5rem 1.5rem}}.solid-header{background:var(--navy);position:relative}.services-page .page-hero.inner-hero,.projects-page .page-hero.inner-hero,.about-page .page-hero.inner-hero,.utility-page .page-hero.inner-hero{align-items:flex-end;height:auto;min-height:20rem;padding:7rem 0 1.5rem;display:flex}.services-page .inner-hero h1,.projects-page .inner-hero h1,.about-page .inner-hero h1,.utility-page .inner-hero h1{max-width:24ch;font-size:clamp(2.25rem,3.6vw,3.5rem)}.services-page .subnav-inner{flex-wrap:wrap;justify-content:center;overflow:visible}.services-page .subnav a{background:var(--surface);color:var(--fg);border:1px solid var(--border);transition:transform .2s,background .2s,border-color .2s}.services-page .subnav a:hover,.services-page .subnav a:focus-visible{background:var(--accent);border-color:var(--accent);transform:translateY(-3px)}.services-page .service{border:1px solid var(--border);padding:1.5rem}.services-page .service-list{gap:1rem}.services-page #consulting,.projects-page .register{padding-top:3rem}.detail-page .compact-title,.about-page .compact-title,.utility-page .compact-title{background:var(--bg);color:var(--fg);border-bottom:1px solid var(--border);padding:2rem 0}.detail-page .compact-title h1,.about-page .compact-title h1,.utility-page .compact-title h1{max-width:32ch;font-size:clamp(2rem,3.3vw,3rem)}.detail-page .compact-title .sector,.compact-title .intro-copy{color:var(--muted);max-width:48rem;margin-bottom:0}.detail-page .back-row+.section{padding-top:2rem}.detail-page .project-summary-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start;gap:clamp(2rem,4vw,4rem);display:grid}.detail-page .project-media img{height:clamp(24rem,42vw,40rem)}.detail-page .project-media figcaption{padding:.75rem 1rem}.detail-page .overview-copy h2{font-size:clamp(2rem,3vw,2.75rem)}.detail-page .facts{margin-top:2rem;padding:1.5rem}.about-page [data-od-id=our-story] .story-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:clamp(2rem,4vw,4rem)}.about-page [data-od-id=our-story] .story-title{flex-direction:column;display:flex}.about-page [data-od-id=our-story] .story-media{flex-direction:column;flex:1;display:flex}.about-page [data-od-id=our-story] .story-media img{aspect-ratio:auto;object-fit:cover;flex:1;height:100%;min-height:0}.about-page [data-od-id=our-story] .story-copy>h2{max-width:24ch;margin-bottom:1.25rem;font-size:clamp(2rem,3vw,2.75rem)}.about-page [data-od-id=our-story] .story-copy>p{font-size:1rem}.about-page [data-od-id=our-story] .story-principles{margin-top:1.5rem}.about-page [data-od-id=our-story] .story-principles h3{font-size:1.5rem}.affiliation-logos{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:1.25rem 0 0;padding:0;list-style:none;display:grid}.affiliation-logos li{text-align:center;background:#fff;padding:.75rem}.about-page .affiliation-logos img{object-fit:contain;width:100%;height:4rem}.affiliation-logos span{margin-top:.5rem;font-size:.7rem;font-weight:700;display:block}.utility-page .office-grid article{flex-direction:column;display:flex}.office-map{background:var(--pale);border:0;width:100%;height:14rem;margin:auto 0 1.25rem}@media (max-width:900px){.detail-page .project-summary-grid,.about-page [data-od-id=our-story] .story-grid{grid-template-columns:1fr}.about-page [data-od-id=our-story] .story-media img{aspect-ratio:4/3;height:auto}}@media (max-width:600px){.services-page .page-hero,.projects-page .page-hero{padding:6.5rem 0 2rem}.services-page .subnav-inner{gap:.5rem;padding:.75rem 0}.services-page .subnav a{padding:.6rem;font-size:.68rem}.affiliation-logos{grid-template-columns:repeat(2,minmax(0,1fr))}}.about-page .inner-hero,.contact-page .inner-hero{color:#fff;border-bottom:.2rem solid var(--accent);background:linear-gradient(90deg,#000610f0,#010a157a),url(/assets/river-works-d6ccd6cc52.jpeg) 50% 58%/cover;background:linear-gradient(90deg,lab(1.52709% -.583485 -4.72348/.94),lab(2.44084% -.963047 -6.1713/.48)),url(/assets/river-works-d6ccd6cc52.jpeg) 50% 58%/cover}.inner-hero .hero-copy{z-index:2;position:relative}.utility-page .inner-hero .inner-hero-description{color:#c3ccd4;color:lab(81.4439% -2.02027 -5.15339);max-width:48rem;margin:1rem 0 0;font-size:.95rem}.home-page .projects{background:#fff}.home-page .projects-discover:before{background:linear-gradient(#0000 0%,#fff 88%)}.services-page #consulting,.services-page #plant-hire,.about-page [data-od-id=our-story],.about-page [data-od-id=people-process],.contact-page>.section{background:#fff}.capability-identity{align-items:center;gap:1.25rem;display:flex}.about-page .cidb-capability-logo{object-fit:contain;flex:none;width:7rem;height:5rem}.about-page .capability-identity .eyebrow{font-size:.6rem}.home-page .contact-grid,.utility-page .contact-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:start;gap:clamp(2rem,4vw,4rem)}.home-page .contact-copy>h2,.contact-page .contact-grid>div>h2{font-size:clamp(2rem,3.5vw,3rem)}.home-page .contact-copy>p:not(.eyebrow){font-size:.95rem}.contact-information .contact-links,.utility-page .contact-information .contact-links{gap:.2rem;margin:1.25rem 0;font-size:.875rem;display:grid}.contact-information .office-hours h3,.contact-information .compact-offices>h3{font-size:1.4rem}.office-hours p{margin:.5rem 0 1.25rem;font-size:.8rem}.compact-office-list{gap:.65rem;margin-top:.75rem;display:grid}.compact-office{border:1px solid var(--border);background:#e6ecf2;grid-template-columns:minmax(0,1fr) 8rem;gap:.75rem;padding:.75rem;display:grid}.compact-office h4{font:700 .85rem/1.25 var(--font-body);margin:0 0 .3rem}.compact-office h4 span{color:var(--muted);font-size:.65rem;font-weight:400}.compact-office address,.utility-page .compact-office address{margin:0;font-size:.72rem;font-style:normal;line-height:1.4}.compact-office p{margin:.3rem 0;font-size:.68rem;line-height:1.4}.compact-office a{margin-top:.3rem;font-size:.7rem;display:inline-block}.compact-office .office-map{border:0;width:100%;height:7rem;margin:0}@media (max-width:900px){.home-page .contact-grid,.utility-page .contact-grid{grid-template-columns:1fr}}@media (max-width:600px){.services-page .page-hero.inner-hero,.projects-page .page-hero.inner-hero,.about-page .page-hero.inner-hero,.utility-page .page-hero.inner-hero{padding:6.5rem 0 1.5rem}.compact-office{grid-template-columns:minmax(0,1fr) 6.5rem;gap:.65rem;padding:.65rem}.capability-identity{flex-wrap:wrap}}.detail-page .project-facts-heading{font-size:1.75rem}.detail-page .facts{margin-top:1rem}.about-page .standing{padding-block:2rem}.about-page .standing-grid{grid-template-columns:.8fr 1.2fr;gap:3rem}.about-page .standing-lead h2{font-size:clamp(2rem,3.5vw,3.25rem)}.about-page .standing-detail h3{font-size:1.1rem;line-height:1.25}.about-page .standing-detail article+article{margin-top:1rem}.affiliation-logos{grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;margin-top:.6rem}.affiliation-logos li{padding:.5rem}.about-page .affiliation-logos img{height:2.25rem}.affiliation-logos span{margin-top:.3rem;font-size:.6rem}.about-page .standing-detail .note{margin-bottom:0;font-size:.7rem}.home-page .contact-grid,.utility-page .contact-grid{align-items:stretch}.home-page .contact-copy,.contact-page .contact-grid>div,.contact-information,.compact-offices{flex-direction:column;display:flex}.contact-information,.compact-offices,.compact-office-list{flex:1}.compact-office-list{grid-template-rows:repeat(3,minmax(8.625rem,1fr))}.compact-office .office-map{height:100%;min-height:7rem}@media (max-width:900px){.about-page .standing-grid{grid-template-columns:1fr;gap:1.5rem}.home-page .contact-copy,.contact-page .contact-grid>div,.contact-information,.compact-offices{display:block}.compact-office-list{grid-template-rows:none}.compact-office .office-map{height:7rem}}@media (max-width:400px){.affiliation-logos{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}
