/* BSLR — homepage layout and scroll reveal. index.html only.
   Carries the layout for three bands with no existing component (proof strip,
   regional grid, practitioner statement) alongside the motion rules.
   Base state is the finished page; .rv-armed hides only when the script is
   present. Pairs with home.js. */

/* ---------------------------------------------------------- LAYOUT --- */

/* hero: the production line under the buttons */
.hero-note{
  margin-top:18px; font-size:14px; line-height:1.6; color:var(--muted); max-width:46ch;
}

/* proof strip: slim band, four items, no heading */
.proof-band{ padding:34px 0; border-top:1px solid var(--border); border-bottom:1px solid var(--border) }
.proof{
  list-style:none; margin:0; padding:0;
  display:grid; gap:18px 30px; grid-template-columns:repeat(4,1fr);
}
.proof li{ display:flex; gap:11px; align-items:flex-start }
.proof svg{ flex:none; margin-top:2px }
.proof span{ font-size:14.5px; line-height:1.55; color:var(--body) }

/* regional reality: four compact statements */
.reg-grid{
  display:grid; gap:18px; margin-top:40px;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
}
.reg{
  border:1px solid var(--border); border-radius:12px; background:#fff; padding:20px 22px;
}
.reg h4{
  font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  color:var(--brand); margin:0 0 9px;
}
.reg p{ font-size:14.5px; line-height:1.6; color:var(--muted); margin:0 }

/* practitioner: one centred statement, larger type, no cards */
.practitioner .wrap{ max-width:840px }
.practitioner p{
  font-size:21px; line-height:1.6; color:var(--ink); text-align:center; margin:0;
  font-weight:500;
}

@media (max-width:900px){
  .proof{ grid-template-columns:repeat(2,1fr) }
}
@media (max-width:640px){
  .proof-band{ padding:26px 0 }
  .proof{ grid-template-columns:1fr; gap:14px }
  .practitioner p{ font-size:18px; text-align:left }
  .hero-note{ max-width:none }
}

/* ---------------------------------------------------------- MOTION --- */
@media (prefers-reduced-motion:no-preference){

  @keyframes rvRise{
    from{ opacity:0; transform:translate3d(0,8px,0) }
    to  { opacity:1; transform:none }
  }

  .rv-armed{ opacity:0 }
  .rv-armed.rv-play{
    animation:rvRise .55s cubic-bezier(.22,.61,.36,1) both;
    animation-delay:calc(var(--rv,0) * 80ms);
  }
  /* the proof strip staggers a little wider than the card bands */
  .proof li.rv-armed.rv-play{ animation-delay:calc(var(--rv,0) * 120ms) }

  /* hover lift on module and pillar cards */
  .grid .card, .feat .fcard{
    transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
  }
  .grid .card:hover, .feat .fcard:hover{
    transform:translateY(-3px);
    box-shadow:0 14px 30px rgba(15,23,42,.10);
  }
}
