/* ==========================================================
   BVIS v8 — Unified body/content alignment system
   Fixes the mismatched 880px centered prose vs 1360px cards.
   ========================================================== */
:root{
  --bvis-page-wide:1320px;
  --bvis-page-prose:920px;
  --bvis-page-gutter:clamp(20px,4vw,56px);
  --bvis-body-ink:#34464b;
}

/* The page hero and the content body now use the same wide rail. */
.bvis-page-hero .wp-block-cover__inner-container,
.bvis-home-hero .wp-block-cover__inner-container{
  width:100%;
}
.bvis-page-hero .alignwide,
.bvis-home-hero .alignwide{
  width:min(100%,var(--bvis-page-wide))!important;
  max-width:var(--bvis-page-wide)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:var(--bvis-page-gutter)!important;
  padding-right:var(--bvis-page-gutter)!important;
  box-sizing:border-box!important;
}

/* Main body shell */
.bvis-section{
  padding-left:var(--bvis-page-gutter)!important;
  padding-right:var(--bvis-page-gutter)!important;
}
.bvis-section>.wp-block-post-content{
  width:min(100%,var(--bvis-page-wide))!important;
  max-width:var(--bvis-page-wide)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}

/* Prose is readable, but anchored to the SAME LEFT EDGE as the hero/cards. */
.bvis-section>.wp-block-post-content>p,
.bvis-section>.wp-block-post-content>ul,
.bvis-section>.wp-block-post-content>ol,
.bvis-section>.wp-block-post-content>blockquote,
.bvis-section>.wp-block-post-content>h2,
.bvis-section>.wp-block-post-content>h3,
.bvis-section>.wp-block-post-content>h4{
  width:min(100%,var(--bvis-page-prose))!important;
  max-width:var(--bvis-page-prose)!important;
  margin-left:0!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}
.bvis-section>.wp-block-post-content>p,
.bvis-section>.wp-block-post-content>ul,
.bvis-section>.wp-block-post-content>ol{
  color:var(--bvis-body-ink);
  font-size:1.025rem;
  line-height:1.74;
}
.bvis-section>.wp-block-post-content>.bvis-lead{
  width:min(100%,1040px)!important;
  max-width:1040px!important;
  color:#263b40;
  font-size:clamp(1.15rem,1.4vw,1.34rem)!important;
  line-height:1.62!important;
  margin-top:0!important;
}
.bvis-section>.wp-block-post-content>h2{
  margin-top:2.75rem!important;
  margin-bottom:.8rem!important;
}
.bvis-section>.wp-block-post-content>h3{
  margin-top:2rem!important;
  margin-bottom:.6rem!important;
}

/* Wide blocks use the full shared rail, not a separate center line. */
.bvis-section>.wp-block-post-content>.alignwide,
.bvis-section>.wp-block-post-content>.wp-block-columns,
.bvis-section>.wp-block-post-content>.bvis-feature-grid,
.bvis-section>.wp-block-post-content>.bvis-about-nav,
.bvis-section>.wp-block-post-content>.bvis-about-intro,
.bvis-section>.wp-block-post-content>.bvis-about-proof,
.bvis-section>.wp-block-post-content>.bvis-resource-list,
.bvis-section>.wp-block-post-content>.bvis-registration,
.bvis-section>.wp-block-post-content>.bvis-event-details,
.bvis-section>.wp-block-post-content>.bvis-committee-overview,
.bvis-section>.wp-block-post-content>.bvis-team-directory,
.bvis-section>.wp-block-post-content>.bvis-governance-grid,
.bvis-section>.wp-block-post-content>.wp-block-group.has-background{
  width:100%!important;
  max-width:var(--bvis-page-wide)!important;
  margin-left:0!important;
  margin-right:0!important;
  box-sizing:border-box!important;
}

/* About intro */
.bvis-about-intro{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);
  gap:34px;
  align-items:start;
  margin:0 0 2.6rem!important;
}
.bvis-about-intro__copy{
  max-width:820px;
}
.bvis-about-intro__eyebrow{
  margin:0 0 .6rem!important;
  color:#f36d21!important;
  font-size:.8rem!important;
  line-height:1.2!important;
  letter-spacing:.13em;
  text-transform:uppercase;
  font-weight:800;
}
.bvis-about-intro__copy h2{
  margin:.1rem 0 .85rem!important;
  color:#075e47;
  font-size:clamp(2rem,3vw,3rem);
}
.bvis-about-intro__copy p{
  margin:.75rem 0!important;
  color:var(--bvis-body-ink);
  font-size:1.06rem;
  line-height:1.75;
}
.bvis-about-facts{
  position:relative;
  padding:25px 26px 24px;
  border:1px solid #dce7e2;
  border-radius:14px;
  background:linear-gradient(145deg,#f8fbf9,#fff);
  box-shadow:0 10px 30px rgba(9,76,58,.06);
}
.bvis-about-facts:before{
  content:"";
  position:absolute;
  top:0;left:0;right:0;height:4px;
  border-radius:14px 14px 0 0;
  background:linear-gradient(90deg,#075e47,#0f7c7b,#f36d21);
}
.bvis-about-facts h3{
  margin:0 0 1rem!important;
  color:#113f65;
}
.bvis-about-facts dl{margin:0}
.bvis-about-facts dt{
  margin-top:.9rem;color:#60716e;font-size:.74rem;font-weight:800;
  text-transform:uppercase;letter-spacing:.08em;
}
.bvis-about-facts dd{
  margin:.14rem 0 0;color:#26373c;font-size:.98rem;font-weight:650;line-height:1.45;
}

/* Mission / proof cards */
.bvis-about-proof{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin:1.5rem 0 2.75rem!important;
}
.bvis-about-proof__card{
  padding:24px;
  border:1px solid #e0e8e4;
  border-radius:13px;
  background:#fff;
  box-shadow:0 8px 26px rgba(10,76,58,.05);
}
.bvis-about-proof__card h3{
  margin:.3rem 0 .55rem!important;
  color:#113f65;
}
.bvis-about-proof__card p{
  margin:0!important;
  color:#526468;
  line-height:1.65;
}
.bvis-about-proof__card img{
  width:54px!important;height:54px!important;object-fit:contain;
}

/* Normalise raw content and WP block spacing immediately after the hero. */
.bvis-section>.wp-block-post-content>*:first-child{margin-top:0!important}
.bvis-section>.wp-block-post-content>*:last-child{margin-bottom:0!important}
.bvis-section>.wp-block-post-content>.wp-block-columns{gap:clamp(18px,2vw,30px)!important}
.bvis-section>.wp-block-post-content .wp-block-column>p{
  line-height:1.65;
}

/* Tablet/mobile keeps one consistent edge. */
@media(max-width:980px){
  :root{--bvis-page-gutter:clamp(18px,3.5vw,34px)}
  .bvis-about-intro{grid-template-columns:1fr;gap:20px}
  .bvis-about-facts{max-width:720px}
  .bvis-about-proof{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
  :root{--bvis-page-gutter:18px}
  .bvis-page-hero .alignwide,.bvis-home-hero .alignwide{padding-left:18px!important;padding-right:18px!important}
  .bvis-section{padding-left:18px!important;padding-right:18px!important}
  .bvis-about-proof{grid-template-columns:1fr}
  .bvis-about-facts{padding:22px 20px}
}
