/* AfriBao bb.css: shared components added for the Business Builder launch.
   Urgency strip · countdown · spots pips · VSL slot · hero video · lead forms · cookie banner on mobile. */

/* ── Urgency strip (homepage, under the hero) ─────────────────────────── */
.bb-strip{position:relative;z-index:3;background:#0D0D0D;border-top:1px solid rgba(200,150,12,.35);border-bottom:1px solid rgba(200,150,12,.18);color:#F2E8D5;font-family:'Outfit',sans-serif}
.bb-strip-in{max-width:1180px;margin:0 auto;padding:1.4rem 1.5rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:1.2rem 2rem;align-items:center}
.bb-strip .k{display:block;font-size:.72rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#C8960C;margin-bottom:.35rem}
.bb-strip .v{display:block;font-size:1.15rem;font-weight:700;line-height:1.25;color:#FCFCF7}
.bb-strip .v small{font-size:.85rem;font-weight:600;color:rgba(242,232,213,.75)}
.bb-strip .cta{display:inline-block;background:#C8960C;color:#141414;font-weight:800;font-size:.85rem;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;padding:.95rem 1.6rem;border-radius:6px;white-space:nowrap;transition:background .2s,transform .2s}
.bb-strip .cta:hover{background:#F2E8D5;transform:translateY(-2px)}
@media (max-width:900px){.bb-strip-in{grid-template-columns:1fr 1fr;padding:1.2rem 1rem}.bb-strip .cta{grid-column:1/-1;text-align:center}}
@media (max-width:420px){.bb-strip .v{font-size:1rem}}

/* ── Countdown blocks ─────────────────────────────────────────────────── */
.cd{display:inline-flex;gap:.5rem;font-variant-numeric:tabular-nums}
.cd .cd-u{display:inline-flex;flex-direction:column;align-items:center;min-width:3.1rem;padding:.45rem .4rem;border-radius:6px;background:rgba(200,150,12,.12);border:1px solid rgba(200,150,12,.35)}
.cd .cd-u b{font-size:1.35rem;font-weight:800;line-height:1;color:inherit}
.cd .cd-u i{font-style:normal;font-size:.62rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;opacity:.8;margin-top:.25rem}
.cd-light .cd-u{background:rgba(20,20,20,.06);border-color:rgba(20,20,20,.18)}

/* ── Spots pips ───────────────────────────────────────────────────────── */
[data-spots-pips]{display:inline-flex;gap:6px;vertical-align:middle}
[data-spots-pips] i{display:block;width:10px;height:10px;border-radius:50%;background:#D4A43A}
[data-spots-pips] i.taken{background:transparent;box-shadow:inset 0 0 0 1.5px rgba(212,164,58,.55)}
[data-spots-pips][hidden]{display:none}

/* ── VSL slot: hidden until AFRIBAO.vslUrl is set in bb.js ───────────── */
.vsl{padding:4.5rem 1.5rem;background:#0D0D0D;color:#F2E8D5}
.vsl[hidden]{display:none}
.vsl-in{max-width:960px;margin:0 auto;text-align:center}
.vsl .k{display:block;font-family:'Outfit',sans-serif;font-size:.75rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#C8960C;margin-bottom:.8rem}
.vsl h2{font-family:'Bebas Neue',sans-serif;font-size:clamp(2rem,4.5vw,3.2rem);letter-spacing:.04em;line-height:1;margin:0 0 1.6rem;color:#FCFCF7}
.vsl-frame{position:relative;aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:#000;border:1px solid rgba(200,150,12,.3);box-shadow:0 30px 80px rgba(0,0,0,.45)}
.vsl-frame iframe,.vsl-frame video{position:absolute;inset:0;width:100%;height:100%;border:0}
.vsl.light{background:#FAF6F0;color:#141414}.vsl.light h2{color:#141414}
/* Portrait (9:16) VSL: sized to fit a phone screen without scrolling */
.vsl-frame.portrait{aspect-ratio:9/16;width:min(420px,100%,calc((100svh - 140px) * 9 / 16));margin:0 auto}
.vsl-frame video{object-fit:contain;background:#000}
.vsl-cta{display:flex;flex-direction:column;align-items:center;gap:.6rem;margin-top:1.6rem}
.vsl-cta a{display:inline-block;background:#C8960C;color:#141414;font-family:'Outfit',sans-serif;font-weight:800;font-size:.9rem;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;padding:1rem 1.8rem;border-radius:6px}
.vsl-cta a:hover{background:#F2E8D5}
.vsl-cta span{font-family:'Outfit',sans-serif;font-size:.85rem;font-weight:600;opacity:.8}

/* ── "Watch Anisha" bubble (bottom-left; WhatsApp is bottom-right) ────── */
.vsl-bubble{position:fixed;left:16px;bottom:20px;z-index:8400;display:flex;align-items:center;gap:10px;padding:6px 30px 6px 6px;border:1px solid rgba(200,150,12,.55);border-radius:999px;background:#141414;color:#F2E8D5;font-family:'Outfit',sans-serif;text-align:left;cursor:pointer;box-shadow:0 10px 30px rgba(0,0,0,.35);animation:vbIn .45s ease-out both}
.vsl-bubble[hidden]{display:none}
.vsl-bubble:focus-visible{outline:2px solid #E8B84B;outline-offset:3px}
.vb-face{position:relative;flex:none;width:56px;height:56px;border-radius:50%;background:#333 center/cover;box-shadow:0 0 0 2px #C8960C}
.vb-play{position:absolute;right:-2px;bottom:-2px;width:22px;height:22px;border-radius:50%;background:#C8960C}
.vb-play::after{content:'';position:absolute;left:8px;top:6px;border-style:solid;border-width:5px 0 5px 8px;border-color:transparent transparent transparent #141414}
.vb-text{display:flex;flex-direction:column;line-height:1.2}
.vb-text b{font-size:.95rem;color:#FCFCF7}
.vb-text small{font-size:.74rem;color:rgba(242,232,213,.8)}
.vb-x{position:absolute;top:2px;right:6px;width:22px;height:22px;line-height:22px;text-align:center;font-size:18px;color:rgba(242,232,213,.75);border-radius:50%}
.vb-x:hover,.vb-x:focus-visible{color:#fff;background:rgba(255,255,255,.1);outline:none}
@keyframes vbIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.vsl-bubble{animation:none}}
@media (max-width:480px){.vsl-bubble{left:12px;bottom:16px}.vb-face{width:50px;height:50px}.vb-text small{display:none}}
body.has-sticky .vsl-bubble{bottom:84px}

/* Full-screen player opened from the bubble */
.vsl-modal{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(8,8,8,.92)}
.vm-box{position:relative;display:flex;flex-direction:column;align-items:center;gap:12px;width:min(440px,100%)}
.vm-frame{width:min(100%,calc((100svh - 150px) * 9 / 16));aspect-ratio:9/16;border-radius:14px;overflow:hidden;background:#000;border:1px solid rgba(200,150,12,.35)}
.vm-frame video{width:100%;height:100%;object-fit:contain;display:block}
.vm-close{position:absolute;top:-6px;right:-6px;z-index:2;width:44px;height:44px;border-radius:50%;border:0;background:#141414;color:#F2E8D5;font-size:26px;line-height:44px;cursor:pointer;box-shadow:0 0 0 1px rgba(200,150,12,.5)}
.vm-cta{display:block;width:100%;max-width:min(100%,calc((100svh - 150px) * 9 / 16));box-sizing:border-box;text-align:center;background:#C8960C;color:#141414;font-family:'Outfit',sans-serif;font-weight:800;font-size:.95rem;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;padding:.95rem 1rem;border-radius:8px}
.vm-note{font-family:'Outfit',sans-serif;font-size:.8rem;color:rgba(242,232,213,.75)}
html.vsl-open,html.vsl-open body{overflow:hidden}

/* ── Hero video loop: sits over the static hero art once configured ──── */
[data-hero-video]{position:absolute;inset:0;z-index:1;pointer-events:none}
[data-hero-video] .hero-loop{width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.2s ease}
[data-hero-video].has-video .hero-loop{opacity:1}

/* ── Lead forms: consent, status and WhatsApp fallback ────────────────── */
.bb-consent{display:flex;gap:12px;align-items:flex-start;font-size:14px;line-height:1.55}
.bb-consent input{width:22px;height:22px;margin:2px 0 0;accent-color:#C8960C;flex:none}
.bb-consent a{color:inherit;font-weight:700;text-decoration:underline}
.bb-hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.bb-status{font-size:15px;font-weight:600;line-height:1.5;margin:0}
.bb-status.err{color:#9E1C1C}
.bb-status a{color:inherit;font-weight:800;text-decoration:underline}
.bb-done{display:flex;flex-direction:column;gap:14px;padding:28px;border-radius:14px;border:1px solid rgba(200,150,12,.45);background:rgba(200,150,12,.08)}
.bb-done h3{margin:0;font-size:26px;line-height:1.15}
.bb-done p{margin:0;font-size:16px;line-height:1.6}
.bb-done .bb-btn{align-self:flex-start}
.bb-btn{display:inline-block;background:#C8960C;color:#141414;font-weight:800;font-size:15px;text-decoration:none;padding:14px 26px;border-radius:999px;border:0;cursor:pointer}
.bb-btn:hover{background:#D4A43A}
.bb-btn[disabled]{opacity:.6;cursor:wait}

/* Booking calendar on thank-you screens */
.bb-book{display:flex;flex-direction:column;gap:12px;width:100%}
.bb-book iframe{width:100%;height:720px;border:0;border-radius:10px;background:#fff}
.bb-book .bb-book-btn{align-self:stretch;text-align:center;font-size:17px;padding:18px 26px}
.bb-book-note{font-size:13px;opacity:.75}

/* Partnership application (Business Partner page, dark theme) */
.bbx{padding:6rem 1.5rem;background:#0D0D0D;color:#F2E8D5;border-top:1px solid rgba(200,150,12,.12)}
.bbx-in{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:3.5rem;align-items:start}
.bbx .k{display:block;font-size:.75rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#C8960C;margin-bottom:.8rem}
.bbx h2{font-family:'Bebas Neue',sans-serif;font-size:clamp(2.4rem,5vw,3.6rem);letter-spacing:.04em;line-height:.95;margin:0 0 1.2rem;color:#FCFCF7}
.bbx p.lead{font-size:1.02rem;line-height:1.75;color:rgba(242,232,213,.85);font-weight:500}
.bbx ol{list-style:none;padding:0;margin:1.6rem 0 0;display:flex;flex-direction:column;gap:1rem}
.bbx ol li{display:flex;gap:.9rem;align-items:flex-start;font-size:.98rem;line-height:1.55;color:rgba(242,232,213,.9)}
.bbx ol li b{display:block;color:#FCFCF7}
.bbx ol .n{flex:none;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(200,150,12,.15);border:1px solid rgba(200,150,12,.45);color:#C8960C;font-weight:800;font-size:.9rem}
.bbx-form{display:flex;flex-direction:column;gap:16px;padding:2rem;border-radius:14px;background:#151515;border:1px solid rgba(200,150,12,.2)}
.bbx-form .row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.bbx-form label{display:block;font-size:.82rem;font-weight:700;letter-spacing:.04em;color:#F2E8D5;margin-bottom:6px}
.bbx-form input[type=text],.bbx-form input[type=email],.bbx-form input[type=tel],.bbx-form select,.bbx-form textarea{width:100%;box-sizing:border-box;background:#0D0D0D;border:1px solid rgba(242,232,213,.22);border-radius:8px;color:#FCFCF7;font:500 1rem 'Outfit',sans-serif;padding:.8rem .9rem}
.bbx-form input:focus,.bbx-form select:focus,.bbx-form textarea:focus{outline:2px solid #C8960C;outline-offset:1px;border-color:transparent}
.bbx-form .bb-status.err{color:#FF8A80}
.bbx-form .bb-btn{border-radius:6px;letter-spacing:.12em;text-transform:uppercase;font-size:.85rem;align-self:flex-start}
@media (max-width:860px){.bbx-in{grid-template-columns:1fr;gap:2.2rem}.bbx-form .row2{grid-template-columns:1fr}.bbx{padding:4.5rem 1rem}.bbx-form{padding:1.4rem}}

/* ── Cookie banner: compact on phones ─────────────────────────────────── */
@media (max-width:640px){
  #afribao-cookie{padding:.7rem 1rem!important;gap:.6rem!important}
  #afribao-cookie p{font-size:.8rem!important;min-width:0!important;flex-basis:100%!important}
  #afribao-cookie button{padding:.45rem 1rem!important;font-size:.78rem!important}
}

/* ── Sticky "Apply free" bar on phones (shown by site.js until the form is in view) ── */
.bb-sticky{position:fixed;left:0;right:0;bottom:0;z-index:8500;display:none;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:#141414;border-top:1px solid rgba(200,150,12,.35);font-family:'Outfit',sans-serif}
.bb-sticky span{color:#F2E8D5;font-size:.82rem;font-weight:600;line-height:1.3}
.bb-sticky a{flex:none;background:#C8960C;color:#141414;font-weight:800;font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;padding:.75rem 1.1rem;border-radius:6px}
@media (max-width:760px){
  .bb-sticky.show{display:flex}
  body.has-sticky #wa-btn{bottom:84px!important}
}
/* Keep the WhatsApp button clear of the cookie banner */
body.has-cookie #wa-btn{bottom:150px!important}
@media (max-width:640px){body.has-cookie #wa-btn{bottom:130px!important}}

/* No sideways scrolling on phones (decorative pseudo-elements on some pages poke past the edge). */
html,body{overflow-x:clip}

/* ── Countdown: visible ticking seconds ───────────────────────────────── */
.cd-s{display:inline-block;color:#E8B84B;min-width:2.4ch;animation:cdTick 1s steps(1) infinite}
.cd .cd-sec b{animation:cdPulse 1s ease-out infinite}
@keyframes cdTick{0%{opacity:1}50%{opacity:.75}}
@keyframes cdPulse{0%{transform:scale(1.12)}40%{transform:scale(1)}}
@media (prefers-reduced-motion:reduce){.cd-s,.cd .cd-sec b{animation:none}}

/* ── Living VSL stage: cue cards beside the video (desktop), one card under it (phones) ── */
.vsl-in:has(.vsl-stage){max-width:1240px}
.vsl-stage{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:2.2rem;align-items:center}
.vsl-side{position:relative;min-height:340px;display:flex;align-items:center}
.vsl-l{justify-content:flex-end}.vsl-r{justify-content:flex-start}
.q-card{position:absolute;width:min(300px,100%);box-sizing:border-box;padding:1.4rem 1.4rem 1.3rem;border-radius:16px;background:#141414;border:1px solid rgba(200,150,12,.4);box-shadow:0 24px 60px rgba(0,0,0,.35);color:#F2E8D5;text-align:left;font-family:'Outfit',sans-serif;opacity:0;transform:translateY(18px) scale(.97);transition:opacity .45s ease,transform .45s cubic-bezier(.2,.8,.2,1)}
.vsl-l .q-card{right:0}.vsl-r .q-card{left:0}
.q-card.in{opacity:1;transform:none}
.q-card.out{opacity:0;transform:translateY(-14px) scale(.98)}
.q-card .q-k{display:block;font-size:.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#C8960C;margin-bottom:.55rem}
.q-card b{display:block;font-size:1.12rem;line-height:1.3;color:#FCFCF7;font-weight:700}
.q-card p{margin:.55rem 0 0;font-size:.9rem;line-height:1.5;color:rgba(242,232,213,.8)}
.q-chips{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.2rem}
.q-chips span{padding:.4rem .8rem;border-radius:999px;border:1px solid rgba(200,150,12,.55);color:#E8B84B;font-weight:700;font-size:.9rem;animation:chipIn .5s both}
.q-chips span:nth-child(2){animation-delay:.25s}.q-chips span:nth-child(3){animation-delay:.5s}
@keyframes chipIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.q-photo{display:block;width:100%;height:150px;object-fit:cover;object-position:center 25%;border-radius:10px;margin-bottom:.9rem;filter:sepia(.25) saturate(1.1)}
.q-big{font-family:'Bebas Neue',sans-serif;font-size:4.2rem;line-height:.9;color:#E8B84B;margin-top:.5rem;letter-spacing:.02em}
.q-big small{font-family:'Outfit',sans-serif;font-size:1rem;letter-spacing:.12em;text-transform:uppercase;color:#F2E8D5;margin-left:.45rem}
.q-step{display:inline-flex;width:42px;height:42px;align-items:center;justify-content:center;border-radius:50%;background:#C8960C;color:#141414;font-weight:800;margin-bottom:.7rem}
.q-step + b{font-family:'Bebas Neue',sans-serif;font-size:2.4rem;letter-spacing:.04em;line-height:1}
.q-list{margin:.2rem 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.45rem;font-size:.95rem}
.q-list li::before{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;background:#C8960C;margin-right:.6rem;vertical-align:middle}
.q-seats{display:flex;gap:8px;margin:.3rem 0 .2rem}
.q-seats i{width:22px;height:22px;border-radius:50%;background:#C8960C;animation:seatIn .4s both}
.q-seats i:nth-child(2){animation-delay:.12s}.q-seats i:nth-child(3){animation-delay:.24s}.q-seats i:nth-child(4){animation-delay:.36s}.q-seats i:nth-child(5){animation-delay:.48s}
@keyframes seatIn{from{transform:scale(0)}70%{transform:scale(1.2)}to{transform:scale(1)}}
.q-cta{display:block;margin-top:.3rem;padding:.9rem 1rem;border-radius:8px;background:#C8960C;color:#141414;font-weight:800;text-align:center;text-decoration:none;letter-spacing:.04em;animation:ctaPulse 1.8s ease-in-out infinite}
@keyframes ctaPulse{0%,100%{box-shadow:0 0 0 0 rgba(200,150,12,.55)}50%{box-shadow:0 0 0 10px rgba(200,150,12,0)}}
.q-card .cd{margin-top:.2rem}
.q-card .cd .cd-u{background:rgba(200,150,12,.12);border-color:rgba(200,150,12,.45);color:#FCFCF7;min-width:2.9rem}
.vsl-mcue{display:none}
@media (max-width:999px){
  .vsl-stage{display:block}
  .vsl-side{display:none}
  .vsl-mcue{display:block;position:relative;min-height:200px;margin:1.2rem auto 0;max-width:420px}
  .vsl-mcue .q-card{position:absolute;left:0;right:0;width:auto}
}
@media (prefers-reduced-motion:reduce){.q-card,.q-chips span,.q-seats i,.q-cta{transition:none;animation:none}}

/* Tap for sound */
.vsl-frame{position:relative}
.vsl-sound{position:absolute;left:50%;top:14%;transform:translateX(-50%);z-index:3;display:flex;align-items:center;gap:.6rem;padding:.85rem 1.3rem;border:0;border-radius:999px;background:#C8960C;color:#141414;font:800 .95rem 'Outfit',sans-serif;letter-spacing:.04em;cursor:pointer;box-shadow:0 10px 30px rgba(0,0,0,.4);animation:ctaPulse 1.8s ease-in-out infinite}
.vsl-sound[hidden]{display:none}
.vs-ico{width:18px;height:14px;background:#141414;clip-path:polygon(0 30%,35% 30%,70% 0,70% 100%,35% 70%,0 70%)}

/* ── Price reveal: animated strike, then the new price counts down ─────── */
[data-price-reveal] .was{position:relative;text-decoration:none;color:inherit;opacity:.8;transition:opacity .4s}
[data-price-reveal] .was::after{content:'';position:absolute;left:-4%;top:52%;height:.12em;min-height:2px;width:0;background:#C8960C;border-radius:2px;transform:rotate(-8deg);transition:width .55s cubic-bezier(.6,0,.2,1)}
[data-price-reveal].struck .was{opacity:.5}
[data-price-reveal].struck .was::after{width:108%}
[data-price-reveal] .now{display:inline-block}
[data-price-reveal] .now.pop{animation:pricePop .5s cubic-bezier(.2,.9,.3,1.4)}
@keyframes pricePop{0%{transform:scale(1)}40%{transform:scale(1.18)}100%{transform:scale(1)}}
.q-price{display:flex;align-items:baseline;gap:.8rem;flex-wrap:wrap}
.q-price .was{font-size:1.4rem;font-weight:700;color:#F2E8D5}
.q-price .now{font-family:'Bebas Neue',sans-serif;font-size:3.4rem;line-height:1;color:#E8B84B;opacity:0;transition:opacity .3s}
.q-price.revealed .now{opacity:1}
@media (prefers-reduced-motion:reduce){[data-price-reveal] .was::after{transition:none}[data-price-reveal] .now.pop{animation:none}}

/* ── Seed to fruit: 90-day growth section ─────────────────────────────── */
.grow{position:relative;height:260vh;background:radial-gradient(ellipse at 50% 85%,rgba(27,107,58,.28),transparent 60%),#0D0D0D;color:#F2E8D5;font-family:'Outfit',sans-serif}
.grow-in{position:sticky;top:0;height:100vh;height:100svh;max-width:1180px;margin:0 auto;padding:84px 1.5rem 2rem;box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:2.5rem;align-items:center}
.grow-art{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:.9rem}
.grow-view{position:relative;width:min(100%,calc((100svh - 230px) * 4 / 5),520px);aspect-ratio:4/5;border-radius:18px;overflow:hidden;background:#0D0D0D;box-shadow:0 40px 90px rgba(0,0,0,.55),0 0 0 1px rgba(200,150,12,.22)}
.grow-stage{position:absolute;inset:0;transform-origin:50% 72%;will-change:transform}
.grow-frame{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;will-change:opacity}
.grow-frame:first-child{opacity:1}
.grow-view::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(13,13,13,.35) 0%,transparent 22%,transparent 78%,rgba(13,13,13,.55) 100%)}
.grow.grown .grow-view{box-shadow:0 40px 90px rgba(0,0,0,.55),0 0 0 1px rgba(232,184,75,.55),0 0 60px rgba(200,150,12,.18);transition:box-shadow .8s}
.grow-day{display:flex;align-items:baseline;gap:.6rem;margin-top:.4rem;font-family:'Bebas Neue',sans-serif;letter-spacing:.06em}
.grow-day span{font-size:1.2rem;color:rgba(242,232,213,.7)}
.grow-day b{font-size:3.6rem;line-height:1;color:#E8B84B;min-width:2.2ch;text-align:right;font-variant-numeric:tabular-nums}
.grow-bar{width:min(360px,80%);height:4px;border-radius:4px;background:rgba(242,232,213,.12);overflow:hidden}
.grow-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,#1B6B3A,#C8960C)}
.grow-copy .k{display:block;font-size:.75rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#C8960C;margin-bottom:.8rem}
.grow-copy h2{font-family:'Bebas Neue',sans-serif;font-size:clamp(2.4rem,5vw,3.8rem);letter-spacing:.04em;line-height:.95;margin:0 0 1.4rem;color:#FCFCF7}
.grow-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.9rem}
.grow-step{display:grid;grid-template-columns:auto 1fr;gap:.2rem 1rem;padding:.9rem 1rem;border-radius:12px;border:1px solid rgba(242,232,213,.08);opacity:.35;transform:translateX(10px);transition:opacity .45s,transform .45s,border-color .45s,background .45s}
.grow-step.on{opacity:1;transform:none;border-color:rgba(200,150,12,.45);background:rgba(200,150,12,.06)}
.grow-step .d{grid-row:span 2;font-family:'Bebas Neue',sans-serif;font-size:1.05rem;letter-spacing:.08em;color:#C8960C;padding-top:.15rem;min-width:5.4rem}
.grow-step b{font-size:1.05rem;color:#FCFCF7}
.grow-step span{font-size:.9rem;line-height:1.5;color:rgba(242,232,213,.78)}
.grow-cta{display:inline-block;margin-top:1.4rem;background:#C8960C;color:#141414;font-weight:800;font-size:.85rem;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;padding:.95rem 1.6rem;border-radius:6px;opacity:.4;transition:opacity .4s}
.grow.grown .grow-cta{opacity:1;animation:ctaPulse 1.8s ease-in-out infinite}
@media (max-width:860px){
  .grow{height:240vh}
  .grow-in{grid-template-columns:1fr;grid-template-rows:auto 1fr;gap:.6rem;padding:72px 1rem 1rem;align-content:start}
  .grow-art{height:auto;gap:.5rem}
  .grow-view{width:min(100%,calc(46svh * 4 / 5));border-radius:14px}
  .grow-day b{font-size:2.4rem}
  .grow-copy h2{font-size:2rem;margin-bottom:.7rem;text-align:center}
  .grow-copy .k{text-align:center}
  .grow-steps{gap:.45rem}
  .grow-step{padding:.55rem .75rem;grid-template-columns:1fr}
  .grow-step .d{grid-row:auto;min-width:0;font-size:.95rem;padding:0}
  .grow-step span{display:none}
  .grow-step.cur span{display:block}
  .grow-cta{display:block;text-align:center;margin-top:.8rem}
}
.grow.static{height:auto}.grow.static .grow-in{position:static;height:auto;min-height:0;padding:4rem 1.5rem}

/* ── Small signs of life ──────────────────────────────────────────────── */
/* Gold pollen drifting up through the homepage hero */
.pollen{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden}
.pollen i{position:absolute;bottom:-10px;width:5px;height:5px;border-radius:50%;background:#E8B84B;box-shadow:0 0 8px rgba(232,184,75,.9);opacity:0;animation:pollen 9s linear infinite}
@keyframes pollen{0%{transform:translate(0,0);opacity:0}10%{opacity:.85}100%{transform:translate(var(--dx,20px),-85vh);opacity:0}}
/* Gold sheen across the main buttons every few seconds */
.btn-primary,.bb-strip .cta,.v2 .btn,.grow-cta{position:relative;overflow:hidden}
.btn-primary::after,.bb-strip .cta::after,.v2 .btn::after,.grow-cta::after{content:'';position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-20deg);animation:sheen 4.5s ease-in-out infinite;pointer-events:none}
@keyframes sheen{0%,70%{left:-60%}100%{left:130%}}
@media (prefers-reduced-motion:reduce){.pollen{display:none}.btn-primary::after,.bb-strip .cta::after,.v2 .btn::after,.grow-cta::after{animation:none;display:none}}

/* Desktop stage: the centre column must have a definite width. A percentage width inside an
   "auto" grid column resolves to almost nothing, which hid the video completely. */
@media (min-width:1000px){
  .vsl-stage{grid-template-columns:minmax(0,1fr) min(400px,calc((100svh - 170px) * 9 / 16)) minmax(0,1fr)}
  .vsl-stage .vsl-frame.portrait{width:100%;max-width:none}
}

/* Phones: one milestone at a time so the growth section always fits on screen above the sticky bar */
@media (max-width:860px){
  .grow-in{padding-bottom:84px}
  .grow-steps{position:relative;min-height:96px}
  .grow-step{display:none}
  .grow-step.cur{display:grid;opacity:1;transform:none;animation:chipIn .35s both}
  .grow-step.cur span{display:block}
  .grow-copy h2{font-size:1.75rem}
}
@media (max-width:860px){
  .grow-cta{display:none}                       /* the sticky "Apply free" bar is the CTA on phones */
  .grow-view{width:min(100%,calc(44svh * 4 / 5))}
}

/* ── VSL key points stay in view while the video plays (phones and tablets) ── */
/* Tablets: video left, the live key-point card right. */
@media (min-width:600px) and (max-width:999px){
  .vsl-stage{display:grid;grid-template-columns:min(340px,calc((100svh - 190px) * 9 / 16)) minmax(0,1fr);gap:1.6rem;align-items:center;max-width:820px;margin:0 auto}
  .vsl-stage .vsl-frame.portrait{width:100%}
  .vsl-stage .vsl-mcue{margin:0;max-width:none;min-height:280px}
}
/* Phones: a shorter video so the card fits on screen directly beneath it. */
@media (max-width:599px){
  .vsl{padding:3rem 1rem}
  .vsl h2{font-size:1.7rem;margin-bottom:1rem}
  .vsl-stage .vsl-frame.portrait{width:min(100%,calc((100svh - 330px) * 9 / 16))}
  .vsl-stage .vsl-mcue{min-height:150px;margin:.7rem auto 0;max-width:420px}
  .vsl-mcue .q-card{padding:.9rem 1rem}
  .vsl-mcue .q-card b{font-size:1rem}
  .vsl-mcue .q-card p{font-size:.85rem;margin-top:.35rem}
  .vsl-mcue .q-photo{height:72px;margin-bottom:.5rem}
  .vsl-mcue .q-big{font-size:2.6rem}
  .vsl-mcue .q-step{width:32px;height:32px;margin-bottom:.4rem}
  .vsl-mcue .q-step + b{font-size:1.8rem}
  .vsl-mcue .q-price .now{font-size:2.4rem}
  .vsl-mcue .cd .cd-u{min-width:2.4rem;padding:.3rem}
}

/* Bubble is a wrapper with two sibling buttons */
.vsl-bubble{cursor:default}
.vb-open{display:flex;align-items:center;gap:10px;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}
.vb-open:focus-visible{outline:2px solid #E8B84B;outline-offset:3px;border-radius:999px}
.vb-x{border:0;background:none;cursor:pointer;padding:0}

/* Reduced motion on phones: show every growth milestone, not just the last one */
@media (max-width:860px){
  .grow.static .grow-step{display:grid;opacity:1;transform:none;animation:none}
  .grow.static .grow-step span{display:block}
}
/* Phones: long VSL headings stay compact so the video and its key-point card fit on one screen */
@media (max-width:599px){
  .vsl .k{margin-bottom:.4rem}
  .vsl h2{font-size:1.3rem;line-height:1.05;margin-bottom:.8rem}
  .vsl{padding-top:2.2rem}
}
@media (max-width:599px){ .vsl-stage .vsl-frame.portrait{width:min(100%,calc((100svh - 370px) * 9 / 16))} }

/* Tap-to-play over the VSL poster (only the poster loads until it is pressed) */
.vsl-play{position:absolute;inset:0;z-index:2;border:0;padding:0;margin:0;background:transparent;cursor:pointer}
.vsl-play[hidden]{display:none}
.vsl-play .vp-ico{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);width:76px;height:76px;border-radius:50%;background:rgba(13,13,13,.55);box-shadow:0 0 0 2px rgba(232,184,75,.9);transition:transform .2s,background .2s}
.vsl-play .vp-ico::after{content:'';position:absolute;left:31px;top:23px;border-style:solid;border-width:15px 0 15px 24px;border-color:transparent transparent transparent #E8B84B}
.vsl-play:hover .vp-ico,.vsl-play:focus-visible .vp-ico{transform:translate(-50%,-50%) scale(1.08);background:rgba(13,13,13,.75)}
.vsl-play:focus-visible{outline:3px solid #E8B84B;outline-offset:-3px;border-radius:12px}

/* ── Homepage: three simple steps (under the reviews) ─────────────────── */
.steps3{background:#F2E8D5;padding:4.5rem 1.5rem;border-top:1px solid rgba(200,150,12,.25);font-family:'Outfit',sans-serif;color:#141414}
.steps3-in{max-width:1080px;margin:0 auto;text-align:center}
.steps3-k{display:block;font-size:.75rem;font-weight:700;letter-spacing:.32em;text-transform:uppercase;color:#8A6A10;margin-bottom:.7rem}
.steps3-h{font-family:'Bebas Neue',sans-serif;font-weight:400;letter-spacing:.03em;font-size:clamp(2.4rem,4.6vw,3.8rem);line-height:.95;margin:0 0 2.4rem;color:#141414}
.steps3-list{list-style:none;margin:0 0 2.4rem;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem;text-align:left;counter-reset:none}
.steps3-list li{position:relative;display:flex;flex-direction:column;gap:.45rem;padding:1.6rem 1.5rem 1.5rem;border-radius:14px;background:#FAF6F0;border:1px solid rgba(200,150,12,.3)}
.steps3-list .n{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#141414;color:#E8B84B;font-weight:700;font-size:1.05rem;margin-bottom:.4rem}
.steps3-list b{font-size:1.2rem;font-weight:700;color:#141414}
.steps3-list li > span:last-child{font-size:.98rem;line-height:1.55;color:#4A4236}
.steps3-cta{display:inline-block;background:#C8960C;color:#141414;font-weight:800;font-size:.88rem;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;padding:1rem 1.8rem;border-radius:6px}
.steps3-cta:hover{background:#141414;color:#E8B84B}
@media (max-width:760px){.steps3{padding:3.5rem 1rem}.steps3-list{grid-template-columns:1fr;gap:.9rem}.steps3-list li{flex-direction:row;flex-wrap:wrap;align-items:center;column-gap:.9rem;padding:1.1rem 1.2rem}.steps3-list .n{margin:0}.steps3-list li > span:last-child{flex-basis:100%}}
