/**
 * Bonviver Child Theme — components.css
 * All section and component styles
 */

/* ── NAV ── */
.bv-nav { position:fixed; top:0; left:0; right:0; z-index:200; height:72px; display:flex; align-items:center; justify-content:space-between; padding:0 6%; transition:background 0.4s,box-shadow 0.4s; }
.bv-nav.scrolled { background:rgba(26,47,78,0.97); backdrop-filter:blur(12px); box-shadow:0 2px 24px rgba(0,0,0,0.25); }
.bv-nav-logo { font-family:var(--font-display); font-size:1.9rem; font-weight:700; color:var(--white); text-decoration:none; line-height:1; }
.bv-nav-logo .dot { color:var(--gold); }
.bv-nav-links { display:flex; align-items:center; gap:2.5rem; list-style:none; margin:0; padding:0; }
.bv-nav-links a { color:rgba(255,255,255,0.75); text-decoration:none; font-size:0.88rem; font-weight:500; font-family:var(--font-body); transition:color 0.2s; }
.bv-nav-links a:hover { color:var(--gold); }
.bv-nav-actions { display:flex; align-items:center; gap:1rem; }

/* ── BUTTONS ── */
.bv-btn-ghost { color:rgba(255,255,255,0.8); background:transparent; border:1px solid rgba(255,255,255,0.3); border-radius:var(--r-xl); padding:0.5rem 1.3rem; font-size:0.85rem; font-weight:500; cursor:pointer; font-family:var(--font-body); transition:all 0.2s; text-decoration:none; display:inline-flex; align-items:center; }
.bv-btn-ghost:hover { border-color:var(--gold); color:var(--gold); }
.bv-btn-gold { background:var(--gold); color:var(--navy); border:none; border-radius:var(--r-xl); padding:0.6rem 1.5rem; font-size:0.88rem; font-weight:600; cursor:pointer; font-family:var(--font-body); transition:all 0.2s; display:inline-flex; align-items:center; }
.bv-btn-gold:hover { background:var(--gold-light); transform:translateY(-1px); box-shadow:0 4px 16px rgba(201,168,76,0.4); color:var(--navy); }
.bv-btn-forest { background:var(--navy); color:var(--gold); border:none; border-radius:var(--r-xl); padding:1.1rem 2.75rem; font-size:1rem; font-weight:600; cursor:pointer; font-family:var(--font-body); transition:all 0.25s; }
.bv-btn-forest:hover { background:var(--navy-lite); transform:translateY(-2px); box-shadow:0 8px 28px rgba(26,47,78,0.3); color:var(--gold); }
.bv-btn-hero-primary { background:var(--gold); color:var(--navy); border:none; border-radius:var(--r-xl); padding:1rem 2.25rem; font-size:1rem; font-weight:600; cursor:pointer; font-family:var(--font-body); transition:all 0.25s; display:inline-flex; align-items:center; }
.bv-btn-hero-primary:hover { background:var(--gold-light); transform:translateY(-2px); box-shadow:0 8px 28px rgba(201,168,76,0.45); color:var(--navy); }
.bv-btn-hero-secondary { background:transparent; color:rgba(255,255,255,0.8); border:1px solid rgba(255,255,255,0.3); border-radius:var(--r-xl); padding:1rem 2.25rem; font-size:1rem; font-weight:400; cursor:pointer; font-family:var(--font-body); transition:all 0.2s; display:inline-flex; align-items:center; }
.bv-btn-hero-secondary:hover { border-color:rgba(255,255,255,0.7); color:var(--white); }

/* ── HERO ── */
.bv-hero { min-height:100vh; background:var(--navy); display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:120px 6% 80px; position:relative; overflow:hidden; }
.bv-hero-ring { position:absolute; border-radius:50%; border:1px solid rgba(201,168,76,0.10); pointer-events:none; top:50%; left:50%; transform:translate(-50%,-50%); }
.bv-hero-grain { position:absolute; inset:0; pointer-events:none; opacity:0.035; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); background-size:180px; }
.bv-hero-eyebrow { display:inline-flex; align-items:center; gap:10px; border:1px solid rgba(201,168,76,0.4); border-radius:var(--r-xl); padding:0.4rem 1.2rem; color:var(--gold); font-size:0.78rem; font-weight:600; letter-spacing:1.5px; text-transform:uppercase; margin-bottom:2rem; animation:bvFadeUp 0.8s ease both; }
.bv-eyebrow-dot { width:6px; height:6px; border-radius:50%; background:var(--gold); animation:bvPulse 2s infinite; }
.bv-hero h1 { font-family:var(--font-display); font-size:clamp(2.8rem,5.5vw,5rem); font-weight:700; color:var(--white); line-height:1.1; letter-spacing:-1px; max-width:860px; margin:0 auto 1.75rem; animation:bvFadeUp 0.9s 0.1s ease both; }
.bv-hero h1 .italic { font-style:italic; color:var(--gold); }
.bv-hero-sub { font-size:clamp(1rem,1.8vw,1.2rem); color:rgba(255,255,255,0.6); max-width:580px; margin:0 auto 2.75rem; font-weight:300; line-height:1.7; animation:bvFadeUp 1s 0.2s ease both; }
.bv-hero-actions { display:flex; align-items:center; gap:1.25rem; justify-content:center; flex-wrap:wrap; animation:bvFadeUp 1.1s 0.3s ease both; }
.bv-hero-stats { display:flex; margin-top:5rem; background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.1); border-radius:var(--r-lg); overflow:hidden; animation:bvFadeUp 1.2s 0.4s ease both; }
.bv-hero-stat { padding:1.5rem 2.5rem; text-align:center; flex:1; border-right:1px solid rgba(255,255,255,0.08); }
.bv-hero-stat:last-child { border-right:none; }
.bv-stat-val { font-family:var(--font-display); font-size:2rem; font-weight:700; color:var(--gold); display:block; line-height:1; }
.bv-stat-lbl { font-size:0.78rem; color:rgba(255,255,255,0.4); margin-top:0.4rem; display:block; }
.bv-scroll-hint { position:absolute; bottom:2.5rem; left:50%; transform:translateX(-50%); display:flex; flex-direction:column; align-items:center; gap:0.5rem; color:rgba(255,255,255,0.3); font-size:0.72rem; letter-spacing:1px; text-transform:uppercase; animation:bvFadeUp 1.5s 0.8s ease both; }
.bv-scroll-arrow { width:18px; height:18px; border-right:1px solid rgba(255,255,255,0.3); border-bottom:1px solid rgba(255,255,255,0.3); transform:rotate(45deg); animation:bvBounce 1.8s infinite; margin-top:-6px; }

/* ── SECTIONS ── */
.bv-section { padding:6rem 6%; }
.bv-section-eyebrow { font-size:0.72rem; font-weight:600; letter-spacing:2.5px; text-transform:uppercase; color:var(--blue); margin-bottom:0.85rem; display:block; }
.bv-section-title { font-family:var(--font-display); font-size:clamp(2rem,3.5vw,3rem); font-weight:700; color:var(--navy); line-height:1.15; margin-bottom:1.1rem; }
.bv-section-title.light { color:var(--white); }
.bv-section-title .italic { font-style:italic; }
.bv-section-sub { font-size:1.05rem; color:var(--slate); max-width:580px; line-height:1.7; font-weight:300; }
.bv-section-sub.light { color:rgba(255,255,255,0.5); }
.bv-centered { text-align:center; }
.bv-centered .bv-section-sub { margin:0 auto; }

/* ── WHAT ── */
.bv-what { background:var(--cream); }
.bv-what-grid { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center; margin-top:4rem; }
.bv-pillars { display:flex; flex-direction:column; gap:1.5rem; }
.bv-pillar { display:flex; gap:1.5rem; align-items:flex-start; padding:1.75rem; border-radius:var(--r-md); border:1px solid var(--parchment); background:var(--white); transition:box-shadow 0.25s,border-color 0.25s; }
.bv-pillar:hover { box-shadow:var(--shadow-soft); border-color:var(--sky); }
.bv-pillar-icon { width:52px; height:52px; border-radius:var(--r-sm); background:var(--gold-pale); display:flex; align-items:center; justify-content:center; font-size:1.4rem; flex-shrink:0; }
.bv-pillar-title { font-weight:600; color:var(--navy); font-size:1rem; margin-bottom:0.35rem; font-family:var(--font-body); }
.bv-pillar-text { font-size:0.88rem; color:var(--slate); line-height:1.65; margin:0; }
.bv-what-visual { background:var(--navy); border-radius:var(--r-lg); padding:3rem; position:relative; overflow:hidden; }
.bv-what-visual::before { content:''; position:absolute; bottom:-80px; right:-80px; width:280px; height:280px; border-radius:50%; background:rgba(201,168,76,0.10); }
.bv-what-visual::after { content:''; position:absolute; top:-40px; left:-40px; width:160px; height:160px; border-radius:50%; background:rgba(46,109,164,0.2); }
.bv-visual-label { font-size:0.72rem; font-weight:600; letter-spacing:2px; text-transform:uppercase; color:var(--gold); margin-bottom:1.5rem; display:block; position:relative; z-index:1; }
.bv-visual-headline { font-family:var(--font-display); font-size:1.8rem; font-weight:700; color:var(--white); line-height:1.2; margin-bottom:2rem; position:relative; z-index:1; }
.bv-visual-headline em { font-style:italic; color:var(--gold); }
.bv-compliance-note { background:rgba(255,255,255,0.07); border:1px solid rgba(255,255,255,0.1); border-radius:var(--r-sm); padding:1.25rem; margin-bottom:1.5rem; font-size:0.83rem; color:rgba(255,255,255,0.55); line-height:1.6; position:relative; z-index:1; }
.bv-compliance-note strong { color:rgba(255,255,255,0.85); font-weight:500; }
.bv-check-list { list-style:none; display:flex; flex-direction:column; gap:0.65rem; margin:0; padding:0; position:relative; z-index:1; }
.bv-check-list li { display:flex; align-items:flex-start; gap:0.75rem; font-size:0.85rem; color:rgba(255,255,255,0.65); line-height:1.4; }
.icon-yes { color:var(--sky); flex-shrink:0; }
.icon-no  { color:#E05A5A; flex-shrink:0; }

/* ── STAGES ── */
.bv-stages { background:var(--cream-dark); }
.bv-stages-intro { max-width:640px; margin-bottom:3.5rem; }
.bv-stages-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.25rem; margin-bottom:2.5rem; }
.bv-stage-card { background:var(--white); border:1px solid var(--parchment); border-radius:var(--r-lg); padding:2rem 1.75rem; display:flex; flex-direction:column; position:relative; overflow:hidden; transition:all 0.3s; cursor:pointer; }
.bv-stage-card::before { content:''; position:absolute; top:0; left:0; right:0; height:4px; transition:height 0.3s; }
.bv-stage-card:nth-child(1)::before { background:var(--blue); }
.bv-stage-card:nth-child(2)::before { background:var(--champagne); }
.bv-stage-card:nth-child(3)::before { background:var(--navy); }
.bv-stage-card:nth-child(4)::before { background:var(--gold); }
.bv-stage-card:hover { box-shadow:var(--shadow-card); transform:translateY(-5px); border-color:transparent; }
.bv-stage-card:hover::before { height:6px; }
.bv-stage-num { font-family:var(--font-display); font-size:0.72rem; font-weight:600; color:var(--mist); letter-spacing:1.5px; text-transform:uppercase; margin-bottom:0.5rem; }
.bv-stage-name { font-family:var(--font-display); font-size:1.3rem; font-weight:700; color:var(--navy); margin-bottom:0.25rem; }
.bv-stage-price { font-size:0.85rem; color:var(--champagne); font-weight:600; margin-bottom:1.25rem; }
.bv-stage-desc { font-size:0.83rem; color:var(--slate); line-height:1.65; flex:1; margin-bottom:1.5rem; }
.bv-stage-items { list-style:none; display:flex; flex-direction:column; gap:0.5rem; margin-bottom:1.75rem; padding:0; }
.bv-stage-items li { font-size:0.79rem; color:var(--slate); display:flex; align-items:flex-start; gap:0.6rem; line-height:1.4; }
.bv-stage-items li::before { content:'—'; color:var(--sky); flex-shrink:0; font-weight:600; }
.bv-stage-cta { font-size:0.82rem; font-weight:600; color:var(--blue); background:none; border:none; padding:0; cursor:pointer; font-family:var(--font-body); display:flex; align-items:center; gap:0.4rem; transition:gap 0.2s; margin-top:auto; }
.bv-stage-cta:hover { gap:0.7rem; color:var(--blue); }
.bv-stages-footer { display:flex; align-items:center; justify-content:space-between; background:var(--navy); border-radius:var(--r-lg); padding:2rem 2.5rem; flex-wrap:wrap; gap:1.5rem; }
.bv-stages-footer-text { font-family:var(--font-display); font-size:1.3rem; color:var(--white); font-weight:600; margin:0; }
.bv-stages-footer-text em { font-style:italic; color:var(--gold); }
.bv-stages-footer-sub { font-size:0.85rem; color:rgba(255,255,255,0.4); margin-top:0.3rem; margin-bottom:0; }

/* ── HOW ── */
.bv-how { background:var(--navy); }
.bv-how-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:0; margin-top:4rem; position:relative; }
.bv-how-grid::before { content:''; position:absolute; top:35px; left:12%; right:12%; height:1px; background:linear-gradient(to right,transparent,rgba(201,168,76,0.3),rgba(201,168,76,0.3),transparent); }
.bv-how-step { text-align:center; padding:0 1.5rem; }
.bv-step-circle { width:70px; height:70px; border-radius:50%; border:2px solid rgba(201,168,76,0.4); background:var(--navy-mid); display:flex; align-items:center; justify-content:center; margin:0 auto 1.5rem; position:relative; z-index:1; font-family:var(--font-display); font-size:1.3rem; font-weight:700; color:var(--gold); transition:all 0.3s; }
.bv-how-step:hover .bv-step-circle { border-color:var(--gold); background:var(--navy-lite); box-shadow:0 0 0 8px rgba(201,168,76,0.08); }
.bv-step-title { font-family:var(--font-display); font-size:1.05rem; font-weight:600; color:var(--white); margin-bottom:0.6rem; }
.bv-step-text { font-size:0.83rem; color:rgba(255,255,255,0.42); line-height:1.65; margin:0; }

/* ── EARN ── */
.bv-earn { background:var(--cream); }
.bv-earn-grid { display:grid; grid-template-columns:1fr 1.1fr; gap:5rem; align-items:center; margin-top:4rem; }
.bv-earn-visual { background:var(--cream-dark); border:1px solid var(--parchment); border-radius:var(--r-lg); padding:2.5rem; }
.bv-earn-visual-title { font-family:var(--font-display); font-size:1.1rem; font-weight:600; color:var(--navy); margin-bottom:2rem; }
.bv-network-node { display:flex; align-items:center; gap:1rem; background:var(--white); border:1px solid var(--parchment); border-radius:var(--r-md); padding:1rem 1.25rem; margin-bottom:0.75rem; transition:border-color 0.2s; }
.bv-network-node:hover { border-color:var(--sky); }
.bv-node-avatar { width:40px; height:40px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-weight:700; font-size:0.85rem; flex-shrink:0; }
.node-you { background:var(--gold-pale); color:var(--champagne); }
.node-m1  { background:#E8F5EF; color:var(--blue); }
.node-m2  { background:#EEF3F8; color:var(--slate); }
.bv-node-name { font-weight:600; font-size:0.88rem; color:var(--navy); margin:0; }
.bv-node-role { font-size:0.73rem; color:var(--mist); margin:0; }
.bv-node-earn { font-family:var(--font-display); font-weight:700; font-size:0.92rem; color:var(--champagne); margin-left:auto; white-space:nowrap; }
.bv-connector { width:2px; height:16px; background:var(--parchment); margin:-0.375rem 0 -0.375rem 1.6rem; }
.bv-earn-note { margin-top:1.5rem; padding:1rem 1.25rem; background:var(--gold-pale); border-left:3px solid var(--gold); border-radius:0 var(--r-sm) var(--r-sm) 0; font-size:0.8rem; color:#7A5700; line-height:1.6; }
.bv-earn-items { display:flex; flex-direction:column; gap:2rem; }
.bv-earn-item { display:flex; gap:1.25rem; align-items:flex-start; }
.bv-earn-num { width:36px; height:36px; border-radius:50%; background:var(--gold-pale); border:1px solid rgba(201,168,76,0.3); display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-weight:700; font-size:0.9rem; color:var(--champagne); flex-shrink:0; }
.bv-earn-item-title { font-weight:600; color:var(--navy); margin-bottom:0.3rem; font-family:var(--font-body); }
.bv-earn-item-text { font-size:0.875rem; color:var(--slate); line-height:1.65; margin:0; }
.bv-earn-disclaimer { background:var(--cream-dark); border-radius:var(--r-sm); padding:1rem 1.25rem; font-size:0.78rem; color:var(--mist); line-height:1.6; border:1px solid var(--parchment); margin-top:2rem; }

/* ── CHARITY ── */
.bv-charity { background:var(--navy-mid); position:relative; overflow:hidden; }
.bv-charity::before { content:''; position:absolute; top:-200px; right:-200px; width:600px; height:600px; border-radius:50%; background:rgba(201,168,76,0.05); pointer-events:none; }
.bv-charity-grid { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:center; }
.bv-charity-types { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-top:2rem; }
.bv-charity-type { background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.1); border-radius:var(--r-md); padding:1.25rem; transition:background 0.2s; }
.bv-charity-type:hover { background:rgba(255,255,255,0.10); }
.bv-charity-icon { font-size:1.5rem; margin-bottom:0.6rem; display:block; }
.bv-charity-type-name { font-weight:600; color:var(--white); font-size:0.88rem; margin-bottom:0.25rem; font-family:var(--font-body); }
.bv-charity-type-text { font-size:0.78rem; color:rgba(255,255,255,0.42); line-height:1.5; margin:0; }
.bv-charity-flow { background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.1); border-radius:var(--r-lg); padding:2rem; }
.bv-flow-title { font-family:var(--font-display); font-size:1rem; color:var(--gold); margin-bottom:1.5rem; font-weight:600; }
.bv-flow-step { display:flex; gap:1rem; align-items:flex-start; margin-bottom:1.25rem; padding-bottom:1.25rem; border-bottom:1px solid rgba(255,255,255,0.07); }
.bv-flow-step:last-child { margin-bottom:0; padding-bottom:0; border-bottom:none; }
.bv-flow-num { width:28px; height:28px; border-radius:50%; background:rgba(201,168,76,0.2); border:1px solid rgba(201,168,76,0.3); display:flex; align-items:center; justify-content:center; font-size:0.75rem; font-weight:700; color:var(--gold); flex-shrink:0; }
.bv-flow-text { font-size:0.83rem; color:rgba(255,255,255,0.55); line-height:1.55; margin:0; }
.bv-flow-text strong { color:rgba(255,255,255,0.9); font-weight:500; }

/* ── TRUST ── */
.bv-trust { background:var(--cream); }
.bv-trust-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; margin-top:3.5rem; }
.bv-trust-card { background:var(--white); border:1px solid var(--parchment); border-radius:var(--r-lg); padding:2rem; text-align:center; transition:box-shadow 0.2s; }
.bv-trust-card:hover { box-shadow:var(--shadow-soft); }
.bv-trust-icon { font-size:2rem; margin-bottom:1rem; display:block; }
.bv-trust-title { font-family:var(--font-display); font-size:1.05rem; font-weight:600; color:var(--navy); margin-bottom:0.6rem; }
.bv-trust-text { font-size:0.85rem; color:var(--slate); line-height:1.65; margin:0; }

/* ── CTA BAND ── */
.bv-cta-band { background:var(--gold); padding:5rem 6%; text-align:center; }

/* ── FOOTER ── */
.bv-footer { background:var(--charcoal); color:rgba(255,255,255,0.5); padding:4rem 6% 2.5rem; }
.bv-footer-top { display:grid; grid-template-columns:2.2fr 1fr 1fr 1fr; gap:3rem; margin-bottom:3rem; padding-bottom:3rem; border-bottom:1px solid rgba(255,255,255,0.08); }
.bv-footer-logo { font-family:var(--font-display); font-size:1.75rem; font-weight:700; color:var(--white); margin-bottom:1rem; display:block; text-decoration:none; }
.bv-footer-logo .dot { color:var(--gold); }
.bv-footer-logo:hover { color:var(--white); }
.bv-footer-desc { font-size:0.83rem; line-height:1.7; max-width:300px; margin-bottom:1.5rem; color:rgba(255,255,255,0.5); }
.bv-footer-badge { display:inline-flex; align-items:center; gap:0.5rem; border:1px solid rgba(255,255,255,0.12); border-radius:var(--r-sm); padding:0.4rem 0.85rem; font-size:0.72rem; color:rgba(255,255,255,0.38); }
.bv-footer-col h5 { font-family:var(--font-display); font-weight:600; color:var(--white); font-size:0.95rem; margin-bottom:1.25rem; }
.bv-footer-col ul { list-style:none; display:flex; flex-direction:column; gap:0.7rem; margin:0; padding:0; }
.bv-footer-col ul li a { color:rgba(255,255,255,0.42); text-decoration:none; font-size:0.83rem; transition:color 0.2s; }
.bv-footer-col ul li a:hover { color:var(--gold); }
.bv-footer-bottom { display:flex; justify-content:space-between; align-items:flex-start; gap:2rem; flex-wrap:wrap; }
.bv-footer-legal { font-size:0.75rem; line-height:1.7; max-width:700px; color:rgba(255,255,255,0.35); }
.bv-footer-legal p+p { margin-top:0.5rem; }
.bv-footer-copy { font-size:0.75rem; white-space:nowrap; color:rgba(255,255,255,0.35); }

/* ── MODALS ── */
.bv-overlay { display:none; position:fixed; inset:0; z-index:500; background:rgba(10,15,30,0.78); backdrop-filter:blur(6px); align-items:center; justify-content:center; padding:1.5rem; }
.bv-overlay.open { display:flex; }
.bv-modal { background:var(--white); border-radius:var(--r-lg); max-width:640px; width:100%; max-height:92vh; overflow-y:auto; box-shadow:var(--shadow-float); animation:bvModalIn 0.3s cubic-bezier(0.34,1.56,0.64,1); }
.bv-modal-header { padding:2.5rem 2.5rem 0; display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:2rem; }
.bv-modal-stage-label { font-size:0.72rem; font-weight:600; letter-spacing:2px; text-transform:uppercase; color:var(--blue); margin-bottom:0.5rem; display:block; }
.bv-modal-title { font-family:var(--font-display); font-size:1.8rem; font-weight:700; color:var(--navy); margin:0; }
.bv-modal-price { font-size:0.9rem; color:var(--champagne); font-weight:600; margin-top:0.25rem; display:block; }
.bv-modal-close { background:var(--cream-dark); border:none; border-radius:50%; width:36px; height:36px; cursor:pointer; font-size:1rem; color:var(--slate); display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:background 0.2s; }
.bv-modal-close:hover { background:var(--parchment); }
.bv-modal-body { padding:0 2.5rem 2.5rem; }
.bv-modal-desc { font-size:0.95rem; color:var(--slate); line-height:1.7; margin-bottom:2rem; padding-bottom:2rem; border-bottom:1px solid var(--cream-dark); }
.bv-modal-benefits-title { font-weight:600; color:var(--navy); font-size:0.82rem; text-transform:uppercase; letter-spacing:1px; margin-bottom:1.25rem; font-family:var(--font-body); }
.bv-modal-benefits { list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:0.75rem; margin-bottom:2rem; padding:0; }
.bv-modal-benefits li { display:flex; align-items:flex-start; gap:0.6rem; font-size:0.85rem; color:var(--ink); line-height:1.45; }
.bv-modal-benefits li::before { content:'✓'; color:var(--sky); font-weight:700; flex-shrink:0; margin-top:1px; }
.bv-modal-compliance { background:var(--gold-pale); border-left:3px solid var(--gold); border-radius:0 var(--r-sm) var(--r-sm) 0; padding:1rem 1.25rem; font-size:0.8rem; color:#7A5700; line-height:1.6; margin-bottom:2rem; }
.bv-modal-actions { display:flex; gap:1rem; }
.bv-btn-modal-primary { flex:1; padding:1rem; background:var(--navy); color:var(--gold); border:none; border-radius:var(--r-md); font-size:0.95rem; font-weight:600; cursor:pointer; font-family:var(--font-body); transition:background 0.2s; }
.bv-btn-modal-primary:hover { background:var(--navy-lite); color:var(--gold); }
.bv-btn-modal-secondary { padding:1rem 1.5rem; background:transparent; color:var(--slate); border:1px solid var(--parchment); border-radius:var(--r-md); font-size:0.95rem; cursor:pointer; font-family:var(--font-body); transition:all 0.2s; }
.bv-btn-modal-secondary:hover { border-color:var(--slate); color:var(--ink); }

/* ── ANIMATIONS ── */
@keyframes bvFadeUp { from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none} }
@keyframes bvPulse { 0%,100%{opacity:1}50%{opacity:0.3} }
@keyframes bvBounce { 0%,100%{transform:rotate(45deg) translateY(0)}50%{transform:rotate(45deg) translateY(5px)} }
@keyframes bvModalIn { from{transform:scale(0.92) translateY(20px);opacity:0}to{transform:none;opacity:1} }

/* ── RESPONSIVE ── */
@media(max-width:1100px){.bv-stages-grid{grid-template-columns:1fr 1fr}.bv-how-grid{grid-template-columns:1fr 1fr;gap:3rem}.bv-how-grid::before{display:none}}
@media(max-width:900px){.bv-what-grid,.bv-earn-grid,.bv-charity-grid{grid-template-columns:1fr;gap:2.5rem}.bv-trust-grid{grid-template-columns:1fr 1fr}.bv-footer-top{grid-template-columns:1fr 1fr}.bv-hero-stats{flex-direction:column}.bv-hero-stat{border-right:none;border-bottom:1px solid rgba(255,255,255,0.08)}.bv-hero-stat:last-child{border-bottom:none}}
@media(max-width:680px){.bv-section{padding:4rem 5%}.bv-stages-grid{grid-template-columns:1fr}.bv-how-grid{grid-template-columns:1fr}.bv-trust-grid{grid-template-columns:1fr}.bv-charity-types{grid-template-columns:1fr}.bv-modal-benefits{grid-template-columns:1fr}.bv-nav-links{display:none}.bv-footer-top{grid-template-columns:1fr}.bv-modal-actions{flex-direction:column}.bv-hero{padding:100px 5% 60px}}

/* ── WHY BONVIVER SECTION ── */
.bv-why-grid { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:start; }
.bv-why-copy { display:flex; flex-direction:column; gap:2.5rem; }
.bv-why-block { display:flex; gap:1.25rem; align-items:flex-start; }
.bv-why-icon { font-size:1.75rem; flex-shrink:0; width:48px; text-align:center; margin-top:0.2rem; }
.bv-why-title { font-family:var(--font-display); font-size:1.15rem; font-weight:700; color:var(--navy); margin-bottom:0.5rem; }
.bv-why-text { font-size:0.9rem; color:var(--slate); line-height:1.7; margin:0; }
.bv-why-panel { position:sticky; top:6rem; }
.bv-why-panel-inner { background:var(--navy); border-radius:var(--r-lg); overflow:hidden; }
.bv-why-panel-top { padding:2.5rem 2.5rem 0; }
.bv-why-panel-eyebrow { font-size:0.72rem; font-weight:600; letter-spacing:2px; text-transform:uppercase; color:var(--gold); display:block; margin-bottom:0.75rem; }
.bv-why-panel-title { font-family:var(--font-display); font-size:1.75rem; font-weight:700; color:var(--white); line-height:1.2; margin-bottom:1.25rem; }
.bv-why-panel-title em { font-style:italic; color:var(--gold); }
.bv-why-panel-text { font-size:0.875rem; color:rgba(255,255,255,0.55); line-height:1.7; margin-bottom:1rem; }
.bv-why-winners { display:flex; flex-direction:column; gap:0; border-top:1px solid rgba(255,255,255,0.1); margin-top:1.5rem; }
.bv-why-winner { display:flex; align-items:center; gap:1rem; padding:1.1rem 2.5rem; border-bottom:1px solid rgba(255,255,255,0.07); }
.bv-why-winner:last-child { border-bottom:none; }
.bv-why-winner-icon { font-size:1.25rem; flex-shrink:0; }
.bv-why-winner-title { font-weight:600; font-size:0.88rem; color:var(--white); margin:0 0 2px; }
.bv-why-winner-sub { font-size:0.78rem; color:rgba(255,255,255,0.42); margin:0; }
.bv-why-compliance { padding:1.25rem 2.5rem; background:rgba(255,255,255,0.05); font-size:0.78rem; color:rgba(255,255,255,0.38); line-height:1.6; border-top:1px solid rgba(255,255,255,0.08); }

@media(max-width:900px){ .bv-why-grid{grid-template-columns:1fr;gap:2.5rem} .bv-why-panel{position:static} }

/* ── JOURNEY SECTION ── */
.bv-journey-grid { display:flex; align-items:flex-start; gap:0; margin-bottom:3rem; }
.bv-journey-step { flex:1; text-align:center; padding:0 1rem; }
.bv-journey-num { width:32px; height:32px; border-radius:50%; background:var(--gold); color:var(--navy); font-family:var(--font-display); font-weight:700; font-size:0.85rem; display:flex; align-items:center; justify-content:center; margin:0 auto 1rem; }
.bv-journey-icon { font-size:2.25rem; margin-bottom:0.75rem; display:block; }
.bv-journey-title { font-family:var(--font-display); font-size:1.2rem; font-weight:700; color:var(--navy); margin-bottom:0.6rem; }
.bv-journey-text { font-size:0.83rem; color:var(--slate); line-height:1.65; }
.bv-journey-arrow { font-size:1.5rem; color:var(--gold); flex-shrink:0; padding-top:1.5rem; opacity:0.6; align-self:flex-start; margin-top:2.5rem; }
.bv-journey-cta { display:flex; align-items:center; justify-content:space-between; background:var(--navy); border-radius:var(--r-lg); padding:2rem 2.5rem; flex-wrap:wrap; gap:1.5rem; }
.bv-journey-cta-title { font-family:var(--font-display); font-size:1.3rem; color:var(--white); font-weight:600; margin:0 0 0.3rem; }
.bv-journey-cta-sub { font-size:0.85rem; color:rgba(255,255,255,0.4); margin:0; }

@media(max-width:900px){ .bv-journey-grid{flex-direction:column;align-items:center;gap:1.5rem} .bv-journey-arrow{transform:rotate(90deg);margin:0;padding:0} .bv-journey-step{max-width:400px;width:100%} }
