/* Shared title hierarchy. The official home artwork and headings with tilted stickers retain their original scale. */
:root{
 --title-page:clamp(34px,4.5vw,72px);
 --title-section:clamp(28px,2.8vw,44px);
 --title-card:clamp(22px,1.75vw,26px);
}
body:is(.home-official,.inner-page,.project-page) main h1:not(.hero-official-title,.sr-only){
 font-size:var(--title-page)!important;
 line-height:1.12!important;
 letter-spacing:-.04em!important;
 text-wrap:balance;
 overflow-wrap:break-word;
}
body:is(.home-official,.inner-page,.project-page) main h2:not(.hero-official-services,.sr-only,.home-official .oversized-heading h2){
 font-size:var(--title-section)!important;
 line-height:1.2!important;
 letter-spacing:-.035em!important;
 overflow-wrap:break-word;
}
body:is(.home-official,.inner-page,.project-page) main h3{
 font-size:var(--title-card)!important;
 line-height:1.25!important;
 letter-spacing:-.025em!important;
 overflow-wrap:break-word;
}
.home-official .process-reference-card{padding-inline:24px}
.home-official .leader-copy h2{max-width:100%}
.home-official .about-grid h2{max-width:100%}
.site-footer .footer-grid h3{font-size:clamp(18px,1.4vw,22px);line-height:1.25}

/* One transparent navigation treatment over every public inner-page cover. */
body:is(.inner-page,.project-page)>.official-nav{
 position:absolute;
 top:0;
 left:50%;
 right:auto;
 transform:translateX(-50%);
 width:min(90%,1460px);
 height:104px;
 margin:0;
 background:transparent;
 color:#fff;
 align-items:stretch;
 z-index:8;
}
body:is(.inner-page,.project-page)>.official-nav .official-brand{
 display:flex;
 align-items:center;
 width:180px;
 border-color:#ffffff70;
}
body:is(.inner-page,.project-page)>.official-nav .official-brand img{
 width:160px;
 height:76px;
 object-fit:contain;
 filter:none;
}
body:is(.inner-page,.project-page)>.official-nav>nav{margin-left:7%;gap:24px}
body:is(.inner-page,.project-page)>.official-nav>nav>a{
 color:#fff;
 border-color:#ffffff70;
 font-size:16px;
 gap:10px;
 padding-bottom:20px;
 text-shadow:0 1px 10px #40404050;
}
body:is(.inner-page,.project-page)>.official-nav>nav i{
 width:9px;
 height:9px;
 margin-bottom:5px;
 border-color:#fff;
}
body:is(.inner-page,.project-page)>.official-nav>nav a[aria-current=page] i{background:#fff}
body:is(.inner-page,.project-page)>.official-nav>nav a:hover{color:#00e3ff}
body:is(.inner-page,.project-page)>.official-nav .official-menu{
 width:64px;
 color:#fff;
 border-color:#ffffff70;
 padding-top:38px;
 gap:7px;
}
body:is(.inner-page,.project-page)>.official-nav .official-menu span{width:38px;background:#fff}

/* Full-bleed photographs with a darker top for the menu and a readable text zone. */
body:is(.inner-page,.project-page) .page-cover-hero{
 position:relative;
 isolation:isolate;
 overflow:hidden;
 min-height:max(640px,78svh);
 display:flex;
 flex-direction:column;
 justify-content:flex-end;
 padding:170px 0 72px;
 background:#404040;
 color:#fff;
}
.page-cover-photo,.page-cover-shade{
 position:absolute;
 inset:0;
 width:100%;
 height:100%;
 pointer-events:none;
}
.page-cover-photo{z-index:-2;object-fit:cover;object-position:65% center}
.page-cover-shade{
 z-index:-1;
 background:linear-gradient(180deg,#404040e8 0%,#40404010 35%,#40404050 100%),linear-gradient(90deg,#404040e8 0%,#404040c7 45%,#4994ff40 100%);
}
body:is(.inner-page,.project-page) .page-cover-hero>.wrap{width:90%;max-width:1460px}
body.inner-page .page-cover-hero :is(h1,h1 em,.page-kicker,.service-eyebrow,.page-breadcrumb,.service-back){color:#fff}
body.inner-page .page-cover-hero h1{max-width:1100px;margin-bottom:0}
body.inner-page .page-cover-hero h1 em{font-style:normal;color:#00e3ff}
body.inner-page .page-cover-hero .page-kicker{margin-bottom:24px}
body.inner-page .page-cover-hero :is(.page-breadcrumb,.service-back){margin-bottom:28px;font-size:14px}
body.inner-page .page-cover-hero .page-lead{
 align-items:flex-start;
 flex-direction:column;
 gap:28px;
 max-width:780px;
 border-color:#ffffff45;
 margin-top:32px;
 padding-top:24px;
}
body.inner-page .page-cover-hero .page-lead>p{font-size:20px;line-height:1.6;max-width:64ch;color:#fff}
body.inner-page .page-cover-hero .page-button{color:#fff;border-color:#ffffff80;background:transparent}
body.inner-page .page-cover-hero .page-button.solid{color:#404040;background:#00e3ff;border-color:#00e3ff}
body.inner-page .page-cover-hero .page-button:hover{color:#404040;background:#fff;border-color:#fff}
body.inner-page .page-cover-hero .page-button:focus-visible{outline:3px solid #00e3ff;outline-offset:5px}
.service-detail .page-cover-hero .service-hero-grid{display:block;min-height:0}
.service-detail .page-cover-hero .service-hero-copy{max-width:1100px}
.service-detail .page-cover-hero .service-hero-intro{background:none;padding:0;border-radius:0;max-width:680px;margin-top:26px}
.service-detail .page-cover-hero .service-hero-intro p{color:#fff;font-size:20px;line-height:1.6;margin:0}
.service-detail .page-cover-hero .service-hero-intro p+p{color:#fff;font-size:16px;margin-top:16px;max-width:none}
.service-detail .page-cover-hero .service-local-link{color:#fff;text-decoration:underline;text-underline-offset:3px}
.service-detail .page-cover-hero .service-actions{margin-top:30px}
/* Existing project covers use the same contrast treatment and title scale. */
.project-page .project-cover-hero{height:auto;min-height:max(640px,78svh);max-height:none}
.project-page .project-cover-shade{background:linear-gradient(180deg,#404040e8 0%,#40404015 40%,#404040d9 100%)}
.project-page .project-cover-content{padding-top:170px;padding-bottom:72px}
.project-page .project-cover-content h1{max-width:1100px}

@media(max-width:1000px){
 .home-official .about-grid h2>.about-line{display:inline;white-space:normal}
 body:is(.inner-page,.project-page)>.official-nav>nav{margin-left:4%;gap:16px}
 body:is(.inner-page,.project-page)>.official-nav .official-brand{width:150px}
 body:is(.inner-page,.project-page)>.official-nav .official-brand img{width:140px}
}
@media(max-width:760px){
 :root{--title-page:clamp(30px,8vw,48px);--title-section:clamp(26px,7vw,34px);--title-card:clamp(22px,5.6vw,26px)}
 body:is(.inner-page,.project-page)>.official-nav{height:84px}
 body:is(.inner-page,.project-page)>.official-nav>nav{display:none}
 body:is(.inner-page,.project-page)>.official-nav .official-brand{width:145px}
 body:is(.inner-page,.project-page)>.official-nav .official-brand img{width:135px;height:66px}
 body:is(.inner-page,.project-page)>.official-nav .official-menu{margin-left:auto;width:48px;padding-top:26px}
 body:is(.inner-page,.project-page)>.official-nav .official-menu span{width:32px}
 body:is(.inner-page,.project-page) .page-cover-hero{min-height:620px;padding:126px 0 48px}
 .page-cover-photo{object-position:62% center}
 .page-cover-shade{background:linear-gradient(180deg,#404040d9,#404040c7 45%,#404040e8)}
 body.inner-page .page-cover-hero .page-lead{margin-top:26px;gap:24px;padding-top:22px}
 body.inner-page .page-cover-hero .page-lead>p,.service-detail .page-cover-hero .service-hero-intro p{font-size:18px;line-height:1.6}
 .service-detail .page-cover-hero .service-hero-intro p+p{font-size:16px}
 .service-detail .page-cover-hero .service-actions{gap:12px}
 .project-page .project-cover-hero{min-height:620px}
 .project-page .project-cover-content{padding-top:126px;padding-bottom:48px}
 .home-official .about-grid h2>.about-line{display:inline;white-space:normal}
 .home-official .about-grid h2{text-wrap:balance}
}
