/* Astrara onboarding family only; never loaded by One Body Now. */
html body.astrara-onboarding {
    --funnel-primary:#d6b8ed; --funnel-secondary:#b997d5; --page-heading:#f7f0ff;
    --skin-choice-idle-bg:#1b1525; --skin-choice-idle-border:#d7bcea2b;
    --skin-choice-selected-bg:#352442; --skin-choice-selected-border:#d6b8ed;
    --skin-choice-selected-text:#fbf4ff;
    background:radial-gradient(ellipse at 50% 0%,#37244055,transparent 55%),#0e0b15!important;
    min-height:100svh;
}
.astrara-onboarding * { box-sizing:border-box; }
.astrara-onboarding :focus-visible { outline:2px solid #e6caf8; outline-offset:5px; }
.astrara-onboarding .astrara-funnel-header { width:min(1160px,calc(100% - 64px)); min-height:96px; margin:auto; display:flex; align-items:center; justify-content:space-between; gap:24px; border-bottom:1px solid #d7bcea1c; }
.astrara-onboarding .astrara-funnel-brand { display:flex; align-items:center; gap:11px; color:#f7f0ff; font:500 2rem/1 'Playfair Display',Georgia,serif; letter-spacing:-.05em; text-decoration:none; }
.astrara-onboarding .astrara-brand-mark { width:42px; height:42px; object-fit:contain; }
.astrara-onboarding .astrara-funnel-header-actions { display:flex; align-items:center; gap:28px; }
.astrara-onboarding .astrara-funnel-motto { font-size:.78rem; color:#bfaecf; }
.astrara-onboarding .astrara-funnel-languages { position:relative; font-size:.8rem; z-index:10; }
.astrara-onboarding .astrara-funnel-languages summary { display:flex; gap:8px; align-items:center; cursor:pointer; min-height:44px; list-style:none; padding:8px; }
.astrara-onboarding .astrara-funnel-languages summary::-webkit-details-marker { display:none; }
.astrara-onboarding .astrara-funnel-languages nav { position:absolute; top:100%; right:0; min-width:164px; padding:6px; background:#21182f; border:1px solid #b59bc342; border-radius:12px; box-shadow:0 15px 35px #0005; }
.astrara-onboarding .astrara-funnel-languages a { display:block; padding:10px 12px; border-radius:8px; text-decoration:none; }
.astrara-onboarding .astrara-funnel-languages a:hover,.astrara-onboarding .astrara-funnel-languages a[aria-current] { background:#d7bcea18; }
.astrara-onboarding .astrara-funnel-back-row { width:min(800px,calc(100% - 48px)); margin:18px auto -10px; }
.astrara-onboarding .astrara-funnel-back { display:inline-flex; align-items:center; gap:9px; min-height:44px; color:#cdb6dd; font-size:.83rem; text-decoration:none; }
.astrara-onboarding .funnel-content { width:min(800px,calc(100% - 48px)); max-width:800px!important; padding:40px 0 48px!important; }
.astrara-onboarding.funnel-sales-page .funnel-content { max-width:1120px!important; width:min(1120px,calc(100% - 48px)); }
.astrara-onboarding .funnel-content > .flex.flex-col { gap:28px!important; }
.astrara-onboarding [data-astrara-block="hero"] > section { padding:12px 0 8px!important; }
.astrara-onboarding [data-astrara-block="hero"] h1 { max-width:14ch; margin-inline:auto; font-size:clamp(2.6rem,4.4vw,4.5rem)!important; line-height:1.13; letter-spacing:-.045em; text-wrap:balance; }
html body.astrara-onboarding [data-astrara-block="hero"] p { color:#c5b5d1!important; font-size:1.06rem; line-height:1.7; max-width:52ch; margin:18px auto 20px!important; }
.astrara-onboarding .astrara-funnel-question { padding:16px 0!important; }
.astrara-onboarding .astrara-funnel-question > div { padding:0!important; max-width:660px; }
html body.astrara-onboarding .astrara-funnel-question h2 { font-size:clamp(1.8rem,3vw,2.5rem); line-height:1.2; letter-spacing:-.03em; text-align:center; margin-bottom:12px; text-wrap:balance; }
html body.astrara-onboarding .astrara-funnel-question h2 + p { color:#bfaecf!important; text-align:center; font-size:.94rem; line-height:1.6; margin-bottom:30px!important; }
.astrara-onboarding .obq-option { border:1px solid #d7bcea30!important; border-radius:16px!important; min-height:58px; transition:background .15s,border-color .15s,transform .15s; }
html body.astrara-onboarding .obq-option:hover { border-color:#d7bcea99!important; background-color:#261b32!important; }
html body.astrara-onboarding .obq-option.selected { border-color:#e8d1fa!important; background-color:#352442!important; outline:3px solid #e8d1fa; outline-offset:2px; box-shadow:0 0 0 6px #d5b8ee1c; }
html body.astrara-onboarding .obq-option.selected:focus-visible { outline:2px solid #fff; outline-offset:7px; }
html body.astrara-onboarding .obq-option.selected :is(.obq-checkbox,.obq-check) { background-color:#d6b8ed; border-color:#d6b8ed; color:#291637; }
html body.astrara-onboarding [data-astrara-field="age_range"] > div { max-width:none; }
.astrara-onboarding [data-astrara-field="age_range"] div[id$="-options"] { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.astrara-onboarding [data-astrara-field="age_range"] .obq-option { position:relative; padding:0; min-width:0; overflow:hidden; }
.astrara-onboarding [data-astrara-field="age_range"] picture { display:block; width:100%; }
.astrara-onboarding [data-astrara-field="age_range"] picture img { display:block; width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; object-position:center 36%; background:#251b30; }
html body.astrara-onboarding [data-astrara-field="age_range"] .obq-option > div:last-child { background:#21182f!important; color:#f5e9ff!important; min-height:53px; font:500 1rem/1.3 Outfit,system-ui,sans-serif; width:100%; padding:14px 16px; display:flex; align-items:center; justify-content:space-between; }
.astrara-onboarding [data-astrara-field="age_range"] .obq-option > div:last-child > span:last-child { display:none; }
.astrara-onboarding [data-astrara-field="age_range"] .obq-option > div:last-child::after { content:'↗'; color:#d5b8ee; font-size:1.15rem; }
html body.astrara-onboarding [data-astrara-field="age_range"] .obq-option.selected > div:last-child { background:#dec5f1!important; color:#281634!important; }
html body.astrara-onboarding [data-astrara-field="age_range"] .obq-option.selected > div:last-child::after { content:'✓'; color:#281634; font-size:1.35rem; font-weight:700; }
html body.astrara-onboarding [data-astrara-field="age_range"] .obq-option.selected::before { content:'✓'; position:absolute; z-index:1; right:12px; top:12px; display:grid; place-items:center; width:32px; height:32px; border-radius:50%; border:2px solid #fff2; background:#dec5f1; color:#281634; font:700 19px/1 system-ui; box-shadow:0 3px 12px #0005; }
html body.astrara-onboarding .astrara-entry-notice { max-width:640px; margin:22px auto 0; padding:0 5px; color:#baadc7!important; font-size:12px; line-height:1.8; text-align:center; }
html body.astrara-onboarding .astrara-entry-notice a { color:#e1c5f1; font-weight:600; text-decoration:underline; text-underline-offset:3px; }
html body.funnel-skin-astrara.astrara-onboarding [data-astrara-block="hero"] [data-personalize] > :is(a,button),
html body.funnel-skin-astrara.astrara-onboarding :is(button,a):not(.bg-transparent):not([data-pay-method]):not([id$="-date-btn"]):not([id*="-back"]):not([id*="-skip"]):is([id$="-submit"],[id*="-continue"],[id$="-btn"],[id$="-trigger"],[id$="-confirm"],.ocb-btn,[data-tt-event="ClickButton"],[type="submit"],[data-consent-choice-value="1"]) { background:linear-gradient(110deg,#e1c8f3,#c8a5e4)!important; color:#291637!important; border:1px solid #e4cef4!important; border-radius:99px!important; min-height:54px; font-weight:500; }
html body.funnel-skin-astrara.astrara-onboarding [data-astrara-block="form"] [data-consent-choice-value="0"] { color:#291637!important; }
.astrara-onboarding [data-astrara-block="hero"] [data-personalize] > :is(a,button) { width:min(100%,420px); padding:18px 28px; }
html body.astrara-onboarding :is(button,a)[id$="-submit"]:hover,html body.astrara-onboarding :is(button,a)[id*="-continue"]:hover { filter:brightness(1.06); }
html body.astrara-onboarding [id*="-response-"] { background:#22192d!important; border-color:#c9a7dd35!important; }
html body.astrara-onboarding .astrara-affiliate { padding:22px 24px; background:linear-gradient(120deg,#2a1d37,#1b1525); border:1px solid #d7bcea30; border-radius:20px; margin:0 auto; max-width:720px; }
.astrara-onboarding .astrara-affiliate-person { display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.astrara-onboarding .astrara-affiliate-person img { width:62px; height:62px; border-radius:50%; object-fit:cover; border:2px solid #dcc3ee52; }
.astrara-onboarding .astrara-affiliate-person > div { flex:1; min-width:160px; }
html body.astrara-onboarding .astrara-affiliate .astrara-affiliate-eyebrow { color:#c5a9db!important; text-transform:uppercase; letter-spacing:.13em; font-size:.62rem; line-height:1.5; margin:0 0 5px; }
html body.astrara-onboarding .astrara-affiliate h2 { font-size:1.45rem; line-height:1.2; margin:0 0 5px; }
html body.astrara-onboarding .astrara-affiliate .astrara-affiliate-title { color:#c4b4d2!important; font-size:.8rem; line-height:1.5; margin:0; }
.astrara-onboarding .astrara-affiliate-offer { display:inline-block; max-width:100%; border:1px solid #d5b6ee3a; background:#d5b6ee17; color:#e6d0f6; font-size:.8rem; line-height:1.5; padding:10px 15px; border-radius:12px; }
html body.astrara-onboarding .astrara-affiliate .astrara-affiliate-bio { margin:16px 0 0; padding-top:14px; border-top:1px solid #d7bcea1f; color:#cdbdd9!important; font-size:.85rem; line-height:1.7; }
.astrara-onboarding .astrara-affiliate-socials { display:flex; flex-wrap:wrap; gap:8px 16px; margin-top:12px; font-size:.76rem; color:#dec2ef; }
.astrara-onboarding .astrara-affiliate-socials a { min-height:32px; display:flex; align-items:center; gap:5px; }
.astrara-onboarding .funnel-progress-dot { display:none; }
html body.astrara-onboarding .funnel-progress-fill { background:#d5b8ee!important; }
.astrara-onboarding .funnel-progress-track { opacity:.6; }
.astrara-onboarding [data-astrara-block="image"] img { max-height:290px; width:100%; object-fit:cover; border-radius:24px; }
.astrara-onboarding [data-astrara-block="image"][data-astrara-step="glad-youre-here"] img { max-height:360px; max-width:100%; width:auto; height:auto; object-fit:contain; }
@media(max-width:800px) {
    .astrara-onboarding .astrara-funnel-header { width:calc(100% - 40px); min-height:80px; }
    .astrara-onboarding .astrara-funnel-motto { display:none; }
    .astrara-onboarding .funnel-content { padding-top:28px!important; }
    .astrara-onboarding [data-astrara-field="age_range"] div[id$="-options"] { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
    .astrara-onboarding [data-astrara-field="age_range"] picture img { aspect-ratio:1/1; }
}
@media(max-width:430px) {
    .astrara-onboarding .astrara-funnel-brand { font-size:1.65rem; gap:9px; }
    .astrara-onboarding .astrara-brand-mark { width:36px; height:36px; }
    .astrara-onboarding .funnel-content,.astrara-onboarding .astrara-funnel-back-row { width:calc(100% - 40px); }
    .astrara-onboarding [data-astrara-block="hero"] h1 { font-size:2.65rem!important; }
    html body.astrara-onboarding [data-astrara-block="hero"] p { font-size:.93rem; }
    html body.astrara-onboarding .astrara-affiliate { padding:18px; }
    .astrara-onboarding .astrara-affiliate-person { gap:12px; }
    .astrara-onboarding .astrara-affiliate-person img { width:50px; height:50px; }
    .astrara-onboarding .astrara-affiliate-person > div { min-width:100px; }
    .astrara-onboarding .astrara-affiliate-offer { width:100%; }
    .astrara-onboarding .funnel-content > .flex.flex-col { gap:18px!important; }
    html body.astrara-onboarding .astrara-funnel-question h2 { font-size:1.65rem; }
    .astrara-onboarding [data-astrara-field="age_range"] picture img { aspect-ratio:1.05/1; }
    .astrara-onboarding [data-astrara-field="age_range"] .obq-option > div:last-child { min-height:45px; padding:10px 13px; }
}
@media(prefers-reduced-motion:reduce) { .astrara-onboarding *, .astrara-onboarding *::before,.astrara-onboarding *::after { transition:none!important; scroll-behavior:auto!important; animation:none!important; } }

html body.astrara-onboarding .astrara-practice-story {text-align:center;padding:28px 0 12px;}
html body.astrara-onboarding .astrara-story-symbol {width:76px;height:76px;border:1px solid #594368;border-radius:50%;display:grid;place-items:center;color:#ddc5f0;font-size:48px;margin:0 auto 22px;background:radial-gradient(circle,#3e2c4f,transparent);}
html body.astrara-onboarding .astrara-story-eyebrow {font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#d4b7e5;margin:0 0 18px;}
html body.astrara-onboarding .astrara-story-description {max-width:570px;margin:22px auto 30px;color:#c5b9cf;font-size:18px;line-height:1.7;}
html body.astrara-onboarding .astrara-story-cards {display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin:32px 0;}
html body.astrara-onboarding .astrara-story-card {text-align:left;padding:26px 22px;border:1px solid #42314f;border-radius:20px;background:#21192b;}
html body.astrara-onboarding .astrara-story-card>span {display:block;color:#d6b8ed;font-size:26px;margin-bottom:18px;}
html body.astrara-onboarding .astrara-story-card h2 {font-size:24px;margin:0 0 10px;}
html body.astrara-onboarding .astrara-story-card p {color:#c5b9cf;font-size:15px;line-height:1.65;margin:0;}
html body.astrara-onboarding a.astrara-story-continue {display:flex;align-items:center;justify-content:center;gap:24px;padding:18px 28px;max-width:420px;margin:32px auto 0;border-radius:999px;background:#d6b8ed;color:#281632;font-weight:600;text-decoration:none;}

html body.astrara-onboarding .astrara-age-story {padding:18px 0 4px;}
.astrara-onboarding .astrara-age-hero {display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:40px;}
.astrara-onboarding .astrara-age-copy {min-width:0;}
html body.astrara-onboarding .astrara-age-eyebrow {display:flex;align-items:center;gap:10px;margin:0 0 26px;font-size:11px;line-height:1.6;letter-spacing:.11em;text-transform:uppercase;color:#c9aadc!important;}
.astrara-onboarding .astrara-age-eyebrow>span {font-size:25px;line-height:1;letter-spacing:0;}
html body.astrara-onboarding .astrara-age-story h1 {font-size:clamp(32px,4.5vw,58px);line-height:1.12;letter-spacing:-.035em;white-space:pre-line;margin:0 0 24px;text-wrap:balance;}
html body.astrara-onboarding .astrara-age-description {font-size:17px;line-height:1.75;color:#c7b9d3!important;margin:0;}
.astrara-onboarding .astrara-age-portrait {position:relative;overflow:hidden;border:1px solid #dbc0ed3b;border-radius:28px;background:#251a32;}
.astrara-onboarding .astrara-age-portrait img {display:block;aspect-ratio:4/5;width:100%;height:auto;object-fit:cover;object-position:center;}
.astrara-onboarding .astrara-age-portrait-mark {position:absolute;bottom:16px;right:16px;width:43px;height:43px;border:1px solid #ddc2ec69;background:#24162fbb;color:#edd6ff;border-radius:50%;display:grid;place-items:center;font-size:30px;}
html body.astrara-onboarding .astrara-rating-eyebrow {text-align:center;text-transform:uppercase;letter-spacing:.14em;font-size:10px;color:#bda5ce!important;margin:38px 0 14px;}
.astrara-onboarding .astrara-store-ratings {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
.astrara-onboarding .astrara-store-rating {display:flex;flex-direction:column;align-items:center;padding:22px 18px;border:1px solid #d7bcea36;border-radius:20px;background:linear-gradient(130deg,#2c1e37,#1a1424);color:#e8cff8;}
.astrara-onboarding .astrara-rating-top {display:flex;align-items:center;gap:14px;}
.astrara-onboarding .astrara-rating-top strong {font-size:43px;line-height:1;font-weight:500;letter-spacing:-.045em;}
.astrara-onboarding .astrara-rating-top svg {width:28px;height:31px;}
.astrara-onboarding .astrara-rating-stars {color:#e8c78f;font-size:20px;letter-spacing:4px;line-height:1;margin:11px 0 10px;}
.astrara-onboarding .astrara-rating-store {font-size:12px;line-height:1.5;color:#d8c6e5;}
.astrara-onboarding .astrara-age-continue {display:flex;align-items:center;justify-content:center;gap:24px;padding:18px 26px;margin:30px auto 0;width:100%;text-decoration:none;}
@media(max-width:620px) {
    .astrara-onboarding .astrara-age-hero {grid-template-columns:1.12fr 1fr;gap:18px;align-items:center;}
    html body.astrara-onboarding .astrara-age-story h1 {font-size:clamp(27px,6vw,36px);margin-bottom:16px;}
    html body.astrara-onboarding .astrara-age-eyebrow {font-size:9px;letter-spacing:.08em;margin-bottom:18px;gap:6px;}
    html body.astrara-onboarding .astrara-age-description {font-size:13px;line-height:1.7;}
    .astrara-onboarding .astrara-age-portrait {border-radius:19px;}
    .astrara-onboarding .astrara-age-portrait img {aspect-ratio:3/5;}
    .astrara-onboarding .astrara-age-portrait-mark {width:32px;height:32px;font-size:23px;bottom:10px;right:10px;}
    .astrara-onboarding .astrara-store-ratings {gap:12px;}
    .astrara-onboarding .astrara-store-rating {padding:20px 8px;}
    .astrara-onboarding .astrara-rating-top strong {font-size:36px;}
    .astrara-onboarding .astrara-rating-top svg {width:23px;}
    .astrara-onboarding .astrara-rating-stars {font-size:16px;letter-spacing:3px;}
}
@media(max-width:360px) {
    .astrara-onboarding .astrara-age-hero {grid-template-columns:1fr;gap:24px;}
    .astrara-onboarding .astrara-age-portrait img {aspect-ratio:5/4;object-position:center 38%;}
    html body.astrara-onboarding .astrara-age-story h1 {font-size:36px;}
    html body.astrara-onboarding .astrara-age-description {font-size:14px;}
}
