/**
 * Homepage refinement pass — institutional editorial compression
 * Scoped: body.home · load after home.css
 */

/* -------------------------------------------------------------------------
   Global rhythm + typography authority
   ------------------------------------------------------------------------- */
body.home .section,
body.home .pos-section,
body.home .system-section,
body.home .how-section,
body.home .contrast-section,
body.home .op-profile,
body.home .lens-section,
body.home .final-section{
  padding-top:var(--home-section-y);
  padding-bottom:var(--home-section-y);
}

body.home .statement-heading,
body.home .final-headline,
body.home .lens-break__statement{
  font-size:var(--home-headline-size);
  letter-spacing:-0.034em;
  line-height:1.05;
  margin-bottom:clamp(var(--bh-space-4),2.8vw,var(--bh-space-5));
}

body.home .lens-break__statement--secondary{
  font-size:var(--home-body-size);
}

body.home .hero-title__line{
  font-size:var(--bh-type-hero-line);
}

body.home .hero-title__line--mass{
  font-size:var(--bh-type-hero-mass);
}

body.home .body-text,
body.home .problem-copy .body-text,
body.home .pos-section .body-text,
body.home .system-intro,
body.home .contrast-sub,
body.home .lens-sub,
body.home .final-body,
body.home .op-profile-body,
body.home .op-profile-body p,
body.home .how-enterprise__list li,
body.home .how-enterprise__close{
  font-size:var(--home-body-size);
  line-height:1.62;
}

body.home .hero-sub-block p{
  font-size:var(--home-body-size);
  line-height:1.62;
}

body.home .body-text{
  margin-bottom:clamp(var(--bh-space-3),2vw,var(--bh-space-4));
}

body.home .hero-main .btn-primary,
body.home .btn-final-primary{
  padding:calc(var(--bh-cta-py) * var(--home-btn-scale)) calc(var(--bh-cta-px) * var(--home-btn-scale));
  min-height:calc(var(--bh-cta-min) * var(--home-btn-scale));
  font-size:calc(var(--bh-text-sm) * 0.92);
  width:fit-content;
  max-width:80%;
}

body.home .btn-final-primary{
  min-height:calc((var(--bh-cta-min) + 6px) * var(--home-btn-scale));
  padding:calc((var(--bh-cta-py) + 4px) * var(--home-btn-scale)) calc((var(--bh-cta-px) + 10px) * var(--home-btn-scale));
}

/* -------------------------------------------------------------------------
   Hero — IMAGE 1 · right edge bleed · typography dominant
   ------------------------------------------------------------------------- */
body.home .hero-visual{
  overflow:visible;
  align-self:stretch;
  width:min(48vw,560px);
  margin-right:calc(-1 * clamp(36px,7vw,120px));
  margin-left:auto;
}

body.home .hero-visual .bh-arch__crop{
  margin-right:calc(-1 * (var(--home-env-bleed) + min(6vw,56px)));
  width:calc(100% + var(--home-env-bleed) + min(16vw,128px));
  max-width:none;
  min-height:clamp(180px,24vw,300px);
}

body.home .hero-visual .bh-arch--hero .bh-arch__crop{
  position:absolute;
  top:0;
  right:calc(-1 * (var(--home-env-bleed) + min(4vw,40px)));
  bottom:0;
  left:auto;
  width:calc(100% + var(--home-env-bleed) + min(18vw,140px));
}

body.home .hero-visual .bh-arch__veil{
  background:linear-gradient(
    90deg,
    var(--bh-bg) 0%,
    var(--bh-bg) 30%,
    rgba(255,255,255,0.84) 50%,
    rgba(255,255,255,0.22) 68%,
    transparent 88%
  );
}

body.home .hero-sub-block{
  margin-bottom:clamp(var(--bh-space-4),2.4vw,var(--bh-space-5));
}

body.home .hero-system-label{
  margin-top:clamp(var(--bh-space-5),4vw,var(--bh-space-6));
}

body.home .hero-cta-row{
  margin-bottom:clamp(var(--bh-space-5),3.5vw,var(--bh-space-6));
}

body.home .hero-title{
  margin-bottom:clamp(var(--bh-space-5),3.6vw,var(--bh-space-7));
}

/* -------------------------------------------------------------------------
   Problem — editorial only · teal divider · no image
   ------------------------------------------------------------------------- */
body.home .problem-section.section{
  padding-top:var(--home-section-y-tight);
  padding-bottom:var(--home-section-y-tight);
  padding-left:var(--space-section-x);
}

body.home .problem-layout__grid{
  grid-template-columns:minmax(0,1fr);
  gap:0;
}

body.home .problem-arch{
  display:none;
}

body.home .section-rail::before{
  display:none;
}

body.home .problem-copy{
  max-width:min(100%,40rem);
  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-5),3vw,var(--bh-space-6));
}

body.home .problem-standout{
  margin:clamp(var(--bh-space-5),4vw,var(--bh-space-6)) 0;
  padding:clamp(var(--bh-space-5),3vw,var(--bh-space-6)) 0 clamp(var(--bh-space-5),3vw,var(--bh-space-6)) var(--bh-space-5);
}

body.home .problem-points li{
  margin-bottom:clamp(12px,2vw,16px);
}

/* -------------------------------------------------------------------------
   Position — IMAGE 2 · right texture · 20% opacity
   ------------------------------------------------------------------------- */
body.home .pos-section{
  padding-top:var(--home-section-y-tight);
  padding-bottom:var(--home-section-y-tight);
  position:relative;
  overflow:hidden;
}

body.home .pos-layout{
  grid-template-columns:minmax(0,1fr) minmax(120px,26vw);
  gap:clamp(var(--bh-space-6),5vw,var(--bh-space-8));
  align-items:center;
}

body.home .pos-section--lead-visual .pos-visual{
  margin-top:0;
  grid-column:2;
  grid-row:1;
  align-self:stretch;
  min-height:clamp(140px,22vw,240px);
  margin-right:calc(-1 * clamp(28px,5vw,88px));
  overflow:visible;
}

body.home .pos-section--lead-visual .pos-visual::before{
  display:none;
}

body.home .pos-copy{
  grid-column:1;
  grid-row:1;
  padding-top:0;
  position:relative;
  z-index:2;
}

body.home .pos-visual .bh-arch__crop{
  margin-right:calc(-1 * var(--home-env-bleed));
  width:calc(100% + var(--home-env-bleed) + min(8vw,64px));
  max-width:none;
  min-height:clamp(140px,22vw,240px);
}

body.home .pos-visual .bh-arch--blue .bh-arch__mesh{
  opacity:0.75;
}

body.home .pos-visual .bh-arch__veil{
  background:linear-gradient(
    90deg,
    var(--bh-bg) 0%,
    rgba(255,255,255,0.72) 52%,
    rgba(255,255,255,0.28) 68%,
    transparent 92%
  );
}

body.home .pos-section .accent-text{
  margin-top:clamp(var(--bh-space-5),3.5vw,var(--bh-space-6));
}

body.home .pos-cta{
  margin-top:clamp(28px,4vw,36px);
}

/* -------------------------------------------------------------------------
   System — tighter · teal rule · subtle IMAGE 2
   ------------------------------------------------------------------------- */
body.home .system-section{
  padding-top:var(--home-section-y-tight);
  padding-bottom:var(--home-section-y-tight);
}

body.home .system-section::before{
  opacity:0.68;
  width:min(18vw,200px);
}

body.home .system-stack{
  gap:clamp(var(--bh-space-5),4vw,var(--bh-space-6));
}

body.home .system-layout{
  gap:clamp(var(--bh-space-4),3vw,var(--bh-space-5));
}

body.home .system-section .system-band::after{
  height:clamp(56px,12vw,96px);
  margin-top:var(--bh-space-4);
}

body.home .system-diagram{
  border:none;
  background:transparent;
  padding:0;
}

body.home .system-diagram::before{
  display:none;
}

body.home .system-diagram__rule{
  margin-bottom:var(--bh-space-4);
  padding-bottom:var(--bh-space-3);
  border-bottom:var(--bh-hairline) solid var(--home-line);
}

body.home .system-diagram__flow{
  gap:clamp(var(--bh-space-3),2vw,var(--bh-space-4));
}

body.home .system-diagram__node,
body.home .system-diagram__core{
  border:none;
  border-left:var(--bh-hairline) solid var(--home-line-strong);
  background:transparent;
  box-shadow:none;
  padding:var(--bh-space-3) var(--bh-space-3) var(--bh-space-3) var(--bh-space-4);
  gap:var(--bh-space-2);
}

body.home .system-diagram__core{
  background:transparent;
  border-left-color:rgba(34,162,159,0.45);
}

body.home .system-diagram__slots span{
  padding:2px 6px;
  border:none;
  background:transparent;
  color:var(--bh-text-subtle);
}

body.home .system-standout{
  margin-top:clamp(20px,2.8vw,28px);
  padding:clamp(var(--bh-space-4),2.5vw,var(--bh-space-5)) 0 clamp(var(--bh-space-4),2.5vw,var(--bh-space-5)) var(--bh-space-4);
}

body.home .system-copy{
  position:relative;
  padding-top:var(--bh-space-3);
}

body.home .system-copy::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:clamp(72px,10vw,120px);
  height:2px;
  background:var(--bh-accent);
}

body.home .system-copy .eyebrow{
  margin-top:var(--bh-space-4);
}

body.home .system-intro{
  margin-bottom:clamp(var(--bh-space-4),2.4vw,var(--bh-space-5));
}

/* -------------------------------------------------------------------------
   How + Lens — compressed editorial
   ------------------------------------------------------------------------- */
body.home .how-section{
  padding-top:var(--home-section-y-tight);
  padding-bottom:var(--home-section-y-tight);
}

body.home .how-section::after{
  display:none;
}

body.home .how-enterprise__head{
  margin-bottom:clamp(var(--bh-space-5),4vw,var(--bh-space-6));
}

body.home .how-enterprise__close{
  padding-top:clamp(var(--bh-space-5),4vw,var(--bh-space-6));
}

body.home .lens-break{
  padding:var(--home-section-y-tight) 0;
}

body.home .lens-continuation{
  padding:var(--home-section-y-tight) var(--space-section-x);
}

body.home .lens-break__inner{
  grid-template-columns:minmax(0,1fr);
  gap:0;
}

body.home .lens-break__arch{
  display:none;
}

/* -------------------------------------------------------------------------
   Comparison — flat editorial two-column
   ------------------------------------------------------------------------- */
body.home .contrast-section--matrix::after,
body.home .contrast-section--matrix::before{
  display:none;
}

body.home .contrast-header{
  margin-bottom:clamp(var(--bh-space-5),4vw,var(--bh-space-6));
}

body.home .contrast-header .statement-heading{
  max-width:min(100%,22rem);
}

body.home .contrast-sub{
  color:var(--bh-text-secondary);
  max-width:min(100%,36rem);
}

body.home .contrast-flow{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(var(--bh-space-6),5vw,var(--bh-space-8));
  align-items:start;
  padding-top:var(--bh-space-3);
}

body.home .contrast-flow > div:first-child{
  grid-column:1;
  grid-row:1;
  padding-right:clamp(var(--bh-space-6),4vw,var(--bh-space-8));
  border-right:var(--bh-hairline) solid var(--home-line-strong);
}

body.home .contrast-flow > div:first-child .ct-head{
  color:rgba(17,17,17,0.52);
}

body.home .contrast-flow > div:first-child .ct-item{
  color:rgba(74,74,74,0.82);
}

body.home .contrast-flow > div:last-child{
  grid-column:2;
  grid-row:1;
  padding-left:clamp(var(--bh-space-5),3vw,var(--bh-space-6));
}

body.home .contrast-flow > div:last-child .ct-head{
  color:var(--bh-ink);
  letter-spacing:0.11em;
  border-bottom-color:rgba(34,162,159,0.35);
}

body.home .contrast-flow::before{
  display:none;
}

body.home .ct-head{
  margin-bottom:clamp(12px,1.8vw,16px);
  padding-bottom:clamp(8px,1.2vw,12px);
  border-bottom:var(--bh-hairline) solid var(--home-line);
  font-size:11px;
  letter-spacing:0.1em;
}

body.home .ct-item{
  font-size:var(--home-body-size);
  line-height:1.58;
  color:var(--bh-text-secondary);
  padding:clamp(6px,1vw,10px) 0;
  border-bottom:var(--bh-hairline) solid rgba(17,17,17,0.04);
  background:none;
  border-radius:0;
  box-shadow:none;
}

body.home .contrast-flow > div:last-child .ct-item{
  color:var(--bh-ink);
  font-weight:500;
}

body.home .ct-head::after{
  display:none;
}

body.home .accent-text,
body.home .problem-standout p{
  font-size:var(--home-body-size);
  line-height:1.62;
}

body.home .hero-trace{
  padding:var(--bh-space-4) 0 var(--bh-space-5);
}

body.home .op-profile{
  padding-top:var(--home-section-y-tight);
  padding-bottom:var(--home-section-y-tight);
}

body.home .op-profile-arch{
  margin-top:0;
  margin-right:calc(-1 * clamp(16px,3vw,48px));
  overflow:visible;
}

body.home .op-profile-arch .bh-arch__crop{
  margin-right:calc(-1 * var(--home-env-bleed));
  width:calc(100% + var(--home-env-bleed) + min(6vw,48px));
  max-width:none;
}

body.home .op-profile-body{
  gap:clamp(20px,3vw,28px);
}

/* -------------------------------------------------------------------------
   Final CTA — IMAGE 1 · 10–15% · charcoal depth
   ------------------------------------------------------------------------- */
body.home .final-section{
  padding:var(--home-section-y-tight) var(--space-section-x);
  background:
    radial-gradient(88% 75% at 6% 22%, rgba(34,162,159,0.1) 0%, transparent 54%),
    linear-gradient(168deg, #3A3835 0%, #454340 40%, #4E4B48 100%);
}

body.home .final-section__texture{
  opacity:var(--home-final-env-opacity);
  mask-image:linear-gradient(90deg, transparent 0%, rgba(0,0,0,0.4) 32%, black 58%, black 82%, transparent 100%);
  -webkit-mask-image:linear-gradient(90deg, transparent 0%, rgba(0,0,0,0.4) 32%, black 58%, black 82%, transparent 100%);
}

body.home .final-headline{
  font-size:var(--home-headline-size);
}

body.home .final-body{
  margin-top:clamp(var(--bh-space-5),3.5vw,var(--bh-space-6));
}

body.home .final-layout{
  gap:clamp(var(--bh-space-6),6vw,var(--bh-space-8));
}

/* -------------------------------------------------------------------------
   Responsive
   ------------------------------------------------------------------------- */
@media (max-width:960px){
  body.home .hero-visual{
    width:100%;
    margin-right:0;
    min-height:clamp(160px,36vw,240px);
  }

  body.home .hero-visual .bh-arch--hero .bh-arch__crop{
    position:relative;
    right:0;
    width:100%;
  }

  body.home .pos-layout{
    grid-template-columns:1fr;
  }

  body.home .pos-section--lead-visual .pos-visual{
    grid-column:1;
    grid-row:1;
    order:-1;
    margin-right:0;
    max-height:200px;
    overflow:hidden;
  }

  body.home .pos-copy{
    grid-row:2;
  }

  body.home .contrast-flow{
    grid-template-columns:1fr;
  }

  body.home .contrast-flow > div:first-child{
    grid-row:1;
    border-right:none;
    padding-right:0;
    border-bottom:var(--bh-hairline) solid var(--home-line);
    padding-bottom:var(--bh-space-5);
    margin-bottom:var(--bh-space-4);
  }

  body.home .contrast-flow > div:last-child{
    grid-column:1;
    grid-row:2;
    padding-left:0;
  }

  body.home .op-profile-arch{
    max-height:160px;
    overflow:hidden;
    margin-right:0;
  }
}

@media (max-width:768px){
  body.home .hero-main .btn-primary,
  body.home .btn-final-primary{
    max-width:100%;
  }
}
