/* Approved project-centered homepage direction. Imagery is conceptual, not project photography. */
.home-parallax{position:relative}
.home-parallax-backdrop{position:fixed;inset:-25vh 0;z-index:0;pointer-events:none;background:url('/assets/images/home-architecture-concept.webp') center 59%/cover no-repeat #0e3548;transform:translate3d(0,0,0);will-change:transform}
.home-parallax>.site-header,.home-parallax>main,.home-parallax>.site-footer{position:relative;z-index:1}
.home-parallax>.site-header{position:sticky;z-index:50}
.home-parallax main>.section:not(.section-dark){background:#fff}
.home-parallax main>.section-light{background:var(--light)!important}
.home-parallax main>.section-dark{background:rgba(5,24,37,.91)}
.home-parallax>.site-footer{background:rgba(5,24,37,.97)}
.editorial-hero{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(90deg,rgba(5,24,37,.94) 0%,rgba(8,31,47,.76) 48%,rgba(8,31,47,.79) 100%);color:#fff;padding:0}
@media(max-width:520px){.home-parallax-backdrop{will-change:auto}}
@media(prefers-reduced-motion:reduce){.home-parallax-backdrop{will-change:auto}}
.editorial-hero::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.24;background-image:linear-gradient(rgba(140,201,223,.23) 1px,transparent 1px),linear-gradient(90deg,rgba(140,201,223,.23) 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(90deg,transparent 25%,#000 100%)}
.editorial-hero::after{content:"";position:absolute;inset:auto 0 0;height:42%;z-index:-1;background:linear-gradient(transparent,rgba(3,16,26,.42))}
.editorial-hero-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);align-items:center;gap:clamp(24px,4vw,62px);min-height:620px;padding-block:64px 70px;border:0}
.editorial-copy{position:relative;z-index:1}
.editorial-copy .eyebrow{font-size:.7rem;letter-spacing:.22em;line-height:1.6;margin-bottom:26px;color:#d5e9f0}
.editorial-copy .eyebrow::after{content:"";display:inline-block;vertical-align:middle;width:48px;height:1px;margin-left:18px;background:#adc8d3}
.editorial-copy h1{max-width:680px;font-size:clamp(3.1rem,4.45vw,4.55rem);line-height:1.05;letter-spacing:-.045em;margin-bottom:24px;color:#fff;text-wrap:balance}
.editorial-copy h1 span{color:var(--orange)}
.editorial-copy .lead{max-width:600px;font-size:clamp(1.08rem,1.45vw,1.25rem);line-height:1.55;color:#e1ebef;margin:0 0 28px}
.editorial-copy .button{background:var(--orange-dark);border-color:var(--orange-dark)}
.editorial-copy .button:hover{background:#A82513;border-color:#A82513}
.editorial-copy .button-secondary{background:transparent;border-color:#c1d3db;color:#fff!important}
.editorial-copy .button-secondary:hover{background:#fff;border-color:#fff;color:var(--blue)!important}
.project-network{position:relative;width:100%;max-width:520px;aspect-ratio:13/12;margin-inline:auto;color:#fff}
.project-network-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible;stroke:#b9d4df;stroke-width:1.5;opacity:.75}
.project-network-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;width:37%;aspect-ratio:1;border:2px solid #e4f0f4;border-radius:50%;background:rgba(11,35,51,.88);box-shadow:0 0 0 7px rgba(14,53,72,.7),0 0 0 8px rgba(210,232,239,.4);text-align:center;text-transform:uppercase}
.project-network-center strong{font-size:clamp(.96rem,1.35vw,1.22rem);line-height:1.1;letter-spacing:.1em;max-width:8ch}
.project-network-center strong::after{content:"";display:block;width:70px;max-width:90%;height:2px;margin:11px auto;background:var(--orange)}
.project-network-center span{font-size:.6rem;line-height:1.65;letter-spacing:.13em;color:#d3e3e9}
.project-network-node{position:absolute;display:flex;align-items:center;justify-content:center;flex-direction:column;transform:translate(-50%,-50%);width:21%;aspect-ratio:1;border:1px solid #c6dbe4;border-radius:50%;background:rgba(13,39,56,.92);font-size:clamp(.64rem,.86vw,.83rem);font-weight:700;line-height:1.18;text-transform:uppercase;text-align:center;padding:8px}
.project-network-node small{font:inherit;font-size:.75em;opacity:.82;margin-top:3px}
.node-mechanical{left:50%;top:14%}.node-electrical{left:82%;top:28%}.node-fire{left:82%;top:72%}.node-technology{left:50%;top:86%}.node-structural{left:18%;top:72%}.node-plumbing{left:18%;top:28%}
.home-capability-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.home-capability-grid article{min-height:0;padding:0;border:1px solid var(--line);border-top:3px solid var(--orange);background:#fff;overflow:hidden}
.capability-card-image{display:block;width:100%;height:190px;object-fit:cover;object-position:center;background:var(--light)}
.capability-card-copy{padding:22px 20px 24px}
.home-capability-grid h3{font-size:1.35rem;margin:16px 0 12px}
.home-capability-grid p{font-size:.94rem;line-height:1.5;color:var(--muted);margin:0}
@media(max-width:1100px){.editorial-hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,.9fr);min-height:560px}.editorial-copy h1{font-size:clamp(2.8rem,4.6vw,3.9rem)}.home-capability-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.editorial-hero-grid{grid-template-columns:1fr;gap:38px;min-height:0;padding-block:48px 52px}.editorial-copy .eyebrow{font-size:.64rem;margin-bottom:19px}.editorial-copy h1{font-size:clamp(2.5rem,9.8vw,3.8rem);margin-bottom:21px}.editorial-copy .lead{font-size:1.05rem;margin-bottom:24px}.editorial-copy .button-row{gap:10px}.project-network{max-width:510px}.project-network-node{font-size:clamp(.58rem,1.8vw,.75rem)}}
@media(max-width:520px){
 .editorial-hero-grid{gap:30px}
 .project-network{max-width:410px;aspect-ratio:13/12}
 .project-network-center strong{font-size:.78rem}
 .project-network-center strong::after{width:38px;margin:6px auto}
 .project-network-center span{font-size:.5rem;line-height:1.35;letter-spacing:.08em}
 .project-network-node{width:25%;padding:4px;font-size:.52rem}
 .home-capability-grid{grid-template-columns:1fr;gap:12px}
 .capability-card-image{height:220px}
}
@media(max-width:520px){
 .editorial-hero-grid{padding-block:38px 42px}
 .home-capability-grid article{display:grid;grid-template-columns:minmax(96px,36%) minmax(0,1fr);min-height:146px}
 .home-capability-grid .capability-card-image{height:100%;min-height:146px;object-fit:cover}
 .home-capability-grid .capability-card-copy{padding:14px 14px 16px}
 .home-capability-grid h3{font-size:1.08rem;line-height:1.15;margin:7px 0 7px}
 .home-capability-grid p{font-size:.82rem;line-height:1.4}
 .home-capability-grid .ux-kicker{font-size:.59rem;letter-spacing:.08em}
 .home-capability-grid .capability-card--regional{display:block}
 .home-capability-grid .capability-card--regional .capability-card-image{height:auto;min-height:0;aspect-ratio:16/9;object-fit:cover;object-position:center 55%}
}

/* Moderate the conceptual reach artwork while retaining the approved palette. */
.capability-card--regional .capability-card-image{filter:saturate(.62) brightness(.94)}
.capability-card--regional .text-link{display:inline-block;margin-top:14px;font-size:.82rem;line-height:1.45}
