/* Quiet architectural depth. The original typography, grid and colours remain. */
.home-hero{position:relative;isolation:isolate;overflow:hidden;background:#202a2d}
.home-hero::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(90deg,rgba(25,35,38,.89) 0%,rgba(25,35,38,.76) 39%,rgba(25,35,38,.45) 100%),linear-gradient(0deg,rgba(25,35,38,.83),transparent 65%),url('/assets/architecture-hero.webp');background-size:cover;background-position:center 47%;animation:hero-settle 1.4s cubic-bezier(.2,.65,.3,1) both}
.home-hero .schematic{background:rgba(29,40,43,.88);border-color:rgba(166,182,185,.32);box-shadow:0 18px 54px rgba(0,0,0,.14)}
.home-hero .hero-foot{position:relative}
.hero-copy>.eyebrow,.hero-copy>h1,.hero-copy>p,.hero-copy>.actions,.home-hero .schematic{animation:hero-arrive .72s cubic-bezier(.2,.65,.3,1) both}
.hero-copy>h1{animation-delay:70ms}.hero-copy>p:not(.eyebrow){animation-delay:130ms}.hero-copy>.actions{animation-delay:190ms}.home-hero .schematic{animation-delay:150ms}
.cta,.header-cta,.form-submit{transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease}
.site-arrow{transition:transform .22s ease}
.service-row,.buyer,.article-card{transition:background-color .22s ease,border-color .22s ease,box-shadow .22s ease}
.reveal-ready{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.65,.3,1);transition-delay:var(--reveal-delay,0ms)}
.reveal-ready.is-visible{opacity:1;transform:none}
.reveal-ready:focus-within{opacity:1;transform:none;transition-delay:0ms}
@media(hover:hover) and (pointer:fine){
 a:hover>.site-arrow,a:hover>.text-link .site-arrow,.form-submit:hover .site-arrow{transform:translate(2px,-2px)}
 .cta:hover,.header-cta:hover{box-shadow:0 5px 16px rgba(0,0,0,.12)}
 .buyer:hover,.article-card:hover{box-shadow:0 8px 24px rgba(23,36,39,.06)}
}
@keyframes hero-arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes hero-settle{from{opacity:.5;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}
@media(max-width:760px){
 .home-hero::before{background-position:67% top;background-image:linear-gradient(180deg,rgba(25,35,38,.78),rgba(25,35,38,.9) 78%),url('/assets/architecture-hero.webp')}
 .home-hero .schematic{background:rgba(29,40,43,.94)}
}
@media(prefers-reduced-motion:reduce){
 .home-hero::before,.hero-copy>* , .home-hero .schematic{animation:none!important}
 .reveal-ready{opacity:1!important;transform:none!important;transition:none!important}
 .site-arrow,.cta,.header-cta,.form-submit,.service-row,.buyer,.article-card{transition:none!important}
 .site-arrow{transform:none!important}
}
@media print{.reveal-ready{opacity:1;transform:none}.home-hero::before{display:none}}

/* Shared service feedback for both heading levels, including keyboard users. */
.service-row :is(h2,h3){transition:color .2s ease}
.service-row:is(:hover,:focus-visible) :is(h2,h3){color:var(--orange)}
.service-row:focus-visible{background:#e8eeea}
.desktop-nav a{position:relative}
.desktop-nav a::after{content:"";position:absolute;bottom:8px;left:0;right:0;height:1px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .22s ease}
.desktop-nav a:is(:hover,:focus-visible)::after{transform:scaleX(1)}
.cta:active,.header-cta:active,.form-submit:active{transform:translateY(1px)}
.field input,.field select,.field textarea{transition:border-color .2s ease,background-color .2s ease}
.field:focus-within label{color:var(--orange)}
.form-submit[disabled]{cursor:wait;opacity:.7}
.form-diagnostic{font-size:13px;margin-top:16px;overflow-wrap:anywhere}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.service-row :is(h2,h3),.desktop-nav a::after,.field input,.field select,.field textarea{transition:none}.cta:active,.header-cta:active,.form-submit:active{transform:none}}

.service-hero{position:relative;isolation:isolate;overflow:hidden;background:#202a2d}
.service-hero::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(90deg,rgba(25,35,38,.94),rgba(25,35,38,.86) 45%,rgba(25,35,38,.52)),linear-gradient(0deg,rgba(25,35,38,.65),transparent 70%),var(--service-image);background-size:cover;background-position:center;animation:hero-settle 1.4s cubic-bezier(.2,.65,.3,1) both}
@media(max-width:760px){.service-hero::before{background-image:linear-gradient(90deg,rgba(25,35,38,.90),rgba(25,35,38,.82)),var(--service-image);background-position:65% center}}
@media(prefers-reduced-motion:reduce){.service-hero::before{animation:none}}
@media print{.service-hero::before{display:none}}
