/* Labbrary+ sales page, benefits-first redesign (approved and released 2026-09-26).
   Scoped base: the sales route does not load the homepage stylesheet.
   The element resets use :where() so they weigh the same as one class. They still beat the
   theme's bare element rules, and component classes win over them as they do on the homepage.
   They mirror what the homepage stylesheet and browser defaults give the approved preview:
   16px text with normal line height and default smoothing, balanced h1 to h3, default h4 to h6
   spacing, and bolder b and strong. */
.bx-plus{font-family:Manrope,sans-serif;font-size:16px;line-height:normal;color:#f7f4ed;font-synthesis:none;-webkit-font-smoothing:auto}
.bx-plus *,.bx-plus *:before,.bx-plus *:after{box-sizing:border-box}
.bx-plus :where(h1,h2,h3){text-wrap:balance}
.bx-plus :where(h1,h2,h3,p,ul,ol,figure){margin:0}
.bx-plus :where(h4){margin:1.33em 0}
.bx-plus :where(h5){margin:1.67em 0}
.bx-plus :where(h6){margin:2.33em 0}
.bx-plus :where(ul,ol){padding:0}
.bx-plus :where(p){line-height:1.7}
.bx-plus :where(a){color:inherit;text-decoration:none}
.bx-plus :where(b,strong){font-weight:bolder}
.bx-plus :where(img){max-width:100%;display:block}
.bx-plus :where(em){font-family:Newsreader,Georgia,serif;font-weight:500;letter-spacing:-.035em}
.bx-plus :where(h2 em){line-height:1.13}
.bx-plus :where(h3){font-size:23px;line-height:1.3;font-weight:650;letter-spacing:-.035em}
.bx-plus :where(table){border:0;margin:0}
.bx-plus :where(th,td){border:0}
.bx-plus :where(button,input,select){font-family:inherit}
.bx-plus :where(button,select){font-size:14px}
.bx-plus :where(button){text-transform:none;letter-spacing:normal;line-height:1.2}
.bx-plus :where(input[type=range]){margin:2px}
.bx-plus :where(.meta){font-size:11px;color:#626774;display:block;line-height:1.4;letter-spacing:.02em}
.bx-plus .wrap{width:min(1320px,calc(100% - 112px));margin-inline:auto}
@media(max-width:1150px){.bx-plus .wrap{width:calc(100% - 72px)}}
@media(max-width:650px){.bx-plus .wrap{width:calc(100% - 40px)}}
@keyframes brand-breathe{from{transform:translateY(0) scaleY(.94)}to{transform:translateY(-18px) scaleY(1.015)}}
@keyframes bead-breathe{from{transform:translateY(0)}to{transform:translateY(-12px)}}

/* Labbrary benefits-first redesign preview (local only, 2026-09-26).
   Shared components for the homepage and Labbrary+ previews.
   Tokens mirror the approved brand kit. No new colors are introduced. */

:root{
  --ink:#080b12;--soft:#0f121a;--panel:#171b25;--paper:#f7f4ed;--white:#fffcf6;--muted:#a8acb8;--border:#2a2e3a;
  --violet:#8d7cff;--blue:#61b4ff;--mint:#51e3ce;--warm:#f4d6a2;--coral:#ff829f;
  --spectrum:linear-gradient(100deg,var(--violet),var(--blue),var(--mint),var(--warm),var(--coral));
  --pillar:linear-gradient(155deg,#171527 0%,#172c35 55%,#28463f 100%);
  --ease:cubic-bezier(.22,1,.36,1);
  --glass:linear-gradient(135deg,#ffffff17,#ffffff06),#0a0d14a6;
}
body{background:var(--ink);color:var(--paper)}

/* Preview ribbon so nobody mistakes this for production. */
.bx-preview-flag{position:fixed;left:16px;bottom:16px;z-index:60;display:flex;align-items:center;gap:10px;padding:9px 14px;border-radius:999px;background:#0f121ae6;border:1px solid #ffffff24;font:700 11px/1.2 Manrope,sans-serif;letter-spacing:.06em;color:#dfe1e7;backdrop-filter:blur(12px)}
.bx-preview-flag i{width:8px;height:8px;border-radius:50%;background:var(--mint);box-shadow:0 0 12px var(--mint)}
.bx-preview-flag a{color:var(--mint);text-decoration:underline;text-underline-offset:3px}

/* Type helpers */
.bx-kicker{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:750;letter-spacing:.02em;color:#cfd2da}
.bx-kicker b{font-weight:750;color:var(--paper)}
.bx-pill{display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:6px 14px;border-radius:999px;border:1px solid #ffffff24;background:#ffffff08;font-size:12px;font-weight:700;color:#e6e7ec}
.bx-pill i{width:7px;height:7px;border-radius:50%;background:var(--mint)}
.bx-h2{font-size:clamp(38px,4.3vw,62px);font-weight:500;line-height:1.08;letter-spacing:-.055em;text-wrap:balance}
.bx-h2 em{font-family:Newsreader,Georgia,serif;font-weight:500;letter-spacing:-.035em;color:var(--mint)}
.bx-h2 em.v{color:#c5bdf0}
.bx-h2 em.w{color:var(--warm)}
.bx-lead{font-size:17px;line-height:1.75;color:#bec2cc;max-width:620px;margin-top:22px}
.bx-note{font-size:11px;line-height:1.7;color:#8b909c;max-width:640px}
.bx-note a{text-decoration:underline;text-underline-offset:3px}
.bx-section{padding:120px 0;position:relative}
.bx-section.tight{padding:90px 0}
.bx-divider{border-top:1px solid #ffffff14}
.bx-center{text-align:center}
.bx-center .bx-lead{margin-inline:auto}

/* Buttons that match the approved spectrum-border CTA */
.bx-button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:56px;padding:0 26px;border:1px solid transparent;border-radius:16px;color:var(--white);font-size:14px;font-weight:800;background:linear-gradient(var(--ink),var(--ink)) padding-box,var(--spectrum) border-box;box-shadow:0 0 0 2px #ffffff10,0 0 16px #8d7cff12;white-space:nowrap;transition:transform .3s var(--ease),box-shadow .3s}
.bx-button:hover{transform:translateY(-3px);box-shadow:0 0 0 2px #ffffff20,0 8px 24px #8d7cff25}
.bx-button.light{color:var(--ink);background:linear-gradient(var(--white),var(--white)) padding-box,var(--spectrum) border-box}
.bx-link{display:inline-flex;align-items:center;gap:12px;font-size:14px;font-weight:750;min-height:44px;color:var(--paper)}
.bx-link:hover{text-decoration:underline;text-underline-offset:6px}

/* Photo frames */
.bx-photo{position:relative;overflow:hidden;border-radius:26px;background:#0c1018;border:1px solid #ffffff17;isolation:isolate}
.bx-photo>img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.02);transition:transform 1.4s var(--ease)}
.bx-photo.drift>img{animation:bx-drift 22s ease-in-out infinite alternate}
.bx-photo:hover>img{transform:scale(1.05)}
.bx-photo:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#080b1200 55%,#080b12b3 100%);z-index:1}
.bx-photo.no-shade:after{display:none}
@keyframes bx-drift{from{transform:scale(1.03)}to{transform:scale(1.1) translate(-1.2%,-1.4%)}}

/* Glass overlay cards (UI laid over photography) */
.bx-glass{position:absolute;z-index:2;background:var(--glass);-webkit-backdrop-filter:blur(18px) saturate(150%);backdrop-filter:blur(18px) saturate(150%);border:1px solid #ffffff2b;border-radius:18px;padding:15px 17px;color:var(--paper);box-shadow:0 22px 50px #00000073;font-size:12px;line-height:1.45}
.bx-glass small{display:block;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#b9bdc8;font-weight:750}
.bx-glass strong{display:block;font-size:22px;letter-spacing:-.04em;font-weight:650;line-height:1.15;margin-top:4px}
.bx-glass .sub{display:block;color:#c9ccd4;margin-top:4px}
.bx-glass .row{display:flex;align-items:center;justify-content:space-between;gap:14px}
.bx-glass .check{flex:none;color:#fff;font-size:18px;font-weight:800;line-height:1}
.bx-glass .dot{width:8px;height:8px;border-radius:50%;background:var(--mint);box-shadow:0 0 10px var(--mint);flex:none}
.bx-glass .price-lo{color:var(--mint)}
.bx-glass .strike{text-decoration:line-through;color:#9a9fab;font-weight:600}
.bx-float{animation:bx-float 6s ease-in-out infinite alternate}
@keyframes bx-float{from{transform:translateY(0)}to{transform:translateY(-10px)}}

/* ------------------------------------------------------------------
   HOMEPAGE HERO
------------------------------------------------------------------- */
.bx-hero .hero-copy .bx-pill{margin-bottom:24px}
.bx-hero h1 em{color:var(--mint)}
.bx-hero .hero-description{max-width:500px}
.bx-reliefs{list-style:none;margin:0 0 30px;padding:0;display:grid;gap:10px}
.bx-reliefs li{display:flex;align-items:center;gap:12px;font-size:15px;color:#dcdee4;font-weight:600}
.bx-reliefs li i{flex:none;width:18px;color:#fff;font-size:17px;font-style:normal;font-weight:800;text-align:center;line-height:1}
.bx-hero-actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.bx-hero-art .bx-hero-chip{top:4px;right:0;left:auto;width:238px;z-index:3}
.bx-spread{position:relative;height:34px;margin-top:12px}
.bx-spread:before{content:"";position:absolute;left:0;right:0;top:12px;height:1px;background:linear-gradient(90deg,#ffffff1f,#ffffff55)}
.bx-spread i{position:absolute;top:7px;left:var(--x);width:11px;height:11px;margin-left:-5.5px;border-radius:50%;background:var(--c);box-shadow:0 0 0 3px #11151f,0 0 12px var(--c);animation:bx-slide 1.5s var(--ease) both;animation-delay:var(--d)}
@keyframes bx-slide{from{left:0;opacity:0;transform:scale(.4)}to{left:var(--x);opacity:1;transform:scale(1)}}
.bx-spread b{position:absolute;top:22px;font-size:10px;font-weight:750;color:#aeb2bd;transform:translateX(-50%)}

/* ------------------------------------------------------------------
   RELIEF TRIO (cheaper / faster / no gatekeeping)
------------------------------------------------------------------- */
.bx-trio-head{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:end;margin-bottom:56px}
.bx-trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.bx-trio article{display:flex;flex-direction:column;gap:22px}
.bx-trio .bx-photo{aspect-ratio:4/5}
.bx-trio h3{font-size:26px;font-weight:650;letter-spacing:-.04em;line-height:1.2}
.bx-trio h3 em{font-family:Newsreader,Georgia,serif;font-weight:500;color:#c9ccd4}
.bx-trio p{font-size:14px;line-height:1.75;color:#aeb2bd;margin-top:10px;max-width:380px}
.bx-trio .bx-glass{left:18px;right:18px;bottom:18px}
.bx-trio .bx-glass.top{top:18px;bottom:auto;left:18px;right:auto}
.bx-proof{display:inline-flex;align-items:center;gap:10px;margin-top:14px;font-size:12px;font-weight:700;color:var(--mint)}
.bx-proof:before{content:"";width:18px;height:2px;border-radius:2px;background:currentColor}

/* ------------------------------------------------------------------
   ONCE-A-YEAR STAKES: price spread + grade distribution
------------------------------------------------------------------- */
.bx-stakes{background:#0c1017;border-top:1px solid #ffffff12;border-bottom:1px solid #ffffff12}
.bx-stakes-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:start}
.bx-stakes-copy{position:sticky;top:140px}
.bx-stakes-copy .bx-button{margin-top:34px}
.bx-stat-line{display:flex;gap:40px;margin-top:40px;padding-top:28px;border-top:1px solid #ffffff17}
.bx-stat-line div{display:flex;flex-direction:column;gap:6px}
.bx-stat-line strong{font-size:44px;font-weight:500;letter-spacing:-.05em;line-height:1;font-variant-numeric:tabular-nums}
.bx-stat-line span{font-size:12px;color:#9ea3ae;max-width:170px;line-height:1.5}
.bx-card{background:#11151e;border:1px solid #ffffff14;border-radius:26px;padding:32px}
.bx-card+.bx-card{margin-top:26px}
.bx-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:26px}
.bx-card-head h3{font-size:22px;font-weight:650;letter-spacing:-.035em;line-height:1.25}
.bx-card-head h3 em{font-family:Newsreader,Georgia,serif;font-weight:500;color:var(--mint)}
.bx-card-head p{font-size:12px;color:#9ea3ae;margin-top:6px}
.bx-tag{flex:none;font-size:10px;font-weight:750;letter-spacing:.08em;text-transform:uppercase;color:#aeb2bd;border:1px solid #ffffff24;border-radius:999px;padding:6px 10px}

/* Lollipop spread (dark variant of the approved price chart) */
.bx-lolli{display:grid;gap:4px}
.bx-lolli-row{display:grid;grid-template-columns:150px 1fr;align-items:center;min-height:52px;border-bottom:1px solid #ffffff10}
.bx-lolli-row>span{font-size:13px;font-weight:650;color:#dfe1e7}
.bx-lolli-row>span small{display:block;font-size:10px;color:#8b909c;font-weight:600;margin-top:2px}
.bx-lolli-track{position:relative;height:40px;border-left:1px solid #ffffff2a;margin-right:60px}
.bx-lolli-track:before{content:"";position:absolute;top:20px;left:0;width:var(--x);height:1px;background:linear-gradient(90deg,#ffffff30,var(--c));transform:scaleX(0);transform-origin:left;transition:transform 1.3s var(--ease) var(--d)}
.bx-lolli-track i{position:absolute;left:var(--x);top:13px;width:14px;height:14px;margin-left:-7px;border-radius:50%;background:var(--c);box-shadow:0 0 0 4px #11151e,0 0 18px var(--c);opacity:0;transform:scale(.3);transition:opacity .5s var(--ease) calc(var(--d) + .9s),transform .6s var(--ease) calc(var(--d) + .9s)}
.bx-lolli-track b{position:absolute;left:var(--x);top:9px;transform:translateX(16px);font-size:14px;font-weight:750;white-space:nowrap;opacity:0;transition:opacity .5s calc(var(--d) + 1.1s)}
.in-view .bx-lolli-track:before{transform:scaleX(1)}
.in-view .bx-lolli-track i{opacity:1;transform:scale(1)}
.in-view .bx-lolli-track b{opacity:1}
.bx-lolli-axis{display:flex;justify-content:space-between;margin:10px 60px 0 150px;font-size:10px;color:#7d828e}
.bx-range{position:relative;margin:22px 60px 0 150px;height:34px}
.bx-range:before{content:"";position:absolute;left:var(--from);width:calc(var(--to) - var(--from));top:8px;height:10px;border:1px solid #ffffff40;border-top:0;border-radius:0 0 8px 8px}
.bx-range span{position:absolute;left:calc((var(--from) + var(--to)) / 2);transform:translateX(-50%);top:14px;background:#11151e;padding:0 8px;font-size:12px;font-weight:750;color:var(--warm);white-space:nowrap}

/* Grade distribution */
.bx-grades-bar{display:flex;height:22px;border-radius:999px;overflow:hidden;background:#ffffff0d;gap:2px}
.bx-grades-bar span{height:100%;width:0;background:var(--c);transition:width 1.2s var(--ease) var(--d)}
.in-view .bx-grades-bar span{width:var(--w)}
.bx-grades-legend{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px 22px;margin-top:24px}
.bx-grades-legend div{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #ffffff10;padding-bottom:10px;min-width:0}
.bx-grades-legend b{flex:none}
.bx-grades-legend .intelle-grade-result{white-space:normal;text-align:left;line-height:1.25;max-width:calc(100% - 52px)}
.bx-grades-legend b{font-size:18px;font-weight:650;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.bx-grades-callout{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center;margin-top:26px;padding:18px 20px;border-radius:18px;background:#ff829f12;border:1px solid #ff829f33}
.bx-grades-callout strong{font-size:40px;font-weight:500;letter-spacing:-.05em;line-height:1;color:#ffb3c3}
.bx-grades-callout p{font-size:13px;color:#d9dbe1;line-height:1.6}

/* ------------------------------------------------------------------
   INSIDE THE PANEL: logo bars become biomarkers
------------------------------------------------------------------- */
.bx-inside-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:center}
.bx-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-top:32px}
.bx-tab{min-height:42px;padding:9px 16px;border-radius:12px;border:1px solid #ffffff26;background:#ffffff06;color:#cfd2da;font:700 12px/1.2 Manrope,sans-serif;transition:background .25s,border-color .25s,color .25s}
.bx-tab:hover{border-color:#a69bd9;color:#fff}
.bx-tab[aria-pressed=true]{background:#ede7ff;border-color:#ede7ff;color:#1c1530}
.bx-stage{position:relative;border-radius:30px;padding:30px 32px 26px;background:radial-gradient(ellipse at 30% 0%,#8d7cff1f,transparent 55%),radial-gradient(ellipse at 90% 100%,#51e3ce14,transparent 50%),#0e121b;border:1px solid #ffffff17;box-shadow:0 30px 80px #0007;min-height:540px;overflow:hidden}
.bx-stage-top{display:flex;align-items:center;gap:16px;min-height:52px}
.bx-stage-logo{flex:none;width:118px;height:44px;border-radius:8px;background:#fff;display:grid;place-items:center;padding:7px}
.bx-stage-logo img{max-width:100%;max-height:28px;object-fit:contain}
.bx-stage-title{flex:1;min-width:0}
.bx-stage-title strong{display:block;font-size:17px;font-weight:700;letter-spacing:-.03em;line-height:1.3}
.bx-stage-title span{font-size:12px;color:#9ea3ae}
.bx-stage-price{text-align:right}
.bx-stage-price strong{display:block;font-size:28px;font-weight:550;letter-spacing:-.05em;line-height:1}
.bx-stage-price span{font-size:10px;color:#8b909c}
.bx-stage-top.swap{animation:bx-swap .5s var(--ease)}
@keyframes bx-swap{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.bx-bars-wrap{display:flex;align-items:flex-end;gap:22px;height:260px;margin-top:26px;padding:0 4px}
.bx-bars{flex:1;display:flex;align-items:flex-end;justify-content:center;gap:var(--gap,14px);height:100%;min-width:0;overflow:hidden}
.bx-bars span{flex:0 1 var(--bw,56px);min-width:1px;height:var(--h);border-radius:999px;background:var(--c);box-shadow:inset 2px 1px 3px #ffffff80,inset -5px -4px 12px #02091455,0 0 22px color-mix(in srgb,var(--c) 30%,transparent);transform-origin:50% 100%;transition:height .8s var(--ease),flex-basis .8s var(--ease),opacity .5s,background .6s;animation:brand-breathe 6s var(--ease) infinite alternate;animation-delay:var(--dl,0s)}
.bx-bars span.leaving{opacity:0;height:0!important}
.bx-bars span.entering{height:0!important}
.bx-dots{flex:none;align-self:stretch;display:flex;flex-direction:column-reverse;justify-content:flex-start;gap:12px;padding-bottom:4px;transition:opacity .5s,width .6s var(--ease)}
.bx-dots b{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#f2b2b5,#b76278);box-shadow:inset 1px 2px 4px #ffe1e580,0 0 18px #ff829f40;animation:bead-breathe 5s ease-in-out infinite alternate;transition:opacity .5s,transform .5s var(--ease)}
.bx-dots b:nth-child(2){animation-delay:-1s}.bx-dots b:nth-child(3){animation-delay:-2s}.bx-dots b:nth-child(4){animation-delay:-3s}
.bx-dots b.off{opacity:0;transform:scale(.4)}
.bx-stage-count{display:flex;align-items:baseline;gap:12px;margin-top:22px;padding-top:20px;border-top:1px solid #ffffff14}
.bx-stage-count strong{font-size:46px;font-weight:500;letter-spacing:-.06em;line-height:1;font-variant-numeric:tabular-nums}
.bx-stage-count span{font-size:13px;color:#aeb2bd}
.bx-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px;min-height:30px}
.bx-chips span{font-size:11px;font-weight:700;padding:6px 10px;border-radius:999px;background:#ffffff0d;border:1px solid #ffffff1c;color:#e2e4ea;animation:bx-swap .45s var(--ease) both;animation-delay:var(--dl,0s)}
.bx-chips span.more{background:none;border-style:dashed;color:#9ea3ae}
.bx-missing{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-top:12px;min-height:30px}
.bx-missing>em{font-style:normal;font-size:11px;font-weight:750;color:#ffb3c3;margin-right:4px}
.bx-missing span{font-size:11px;font-weight:700;padding:6px 10px;border-radius:999px;background:#ff829f14;border:1px solid #ff829f40;color:#ffc7d3;animation:bx-swap .45s var(--ease) both;animation-delay:var(--dl,0s)}
.bx-stage-legend{display:flex;gap:18px;flex-wrap:wrap;margin-top:18px;font-size:11px;color:#8b909c}
.bx-stage-legend i{display:inline-block;width:10px;height:18px;border-radius:9px;background:var(--spectrum);vertical-align:-4px;margin-right:7px}
.bx-stage-legend b{display:inline-block;width:12px;height:12px;border-radius:50%;background:linear-gradient(135deg,#f2b2b5,#b76278);vertical-align:-2px;margin-right:7px}

/* ------------------------------------------------------------------
   HOW IT WORKS (image cards with UI overlays)
------------------------------------------------------------------- */
.bx-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:0}
.bx-step .bx-photo{aspect-ratio:4/5}
.bx-step .bx-glass{left:16px;right:16px;bottom:16px}
.bx-step-num{position:absolute;top:16px;left:16px;z-index:2;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#0a0d14b3;border:1px solid #ffffff2b;font-size:12px;font-weight:800;backdrop-filter:blur(10px)}
.bx-step h3{font-size:24px;font-weight:650;letter-spacing:-.04em;margin-top:22px}
.bx-step p{font-size:14px;line-height:1.7;color:#aeb2bd;margin-top:8px;max-width:360px}
.bx-goals{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}
.bx-goals span{font-size:11px;font-weight:700;padding:6px 10px;border-radius:999px;border:1px solid #ffffff2b;background:#ffffff0d}
.bx-goals span.on{background:#ede7ff;color:#1c1530;border-color:#ede7ff}
.bx-cost{display:grid;grid-template-columns:1fr auto;gap:6px 14px;margin-top:8px;font-size:12px}
.bx-cost span{color:#c9ccd4}
.bx-cost b{text-align:right;font-weight:700}
.bx-cost .total{border-top:1px solid #ffffff2b;padding-top:8px;margin-top:4px;font-weight:800;color:var(--mint)}
.bx-fit{display:flex;align-items:center;gap:14px;margin-top:10px}
.bx-fit .ring{position:relative;flex:none;aspect-ratio:1;width:54px;height:54px;border-radius:50%;background:conic-gradient(var(--mint) calc(var(--p)*1%),#ffffff1a 0);display:grid;place-items:center}
.bx-fit .ring:before{content:"";position:absolute;inset:5px;border-radius:50%;background:#0d1119}
.bx-fit .ring b{position:relative;font-size:16px;font-weight:800}

/* ------------------------------------------------------------------
   PLUS TEASER BAND (homepage)
------------------------------------------------------------------- */
.bx-band{position:relative;overflow:hidden;border-radius:34px;border:1px solid #ffffff17;background:#0b0e15;display:grid;grid-template-columns:1.05fr .95fr;min-height:520px}
.bx-band-copy{position:relative;z-index:2;padding:64px 60px;display:flex;flex-direction:column;justify-content:center}
.bx-band-copy .lp-plus-word,.bx-plusword{font-size:24px;font-weight:650;letter-spacing:-.055em}
.bx-plusword>span{color:var(--violet)}
.bx-band-copy h2{margin-top:18px}
.bx-band-media{position:relative;min-height:420px}
.bx-band-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.bx-band-media:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#0b0e15 0%,#0b0e1500 38%)}
.bx-band .bx-glass{right:28px;bottom:28px;width:300px}
.bx-savings{display:flex;align-items:baseline;gap:10px;margin-top:4px}
.bx-savings strong{font-size:34px!important;color:var(--mint)}

/* ------------------------------------------------------------------
   LABBRARY+ PAGE
------------------------------------------------------------------- */
.bx-plus-hero{padding:165px 0 60px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 85% 5%,#8d7cff1a,transparent 45%),radial-gradient(ellipse at 70% 70%,#51e3ce0f,transparent 40%),#090c12}
.bx-plus-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.bx-plus-hero h1{font-size:clamp(42px,4.4vw,66px);font-weight:600;line-height:1.05;letter-spacing:-.052em}
.bx-plus-hero h1 em{font-family:Newsreader,Georgia,serif;font-weight:500;color:var(--mint)}
.bx-plus-hero .bx-lead{max-width:540px}
.bx-plus-hero .bx-actions{display:flex;flex-wrap:wrap;align-items:center;gap:22px;margin-top:34px}
.bx-fine{font-size:12px;color:#9ea3ae;margin-top:16px}
.bx-plus-art{position:relative;height:640px}
.bx-plus-photo{position:absolute;top:0;right:0;width:84%;height:610px;border-radius:30px}
.bx-plus-photo>img{object-position:50% 30%}
.bx-audit-mini{left:0;bottom:24px;width:330px}
.bx-audit-mini .pair{display:grid;grid-template-columns:1fr auto;gap:6px 12px;margin-top:10px;font-size:12px}
.bx-audit-mini .pair span{color:#c9ccd4}
.bx-audit-mini .pair b{text-align:right}
.bx-audit-mini .markers{display:flex;gap:5px;margin-top:12px}
.bx-audit-mini .markers span{flex:1;height:28px;border-radius:8px;background:var(--c);opacity:.95}
.bx-audit-mini .markers span.x{background:#ffffff14;border:1px dashed #ffffff40}
.bx-audit-mini .verdict{margin-top:12px;padding-top:12px;border-top:1px solid #ffffff24;display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.bx-audit-mini .verdict strong{font-size:26px;color:var(--mint);white-space:nowrap;margin-top:0}
.bx-plus-chip{top:40px;left:4%;width:210px}

.bx-valuebar{border-top:1px solid #ffffff14;border-bottom:1px solid #ffffff14;background:#0b0e15}
.bx-valuebar .wrap,.bx-valuebar .lp-wrap{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;padding:34px 0}
.bx-valuebar div>strong{display:block;font-size:36px;font-weight:500;letter-spacing:-.05em;line-height:1.05;font-variant-numeric:tabular-nums}
.bx-valuebar div>span{font-size:12px;color:#9ea3ae;line-height:1.5;display:block;margin-top:6px;max-width:220px}

/* Pre-Buy Audit demo */
.bx-audit{margin-top:50px;border-radius:32px;border:1px solid #ffffff17;background:#0d1119;padding:30px;box-shadow:0 30px 90px #0008}
.bx-audit-top{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.bx-audit-top .bx-tabs{margin-top:0}
.bx-audit-label{font-size:11px;font-weight:750;letter-spacing:.08em;text-transform:uppercase;color:#9ea3ae}
.bx-panels{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:24px}
.bx-panel{position:relative;border-radius:22px;padding:22px;background:#fffcf6;color:#080b12;border:1px solid #e3ddd0;min-height:170px;transition:transform .5s var(--ease),box-shadow .5s}
.bx-panel .p-top{display:flex;justify-content:space-between;align-items:center;gap:12px}
.bx-panel .p-logo{width:112px;height:38px;border-radius:6px;background:#fff;border:1px solid #ece7dc;display:grid;place-items:center;padding:6px}
.bx-panel .p-logo img{max-height:26px;max-width:100%;object-fit:contain}
.bx-panel .p-tag{font-size:10px;font-weight:750;letter-spacing:.06em;text-transform:uppercase;color:#626774}
.bx-panel h4{font-size:18px;font-weight:700;letter-spacing:-.03em;line-height:1.3;margin-top:14px}
.bx-panel .p-meta{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:10px;font-size:11px;color:#626774}
.bx-panel .p-price{position:absolute;right:22px;bottom:18px;font-size:30px;font-weight:600;letter-spacing:-.05em}
.bx-panel .p-count{display:inline-block;margin-top:12px;font-size:11px;font-weight:750;padding:5px 10px;border-radius:999px;background:#ece7ff;color:#3d2d6b}
.bx-map{display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:14px;margin-top:22px}
.bx-map-col{border-radius:20px;background:#11151e;border:1px solid #ffffff14;padding:18px;min-height:180px}
.bx-map-col.shared{background:var(--pillar) padding-box,var(--spectrum) border-box;border:1px solid transparent}
.bx-map-col h5{font-size:11px;font-weight:750;letter-spacing:.08em;text-transform:uppercase;color:#b9bdc8;display:flex;justify-content:space-between;gap:10px}
.bx-map-col h5 b{font-size:20px;letter-spacing:-.04em;color:var(--paper);text-transform:none}
.bx-map-col .chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
.bx-map-col .chips span{font-size:11px;font-weight:700;padding:6px 10px;border-radius:10px;background:#ffffff10;border:1px solid #ffffff1f;color:#e7e8ee;opacity:0;transform:translateY(10px) scale(.96);transition:opacity .45s var(--ease),transform .5s var(--ease);transition-delay:var(--dl,0s)}
.bx-map-col.shared .chips span{background:#ffffff14;border-color:#ffffff30}
.bx-map-col .chips span.in{opacity:1;transform:none}
.bx-map-col .empty{font-size:12px;color:#8b909c;margin-top:14px}
.bx-score{margin-top:22px;border-radius:22px;background:#fffcf6;color:#080b12;padding:8px 18px 14px;overflow:hidden}
.bx-score table{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed}
.bx-score th,.bx-score td{padding:14px 12px;text-align:center;border-bottom:1px solid #e7e2d6;font-size:13px}
.bx-score thead th{font-size:11px;font-weight:750;letter-spacing:.06em;text-transform:uppercase;color:#626774}
.bx-score tbody th{text-align:left;font-weight:700;color:#3b3f48;width:36%}
.bx-score tbody th small{display:block;font-size:10px;color:#80848d;font-weight:600;margin-top:2px}
.bx-score tbody tr:last-child>*{border-bottom:0}
.bx-score td{font-size:18px;font-weight:650;letter-spacing:-.03em;font-variant-numeric:tabular-nums;position:relative}
.bx-score td.win{color:#fffcf6}
.bx-score td.win:before{content:"";position:absolute;inset:4px 6px;border-radius:14px;z-index:0;background:var(--pillar) padding-box,var(--spectrum) border-box;border:2px solid transparent;opacity:0;transform:scale(.92);transition:opacity .5s var(--ease),transform .5s var(--ease);transition-delay:var(--dl,0s)}
.bx-score td.win.lit:before{opacity:1;transform:none}
.bx-score td>span{position:relative;z-index:1}
.bx-score td.win.lit>span.badge{display:inline-flex}
.bx-score td span.badge{display:none;margin-left:8px;align-items:center;gap:5px;font-size:9px;font-weight:800;letter-spacing:.04em;padding:4px 7px;border-radius:999px;background:var(--mint);color:#07231d;vertical-align:3px}
.bx-takeaway{display:grid;grid-template-columns:1.3fr .7fr;gap:18px;margin-top:22px}
.bx-takeaway .say{border-radius:22px;padding:22px 24px;background:#11151e;border:1px solid #ffffff14}
.bx-takeaway .say small{font-size:10px;font-weight:750;letter-spacing:.08em;text-transform:uppercase;color:#9ea3ae}
.bx-takeaway .say p{font-size:15px;line-height:1.7;color:#e3e5ea;margin-top:10px}
.bx-overlap{margin-top:14px;display:flex;align-items:center;gap:12px;font-size:11px;color:#9ea3ae}
.bx-overlap .meter{flex:1;height:8px;border-radius:999px;background:#ffffff14;overflow:hidden}
.bx-overlap .meter i{display:block;height:100%;width:0;border-radius:999px;background:var(--spectrum);transition:width 1.1s var(--ease)}
.bx-takeaway .save{border-radius:22px;padding:22px 24px;background:radial-gradient(ellipse at 20% 0%,#51e3ce26,transparent 60%),#0f1a1a;border:1px solid #51e3ce40;display:flex;flex-direction:column;justify-content:center}
.bx-takeaway .save small{font-size:10px;font-weight:750;letter-spacing:.08em;text-transform:uppercase;color:#a8e9dd}
.bx-takeaway .save strong{font-size:54px;font-weight:500;letter-spacing:-.06em;line-height:1;margin-top:8px;color:var(--mint);font-variant-numeric:tabular-nums}
.bx-takeaway .save span{font-size:12px;color:#c9ccd4;margin-top:8px;line-height:1.55}
.bx-audit .bx-note{margin-top:18px}

/* Payback calculator */
.bx-calc{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:50px}
.bx-calc-in,.bx-calc-out{border-radius:28px;padding:32px;background:#11151e;border:1px solid #ffffff14}
.bx-range-field+.bx-range-field{margin-top:26px}
.bx-range-field label{display:flex;justify-content:space-between;align-items:baseline;font-size:13px;font-weight:700;color:#dfe1e7}
.bx-range-field label output{font-size:22px;font-weight:650;letter-spacing:-.04em;color:var(--paper)}
.bx-range-field input[type=range]{width:100%;margin-top:14px;-webkit-appearance:none;appearance:none;height:6px;border-radius:999px;background:linear-gradient(90deg,var(--violet),var(--mint)) 0/var(--fill,20%) 100% no-repeat,#ffffff1a;outline:none}
.bx-range-field input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;border-radius:50%;background:#fffcf6;border:3px solid var(--ink);box-shadow:0 0 0 2px #ffffff40,0 6px 14px #0008;cursor:pointer}
.bx-range-field input[type=range]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#fffcf6;border:3px solid var(--ink);cursor:pointer}
.bx-range-field input[type=range]:focus-visible{outline:2px solid var(--blue);outline-offset:6px}
.bx-range-field p{font-size:11px;color:#8b909c;margin-top:8px}
.bx-calc-out{background:radial-gradient(ellipse at 80% 0%,#8d7cff26,transparent 55%),radial-gradient(ellipse at 0% 100%,#51e3ce1c,transparent 50%),#0f131c;display:flex;flex-direction:column}
.bx-calc-out small{font-size:11px;font-weight:750;letter-spacing:.08em;text-transform:uppercase;color:#b9bdc8}
.bx-calc-big{font-size:clamp(60px,7vw,96px);font-weight:500;letter-spacing:-.065em;line-height:1;margin-top:10px;font-variant-numeric:tabular-nums}
.bx-calc-big em{font-family:Newsreader,Georgia,serif;font-style:italic;color:var(--mint);font-size:.6em;letter-spacing:-.03em}
.bx-calc-sub{font-size:14px;color:#c9ccd4;margin-top:10px}
.bx-vs{margin-top:auto;padding-top:26px;display:grid;gap:12px}
.bx-vs div{display:grid;grid-template-columns:120px 1fr auto;align-items:center;gap:14px;font-size:12px;color:#c9ccd4}
.bx-vs .track{height:14px;border-radius:999px;background:#ffffff10;overflow:hidden}
.bx-vs .track i{display:block;height:100%;border-radius:999px;transition:width .7s var(--ease)}
.bx-vs .cost i{background:#9ea3ae}
.bx-vs .gain i{background:var(--spectrum)}
.bx-vs b{font-size:14px;font-weight:750;font-variant-numeric:tabular-nums}

/* Feature (benefit) grid */
.bx-feats{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:22px;margin-top:56px}
.bx-feat{grid-column:span 4;display:flex;flex-direction:column;border-radius:28px;background:#10141d;border:1px solid #ffffff14;overflow:hidden;min-height:100%}
.bx-feat.wide{grid-column:span 6}
.bx-feat.full{grid-column:span 12;display:grid;grid-template-columns:1.1fr .9fr}
.bx-feat-media{position:relative;min-height:260px;background:#0b0e15;overflow:hidden}
.bx-feat-media>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bx-feat-body{padding:26px 26px 30px}
.bx-feat-body .lbl{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:750;letter-spacing:.06em;text-transform:uppercase;color:#b3a9f5}
.bx-feat-body .lbl:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--c,var(--violet))}
.bx-feat-body h3{font-size:24px;font-weight:650;letter-spacing:-.04em;line-height:1.2;margin-top:12px}
.bx-feat-body p{font-size:14px;line-height:1.7;color:#aeb2bd;margin-top:10px}
.bx-feat .bx-glass{left:18px;right:18px;bottom:18px}
.bx-notif{display:grid;grid-template-columns:34px 1fr;gap:12px;align-items:start}
.bx-notif .ico{width:34px;height:34px;border-radius:10px;background:#080b12;border:1px solid #ffffff2b;display:grid;place-items:center}
.bx-notif .ico img{width:22px;height:22px;object-fit:contain}
.bx-notif strong{font-size:13px!important;margin-top:0!important;letter-spacing:-.01em!important}
.bx-notif .sub{font-size:11px}
.bx-profiles{display:grid;gap:8px;margin-top:8px}
.bx-profiles div{display:flex;align-items:center;gap:10px;font-size:12px}
.bx-profiles .av{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:800;color:#080b12;background:var(--c)}
.bx-profiles .meta{margin-left:auto;color:#b9bdc8;font-size:11px}
.bx-labby{display:flex;align-items:flex-end;justify-content:flex-start;padding:0 0 18px 26px;background:radial-gradient(circle at 25% 75%,#8d7cff2e,transparent 50%),#0b0e15}
.bx-labby img{position:relative!important;inset:auto!important;width:96px!important;height:auto!important;image-rendering:pixelated;animation:bx-float 4s ease-in-out infinite alternate}
.bx-labby .bubble{position:absolute;right:20px;top:96px;max-width:205px;border-radius:16px 16px 4px 16px;padding:12px 14px;background:#fffcf6;color:#080b12;font-size:12px;font-weight:650;line-height:1.45;box-shadow:0 12px 30px #0007}
.bx-labby .bubble.me{top:22px;border-radius:16px 16px 16px 4px;background:#1b2130;color:#e6e7ec;border:1px solid #ffffff24}
.bx-shot{padding:22px 22px 0;background:linear-gradient(180deg,#131826,#0b0e15)}
.bx-shot img{position:relative!important;inset:auto!important;width:100%!important;height:auto!important;border-radius:14px 14px 0 0;box-shadow:0 -10px 40px #0008;display:block}

/* Free vs Plus comparison: dark shell reusing the approved Plus column treatment */
.bx-compare-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}
.bx-compare-copy{position:sticky;top:140px}
.bx-compare{position:relative;border-radius:26px;background:#fffcf6;color:#080b12;padding:12px 22px 16px}
.bx-compare table{width:100%;border-collapse:collapse;table-layout:fixed}
.bx-compare th,.bx-compare td{padding:14px 8px;text-align:center;border-bottom:1px solid #e7e2d6;font-size:12px}
.bx-compare thead th{font-size:11px;font-weight:750;letter-spacing:.06em;text-transform:uppercase;color:#626774;height:64px}
.bx-compare tbody th{text-align:left;font-weight:650;color:#3b3f48;font-size:13px}
.bx-compare th:first-child{width:54%}
.bx-compare th:nth-child(2),.bx-compare th:nth-child(3){width:23%}
.bx-compare tbody tr:last-child>*{border-bottom:0}
.bx-compare .col-plus{color:#fffcf6}
.bx-compare-pillar{position:absolute;top:-12px;bottom:-12px;left:calc(22px + (100% - 44px) * .54);width:calc((100% - 44px) * .23);border-radius:20px;background:var(--pillar) padding-box,var(--spectrum) border-box;border:2px solid transparent;box-shadow:10px 10px 30px #080b1224;z-index:0}
.bx-compare table{position:relative;z-index:1}
.bx-compare thead th.col-plus{text-transform:none;letter-spacing:-.03em;font-size:17px;color:#fffcf6}
.bx-compare thead th.col-plus span{color:var(--violet)}
.bx-compare td.col-plus,.bx-compare th.col-plus{border-bottom-color:#ffffff1c}
.bx-yes{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#fff;color:#080b12;font-size:12px;font-weight:800}
.bx-yes.soft{background:#d9f2e9;color:#194f40}
.bx-no{font-size:18px;color:#b24a5f}

/* Pricing */
.bx-price-grid{display:grid;grid-template-columns:1fr .9fr;gap:70px;align-items:center}
.bx-price-panel{border-radius:28px;background:#f7f4ed;color:#080b12;padding:34px;box-shadow:0 30px 80px #0008}
.bx-price-panel .top{display:flex;justify-content:space-between;align-items:center}
.bx-price-panel .amount{display:flex;align-items:baseline;gap:10px;margin-top:22px}
.bx-price-panel .amount strong{font-size:78px;font-weight:600;letter-spacing:-.06em;line-height:1}
.bx-price-panel .amount span{font-size:15px;color:#626774}
.bx-price-panel .per{font-size:13px;color:#626774;margin-top:8px}
.bx-price-panel ul{list-style:none;margin:24px 0;padding:0}
.bx-price-panel li{display:grid;grid-template-columns:22px 1fr;gap:12px;font-size:13px;line-height:1.5;padding:12px 0;border-top:1px solid #dcd7cb}
.bx-price-panel li i{font-style:normal;font-weight:800;font-size:14px;line-height:1.5;color:#080b12}
.bx-price-panel li b{font-weight:750}
.bx-price-panel .bx-button{width:100%}
.bx-price-panel .fine{text-align:center;font-size:12px;color:#626774;margin-top:14px}
.bx-guarantee{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center;margin-top:34px;padding:22px 24px;border-radius:22px;background:#11151e;border:1px solid #ffffff17}
.bx-guarantee .seal{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;text-align:center;font-size:10px;font-weight:800;line-height:1.1;letter-spacing:.04em;background:linear-gradient(#11151e,#11151e) padding-box,var(--spectrum) border-box;border:2px solid transparent}
.bx-guarantee .seal b{display:block;font-size:20px;letter-spacing:-.04em}
.bx-guarantee p{font-size:13px;line-height:1.7;color:#c9ccd4}
.bx-guarantee strong{color:var(--paper)}

/* FAQ (dark) */
.bx-faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}
.bx-faq details{border-bottom:1px solid #ffffff17;padding:22px 0}
.bx-faq details:first-child{padding-top:4px}
.bx-faq summary{display:flex;justify-content:space-between;gap:20px;font-size:17px;font-weight:650;letter-spacing:-.02em;line-height:1.35;cursor:pointer;list-style:none}
.bx-faq summary::-webkit-details-marker{display:none}
.bx-faq summary:after{content:"+";font-size:24px;font-weight:400;line-height:1;transition:transform .25s}
.bx-faq details[open] summary:after{transform:rotate(45deg)}
.bx-faq summary:hover{color:var(--mint)}
.bx-faq p{font-size:14px;line-height:1.8;color:#aeb2bd;margin-top:14px;max-width:640px}

/* Closing CTA with photography */
.bx-close{position:relative;overflow:hidden;min-height:640px;display:flex;align-items:center}
.bx-close>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 45%;opacity:.8}
.bx-close:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#080b12 0%,#080b12e6 35%,#080b1240 75%,#080b1226 100%),linear-gradient(0deg,#080b12 0%,#080b1200 30%)}
.bx-close .wrap,.bx-close .lp-wrap{position:relative;z-index:2}
.bx-close h2{max-width:640px}
.bx-close .bx-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:34px}

/* Reveal (Plus page has no home.js, so it gets its own observer class) */
.bx-js .bx-reveal{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease),transform .9s var(--ease)}
.bx-js .bx-reveal.in-view{opacity:1;transform:none}

/* Motion preferences */
.paused .bx-photo>img,.paused .bx-float,.paused .bx-bars span,.paused .bx-dots b,.paused .bx-labby img,.paused .bx-scene:after,.paused .bx-pillars i,.paused .bx-pillars b,.paused .bx-orbit,.paused .bx-orbit b,.paused .bx-plus-glyph,.paused .bx-plus-glyph i:after,.paused .bx-house .link,.paused .bx-caret{animation-play-state:paused!important}
@media (prefers-reduced-motion:reduce){
  .bx-photo>img,.bx-float,.bx-bars span,.bx-dots b,.bx-labby img,.bx-scene:after,.bx-pillars i,.bx-pillars b,.bx-orbit,.bx-orbit b,.bx-plus-glyph,.bx-plus-glyph i:after,.bx-house .link,.bx-caret,.bx-spread i{animation:none!important}
  .bx-js .bx-reveal{opacity:1;transform:none}
  .bx-lolli-track:before,.bx-lolli-track i,.bx-lolli-track b,.bx-grades-bar span,.bx-map-col .chips span,.bx-score td.win:before,.bx-overlap .meter i{transition:none!important}
}

/* ------------------------------------------------------------------
   RESPONSIVE
------------------------------------------------------------------- */
@media (max-width:1150px){
  .bx-stakes-grid,.bx-inside-grid{gap:50px}
  .bx-plus-hero-grid{gap:36px}
  .bx-map{grid-template-columns:1fr 1fr}
  .bx-map-col.shared{grid-column:1/-1;order:-1}
  .bx-feat{grid-column:span 6}
  .bx-feat.full{grid-template-columns:1fr}
}
@media (max-width:900px){
  .bx-trio-head,.bx-stakes-grid,.bx-inside-grid,.bx-plus-hero-grid,.bx-compare-wrap,.bx-price-grid,.bx-faq-grid,.bx-calc{grid-template-columns:1fr}
  .bx-stakes-copy,.bx-compare-copy{position:static}
  .bx-trio,.bx-steps{grid-template-columns:1fr 1fr}
  .bx-trio article:last-child,.bx-steps .bx-step:last-child{grid-column:1/-1}
  .bx-trio article:last-child .bx-photo,.bx-steps .bx-step:last-child .bx-photo{aspect-ratio:16/10}
  .bx-band{grid-template-columns:1fr}
  .bx-band-media{min-height:380px}
  .bx-band-media:before{background:linear-gradient(180deg,#0b0e15 0%,#0b0e1500 35%)}
  .bx-valuebar .wrap,.bx-valuebar .lp-wrap{grid-template-columns:1fr 1fr}
  .bx-plus-art{height:560px;max-width:560px;width:100%;margin:0 auto}
  .bx-plus-photo{height:530px}
  .bx-trio-head{gap:16px;margin-bottom:38px}
  .bx-trio-head .bx-lead{margin-top:0}
  .bx-card-head{flex-direction:column;gap:12px}
  .bx-card-head .bx-tag{order:-1}
}
@media (max-width:650px){
  .bx-section{padding:80px 0}
  .bx-lead{font-size:15px}
  .bx-reliefs li{font-size:14px}
  .bx-hero-art .bx-hero-chip{display:none}
  .bx-trio,.bx-steps{grid-template-columns:1fr}
  .bx-trio article:last-child .bx-photo,.bx-steps .bx-step:last-child .bx-photo{aspect-ratio:4/5}
  .bx-trio .bx-photo,.bx-step .bx-photo{aspect-ratio:4/4.4}
  .bx-card{padding:22px}
  .bx-lolli-row{grid-template-columns:104px 1fr}
  .bx-lolli-row>span{font-size:12px}
  .bx-lolli-track{margin-right:48px}
  .bx-lolli-axis,.bx-range{margin-left:104px;margin-right:48px}
  .bx-grades-legend{grid-template-columns:1fr}
  .bx-stat-line{gap:24px}
  .bx-stat-line strong{font-size:34px}
  .bx-stage{padding:22px 18px;min-height:0}
  .bx-bars-wrap{height:200px;gap:12px}
  .bx-dots b{width:26px;height:26px}
  .bx-dots{gap:8px}
  .bx-stage-price strong{font-size:22px}
  .bx-stage-logo{width:92px;height:36px}
  .bx-band-copy{padding:40px 26px}
  .bx-band .bx-glass{left:16px;right:16px;width:auto;bottom:16px}
  .bx-plus-hero{padding-top:130px}
  .bx-plus-art{height:500px}
  .bx-plus-photo{width:100%;height:440px}
  .bx-audit-mini{width:auto;left:12px;right:12px;bottom:0}
  .bx-plus-chip{top:16px;left:12px}
  .bx-valuebar .wrap,.bx-valuebar .lp-wrap{gap:22px}
  .bx-valuebar div>strong{font-size:28px}
  .bx-audit{padding:18px;border-radius:24px}
  .bx-panels{grid-template-columns:1fr}
  .bx-map{grid-template-columns:1fr}
  .bx-score{padding:6px 8px 10px}
  .bx-score th,.bx-score td{padding:12px 6px;font-size:12px}
  .bx-score td{font-size:15px}
  .bx-score td span.badge{display:none!important}
  .bx-takeaway{grid-template-columns:1fr}
  .bx-calc-in,.bx-calc-out{padding:24px}
  .bx-vs div{grid-template-columns:90px 1fr auto}
  .bx-feats{grid-template-columns:1fr}
  .bx-feat,.bx-feat.wide,.bx-feat.full{grid-column:auto}
  .bx-compare{padding:8px 10px 12px}
  .bx-compare-pillar{left:calc(10px + (100% - 20px) * .54);width:calc((100% - 20px) * .23)}
  .bx-compare th,.bx-compare td{padding:12px 4px;font-size:11px}
  .bx-compare tbody th{font-size:12px}
  .bx-compare thead th.col-plus{font-size:clamp(11px,3.5vw,17px)}
  .bx-price-panel{padding:24px}
  .bx-price-panel .amount strong{font-size:62px}
  .bx-faq summary{font-size:15px}
  .bx-close{min-height:560px}
  .bx-close:before{background:linear-gradient(0deg,#080b12 0%,#080b12d9 55%,#080b1266 100%)}
  .bx-close>img{object-position:62% 30%}
  .bx-preview-flag{left:10px;bottom:10px;font-size:10px}
}

/* ==================================================================
   DESIGNED SCENES (animated visuals that replace people photography)
=================================================================== */
@property --p{syntax:'<number>';inherits:false;initial-value:0}
.bx-scene{position:relative;overflow:hidden;border-radius:26px;border:1px solid #ffffff17;isolation:isolate;background:radial-gradient(ellipse at 15% 0%,#8d7cff29,transparent 55%),radial-gradient(ellipse at 100% 100%,#51e3ce1f,transparent 50%),linear-gradient(160deg,#10141e,#0a0d14)}
.bx-scene:before{content:"";position:absolute;inset:0;z-index:-1;background-image:radial-gradient(#ffffff14 1px,transparent 1.3px);background-size:22px 22px;-webkit-mask-image:radial-gradient(ellipse at 50% 40%,#000 25%,transparent 72%);mask-image:radial-gradient(ellipse at 50% 40%,#000 25%,transparent 72%)}
.bx-scene:after{content:"";position:absolute;inset:-25%;z-index:-1;background:radial-gradient(circle at 30% 30%,#61b4ff1c,transparent 32%),radial-gradient(circle at 72% 64%,#ff829f14,transparent 30%);animation:bx-aurora 18s ease-in-out infinite alternate;pointer-events:none}
@keyframes bx-aurora{to{transform:translate(7%,-6%) rotate(10deg)}}
.bx-trio .bx-scene,.bx-step .bx-scene{aspect-ratio:4/5}
.bx-scene-label{position:absolute;left:22px;top:20px;font-size:10px;font-weight:750;letter-spacing:.08em;text-transform:uppercase;color:#9ea3ae}

/* Faster than a doctor visit: two routes, same pace, fewer steps */
.bx-routes{padding:54px 22px 22px;display:flex;flex-direction:column}
.bx-routes .cols{display:grid;grid-template-columns:1fr 1fr;gap:16px;flex:1}
.bx-route h6{margin:0 0 16px;font-size:11px;font-weight:750;letter-spacing:.02em;color:#aeb2bd;line-height:1.35}
.bx-route.fast h6{color:#a8e9dd}
.bx-route ol{list-style:none;margin:0;padding:0}
.bx-route li{position:relative;padding:0 0 20px 24px;font-size:12px;line-height:1.35;color:#6f7482;transition:color .35s}
.bx-route li:before{content:"";position:absolute;left:3px;top:2px;width:11px;height:11px;border-radius:50%;background:#1d2230;border:1px solid #ffffff30;transition:background .35s,box-shadow .35s,border-color .35s}
.bx-route li:after{content:"";position:absolute;left:8px;top:16px;bottom:2px;width:1px;background:#ffffff1a;transition:background .35s}
.bx-route li:last-child:after{display:none}
.bx-route li.on{color:#eceef2}
.bx-route.slow li.on:before{background:#b7a9ff;border-color:#b7a9ff;box-shadow:0 0 12px #8d7cff}
.bx-route.slow li.on:after{background:#8d7cff80}
.bx-route.fast li.on:before{background:var(--mint);border-color:var(--mint);box-shadow:0 0 14px var(--mint)}
.bx-route.fast li.on:after{background:#51e3ce99}
.bx-route .state{display:inline-flex;align-items:center;gap:7px;margin-top:2px;padding:7px 11px;border-radius:999px;font-size:11px;font-weight:750;opacity:0;transform:translateY(6px);transition:opacity .4s,transform .4s var(--ease)}
.bx-route.fast .state{background:#51e3ce1f;border:1px solid #51e3ce59;color:#b8f4ea}
.bx-route.slow .state{background:#ffffff0d;border:1px solid #ffffff24;color:#b9bdc8}
.bx-route .state.show{opacity:1;transform:none}

/* No begging: search, find, order */
.bx-search{padding:58px 22px 22px;display:flex;flex-direction:column;gap:12px}
.bx-searchbox{display:flex;align-items:center;gap:10px;min-height:54px;padding:0 16px;border-radius:15px;background:#070a10cc;border:1px solid #ffffff2e;box-shadow:0 0 0 4px #8d7cff14}
.bx-searchbox svg{flex:none;opacity:.7}
.bx-searchbox .typed{font-size:16px;font-weight:650;letter-spacing:-.01em;white-space:nowrap;overflow:hidden}
.bx-caret{flex:none;width:2px;height:20px;border-radius:2px;background:var(--mint);animation:bx-blink 1s steps(1) infinite}
@keyframes bx-blink{50%{opacity:0}}
.bx-result{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:13px;border-radius:16px;background:#fffcf6;color:#080b12;opacity:0;transform:translateY(8px);transition:opacity .45s var(--ease),transform .5s var(--ease)}
.bx-result.show{opacity:1;transform:none}
.bx-result .lg{width:76px;height:34px;border-radius:7px;border:1px solid #ece7dc;display:grid;place-items:center;padding:4px 6px;background:#fff}
.bx-result .lg img{max-width:100%;max-height:24px;object-fit:contain}
.bx-result strong{display:block;font-size:13px;font-weight:750;line-height:1.3;letter-spacing:-.01em}
.bx-result span{display:block;font-size:11px;color:#626774;margin-top:2px}
.bx-result b{font-size:19px;font-weight:650;letter-spacing:-.04em}
.bx-order{display:grid;gap:8px;opacity:0;transition:opacity .45s .15s}
.bx-order.show{opacity:1}
.bx-order div{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#c9ccd4;padding:10px 13px;border-radius:12px;background:#ffffff08;border:1px solid #ffffff14}
.bx-order b{color:var(--mint);font-weight:750}
.bx-order .go{justify-content:center;background:linear-gradient(#0b0e15,#0b0e15) padding-box,var(--spectrum) border-box;border:1px solid transparent;color:#fff;font-weight:800}

/* Step 1: pick what you want to learn */
.bx-goalscene{display:flex;flex-direction:column;justify-content:center;padding:26px 24px 110px}
.bx-goalscene .ask{font-size:21px;font-weight:650;letter-spacing:-.035em;line-height:1.25;margin-bottom:18px}
.bx-goalscene .pills{display:flex;flex-wrap:wrap;gap:9px}
.bx-goalscene .pills span{font-size:13px;font-weight:700;padding:10px 14px;border-radius:999px;border:1px solid #ffffff2b;background:#ffffff08;color:#dfe1e7;transition:background .35s,color .35s,border-color .35s,box-shadow .35s}
.bx-goalscene .pills span.on{background:#ede7ff;color:#1c1530;border-color:#ede7ff;box-shadow:0 0 24px #8d7cff59}
.bx-goalscene .pills span.on:before{content:"✓";margin-right:6px;font-weight:800}
.bx-scene-bars{position:absolute;left:24px;right:24px;bottom:22px;height:70px;display:flex;align-items:flex-end;gap:10px;opacity:.9}
.bx-scene-bars i{flex:1;height:var(--h);border-radius:999px;background:var(--c);transform-origin:bottom;transition:height .8s var(--ease)}
.bx-scene-bars b{flex:none;display:flex;flex-direction:column;gap:6px;justify-content:flex-end}
.bx-scene-bars b s{display:block;width:13px;height:13px;border-radius:50%;background:linear-gradient(135deg,#f2b2b5,#b76278);text-decoration:none}

/* Step 3: shortlist with Fit Score rings */
.bx-shortlist{padding:54px 18px 20px;display:flex;flex-direction:column;justify-content:center;gap:10px}
.bx-shortlist .row{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;padding:12px;border-radius:16px;background:#fffcf6;color:#080b12;opacity:0;transform:translateY(10px);transition:opacity .5s var(--ease),transform .6s var(--ease);transition-delay:var(--dl,0s)}
.in-view .bx-shortlist .row,.bx-shortlist.in-view .row{opacity:1;transform:none}
.bx-shortlist .ring{position:relative;flex:none;width:48px;aspect-ratio:1;border-radius:50%;background:conic-gradient(#2f9e8c calc(var(--p)*1%),#e6e2d8 0);display:grid;place-items:center;transition:--p 1.6s var(--ease);transition-delay:var(--dl,0s)}
.bx-shortlist .ring:before{content:"";position:absolute;inset:5px;border-radius:50%;background:#fffcf6}
.bx-shortlist .ring b{position:relative;font-size:14px;font-weight:800}
.bx-shortlist strong{display:block;font-size:13px;font-weight:750;line-height:1.3;letter-spacing:-.01em}
.bx-shortlist .meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:5px;font-size:11px;color:#626774}
.bx-shortlist .intelle-grade-result{min-height:24px;padding:3px 9px;font-size:10px}

/* Architectural light pillars (the brand bars as an installation) */
.bx-pillars{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:center;gap:5%;padding:0 9% 24%;pointer-events:none}
.bx-pillars i{flex:0 0 10%;height:var(--h);border-radius:999px;background:linear-gradient(100deg,var(--l),var(--c) 38%,var(--d));box-shadow:0 0 34px var(--g),0 0 90px var(--g);-webkit-box-reflect:below 12px linear-gradient(transparent 45%,#ffffff38);transform-origin:bottom;animation:bx-rise 7s ease-in-out infinite alternate;animation-delay:var(--dl,0s)}
.bx-pillars .orbs{flex:0 0 9%;display:flex;flex-direction:column;justify-content:flex-end;gap:9px;height:92%}
.bx-pillars .orbs b{display:block;width:100%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 32% 30%,#ffd1d9,#ff829f 45%,#b76278);box-shadow:0 0 26px #ff829f66;animation:bead-breathe 5s ease-in-out infinite alternate;animation-delay:var(--dl,0s)}
.bx-pillars .orbs b:last-child{-webkit-box-reflect:below 12px linear-gradient(transparent 45%,#ffffff38)}
.bx-pillars:after{content:"";position:absolute;left:6%;right:6%;bottom:18%;height:26%;background:radial-gradient(ellipse at 50% 0%,#8d7cff26,transparent 70%);filter:blur(8px)}
@keyframes bx-rise{from{transform:scaleY(.95)}to{transform:scaleY(1.02)}}

/* Labbrary+ hero: glass plus with orbiting biomarkers */
.bx-plus-stage{position:absolute;top:0;right:0;width:86%;height:610px;border-radius:30px;box-shadow:0 40px 100px #0009}
.bx-plus-glyph{position:absolute;left:50%;top:45%;width:min(290px,58%);aspect-ratio:1;translate:-50% -50%;animation:bx-float 6s ease-in-out infinite alternate}
.bx-plus-glyph i{position:absolute;border-radius:999px;overflow:hidden;box-shadow:inset 3px 3px 10px #ffffffb0,inset -12px -14px 28px #1d1a4f99,0 0 60px #61b4ff4d,0 0 140px #8d7cff38}
.bx-plus-glyph .v{left:34%;right:34%;top:0;bottom:0;background:linear-gradient(170deg,#d6ceff 0%,#8d7cff 30%,#61b4ff 68%,#51e3ce 100%)}
.bx-plus-glyph .h{top:34%;bottom:34%;left:0;right:0;background:linear-gradient(95deg,#b7a9ff 0%,#8d7cff 25%,#61b4ff 60%,#51e3ce 100%)}
.bx-plus-glyph i:after{content:"";position:absolute;inset:-40%;background:linear-gradient(115deg,transparent 40%,#ffffff70 50%,transparent 60%);animation:bx-sheen 6s ease-in-out infinite}
@keyframes bx-sheen{0%,55%{transform:translateX(-60%)}85%,100%{transform:translateX(60%)}}
.bx-plus-stage .floor{position:absolute;left:18%;right:18%;bottom:12%;height:70px;border-radius:50%;background:radial-gradient(ellipse,#61b4ff40,transparent 70%);filter:blur(12px)}
.bx-orbit{--r:212px;position:absolute;left:50%;top:45%;width:0;height:0;animation:bx-spin 70s linear infinite}
.bx-orbit span{position:absolute;left:0;top:0;transform:rotate(var(--a)) translateX(var(--r)) rotate(calc(var(--a) * -1))}
.bx-orbit b{position:absolute;left:0;top:0;translate:-50% -50%;display:block;white-space:nowrap;padding:7px 12px;border-radius:999px;font-size:11px;font-weight:750;color:#eceaff;background:#0d111acc;border:1px solid var(--c,#ffffff33);box-shadow:0 0 16px color-mix(in srgb,var(--c,#8d7cff) 30%,transparent);backdrop-filter:blur(8px);animation:bx-spin 70s linear infinite reverse}
@keyframes bx-spin{to{transform:rotate(360deg)}}

/* Household map */
.bx-house{min-height:460px}
.bx-house svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.bx-house .link{fill:none;stroke:url(#bx-link-grad);stroke-width:1.6;stroke-dasharray:3 7;animation:bx-dash 1.6s linear infinite}
@keyframes bx-dash{to{stroke-dashoffset:-20}}
.bx-house .node{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%) scale(.9);opacity:0;display:flex;align-items:center;gap:10px;padding:10px 14px 10px 10px;border-radius:16px;background:var(--glass);border:1px solid #ffffff2b;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 18px 40px #0007;transition:opacity .6s var(--ease),transform .7s var(--ease);transition-delay:var(--dl,0s)}
.in-view .bx-house .node{opacity:1;transform:translate(-50%,-50%) scale(1)}
.bx-house .node .av{flex:none;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:800;color:#080b12;background:var(--c)}
.bx-house .node b{display:block;font-size:13px;font-weight:750;white-space:nowrap}
.bx-house .node small{display:block;font-size:11px;color:#b9bdc8;white-space:nowrap;margin-top:1px}
.bx-house .node.center{flex-direction:column;align-items:center;text-align:center;gap:4px;padding:18px 24px;background:linear-gradient(#10141d,#10141d) padding-box,var(--spectrum) border-box;border:1.5px solid transparent}
.bx-house .node.center small{color:#9ea3ae}
.bx-house .tag{position:absolute;right:18px;bottom:16px;font-size:10px;font-weight:750;letter-spacing:.08em;text-transform:uppercase;color:#7d828e}

/* Phone with Market Watch and reminder alerts */
.bx-phone-scene{display:flex;justify-content:center;align-items:flex-start;padding-top:34px;min-height:380px}
.bx-phone{position:relative;width:236px;height:470px;border-radius:44px;background:#05070b;border:1px solid #ffffff33;box-shadow:inset 0 0 0 7px #0e1119,0 30px 80px #000c,0 0 70px #8d7cff26;padding:13px;margin-bottom:-120px}
.bx-phone .screen{position:relative;height:100%;border-radius:33px;overflow:hidden;background:radial-gradient(ellipse at 50% 0%,#8d7cff47,transparent 60%),radial-gradient(ellipse at 50% 100%,#51e3ce24,transparent 55%),linear-gradient(180deg,#141a2a,#090c13)}
.bx-phone .island{position:absolute;top:10px;left:50%;width:74px;height:21px;margin-left:-37px;border-radius:999px;background:#000}
.bx-phone .clock{text-align:center;padding-top:44px;color:#eef0f6}
.bx-phone .clock small{display:block;font-size:10px;font-weight:650;color:#c9ccd4;letter-spacing:.02em}
.bx-phone .clock strong{display:block;font-size:46px;font-weight:600;letter-spacing:-.04em;line-height:1.05}
.bx-notifs{position:absolute;left:9px;right:9px;top:140px;display:flex;flex-direction:column;gap:7px}
.bx-ncard{display:grid;grid-template-columns:24px 1fr;gap:8px;align-items:start;padding:9px 10px;border-radius:15px;background:#ffffff1f;border:1px solid #ffffff21;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:bx-drop .6s var(--ease) both}
.bx-ncard img{width:24px;height:24px;border-radius:7px;background:#080b12;object-fit:contain;padding:3px}
.bx-ncard small{display:flex;justify-content:space-between;gap:6px;font-size:8.5px;font-weight:750;letter-spacing:.04em;text-transform:uppercase;color:#c3c6cf}
.bx-ncard strong{display:block;font-size:11px;font-weight:750;line-height:1.3;margin-top:2px;color:#fff}
.bx-ncard span{display:block;font-size:10px;line-height:1.35;color:#c9ccd4;margin-top:1px}
@keyframes bx-drop{from{opacity:0;transform:translateY(-14px) scale(.96)}to{opacity:1;transform:none}}
.bx-phone-note{position:absolute;right:16px;top:16px;font-size:10px;font-weight:750;letter-spacing:.08em;text-transform:uppercase;color:#7d828e}

/* Discussion guide document */
.bx-doc-scene{display:flex;align-items:center;justify-content:center;padding:26px 22px;min-height:300px}
.bx-doc{width:min(310px,100%);border-radius:18px;background:#fffcf6;color:#080b12;padding:18px 18px 14px;box-shadow:0 30px 60px #0009}
.bx-doc .top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.bx-doc .top .bx-plusword{font-size:15px;color:#080b12}
.bx-doc .top small{font-size:9px;font-weight:750;letter-spacing:.06em;text-transform:uppercase;color:#80848d}
.bx-doc h5{font-size:14px;font-weight:750;letter-spacing:-.02em;line-height:1.3;margin:12px 0 4px}
.bx-doc .lbl{font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#626774;margin:12px 0 4px}
.bx-doc ul,.bx-doc ol{list-style:none;margin:0;padding:0}
.bx-doc li{display:flex;justify-content:space-between;gap:10px;font-size:11px;line-height:1.45;padding:7px 0;border-top:1px solid #ebe6da;opacity:0;transform:translateX(-8px);transition:opacity .45s var(--ease),transform .5s var(--ease);transition-delay:var(--dl,0s)}
.bx-doc li b{font-weight:750;white-space:nowrap}
.bx-doc ol li{justify-content:flex-start}
.bx-doc ol li:before{content:"";flex:none;width:11px;height:11px;margin-top:2px;border:1.5px solid #9aa0aa;border-radius:3px}
.in-view .bx-doc li{opacity:1;transform:none}

/* Scene responsiveness */
@media (max-width:1150px){
  .bx-plus-stage{width:90%}
  .bx-orbit{--r:180px}
}
@media (max-width:900px){
  .bx-trio .bx-scene,.bx-step .bx-scene{aspect-ratio:auto;min-height:420px}
  .bx-plus-stage{width:100%;height:540px}
}
@media (max-width:650px){
  .bx-plus-stage{height:460px}
  .bx-orbit{--r:138px}
  .bx-orbit b{font-size:10px;padding:6px 10px}
  .bx-plus-glyph{width:min(200px,56%)}
  .bx-house{min-height:520px}
  .bx-house .node{padding:8px 10px 8px 8px;gap:8px}
  .bx-house .node .av{width:26px;height:26px;font-size:11px}
  .bx-house .node b{font-size:12px}
  .bx-house .node small{font-size:10px}
  .bx-house .node.center{padding:14px 16px}
  .bx-routes{padding:50px 16px 18px}
  .bx-route li{font-size:11px;padding-left:22px}
  .bx-pillars{padding-bottom:26%}
}
.bx-close-art{position:absolute;top:0;bottom:0;right:0;width:58%;z-index:0}
@media (max-width:650px){.bx-close-art{width:100%;opacity:.55}}
.bx-routes,.bx-search,.bx-shortlist{justify-content:center}
.bx-routes .cols{flex:0 0 auto}
.bx-route h6{font-size:12px}
.bx-route li{font-size:13px;padding-bottom:22px}
.bx-searchbox .typed{font-size:17px}
.bx-goalscene{padding-bottom:160px}
.bx-scene-bars{right:auto;height:118px;gap:11px}
.bx-scene-bars i{flex:0 0 30px}
.bx-scene-bars b{gap:7px}
.bx-scene-bars b s{width:17px;height:17px}
.bx-goalscene{padding-top:70px}
@media (max-width:650px){.bx-plus-glyph,.bx-orbit{top:33%}}
@media (max-width:650px){
  .bx-house .node[style*="--x:22%"]{--x:26.5%!important}
  .bx-house .node[style*="--x:78%"]{--x:73.5%!important}
  .bx-house .node:not(.center){max-width:47%}
  .bx-house .node b,.bx-house .node small{white-space:normal}
}

/* ==================================================================
   REV 3: pillars sized to height, new scenes, compact audit on mobile
=================================================================== */
/* Light pillars: orbs size to the section height so they never clip */
.bx-pillars{container-type:size;padding:48px 8% 110px}
.bx-pillars .orbs{flex:none;height:auto;align-self:flex-end;gap:1.2cqh}
.bx-pillars .orbs b{width:8.6cqh;height:8.6cqh;aspect-ratio:auto}

/* Often cheaper than insurance: unknown bill vs listed price */
.bx-bills{padding:56px 20px 20px;display:flex;flex-direction:column;justify-content:center;gap:12px}
.bx-bills .bill{border-radius:16px;padding:14px 16px}
.bx-bills h6{margin:0 0 8px;font-size:11px;font-weight:750;letter-spacing:.06em;text-transform:uppercase}
.bx-bills .bill>div{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;border-top:1px solid #ffffff14;font-size:12px}
.bx-bills .bill>div:first-of-type{border-top:0}
.bx-bills .ins{background:#ffffff06;border:1px dashed #ffffff2e;color:#9ea3ae}
.bx-bills .ins h6{color:#8b909c}
.bx-bills .unk{min-width:44px;text-align:center;padding:3px 10px;border-radius:8px;color:#c9ccd4;font-weight:750;background:linear-gradient(90deg,#ffffff0d 0%,#ffffff26 50%,#ffffff0d 100%) 0/200% 100%;animation:bx-shimmer 1.8s linear infinite}
@keyframes bx-shimmer{to{background-position:-200% 0}}
.bx-bills .direct{background:linear-gradient(#0f141d,#0f141d) padding-box,var(--spectrum) border-box;border:1.5px solid transparent;color:#dfe1e7;box-shadow:0 14px 40px #0006}
.bx-bills .direct h6{color:#a8e9dd}
.bx-bills .direct b{color:#fff;font-weight:750}
.bx-bills .direct>div:nth-of-type(1) b{font-size:22px;letter-spacing:-.04em;color:var(--mint)}

/* Step 1: shortlist-forming shimmer under the goal pills */
.bx-goalscene{padding-bottom:30px}
.bx-skel{margin-top:26px;display:grid;gap:8px}
.bx-skel span{font-size:11px;font-weight:750;letter-spacing:.06em;text-transform:uppercase;color:#8b909c;margin-bottom:2px}
.bx-skel i{display:block;height:12px;border-radius:999px;background:linear-gradient(90deg,#ffffff0a 0%,#ffffff1f 50%,#ffffff0a 100%) 0/200% 100%;animation:bx-shimmer 1.8s linear infinite}
.bx-skel i:nth-child(2){width:92%}.bx-skel i:nth-child(3){width:74%;animation-delay:.2s}.bx-skel i:nth-child(4){width:58%;animation-delay:.4s}

/* Step 2: a receipt that ticks line by line */
.bx-receipt-scene{display:flex;align-items:center;justify-content:center;padding:60px 22px 24px}
.bx-receipt{width:min(300px,100%);border-radius:18px;padding:18px 18px 16px;background:var(--glass);border:1px solid #ffffff2b;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 22px 50px #00000073}
.bx-receipt small{display:block;font-size:10px;font-weight:750;letter-spacing:.08em;text-transform:uppercase;color:#b9bdc8;margin-bottom:8px}
.bx-receipt ul{list-style:none;margin:0;padding:0}
.bx-receipt li{display:flex;justify-content:space-between;padding:10px 0;border-top:1px solid #ffffff14;font-size:13px;color:#8b909c;transition:color .35s}
.bx-receipt li b{color:#ffffff30;font-weight:800;transition:color .35s,transform .35s var(--ease)}
.bx-receipt li.on{color:#eceef2}
.bx-receipt li.on b{color:#fff;transform:scale(1.15)}
.bx-receipt .total{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:6px;padding:12px 14px;border-radius:12px;background:#51e3ce12;border:1px solid #51e3ce33;font-size:12px;font-weight:750;color:#9ea3ae;transition:background .4s,border-color .4s,color .4s,box-shadow .4s}
.bx-receipt .total b{font-size:12px;color:#9ea3ae;transition:color .4s}
.bx-receipt .total.on{background:#51e3ce24;border-color:#51e3ce80;color:#eceef2;box-shadow:0 0 30px #51e3ce26}
.bx-receipt .total.on b{color:var(--mint)}

/* Step 3: shortlist rows on dark, using the live Fit Score component */
.bx-shortlist .row{background:#11151ee6;border:1px solid #ffffff1a;color:#eceef2}
.bx-shortlist .meta{color:#9ea3ae}
.bx-shortlist .lb-example-fit{min-height:44px}

/* Biomarker tiles (replaces the logo-bar visualization) */
.bx-stage{min-height:0}
.bx-stage-count{margin-top:22px;padding-top:20px;border-top:1px solid #ffffff14;flex-wrap:wrap}
.bx-miss-count{margin-left:auto;font-size:12px;font-weight:750;color:#ffb3c3}
.bx-bio-grid{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:18px;min-height:150px;align-content:start}
.bx-bio{display:flex;align-items:center;gap:9px;min-height:44px;padding:9px 12px;border-radius:12px;background:#ffffff08;border:1px solid #ffffff17;font-size:12px;font-weight:700;line-height:1.25;color:#e6e7ec;animation:bx-tile .5s var(--ease) both;animation-delay:var(--dl,0s)}
.bx-bio i{flex:none;font-style:normal;font-weight:800;font-size:13px;color:#fff}
.bx-bio.miss{background:#ff829f0f;border:1px dashed #ff829f66;color:#ffc7d3}
.bx-bio.miss i{color:var(--coral)}
.bx-bio.more{justify-content:center;border-style:dashed;color:#9ea3ae}
@keyframes bx-tile{from{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:none}}
.bx-bio-grid:after{content:"";position:absolute;left:-10px;right:-10px;top:0;height:2px;border-radius:2px;background:linear-gradient(90deg,transparent,var(--mint),transparent);box-shadow:0 0 18px var(--mint);opacity:0;pointer-events:none}
.bx-bio-grid.scan:after{animation:bx-scan 1.2s var(--ease)}
@keyframes bx-scan{0%{top:0;opacity:0}12%{opacity:1}88%{opacity:1}100%{top:100%;opacity:0}}
.bx-stage-legend i{display:inline-block;width:auto;height:auto;background:none;font-style:normal;font-weight:800;margin-right:7px;vertical-align:0}
.bx-stage-legend i.ok{color:#fff}
.bx-stage-legend i.no{color:var(--coral)}

/* Compact audit map on phones */
@media (max-width:650px){
  .bx-map{gap:10px;margin-top:16px}
  .bx-map-col{min-height:0;padding:14px 16px;border-radius:16px}
  .bx-map-col h5{align-items:center}
  .bx-map-col h5 b{font-size:17px}
  .bx-map-col .chips{margin-top:10px;gap:5px}
  .bx-map-col .chips span{font-size:10.5px;padding:5px 9px}
  .bx-map-col .empty{margin-top:6px;font-size:11px}
  .bx-bio-grid{grid-template-columns:1fr 1fr}
  .bx-bills{padding:52px 16px 16px}
}
.paused .bx-bills .unk,.paused .bx-skel i{animation-play-state:paused!important}
@media (prefers-reduced-motion:reduce){.bx-bills .unk,.bx-skel i,.bx-bio,.bx-bio-grid.scan:after{animation:none!important}}
/* Live Fit Score component (values copied from .lb-score-example .lb-example-fit) */
.bx-shortlist .lb-example-fit{display:inline-flex;align-items:center;justify-content:center;gap:7px;box-sizing:border-box;min-height:40px;padding:6px 10px;border:2px solid transparent;border-radius:11px;background:linear-gradient(#080b12,#080b12) padding-box,linear-gradient(100deg,#8d7cff,#61b4ff,#51e3ce,#f4d6a2,#ff829f) border-box;color:#fffcf6;flex:0 0 auto;font-family:Manrope,sans-serif}
.bx-shortlist .lb-example-fit>strong{font-size:21px;font-weight:800;line-height:1;letter-spacing:-.03em;display:inline}
.bx-shortlist .lb-example-fit>span{display:block;width:32px;font-size:8px;font-weight:800;line-height:1.1;letter-spacing:.07em;text-transform:uppercase;color:#fffcf6;margin:0}
.bx-score td.win{color:#080b12;transition:color .4s var(--ease);transition-delay:var(--dl,0s)}
.bx-score td.win.lit{color:#fffcf6}
.bx-score .hs{display:none}
@media (max-width:650px){.bx-score .hf{display:none}.bx-score .hs{display:inline}}

.bx-audit-mini .tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:12px}
.bx-audit-mini .tags span{font-size:10px;font-weight:750;padding:4px 8px;border-radius:999px;background:#ffffff14;border:1px solid #ffffff26;color:#e6e7ec}
.bx-audit-mini .tags span.add{background:#51e3ce1a;border-color:#51e3ce59;color:#b8f4ea}

/* ==================================================================
   REV 4: wider hero copy, natural headline wrap, Labby chat
=================================================================== */
@media (min-width:901px){
  .bx-hero .hero-layout{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:20px}
  .bx-hero .hero-description{max-width:660px}
  .bx-hero .hero-copy{position:relative;z-index:2}
}
@media (min-width:1151px){
  .bx-hero h1{font-size:clamp(52px,4.6vw,72px)}
}
@media (max-width:650px){
  .bx-hero h1 em{display:inline}
  .bx-hero h1{font-size:clamp(34px,9.2vw,46px);line-height:1.08}
  .bx-hero .hero-art{margin-top:8px}
}
@media (min-width:901px) and (max-width:1150px){.bx-hero h1{font-size:48px}}

/* Labby: simulated live chat */
.bx-it{font-family:Newsreader,Georgia,serif;font-style:italic;font-weight:500;color:var(--mint)}
.bx-feat.full.bx-feat-rev{grid-template-columns:.9fr 1.1fr}
.bx-chat-scene{display:flex;align-items:center;justify-content:center;padding:30px;min-height:500px}
.bx-chat{width:min(540px,100%);height:440px;display:flex;flex-direction:column;border-radius:22px;background:#0b0e15eb;border:1px solid #ffffff21;box-shadow:0 30px 70px #0009;overflow:hidden}
.bx-chat-head{display:flex;align-items:center;gap:12px;padding:13px 16px;border-bottom:1px solid #ffffff14;background:#ffffff05}
.bx-chat-head .av{flex:none;width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#080b12;border:1px solid #ffffff21;overflow:hidden}
.bx-chat-head .av img{width:30px;height:30px;image-rendering:pixelated}
.bx-chat-head b{display:block;font-size:14px;font-weight:750}
.bx-chat-head small{display:flex;align-items:center;gap:6px;font-size:11px;color:#9ea3ae}
.bx-chat-head small i{width:7px;height:7px;border-radius:50%;background:var(--mint);box-shadow:0 0 8px var(--mint)}
.bx-chat-head .bx-tag{margin-left:auto}
.bx-chat-log{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;gap:10px;padding:16px}
.bx-msg{max-width:86%;padding:10px 13px;border-radius:16px;font-size:13px;line-height:1.5;animation:bx-msg .45s var(--ease) both}
.bx-msg.me{align-self:flex-end;background:#ede7ff;color:#1c1530;border-bottom-right-radius:5px;font-weight:600}
.bx-msg.bot{align-self:flex-start;background:#161b27;border:1px solid #ffffff1c;color:#dfe1e7;border-bottom-left-radius:5px}
.bx-msg.bot b{color:#fff;font-weight:750}
.bx-pills{align-self:flex-start;display:flex;flex-wrap:wrap;gap:6px;animation:bx-msg .45s var(--ease) both}
.bx-pills span{font-size:11px;font-weight:700;padding:6px 10px;border-radius:999px;border:1px solid #8d7cff66;background:#8d7cff14;color:#d6ceff}
.bx-typing{align-self:flex-start;display:flex;gap:5px;padding:13px 14px;border-radius:16px;border-bottom-left-radius:5px;background:#161b27;border:1px solid #ffffff1c;animation:bx-msg .3s var(--ease) both}
.bx-typing i{width:6px;height:6px;border-radius:50%;background:#b9bdc8;animation:bx-dot 1s infinite}
.bx-typing i:nth-child(2){animation-delay:.15s}.bx-typing i:nth-child(3){animation-delay:.3s}
@keyframes bx-dot{0%,60%,100%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}
@keyframes bx-msg{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.bx-chat-input{display:flex;align-items:center;gap:10px;margin:0 12px 12px;padding:9px 9px 9px 14px;border-radius:14px;background:#ffffff0a;border:1px solid #ffffff24;font-size:13px}
.bx-chat-input .ph{flex:1;min-width:0;color:#8b909c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bx-chat-input .ph.typing{color:#eceef2}
.bx-chat-input .send{flex:none;width:32px;height:32px;border-radius:10px;display:grid;place-items:center;font-weight:800;color:#fff;background:linear-gradient(#0b0e15,#0b0e15) padding-box,var(--spectrum) border-box;border:1px solid transparent;transition:transform .2s}
.bx-chat-input .send.hit{transform:scale(.9)}
@media (max-width:1150px){.bx-feat.full.bx-feat-rev{grid-template-columns:1fr}}
@media (max-width:650px){
  .bx-chat-scene{padding:16px;min-height:0}
  .bx-chat{height:460px}
  .bx-msg{font-size:12.5px;max-width:92%}
}
.paused .bx-typing i{animation-play-state:paused!important}
@media (prefers-reduced-motion:reduce){.bx-msg,.bx-pills,.bx-typing,.bx-typing i{animation:none!important}}

/* The shared header already pads the body (100px desktop, 88px phones). */
body[data-labbrary-header="shared"] .bx-plus-hero{padding-top:65px}
@media(max-width:650px){body[data-labbrary-header="shared"] .bx-plus-hero{padding-top:42px}}

/* The theme stylesheet loads after this file and recolors hovered and focused links and buttons
   (a:hover and button:hover), so the component colors are pinned for those states here. */
.bx-plus a.bx-button,.bx-plus a.bx-button:is(:hover,:focus,:active){color:var(--white)}
.bx-plus a.bx-button.light,.bx-plus a.bx-button.light:is(:hover,:focus,:active){color:var(--ink)}
.bx-plus a.bx-link,.bx-plus a.bx-link:is(:hover,:focus,:active){color:var(--paper)}
.bx-plus .bx-tab:not([aria-pressed=true]):is(:hover,:focus){background:#ffffff06;color:#cfd2da}
.bx-plus .bx-tab:not([aria-pressed=true]):hover{color:#fff}
