/* ==========================================================================
   BridgeWell homepage v2 — faithful Django port of the approved Nuvra-style
   reference (deep-navy ink · warm sand/cream surfaces · sage-moss + clay
   accents · full-bleed video hero · marquee · insights widget · light/dark).
   PREVIEW ONLY (/home-preview-v2/). EVERY selector is scoped under
   .bw-home-v2 so this can never affect global site styling and is fully
   reversible. Tokens are namespaced --bwv-* on the wrapper (never :root).
   Dark theme: html[data-bwv-theme="dark"] .bw-home-v2 (set by the toggle).
   ========================================================================== */

/* ---------- Non-theme scales / tokens (light defaults) ---------- */
.bw-home-v2 {
  --bwv-text-xs: clamp(0.75rem, 0.72rem + 0.15vw, 0.8125rem);
  --bwv-text-sm: clamp(0.875rem, 0.84rem + 0.2vw, 0.9375rem);
  --bwv-text-base: clamp(1rem, 0.97rem + 0.2vw, 1.0625rem);
  --bwv-text-lg: clamp(1.0625rem, 1rem + 0.4vw, 1.25rem);
  --bwv-text-xl: clamp(1.25rem, 1.1rem + 0.7vw, 1.625rem);
  --bwv-text-2xl: clamp(1.75rem, 1.4rem + 1.6vw, 2.75rem);
  --bwv-text-hero: clamp(2.4rem, 1.6rem + 4.2vw, 4.6rem);

  --bwv-space-1:.25rem; --bwv-space-2:.5rem;  --bwv-space-3:.75rem; --bwv-space-4:1rem;
  --bwv-space-5:1.25rem;--bwv-space-6:1.5rem; --bwv-space-8:2rem;   --bwv-space-10:2.5rem;
  --bwv-space-12:3rem;  --bwv-space-16:4rem;  --bwv-space-20:5rem;  --bwv-space-24:6rem;

  /* Official BridgeWell typography: Montserrat (brand standard), loaded via
     Google Fonts in the template — the same mechanism the site already uses
     for its type. Inter is the in-repo fallback. */
  --bwv-font-display:'Montserrat','Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  --bwv-font-body:'Montserrat','Inter',system-ui,-apple-system,'Segoe UI',sans-serif;

  --bwv-radius-sm:10px; --bwv-radius-md:16px; --bwv-radius-lg:24px;
  --bwv-radius-xl:34px; --bwv-radius-pill:999px;

  --bwv-shell:1180px;
  --bwv-ease:cubic-bezier(.22,.61,.36,1);

  /* Light — OFFICIAL BridgeWell palette (brand identity sheet):
     Deep Navy #001B4D · Bridge Blue #24A8F5 · Aqua Teal #19D2C5 ·
     Cool Gray #6E8192 · White #FFFFFF. The --*-strong / --*-ink variants
     are darkened for WCAG-AA contrast while staying in the brand family. */
  --bwv-ink:        #001B4D;   /* Deep Navy — headings + primary text */
  --bwv-ink-soft:   #33415c;
  --bwv-ink-muted:  #6E8192;   /* Cool Gray — captions / supporting text */
  --bwv-surface:    #ffffff;   /* White */
  --bwv-surface-2:  #f3f7fb;
  --bwv-surface-3:  #e9eff6;
  --bwv-card:       #ffffff;
  --bwv-line:       #dbe3ee;
  --bwv-line-strong:#c2cede;

  --bwv-accent:       #24A8F5; /* Bridge Blue */
  --bwv-accent-hover: #1893e6;
  --bwv-accent-strong:#0C74C6; /* accessible blue for small text / links */
  --bwv-accent-soft:  #e4f3fe;
  --bwv-accent-ink:   #001B4D; /* navy text on Bridge-Blue buttons (AA) */

  --bwv-moss:      #19D2C5;    /* Aqua Teal — dots, bars, fills, graphics */
  --bwv-moss-ink:  #0a857a;    /* accessible teal for small text */
  --bwv-moss-soft: #d7f6f2;
  --bwv-clay:      #6E8192;    /* Cool Gray — neutral "needs attention" */
  --bwv-clay-soft: #eaeef3;

  --bwv-deep:      #001B4D;    /* Deep Navy — hero / contrast / final CTA */
  --bwv-deep-2:    #062a63;
  --bwv-on-deep:   #ffffff;
  --bwv-on-deep-muted: #aebdd4;

  --bwv-shadow-sm:0 1px 2px rgba(0,27,77,.07), 0 2px 8px rgba(0,27,77,.06);
  --bwv-shadow-md:0 4px 14px rgba(0,27,77,.08), 0 18px 36px rgba(0,27,77,.10);
  --bwv-shadow-lg:0 10px 28px rgba(0,27,77,.12), 0 36px 70px rgba(0,27,77,.16);

  color:var(--bwv-ink);
  font-family:var(--bwv-font-body);
  font-size:var(--bwv-text-base);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}

/* ---------- Dark ---------- */
html[data-bwv-theme="dark"] .bw-home-v2 {
  /* Dark — Deep-Navy-based surfaces; Bridge Blue + Aqua Teal lifted for
     contrast on dark per the brand's dark-background guidance. */
  --bwv-ink:        #eaf1fb;
  --bwv-ink-soft:   #b9c6db;
  --bwv-ink-muted:  #8a9bb3;
  --bwv-surface:    #05132b;
  --bwv-surface-2:  #0a1e40;
  --bwv-surface-3:  #0f2750;
  --bwv-card:       #0c2247;
  --bwv-line:       #21345c;
  --bwv-line-strong:#324670;

  --bwv-accent:       #37b0f7;
  --bwv-accent-hover: #5ec0f9;
  --bwv-accent-strong:#8fd0fb;
  --bwv-accent-soft:  #0e2c50;
  --bwv-accent-ink:   #001126;

  --bwv-moss:      #2ee0d2;
  --bwv-moss-ink:  #7be9df;
  --bwv-moss-soft: #0c322f;
  --bwv-clay:      #8b9cb2;
  --bwv-clay-soft: #1a2842;

  --bwv-deep:      #030f24;
  --bwv-deep-2:    #071b3e;
  --bwv-on-deep:   #ffffff;
  --bwv-on-deep-muted: #aebdd4;

  --bwv-shadow-sm:0 1px 2px rgba(0,0,0,.4);
  --bwv-shadow-md:0 6px 18px rgba(0,0,0,.45);
  --bwv-shadow-lg:0 16px 44px rgba(0,0,0,.55);
}

/* Page background follows the scope on this preview */
body.bw-home-v2-body { background:#ffffff; }
html[data-bwv-theme="dark"] body.bw-home-v2-body { background:#05132b; }

/* Sticky-header offset: the shared .navbar is position:sticky (~68px), so
   in-page anchor jumps (e.g. "See How BridgeWell Works" → #bwv-how-it-works)
   must clear it. scroll-padding on the scroll root keeps targets from hiding
   under the header. (The hero itself is in normal flow below the sticky bar,
   so it is not covered on first paint.) */
.bw-home-v2 [id]{scroll-margin-top:88px}

/* ---------- Scoped reset ---------- */
.bw-home-v2 *,.bw-home-v2 *::before,.bw-home-v2 *::after{box-sizing:border-box}
.bw-home-v2 img,.bw-home-v2 video,.bw-home-v2 svg{display:block;max-width:100%}
.bw-home-v2 h1,.bw-home-v2 h2,.bw-home-v2 h3,.bw-home-v2 h4{
  font-family:var(--bwv-font-display);line-height:1.08;letter-spacing:-.022em;margin:0;font-weight:700;color:var(--bwv-ink);
}
/* Section-level headings must stay theme-aware. The sitewide rule
   `body.bw-v2-theme h2 { color: var(--bw-navy) }` (specificity 0,1,2) was
   winning over `.bw-home-v2 h2` (0,1,1) and pinning every section heading to
   Deep Navy — invisible on the dark body in dark mode. Re-assert --bwv-ink
   (navy in light, light in dark) at higher specificity for headings that sit
   on the theme-aware section surface. Card headings keep their inline navy
   (they sit on white cards); the always-navy contrast/CTA headings are
   untouched (they set #fff inline / use .contrast-title). */
body.bw-v2-theme .bw-home-v2 .section-header h2,
body.bw-v2-theme .bw-home-v2 .section-head h2,
body.bw-v2-theme .bw-home-v2 .band-title{color:var(--bwv-ink)}
.bw-home-v2 p{margin:0}
.bw-home-v2 ul{margin:0;padding:0;list-style:none}
.bw-home-v2 a{color:inherit;text-decoration:none}
.bw-home-v2 button{font:inherit;color:inherit}

.bw-home-v2 :where(a,button,[tabindex]):focus-visible{
  outline:2.5px solid var(--bwv-accent);outline-offset:3px;border-radius:6px;
}

.bw-home-v2 .shell{width:100%;max-width:var(--bwv-shell);margin-inline:auto;padding-inline:clamp(1.15rem,4vw,2.5rem)}

/* ---------- Reveal ---------- */
.bw-home-v2 .reveal{opacity:0;transform:translateY(20px);transition:opacity .7s var(--bwv-ease),transform .7s var(--bwv-ease)}
.bw-home-v2 .reveal.is-in{opacity:1;transform:none}

/* ---------- Buttons ---------- */
.bw-home-v2 .btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  font-family:var(--bwv-font-display);font-weight:700;font-size:var(--bwv-text-sm);
  padding:.82rem 1.5rem;border-radius:var(--bwv-radius-pill);border:1.5px solid transparent;
  cursor:pointer;transition:transform .2s var(--bwv-ease),background .2s var(--bwv-ease),box-shadow .25s var(--bwv-ease),color .2s;
  letter-spacing:-.01em;white-space:nowrap;text-decoration:none;
}
.bw-home-v2 .btn:hover{transform:translateY(-2px)}
.bw-home-v2 .btn-lg{padding:1.02rem 1.9rem;font-size:var(--bwv-text-base)}
.bw-home-v2 .btn-sm{padding:.62rem 1.15rem;font-size:var(--bwv-text-sm)}
.bw-home-v2 .btn-block{display:flex;width:100%}
.bw-home-v2 .btn-primary{background:var(--bwv-accent);color:var(--bwv-accent-ink);box-shadow:var(--bwv-shadow-sm)}
.bw-home-v2 .btn-primary:hover{background:var(--bwv-accent-hover);box-shadow:var(--bwv-shadow-md);color:var(--bwv-accent-ink)}
.bw-home-v2 .btn-outline{background:transparent;color:var(--bwv-ink);border-color:var(--bwv-line-strong)}
.bw-home-v2 .btn-outline:hover{border-color:var(--bwv-accent);color:var(--bwv-accent-strong);background:var(--bwv-accent-soft)}
.bw-home-v2 .btn-glass{
  background:oklch(1 0 0/.14);color:#fff;border-color:oklch(1 0 0/.42);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
}
.bw-home-v2 .btn-glass:hover{background:oklch(1 0 0/.24);color:#fff}
.bw-home-v2 .btn-arrow{width:19px;height:19px;transition:transform .25s var(--bwv-ease)}
.bw-home-v2 .btn:hover .btn-arrow{transform:translateX(3px)}

.bw-home-v2 .icon-btn{
  display:grid;place-items:center;width:42px;height:42px;border-radius:var(--bwv-radius-pill);
  background:var(--bwv-surface-2);border:1.5px solid var(--bwv-line);cursor:pointer;
  transition:background .2s,border-color .2s,transform .2s var(--bwv-ease);color:var(--bwv-ink);
}
.bw-home-v2 .icon-btn:hover{border-color:var(--bwv-line-strong);transform:translateY(-1px)}
.bw-home-v2 .icon-btn svg{width:19px;height:19px}
.bw-home-v2 .icon-btn.glass{
  background:oklch(0 0 0/.34);border-color:oklch(1 0 0/.35);color:#fff;
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
}
.bw-home-v2 .icon-btn.glass:hover{background:oklch(0 0 0/.5)}

/* theme icon swap */
.bw-home-v2 .icon-moon{display:none}
html[data-bwv-theme="dark"] .bw-home-v2 .icon-sun{display:none}
html[data-bwv-theme="dark"] .bw-home-v2 .icon-moon{display:block}
/* video icon swap */
.bw-home-v2 .icon-play{display:none}
.bw-home-v2 #bwvVideoPlay[aria-pressed="false"] .icon-pause{display:none}
.bw-home-v2 #bwvVideoPlay[aria-pressed="false"] .icon-play{display:block}
.bw-home-v2 .icon-sound{display:none}
.bw-home-v2 #bwvVideoMute[aria-pressed="false"] .icon-muted{display:none}
.bw-home-v2 #bwvVideoMute[aria-pressed="false"] .icon-sound{display:block}

/* ---------- Eyebrow ---------- */
.bw-home-v2 .eyebrow{
  display:inline-flex;align-items:center;gap:.55rem;font-size:var(--bwv-text-xs);
  font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--bwv-ink-muted);
  margin-bottom:var(--bwv-space-4);
}
.bw-home-v2 .eyebrow-dot{width:7px;height:7px;border-radius:50%;background:var(--bwv-moss);flex:none}
.bw-home-v2 .eyebrow-on-dark{
  color:var(--bwv-on-deep);background:oklch(1 0 0/.12);border:1px solid oklch(1 0 0/.28);
  padding:.42rem .95rem;border-radius:var(--bwv-radius-pill);backdrop-filter:blur(8px);
}
.bw-home-v2 .eyebrow-on-dark .eyebrow-dot{background:#19D2C5}

/* ══════════════  HEADER  ══════════════ */
.bw-home-v2.site-header{
  position:sticky;top:0;z-index:100;
  background:color-mix(in oklab,var(--bwv-surface) 82%,transparent);
  backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);
  border-bottom:1px solid transparent;transition:border-color .3s,box-shadow .3s,background .3s;
}
.bw-home-v2.site-header.is-stuck{border-bottom-color:var(--bwv-line);box-shadow:var(--bwv-shadow-sm)}
.bw-home-v2 .header-inner{display:flex;align-items:center;gap:var(--bwv-space-4);min-height:72px}
.bw-home-v2 .brand{display:inline-flex;align-items:center;gap:.6rem;color:var(--bwv-accent);flex:none}
.bw-home-v2 .brand-mark{width:34px;height:28px}
.bw-home-v2 .brand-word{font-family:var(--bwv-font-display);font-weight:800;font-size:1.2rem;letter-spacing:-.03em;color:var(--bwv-ink)}
.bw-home-v2 .brand-word-accent{color:var(--bwv-accent)}
/* Official BridgeWell logo (real production assets); swap for dark theme */
.bw-home-v2 .brand-logo{height:34px;width:auto;display:block}
.bw-home-v2 .brand-logo--dark{display:none}
html[data-bwv-theme="dark"] .bw-home-v2 .brand-logo--light{display:none}
html[data-bwv-theme="dark"] .bw-home-v2 .brand-logo--dark{display:block}
.bw-home-v2 .footer-brand .brand-logo{height:30px}
.bw-home-v2 .site-nav{display:none;gap:var(--bwv-space-6);margin-left:auto}
.bw-home-v2 .site-nav a{
  font-size:var(--bwv-text-sm);font-weight:600;color:var(--bwv-ink-soft);padding:.35rem 0;
  border-bottom:2px solid transparent;transition:color .2s,border-color .2s;
}
.bw-home-v2 .site-nav a:hover{color:var(--bwv-ink);border-bottom-color:var(--bwv-moss)}
.bw-home-v2 .header-actions{display:flex;align-items:center;gap:var(--bwv-space-3);margin-left:auto}
.bw-home-v2 .nav-login{display:none;font-size:var(--bwv-text-sm);font-weight:600;color:var(--bwv-ink-soft)}
.bw-home-v2 .nav-login:hover{color:var(--bwv-accent-strong)}
@media (min-width:900px){
  .bw-home-v2 .site-nav{display:flex}
  .bw-home-v2 .header-actions{margin-left:var(--bwv-space-8)}
  .bw-home-v2 .nav-login{display:inline}
}

/* ══════════════  HERO  ══════════════ */
.bw-home-v2 .hero{position:relative;isolation:isolate;background:var(--bwv-deep);color:var(--bwv-on-deep);overflow:hidden}
.bw-home-v2 .hero-media{position:absolute;inset:0;z-index:-2}
.bw-home-v2 .hero-video{width:100%;height:100%;object-fit:cover}
.bw-home-v2 .hero-scrim{
  position:absolute;inset:0;
  background:
    linear-gradient(105deg, rgba(0,20,60,.92) 0%, rgba(0,20,60,.72) 42%, rgba(0,20,60,.30) 78%),
    linear-gradient(to top, rgba(0,15,45,.85), transparent 55%);
}
.bw-home-v2 .hero-inner{
  position:relative;padding-block:clamp(4.5rem,13vh,8.5rem) clamp(5.5rem,14vh,9rem);
  max-width:min(var(--bwv-shell),100%);
}
.bw-home-v2 .hero-headline{
  font-size:var(--bwv-text-hero);font-weight:800;max-width:17ch;color:var(--bwv-on-deep);
  margin-bottom:var(--bwv-space-5);text-wrap:balance;
}
.bw-home-v2 .hero-headline em{font-style:normal;color:#3aacf6}
.bw-home-v2 .hero-sub{
  font-size:var(--bwv-text-lg);color:var(--bwv-on-deep-muted);max-width:52ch;
  margin-bottom:var(--bwv-space-6);
}
.bw-home-v2 .hero-bullets{display:flex;flex-wrap:wrap;gap:.5rem .75rem;margin-bottom:var(--bwv-space-8)}
.bw-home-v2 .hero-bullets li{
  display:inline-flex;align-items:center;gap:.45rem;font-size:var(--bwv-text-sm);font-weight:600;
  background:oklch(1 0 0/.1);border:1px solid oklch(1 0 0/.22);color:var(--bwv-on-deep);
  padding:.42rem .9rem;border-radius:var(--bwv-radius-pill);backdrop-filter:blur(8px);
}
.bw-home-v2 .hero-bullets svg{width:17px;height:17px;color:#19D2C5;flex:none}
.bw-home-v2 .hero-ctas{display:flex;flex-wrap:wrap;gap:var(--bwv-space-3)}
.bw-home-v2 .hero-micro{
  margin-top:var(--bwv-space-5);font-size:var(--bwv-text-sm);color:var(--bwv-on-deep-muted);
  max-width:56ch;line-height:1.6;
}
.bw-home-v2 .hero-welcome{margin:0 0 .5rem;font-weight:600;font-size:.95rem;color:rgba(255,255,255,.82)}
.bw-home-v2 .hero-relink{margin:.75rem 0 0}
.bw-home-v2 .hero-relink a{color:rgba(255,255,255,.82);text-decoration:underline;font-size:.9rem}
.bw-home-v2 .hero-relink a:hover{color:#fff}
.bw-home-v2 .video-controls{position:absolute;right:clamp(1.15rem,4vw,2.5rem);bottom:1.35rem;display:flex;gap:.55rem;z-index:3}
@media (min-width:900px){
  .bw-home-v2 .hero-inner{padding-block:clamp(6rem,16vh,10rem) clamp(6.5rem,17vh,10.5rem)}
}

/* ══════════════  MARQUEE  ══════════════ */
.bw-home-v2 .marquee-band{padding-block:var(--bwv-space-16) var(--bwv-space-20);background:var(--bwv-surface-2);overflow:hidden}
.bw-home-v2 .band-head{margin-bottom:var(--bwv-space-8)}
.bw-home-v2 .band-title{font-size:var(--bwv-text-2xl);max-width:26ch;text-wrap:balance}
.bw-home-v2 .marquee{position:relative;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
/* Track holds two equal-width groups; no gap on the track itself so -50% is
   exactly one group. Each group carries its own internal + trailing gap so the
   seam between the last item of group 1 and the first of group 2 matches the
   internal rhythm — no empty tail before the loop restarts. */
.bw-home-v2 .marquee-track{display:flex;width:max-content;animation:bwv-slide 46s linear infinite;will-change:transform}
.bw-home-v2 .marquee-group{display:flex;flex:0 0 auto;gap:var(--bwv-space-5);padding-right:var(--bwv-space-5)}
.bw-home-v2 .marquee:hover .marquee-track,.bw-home-v2 .marquee:focus-within .marquee-track{animation-play-state:paused}
@keyframes bwv-slide{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.bw-home-v2 .shot{margin:0;flex:0 0 auto;width:clamp(280px,42vw,460px)}
.bw-home-v2 .shot img{
  width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:var(--bwv-radius-lg);
  box-shadow:var(--bwv-shadow-md);
}
.bw-home-v2 .shot figcaption{
  margin-top:.75rem;font-size:var(--bwv-text-sm);font-weight:600;color:var(--bwv-ink-muted);
  letter-spacing:-.01em;
}

/* ══════════════  VIDEO STORY CARDS + MODAL  ══════════════
   Native V2 story module. Poster cards (16:9, no CLS via aspect-ratio) open a
   shared accessible modal that lazy-loads the video. Theme-aware via --bwv-*. */
.bw-home-v2 .story-grid{display:grid;grid-template-columns:1fr;gap:var(--bwv-space-6);margin-top:var(--bwv-space-10)}
@media(min-width:760px){.bw-home-v2 .story-grid{grid-template-columns:1fr 1fr;gap:var(--bwv-space-8)}}
.bw-home-v2 .story-card{display:flex;flex-direction:column;overflow:hidden;padding:0}
.bw-home-v2 .story-thumb{
  position:relative;display:block;width:100%;padding:0;border:0;cursor:pointer;
  background:var(--bwv-surface-3);border-radius:0;overflow:hidden;
}
.bw-home-v2 .story-thumb img{
  display:block;width:100%;aspect-ratio:16/9;object-fit:cover;
  transition:transform .5s var(--bwv-ease);
}
.bw-home-v2 .story-thumb:hover img,.bw-home-v2 .story-thumb:focus-visible img{transform:scale(1.04)}
.bw-home-v2 .story-thumb::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,transparent 55%,rgba(0,10,30,.42));
}
.bw-home-v2 .story-play{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1;
  display:grid;place-items:center;width:66px;height:66px;border-radius:var(--bwv-radius-pill);
  background:var(--bwv-accent);color:var(--bwv-accent-ink);
  box-shadow:0 10px 28px rgba(0,27,77,.32);transition:transform .25s var(--bwv-ease),background .2s;
}
.bw-home-v2 .story-play svg{width:26px;height:26px;margin-left:3px}
.bw-home-v2 .story-thumb:hover .story-play,.bw-home-v2 .story-thumb:focus-visible .story-play{
  transform:translate(-50%,-50%) scale(1.08);background:var(--bwv-accent-hover);
}
.bw-home-v2 .story-duration{
  position:absolute;right:.75rem;bottom:.7rem;z-index:1;
  font-size:var(--bwv-text-xs);font-weight:700;color:#fff;
  background:rgba(0,10,30,.6);border-radius:var(--bwv-radius-pill);padding:.15rem .55rem;
  backdrop-filter:blur(4px);letter-spacing:.02em;
}
.bw-home-v2 .story-thumb:focus-visible{outline:3px solid var(--bwv-accent);outline-offset:3px}
.bw-home-v2 .story-body{display:flex;flex-direction:column;gap:.55rem;padding:var(--bwv-space-6)}
/* Story cards use the global .card surface, which stays WHITE in both themes
   (same as the other content cards on the dark homepage). So the body text
   must use fixed dark brand tokens — NOT the theme-aware --bwv-ink, which goes
   light in dark mode and would vanish on the white card. */
.bw-home-v2 .story-body h3{font-size:var(--bwv-text-lg);color:var(--bw-navy)}
.bw-home-v2 .story-body p{font-size:var(--bwv-text-sm);color:var(--bw-slate);line-height:1.6}
.bw-home-v2 .story-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:.35rem}
@media(max-width:520px){
  .bw-home-v2 .story-actions{flex-direction:column;align-items:stretch}
  .bw-home-v2 .story-actions .btn{width:100%}
}
.bw-home-v2 .story-disclaimer{
  margin:var(--bwv-space-8) auto 0;max-width:760px;
  font-size:var(--bwv-text-xs);color:var(--bwv-ink-muted);line-height:1.65;
}

/* Modal */
.bw-home-v2 .story-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:clamp(1rem,4vw,2.5rem)}
.bw-home-v2 .story-modal[hidden]{display:none}
.bw-home-v2 .story-modal__backdrop{position:absolute;inset:0;background:rgba(2,10,26,.78);backdrop-filter:blur(6px)}
.bw-home-v2 .story-modal__panel{
  position:relative;z-index:1;width:min(960px,100%);
  background:#000;border-radius:var(--bwv-radius-lg);overflow:hidden;
  box-shadow:0 30px 80px rgba(0,0,0,.6);
}
.bw-home-v2 .story-modal__media{position:relative}
.bw-home-v2 .story-modal__video{display:block;width:100%;aspect-ratio:16/9;background:#000}
.bw-home-v2 .story-modal__close{
  position:absolute;top:.7rem;right:.7rem;z-index:2;
  display:grid;place-items:center;width:42px;height:42px;border:0;cursor:pointer;
  border-radius:var(--bwv-radius-pill);background:rgba(0,0,0,.55);color:#fff;
  backdrop-filter:blur(6px);transition:background .2s,transform .2s var(--bwv-ease);
}
.bw-home-v2 .story-modal__close:hover{background:rgba(0,0,0,.8);transform:scale(1.05)}
.bw-home-v2 .story-modal__close svg{width:22px;height:22px}
.bw-home-v2 .story-modal__close:focus-visible{outline:3px solid var(--bwv-accent);outline-offset:2px}
@media(prefers-reduced-motion:reduce){
  .bw-home-v2 .story-thumb img,.bw-home-v2 .story-play,.bw-home-v2 .story-modal__close{transition:none}
  .bw-home-v2 .story-thumb:hover img,.bw-home-v2 .story-thumb:focus-visible img{transform:none}
}

/* ---------- Trust / fee strip (theme-aware) ----------
   Root cause of the original visibility bug: the list items hardcoded
   color:var(--bw-navy) (the sitewide token is always Deep Navy #001B4D) while
   the section surface is theme-aware — in dark mode / system-dark browsers the
   surface goes dark navy, so navy text vanished. These rules key off the
   scoped --bwv-* tokens (ink/accent), which flip with the theme, so the row is
   readable on both the light surface and the dark-navy surface. */
.bw-home-v2 .bw-proof-strip{background:var(--bwv-surface-2)}
.bw-home-v2 .bw-proof-strip__list{
  list-style:none;margin:0;padding:0;display:grid;gap:.5rem 1.25rem;
  grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
}
.bw-home-v2 .bw-proof-strip__list li{
  display:flex;gap:.5rem;align-items:center;
  color:var(--bwv-ink);font-size:.9rem;font-weight:600;line-height:1.4;
}
.bw-home-v2 .bw-proof-strip__mark{color:var(--bwv-accent-strong);flex:none;font-weight:800}
.bw-home-v2 .bw-proof-strip__mark--teal{color:var(--bwv-moss-ink)}
.bw-home-v2 .bw-proof-strip__mark--muted{color:var(--bwv-ink-muted)}

/* ══════════════  SECTIONS  ══════════════ */
.bw-home-v2 .section{padding-block:clamp(3.75rem,9vw,6.5rem)}
.bw-home-v2 .section-alt{background:var(--bwv-surface-2)}
.bw-home-v2 .section-head{max-width:60ch;margin-bottom:var(--bwv-space-12)}
.bw-home-v2 .section-title{font-size:var(--bwv-text-2xl);text-wrap:balance;margin-bottom:var(--bwv-space-4)}
.bw-home-v2 .section-sub{font-size:var(--bwv-text-lg);color:var(--bwv-ink-soft);max-width:52ch}

/* ---------- Self-select cards ---------- */
.bw-home-v2 .select-grid{display:grid;gap:var(--bwv-space-5)}
@media (min-width:760px){.bw-home-v2 .select-grid{grid-template-columns:repeat(3,1fr)}}
.bw-home-v2 .q-card{
  position:relative;display:flex;flex-direction:column;gap:var(--bwv-space-3);
  background:var(--bwv-card);border:1.5px solid var(--bwv-line);border-radius:var(--bwv-radius-xl);
  padding:var(--bwv-space-8) var(--bwv-space-6) var(--bwv-space-6);overflow:hidden;color:var(--bwv-ink);
  transition:transform .3s var(--bwv-ease),box-shadow .3s var(--bwv-ease),border-color .3s;
}
.bw-home-v2 .q-card::after{
  content:"";position:absolute;inset:auto -30% -60% auto;width:70%;aspect-ratio:1;
  background:radial-gradient(circle,var(--bwv-accent-soft),transparent 70%);
  opacity:0;transition:opacity .35s var(--bwv-ease);z-index:0;
}
.bw-home-v2 .q-card:hover,.bw-home-v2 .q-card:focus-visible{transform:translateY(-6px);box-shadow:var(--bwv-shadow-lg);border-color:var(--bwv-accent)}
.bw-home-v2 .q-card:hover::after{opacity:1}
.bw-home-v2 .q-card>*{position:relative;z-index:1}
.bw-home-v2 .q-num{font-family:var(--bwv-font-display);font-size:var(--bwv-text-sm);font-weight:700;color:var(--bwv-ink-muted);letter-spacing:.08em}
.bw-home-v2 .q-badge{
  align-self:flex-start;font-size:var(--bwv-text-xs);font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;padding:.3rem .7rem;border-radius:var(--bwv-radius-pill);
}
.bw-home-v2 .q-badge-accent{background:var(--bwv-accent-soft);color:var(--bwv-accent-strong)}
.bw-home-v2 .q-badge-moss{background:var(--bwv-moss-soft);color:var(--bwv-moss-ink)}
.bw-home-v2 .q-badge-clay{background:var(--bwv-clay-soft);color:#4a5b6e}
.bw-home-v2 .q-title{font-size:var(--bwv-text-xl);text-wrap:balance}
.bw-home-v2 .q-body{color:var(--bwv-ink-soft);font-size:var(--bwv-text-sm);flex:1}
.bw-home-v2 .q-cta{
  display:inline-flex;align-items:center;gap:.45rem;margin-top:var(--bwv-space-2);
  font-family:var(--bwv-font-display);font-weight:700;font-size:var(--bwv-text-sm);color:var(--bwv-accent-strong);
}
.bw-home-v2 .q-cta svg{width:18px;height:18px;transition:transform .25s var(--bwv-ease)}
.bw-home-v2 .q-card:hover .q-cta svg{transform:translateX(4px)}

/* ---------- Pillars ---------- */
.bw-home-v2 .pillar-grid{display:grid;gap:var(--bwv-space-5)}
@media (min-width:620px){.bw-home-v2 .pillar-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.bw-home-v2 .pillar-grid{grid-template-columns:repeat(4,1fr)}}
.bw-home-v2 .pillar{
  background:var(--bwv-card);border:1.5px solid var(--bwv-line);border-radius:var(--bwv-radius-lg);
  padding:var(--bwv-space-6);transition:transform .3s var(--bwv-ease),box-shadow .3s var(--bwv-ease);
}
.bw-home-v2 .pillar:hover{transform:translateY(-4px);box-shadow:var(--bwv-shadow-md)}
.bw-home-v2 .pillar-icon{
  display:grid;place-items:center;width:48px;height:48px;border-radius:14px;
  background:var(--bwv-accent-soft);color:var(--bwv-accent);margin-bottom:var(--bwv-space-5);
}
.bw-home-v2 .pillar-icon svg{width:25px;height:25px}
.bw-home-v2 .pillar-moss{background:var(--bwv-moss-soft);color:var(--bwv-moss-ink)}
.bw-home-v2 .pillar-clay{background:var(--bwv-clay-soft);color:var(--bwv-clay)}
.bw-home-v2 .pillar h3{font-size:var(--bwv-text-lg);margin-bottom:var(--bwv-space-2)}
.bw-home-v2 .pillar p{font-size:var(--bwv-text-sm);color:var(--bwv-ink-soft)}

/* ---------- Insights ---------- */
.bw-home-v2 .insights-layout{display:grid;gap:var(--bwv-space-10)}
@media (min-width:940px){
  .bw-home-v2 .insights-layout{grid-template-columns:1fr 1.05fr;align-items:center;gap:var(--bwv-space-16)}
}
.bw-home-v2 .insights-legend{display:flex;gap:var(--bwv-space-5);margin-top:var(--bwv-space-6);font-size:var(--bwv-text-sm);color:var(--bwv-ink-soft)}
.bw-home-v2 .insights-legend li{display:flex;align-items:center;gap:.45rem}
.bw-home-v2 .dot{width:9px;height:9px;border-radius:50%}
.bw-home-v2 .dot-accent{background:var(--bwv-accent)}
.bw-home-v2 .dot-clay{background:var(--bwv-clay)}
.bw-home-v2 .fineprint{font-size:var(--bwv-text-xs);color:var(--bwv-ink-muted);margin-top:var(--bwv-space-4);line-height:1.6}
.bw-home-v2 .fineprint-center{text-align:center;margin-top:var(--bwv-space-8)}
.bw-home-v2 .insights-card{
  background:var(--bwv-card);border:1.5px solid var(--bwv-line);border-radius:var(--bwv-radius-xl);
  padding:var(--bwv-space-6);box-shadow:var(--bwv-shadow-md);
}
.bw-home-v2 .ic-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--bwv-space-4);margin-bottom:var(--bwv-space-6)}
.bw-home-v2 .ic-label{font-family:var(--bwv-font-display);font-weight:700;font-size:var(--bwv-text-lg)}
.bw-home-v2 .ic-week{font-size:var(--bwv-text-xs);color:var(--bwv-ink-muted);letter-spacing:.02em}
.bw-home-v2 .ic-chip{
  font-size:var(--bwv-text-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  background:var(--bwv-moss-soft);color:var(--bwv-moss-ink);padding:.3rem .65rem;border-radius:var(--bwv-radius-pill);flex:none;
}
.bw-home-v2 .ic-ring{position:relative;width:150px;margin:0 auto var(--bwv-space-6)}
.bw-home-v2 .ic-ring svg{width:100%}
.bw-home-v2 .ring-fill{transition:stroke-dashoffset 1.2s var(--bwv-ease)}
.bw-home-v2 .ic-ring-text{position:absolute;inset:0;display:grid;place-content:center;text-align:center}
.bw-home-v2 .ic-ring-text strong{display:block;font-family:var(--bwv-font-display);font-size:1.9rem;letter-spacing:-.03em;color:var(--bwv-ink)}
.bw-home-v2 .ic-ring-text span{font-size:var(--bwv-text-xs);color:var(--bwv-ink-muted)}
.bw-home-v2 .ic-metrics{display:grid;gap:.4rem;margin-bottom:var(--bwv-space-6)}
.bw-home-v2 .ic-metric{
  width:100%;display:grid;gap:.55rem;background:var(--bwv-surface-2);border:1.5px solid transparent;
  border-radius:var(--bwv-radius-md);padding:.85rem 1rem;cursor:pointer;text-align:left;
  transition:border-color .2s,background .2s;
}
.bw-home-v2 .ic-metric:hover{border-color:var(--bwv-line-strong)}
.bw-home-v2 .ic-metric[aria-expanded="true"]{border-color:var(--bwv-accent);background:var(--bwv-card)}
.bw-home-v2 .icm-top{display:flex;align-items:baseline;justify-content:space-between;gap:var(--bwv-space-3)}
.bw-home-v2 .icm-name{font-weight:600;font-size:var(--bwv-text-sm)}
.bw-home-v2 .icm-val{font-family:var(--bwv-font-display);font-weight:700;font-size:var(--bwv-text-sm);color:var(--bwv-ink-muted);flex:none}
.bw-home-v2 .icm-bar{display:block;height:7px;border-radius:var(--bwv-radius-pill);background:var(--bwv-line);overflow:hidden}
.bw-home-v2 .icm-bar>span{display:block;height:100%;width:var(--bwv-w);border-radius:inherit;background:var(--bwv-accent);transition:width 1s var(--bwv-ease)}
.bw-home-v2 .icm-bar-warn>span{background:var(--bwv-clay)}
.bw-home-v2 .icm-note{
  font-size:var(--bwv-text-sm);color:var(--bwv-ink-soft);padding:0 1rem;
  max-height:0;overflow:hidden;opacity:0;
  transition:max-height .35s var(--bwv-ease),opacity .3s,padding .3s;
}
.bw-home-v2 .ic-metric[aria-expanded="true"]+.icm-note{max-height:9rem;opacity:1;padding:.7rem 1rem .3rem}

/* ---------- Pricing ---------- */
.bw-home-v2 .price-grid{display:grid;gap:var(--bwv-space-5);align-items:start}
@media (min-width:800px){.bw-home-v2 .price-grid{grid-template-columns:repeat(3,1fr)}}
.bw-home-v2 .price-card{
  background:var(--bwv-card);border:1.5px solid var(--bwv-line);border-radius:var(--bwv-radius-xl);
  padding:var(--bwv-space-8) var(--bwv-space-6);display:flex;flex-direction:column;gap:var(--bwv-space-3);
  transition:transform .3s var(--bwv-ease),box-shadow .3s var(--bwv-ease);
}
.bw-home-v2 .price-card:hover{transform:translateY(-4px);box-shadow:var(--bwv-shadow-md)}
.bw-home-v2 .price-card-feature{
  border-color:var(--bwv-accent);border-width:2px;box-shadow:var(--bwv-shadow-md);position:relative;
  background:linear-gradient(180deg,var(--bwv-accent-soft),var(--bwv-card) 34%);
}
.bw-home-v2 .pc-flag{
  align-self:flex-start;font-size:var(--bwv-text-xs);font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;background:var(--bwv-accent);color:var(--bwv-accent-ink);
  padding:.32rem .8rem;border-radius:var(--bwv-radius-pill);
}
.bw-home-v2 .pc-name{font-family:var(--bwv-font-display);font-weight:700;font-size:var(--bwv-text-lg)}
.bw-home-v2 .pc-amount{font-family:var(--bwv-font-display);font-weight:800;font-size:clamp(2.2rem,1.6rem+2vw,3rem);letter-spacing:-.035em;line-height:1;color:var(--bwv-ink)}
.bw-home-v2 .pc-amount-sm{font-size:var(--bwv-text-xl);line-height:1.2}
.bw-home-v2 .pc-tag{font-size:var(--bwv-text-xs);color:var(--bwv-ink-muted);text-transform:uppercase;letter-spacing:.09em;font-weight:600}
.bw-home-v2 .pc-note{font-size:.78rem;color:var(--bwv-ink-muted);line-height:1.5;margin:.25rem 0 0}
.bw-home-v2 .pc-list{display:grid;gap:.55rem;margin-block:var(--bwv-space-3) var(--bwv-space-5);flex:1}
.bw-home-v2 .pc-list li{position:relative;padding-left:1.6rem;font-size:var(--bwv-text-sm);color:var(--bwv-ink-soft)}
.bw-home-v2 .pc-list li::before{
  content:"";position:absolute;left:0;top:.55em;width:16px;height:9px;
  border-left:2px solid var(--bwv-moss-ink);border-bottom:2px solid var(--bwv-moss-ink);
  transform:rotate(-45deg) scale(.75);transform-origin:left center;border-radius:1px;
}

/* ---------- Trust ---------- */
.bw-home-v2 .trust-grid{display:grid;gap:var(--bwv-space-5)}
@media (min-width:820px){.bw-home-v2 .trust-grid{grid-template-columns:repeat(3,1fr)}}
.bw-home-v2 .trust-card{
  background:var(--bwv-card);border:1.5px solid var(--bwv-line);border-radius:var(--bwv-radius-lg);
  padding:var(--bwv-space-6);
}
.bw-home-v2 .trust-card h3{font-size:var(--bwv-text-lg);margin-bottom:.3rem}
.bw-home-v2 .trust-role{
  font-size:var(--bwv-text-xs);font-weight:700;letter-spacing:.09em;text-transform:uppercase;
  color:var(--bwv-moss-ink);margin-bottom:var(--bwv-space-4);
}
.bw-home-v2 .trust-card ul{display:grid;gap:.5rem;margin-bottom:var(--bwv-space-4)}
.bw-home-v2 .trust-card li{position:relative;padding-left:1.15rem;font-size:var(--bwv-text-sm);color:var(--bwv-ink-soft)}
.bw-home-v2 .trust-card li::before{
  content:"";position:absolute;left:0;top:.62em;width:6px;height:6px;border-radius:50%;background:var(--bwv-line-strong);
}
.bw-home-v2 .trust-not{
  font-size:var(--bwv-text-xs);font-weight:600;color:var(--bwv-ink-muted);
  border-top:1px dashed var(--bwv-line);padding-top:var(--bwv-space-3);
}
.bw-home-v2 .compliance{
  margin-top:var(--bwv-space-8);background:var(--bwv-surface-2);border:1px solid var(--bwv-line);
  border-left:4px solid var(--bwv-accent);border-radius:var(--bwv-radius-md);
  padding:var(--bwv-space-5);font-size:var(--bwv-text-sm);color:var(--bwv-ink-soft);max-width:78ch;
}

/* ---------- Hello / Goodbye ---------- */
.bw-home-v2 .contrast-section{background:var(--bwv-deep);color:var(--bwv-on-deep)}
.bw-home-v2 .contrast-grid{display:grid;gap:var(--bwv-space-6)}
@media (min-width:800px){.bw-home-v2 .contrast-grid{grid-template-columns:1fr 1fr;gap:var(--bwv-space-8)}}
.bw-home-v2 .contrast-col{border-radius:var(--bwv-radius-xl);padding:var(--bwv-space-8) var(--bwv-space-6)}
.bw-home-v2 .contrast-hello{background:oklch(1 0 0/.09);border:1px solid oklch(1 0 0/.2)}
.bw-home-v2 .contrast-bye{background:oklch(0 0 0/.22);border:1px solid oklch(1 0 0/.1)}
.bw-home-v2 .contrast-title{font-size:var(--bwv-text-xl);margin-bottom:var(--bwv-space-5);color:var(--bwv-on-deep)}
.bw-home-v2 .contrast-hello .contrast-title{color:#35dccf}
.bw-home-v2 .contrast-bye .contrast-title{color:var(--bwv-on-deep-muted)}
.bw-home-v2 .contrast-list{display:grid;gap:.85rem}
.bw-home-v2 .contrast-list li{position:relative;padding-left:1.9rem;font-size:var(--bwv-text-base);color:var(--bwv-on-deep)}
.bw-home-v2 .contrast-hello li::before{
  content:"";position:absolute;left:0;top:.5em;width:15px;height:8px;
  border-left:2.2px solid #19D2C5;border-bottom:2.2px solid #19D2C5;
  transform:rotate(-45deg) scale(.8);transform-origin:left center;
}
.bw-home-v2 .contrast-bye li{color:var(--bwv-on-deep-muted)}
.bw-home-v2 .contrast-bye li::before{
  content:"";position:absolute;left:.1rem;top:.62em;width:13px;height:2.2px;
  background:#8091a6;border-radius:2px;
}

/* ---------- FAQ ---------- */
.bw-home-v2 .faq-layout{display:grid;gap:var(--bwv-space-10)}
@media (min-width:940px){.bw-home-v2 .faq-layout{grid-template-columns:.85fr 1.15fr;gap:var(--bwv-space-16);align-items:start}}
.bw-home-v2 .faq-head .btn{margin-top:var(--bwv-space-6)}
.bw-home-v2 .faq-list{display:grid;gap:.6rem}
.bw-home-v2 .faq-item{background:var(--bwv-card);border:1.5px solid var(--bwv-line);border-radius:var(--bwv-radius-md);overflow:hidden}
.bw-home-v2 .faq-item h3{margin:0;font-size:inherit;font-weight:inherit;letter-spacing:normal;line-height:inherit}
.bw-home-v2 .faq-q{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--bwv-space-4);
  background:none;border:0;padding:1.1rem 1.25rem;cursor:pointer;text-align:left;color:var(--bwv-ink);
  font-family:var(--bwv-font-display);font-weight:700;font-size:var(--bwv-text-base);letter-spacing:-.015em;
  transition:color .2s;
}
.bw-home-v2 .faq-q:hover{color:var(--bwv-accent-strong)}
.bw-home-v2 .faq-mark{position:relative;width:18px;height:18px;flex:none}
.bw-home-v2 .faq-mark::before,.bw-home-v2 .faq-mark::after{
  content:"";position:absolute;background:var(--bwv-accent);border-radius:2px;
  transition:transform .3s var(--bwv-ease),opacity .3s;
}
.bw-home-v2 .faq-mark::before{inset:8px 0 auto;height:2.2px}
.bw-home-v2 .faq-mark::after{inset:0 8px auto;width:2.2px;height:18px}
.bw-home-v2 .faq-q[aria-expanded="true"] .faq-mark::after{transform:scaleY(0);opacity:0}
.bw-home-v2 .faq-a{max-height:0;overflow:hidden;transition:max-height .38s var(--bwv-ease)}
.bw-home-v2 .faq-a p{padding:0 1.25rem 1.25rem;font-size:var(--bwv-text-sm);color:var(--bwv-ink-soft);max-width:62ch}

/* ---------- Final CTA ---------- */
.bw-home-v2 .final-cta{
  background:linear-gradient(135deg,var(--bwv-deep),var(--bwv-deep-2));color:var(--bwv-on-deep);
  padding-block:clamp(4rem,10vw,7rem);text-align:center;
}
.bw-home-v2 .final-inner{display:grid;justify-items:center;gap:var(--bwv-space-4)}
.bw-home-v2 .final-title{font-size:var(--bwv-text-2xl);max-width:22ch;text-wrap:balance;color:var(--bwv-on-deep)}
.bw-home-v2 .final-sub{font-size:var(--bwv-text-lg);color:var(--bwv-on-deep-muted);max-width:46ch}
.bw-home-v2 .final-cta .hero-ctas{justify-content:center;margin-top:var(--bwv-space-3)}
.bw-home-v2 .final-micro{font-size:var(--bwv-text-sm);color:var(--bwv-on-deep-muted);margin-top:var(--bwv-space-3)}

/* ---------- Footer ---------- */
.bw-home-v2.site-footer{background:var(--bwv-surface-2);border-top:1px solid var(--bwv-line);padding-block:var(--bwv-space-12) var(--bwv-space-10)}
.bw-home-v2 .footer-inner{display:flex;flex-wrap:wrap;gap:var(--bwv-space-6);justify-content:space-between;align-items:flex-start}
.bw-home-v2 .footer-brand .brand{display:inline-flex;align-items:center;gap:.6rem;color:var(--bwv-accent)}
.bw-home-v2 .footer-brand p{font-size:var(--bwv-text-sm);color:var(--bwv-ink-muted);margin-top:.6rem;max-width:34ch}
.bw-home-v2 .footer-nav{display:flex;flex-wrap:wrap;gap:var(--bwv-space-5)}
.bw-home-v2 .footer-nav a{font-size:var(--bwv-text-sm);font-weight:600;color:var(--bwv-ink-soft)}
.bw-home-v2 .footer-nav a:hover{color:var(--bwv-accent-strong)}
.bw-home-v2 .footer-legal{margin-top:var(--bwv-space-8);padding-top:var(--bwv-space-5);border-top:1px solid var(--bwv-line);display:grid;gap:.6rem}
.bw-home-v2 .footer-legal p{font-size:var(--bwv-text-xs);color:var(--bwv-ink-muted);max-width:88ch;line-height:1.65}

/* ---------- Sticky mobile CTA ---------- */
.bw-home-v2.mobile-cta{
  position:fixed;left:.75rem;right:.75rem;bottom:.75rem;z-index:90;
  display:flex;align-items:center;justify-content:space-between;gap:var(--bwv-space-4);
  background:color-mix(in oklab,var(--bwv-card) 92%,transparent);
  border:1.5px solid var(--bwv-line);border-radius:var(--bwv-radius-pill);
  padding:.6rem .7rem .6rem 1.15rem;box-shadow:var(--bwv-shadow-lg);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  transform:translateY(150%);transition:transform .4s var(--bwv-ease);
}
.bw-home-v2.mobile-cta.is-visible{transform:none}
.bw-home-v2 .mc-copy{display:grid;line-height:1.25;min-width:0}
.bw-home-v2 .mc-copy strong{font-family:var(--bwv-font-display);font-size:var(--bwv-text-sm);letter-spacing:-.015em;color:var(--bwv-ink)}
.bw-home-v2 .mc-copy span{font-size:var(--bwv-text-xs);color:var(--bwv-ink-muted)}
@media (min-width:900px){.bw-home-v2.mobile-cta{display:none}}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  .bw-home-v2 .reveal{opacity:1;transform:none;transition:none}
  .bw-home-v2 .marquee-track{animation:none;overflow-x:auto;width:auto;padding-bottom:.5rem}
  /* No animation → the duplicate group is redundant; show one set only. */
  .bw-home-v2 .marquee-group[aria-hidden="true"]{display:none}
  .bw-home-v2 .marquee{mask-image:none;-webkit-mask-image:none}
  .bw-home-v2 .faq-a{transition:none}
  .bw-home-v2 .btn:hover,.bw-home-v2 .q-card:hover,.bw-home-v2 .pillar:hover,.bw-home-v2 .price-card:hover{transform:none}
}
