/* ---------- Hero ---------- */
.bf-hero .wp-block-cover__inner-container{max-width:680px;margin-inline:auto}
.bf-hero h1{margin:.4rem 0}

/* ---------- Promo hero (ACF block: bf/promo-hero) ---------- */
.bf-promo-hero{
  border-radius:var(--bf-radius);overflow:hidden;position:relative;
  box-shadow:0 24px 60px -30px rgba(8,36,15,.5)}
.bf-promo-hero--bg-mint{background:var(--bf-mint)}
.bf-promo-hero--bg-paper{background:linear-gradient(135deg,#F7FAF4 0%,#FFFFFF 100%)}
.bf-promo-hero--bg-graphite{background:var(--bf-graphite)}
.bf-promo-hero__grid{display:grid;grid-template-columns:54% 46%;align-items:stretch;min-height:470px}
.bf-promo-hero--image-left .bf-promo-hero__grid{grid-template-columns:46% 54%}
.bf-promo-hero--image-left .bf-promo-hero__media{order:-1}
.bf-promo-hero__content{padding:clamp(1.75rem,4vw,3.75rem);
  display:flex;flex-direction:column;justify-content:center;gap:1rem}
.bf-promo-hero__badge{display:inline-flex;align-items:center;gap:.4rem;width:fit-content;margin:0;
  background:#fff;border:1px solid var(--bf-hairline);border-radius:var(--bf-radius);
  padding:.45rem 1.05rem;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--bf-forest);box-shadow:0 10px 22px -14px rgba(8,36,15,.45)}
.bf-promo-hero__title{margin:0;color:var(--bf-graphite);font-family:var(--wp--preset--font-family--heading);
  font-size:clamp(2rem,1.4rem + 2.2vw,3.1rem);line-height:1.06;letter-spacing:-0.02em}
.bf-promo-hero__desc{margin:0;color:var(--bf-stone-deep);max-width:46ch;font-size:1.05rem;line-height:1.6}
.bf-promo-hero__actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.45rem}
.bf-promo-hero__trust{margin:.55rem 0 0;font-size:.8rem;color:var(--bf-stone-deep)}
.bf-promo-hero__media{display:flex;align-self:stretch;min-height:100%}
.bf-promo-hero__media img{width:100%;height:100%;object-fit:cover;object-position:50% 22%;display:block;min-height:360px}
.bf-promo-hero__placeholder{display:block;width:100%;min-height:360px;background:linear-gradient(135deg,#dfe6d6,#cfe0c0)}
.bf-promo-hero--bg-graphite .bf-promo-hero__title{color:#fff}
.bf-promo-hero--bg-graphite .bf-promo-hero__desc,
.bf-promo-hero--bg-graphite .bf-promo-hero__trust{color:#cdd6cf}
.bf-promo-hero--bg-graphite .bf-promo-hero__badge{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.22);color:#fff}

/* dark outline button (light backgrounds) */
.bf-btn--line{background:transparent;border:1.5px solid var(--bf-graphite);color:var(--bf-graphite)}
.bf-btn--line:hover{background:var(--bf-graphite);border-color:var(--bf-graphite);color:#fff}
.bf-promo-hero--bg-graphite .bf-btn--line{border-color:#fff;color:#fff}
.bf-promo-hero--bg-graphite .bf-btn--line:hover{background:#fff;color:var(--bf-graphite)}

@media (max-width:781px){
  .bf-promo-hero{border-radius:var(--bf-radius);margin-top:1rem}
  .bf-promo-hero__grid,.bf-promo-hero--image-left .bf-promo-hero__grid{grid-template-columns:1fr;min-height:0}
  .bf-promo-hero__media,.bf-promo-hero--image-left .bf-promo-hero__media{order:-1}
  .bf-promo-hero__content{padding:clamp(1.5rem,6vw,2.25rem);text-align:center;align-items:center}
  .bf-promo-hero__desc{margin-inline:auto}
  .bf-promo-hero__actions{justify-content:center}
  .bf-promo-hero__media img,.bf-promo-hero__placeholder{min-height:0;height:300px;object-position:50% 18%}
}

/* homepage: clear space above the promo hero — first-child top margins are reset by core layout, so use padding on <main> */
.home main.wp-block-group{padding-top:clamp(1.75rem,3.5vw,3rem)}
