/**
 * Homepage Phase 4 — authoritative editorial refinement
 * Scoped: body.home · load last on index.html only
 */

/* -------------------------------------------------------------------------
   Hero — 20% shorter · diamond geometry · right bleed · visible texture
   ------------------------------------------------------------------------- */
body.home .hero{
  min-height:min(400px,56vh);
}

body.home .hero-split{
  padding-top:clamp(21px,3.5vw,38px);
  padding-bottom:clamp(15px,2.7vw,26px);
  gap:clamp(var(--bh-space-4),3.2vw,var(--bh-space-5));
}

body.home .hero-visual{
  min-height:clamp(144px,19vw,240px);
}

body.home .hero-visual .bh-arch__crop{
  min-height:clamp(144px,19vw,240px);
}

body.home .hero-visual .bh-arch--diamond .bh-arch__mesh{
  opacity:0.72;
}

body.home .hero-visual .bh-arch--diamond .bh-arch__engineered{
  opacity:0.44;
}

body.home .hero-visual .bh-arch--diamond .bh-arch__reflect{
  opacity:0.85;
}

body.home .hero-visual .bh-arch--diamond .bh-arch__facet--1{
  width:50%;
  height:46%;
  top:6%;
  right:-9%;
  clip-path:polygon(50% 0%,100% 36%,86% 100%,14% 100%,0% 36%);
  background:linear-gradient(148deg,#eceae6 0%,#5c5956 100%);
}

body.home .hero-visual .bh-arch--diamond .bh-arch__facet--2{
  width:40%;
  height:40%;
  bottom:10%;
  left:-8%;
  clip-path:polygon(50% 0%,100% 50%,50% 100%,0% 50%);
  background:linear-gradient(22deg,#d4d0ca 0%,#7a7772 100%);
}

body.home .hero-visual .bh-arch--diamond .bh-arch__facet--3{
  width:38%;
  height:38%;
  top:30%;
  left:26%;
  clip-path:polygon(50% 0%,100% 50%,50% 100%,0% 50%);
  background:linear-gradient(135deg,rgba(34,162,159,0.38) 0%,#353533 90%);
  border-color:rgba(34,162,159,0.42);
}

body.home .hero-visual .bh-arch--diamond .bh-arch__veil{
  background:linear-gradient(
    90deg,
    var(--bh-bg) 0%,
    var(--bh-bg) 22%,
    rgba(255,255,255,0.62) 44%,
    rgba(255,255,255,0.12) 62%,
    transparent 86%
  );
}

body.home .hero-sub{
  margin-bottom:clamp(var(--bh-space-4),2.8vw,var(--bh-space-5));
}

body.home .hero-sub-block{
  margin-bottom:clamp(var(--bh-space-3),1.8vw,var(--bh-space-4));
}

body.home .hero-sub-block p + p{
  margin-top:0.35em;
}

body.home .hero-pills{
  margin-top:clamp(var(--bh-space-4),2.5vw,var(--bh-space-5));
  margin-bottom:clamp(var(--bh-space-3),2vw,var(--bh-space-4));
}

body.home .hero-system-label{
  margin-top:clamp(var(--bh-space-4),2.8vw,var(--bh-space-5));
}

body.home .hero-trace{
  padding:var(--bh-space-2) 0 var(--bh-space-3);
}

/* -------------------------------------------------------------------------
   Problem — thin teal rule · compressed paragraph rhythm
   ------------------------------------------------------------------------- */
body.home .problem-copy{
  padding-left:clamp(var(--bh-space-4),2.4vw,var(--bh-space-5));
  border-left:1px solid rgba(34,162,159,0.62);
}

body.home .problem-copy>h2{
  margin-bottom:clamp(var(--bh-space-4),2.4vw,var(--bh-space-5));
}

body.home .problem-copy .body-text{
  margin-bottom:clamp(var(--bh-space-2),1.4vw,var(--bh-space-3));
}

body.home .problem-standout{
  margin:clamp(var(--bh-space-4),2.8vw,var(--bh-space-5)) 0;
  padding:clamp(var(--bh-space-4),2.4vw,var(--bh-space-5)) 0 clamp(var(--bh-space-4),2.4vw,var(--bh-space-5)) var(--bh-space-4);
}

body.home .problem-points li{
  margin-bottom:clamp(8px,1.4vw,12px);
}

/* -------------------------------------------------------------------------
   Position — blue structural geometry · ~20% · 25% section compression
   ------------------------------------------------------------------------- */
body.home .pos-section{
  padding-top:clamp(calc(var(--bh-space-3) + 2px),2.9vw,calc(var(--bh-unit) * 9));
  padding-bottom:clamp(calc(var(--bh-space-3) + 2px),2.9vw,calc(var(--bh-unit) * 9));
}

body.home .pos-layout{
  gap:clamp(var(--bh-space-3),2.8vw,var(--bh-space-4));
}

body.home .pos-section--lead-visual .pos-visual{
  min-height:clamp(105px,16.5vw,180px);
}

body.home .pos-visual .bh-arch__crop{
  min-height:clamp(105px,16.5vw,180px);
}

body.home .pos-visual .bh-arch--blue{
  opacity:0.2;
}

body.home .pos-visual .bh-arch--blue .bh-arch__engineered{
  opacity:1;
  background-image:
    repeating-linear-gradient(0deg, transparent, transparent 5px, rgba(34,162,159,0.22) 5px, rgba(34,162,159,0.22) 6px),
    repeating-linear-gradient(90deg, transparent, transparent 28px, rgba(34,162,159,0.12) 28px, rgba(34,162,159,0.12) 29px);
}

body.home .pos-visual .bh-arch--blue .bh-arch__facet--3{
  background:linear-gradient(135deg,rgba(34,162,159,0.55) 0%,#2a4040 88%);
}

body.home .pos-section .body-text{
  margin-bottom:clamp(var(--bh-space-2),1.6vw,var(--bh-space-3));
}

body.home .pos-section .accent-text{
  margin-top:clamp(var(--bh-space-4),2.8vw,var(--bh-space-5));
}

body.home .pos-cta{
  margin-top:clamp(20px,2.8vw,28px);
}

/* -------------------------------------------------------------------------
   Financial Performance System — flat editorial · teal rule · tighter
   ------------------------------------------------------------------------- */
body.home .system-section{
  padding-top:clamp(calc(var(--bh-space-3) + 2px),3.2vw,calc(var(--bh-unit) * 10));
  padding-bottom:clamp(calc(var(--bh-space-3) + 2px),3.2vw,calc(var(--bh-unit) * 10));
}

body.home .system-layout{
  grid-template-columns:minmax(0,1fr);
  gap:clamp(var(--bh-space-2),1.9vw,var(--bh-space-3));
}

body.home .system-section .system-band{
  display:none;
}

body.home .system-stack{
  grid-column:1;
  gap:clamp(var(--bh-space-3),2.4vw,var(--bh-space-4));
}

body.home .system-copy::before{
  width:clamp(64px,8vw,96px);
  height:1px;
  background:rgba(34,162,159,0.55);
}

body.home .system-copy .eyebrow{
  margin-top:var(--bh-space-3);
  margin-bottom:clamp(var(--bh-space-3),2vw,var(--bh-space-4));
}

body.home .system-copy .statement-heading{
  margin-bottom:clamp(var(--bh-space-3),2vw,var(--bh-space-4));
}

body.home .system-intro{
  margin-bottom:clamp(var(--bh-space-3),2vw,var(--bh-space-4));
}

body.home .system-standout{
  margin-top:clamp(var(--bh-space-3),2.2vw,var(--bh-space-4));
  padding:clamp(var(--bh-space-3),2vw,var(--bh-space-4)) 0 clamp(var(--bh-space-3),2vw,var(--bh-space-4)) var(--bh-space-3);
}

body.home .system-diagram__flow{
  gap:clamp(var(--bh-space-2),1.6vw,var(--bh-space-3));
}

body.home .system-diagram__node,
body.home .system-diagram__core{
  padding:var(--bh-space-2) var(--bh-space-2) var(--bh-space-2) var(--bh-space-3);
}

/* -------------------------------------------------------------------------
   Comparison — tighter editorial two-column (no card mass)
   ------------------------------------------------------------------------- */
body.home .contrast-section{
  padding-top:clamp(calc(var(--bh-space-4) + 2px),4vw,calc(var(--bh-unit) * 11));
  padding-bottom:clamp(calc(var(--bh-space-4) + 2px),4vw,calc(var(--bh-unit) * 11));
}

body.home .contrast-header{
  margin-bottom:clamp(var(--bh-space-3),2.4vw,var(--bh-space-4));
}

body.home .contrast-flow{
  gap:clamp(var(--bh-space-4),3.2vw,var(--bh-space-5));
  padding-top:var(--bh-space-1);
}

body.home .contrast-flow > div:first-child{
  padding-right:clamp(var(--bh-space-5),3.5vw,var(--bh-space-6));
}

body.home .contrast-flow > div:last-child{
  padding-left:clamp(var(--bh-space-4),2.8vw,var(--bh-space-5));
}

body.home .ct-head{
  margin-bottom:clamp(10px,1.4vw,14px);
  padding-bottom:clamp(6px,1vw,10px);
}

body.home .ct-item{
  padding:clamp(4px,0.8vw,8px) 0;
  line-height:1.52;
  border-bottom:var(--bh-hairline) solid rgba(17,17,17,0.035);
}

/* -------------------------------------------------------------------------
   Operating profile — reflective gold · far-right bleed · ~15%
   ------------------------------------------------------------------------- */
body.home .op-profile-arch{
  margin-right:calc(-1 * clamp(28px,6vw,112px));
}

body.home .op-profile-arch .bh-arch__crop{
  margin-right:calc(-1 * clamp(36px,8vw,128px));
  width:calc(100% + clamp(48px,10vw,160px));
  min-height:clamp(160px,22vw,260px);
}

body.home .op-profile-arch .bh-arch--gold{
  opacity:0.15;
}

body.home .op-profile-arch .bh-arch--gold .bh-arch__facet--1{
  background:linear-gradient(198deg,#c9b896 0%,#7a6f58 100%);
}

body.home .op-profile-arch .bh-arch--gold .bh-arch__facet--2{
  background:linear-gradient(22deg,#ddd0b4 0%,#9a8d72 100%);
}

body.home .op-profile-arch .bh-arch--gold .bh-arch__facet--3{
  background:linear-gradient(135deg,rgba(201,184,150,0.55) 0%,#4a4438 88%);
  border-color:rgba(201,184,150,0.35);
}

body.home .op-profile-arch .bh-arch--gold .bh-arch__reflect{
  opacity:1;
  background:
    linear-gradient(128deg, transparent 36%, rgba(201,184,150,0.42) 44%, transparent 52%),
    linear-gradient(198deg, rgba(255,248,235,0.12) 0%, transparent 42%);
}

/* op-profile-body gap set in spacing refinement block below */

/* -------------------------------------------------------------------------
   Final CTA — charcoal · dark architectural texture · smaller button
   ------------------------------------------------------------------------- */
body.home .final-section{
  padding:clamp(calc(var(--bh-space-4) + 2px),4vw,calc(var(--bh-unit) * 11)) var(--space-section-x);
  background:
    radial-gradient(88% 75% at 6% 22%, rgba(34,162,159,0.08) 0%, transparent 54%),
    linear-gradient(168deg, #2A2826 0%, #32302E 42%, #3A3835 100%);
}

body.home .final-section__texture{
  opacity:0.62;
  background:
    linear-gradient(100deg, rgba(20,18,16,0.92) 0%, rgba(20,18,16,0.55) 40%, transparent 72%),
    radial-gradient(ellipse 58% 48% at 92% 38%, rgba(255,255,255,0.06) 0%, transparent 62%),
    repeating-linear-gradient(-14deg, transparent 0, transparent 30px, rgba(255,255,255,0.038) 30px, rgba(255,255,255,0.038) 31px),
    linear-gradient(90deg, rgba(34,162,159,0.05) 1px, transparent 1px);
  background-size:100% 100%,100% 100%,auto,48px 100%;
  filter:none;
}

body.home .btn-final-primary{
  padding:calc(var(--bh-cta-py) * 0.72) calc(var(--bh-cta-px) * 0.78);
  min-height:calc(var(--bh-cta-min) * 0.72);
  font-size:calc(var(--bh-text-sm) * 0.88);
  letter-spacing:0.04em;
  border:var(--bh-hairline) solid rgba(255,255,255,0.22);
}

body.home .final-layout{
  gap:clamp(var(--bh-space-4),3.6vw,var(--bh-space-5));
}

body.home .final-body{
  margin-top:clamp(var(--bh-space-3),2.2vw,var(--bh-space-4));
}

body.home .final-actions{
  gap:var(--bh-space-3);
}

/* -------------------------------------------------------------------------
   Spacing refinement — additional 20% · editorial flow
   ------------------------------------------------------------------------- */
body.home .statement-heading,
body.home .final-headline,
body.home .lens-break__statement,
body.home .op-profile-head{
  margin-bottom:clamp(var(--bh-space-3),2.2vw,var(--bh-space-4));
}

body.home .eyebrow,
body.home .hero-kicker,
body.home .op-profile-kicker,
body.home .lens-break__kicker,
body.home .final-kicker{
  margin-bottom:clamp(var(--bh-space-3),2vw,var(--bh-space-4));
}

body.home .body-text{
  margin-bottom:clamp(var(--bh-space-2),1.6vw,var(--bh-space-3));
}

body.home .problem-section.section{
  padding-top:var(--home-section-y-tight);
  padding-bottom:var(--home-section-y-tight);
}

body.home .problem-copy>h2{
  margin-bottom:clamp(var(--bh-space-3),1.9vw,var(--bh-space-4));
}

body.home .problem-standout{
  margin:clamp(var(--bh-space-3),2.2vw,var(--bh-space-4)) 0;
  padding:clamp(var(--bh-space-3),1.9vw,var(--bh-space-4)) 0 clamp(var(--bh-space-3),1.9vw,var(--bh-space-4)) var(--bh-space-3);
}

body.home .problem-section + .pos-section{
  padding-top:clamp(calc(var(--bh-space-3) + 2px),2.9vw,calc(var(--bh-unit) * 9));
}

body.home .how-section,
body.home .lens-section,
body.home .op-profile{
  padding-top:var(--home-section-y-tight);
  padding-bottom:var(--home-section-y-tight);
}

body.home .how-enterprise__head{
  margin-bottom:clamp(var(--bh-space-4),3.2vw,var(--bh-space-5));
}

body.home .how-enterprise__close{
  padding-top:clamp(var(--bh-space-4),3.2vw,var(--bh-space-5));
}

body.home .lens-break{
  padding:var(--home-section-y-tight) 0;
}

body.home .lens-continuation{
  padding:clamp(var(--bh-space-3),2.8vw,var(--bh-space-4)) var(--space-section-x);
}

body.home .lens-sub{
  margin:0;
}

body.home .op-profile-body{
  gap:clamp(13px,1.9vw,18px);
}

body.home .hero-title{
  margin-bottom:clamp(var(--bh-space-4),2.9vw,var(--bh-space-5));
}

body.home .hero-cta-row{
  margin-top:clamp(var(--bh-space-4),3.2vw,var(--bh-space-5));
  margin-bottom:clamp(var(--bh-space-4),2.8vw,var(--bh-space-5));
}

body.home .contrast-sub{
  margin-top:clamp(var(--bh-space-2),1.4vw,var(--bh-space-3));
}

body.home .system-copy .eyebrow{
  margin-top:var(--bh-space-2);
  margin-bottom:clamp(var(--bh-space-2),1.6vw,var(--bh-space-3));
}

body.home .system-copy .statement-heading{
  margin-bottom:clamp(var(--bh-space-2),1.6vw,var(--bh-space-3));
}

body.home .system-intro{
  margin-bottom:clamp(var(--bh-space-2),1.6vw,var(--bh-space-3));
}

body.home .system-standout{
  margin-top:clamp(var(--bh-space-2),1.8vw,var(--bh-space-3));
  padding:clamp(var(--bh-space-2),1.6vw,var(--bh-space-3)) 0 clamp(var(--bh-space-2),1.6vw,var(--bh-space-3)) var(--bh-space-3);
}

body.home .pos-cta{
  margin-top:clamp(16px,2.2vw,22px);
}

body.home .pos-section .accent-text{
  margin-top:clamp(var(--bh-space-3),2.2vw,var(--bh-space-4));
}

/* -------------------------------------------------------------------------
   Responsive
   ------------------------------------------------------------------------- */
@media (max-width:960px){
  body.home .hero{
    min-height:min(360px,52vh);
  }

  body.home .hero-visual,
  body.home .hero-visual .bh-arch__crop{
    min-height:clamp(128px,28vw,200px);
  }

  body.home .op-profile-arch{
    margin-right:calc(-1 * clamp(12px,4vw,32px));
  }

  body.home .op-profile-arch .bh-arch__crop{
    margin-right:calc(-1 * clamp(16px,5vw,48px));
    width:calc(100% + clamp(24px,6vw,64px));
  }
}
