/* Shared finishing system. Brand #014153, original fonts and media retained. */
:root{--assel-brand:#014153;--assel-surface:#f5f5f4;--assel-rule:rgba(1,65,83,.16)}
html{scroll-padding-top:calc(var(--header-height,96px) + 24px)}
body main :is(.container,.industry-showcase-list){width:min(1280px,calc(100% - 2 * var(--gutter)));margin-inline:auto}
body main .section{padding-block:clamp(64px,7vw,104px)}
body main :is(h1,h2,h3){text-wrap:balance}
body main p{text-wrap:pretty}
body main :is(.home-capability,.industry-showcase,.service-offering){border-radius:4px;box-shadow:none;overflow:hidden}
body main :is(.home-capabilities,.industry-showcase-list){gap:64px}
body.page-home main .home-capability:nth-child(n)>.home-capability-copy,
body.page-industries main .industry-showcase:nth-child(n)>.industry-showcase-copy,
body.page-services main .service-offering-intro{background:#f5f5f4!important;color:var(--assel-brand);border-color:var(--assel-rule)}
body.page-services main .service-offering-heading>:is(span,h2,p){color:var(--assel-brand)}
body.page-services main .service-offering-photo{height:100%;min-height:320px}
body.page-services main .service-offering-intro{padding:clamp(28px,4vw,52px)}
body.page-services main .service-offering-details{background:var(--assel-surface);border-color:var(--assel-rule)}
body.page-services main .services-editorial-intro,
body.page-industries main .industries-editorial-intro{background:var(--assel-surface)}
body.page-home main .process-blueprint{background:var(--assel-surface)}
body.page-home main .process-blueprint .flow-item:nth-child(n){background:transparent;border:0;border-top:1px solid var(--assel-rule);border-radius:0;box-shadow:none;padding:28px 12px 0}
body.page-home main .process-blueprint .flow-item::after{display:none}
body.page-home main .process-blueprint .flow-item::before{background:var(--assel-brand);color:#fff;width:36px;height:36px;font-variant-numeric:tabular-nums}
body.page-operations main .operation-stage:nth-child(n){transform:none;min-height:0}
body.page-operations main .operation-documents{gap:24px}
body.page-operations main .operation-document{border-top:2px solid var(--assel-brand);padding:28px;background:var(--assel-surface);box-shadow:none}
body.page-careers main .profile{border-radius:4px;border-color:var(--assel-rule);box-shadow:none}
body main .contact-form{border-radius:4px!important;background:var(--assel-surface)!important;border-color:var(--assel-rule)!important}
body main .field :is(input:not([type=checkbox]):not([type=radio]),textarea,select){min-height:48px;border-radius:3px;border-color:rgba(1,65,83,.26);background-color:#fff;color:var(--assel-brand)}
body main .field :is(input,textarea,select):focus-visible{outline:2px solid var(--assel-brand);outline-offset:3px;box-shadow:none}
body main :is(a,button):focus-visible{outline:2px solid currentColor;outline-offset:5px}
body main .btn{min-height:48px;border-radius:4px;transition:background-color .18s,color .18s,box-shadow .18s}
body main .btn:active{transform:translateY(1px)}
body .site-header.is-scrolled{box-shadow:0 4px 20px rgba(1,65,83,.07)}
body .site-footer{border-top:3px solid var(--assel-brand);background:var(--assel-surface)}
body .site-footer .footer-main{padding-block:40px 32px}
body main :is(section[id],h2[id]){scroll-margin-top:calc(var(--header-height,96px) + 24px)}
@media(min-width:801px){
 body.page-home main .home-capabilities .home-capability .home-capability-copy{padding:clamp(32px,4vw,56px)}
 body.page-home main .home-capabilities .home-capability .pillar-tags{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}
 body.page-home main .home-capabilities .home-capability .home-capability-copy>a{align-self:flex-start;margin-top:24px}
 body.page-industries main .industry-showcase:nth-child(n){margin-bottom:64px}
 body.page-industries main .industry-showcase:nth-child(n)>.industry-showcase-copy{padding:clamp(32px,4vw,56px)}
}
@media(max-width:1100px) and (min-width:801px){
 body.page-home main .home-capabilities .home-capability .pillar-tags{grid-template-columns:1fr}
 body.page-services main .service-offering-details{grid-template-columns:1fr;gap:28px}
 body.page-services main .service-offering-group+.service-offering-group{border-top:1px solid var(--assel-rule);padding-top:24px}
}
@media(max-width:800px){
 body main :is(.container,.industry-showcase-list){width:calc(100% - 40px)}
 body main .section{padding-block:60px}
 body.page-home main .home-capabilities{gap:32px}
 body.page-home main .home-capabilities .home-capability .home-capability-copy{padding:30px 24px}
 body.page-industries main .industry-showcase:nth-child(n){margin-bottom:32px}
 body.page-services main .service-offering-photo{height:auto;min-height:0;aspect-ratio:3/2}
 body.page-services main .service-offering-intro{padding:30px 24px}
 body.page-home main .process-blueprint .flow-item:nth-child(n){padding:24px 0 0}
 body .site-footer .footer-main{padding-block:28px 22px}
 body main .field :is(input,textarea,select){font-size:16px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}body main .btn{transition:none}}
/* Bound media to narrow mobile columns. */
body.page-home main .quality-focus-visual{min-width:0;max-width:100%;width:100%;box-sizing:border-box}
@media(max-width:800px){body.page-home main .quality-focus-grid{grid-template-columns:minmax(0,1fr)}body.page-home main .quality-focus-visual{height:auto;aspect-ratio:4/3;margin-inline:0}body.page-home main .quality-focus-visual img{width:100%;height:100%;object-fit:cover}}
@media(max-width:800px){body.page-home main .home-sectors-story{grid-template-columns:minmax(0,1fr)}body.page-home main .home-sectors-story>.home-sectors-media{min-width:0;width:100%;max-width:100%;margin:0}body.page-home main .home-sectors-media img{min-width:0;width:100%;max-width:100%}}
body .site-footer .footer-links a{min-width:0;max-width:100%;overflow-wrap:anywhere;hyphens:auto}

/* Neutral editorial blocks; brand remains in typography and controls. */
body main :is(.section-dark:not(.industry-quality>.split-copy),.section-blue,.quality-focus-section){background:#f5f5f4!important;color:var(--assel-brand)}
body main :is(.section-dark:not(.industry-quality>.split-copy),.section-blue,.quality-focus-section) :is(h1,h2,h3,p,.kicker,.eyebrow,.checks span){color:var(--assel-brand)}
body main :is(.section-dark:not(.industry-quality>.split-copy),.section-blue,.quality-focus-section) :is(.kicker,.checks span)::before{background:var(--assel-brand)}
body main :is(.detail-request,.detail-scope,.detail-local-link){background:#f5f5f4;color:var(--assel-brand)}
body main .detail-request :is(h2,p,a){color:var(--assel-brand)}

/* Photo/video backdrops require light copy, independently of neutral cards. */
body.page-operations main .operation-coordination :is(h2,h3,p,.kicker),
body.page-services main .service-modes :is(h2,h3,p,.kicker){color:#fff}
