/**
 * Britehouse — Production revision global imagery (final cascade)
 * Approved architectural photos only · asymmetrical bleed · type-secondary
 * Load after spacing-global.css · structure and copy unchanged
 *
 * IMAGE 1 — Diamond geometry · hero + final CTA
 * IMAGE 2 — Blue structural grid · systems / operating profile
 * IMAGE 3 — Reflective gold · transition bands
 * IMAGE 4 — Diagonal panels · About + Contact footer
 * IMAGE 5 — Large diamond panel · dark narrative sections
 */

/* -------------------------------------------------------------------------
   Deprecate stock / legacy photography
   ------------------------------------------------------------------------- */
.bh-env__photo,
img[src*="assets/home/"],
img[src*="unsplash"],
img[src*="pexels"],
img[src*="shutterstock"]{
  display:none!important;
}

/* -------------------------------------------------------------------------
   Shared asymmetrical photo layer — edge bleed · never centered
   ------------------------------------------------------------------------- */
[class*="hero-visual"] [class*="arch__crop"],
[class*="__visual"] [class*="arch__crop"],
.bh-arch__crop{
  background-color:var(--bh-bg-soft);
  background-repeat:no-repeat;
  background-size:cover;
}

[class*="hero-visual"] [class*="arch__crop"]::before,
.bh-arch--photo .bh-arch__crop::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background-repeat:no-repeat;
  background-size:cover;
  pointer-events:none;
}

[class*="hero-visual"] [class*="arch__mesh"],
[class*="hero-visual"] [class*="arch__facets"],
[class*="hero-visual"] [class*="arch__engineered"],
.bh-arch--photo .bh-arch__mesh,
.bh-arch--photo .bh-arch__facets,
.bh-arch--photo .bh-arch__engineered{
  opacity:0.08;
}

[class*="hero-visual"] [class*="arch__veil"],
[class*="hero-visual"] .bh-arch__veil,
.bh-arch--edge-right .bh-arch__veil{
  background:linear-gradient(
    90deg,
    var(--bh-bg) 0%,
    var(--bh-bg) 22%,
    rgba(255,255,255,0.55) 42%,
    rgba(255,255,255,0.08) 62%,
    transparent 88%
  );
  z-index:2;
}

[class*="hero-visual"] [class*="arch__crop"]{
  margin-right:calc(-1 * var(--bh-img-bleed));
  margin-left:auto;
  width:calc(100% + var(--bh-img-bleed));
  max-width:none;
  border-color:rgba(17,17,17,0.14);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.65);
}

/* IMAGE 1 — Diamond black/white · hero right bleed 20–30% overlap */
body.home .hero-visual .bh-arch__crop,
body.approach .ap-hero-visual .ap-arch__crop,
body.cpa-page .cpa-hero .cpa-arch__crop,
body.insights-page .ins-hero-visual .ins-arch__crop,
body.strategic-page .sr-hero-visual .sr-arch__crop,
body.about-page .ab-hero-visual .ab-arch__crop{
  background-image:var(--bh-img-1);
  background-position:78% 42%;
  background-size:132% auto;
}

/* IMAGE 2 — Blue structural grid · systems · 18–25% opacity */
body.cpa-page .cpa-effort-grid::before,
body.cpa-page .cpa-lens-block::before,
body.cpa-page .cpa-section.cpa-section--grid:not(.cpa-rel-section)::before,
body.cpa-page .cpa-modules-wrap::before,
body.cpa-page .cpa-transform::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:0;
  background-image:var(--bh-img-2);
  background-repeat:no-repeat;
  background-position:92% 38%;
  background-size:min(58%,720px) auto;
  opacity:var(--bh-img-blue-opacity);
  mask-image:linear-gradient(90deg,transparent 0%,black 38%,black 100%);
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,black 38%,black 100%);
}

body.home .pos-visual .bh-arch__crop{
  background-image:var(--bh-img-2);
  background-position:88% 36%;
  background-size:125% auto;
  opacity:1;
}

body.home .pos-visual .bh-arch__crop::before{
  display:none;
}

/* Reflective gold — homepage operating profile · far-right bleed */
body.home .op-profile-arch .bh-arch--gold .bh-arch__crop{
  background-image:var(--bh-img-3);
  background-repeat:no-repeat;
  background-position:84% 40%;
  background-size:cover;
  opacity:1;
}

body.home .op-profile-arch .bh-arch--gold{
  opacity:var(--bh-img-gold-opacity);
}

body.cpa-page .cpa-effort-grid,
body.cpa-page .cpa-lens-block,
body.cpa-page .cpa-section.cpa-section--grid:not(.cpa-rel-section),
body.cpa-page .cpa-modules-wrap,
body.cpa-page .cpa-transform{
  position:relative;
  overflow:hidden;
}

body.cpa-page .cpa-effort-grid .cpa-shell,
body.cpa-page .cpa-lens-block .cpa-shell,
body.cpa-page .cpa-section.cpa-section--grid:not(.cpa-rel-section) .cpa-shell,
body.cpa-page .cpa-modules-wrap .cpa-shell,
body.cpa-page .cpa-transform .cpa-shell{
  position:relative;
  z-index:1;
}

/* IMAGE 3 — Reflective gold · transition band · 12–18% */
body.insights-page .ins-observe::after,
body.cpa-page .cpa-fit-section::after{
  background:
    linear-gradient(
      178deg,
      transparent 0%,
      rgba(228,218,200,0.35) 12%,
      rgba(210,196,172,0.55) 36%,
      rgba(188,170,140,0.45) 52%,
      rgba(216,206,188,0.5) 72%,
      rgba(247,247,247,0.28) 88%,
      transparent 100%
    ),
    var(--bh-img-3);
  background-size:100% 100%,cover;
  background-position:center,center;
  filter:saturate(0.85) contrast(1.05);
  opacity:1;
  border-top-color:rgba(176,154,118,0.24);
  border-bottom-color:rgba(176,154,118,0.16);
}

body.home .final-section__texture{
  background:
    linear-gradient(100deg,rgba(10,10,10,0.72) 0%,rgba(10,10,10,0.38) 44%,transparent 74%),
    var(--bh-img-5);
  background-size:100% 100%,cover;
  background-position:center,72% 40%;
  opacity:var(--bh-img-dark-opacity);
  filter:none;
}

/* IMAGE 4 — Diagonal dual-panel · About · Contact footer */
body.about-page .ab-section--origin .ab-origin__visual .ab-arch__crop,
body.about-page .ab-section--doctrine .ab-doctrine__veil::after{
  background-image:var(--bh-img-4);
  background-repeat:no-repeat;
  background-size:cover;
  background-position:82% 36%;
}

body.about-page .ab-section--doctrine .ab-doctrine__veil::after{
  content:"";
  position:absolute;
  inset:0;
  opacity:0.14;
  pointer-events:none;
  filter:grayscale(1) contrast(1.08);
}

body.contact-page .bh-footer__texture{
  background:
    linear-gradient(180deg,var(--bh-footer-bg) 0%,rgba(90,88,84,0.92) 100%),
    var(--bh-img-4);
  background-size:100% 100%,cover;
  background-position:center,88% 28%;
  opacity:0.38;
}

/* IMAGE 5 — Large diamond panel · dark narrative sections */
body.approach .ap-anchor__texture::after,
body.insights-page .ins-anchor__texture::after,
body.strategic-page .sr-anchor-dark__texture::after,
body.about-page .ab-anchor-dark__texture::after,
body.cpa-page .cpa-anchor__texture{
  background:
    linear-gradient(118deg,transparent 46%,rgba(34,162,159,0.08) 46.4%,transparent 46.8%),
    var(--bh-img-5);
  background-size:100% 100%,cover;
  background-position:center,68% 32%;
  opacity:var(--bh-img-dark-opacity);
  filter:grayscale(0.15) contrast(1.12);
}

body.approach .ap-anchor__texture,
body.insights-page .ins-anchor__texture,
body.strategic-page .sr-anchor-dark__texture,
body.about-page .ab-anchor-dark__texture,
body.cpa-page .cpa-anchor__texture{
  opacity:0.88;
}

/* -------------------------------------------------------------------------
   Unified architectural figure — CSS fallback when no photo crop
   ------------------------------------------------------------------------- */
.bh-arch{
  display:block;
  margin:0;
  width:100%;
}

.bh-arch__crop{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  clip-path:polygon(0 9%,100% 0,100% 91%,0 100%);
}

.bh-arch__mesh{
  position:absolute;
  inset:0;
  opacity:0.42;
  background-image:
    repeating-linear-gradient(-24deg,transparent 0,transparent 21px,rgba(17,17,17,0.04) 21px,rgba(17,17,17,0.04) 22px),
    repeating-linear-gradient(90deg,rgba(17,17,17,0.03) 0,rgba(17,17,17,0.03) 1px,transparent 1px,transparent 40px);
  mix-blend-mode:multiply;
  pointer-events:none;
}

.bh-arch__engineered{
  position:absolute;
  inset:0;
  opacity:0.28;
  background-image:repeating-linear-gradient(0deg,transparent,transparent 6px,rgba(34,162,159,0.07) 6px,rgba(34,162,159,0.07) 7px);
  mask-image:linear-gradient(90deg,transparent 0%,black 36%,black 74%,transparent 100%);
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,black 36%,black 74%,transparent 100%);
  pointer-events:none;
}

.bh-arch__facet--3{
  background:linear-gradient(135deg,rgba(34,162,159,0.22) 0%,#2a2a2a 88%);
  border-color:rgba(34,162,159,0.32);
}

.bh-arch__datum{
  opacity:0.62;
}

.bh-arch--edge-right .bh-arch__crop{
  margin-right:calc(-1 * var(--bh-img-bleed));
  margin-left:auto;
}

.bh-arch--hero .bh-arch__crop{
  min-height:clamp(160px,22vw,280px);
}

/* -------------------------------------------------------------------------
   Remove centered standalone image blocks · SaaS card shadows on visuals
   ------------------------------------------------------------------------- */
body main figure[class*="arch"]:not([class*="hero-visual"]):not([class*="__visual"]){
  margin-left:0;
  margin-right:0;
  max-width:100%;
}

body main [class*="arch__crop"]{
  border-radius:0;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.55);
}

body main [class*="diag"],
body main [class*="sysmap"],
body main [class*="form-panel__frame"]{
  border-radius:0;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.92);
}

/* Section pseudo backgrounds — no full teal fills */
body.home .contrast-section--matrix::after,
body.home .system-section::before,
body.home .how-section::after{
  background:
    radial-gradient(ellipse 70% 55% at 100% 100%,rgba(34,162,159,0.06) 0%,transparent 58%),
    repeating-linear-gradient(-16deg,transparent 0,transparent 28px,rgba(17,17,17,0.03) 28px,rgba(17,17,17,0.03) 29px);
  opacity:0.55;
  filter:none;
}
