/* BURN by Rebecca Louise — website v3
   Brand kit: Mauve #956C7D · Soft Mauve #CBB4BB · Warm Cream #F2EDE7 · Soft White #FAF9F7 · Charcoal #292929 · Taupe #A49A93
   Type: Cormorant Garamond (headlines) + Inter (everything functional) */
:root{
  --mauve:#956C7D;--mauveDeep:#7E5A6A;--mauveSoft:#CBB4BB;--rose:#F3ECEF;
  --cream:#F2EDE7;--soft:#FAF9F7;--white:#FFFFFF;--ink:#292929;--inkSoft:#5B534F;--taupe:#A49A93;--taupeDeep:#7E736C;
  --line:#ECE7E0;--lineSoft:#F3EFE9;
  --serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;--sans:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  --r:18px;--shadow:0 18px 40px -24px rgba(41,41,41,.35);--hdr:68px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px}
html,body{margin:0;padding:0;overflow-x:hidden}
body{background:var(--soft);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
button{font-family:inherit}
:focus-visible{outline:2px solid var(--mauve);outline-offset:3px}
h1,h2,h3,h4{font-family:var(--serif);font-weight:600;letter-spacing:-.01em;margin:0;line-height:1.05}
h1{font-size:clamp(40px,6.2vw,80px)}
h2{font-size:clamp(34px,4.4vw,56px)}
h3{font-size:clamp(24px,2.4vw,30px);line-height:1.12}
p{margin:0}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.narrow{max-width:760px}
.kick{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--mauve);font-weight:600}
.lede{font-size:18px;color:var(--inkSoft);font-weight:400}
.muted{color:var(--taupeDeep)}
section{padding:104px 0}
.bg-cream{background:var(--cream)}
.bg-white{background:var(--white)}
.sec-head{max-width:700px;margin:0 auto 48px;text-align:center}
.sec-head h2{margin:10px 0 14px}
.sec-head p{color:var(--inkSoft);font-size:17px}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;border:1px solid var(--mauve);background:var(--mauve);color:#fff;font-weight:500;font-size:15px;letter-spacing:.02em;padding:15px 30px;min-height:52px;cursor:pointer;text-decoration:none;transition:background .15s,transform .1s}
.btn:hover{background:var(--mauveDeep);border-color:var(--mauveDeep)}
.btn:active{transform:translateY(1px)}
.btn.ghost{background:transparent;color:var(--mauve)}
.btn.ghost:hover{background:var(--rose)}
.btn.light{background:#fff;color:var(--ink);border-color:#fff}
.btn.sm{padding:9px 18px;min-height:40px;font-size:14px}
.btn.block{width:100%}
.link{color:var(--mauve);font-weight:500;text-decoration:none;border-bottom:1px solid var(--mauveSoft)}
.link:hover{border-color:var(--mauve)}
.textbtn{appearance:none;background:none;border:0;padding:4px 0;font:inherit;color:var(--mauve);font-weight:500;cursor:pointer;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--mauveSoft)}

/* small feature tags */
.tag{display:inline-block;font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;border-radius:999px;padding:2px 8px;vertical-align:middle;white-space:nowrap;line-height:1.5;margin-left:6px}
.tag.new{background:var(--mauve);color:#fff}
.tags{display:inline-flex;flex-wrap:wrap;gap:4px;margin-left:6px;vertical-align:middle}
.tags .tag{margin-left:0}
.members-new{text-align:center;font-size:13.5px;color:var(--taupeDeep);margin:18px auto 0;max-width:640px}
.members-new b{color:var(--mauveDeep);font-weight:600}

/* header */
header.site{position:sticky;top:0;z-index:40;background:rgba(250,249,247,.94);backdrop-filter:saturate(1.2) blur(10px);-webkit-backdrop-filter:saturate(1.2) blur(10px);border-bottom:1px solid var(--line)}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;height:var(--hdr);gap:20px}
.logo img{height:22px;width:auto}
nav.main{display:flex;gap:30px;font-size:14px;color:var(--inkSoft)}
nav.main a{text-decoration:none;padding:6px 0;border-bottom:1px solid transparent}
nav.main a:hover,nav.main a.on{color:var(--ink);border-color:var(--mauve)}
.hdr-right{display:flex;align-items:center;gap:16px}
.member-link{font-size:12.5px;color:var(--taupeDeep);text-decoration:none;white-space:nowrap}
.member-link:hover{color:var(--mauve)}
.burger{display:none;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:#fff;cursor:pointer;align-items:center;justify-content:center}
.burger span,.burger span::before,.burger span::after{display:block;width:16px;height:1.5px;background:var(--ink);position:relative;content:""}
.burger span::before{position:absolute;top:-5px}
.burger span::after{position:absolute;top:5px}
.mnav{display:none;border-top:1px solid var(--line);background:var(--soft);padding:8px 24px 20px}
.mnav a{display:block;padding:13px 0;border-bottom:1px solid var(--lineSoft);text-decoration:none;font-size:16px}
.mnav .member-link{display:block;border:0;padding-top:16px;font-size:14px}
header.site.open .mnav{display:block}

/* sticky join */
.sticky-join{position:fixed;left:50%;bottom:16px;transform:translate(-50%,140%);z-index:45;transition:transform .3s ease;display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 8px 8px 22px;box-shadow:0 18px 40px -16px rgba(41,41,41,.35);max-width:calc(100% - 24px)}
.sticky-join.show{transform:translate(-50%,0)}
.sticky-join .t{font-size:13.5px;color:var(--inkSoft);white-space:nowrap}
.sticky-join .t b{color:var(--ink);font-weight:600}
.sticky-join .btn{min-height:44px;padding:10px 22px}

/* ================= HERO (v3: big full-width photo first) ================= */
.hero{position:relative;padding:0;min-height:clamp(560px,calc(100vh - var(--hdr)),820px);display:flex;align-items:center;overflow:hidden;background:#EDE6DD}
.hero picture,.hero .hero-img{position:absolute;inset:0;width:100%;height:100%}
.hero .hero-img{object-fit:cover;object-position:50% 34%;left:-10%;width:110%;max-width:none}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(250,249,247,0) 44%,rgba(250,249,247,.8) 60%,rgba(250,249,247,.95) 100%);pointer-events:none}
.hero .wrap{position:relative;z-index:2;width:100%;display:flex;justify-content:flex-end}
.hero .copy{max-width:500px;padding:40px 0}
.hero h1{margin:14px 0 18px;color:var(--ink);font-size:clamp(44px,4.9vw,68px)}
.hero .lede{color:var(--inkSoft);margin-bottom:26px;max-width:470px}
.hero .ctas{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.hero .sub-cta{font-size:13.5px;color:var(--inkSoft)}
.quiz-link{display:inline-flex;align-items:center;gap:8px;margin-top:20px;font-size:15px;font-weight:500;color:var(--mauveDeep);background:none;border:0;padding:6px 0;cursor:pointer;text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--mauveSoft)}
.quiz-link:hover{text-decoration-color:var(--mauve)}
.hero .proof{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:26px;padding-top:18px;border-top:1px solid rgba(41,41,41,.12);font-size:13px;color:var(--inkSoft)}
.hero .proof span::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--mauve);margin-right:8px;vertical-align:middle}

/* app strip directly below the hero */
.appstrip{padding:72px 0 88px;background:var(--cream)}
.screens{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;align-items:start;max-width:1040px;margin:0 auto}
.screen{margin:0}
.screen figcaption{text-align:center;margin-top:14px}
.screen figcaption b{display:block;font-family:var(--serif);font-size:24px;font-weight:600}
.screen figcaption span{font-size:13px;color:var(--taupeDeep)}
.phone{background:#fff;border:7px solid #1F1B1D;border-radius:34px;overflow:hidden;box-shadow:0 30px 50px -24px rgba(41,41,41,.55);position:relative}
.phone img{width:100%;height:auto;display:block}

/* plan preview (My BURN plan, BURN COMPLETE) */
.planbox{margin:72px auto 0;max-width:1040px;background:#fff;border:1px solid var(--line);border-radius:26px;padding:40px;display:grid;grid-template-columns:1fr 1.25fr;gap:40px;align-items:start}
.planbox h2{font-size:clamp(32px,3.6vw,46px);margin:10px 0 12px}
.planbox .lede{font-size:16px}
.steps3{display:grid;gap:16px}
.step h3{font-family:var(--sans);font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--taupeDeep);margin:0 0 10px}
.opts{display:flex;flex-wrap:wrap;gap:8px}
.chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 14px;font-size:13.5px;color:var(--inkSoft);cursor:pointer;min-height:40px}
.chip.on{background:var(--mauve);border-color:var(--mauve);color:#fff}
.days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.days .chip{padding:0;border-radius:12px;font-size:12px}
.plan-out{margin-top:20px;background:var(--rose);border-radius:var(--r);padding:20px 22px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.plan-out .t{font-family:var(--serif);font-size:24px;line-height:1.2}
.plan-out .s{font-size:13px;color:var(--inkSoft)}

/* WHY BURN · MOVE NOURISH THRIVE */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.pillar{position:relative;border-radius:var(--r);overflow:hidden;min-height:600px;display:flex;align-items:flex-end;color:#fff;background:#3E2F37}
.pillar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pillar::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(30,22,26,0) 38%,rgba(30,22,26,.8) 100%)}
.pillar .in{position:relative;z-index:2;padding:30px}
.pillar h3{font-size:46px;letter-spacing:.04em}
.pillar p{font-size:15px;color:#F4ECEF;margin:6px 0 14px}
.pillar a{color:#fff}
.tierchips{display:flex;gap:6px;flex-wrap:wrap}
.tierchips span,.tierchips a{font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;border-radius:999px;padding:4px 10px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.35);text-decoration:none}
.whys{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:44px;padding-top:32px;border-top:1px solid var(--line)}
.whys b{display:block;font-family:var(--serif);font-size:23px;font-weight:600;line-height:1.15;margin-bottom:6px}
.whys span{font-size:14px;color:var(--inkSoft)}

/* WORKOUTS + CHALLENGES */
.disco{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-bottom:30px}
.disco button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 16px;font-size:13.5px;color:var(--inkSoft);cursor:pointer;min-height:40px}
.disco button.on{background:var(--mauve);border-color:var(--mauve);color:#fff}
.wgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.wcard{background:#fff;border-radius:16px;overflow:hidden;border:1px solid var(--line);text-decoration:none;color:inherit;display:block}
.wcard .im{aspect-ratio:4/3;overflow:hidden;background:var(--cream)}
.wgrid.lib .wcard .im{aspect-ratio:16/10}
.wcard img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.wcard:hover img{transform:scale(1.04)}
.wcard .b{padding:14px 16px 16px}
.wcard h4{font-family:var(--sans);font-size:15px;font-weight:600;letter-spacing:0;line-height:1.3}
.wcard .meta{font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--taupeDeep);margin-top:4px}
.wcard[hidden]{display:none}
.programs{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.programs.three{grid-template-columns:repeat(3,1fr)}
.prog{position:relative;border-radius:16px;overflow:hidden;aspect-ratio:1400/1946;background:var(--cream);color:#fff;text-decoration:none;display:block}
.prog img{width:100%;height:100%;object-fit:cover}
.prog::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 50%,rgba(30,22,26,.7) 100%)}
.prog .in{position:absolute;left:0;right:0;bottom:0;padding:16px;z-index:2}
.prog .k{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;opacity:.9}
.prog h4{font-size:24px;margin-top:2px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.split>*{min-width:0}
.chall{margin-top:80px;display:grid;grid-template-columns:.8fr 1.2fr;gap:48px;align-items:center}
.chall>*{min-width:0}
.chall h3{font-size:clamp(32px,3.4vw,44px);margin:10px 0 12px}

/* TESTIMONIALS */
.tgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.tcard{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px 26px;display:flex;flex-direction:column}
.stars{color:var(--mauve);letter-spacing:3px;font-size:14px}
.tcard h4{font-family:var(--sans);font-size:15px;font-weight:600;margin:10px 0 8px;letter-spacing:0}
.tcard blockquote{margin:0;font-family:var(--serif);font-size:22px;line-height:1.35;color:var(--ink);flex:1}
.tcard .who{margin-top:16px;font-size:12.5px;color:var(--taupeDeep);display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}
.tcard.tag-result{background:var(--rose);border-color:transparent}
.more-reviews{margin-top:18px}
.reviews-toggle{text-align:center;margin-top:26px}

/* MEET REBECCA */
.meet{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.meet>*{min-width:0}
.meet .photos{position:relative;height:620px}
.meet .photos .a{position:absolute;left:0;top:0;width:72%;height:90%;border-radius:22px;overflow:hidden}
.meet .photos .b{position:absolute;right:0;bottom:0;width:46%;height:52%;border-radius:22px;overflow:hidden;border:6px solid var(--cream)}
.meet .photos img,.meet .photos picture{width:100%;height:100%;object-fit:cover;display:block}
.facts{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:26px 0}
.fact{border-top:1px solid rgba(41,41,41,.12);padding-top:12px}
.fact b{font-family:var(--serif);font-size:30px;display:block;line-height:1.05}
.fact span{font-size:13px;color:var(--taupeDeep)}

/* QUIZ banner */
.quizband{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;background:var(--rose);border-radius:22px;padding:24px 28px;margin:0 auto 40px;max-width:1040px}
.quizband h3{font-size:28px}
.quizband p{font-size:14.5px;color:var(--inkSoft);margin-top:4px}

/* PRICING */
.billing{display:flex;width:max-content;max-width:100%;margin:0 auto 32px;padding:4px;border:1px solid var(--line);border-radius:999px;background:#fff}
.billing button{appearance:none;border:0;background:transparent;font:500 14px var(--sans);letter-spacing:.02em;color:var(--inkSoft);padding:10px 24px;min-height:44px;border-radius:999px;cursor:pointer;white-space:nowrap}
.billing button.on{background:var(--mauve);color:#fff}
.billing button .sv{font-size:11px;font-weight:600;letter-spacing:.06em;margin-left:6px;opacity:.85}
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch}
.tier{background:#fff;border:1px solid var(--line);border-radius:22px;padding:32px 28px;display:flex;flex-direction:column;position:relative;min-width:0}
.tier.feat{border:1.5px solid var(--mauve);box-shadow:0 22px 50px -26px rgba(149,108,125,.6)}
.tier .flag{position:absolute;top:-13px;left:28px;background:var(--mauve);color:#fff;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;border-radius:999px;padding:5px 12px}
.tier .tn{font-family:var(--serif);font-size:32px;font-weight:600;line-height:1.1;color:var(--mauveDeep)}
.tier .price{display:flex;align-items:baseline;gap:6px;margin:12px 0 2px;flex-wrap:wrap}
.tier .amt{font-family:var(--serif);font-size:56px;font-weight:600;line-height:1}
.tier .per{color:var(--taupeDeep);font-size:14px}
.save{display:inline-block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;border-radius:999px;padding:4px 10px;background:var(--mauve);color:#fff}
.tier .alt{font-size:13px;color:var(--taupeDeep);min-height:20px}
.tier .desc{font-size:15px;color:var(--inkSoft);margin:10px 0 20px;min-height:48px}
.tier .secure{font-size:12px;color:var(--taupe);text-align:center;margin-top:8px}
.tier ul{list-style:none;margin:20px 0 0;padding:0;font-size:14.5px}
.tier li{display:flex;gap:10px;padding:8px 0;border-top:1px solid var(--lineSoft)}
.tier li:first-child{border-top:0}
.tier li::before{content:"";flex:0 0 16px;height:16px;margin-top:4px;border-radius:50%;background:var(--rose) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 8.3l2.2 2.2 4.8-5' fill='none' stroke='%23956C7D' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat}
.tier li small{display:block;color:var(--taupeDeep);font-size:12.5px}
.tier li.inc{font-weight:600;color:var(--mauveDeep)}
.btn[data-state=loading]{pointer-events:none;opacity:.85}
.addon{margin:24px auto 0;display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center;background:var(--cream);border-radius:22px;padding:26px 30px}
.addon .ico{width:52px;height:52px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center}
.addon .ico svg{width:24px;height:24px;stroke:var(--mauve);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.addon h3{font-size:28px}
.addon p{font-size:15px;color:var(--inkSoft);margin-top:4px}
.compare-link{text-align:center;margin-top:28px;font-size:14.5px}
.legend{text-align:center;font-size:13px;color:var(--taupeDeep);margin-top:16px}
.tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:18px;background:#fff;-webkit-overflow-scrolling:touch}
table.cmp{border-collapse:collapse;width:100%;font-size:14px}
.cmp th,.cmp td{padding:13px 16px;text-align:center;border-bottom:1px solid var(--lineSoft)}
.cmp th:first-child,.cmp td:first-child{text-align:left}
.cmp thead th{font-family:var(--serif);font-size:24px;font-weight:600;background:var(--soft)}
.cmp thead th small{display:block;font-family:var(--sans);font-size:12px;font-weight:500;color:var(--taupeDeep)}
.cmp thead th.feat{color:var(--mauve)}
.cmp thead th:not(:first-child){width:17%}
.cmp tr.grp td{background:var(--cream);font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--taupeDeep)}
.cmp td.feat{background:rgba(243,236,239,.55)}
.cmp td small{display:block;font-size:12px;color:var(--taupeDeep)}
.y{color:var(--mauve);font-weight:700}
.n{color:var(--mauveSoft)}

/* FAQ */
.faq details{border-bottom:1px solid var(--line);padding:20px 0}
.faq summary{cursor:pointer;font-weight:500;font-size:17px;list-style:none;display:flex;justify-content:space-between;gap:18px;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--mauve);font-size:24px;line-height:1;font-weight:300}
.faq details[open] summary::after{content:"\2013"}
.faq details p{color:var(--inkSoft);margin-top:10px;font-size:15.5px}

/* FINAL CTA */
.final{position:relative;min-height:640px;display:flex;align-items:center;color:#fff;overflow:hidden;padding:0;background:#4A3540}
.final img{position:absolute;top:0;right:0;width:50%;height:100%;object-fit:cover;object-position:50% 25%}
.final .wrap>*{max-width:46%}
.final .wrap{position:relative;z-index:2;width:100%}
.final h2{font-size:clamp(40px,5.4vw,68px);max-width:620px;margin:12px 0 18px}
.final p{max-width:460px;color:#F4ECEF;font-size:17px;margin-bottom:28px}
.final .kick{color:#F0DDE6}

/* stores */
.stores{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.stores a{display:block;line-height:0;border-radius:8px}
.stores img{height:40px;width:auto}
.stores-note{font-size:12.5px;opacity:.8;margin-top:8px}

/* footer */
footer.site{background:#2F2429;color:#EADFE4;padding:56px 0 40px;font-size:14px}
footer .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:32px}
footer .cols a{display:block;text-decoration:none;color:#EADFE4;padding:4px 0;opacity:.85;overflow-wrap:anywhere}
footer .cols .stores a{display:block;padding:0;opacity:1}
footer .cols a:hover{opacity:1}
footer h5{font-size:11px;letter-spacing:.2em;text-transform:uppercase;margin:0 0 10px;color:var(--mauveSoft);font-weight:600}
footer .logo img{height:20px}
footer .legal{margin-top:36px;padding-top:20px;border-top:1px solid rgba(255,255,255,.1);font-size:12.5px;opacity:.7}

/* inner page hero */
.phero{padding:80px 0 60px;text-align:center;background:var(--cream)}
.phero h1{font-size:clamp(40px,5.6vw,68px);margin:12px auto 16px;max-width:860px}
.phero .lede{max-width:620px;margin:0 auto}

/* simple centred pages */
.centre{max-width:680px;margin:0 auto;padding:64px 24px 96px;text-align:center}
.tick-big{width:72px;height:72px;border-radius:50%;background:var(--mauve);display:flex;align-items:center;justify-content:center;margin:0 auto 22px}
.tick-big svg{width:32px;height:32px;stroke:#fff;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.olist{counter-reset:s;list-style:none;padding:0;margin:0;text-align:left}
.olist li{counter-increment:s;display:flex;gap:16px;padding:18px 0;border-top:1px solid var(--lineSoft)}
.olist li:first-child{border-top:0}
.olist li::before{content:counter(s);flex:0 0 34px;height:34px;border-radius:50%;background:var(--rose);color:var(--mauve);font-weight:600;display:flex;align-items:center;justify-content:center;font-size:14px}
.olist b{display:block;font-weight:600}
.olist span{color:var(--inkSoft);font-size:15px}
.box{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:24px;text-align:left}
.centre .stores{justify-content:center;margin-top:22px}
.centre .stores-note{opacity:1;color:var(--taupeDeep)}

/* join / checkout */
.steps-bar{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--taupeDeep);margin-bottom:22px}
.steps-bar span{padding:6px 12px;border-radius:999px;border:1px solid var(--line);background:#fff}
.steps-bar span.on{background:var(--mauve);border-color:var(--mauve);color:#fff}
.steps-bar span.done{background:var(--rose);color:var(--mauveDeep);border-color:var(--rose)}
.tier-sum{display:flex;justify-content:space-between;align-items:center;gap:12px;background:var(--cream);border-radius:14px;padding:14px 16px;margin-bottom:18px}
.tier-sum .nm{font-family:var(--serif);font-size:24px;font-weight:600;line-height:1.1}
.tier-sum a{font-size:13px}
.bill-switch{display:flex;gap:6px;margin:-6px 0 18px;flex-wrap:wrap}
.bill-switch button{appearance:none;flex:1 1 0;border:1px solid var(--line);background:#fff;border-radius:12px;padding:10px 12px;font:500 14px var(--sans);color:var(--inkSoft);cursor:pointer;min-height:44px;text-align:left}
.bill-switch button.on{border-color:var(--mauve);background:var(--rose);color:var(--mauveDeep)}
.bill-switch button small{display:block;font-size:12px;font-weight:500;color:var(--taupeDeep)}
.fld{display:block;margin:0 0 14px}
.fld span{display:block;font-size:13.5px;font-weight:500;margin-bottom:6px}
.fld input{width:100%;font:16px var(--sans);padding:13px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);min-height:48px}
.fld input:focus{outline:2px solid var(--mauveSoft);border-color:var(--mauve)}
.fld input[readonly]{background:var(--soft);color:var(--inkSoft)}
.fld small{display:block;font-size:12.5px;color:var(--taupeDeep);margin-top:5px}
.form-err{color:#A33A3A;font-size:14px;margin:0 0 12px}
.form-err:empty{display:none}
.note-phone{display:flex;gap:10px;align-items:flex-start;background:var(--rose);border-radius:12px;padding:12px 14px;font-size:14px;color:var(--mauveDeep);margin:4px 0 16px}
.switch-mode{font-size:14.5px;text-align:center;margin-top:16px;color:var(--inkSoft)}
.switch-mode button{appearance:none;border:0;background:none;color:var(--mauve);font:inherit;font-weight:600;text-decoration:underline;cursor:pointer;padding:4px}
.pay-card{border:1px solid var(--line);border-radius:14px;padding:16px;margin-bottom:16px;background:#fff}
.pay-card .row{display:flex;justify-content:space-between;gap:10px;font-size:14px;padding:4px 0}
.signin-email{background:var(--cream);border-radius:12px;padding:14px 16px;font-size:15px;color:var(--inkSoft);margin-top:16px;overflow-wrap:anywhere}
.signin-email b{color:var(--ink)}
.qr-card{display:none;align-items:center;gap:22px;text-align:left;margin-top:18px}
.qr-card img{width:156px;height:156px;flex:0 0 156px;border-radius:10px;border:1px solid var(--line);background:#fff;padding:6px}
.qr-card h3{font-size:24px;margin-bottom:6px}
@media (min-width:900px) and (hover:hover) and (pointer:fine){.qr-card{display:flex}}
.help-list{margin:8px 0 0;padding-left:18px;color:var(--inkSoft);font-size:14.5px}
.help-list li{margin:6px 0}

/* ================= QUIZ dialog ================= */
dialog.quiz{border:0;padding:0;border-radius:26px;width:min(560px,calc(100vw - 32px));max-height:calc(100vh - 48px);background:var(--soft);color:var(--ink);box-shadow:0 40px 80px -30px rgba(41,41,41,.5);overflow:auto}
dialog.quiz::backdrop{background:rgba(41,30,36,.55)}
dialog.quiz:not([open]){display:none}
.qz{padding:30px 30px 28px;position:relative}
.qz-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}
.qz-close{appearance:none;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:#fff;cursor:pointer;font-size:20px;line-height:1;color:var(--inkSoft)}
.qz-bar{height:4px;background:var(--line);border-radius:4px;overflow:hidden;margin-bottom:22px}
.qz-bar i{display:block;height:100%;background:var(--mauve);width:0;transition:width .25s}
.qz h2{font-size:clamp(30px,6vw,40px);margin:6px 0 18px;outline:none}
.qz .sub{color:var(--inkSoft);font-size:15px;margin:-8px 0 18px}
.qz-opts{display:grid;gap:10px}
.qz-opt{appearance:none;text-align:left;width:100%;border:1px solid var(--line);background:#fff;border-radius:16px;padding:15px 18px;font:500 16px var(--sans);color:var(--ink);cursor:pointer;min-height:56px;transition:border-color .15s,background .15s}
.qz-opt small{display:block;font-weight:400;font-size:13px;color:var(--taupeDeep);margin-top:2px}
.qz-opt:hover{border-color:var(--mauveSoft)}
.qz-opt[aria-pressed=true]{border-color:var(--mauve);background:var(--rose)}
.qz-nav{display:flex;justify-content:space-between;align-items:center;margin-top:18px;gap:12px}
.qz-res{background:#fff;border:1.5px solid var(--mauve);border-radius:20px;padding:24px}
.qz-res .tn{font-family:var(--serif);font-size:40px;font-weight:600;color:var(--mauveDeep);line-height:1.05}
.qz-res .price{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;margin:6px 0 2px}
.qz-res .amt{font-family:var(--serif);font-size:40px;font-weight:600;line-height:1}
.qz-res .per{color:var(--taupeDeep);font-size:14px}
.qz-res .why{font-size:15.5px;color:var(--inkSoft);margin:12px 0 14px}
.qz-res ul{list-style:none;padding:0;margin:0 0 18px;font-size:14.5px}
.qz-res li{padding:6px 0;border-top:1px solid var(--lineSoft)}
.qz-res li:first-child{border-top:0}
.qz-res .billing{margin:12px 0 16px}

/* debug counter (preview only, ?debug=1) */
.dbg{position:fixed;left:12px;bottom:12px;z-index:60;background:#2F2429;color:#fff;font:12px/1.4 ui-monospace,Menlo,monospace;border-radius:10px;padding:8px 10px;max-width:260px;opacity:.92}

/* notes page */
.notes h2{font-size:36px;margin:40px 0 12px}
.notes h3{font-size:24px;margin:28px 0 8px}
.notes ol,.notes ul{padding-left:20px;color:var(--inkSoft)}
.notes li{margin:8px 0}
.notes code{background:var(--cream);padding:1px 6px;border-radius:6px;font-size:13px;overflow-wrap:anywhere}
.notes table{border-collapse:collapse;width:100%;font-size:14px;background:#fff}
.notes td,.notes th{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top;overflow-wrap:anywhere}
.notes blockquote{margin:10px 0;padding:10px 16px;border-left:3px solid var(--mauve);background:#fff;font-family:var(--serif);font-size:20px}
.counter{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.counter div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;overflow-wrap:anywhere}
.counter b{font-family:var(--serif);font-size:36px;display:block;line-height:1}
.evlog{font-family:ui-monospace,Menlo,monospace;font-size:12px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px;max-height:260px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere}

/* ---------- v4 ---------- */
/* hero: Rebecca (purple set) in the left panel, copy on the right */
.hero{background:#EFE9E3}
.hero .hero-img{left:0;width:60%;object-position:50% 24%}
.hero::after{background:linear-gradient(90deg,rgba(239,233,227,0) 46%,rgba(239,233,227,.92) 58%,#EFE9E3 62%)}
/* real iPhone screenshots in a CSS iPhone 16 Pro-style frame (proportions from the 1206x2622 screen) */
.device{container-type:inline-size;width:100%}
.iphone{position:relative;padding:3.6cqw;border-radius:16.4cqw;background:#141416;
  box-shadow:inset 0 0 0 .5cqw #2b2b2e,0 0 0 .55cqw #b6b0ab,0 0 0 .8cqw #8d8782,0 30px 50px -24px rgba(41,41,41,.5)}
.iphone img{display:block;width:100%;height:auto;border-radius:12.8cqw;background:#FAF9F7}
.iphone::before{content:"";position:absolute;left:50%;top:6.1cqw;transform:translateX(-50%);width:29cqw;height:8.5cqw;border-radius:5cqw;background:#000;z-index:2}
.iphone .hw{position:absolute;width:1.1cqw;background:#8d8782}
.iphone .hw.l1{left:-1.7cqw;top:17%;height:6.5cqw;border-radius:.6cqw 0 0 .6cqw}
.iphone .hw.l2{left:-1.7cqw;top:25%;height:12cqw;border-radius:.6cqw 0 0 .6cqw}
.iphone .hw.l3{left:-1.7cqw;top:33.5%;height:12cqw;border-radius:.6cqw 0 0 .6cqw}
.iphone .hw.r1{right:-1.7cqw;top:27%;height:18cqw;border-radius:0 .6cqw .6cqw 0}
.screens{gap:34px;padding:0 6px}
.screen figcaption{margin-top:18px}
/* workout tiles from the app's Move categories */
div.wcard{cursor:default}
.wcard img{object-position:50% 22%}
/* monthly challenges: text cards + real calendar screenshot */
.ccards{display:grid;gap:10px}
.ccard{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 18px}
.ccard .k{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--mauve)}
.ccard h4{font-size:24px;margin:2px 0 4px}
.ccard p{font-size:14px;color:var(--inkSoft);margin:0}
.chall-phone{width:100%;max-width:290px;margin:0 auto}
.duo{display:flex;gap:22px;justify-content:center;min-width:0}
.duo>div{flex:0 1 230px;min-width:0}
.duo .lower{margin-top:44px}
/* build & schedule preview */
.step-sub{font-size:12.5px;margin:-4px 0 8px}
.chip small{font-size:11px;opacity:.75;margin-left:3px}
.plan-out .t{font-size:22px}
.cmp thead th small .billed-line{display:block;font-weight:400}
.cmp thead th small .billed-line:empty{display:none}

/* ---------- responsive ---------- */
@media (max-width:1060px){
  nav.main{gap:20px}
  .member-link.top{display:none}
  .wgrid,.programs{grid-template-columns:repeat(3,1fr)}
  .whys{grid-template-columns:repeat(2,1fr)}
  .screens{grid-template-columns:repeat(4,220px);overflow-x:auto;padding-bottom:12px;scroll-snap-type:x mandatory;max-width:none}
  .screen{scroll-snap-align:start}
}
@media (max-width:900px){
  nav.main{display:none}
  .burger{display:flex}
  .meet,.split,.chall,.planbox{grid-template-columns:1fr}
  .pillars{grid-template-columns:1fr}
  .pillar{min-height:440px}
  .tiers{grid-template-columns:1fr;max-width:540px;margin:0 auto}
  .tgrid{grid-template-columns:1fr 1fr}
  .addon{grid-template-columns:auto 1fr;max-width:540px}
  .addon .btn{grid-column:1 / -1}
  footer .cols{grid-template-columns:1fr 1fr}
  .hero .hero-img{width:64%}
  .hero::after{background:linear-gradient(90deg,rgba(239,233,227,0) 40%,rgba(239,233,227,.9) 56%,#EFE9E3 64%)}
  .chall-phone{max-width:260px}
}
@media (max-width:640px){
  :root{--hdr:60px}
  section{padding:68px 0}
  .wrap{padding:0 20px}
  .hdr-right .btn{padding:8px 16px;min-height:40px;font-size:13.5px}
  h1{font-size:40px}
  /* hero: full-width photo, copy overlaid at the bottom; Join Now inside the first screen */
  .hero{min-height:0;height:calc(100svh - var(--hdr));max-height:760px;align-items:flex-end}
  @supports not (height:100svh){.hero{height:calc(100vh - var(--hdr) - 80px)}}
  .hero .hero-img{object-position:62% 30%;left:0;width:100%}
  .hero::after{background:linear-gradient(180deg,rgba(30,22,26,0) 30%,rgba(30,22,26,.55) 55%,rgba(30,22,26,.86) 100%)}
  .hero .wrap{justify-content:flex-start}
  .hero .copy{padding:0 0 22px;color:#fff}
  .hero .kick{color:#F3E3EA}
  .hero h1{color:#fff;font-size:40px;margin:8px 0 10px}
  .hero .lede{color:#F4ECEF;font-size:15.5px;line-height:1.5;margin-bottom:16px}
  .hero .ctas{gap:10px}
  .hero .ctas .btn{flex:1 1 100%}
  .hero .sub-cta{width:100%;text-align:center;color:#F4ECEF;font-size:12.5px}
  .hero .quiz-link{color:#fff;text-decoration-color:rgba(255,255,255,.6);margin-top:8px;display:flex;justify-content:center;width:100%}
  .hero .proof{display:none}
  .appstrip{padding:52px 0 64px}
  .screens{grid-template-columns:repeat(4,68%);gap:16px}
  .planbox{padding:24px 20px;margin-top:52px;border-radius:22px}
  .whys{grid-template-columns:1fr;gap:18px}
  .tgrid{grid-template-columns:1fr}
  .wgrid,.programs,.programs.three{grid-template-columns:repeat(2,1fr);gap:12px}
  .wcard .b{padding:10px 12px 12px}
  .wcard h4{font-size:13.5px}
  .prog h4{font-size:18px}
  .prog .k{display:none}
  .prog .in{padding:12px}
  .chall{margin-top:56px;gap:28px}
  .chall-phone{max-width:240px}
  .duo>div{flex-basis:44%}
  .duo .lower{margin-top:28px}
  .meet .photos{height:440px}
  .tier{padding:30px 22px}
  .billing button{padding:10px 16px}
  .addon{grid-template-columns:1fr;padding:24px 22px;text-align:left}
  .quizband{padding:22px}
  .quizband .btn{width:100%}
  .cmp{font-size:12.5px}
  .cmp th,.cmp td{padding:10px 6px}
  .cmp th:first-child,.cmp td:first-child{padding-left:12px;width:46%}
  .cmp thead th{font-size:14px;line-height:1.15;overflow-wrap:anywhere}
  .cmp .tag{display:block;width:max-content;margin:3px 0 0}
  .cmp .tags{display:flex;margin:3px 0 0}
  .cmp .tags .tag{display:inline-block;margin:0}
  .final{min-height:0;display:block}
  .final img{position:relative;width:100%;height:440px}
  .final .wrap{padding-top:36px;padding-bottom:52px}
  .final .wrap>*{max-width:none}
  footer .cols{grid-template-columns:1fr}
  .sticky-join{left:12px;right:12px;transform:translateY(140%);bottom:12px;justify-content:space-between;max-width:none}
  .sticky-join.show{transform:translateY(0)}
  .sticky-join .t{font-size:12.5px;white-space:normal;line-height:1.3}
  .phero{padding:52px 0 40px}
  dialog.quiz{width:100vw;max-width:100vw;height:100%;max-height:100%;margin:0;border-radius:0}
  .qz{padding:20px 20px 28px}
}
@media (max-width:900px) and (min-width:641px){.final img{width:46%}}
[hidden]{display:none!important}

/* ---------- v6 hero: IMG_0302, squatting with her phone (BRN-058) ---------- */
@media (min-width:641px){
  .hero .hero-img{width:62%;object-position:50% 42%}
  .hero::after{background:linear-gradient(90deg,rgba(239,233,227,0) 50%,rgba(239,233,227,.92) 59%,#EFE9E3 63%)}
}
@media (max-width:900px) and (min-width:641px){.hero .hero-img{width:64%}}
@media (max-width:640px){
  /* phone: photo across the top, fading into a dark copy panel so Join Now sits above the fold */
  .hero{background:#2B2226}
  .hero .hero-img{width:100%;height:60%;object-position:50% 45%;-webkit-mask-image:linear-gradient(180deg,#000 74%,transparent 100%);mask-image:linear-gradient(180deg,#000 74%,transparent 100%)}
}

/* v6: thank-you + journey preview */
.ty-sign{font-family:var(--serif);font-style:italic;font-size:22px;color:var(--mauve);margin:0 0 20px}
.ty-stores{justify-content:center;margin:0 0 6px}
.ty-paid{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;border-top:1px solid var(--lineSoft);margin-top:6px;padding-top:14px;font-size:14px;color:var(--inkSoft)}
.preview-bar{background:var(--ink);color:#fff;font-size:13px;text-align:center;padding:9px 16px}
.preview-bar a{color:#fff;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.preview-bar span{opacity:.75;margin-right:6px}
.jr{max-width:1340px;margin:0 auto;padding:40px 24px 80px}
.jr-head{text-align:center;max-width:640px;margin:0 auto 30px}
.jr-steps{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:28px 22px}
.jr-step .lab{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.jr-step .n{width:30px;height:30px;border-radius:50%;background:var(--mauve);color:#fff;display:flex;align-items:center;justify-content:center;font:600 13px/1 var(--sans);flex:none}
.jr-step b{font-family:var(--serif);font-size:22px;font-weight:600}
.jr-step .sub{font-size:13px;color:var(--taupe);margin:-4px 0 10px 40px}
.jr-frame{width:400px;max-width:100%;height:820px;border-radius:30px;border:8px solid #221E1C;overflow:hidden;background:#fff;box-shadow:0 16px 36px rgba(34,30,28,.18);margin:0 auto}
.jr-frame iframe{width:100%;height:100%;border:0;display:block}
.jr-step .open{display:block;text-align:center;margin-top:8px;font-size:13px}
@media (max-width:480px){.jr{padding:24px 12px 60px}.jr-steps{grid-template-columns:1fr}.jr-frame{height:760px;border-width:6px}}

/* v6.1 (BRN-058, Rebecca's website-to-app journey): plan chooser, checkout = name + email + password + payment */
.chooser{display:grid;gap:12px;text-align:left;margin:0 0 18px}
.ch-opt{appearance:none;position:relative;display:grid;grid-template-columns:1fr auto;gap:4px 14px;align-items:center;width:100%;border:1px solid var(--line);background:#fff;border-radius:18px;padding:18px 20px;font:inherit;color:var(--ink);text-align:left;cursor:pointer;min-height:56px}
.ch-opt:hover{border-color:var(--mauveSoft)}
.ch-opt.feat{border:1.5px solid var(--mauve)}
.ch-opt .nm{font-family:var(--serif);font-size:24px;font-weight:600;line-height:1.1}
.ch-opt .pr{text-align:right;white-space:nowrap;font-size:13px;color:var(--inkSoft)}
.ch-opt .pr b{font-size:19px;color:var(--ink);font-weight:600}
.ch-opt .ds{grid-column:1/-1;font-size:14px;color:var(--inkSoft)}
.ch-opt .bl{grid-column:1/-1;font-size:12.5px;color:var(--taupeDeep)}
.ch-opt .bl:empty{display:none}
.ch-opt .go{grid-column:1/-1;font-size:14px;font-weight:600;color:var(--mauve);margin-top:4px}
.ch-opt .fl{position:absolute;top:-11px;right:18px;background:var(--mauve);color:#fff;font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;border-radius:999px;padding:4px 10px}
.pw-wrap{position:relative;display:block}
.pw-wrap input{padding-right:78px}
.pw-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);appearance:none;border:0;background:var(--rose);color:var(--mauveDeep);font:600 13px var(--sans);border-radius:999px;padding:8px 12px;min-height:36px;cursor:pointer}
.pay-sec{text-align:left;border-top:1px solid var(--lineSoft);padding-top:16px;margin-top:4px}
.pay-h{font-size:13.5px;font-weight:600;margin-bottom:10px;display:flex;justify-content:space-between;align-items:center;gap:8px}
.pay-h small{font-weight:500;color:var(--taupeDeep);font-size:12px}
.xpay{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.xbtn{appearance:none;display:flex;align-items:center;justify-content:center;gap:5px;min-height:48px;border-radius:10px;border:1px solid #1d1d1f;background:#000;color:#fff;font:600 17px/1 -apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;cursor:pointer;padding:0 8px;white-space:nowrap}
.xbtn svg{flex:none}
.xbtn.gpay{background:#fff;color:#3c4043;border-color:#dadce0;font-family:"Google Sans",Roboto,Arial,sans-serif;font-weight:500}
.xbtn.lnk{background:#00D66F;border-color:#00D66F;color:#011E0F;font-weight:700;letter-spacing:-.02em}
.or-line{display:flex;align-items:center;gap:10px;margin:14px 0 12px;font-size:12.5px;color:var(--taupeDeep)}
.or-line::before,.or-line::after{content:"";flex:1;height:1px;background:var(--line)}
.card-el{border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden;margin-bottom:12px}
.card-el input{width:100%;border:0;font:16px var(--sans);padding:13px 14px;min-height:48px;color:var(--ink);background:transparent}
.card-el input:focus{outline:2px solid var(--mauveSoft);outline-offset:-2px}
.card-el .r2{display:grid;grid-template-columns:1fr 1fr 1fr;border-top:1px solid var(--line)}
.card-el .r2 input+input{border-left:1px solid var(--line)}
.card-brands{display:flex;gap:4px;align-items:center}
.card-brands i{display:inline-block;font:700 9px/1 var(--sans);letter-spacing:.02em;font-style:normal;border:1px solid var(--line);border-radius:4px;padding:3px 4px;color:var(--inkSoft);background:#fff}
.pay-fine{font-size:12px;color:var(--taupeDeep);text-align:center;margin-top:10px}
.form-err:empty{display:none}
.ty h1 .yi{display:block}
.ty-dl{margin-top:22px;text-align:center}
.ty-dl h2{font-size:clamp(28px,4vw,36px);margin:0 0 6px}
.ty-signin{background:var(--rose);color:var(--mauveDeep);border-radius:14px;padding:14px 16px;font-size:15px;margin:16px auto 0;max-width:520px;text-align:left;display:flex;gap:10px;align-items:flex-start}
.ty-signin b{overflow-wrap:anywhere}
.cmp tfoot td{padding:14px 10px;text-align:center;border-top:1px solid var(--line)}
.cmp tfoot .btn{padding:9px 14px;min-height:40px;font-size:13.5px;white-space:nowrap}
/* journey: two paths + app screens */
.jr-path{margin:44px 0 16px;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:26px}
.jr-head + .jr-path{border-top:0;padding-top:0;margin-top:10px}
.jr-path h2{font-size:clamp(26px,3.4vw,34px);margin:0}
.jr-path p{margin:0;color:var(--inkSoft);font-size:14.5px}
.jr-step .where{display:inline-block;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;border-radius:999px;padding:3px 9px;margin-left:auto;background:var(--rose);color:var(--mauveDeep)}
.jr-step .where.app{background:var(--ink);color:#fff}
.jr-step .lab{flex-wrap:wrap}

/* feedback 15 Oct: monthly view drops the "or $x / month billed yearly" line; home grid shows a short mix under All */
html[data-billing="monthly"] .tier .alt{display:none}
.disco:has([data-f="all"].on) + #home-grid .wcard.x{display:none}
.wcard .im.tint{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#EFE3E8,#E2CFD8)}
.wcard .im.tint span{font-family:var(--serif,"Cormorant Garamond",serif);font-size:24px;font-weight:600;color:#6E4A5A}
/* join chooser: annual Save badge (BRN-058) */
.ch-opt .save{grid-column:1/-1;justify-self:start}
body[data-page="join"] main{padding-bottom:48px}

/* Annual starburst sticker (Rebecca, 15 Oct: "the annual asterisk thing to save twenty two percent") */
.burst{position:absolute;top:-16px;right:-8px;width:58px;height:58px;display:grid;place-items:center;text-align:center;background:var(--mauve);color:#fff;font:700 10.5px/1.05 var(--sans);letter-spacing:.04em;transform:rotate(12deg);
  clip-path:polygon(50% 0%,59% 12%,73% 5%,76% 20%,91% 19%,87% 33%,100% 40%,90% 51%,100% 61%,87% 67%,91% 81%,76% 80%,73% 95%,59% 88%,50% 100%,41% 88%,27% 95%,24% 80%,9% 81%,13% 67%,0% 61%,10% 51%,0% 40%,13% 33%,9% 19%,24% 20%,27% 5%,41% 12%)}
.bill-switch button{position:relative}
.bill-switch{margin-top:10px}
.billing button{position:relative}
.billing button .sv{position:absolute;top:-30px;right:-18px;width:62px;height:62px;margin:0;opacity:1;display:grid;place-items:center;text-align:center;padding:10px;background:var(--mauve);color:#fff;font:700 9px/1.1 var(--sans);letter-spacing:.03em;text-transform:uppercase;transform:rotate(12deg);
  clip-path:polygon(50% 0%,59% 12%,73% 5%,76% 20%,91% 19%,87% 33%,100% 40%,90% 51%,100% 61%,87% 67%,91% 81%,76% 80%,73% 95%,59% 88%,50% 100%,41% 88%,27% 95%,24% 80%,9% 81%,13% 67%,0% 61%,10% 51%,0% 40%,13% 33%,9% 19%,24% 20%,27% 5%,41% 12%)}
.billing{margin-top:26px}
.billing button .sv{top:-46px;right:-30px;width:64px;height:64px;padding:12px 8px;white-space:normal;font-size:8.5px;line-height:1.05;overflow:visible}
.billing{overflow:visible;margin-top:40px}
.bill-switch button small{white-space:pre-line}
html[data-burn-checkout="stripe"] .xpay{margin-bottom:16px}

/* quiz result: Does this work for you? Yes / Too much for me */
.qz-ask{font-family:var(--serif);font-size:22px;font-weight:600;margin:4px 0 12px;color:var(--ink)}
.qz-yesno{display:grid;gap:10px}

/* 15 Oct (Rebecca): no starburst - a clean, obvious solid pill on the Annual option */
.burst,.billing button .sv{clip-path:none!important;transform:none!important;width:auto!important;height:auto!important;display:inline-block!important;padding:4px 10px!important;border-radius:999px!important;background:var(--mauve)!important;color:#fff!important;font:700 10.5px/1.2 var(--sans)!important;letter-spacing:.08em!important;text-transform:uppercase!important;white-space:nowrap!important;box-shadow:0 2px 8px rgba(111,76,91,.25)}
.burst{position:absolute!important;top:-11px!important;right:10px!important}
.burst br{display:none}
.billing button .sv{position:absolute!important;top:-14px!important;right:-8px!important;margin:0!important}
.billing{margin-top:24px!important}

/* Brief item 2: the membership she already picked, marked in the chooser */
.ch-opt.cur{border:2px solid var(--mauve);box-shadow:0 0 0 4px rgba(0,0,0,.03)}
.ch-opt.cur .go::before{content:'\2713  Your pick \00B7  '}

/* Brief 19 Oct item 3: once she is in Join, no site navigation - logo, steps, back and help/privacy only */
body[data-page="join"] header.site nav.main,
body[data-page="join"] header.site .hdr-right .member-link,
body[data-page="join"] header.site .hdr-right .btn,
body[data-page="join"] header.site .burger,
body[data-page="join"] header.site .mnav{display:none!important}
.join-back{display:block;margin:0 0 14px;font-size:14px;color:var(--inkSoft)}
.join-help{margin:34px 0 0;font-size:13px;color:var(--inkSoft);text-align:center}
.join-help a{color:inherit;text-decoration:underline}
/* 20 Oct (Rebecca): the Save badge overlapped the Monthly/Annual pill. It now sits clear ABOVE the pill,
   centred over "Annual", with a small gap - same solid pill style. */
.billing{margin-top:40px!important}
.billing button[data-bill="annual"] .sv{top:auto!important;bottom:calc(100% + 10px)!important;left:50%!important;right:auto!important;transform:translateX(-50%)!important}

/* 20 Oct (Rebecca): the Save badge overlapped the Monthly/Annual pill. It now sits clear ABOVE the pill,
   centred over "Annual", with a small gap - same solid pill style. */
.billing{margin-top:40px!important}
.billing button[data-bill="annual"] .sv{top:auto!important;bottom:calc(100% + 10px)!important;left:50%!important;right:auto!important;transform:translateX(-50%)!important}

/* Brief 19 Oct item 4: first name + email first ("Let's Get You Started!"), then checkout - same form, two steps */
section[data-sub="details"] [data-only="pay"],section[data-sub="pay"] [data-only="details"]{display:none!important}
section[data-sub="details"] form[data-checkout-form] > *:not(.tier-sum):not([data-sub-details]):not(.form-err){display:none!important}
section[data-sub="pay"] [data-sub-details]{display:none!important}
[data-sub-details] .btn{margin-top:6px}
.who{margin:0 0 14px;font-size:14px;color:var(--inkSoft)}
.who .textbtn{margin-left:6px}

/* Brief 19 Oct item 6: optional, unticked marketing opt-in + short privacy note on the details step */
.optin{display:flex;gap:10px;align-items:flex-start;margin:4px 0 16px;font-size:14px;color:var(--inkSoft);cursor:pointer;text-align:left}
.optin input{width:18px;height:18px;margin:2px 0 0;flex:none;accent-color:var(--mauve)}
.optin small{color:var(--taupeDeep)}
.privacy-note{margin:12px 0 0;font-size:12.5px;color:var(--inkSoft);text-align:center}
.privacy-note a{color:inherit;text-decoration:underline}

/* Brief 19 Oct item 8: order summary - renewal date + tax line */
.pay-card .tax-note{margin:8px 0 0;font-size:12.5px;color:var(--inkSoft)}

/* Brief 19 Oct item 10: one payment button - card, Apple Pay, Google Pay and Link are chosen once, on Stripe's secure page */
.pay-methods{margin:6px 0 0;font-size:14px;color:var(--inkSoft)}

/* Brief 19 Oct item 18: features not in the app yet are labelled, never shown as live */
.soon{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:999px;background:var(--rose);color:var(--mauveDeep);font:600 10px/1.6 var(--sans);letter-spacing:.06em;text-transform:uppercase;font-style:normal;vertical-align:middle}

/* Brief 19 Oct items 15-17: BURN COMPLETE showcase on the home page */
.complete-show .sec-head p{max-width:560px;margin:12px auto 0}
.cs-steps{list-style:none;counter-reset:cs;display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding:0;margin:28px 0 18px}
.cs-steps li{counter-increment:cs;background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px 18px 20px;display:flex;flex-direction:column;gap:6px}
.cs-steps li::before{content:counter(cs);font:600 12px var(--sans);color:var(--mauve);letter-spacing:.08em}
.cs-steps li b{font-family:var(--serif);font-size:22px;font-weight:600}
.cs-steps li span{font-size:14px;color:var(--inkSoft)}
.cs-steps li.on{border:1.5px solid var(--mauve)}
.cs-two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.cs-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px}
.cs-card h3{margin:0 0 8px}
.cs-card p{margin:0;color:var(--inkSoft)}
.cs-cta{text-align:center;margin:26px 0 0}
@media (max-width:760px){.cs-steps{grid-template-columns:1fr 1fr}.cs-two{grid-template-columns:1fr}}

/* Brief 19 Oct item 11: card / Apple Pay / Google Pay on the page (Stripe Elements, mounted only when real checkout is on) */
.xpay-el:empty,.pay-el:empty{display:none}
.xpay-el{margin:10px 0 12px}
.pay-el{margin:8px 0 4px}
html[data-pay-inline="on"] .pay-methods{display:none}

/* Item 34: Terms page (draft) */
.terms-page{padding:48px 0 72px}
.terms-page h2{font-size:26px;margin:34px 0 10px}
.terms-page p,.terms-page li{color:var(--ink);line-height:1.65}
.terms-page ul{padding-left:20px}
.review-note{background:#fff4d6;border:1.5px solid #e0b84c;border-radius:14px;padding:14px 18px;margin:0 0 28px;font-size:14px;color:#5a4410}
mark.tc{background:#fff0b3;color:#5a4410;padding:0 4px;border-radius:4px;font-size:.88em;font-weight:600}
.terms-table{border:1px solid var(--line);border-radius:14px;overflow:hidden;margin:12px 0 16px;background:#fff}
.terms-table .tr{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:8px;padding:12px 16px;border-top:1px solid var(--line);font-size:15px}
.terms-table .tr:first-child{border-top:0}
.terms-table .th{background:var(--rose);font-weight:600;font-size:13px;letter-spacing:.04em;text-transform:uppercase}
.legal a{color:inherit;text-decoration:underline;margin-left:4px}
.pay-terms{margin:10px 0 0;font-size:12.5px;color:var(--inkSoft)}
.pay-terms a{color:inherit;text-decoration:underline}

/* ===== Part B (draft): life and motion. Layout unchanged. ===== */
.rv{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.2,1)}
.rv.in{opacity:1;transform:none}
.tour{display:grid;grid-template-columns:minmax(220px,300px) 1fr;gap:44px;align-items:center;max-width:1120px;margin:0 auto}
.tour-video .device{animation:floaty 6s ease-in-out infinite}
.tour-vid{display:block;width:100%;height:auto;aspect-ratio:390/844;object-fit:cover;background:#f6f3ef}
.tour-cap{text-align:center;margin:14px 0 0;font-family:var(--serif);font-size:20px}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.carousel{min-width:0}
.carousel .screens{display:flex;grid-template-columns:none;gap:26px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:6px 4px 14px;max-width:none;-webkit-overflow-scrolling:touch}
.carousel .screens::-webkit-scrollbar{display:none}
.carousel .screen{flex:0 0 210px;scroll-snap-align:center;transition:transform .4s ease}
.carousel .screen:hover{transform:translateY(-6px)}
.dots{display:flex;justify-content:center;gap:8px;margin-top:6px}
.dots button{width:8px;height:8px;border-radius:99px;border:0;padding:0;background:var(--line);cursor:pointer;transition:width .3s,background .3s}
.dots button.on{width:22px;background:var(--mauve)}
@media (max-width:860px){.tour{grid-template-columns:1fr;gap:28px}.tour-video{max-width:240px;margin:0 auto}.carousel .screen{flex-basis:62vw;max-width:250px}}
.pb{background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px 22px 24px;margin:26px auto 18px;max-width:760px;display:grid;gap:16px}
.pb-q b{display:block;font-family:var(--serif);font-size:21px;font-weight:600;margin-bottom:8px}
.pb-chips{display:flex;flex-wrap:wrap;gap:8px}
.pb-chips button{appearance:none;border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 16px;min-height:44px;font:500 14px var(--sans);color:var(--ink);cursor:pointer;transition:background .2s,color .2s,border-color .2s,transform .15s}
.pb-chips button:hover{border-color:var(--mauveSoft)}
.pb-chips button:active{transform:scale(.97)}
.pb-chips button.on{background:var(--mauve);border-color:var(--mauve);color:#fff}
.pb [data-pb-go]{justify-self:start}
.pb-out h3{margin:4px 0 10px}
.pb-week{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.pb-week li{display:grid;grid-template-columns:52px 1fr auto;gap:12px;align-items:center;background:var(--cream);border-radius:14px;padding:12px 14px;animation:pbIn .45s both}
.pb-week .d{font-weight:600;color:var(--mauve);letter-spacing:.04em}
.pb-week .m{font-size:13px;color:var(--taupeDeep);white-space:nowrap}
.pb-note{font-size:13px;color:var(--inkSoft);margin:10px 0 0}
@keyframes pbIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.wcard,.tier,.ccard{transition:transform .25s ease,box-shadow .25s ease}
@media (hover:hover){.wcard:hover,.ccard:hover{transform:translateY(-4px)}}
html.review [data-new-copy]{outline:2px dashed #e0b84c;outline-offset:3px;background:#fff6d6}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}.tour-video .device{animation:none}.pb-week li{animation:none}.carousel .screen,.wcard,.ccard{transition:none}}
