/* Homepage only. Centered messaging over the rotating store backdrop. */
.bravo-hm-wrap { font-family:Figtree,sans-serif; color:#252629; background:#fff; line-height:1.5; }
.bravo-hm-wrap *, .bravo-hm-wrap *::before, .bravo-hm-wrap *::after { box-sizing:border-box; }
.bravo-hm-hero { padding:32px 0; position:relative; isolation:isolate; background:#101820; }
.bravo-hm-bgstack { position:absolute; inset:0; z-index:-1; overflow:hidden; }
.bravo-hm-wrap .bravo-hm-bgstack img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.bravo-hm-bgscrim { position:absolute; inset:0; background:rgba(8,15,24,.76); }
.bravo-hm-hero .bravo-hm-headline,.bravo-hm-hero .bravo-hm-headline-accent,.bravo-hm-hero .bravo-hm-cta-secondary,.bravo-hm-hero .bravo-hm-proof strong { color:#fff; }
.bravo-hm-hero .bravo-hm-eyebrow,.bravo-hm-hero .bravo-hm-sub,.bravo-hm-hero .bravo-hm-cta-note,.bravo-hm-hero .bravo-hm-proof { color:#e4e7eb; }
.bravo-hm-hero .bravo-hm-stars { color:#f5b640; }
.bravo-hm-hero-container { width:100%; max-width:1440px; margin:auto; padding:0 40px; }
.bravo-hm-hero-inner { max-width:1200px; min-width:0; margin:auto; text-align:center; }
.bravo-hm-eyebrow { display:block; max-width:1000px; font-size:14px; font-weight:650; line-height:1.45; color:#595957; margin:0 auto 18px; }
.bravo-hm-headline { margin:0 0 18px; padding:0; color:#252629; }
.bravo-hm-headline-line { display:block; font-family:inherit; font-size:clamp(40px,3.75vw,58px); font-weight:750; line-height:1.04; letter-spacing:-.045em; }
.bravo-hm-headline-accent { color:#252629; }
.bravo-hm-sub { margin:0 auto; max-width:940px; color:#555651; font-size:18px; line-height:1.5; }
.bravo-hm-cta { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:14px 22px; margin-top:24px; }
.bravo-hm-cta a { font-family:inherit; font-size:15px; font-weight:700; }
.bravo-hm-cta-primary { display:inline-flex; align-items:center; justify-content:space-between; gap:24px; padding:14px 18px; background:#c8102e; color:#fff; text-decoration:none; border-radius:3px; }
.bravo-hm-cta-primary:hover { background:#a50d26; }
.bravo-hm-cta-secondary { color:#32332f; text-decoration:underline; text-underline-offset:5px; padding:10px 0; }
.bravo-hm-cta-secondary:hover { color:#c8102e; }
.bravo-hm-hero a:focus-visible { outline:2px solid #c8102e; outline-offset:5px; }
.bravo-hm-cta-note { max-width:760px; font-size:14px; line-height:1.45; color:#666661; margin:12px auto 0; }
.bravo-hm-proof { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:8px; font-size:14px; color:#585953; margin-top:18px; }
.bravo-hm-stars { color:#a70c27; letter-spacing:1px; }
.bravo-hm-proof strong { color:#30312d; font-weight:750; }
.bravo-hm-proof-src { color:inherit; text-underline-offset:3px; }
.bravo-hm-product { margin:0; min-width:0; }
.bravo-hm-wrap .bravo-hm-bgimg { display:block; width:100%; height:auto; }
.bravo-hm-product figcaption { margin-top:12px; padding-top:12px; border-top:1px solid #d5d5ce; color:#63645e; font-size:13px; line-height:1.4; }
.bravo-hm-product figcaption strong { color:#30312d; font-weight:700; }
@media(min-width:1024px) and (min-height:700px) {
  .bravo-hm-hero { min-height:calc(100svh - var(--home-top-height,215px) - var(--home-band-height,190px)); display:flex; align-items:center; padding:20px 0; }
}
@media(min-width:1024px) and (max-height:800px) {
  .bravo-hm-hero { padding:12px 0; }
  .bravo-hm-eyebrow { margin-bottom:12px; }
  .bravo-hm-headline { margin-bottom:12px; }
  .bravo-hm-cta { margin-top:18px; }
  .bravo-hm-proof { margin-top:12px; }
  .bravo-hm-product { max-width:430px; justify-self:center; }
}
@media(max-width:1023px) {
  .bravo-hm-hero-container { padding:0 28px; gap:24px; grid-template-columns:1.05fr 1fr; }
  .bravo-hm-headline-line { font-size:40px; }
}
@media(max-width:767px) {
  .bravo-hm-hero { padding:28px 0; }
  .bravo-hm-hero-container { padding:0 22px; grid-template-columns:1fr; gap:30px; }
  .bravo-hm-eyebrow { font-size:14px; margin-bottom:16px; }
  .bravo-hm-headline-line { font-size:clamp(38px,9.8vw,58px); }
  .bravo-hm-sub { font-size:17px; }
  .bravo-hm-cta { align-items:center; flex-direction:column; gap:6px; }
  .bravo-hm-product { width:100%; max-width:560px; margin:auto; }
}
