/* Homepage: approved panoramic opening with the original rounded section system. */
.homepage-imagery { --home-gutter:max(32px,calc((100vw - 1320px)/2)); --home-paper:#fff; }
.homepage-imagery .hero { padding:calc(var(--header-h) + 28px) 0 0; background:var(--home-paper); overflow:clip; }
.homepage-imagery .hero > .container { width:min(100% - 64px,1320px); max-width:1320px; }
.homepage-imagery .hero-aura { display:none; }
.homepage-imagery .hero-copy {
  position:relative; isolation:isolate; overflow:hidden; display:flex; flex-direction:column; justify-content:center;
  min-height:680px; max-width:none; margin:0; padding:54px 58px; border-radius:24px; text-align:left; color:#fff; background:#201d24;
}
.home-hero-photo { position:absolute; inset:0; z-index:-2; width:100%; height:100%; object-fit:cover; object-position:center 58%; }
.homepage-imagery .hero-copy::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#191921ed 0%,#191921ce 34%,#19192169 62%,#19192110 100%),linear-gradient(0deg,#19192180,transparent 58%); }
.homepage-imagery .hero-copy .eyebrow { display:flex; align-items:center; gap:16px; margin:0 0 26px; color:#fff; }
.homepage-imagery .hero-copy .eyebrow::before { content:""; width:34px; height:2px; background:var(--red); }
.homepage-imagery .hero-copy h1 { max-width:930px; margin:0 0 25px; color:#fff; font-size:clamp(3rem,5.15vw,5rem); font-weight:400; line-height:1.03; letter-spacing:-.055em; }
.homepage-imagery .hero-title-lead { display:block; max-width:870px; }
.homepage-imagery .hero-copy .accent-text { display:block; margin-top:3px; color:#fff; font-family:var(--serif); font-size:1.15em; font-weight:400; font-style:italic; letter-spacing:-.052em; line-height:1.02; }
.homepage-imagery .hero-subtitle { max-width:625px; padding:0; margin:0 0 28px; color:#f0edeb; font:400 1rem/1.6 var(--sans); }
.homepage-imagery .hero-subtitle::before { display:none; }
.homepage-imagery .hero-actions { justify-content:flex-start; gap:14px; margin:0; }
.homepage-imagery .hero-actions .btn { min-height:52px; font-size:.82rem; }
.homepage-imagery .hero-actions .btn-secondary { padding-inline:8px; border-color:transparent; background:none; color:#fff; border-bottom:1px solid #ffffff80; border-radius:0; }
.homepage-imagery .hero-actions .btn-secondary:hover { background:#ffffff10; border-bottom-color:#fff; }
.homepage-imagery .hero-copy a:focus-visible { outline-color:#fff; }
.homepage-imagery .hero-copy .eyebrow { font:600 .68rem/1.3 var(--sans); letter-spacing:.16em; text-transform:uppercase; }
.homepage-imagery .hero-copy .eyebrow { font:600 .68rem/1.3 var(--sans); letter-spacing:.16em; text-transform:uppercase; }
.homepage-imagery .hero-proofline { display:flex; flex-wrap:nowrap; width:100%; max-width:none; min-width:0; gap:8px; margin:24px auto; padding:9px; overflow-x:auto; justify-content:flex-start; background:#fff; border:1px solid #ece8e6; border-radius:22px; box-shadow:0 8px 28px #24151c08; scrollbar-width:thin; scrollbar-color:#d7ced1 transparent; }
.homepage-imagery .hero-proofline a { display:flex; align-items:center; justify-content:center; gap:9px; flex:1 0 auto; min-height:48px; padding:13px 16px; white-space:nowrap; color:#39363b; background:#f5f4f3; border-radius:14px; font:500 .75rem/1.4 var(--sans); transition:background .18s,color .18s; }
.homepage-imagery .hero-proofline a:hover,.homepage-imagery .hero-proofline a:focus-visible { background:#f8e9ed; color:var(--red); }
.homepage-imagery .hero-proofline a:focus-visible { outline-offset:-3px; }
.homepage-imagery .hero-brief { width:100%; margin:0 auto; padding:46px 50px; box-shadow:none; }
.homepage-imagery .section { padding:44px 0; }
.homepage-imagery .section-intro { margin-bottom:32px; }
.homepage-imagery .trust-strip { padding-top:24px; }
.homepage-imagery .systems-band { padding:48px 0 24px; }
.homepage-imagery .section-cta-final { padding:24px 0 64px; }
.homepage-imagery .consequence-band { padding-bottom:32px; }
.homepage-imagery .consequence-band + .section { padding-top:32px; }
.homepage-imagery .industry-grid { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:auto; gap:36px 32px; }
.homepage-imagery .industry-card { isolation:isolate; overflow:hidden; min-height:676px; padding:36px; border:0; border-radius:24px; background:#231e25; color:#fff; justify-content:flex-end; }
.home-sector-photo { position:absolute; inset:0; z-index:-2; width:100%; height:100%; margin:0; object-fit:cover; }
.homepage-imagery .industry-card::before { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,#161a2320 0%,#1c182075 24%,#1c1820eb 55%,#1c1820fa 100%); }
.homepage-imagery .industry-topline { width:100%; margin-bottom:auto; padding-bottom:50px; }
.homepage-imagery .industry-number { color:#fff; }
.homepage-imagery .industry-card h3 { color:#fff; font-size:clamp(1.8rem,2.5vw,2.5rem); }
.homepage-imagery .industry-card > p { color:#f1edf0; font:400 .98rem/1.65 var(--sans); }
.homepage-imagery .industry-card .clean-list { padding-top:18px; border-top:1px solid #ffffff33; }
.homepage-imagery .industry-card .clean-list li { color:#f1edf0; }
.homepage-imagery .industry-card .clean-list li::before { background:#ed8b9e; }
.homepage-imagery .industry-card .card-link { color:#fff; align-self:flex-start; }
.homepage-imagery .industry-card-featured { grid-column:1/-1; grid-row:auto; min-height:626px; padding:42px 46px; align-items:flex-start; justify-content:flex-start; }
.industry-card-featured .home-sector-photo { width:65%; left:auto; }
.homepage-imagery .industry-card-featured::before { background:linear-gradient(90deg,#221d23 0%,#221d23f5 29%,#221d23c9 44%,#221d2310 78%); }
.homepage-imagery .industry-card-featured .industry-topline { margin-bottom:32px; padding:0; }
.homepage-imagery .industry-card-featured h3 { max-width:560px; font-size:clamp(2.2rem,3.4vw,3.4rem); }
.homepage-imagery .industry-card-featured > p,.homepage-imagery .industry-card-featured .clean-list { max-width:510px; }
.homepage-imagery .industry-card-featured .card-link { margin-top:auto; }
.homepage-imagery .cta-final-card { isolation:isolate; background:#24151c; }
.home-contact-photo { position:absolute; inset:0; z-index:-2; width:100%; height:100%; object-fit:cover; object-position:center 45%; }
.homepage-imagery .cta-final-card::before { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#24151cf5 0%,#24151ce8 48%,#24151c66 100%); }
.homepage-imagery .cta-final-content { max-width:790px; }
@media(min-width:1600px) { .homepage-imagery .hero-copy { min-height:740px; } }
@media(max-width:1120px) {
 .homepage-imagery .hero-copy { min-height:620px; padding-block:52px; }
 .homepage-imagery .hero-copy h1 { max-width:770px; font-size:clamp(3.2rem,6.2vw,4.5rem); }
 .homepage-imagery .industry-card { padding:30px; }
 .homepage-imagery .industry-card-featured h3 { max-width:490px; }
 .homepage-imagery .industry-card-featured > p,.homepage-imagery .industry-card-featured .clean-list { max-width:470px; }
}
@media(max-width:820px) {
 .homepage-imagery { --home-gutter:24px; }
 .homepage-imagery .hero-copy { min-height:620px; }
 .homepage-imagery .hero-copy h1 { font-size:clamp(2.8rem,6.5vw,3.7rem); max-width:680px; }
 .homepage-imagery .hero-copy::before { background:linear-gradient(90deg,#191921e8,#19192188),linear-gradient(0deg,#19192188,transparent); }
 .homepage-imagery .hero-brief { padding:36px 30px; }
 .homepage-imagery .industry-card { padding:28px; }
 .homepage-imagery .industry-card h3 { font-size:1.9rem; }
 .homepage-imagery .industry-card-featured h3 { font-size:2.6rem; }
 .industry-card-featured .home-sector-photo { width:100%; }
 .homepage-imagery .industry-card-featured::before { background:linear-gradient(90deg,#221d23f5,#221d23cf 50%,#221d2360); }
 .homepage-imagery .cta-final-card::before { background:linear-gradient(90deg,#24151cf0,#24151cc9); }
}
@media(max-width:700px) {
 .homepage-imagery .industry-grid { grid-template-columns:1fr; }
}
@media(max-width:560px) {
 .homepage-imagery { --home-gutter:20px; }
 .homepage-imagery .container { width:calc(100% - 40px); }
 .homepage-imagery .hero > .container { width:calc(100% - 40px); }
 .homepage-imagery .hero-copy { min-height:0; padding-block:42px; }
 .home-hero-photo { object-position:65% center; }
 .homepage-imagery .hero-copy::before { background:linear-gradient(180deg,#191921b8,#191921d0); }
 .homepage-imagery .hero-copy .eyebrow { font-size:.6rem; letter-spacing:.12em; gap:10px; margin-bottom:24px; }
 .homepage-imagery .hero-copy .eyebrow::before { width:20px; flex-shrink:0; }
 .homepage-imagery .hero-copy h1 { font-size:clamp(2.05rem,8.8vw,3.1rem); line-height:1.08; margin-bottom:23px; }
 .homepage-imagery .hero-copy .accent-text { font-size:1.2em; line-height:1.05; }
 .homepage-imagery .hero-subtitle { font-size:.92rem; line-height:1.65; }
 .homepage-imagery .hero-actions { gap:17px; align-items:flex-start; }
 .homepage-imagery .hero-actions .btn-primary { width:100%; white-space:normal; padding-inline:14px; }
 .homepage-imagery .hero-actions .btn-secondary { min-height:36px; padding:0 0 10px; }
 .homepage-imagery .hero-proofline { width:100%; margin:16px auto 24px; padding:7px; border-radius:18px; }
 .homepage-imagery .hero-proofline a { font-size:.76rem; padding-inline:15px; }
 .homepage-imagery .hero-brief { width:100%; padding:30px 24px; }
 .homepage-imagery .section { padding:30px 0; }
 .homepage-imagery .section-intro { margin-bottom:24px; }
 .homepage-imagery .industry-grid { grid-template-columns:1fr; gap:24px; }
 .homepage-imagery .industry-card { min-height:600px; padding:28px 24px; border-radius:20px; }
 .homepage-imagery .industry-card h3 { font-size:1.85rem; }
 .homepage-imagery .industry-card-featured { min-height:0; }
 .homepage-imagery .industry-card-featured h3 { font-size:2.2rem; }
 .homepage-imagery .industry-card-featured::before { background:linear-gradient(90deg,#221d23ef,#221d23bc); }
 .homepage-imagery .systems-band { padding:32px 0 16px; }
 .homepage-imagery .section-cta-final { padding:16px 0 40px; }
 .homepage-imagery .consequence-band { padding-bottom:20px; }
 .homepage-imagery .consequence-band + .section { padding-top:20px; }
}

/* Compact photographic accents within existing sections. */
.homepage-imagery .hero-copy .eyebrow { font:600 .68rem/1.3 var(--sans); }
.homepage-imagery .home-services-intro { align-items:stretch; gap:32px; }
.homepage-imagery .home-services-intro > div:first-child { align-self:center; }
.homepage-imagery .home-process-image { position:relative; isolation:isolate; overflow:hidden; min-height:285px; padding:36px; border-radius:24px; align-items:end; gap:36px; background:#1c242b; }
.home-process-image > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 58%; z-index:-2; }
.home-process-image::before { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#16202bea 0%,#16202b9e 46%,#16202b65 100%); }
.homepage-imagery .home-process-image h2,.homepage-imagery .home-process-image .eyebrow { color:#fff; }
.homepage-imagery .home-process-image .section-context { background:#18212ba6; color:#fff; box-shadow:none; border:1px solid #ffffff24; }
.homepage-imagery .service-card { min-height:0; padding:28px; }
.homepage-imagery .process-row { min-height:0; padding:24px; }
.homepage-imagery .trust-metric { min-height:120px; padding:22px; }
.homepage-imagery .consequence-band .container { padding:46px; }
.homepage-imagery .consequence-item { min-height:0; padding:24px; }
.homepage-imagery .systems-band .container { padding:40px; }
@media(max-width:1120px) {
 .homepage-imagery .hero-copy { padding-inline:36px; }
}
@media(max-width:820px) {
 .homepage-imagery .hero-copy { padding-inline:28px; }
 .homepage-imagery .home-process-image { min-height:320px; padding:30px; }
 .homepage-imagery .consequence-band .container,.homepage-imagery .systems-band .container { padding:32px; }
}
@media(max-width:560px) {
 .homepage-imagery .hero { padding-top:calc(var(--header-h) + 16px); }
 .homepage-imagery .hero-copy { border-radius:18px; padding:32px 22px; }
 .homepage-imagery .hero-copy h1 { font-size:clamp(1.85rem,7.8vw,2.8rem); }
 .homepage-imagery .hero-copy .eyebrow { font-size:.57rem; }
 .homepage-imagery .home-services-intro { gap:20px; }
 .homepage-imagery .home-process-image { padding:26px 24px; gap:24px; border-radius:20px; }
 .home-process-image::before { background:linear-gradient(180deg,#16202bb8,#16202be0); }
 .homepage-imagery .home-process-image .section-context { padding:0; background:none; border:0; }
 .homepage-imagery .consequence-band .container,.homepage-imagery .systems-band .container { padding:30px 24px; }
}

/* Continuous imagery inside the existing rounded section panels. */
.homepage-imagery #services { background:#fff; }
.homepage-imagery .home-photo-panel { position:relative; isolation:isolate; overflow:hidden; border-radius:28px; background:#1e2830; padding:36px; }
.home-section-photo { position:absolute; inset:0; z-index:-2; width:100%; height:100%; object-fit:cover; }
.home-photo-panel::before { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,#1421299c,#142129b8); }
.homepage-imagery .home-capabilities-panel .home-services-intro { min-height:245px; align-items:end; margin-bottom:28px; gap:32px; }
.homepage-imagery .home-capabilities-panel .home-services-intro > div { align-self:end; }
.homepage-imagery .home-capabilities-panel .eyebrow,.homepage-imagery .home-capabilities-panel h2 { color:#fff; }
.homepage-imagery .home-capabilities-panel .section-context { color:#fff; background:#15222bc4; border:1px solid #ffffff25; box-shadow:none; }
.homepage-imagery .home-capabilities-panel .service-card { background:rgba(255,255,255,.78); box-shadow:none; border-color:#ffffff80; padding:26px; }
.homepage-imagery .home-capabilities-panel .service-card:hover { background:rgba(255,255,255,.86); }
.home-capabilities-panel > .home-section-photo { object-position:center 40%; }
.homepage-imagery .home-scrutiny-panel::before { background:linear-gradient(90deg,#17222bed 0%,#17222bad 60%,#17222b70 100%); }
.homepage-imagery .home-scrutiny-panel .consequence-head { min-height:210px; }
.homepage-imagery .home-scrutiny-panel .consequence-head > p:last-child { background:#17222bba; color:#f2f4f5; }
.homepage-imagery .home-scrutiny-panel .consequence-item { background:#17222bd9; border-color:#ffffff26; }
.homepage-imagery .home-scrutiny-panel .consequence-item p { color:#e5e9ec; }
.homepage-imagery .home-systems-panel { background:#15212b; }
.home-systems-panel > .home-section-photo { object-position:center; }
.homepage-imagery .home-systems-panel::before { background:linear-gradient(90deg,#101a25ee 0%,#101a25b8 46%,#101a2538 100%); }
.homepage-imagery .home-systems-panel .systems-heading { min-height:300px; align-items:end; }
.homepage-imagery .home-systems-panel h2,.homepage-imagery .home-systems-panel .eyebrow { color:#fff; }
.homepage-imagery .home-systems-panel .systems-note { color:#f2f4f5; background:#101a25bd; border:1px solid #ffffff24; box-shadow:none; }
.homepage-imagery .home-systems-panel .logo-marquee-item { background:#fffffff5; }
@media(max-width:1120px) {
 .homepage-imagery .home-photo-panel { padding:30px; }
}
@media(max-width:820px) {
 .homepage-imagery .home-capabilities-panel .home-services-intro { min-height:0; gap:22px; }
 .homepage-imagery .home-photo-panel { padding:28px; }
 .homepage-imagery .home-systems-panel .systems-heading { min-height:320px; }
 .homepage-imagery .home-scrutiny-panel .consequence-head { min-height:0; }
}
@media(max-width:560px) {
 .homepage-imagery .home-photo-panel { padding:24px 18px; border-radius:22px; }
 .homepage-imagery .home-capabilities-panel .service-card { padding:24px 20px; }
 .homepage-imagery .home-capabilities-panel .section-context,.homepage-imagery .home-systems-panel .systems-note,.homepage-imagery .home-scrutiny-panel .consequence-head > p:last-child { padding:0; background:none; border:0; }
 .homepage-imagery .home-photo-panel h2 { font-size:clamp(1.85rem,7.7vw,2.5rem); }
 .homepage-imagery .home-systems-panel::before { background:linear-gradient(180deg,#101a25a6,#101a25e8); }
 .homepage-imagery .home-systems-panel .systems-heading { min-height:0; gap:24px; }
 .homepage-imagery .home-scrutiny-panel .consequence-head { gap:22px; }
}

@media(max-width:560px) {
 .home-capabilities-panel > .home-section-photo { height:720px; object-position:center bottom; }
 .home-capabilities-panel::before { background:linear-gradient(180deg,#142129a6 0px,#142129ad 380px,#142129 700px); }
}

/* Business context photo, within the existing rounded brief. */
.homepage-imagery .hero-brief { position:relative; isolation:isolate; overflow:hidden; background:#1e232b; }
.home-brief-photo { position:absolute; inset:0; z-index:-2; width:100%; height:100%; object-fit:cover; object-position:center 78%; }
.homepage-imagery .hero-brief::before { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#211b26ed 0%,#211b26ce 44%,#211b2675 100%); }
.homepage-imagery .hero-brief > p { color:#f1edf0; }
.homepage-imagery .hero-brief .brief-item { background:#1d202ac9; border-color:#ffffff30; }
@media(max-width:820px) {
 .home-brief-photo { object-position:65% center; }
 .homepage-imagery .hero-brief::before { background:linear-gradient(180deg,#211b26d9,#211b26bc); }
}

/* Keep the construction photograph continuous across the rounded card. */
.homepage-imagery #industry-construction .home-sector-photo { width:100%; left:0; object-position:center 20%; }
.homepage-imagery #industry-construction::before { background:linear-gradient(90deg,#221d23f5 0%,#221d23de 29%,#221d2399 48%,#221d2320 78%); }
@media(max-width:700px) {
 .homepage-imagery #industry-construction .home-sector-photo { height:300px; object-position:center 30%; }
 .homepage-imagery #industry-construction::before { background:linear-gradient(180deg,#221d2320 0px,#221d2310 150px,#221d23 300px); }
 .homepage-imagery #industry-construction .industry-topline { margin-bottom:210px; }
}

@media(min-width:701px) and (max-width:900px) {
 .homepage-imagery #industry-construction::before { background:linear-gradient(90deg,#221d23ed,#221d23b8 65%,#221d2380); }
}
@media(max-width:700px) {
 .homepage-imagery #industry-construction .industry-tag { background:#221d2399; }
 .homepage-imagery #industry-construction::before { background:linear-gradient(180deg,#221d2366 0px,#221d2310 100px,#221d2310 150px,#221d23 300px); }
}
