/* The /free page (Gabriel Access with cost-plus prices; the design Tyler approved on 2026-10-15): layers on the
   homepage's style.css, pricing.css and pocket.css. Only the parts the homepage doesn't have: the numbers band, the bank
   step, savings receipts, the health twin, How Gabriel thinks, Insurance, the Gabriel Access card and the two channel
   versions (text and app). */

/* ---------- 2. The numbers band (in the logo band's place) ---------- */
.stats-in{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;padding-block:30px}
.stat{display:flex;flex-direction:column;gap:6px;padding-left:18px;border-left:1px solid rgba(240,243,241,.1)}
.stat:first-child{padding-left:0;border-left:0}
.stat b{font-size:clamp(28px,2.6vw,36px);font-weight:300;letter-spacing:-.035em;line-height:1;color:var(--pearl);font-variant-numeric:tabular-nums}
.stat span{font-family:var(--mono);font-size:var(--fs-12);font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}
@media (max-width:760px){
  .stats-in{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 16px;padding-block:26px}
  .stat,.stat:first-child{padding-left:14px;border-left:1px solid rgba(240,243,241,.1)}
  .stat:nth-child(odd){padding-left:0;border-left:0}
  .stat span{font-size:11px;letter-spacing:.08em}
}

/* ---------- 3. Step three: a connected bank, then the paid order ---------- */
.vis-bank .plan-ui{gap:3.6cqi}
.vis-bank .ui{align-self:stretch;background:rgba(12,16,18,.62)}
.vis-bank .ui-t{flex:1}
.vis-bank .bal-n{font-size:12cqi}

/* ---------- 4. Savings: the receipts show the Gabriel price, the list price struck, then the saving ---------- */
.save-list .receipt .rs::before,.save-list .receipt.paid .rs::before{content:none}
.save-list .receipt .rs s{color:var(--dim);text-decoration-thickness:1px}
.save-list .receipt .rs em{font-style:normal;margin-left:6px;color:var(--jade);opacity:0;transition:opacity .4s var(--ease-out)}
.save-list .receipt.paid .rs em{opacity:1}
.save-list .receipt .ra{color:var(--silver)}
.save-fine{margin-top:-8px}
.save-list .receipt .rn{padding-right:64px}
@media (max-width:520px){.save-list .receipt .rn{padding-right:0}}

/* ---------- 4b. Prescriptions, cost-plus: four price tiles ---------- */
.rx-band{border-top:1px solid rgba(240,243,241,.06);padding-block:clamp(72px,8vw,120px)}
.rx-head{display:flex;flex-direction:column;gap:18px;max-width:760px}
.rx-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:clamp(36px,4vw,56px)}
.rx-tiles li{display:flex;flex-direction:column;gap:8px;padding:20px 20px 22px;border-radius:18px;background:rgba(240,243,241,.04);border:1px solid rgba(240,243,241,.1)}
.rx-k{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--jade)}
.rx-n{font-size:var(--fs-17);color:var(--pearl);line-height:1.35;min-height:2.7em}
.rx-p{margin-top:auto;font-size:clamp(34px,3vw,44px);font-weight:300;letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums}
.rx-p small{font-size:14px;letter-spacing:0;color:var(--silver)}
.rx-p .rx-from{margin-right:6px}
.rx-p .rx-per{margin-left:4px}
.rx-fine{margin-top:22px;max-width:62em}
@media (max-width:900px){.rx-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.rx-tiles li{padding:16px}.rx-n{font-size:15px}}

/* ---------- 8. Gabriel Access: the card beside the comparison ---------- */
.ax-row{display:grid;grid-template-columns:minmax(300px,380px) minmax(0,1fr);gap:clamp(28px,4vw,56px);align-items:stretch}
/* Pearl, as on /plus (Tyler 2026-10-11: pearl Access, silver Core, graphite and jade Plus) */
.ax-card .pl-crown{height:clamp(68px,calc(16vh - 60px),84px);padding:12px 20px;color:var(--ink);--tint:linear-gradient(110deg,#eef2f0f0,#ffffffb3 55%,#e3e9e6f0);border-top:3px solid #c8cece}
.ax-card .pl-crown::before{filter:saturate(0) brightness(1.5) contrast(.85)}
.ax-card .pl-mark{top:12px;left:20px;color:var(--ash)}
.ax-card .pl-name{font-size:20px}
.ax-card .metal-light{opacity:.5}
.ax-body{display:flex;flex-direction:column;gap:12px;flex:1;padding:18px 20px 20px}
.ax-card .pl-price b{font-size:clamp(36px,3vw,44px)}
.ax-card .pm-checks{margin-bottom:6px}
.ax-join{margin-top:auto;width:100%;height:46px}

.ax-compare{display:flex;flex-direction:column;min-width:0}
.ax-compare-k{margin:0 0 14px;font-family:var(--mono);font-weight:500;font-size:var(--fs-12);letter-spacing:.12em;text-transform:uppercase;color:var(--emerald)}
.ax-table{width:100%;border-collapse:collapse;font-size:var(--fs-15);line-height:1.4}
.ax-table th,.ax-table td{padding:13px 12px;text-align:left;vertical-align:top;border-bottom:1px solid rgba(37,42,43,.1)}
.ax-table thead th{padding-top:0;font-family:var(--mono);font-size:var(--fs-12);font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--ash);border-bottom-color:rgba(37,42,43,.22)}
.ax-table thead th:nth-child(2){color:var(--emerald)}
.ax-table tbody th{width:28%;padding-left:0;font-weight:400;color:var(--ink)}
.ax-table td{color:var(--ash)}
.ax-table td:nth-child(2){color:var(--ink);background:rgba(54,94,76,.05)}
.ax-table td b{font-weight:500;color:var(--emerald)}
.ax-yes{display:inline-block;width:10px;height:6px;margin:0 10px 3px 2px;border-left:1.5px solid var(--emerald);border-bottom:1.5px solid var(--emerald);transform:rotate(-45deg)}
.ax-no{color:var(--dim)}
@media (max-width:1100px) and (min-width:861px){.ax-row{grid-template-columns:minmax(280px,320px) minmax(0,1fr)}.ax-table th,.ax-table td{padding:11px 8px}}
@media (max-width:860px){
  .ax-row{grid-template-columns:1fr;gap:28px}
  .ax-table{font-size:var(--fs-13)}
  .ax-table th,.ax-table td{padding:10px 6px}
  .ax-table tbody th{width:30%}
  .ax-table thead th{font-size:10.5px;letter-spacing:.06em}
}

/* ---------- 9. Optional care: Core (silver) and Plus (graphite and jade), side by side ---------- */
.cp-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.cp-core .pl-crown{--tint:linear-gradient(110deg,#1b2325e6,#5a6766a6 55%,#1b2325de);border-top-color:#b7c1c1}
.cp-core .pl-crown .pl-mark{color:var(--silver)}
.cp-budget .pl-crown{--tint:linear-gradient(110deg,#0b2a22d9,#1f4a3c80 55%,#0b2a22cc);border-top-color:#5f9a82}
.cp-budget .pl-crown::before{filter:saturate(.4) contrast(1.25) brightness(.5)}
.cp-budget .pl-crown .pl-mark{color:#9fc7b4}
.cp-budget .pm-join{background:transparent;color:var(--pearl);border-color:var(--glass-edge)}
.cp-budget .pm-join:hover{border-color:rgba(240,243,241,.4)}
.cp-cards .pm-plus .pm-buy{flex-direction:row;align-items:baseline}
@media (max-width:860px){
  .cp-cards{grid-template-columns:1fr;gap:12px}
  .cp-cards .pm-plus .pm-inc{padding-bottom:16px}
  .cp-cards .pm-plus .pm-inc-k{display:block;margin:0 0 2px;font-size:var(--fs-13);color:var(--silver)}
}

/* ---------- 1. Hero (the Gabriel Access hero): the free line sits right under the lead on every screen ---------- */
/* Phones only: on desktop the line keeps its place under the lead (order:2 pushed it to the bottom there) */
@media (max-width:760px){html[data-hero-variant=thread] .fr-hero .ff-free{order:2;margin-block:-4px 0}}

/* ---------- 6. Meet your health twin: a pinned, scroll-driven stage (twin.js sets the variables and classes) ---------- */
.twin-sec{position:relative;background:#0e1215}
.tw-pin{position:relative;height:440vh}
.tw-stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;background:#0e1215;--head:1;--sc:.62;--ty:20;--op:.3;--bl:6px;--glow:.25;--chop:0;--scan:0%;--scanop:0}
.tw-dust{position:absolute;inset:0;width:100%;height:100%;display:block}
.tw-glow{position:absolute;inset:0;pointer-events:none;opacity:var(--glow);background:radial-gradient(34% 52% at 50% 54%,rgba(147,187,169,.22) 0%,rgba(147,187,169,.08) 45%,rgba(14,18,21,0) 72%)}
.tw-head{position:absolute;left:0;right:0;top:calc(68px + 5vh);z-index:5;display:flex;flex-direction:column;align-items:center;gap:14px;padding:0 var(--gutter);text-align:center;opacity:var(--head);transform:translateY(calc((1 - var(--head)) * -28px));pointer-events:none}
.tw-head .h2{font-size:clamp(40px,5.2vw,76px);letter-spacing:-.045em;line-height:1.02}
.tw-head .lead{max-width:34em;color:var(--silver)}
.tw-halo,.tw-halo-still{width:64px;height:64px;margin-bottom:4px}
.tw-halo-still{display:none;border-radius:50%}
.tw-stage.no-halo .tw-halo{display:none}.tw-stage.no-halo .tw-halo-still{display:block}
.tw-scroll{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:6px;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.tw-scroll span{display:block;width:1px;height:34px;background:linear-gradient(180deg,rgba(147,187,169,0),rgba(147,187,169,.9));animation:twCue 1.8s ease-in-out infinite}
@keyframes twCue{0%{transform:scaleY(.2);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(.2);transform-origin:bottom}}
.tw-body{position:absolute;left:50%;top:52%;z-index:2;height:min(88vh,1000px);height:min(88svh,1000px);aspect-ratio:540/900;transform:translate(-50%,-50%) translateY(calc(var(--ty) * 1vh)) scale(var(--sc));opacity:var(--op);filter:blur(var(--bl))}
.tw-video{display:block;width:100%;height:100%;object-fit:contain;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 8%,#000 93%,transparent 100%),linear-gradient(90deg,transparent 0,#000 20%,#000 80%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(180deg,transparent 0,#000 8%,#000 93%,transparent 100%),linear-gradient(90deg,transparent 0,#000 20%,#000 80%,transparent 100%);mask-composite:intersect}
.tw-scan{position:absolute;left:8%;right:8%;top:var(--scan);height:2px;opacity:var(--scanop);background:linear-gradient(90deg,rgba(189,238,214,0),rgba(220,250,236,.95),rgba(189,238,214,0));box-shadow:0 0 22px 6px rgba(147,187,169,.4);pointer-events:none}
.tw-dot{position:absolute;width:16px;height:16px;margin:-8px 0 0 -8px;border-radius:50%;background:radial-gradient(circle,#fff 0 26%,rgba(189,238,214,.95) 40%,rgba(147,187,169,0) 72%);opacity:0;transform:scale(.3);transition:opacity .5s var(--ease-out),transform .6s var(--ease-out)}
.tw-dot::after{content:"";position:absolute;inset:-9px;border-radius:50%;border:1px solid rgba(189,238,214,.7);animation:twRing 2.2s var(--ease-out) infinite}
.tw-dot-watch{background:radial-gradient(circle,#fff 0 26%,rgba(240,243,241,.95) 40%,rgba(240,243,241,0) 72%)}
.tw-dot-watch::after{border-color:rgba(240,243,241,.8)}
.tw-dot.on{opacity:1;transform:scale(1)}
@keyframes twRing{0%{transform:scale(.5);opacity:1}100%{transform:scale(2.2);opacity:0}}
.tw-lines{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none;overflow:visible}
.tw-lines path{fill:none;stroke:rgba(189,238,214,.55);stroke-width:1;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset .8s var(--ease-out),opacity .5s}
.tw-lines path.on{stroke-dashoffset:0}
.tw-lines path.dim{opacity:.25}
.tw-card{position:absolute;left:0;top:0;z-index:4;width:236px;padding:14px 16px 15px;border-radius:16px;background:rgba(20,26,29,.62);border:1px solid rgba(240,243,241,.14);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);opacity:0;translate:0 14px;transition:opacity .6s var(--ease-out),translate .6s var(--ease-out),border-color .5s}
.tw-card.on{opacity:1;translate:0 0}
.tw-card.on.dim{opacity:.22}
.tw-k{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--jade)}
.tw-v{margin-top:6px;font-size:32px;font-weight:300;letter-spacing:-.035em;line-height:1;font-variant-numeric:tabular-nums}
.tw-v small{margin-left:6px;font-size:13px;letter-spacing:0;color:var(--silver)}
.tw-n{display:flex;align-items:center;gap:7px;margin-top:8px;font-size:14px;color:var(--silver)}
.tw-in,.tw-pulse{flex:none;width:7px;height:7px;border-radius:50%;background:var(--jade)}
.tw-pulse{background:var(--pearl);box-shadow:0 0 0 0 rgba(240,243,241,.6);animation:twPulse 1.8s infinite}
@keyframes twPulse{0%{box-shadow:0 0 0 0 rgba(240,243,241,.55)}100%{box-shadow:0 0 0 9px rgba(240,243,241,0)}}
.tw-watch{border-color:rgba(240,243,241,.32)}
.tw-watch .tw-k{color:var(--pearl)}
.tw-acts{position:absolute;left:0;top:0;z-index:4;width:340px;display:flex;flex-direction:column;gap:10px}
.tw-answer,.tw-act{opacity:0;translate:0 14px;transition:opacity .55s var(--ease-out),translate .55s var(--ease-out)}
.tw-answer.on,.tw-act.on{opacity:1;translate:0 0}
.tw-acts.out .tw-answer,.tw-acts.out .tw-act{opacity:0;translate:0 -10px}
.tw-answer{padding:15px 17px;border-radius:18px;background:rgba(240,243,241,.07);border:1px solid rgba(240,243,241,.16);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);font-size:15px;line-height:1.5;color:var(--pearl)}
.tw-answer b{display:block;margin-bottom:5px;font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--jade)}
.tw-act{display:flex;align-items:center;gap:12px;padding:12px 15px;border-radius:15px;background:rgba(30,46,41,.72);border:1px solid rgba(147,187,169,.42);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);font-size:15px}
.tw-act i{flex:none;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--jade);color:var(--obsidian);font-style:normal;font-size:13px;font-weight:600}
.tw-act small{display:block;margin-top:2px;font-size:13px;color:var(--silver)}
.tw-track{position:absolute;left:0;top:0;z-index:4;display:flex;align-items:center;gap:20px;opacity:0;translate:0 14px;transition:opacity .6s var(--ease-out),translate .6s var(--ease-out)}
.tw-track.on{opacity:1;translate:0 0}
.tw-ring{position:relative;width:128px;height:128px;flex:none}
.tw-ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.tw-ring circle{fill:none;stroke-width:5}
.tw-ring-bg{stroke:rgba(240,243,241,.1)}
.tw-ring-fg{stroke:var(--jade);stroke-linecap:round;stroke-dasharray:326.7;stroke-dashoffset:84.9;filter:drop-shadow(0 0 6px rgba(147,187,169,.6))}
.tw-ring p{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.tw-ring b{font-size:40px;font-weight:300;letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums}
.tw-ring small{margin-top:4px;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.tw-track-t{display:flex;flex-direction:column;gap:10px}
.tw-up{font-size:18px;letter-spacing:-.01em}
.tw-up small{display:block;margin-top:2px;font-size:13px;color:var(--silver)}
.tw-ask{position:absolute;left:50%;bottom:104px;z-index:5;display:flex;align-items:center;gap:12px;width:min(560px,calc(100% - 32px));padding:9px 9px 9px 12px;border-radius:999px;background:rgba(26,34,37,.82);border:1px solid rgba(240,243,241,.14);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);opacity:0;transform:translate(-50%,16px);transition:opacity .5s var(--ease-out),transform .5s var(--ease-out)}
.tw-ask.on{opacity:1;transform:translate(-50%,0)}
.tw-ask-halo{flex:none;width:28px;height:28px}
.tw-field{flex:1;min-width:0;font-size:16px;color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tw-field.typed{color:var(--pearl)}
.tw-send{flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--pearl);color:var(--obsidian);font-weight:600}
.tw-private{position:absolute;left:50%;bottom:104px;z-index:5;display:flex;gap:12px;align-items:flex-start;width:min(640px,calc(100% - 32px));padding:14px 18px;border-radius:18px;background:rgba(20,26,29,.7);border:1px solid rgba(147,187,169,.35);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);font-size:15px;line-height:1.5;color:var(--silver);opacity:0;transform:translate(-50%,16px);transition:opacity .6s var(--ease-out),transform .6s var(--ease-out)}
.tw-private.on{opacity:1;transform:translate(-50%,0)}
.tw-private svg{flex:none;width:22px;height:22px;margin-top:1px;color:var(--jade)}
.tw-private b{font-weight:500;color:var(--pearl)}
.tw-chapters{position:absolute;left:var(--gutter);right:var(--gutter);bottom:30px;z-index:5;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px;max-width:var(--wide);margin:0 auto;opacity:var(--chop)}
.tw-chapters li{position:relative;display:flex;flex-direction:column;gap:5px;padding-top:12px}
.tw-chapters b{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);transition:color .4s}
.tw-chapters span{font-size:14px;line-height:1.35;color:var(--dim);transition:color .4s}
.tw-chapters i{position:absolute;left:0;right:0;top:0;height:2px;border-radius:2px;background:rgba(240,243,241,.12);overflow:hidden}
.tw-chapters i::after{content:"";position:absolute;inset:0;transform-origin:left;transform:scaleX(var(--p,0));background:var(--jade)}
.tw-chapters li.on b{color:var(--jade)}
.tw-chapters li.on span{color:var(--pearl)}
.tw-tag{position:absolute;right:var(--gutter);top:calc(68px + 14px);z-index:5;font-size:12px;color:var(--dim);opacity:calc(1 - var(--head))}
/* Reduced motion and ?motion=off: one composed frame, no pin */
.twin-sec.is-still .tw-pin{height:auto}
.twin-sec.is-still .tw-stage{position:relative}
@media (max-width:760px){
  .tw-pin{height:460vh}
  .tw-head{top:calc(64px + 3vh);gap:10px}
  .tw-head .h2{font-size:40px}
  .tw-head .lead{font-size:16px}
  .tw-halo,.tw-halo-still{width:52px;height:52px}
  .tw-body{top:51%;height:min(80vh,700px);height:min(80svh,700px)}
  .tw-card{width:auto;max-width:44vw;padding:8px 11px 9px;border-radius:12px}
  .tw-card .tw-n{display:none}
  .tw-card.on.dim{opacity:0}
  .tw-k{font-size:10px;letter-spacing:.12em}
  .tw-v{margin-top:4px;font-size:20px}
  .tw-v small{margin-left:4px;font-size:11px}
  .tw-acts{gap:7px}
  .tw-answer{padding:11px 13px;font-size:13.5px;border-radius:14px}
  .tw-answer b{font-size:10px;margin-bottom:3px}
  .tw-act{padding:8px 11px;gap:10px;font-size:13.5px;border-radius:12px}
  .tw-act small{font-size:11.5px}
  .tw-act i{width:20px;height:20px;font-size:11px}
  .tw-track{gap:14px;padding:12px 14px;border-radius:18px;background:rgba(20,26,29,.72);border:1px solid rgba(240,243,241,.12);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
  .tw-ring{width:96px;height:96px}
  .tw-ring b{font-size:30px}
  .tw-up{font-size:16px}
  .tw-ask{bottom:78px}
  .tw-private{bottom:78px;font-size:14px;padding:12px 14px}
  .tw-chapters{bottom:24px;gap:10px}
  .tw-chapters span{display:none}
  .tw-tag{display:none}
}

/* ---------- The Private beat and Insurance, handled ---------- */
.tw-private{width:min(720px,calc(100% - 32px))}
.tw-priv-t{display:grid;gap:8px}
.tw-priv-list{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:15px;line-height:1.45;color:var(--silver)}
.tw-priv-list strong{font-weight:500;color:var(--pearl)}
@media (max-width:760px){.tw-priv-list{font-size:13.5px}}
@media (min-width:761px){.tw-private{bottom:122px}}

/* ---------- How Gabriel thinks + Insurance, on the site's own tiles ---------- */
.think .think-n{font-size:11cqi}
.think-unit{margin-left:1.6cqi;font-size:3.6cqi;letter-spacing:0;color:var(--silver)}
.rng{position:relative;height:1.8cqi;margin-top:4cqi;border-radius:1cqi;background:rgba(240,243,241,.1)}
.rng span{position:absolute;top:0;bottom:0;border-radius:1cqi}
.rng-norm{left:25%;width:58.3%;background:rgba(240,243,241,.22)}
.rng-opt{left:41.7%;width:25%;background:var(--jade)}
.rng-you{left:26.7%;width:1.2cqi;top:-1.4cqi!important;bottom:-1.4cqi!important;margin-left:-.6cqi;background:var(--pearl)}
.rng-key{display:flex;justify-content:space-between;gap:3cqi;margin-top:2.4cqi;font-size:max(11px,2.7cqi);color:var(--silver)}
.rng-key-opt{color:var(--jade)}
.think-checks{display:flex;flex-direction:column;gap:2.4cqi;align-items:stretch}
.think-fine{margin-top:clamp(28px,3vw,40px);color:var(--ash)}
.ins .rx-tiles li{position:relative}
.ins .rx-p small{margin-left:4px}
.ins-cta{margin-top:clamp(24px,3vw,36px)}
.think-checks .ui{width:100%;box-sizing:border-box}
.think-checks .ui-t{flex:1}
.ins .rx-p .ins-after{display:block;margin:8px 0 0}

/* ---------- Free-first pricing, one section ---------- */
.ax-solo .pm-head{display:flex;justify-content:center}
.ax-solo .pm-head-t{text-align:center;max-width:640px;margin-inline:auto}
.ax-solo .ax-card{max-width:460px;width:100%;margin:clamp(36px,4vw,56px) auto 0}
.ax-solo .pm-checks li{text-align:left}
.ax-care{margin:28px auto 0;max-width:560px;text-align:center;font-size:15px;line-height:1.6;color:var(--ash)}
.ax-care .pm-arrow{margin-left:6px;color:var(--emerald);white-space:nowrap}

/* ---------- The two channel versions: index.html's first script sets html[data-ch] to text or app (?ch=text|app picks
   one). .ch-no-text and .ch-no-app parts show in the other version. ---------- */
html:not([data-ch="text"]) .ch-text{display:none!important}
html:not([data-ch="app"]) .ch-app{display:none!important}
html[data-ch="text"] .ch-no-text{display:none!important}
html[data-ch="app"] .ch-no-app{display:none!important}
.fr-ch{display:grid;gap:12px;justify-items:start}
.fr-ch-btn{min-width:220px}
.fr-ch-num{margin:0;font-size:15px;color:var(--silver)}
.fr-qr{display:flex;align-items:center;gap:16px;margin-top:10px;padding:12px 16px 12px 12px;border-radius:18px;background:var(--glass);border:1px solid var(--glass-edge)}
.fr-qr img{width:96px;height:96px;border-radius:10px}
.fr-qr p{margin:0;max-width:200px;font-size:14px;line-height:1.45;color:var(--silver)}

/* ---------- Prices (supplements + prescriptions in one section) ---------- */
.prices-rx{margin-top:clamp(64px,7vw,112px)}
.prices-rx-head{display:grid;gap:12px;max-width:720px}
.prices-rx-h{margin:0;font-size:var(--fs-h3);font-weight:300;letter-spacing:-.02em;line-height:1.3;color:var(--pearl);text-wrap:balance}
.prices-more{margin-top:18px}
.prices-more .pm-arrow{color:var(--jade)}

/* ---------- The text version's section (Gabriel texts you first) and the app version's hero twin ---------- */
.texts-first .step-p{color:var(--silver)}
.tx-ui{display:flex;flex-direction:column;gap:2.4cqi;align-items:stretch}
.tx-ui .ui{width:100%;box-sizing:border-box}
.tx-ui .ui-t{flex:1}
.tx-private{margin-top:clamp(28px,3vw,40px);color:var(--dim)}
.fr-app-vis{position:relative;margin:0;justify-self:end;width:min(100%,520px);aspect-ratio:4/5;border-radius:28px;overflow:hidden;background:#0c1012;border:1px solid var(--glass-edge)}
.fr-app-vis video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.fr-app-ui{position:absolute;left:20px;bottom:44px;display:grid;gap:4px;padding:16px 20px;border-radius:18px;background:rgba(17,21,24,.62);border:1px solid var(--glass-edge);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.fr-app-k{margin:0;font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--jade)}
.fr-app-n{margin:0;font-size:40px;font-weight:300;letter-spacing:-.04em;line-height:1;color:var(--pearl)}
.fr-app-n small{margin-left:8px;font-size:14px;letter-spacing:0;color:var(--silver)}
.fr-app-s{margin:0;font-size:13px;color:var(--silver)}
.fr-app-tag{position:absolute;left:20px;bottom:14px;margin:0;font-size:11px;color:var(--dim)}
@media (max-width:900px){.fr-app-vis{justify-self:stretch;width:100%;aspect-ratio:1/1;margin-top:24px}}

/* Phones: the channel CTA sits under the lead and the app visual under it (the hero orders its children on phones) */
@media (max-width:760px){.fr-hero .fr-ch{order:3}.fr-hero .fr-app-vis{order:4;margin-top:20px}}

/* App hero twin: three small data chips inside the frame, sample data (Tyler 10/15: information inside the box, no big score card) */
.fr-app-chip{position:absolute;z-index:2;display:flex;align-items:center;gap:8px;margin:0;padding:8px 12px;border-radius:12px;background:rgba(17,21,24,.55);border:1px solid var(--glass-edge);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:13px;line-height:1.2;color:#f0f3f1;white-space:nowrap}
.fr-app-chip i{flex:none;width:7px;height:7px;border-radius:50%;background:#9fe3c4;box-shadow:0 0 10px rgba(159,227,196,.9)}
.fr-app-chip b{font-weight:500}
.fr-app-chip span{color:var(--silver)}
.fr-app-watch i{background:#e3b45c;box-shadow:0 0 10px rgba(227,180,92,.9)}
@media (max-width:760px){.fr-app-chip{padding:6px 10px;font-size:12px}}
.fr-app-you i{background:#f0f3f1;box-shadow:0 0 8px rgba(240,243,241,.7)}

/* Step 01, the text version (Tyler 2026-10-15: "just the person saying ... and Gabriel responds"): two bubbles, no number,
   no icons. The sent bubble matches the hero thread's. */
.sms-ui{gap:2.8cqi;width:80cqi}
.sms-b{margin:0;max-width:80%;padding:2.8cqi 3.8cqi;border-radius:5.2cqi;font-size:max(13px,3.9cqi);line-height:1.36;letter-spacing:-.005em}
.sms-me{align-self:flex-end;background:#0a84ff;color:#fff;border-bottom-right-radius:1.6cqi}
.sms-g{align-self:flex-start;background:rgba(240,243,241,.13);color:var(--pearl);-webkit-backdrop-filter:blur(16px) saturate(150%);backdrop-filter:blur(16px) saturate(150%);border-bottom-left-radius:1.6cqi}
.vis.go .sms-b{animation:uiIn .8s var(--ease-out) .35s both}.vis.go .sms-b+.sms-b{animation-delay:1s}

/* ---------- Prescriptions, its own screen (Tyler 2026-10-15) ---------- */
.rx-sec{position:relative;overflow:hidden;color:var(--pearl);background:radial-gradient(90% 80% at 82% 30%,#1d3d33 0%,#11241e 42%,#0b1512 100%)}
.rxs-sprite{position:absolute;width:0;height:0;overflow:hidden}
.rx-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(32px,5vw,88px);align-items:center}
.rx-copy .h2{text-wrap:balance}
.rx-acts{list-style:none;margin:clamp(20px,2.4vw,32px) 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.rx-acts li{display:grid;gap:6px;padding:14px 16px 16px;border-radius:16px;background:rgba(240,243,241,.05);border:1px solid rgba(240,243,241,.1)}
.rx-acts b{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--jade)}
.rx-acts span{font-size:15px;line-height:1.4;color:var(--silver)}
.rx-cta{margin-top:clamp(22px,2.6vw,32px)}
.rx-card{justify-self:end;width:min(100%,400px);padding:22px;border-radius:24px;background:rgba(12,18,16,.55);border:1px solid rgba(240,243,241,.12);-webkit-backdrop-filter:blur(18px) saturate(140%);backdrop-filter:blur(18px) saturate(140%);box-shadow:0 40px 80px -40px rgba(0,0,0,.8)}
.rx-card-top{display:flex;align-items:center;gap:16px;padding-bottom:18px;border-bottom:1px solid rgba(240,243,241,.1)}
.rx-card-top .rxs-art{width:44px;height:70px;flex:none}
.rx-card-top p{margin:0;display:grid;gap:4px;font-size:19px;color:var(--pearl)}
.rx-card-top small{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--jade)}
.rx-checks{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:10px}
.rx-checks li{display:flex;align-items:center;gap:10px;font-size:15px;color:var(--silver)}
.rx-checks .ui-k{width:22px;height:22px;flex:none;display:grid;place-items:center;border-radius:50%;background:var(--jade);color:#0c1012}
.rx-checks .ui-k svg{width:13px;height:13px}
.rx-card-p{margin:18px 0 0;padding-top:16px;border-top:1px solid rgba(240,243,241,.1);display:flex;align-items:baseline;justify-content:space-between}
.rx-card-p>small{font-size:14px;color:var(--silver)}
.rx-card-p b{font-size:clamp(36px,3.4vw,48px);font-weight:300;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.rx-card-p b small{font-size:14px;letter-spacing:0;color:var(--silver);margin:0 4px}
[data-reveal].in .rx-checks li,.rx-card.in .rx-checks li{animation:uiIn .7s var(--ease-out) both}
.rx-card.in .rx-checks li:nth-child(2){animation-delay:.25s}.rx-card.in .rx-checks li:nth-child(3){animation-delay:.5s}

/* The shelf: two rows of popular prescriptions drifting in opposite directions (still for reduced motion). */
.rxs{margin-top:clamp(36px,4.5vw,64px);display:grid;gap:12px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.rxs-row{display:flex;width:max-content;animation:rxsL 70s linear infinite}
.rxs-r{animation-name:rxsR;animation-duration:80s}
.rxs:hover .rxs-row{animation-play-state:paused}
.rxs-set{list-style:none;margin:0;padding:0 6px;display:flex;gap:12px}
/* Each row is one set and three copies (wider than any screen), moved by exactly one set. */
@keyframes rxsL{from{transform:translateX(0)}to{transform:translateX(-25%)}}
@keyframes rxsR{from{transform:translateX(-25%)}to{transform:translateX(0)}}
.rxs-card{position:relative;width:184px;flex:none;display:grid;grid-template-rows:auto auto 1fr auto;padding:14px 16px 16px;border-radius:18px;background:linear-gradient(160deg,rgba(240,243,241,.07),rgba(240,243,241,.025));border:1px solid rgba(240,243,241,.1);overflow:hidden}
.rxs-card::before{content:"";position:absolute;inset:-30% 30% 45% -20%;background:radial-gradient(closest-side,var(--c),transparent);opacity:.22;pointer-events:none}
.rxs-art{color:var(--c);width:34px;height:54px;filter:drop-shadow(0 8px 14px rgba(0,0,0,.45))}
.rxs-k{margin:12px 0 0;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--c)}
.rxs-n{margin:4px 0 0;font-size:15px;line-height:1.3;color:var(--pearl)}
.rxs-p{margin:12px 0 0;font-size:22px;font-weight:300;letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--pearl)}
.rxs-p small{font-size:12px;letter-spacing:0;color:var(--silver);margin:0 2px}
.rxs-p.rxs-ask{font-size:13px;letter-spacing:0;color:var(--silver)}
.rx-sec .rx-fine{margin-top:clamp(24px,3vw,36px);max-width:760px}
@media (prefers-reduced-motion:reduce){.rxs-row{animation:none;width:auto}.rxs-set{flex-wrap:wrap;justify-content:center}.rxs-dup{display:none}.rxs{-webkit-mask-image:none;mask-image:none}}
@media (max-width:900px){.rx-grid{grid-template-columns:1fr}.rx-card{justify-self:stretch;width:100%}.rx-acts{grid-template-columns:1fr}.rxs-card{width:156px}}

/* ---------- Insurance, a light screen; Gabriel by text, a deeper one ---------- */
.ins-light{background:var(--soft);color:var(--ink)}
.ins-light .eyebrow{color:var(--emerald)}
.ins-light .h2{color:var(--ink)}
.ins-light .lead,.ins-light .fine{color:var(--ash)}
.ins-light .rx-tiles li{background:rgba(255,255,255,.72);border-color:rgba(37,42,43,.1);box-shadow:0 18px 40px -30px rgba(17,21,24,.45)}
.ins-light .rx-k{color:var(--emerald)}
.ins-light .rx-n,.ins-light .rx-p{color:var(--ink)}
.ins-light .rx-p small{color:var(--ash)}
.ins-light .btn-light{background:var(--obsidian);color:var(--pearl)}
.ins-light :focus-visible{outline-color:var(--emerald)}
.tone-deep{background:var(--deep)}

/* ---------- One screen at a time (Tyler 2026-10-15) ----------
   Each main section fills the screen and centers its content, with native scrolling. No scroll snap: Tyler found it
   laggy ("makes the website feel kind of shitty and cheap"); the screens are set apart by height, tone and reveals. */
#how,#savings,#rx,#insurance,#texts,#thinks,#membership{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:center}
/* Fit the prescriptions screen in one viewport on a laptop. */
.rx-sec{padding-block:clamp(72px,9vh,104px)}
.rx-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);gap:clamp(28px,4vw,64px)}
.rx-copy .h2{font-size:clamp(34px,3.6vw,54px);line-height:1.05}
.rx-copy .lead{margin-top:16px;max-width:620px}
.rx-acts{margin-top:22px;gap:0;border-top:1px solid rgba(240,243,241,.12)}
.rx-acts li{padding:14px 18px 0 0;border:0;border-radius:0;background:none}
.rx-acts li+li{padding-left:18px;border-left:1px solid rgba(240,243,241,.12)}
.rx-acts span{font-size:14.5px}
.rx-cta{margin-top:22px}
.rx-card{padding:20px}
.rxs{margin-top:clamp(28px,3.4vw,44px);gap:10px}
.rxs-set{gap:10px}
.rxs-card{width:170px;padding:12px 14px 13px;grid-template-columns:auto 1fr;grid-template-rows:auto auto auto;column-gap:12px;align-items:start}
.rxs-card .rxs-art{grid-row:1 / span 3;width:26px;height:42px;margin-top:2px}
.rxs-k{margin:0;font-size:10px}
.rxs-n{margin:3px 0 0;font-size:14px}
.rxs-p{margin:6px 0 0;font-size:18px}
.rxs-p.rxs-ask{font-size:12px}
.rx-sec .rx-fine{margin-top:20px}
@media (max-width:900px){.rx-acts{grid-template-columns:1fr;border-top:0}.rx-acts li,.rx-acts li+li{padding:12px 0;border-left:0;border-top:1px solid rgba(240,243,241,.12)}.rxs-card{width:160px}}
/* Laptops and up: the tall screens fit one viewport (less padding, shorter step pictures, a capped portrait). */
@media (min-width:1100px){
  #how,#savings,#insurance,#texts,#thinks,#membership{padding-block:clamp(64px,8vh,104px)}
  #how .steps .vis,#texts .steps .vis,#thinks .steps .vis{aspect-ratio:4/3}
  #savings .portrait{aspect-ratio:auto;height:min(calc(100svh - 200px),680px)}
}
/* Phones and tablets: the copy, then the card, one column (after the laptop fit rules above). */
@media (max-width:900px){.rx-grid{grid-template-columns:1fr}.rx-card{justify-self:stretch;width:100%}}
.rxs-p{white-space:nowrap}
/* Trimmed (Tyler 2026-10-15: "way too much information"): headline, one line, one button, then the shelf. */
.rx-top .rx-copy{max-width:760px}
.rx-sec .rxs{margin-top:clamp(36px,4.6vw,64px)}
.rxs-card{width:184px;padding:14px 16px 15px}
.rxs-card .rxs-art{width:30px;height:48px}
.rxs-n{font-size:15px}

/* ---------- The text version's page moment: Gabriel builds you a page (Tyler 2026-10-15) ---------- */
.pages-sec{background:var(--obsidian);color:var(--pearl);overflow:hidden}
.pg-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(32px,5vw,80px);align-items:center}
.pg-copy .h2{text-wrap:balance}
.pg-also{margin-top:18px;font-size:15px;line-height:1.5;color:var(--silver);max-width:460px}
.pg-vis{position:relative;display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1fr);gap:16px;align-items:center}
.pg-thread{display:flex;flex-direction:column;gap:10px;padding:18px 16px;border-radius:28px;background:#0d1113;border:1px solid rgba(240,243,241,.08)}
.pg-thread .sms-b{font-size:13.5px;padding:9px 13px;border-radius:18px;max-width:92%}
.pg-thread .sms-me{border-bottom-right-radius:6px}.pg-thread .sms-g{border-bottom-left-radius:6px}
.pg-link{align-self:flex-start;margin:0;max-width:92%;display:grid;gap:2px;padding:10px 13px;border-radius:16px;background:rgba(240,243,241,.13);font-size:13px;line-height:1.3}
.pg-link-k{font-size:11px;color:var(--silver)}
.pg-link b{font-weight:500;color:var(--pearl)}
.pg-browser{border-radius:18px;overflow:hidden;background:#fafafa;color:var(--ink);box-shadow:0 40px 80px -36px rgba(0,0,0,.8),0 0 0 1px rgba(240,243,241,.08)}
.pg-bar{margin:0;display:flex;align-items:center;gap:6px;padding:10px 12px;background:#e9ecea;border-bottom:1px solid #d9dedc}
.pg-bar i{width:9px;height:9px;border-radius:50%;background:#c8cece}
.pg-bar span{margin-left:10px;flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:5px 10px;border-radius:8px;background:#fafafa;font-size:11.5px;color:var(--ash)}
.pg-bar svg{width:11px;height:11px}
.pg-page{padding:18px 18px 20px}
.pg-k{margin:0;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--emerald)}
.pg-t{margin:6px 0 14px;font-size:24px;font-weight:300;letter-spacing:-.02em;color:var(--ink)}
.pg-docs{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.pg-doc{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:14px;background:#fff;border:1px solid rgba(37,42,43,.1)}
.pg-doc.is-pick{border-color:var(--emerald);box-shadow:0 0 0 1px var(--emerald) inset}
.pg-av{width:34px;height:34px;flex:none;display:grid;place-items:center;border-radius:50%;background:var(--soft);font-size:12px;font-weight:500;color:var(--emerald)}
.pg-doc-t{display:grid;gap:2px;flex:1;min-width:0}
.pg-doc-t b{font-size:14px;font-weight:500;color:var(--ink)}
.pg-doc-t small{font-size:12px;color:var(--ash)}
.pg-pick{flex:none;padding:4px 9px;border-radius:999px;background:var(--emerald);color:#fff;font-size:11px;font-weight:500}
.pg-btn{margin:14px 0 0;display:flex;align-items:center;justify-content:center;gap:8px;height:44px;border-radius:999px;background:var(--obsidian);color:var(--pearl);font-size:14px;font-weight:500}
.pg-btn .ui-k{width:18px;height:18px;display:grid;place-items:center;border-radius:50%;background:var(--jade);color:#0c1012}
.pg-btn .ui-k svg{width:11px;height:11px}
.pg-note{margin:10px 0 0;text-align:center;font-size:12px;color:var(--ash)}
.pages-sec .tx-private{margin-top:clamp(24px,3vw,40px)}
#pages{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:center}
@media (min-width:1100px){#pages{padding-block:clamp(64px,8vh,104px)}}
@media (max-width:1000px){.pg-grid{grid-template-columns:1fr}}
@media (max-width:640px){.pg-vis{grid-template-columns:1fr}.pg-thread{border-radius:22px}}
.pg-copy .lead{margin-top:16px}
.rx-top .rx-copy{margin-inline:0}
