/* Science page (page/science). Sections px_science_*. Reads tokens from plexus.css. No shadows; red only as dots. */
.pxs-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--red);margin-right:10px;vertical-align:middle;transform:translateY(-1px);flex:none}
.pxs-eyebrow{display:flex;align-items:center}
.pxs-glyph{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex:none}
.pxs-chapter{display:inline-flex;align-items:center;gap:10px;margin-bottom:var(--s5)}
.pxs-chapter::before{content:"";width:28px;height:1px;background:currentColor;opacity:.5}

/* evidence-type chip (used in legend, file heads) */
.pxs-type{display:inline-flex;align-items:center;gap:8px;margin:0;padding:7px 14px 7px 10px;border-radius:var(--r-pill);border:1px solid var(--line-strong);background:var(--white);font-family:var(--font-label);font-weight:700;font-size:10.5px;letter-spacing:.15em;text-transform:uppercase;color:var(--ink)}
.pxs-type .pxs-glyph{width:16px;height:16px}
.pxs-type--invitro .pxs-glyph{color:var(--red)}

/* ── hero ─────────────────────────────── */
.pxs-hero{padding-block:clamp(40px,6vw,88px) clamp(48px,6vw,80px);overflow:hidden}
.pxs-hero__grid{display:grid;gap:clamp(36px,5vw,72px);align-items:center}
@media (min-width:1024px){.pxs-hero__grid{grid-template-columns:1.05fr .95fr}}
.pxs-hero__title{margin:var(--s5) 0 var(--s6);font-weight:400}
.pxs-hero__lede{max-width:44ch;margin-bottom:var(--s8)}
.pxs-legend{margin-bottom:var(--s8);padding-top:var(--s6);border-top:1px solid var(--line)}
.pxs-legend__title{margin-bottom:var(--s3)}
.pxs-legend__list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.pxs-legend__list .pxs-type{background:var(--cream)}
.pxs-hero__media{position:relative;margin:0;aspect-ratio:4/5;max-height:720px;width:100%;justify-self:end}
.pxs-field{position:absolute;inset:-6% -10% -6% 6%;border-radius:var(--r-panel);background:var(--cream);overflow:hidden}
.pxs-field svg{width:100%;height:100%}
.pxs-field__d{fill:var(--ink);opacity:.14}
.pxs-field__d--1{opacity:.22}
.pxs-field__d--2{opacity:.08}
.pxs-field__d.is-red{fill:var(--red);opacity:.85}
.pxs-hero__photo{position:absolute;inset:7% 9% 7% 0;border-radius:var(--r-card);overflow:hidden;background:var(--photo-1)}
.pxs-hero__photo img{width:100%;height:100%;object-fit:cover}
.pxs-hero__glass{position:absolute;left:-2%;bottom:12%;max-width:300px;padding:16px 20px;display:grid;gap:6px}
.pxs-hero__line{font-family:var(--font-display);font-size:20px;line-height:1.15;text-transform:lowercase}
.pxs-facts{margin:clamp(40px,5vw,72px) 0 0;display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line)}
@media (min-width:900px){.pxs-facts{grid-template-columns:repeat(4,1fr)}}
.pxs-facts__item{padding:var(--s6) var(--s5) 0 0;display:flex;flex-direction:column-reverse;gap:8px}
@media (min-width:900px){.pxs-facts__item+.pxs-facts__item{padding-left:var(--s6);border-left:1px solid var(--line)}}
.pxs-facts dd{margin:0;font-family:var(--font-display);font-size:clamp(24px,2.4vw,34px);line-height:1;letter-spacing:-.02em;text-transform:lowercase}
.pxs-facts dt{font-size:10.5px}

/* ── chapter bar ─────────────────────── */
.pxs-nav{position:relative;z-index:30;padding-block:var(--s3)}
.pxs-nav-spacer{display:none}
.pxs-nav.is-fixed{position:fixed;left:0;right:0;top:calc(var(--nav-h) + 22px);padding-block:0}
.pxs-nav__bar{display:flex;align-items:center;gap:var(--s5);padding:6px 6px 6px 22px;border-radius:var(--r-pill);background:rgba(255,255,255,.86);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--line)}
.pxs-nav__title{margin:0;white-space:nowrap;font-size:10.5px}
.pxs-nav__list{list-style:none;margin:0;padding:0;display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;flex:1;scroll-behavior:smooth}
.pxs-nav__list::-webkit-scrollbar{display:none}
.pxs-nav__link{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;border-radius:var(--r-pill);font-size:14.5px;font-weight:500;text-decoration:none;white-space:nowrap;color:var(--ink-soft);transition:background-color .2s,color .2s}
.pxs-nav__link:hover{color:var(--ink);background:var(--cream)}
.pxs-nav__link[aria-current="true"]{background:var(--ink);color:var(--white)}
.pxs-nav__n{font-family:var(--font-label);font-size:10px;font-weight:700;letter-spacing:.1em;opacity:.6}
@media (max-width:767px){.pxs-nav__title{display:none}.pxs-nav__bar{padding-left:6px}.pxs-nav.is-fixed{top:calc(var(--nav-h) + 10px)}}

/* anchored targets clear the site nav + chapter bar */
.pxs-system,.pxs-evidence,.pxs-file,.pxs-quality,.pxs-labels,.pxs-stage{scroll-margin-top:calc(var(--nav-h) + 96px)}

/* ── shared head ─────────────────────── */
.pxs-head{display:grid;gap:var(--s6);margin-bottom:clamp(40px,5vw,72px);align-items:end}
@media (min-width:1024px){.pxs-head{grid-template-columns:1.2fr .8fr;gap:var(--s16)}}
.pxs-head__title{margin:0}
.pxs-head .px-lede{margin:0}

/* ── how it works ────────────────────── */
.pxs-steps{list-style:none;margin:0;padding:0;display:grid;gap:var(--s6);position:relative}
@media (min-width:900px){
  .pxs-steps{grid-template-columns:repeat(var(--n,3),1fr);gap:var(--s5);padding-top:56px}
  .pxs-steps::before{content:"";position:absolute;top:22px;left:calc(100%/(var(--n,3)*2));right:calc(100%/(var(--n,3)*2));height:1px;background:repeating-linear-gradient(90deg,var(--ink) 0 6px,transparent 6px 12px);opacity:.35}
}
.pxs-step{position:relative;display:flex;flex-direction:column}
.pxs-step__node{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--ink);color:var(--white);font-family:var(--font-label);font-weight:700;font-size:12px;letter-spacing:.08em;margin-bottom:var(--s4)}
@media (min-width:900px){.pxs-step__node{position:absolute;top:-56px;left:50%;transform:translateX(-50%);margin:0;outline:8px solid var(--cream)}}
.pxs-step__card{flex:1;display:flex;flex-direction:column;background:var(--white);border-radius:var(--r-card);padding:clamp(22px,2.4vw,32px);border:1px solid var(--line)}
.pxs-step__word{font-family:var(--font-display);font-size:clamp(44px,4.6vw,68px);line-height:.9;letter-spacing:-.035em;margin:0 0 var(--s4)}
.pxs-step__img{display:block;aspect-ratio:1;border-radius:calc(var(--r-card) - 8px);background:var(--cream);margin-bottom:var(--s5);overflow:hidden}
.pxs-step__img img{width:100%;height:100%;object-fit:contain;padding:10%;mix-blend-mode:multiply;transition:transform .5s var(--ease)}
.pxs-step__card:hover .pxs-step__img img{transform:scale(1.04)}
.pxs-step__name{margin:0 0 var(--s2)}
.pxs-step__line{font-family:var(--font-display);font-size:21px;line-height:1.25;margin-bottom:var(--s4)}
.pxs-step__benefits{list-style:none;margin:0 0 var(--s4);padding:0;display:grid;gap:8px}
.pxs-step__benefits li{position:relative;padding-left:20px;font-size:16px;line-height:1.45;color:var(--ink-soft)}
.pxs-step__benefits li::before{content:"";position:absolute;left:2px;top:.55em;width:7px;height:7px;border-radius:50%;border:1.5px solid var(--ink)}
.pxs-inside{border-top:1px solid var(--line);margin-top:auto}
.pxs-inside summary{list-style:none;display:flex;justify-content:space-between;align-items:center;min-height:52px;cursor:pointer;font-family:var(--font-label);font-weight:700;font-size:11px;letter-spacing:.15em;text-transform:uppercase}
.pxs-inside summary::-webkit-details-marker{display:none}
.pxs-inside summary svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.5;transition:transform .2s var(--ease)}
.pxs-inside[open] summary svg{transform:rotate(45deg)}
.pxs-inside dl{margin:0 0 var(--s4);display:grid;gap:var(--s3)}
.pxs-inside dt{font-weight:600;font-size:15px}
.pxs-inside dd{margin:2px 0 0;font-size:14.5px;line-height:1.5;color:var(--muted)}
.pxs-step__link{margin-top:var(--s2);align-self:flex-start}
.pxs-system__actions{margin-top:var(--s10);justify-content:center}

/* ── evidence ────────────────────────── */
.pxs-types{list-style:none;margin:0 0 clamp(56px,7vw,104px);padding:0;display:grid;gap:var(--s4)}
@media (min-width:768px){.pxs-types{grid-template-columns:repeat(3,1fr)}}
.pxs-typecard{background:var(--cream);border-radius:var(--r-card);padding:clamp(22px,2.4vw,32px);display:grid;gap:var(--s4);align-content:start}
.pxs-typecard__icon{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--white)}
.pxs-typecard__icon .pxs-glyph{width:24px;height:24px}
.pxs-typecard--invitro .pxs-typecard__icon .pxs-glyph{color:var(--red)}
.pxs-typecard__label{margin:0}
.pxs-typecard__label .px-tag{background:var(--white);font-size:10.5px;padding:6px 12px}
.pxs-typecard__text{margin:0;color:var(--ink-soft);font-size:16.5px}

.pxs-file{padding-top:clamp(40px,5vw,64px);margin-top:clamp(40px,5vw,64px);border-top:1px solid var(--line)}
.pxs-types+.pxs-file{margin-top:0}
.pxs-file__head{display:flex;gap:clamp(16px,3vw,40px);align-items:flex-start;margin-bottom:clamp(28px,4vw,48px)}
.pxs-file__n{font-family:var(--font-display);font-size:clamp(56px,7vw,112px);line-height:.8;letter-spacing:-.04em;color:transparent;-webkit-text-stroke:1px var(--ink);flex:none}
.pxs-file__titles{display:grid;gap:var(--s4);justify-items:start;padding-top:4px}
.pxs-file__title{margin:0}

.pxs-vitro{display:grid;gap:clamp(28px,4vw,64px);align-items:start}
@media (min-width:900px){.pxs-vitro{grid-template-columns:.85fr 1.15fr}}
.pxs-vitro__photo{position:relative;margin:0;border-radius:var(--r-card);overflow:hidden;aspect-ratio:4/5;background:var(--photo-1)}
.pxs-vitro__photo img{width:100%;height:100%;object-fit:cover}
.pxs-vitro__glass{position:absolute;left:16px;top:16px;display:inline-flex;align-items:center;padding:9px 16px;border-radius:var(--r-pill);font-family:var(--font-label);font-weight:700;font-size:10.5px;letter-spacing:.15em;text-transform:uppercase}
.pxs-vitro__body>.px-lede{max-width:52ch;margin-bottom:var(--s8)}
.pxs-claims{list-style:none;margin:0 0 var(--s6);padding:0;display:grid;gap:var(--s4)}
.pxs-claim{background:var(--cream);border-radius:var(--r-card);padding:clamp(22px,2.6vw,36px)}
.pxs-claim__label{display:flex;align-items:center;gap:8px;margin-bottom:var(--s3);font-size:10.5px}
.pxs-claim__label::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--red)}
.pxs-claim__text{margin:0;font-family:var(--font-display);font-size:clamp(24px,2.4vw,34px);line-height:1.12;letter-spacing:-.015em}
.pxs-note{display:flex;gap:12px;margin:0 0 var(--s6);padding:var(--s5) 0 0;border-top:1px dashed var(--line-strong);font-size:14.5px;line-height:1.55;color:var(--muted);max-width:68ch}
.pxs-note__k{flex:none;font-size:16px;color:var(--ink)}
.pxs-note--plain{display:block}

.pxs-file__intro{display:grid;gap:var(--s4);margin-bottom:var(--s8);justify-items:start}
@media (min-width:1024px){.pxs-file__intro{grid-template-columns:1fr auto;align-items:end;gap:var(--s16)}}
.pxs-file__intro .px-lede{margin:0;max-width:60ch}
.pxs-ingredients{list-style:none;margin:0;padding:0;display:grid;gap:var(--s4)}
@media (min-width:768px){.pxs-ingredients{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1100px){.pxs-ingredients{grid-template-columns:1.3fr 1fr 1fr}}
.pxs-ing{position:relative;overflow:hidden;background:var(--cream);border-radius:var(--r-card);padding:clamp(22px,2.4vw,32px);display:flex;flex-direction:column;gap:var(--s3);min-height:300px}
.pxs-ing--featured{background:var(--ink);color:var(--white)}
.pxs-ing--featured .px-tag{border-color:rgba(255,255,255,.4);color:var(--white)}
.pxs-ing--featured .pxs-ing__text,.pxs-ing--featured .pxs-ing__src{color:rgba(255,255,255,.75)}
.pxs-ing__mol{position:absolute;right:20px;top:20px;width:84px;height:84px}
.pxs-ing__mol i{position:absolute;width:14px;height:14px;border-radius:50%;border:1.5px solid currentColor;opacity:.5}
.pxs-ing__mol i:nth-child(1){left:0;top:34px}.pxs-ing__mol i:nth-child(2){left:24px;top:10px}.pxs-ing__mol i:nth-child(3){left:52px;top:22px}.pxs-ing__mol i:nth-child(4){left:40px;top:54px}.pxs-ing__mol i:nth-child(5){left:68px;top:62px;background:var(--red);border-color:var(--red);opacity:1;width:9px;height:9px}
.pxs-ing__tag{margin:0}
.pxs-ing__name{margin:auto 0 0;font-family:var(--font-display);font-size:clamp(28px,2.6vw,38px);line-height:1;letter-spacing:-.02em;padding-top:var(--s10)}
.pxs-ing__text{margin:0;font-size:16px;line-height:1.5;color:var(--ink-soft)}
.pxs-ing__src{margin:0;font-size:10px}

.pxs-patent{display:grid;gap:clamp(28px,4vw,64px);align-items:center}
@media (min-width:900px){.pxs-patent{grid-template-columns:1.1fr .9fr}}
.pxs-patent__doc{position:relative;overflow:hidden;background:var(--cream);border-radius:var(--r-card);padding:clamp(28px,4vw,56px);min-height:360px;display:flex;flex-direction:column;gap:var(--s4);background-image:repeating-linear-gradient(0deg,transparent 0 31px,rgba(17,17,17,.06) 31px 32px)}
.pxs-patent__no{margin:0;font-family:var(--font-display);font-size:clamp(48px,6vw,92px);line-height:.9;letter-spacing:-.04em}
.pxs-patent__lines{list-style:none;margin:0;padding:0;font-family:var(--font-display);font-size:clamp(20px,1.8vw,26px);line-height:1.25;max-width:26ch}
.pxs-patent__cap{margin:auto 0 0}
.pxs-patent__cap{padding-right:104px}
.pxs-patent__seal{position:absolute;right:clamp(20px,3vw,40px);bottom:clamp(20px,3vw,40px);width:88px;height:88px;border-radius:50%;border:1px solid var(--ink);opacity:.5;background:radial-gradient(circle,transparent 30px,var(--ink) 30px 31px,transparent 31px)}
.pxs-patent__seal::after{content:"";position:absolute;inset:40px;border-radius:50%;background:var(--red)}
.pxs-patent__side{display:grid;gap:var(--s5);justify-items:start}
.pxs-patent__img{width:min(260px,70%);aspect-ratio:1}
.pxs-patent__img img{width:100%;height:100%;object-fit:contain}
.pxs-patent__side .px-lede{margin:0}
.pxs-patent__side .pxs-note{margin:0}

/* ── quality ─────────────────────────── */
.pxs-quality__grid{display:grid;gap:clamp(36px,5vw,80px);align-items:start}
@media (min-width:1024px){.pxs-quality__grid{grid-template-columns:.9fr 1.1fr}.pxs-quality__media{position:sticky;top:calc(var(--nav-h) + 110px)}}
.pxs-quality__media{position:relative;margin:0;border-radius:var(--r-card);overflow:hidden;aspect-ratio:4/5;background:var(--photo-1)}
.pxs-quality__media img{width:100%;height:100%;object-fit:cover}
.pxs-quality__glass{position:absolute;left:16px;bottom:16px;display:inline-flex;align-items:center;padding:10px 18px;border-radius:var(--r-pill);font-family:var(--font-label);font-weight:700;font-size:10.5px;letter-spacing:.15em;text-transform:uppercase}
.pxs-quality__head{margin-bottom:var(--s10)}
.pxs-quality__head .pxs-head__title{margin-bottom:var(--s5)}
.pxs-journey{list-style:none;margin:0;padding:0;position:relative}
.pxs-journey::before{content:"";position:absolute;left:7px;top:10px;bottom:10px;width:1px;background:var(--line-strong)}
.pxs-stage{position:relative;padding:0 0 var(--s10) 44px}
.pxs-stage:last-child{padding-bottom:0}
.pxs-stage__dot{position:absolute;left:0;top:4px;width:15px;height:15px;border-radius:50%;background:var(--cream);border:1.5px solid var(--ink)}
.pxs-stage:first-child .pxs-stage__dot{background:var(--ink)}
.pxs-stage__label{margin:0 0 6px;font-size:10.5px}
.pxs-stage__title{margin:0 0 var(--s2);font-family:var(--font-display);font-size:clamp(26px,2.4vw,36px);line-height:1.05;letter-spacing:-.02em;font-weight:400;text-transform:lowercase}
.pxs-stage__text{margin:0;color:var(--ink-soft);max-width:52ch}

/* ── labels ──────────────────────────── */
.pxs-callout{display:flex;gap:12px;align-items:flex-start;margin:var(--s5) 0 0;padding:var(--s4) var(--s5);border-radius:var(--r-card);background:var(--cream);font-size:15px;line-height:1.5;color:var(--ink-soft)}
.pxs-callout .pxs-glyph{margin-top:2px}
.pxs-labelcards{list-style:none;margin:0;padding:0;display:grid;gap:var(--s4)}
@media (min-width:768px){.pxs-labelcards{grid-template-columns:repeat(3,1fr)}}
@media (min-width:768px) and (max-width:1023px){.pxs-labelcards{grid-template-columns:repeat(2,1fr)}}
.pxs-labelcard{background:var(--cream);border-radius:var(--r-card);overflow:hidden;display:flex;flex-direction:column}
.pxs-labelcard__img{position:relative;display:block;aspect-ratio:1;background:var(--white);margin:10px 10px 0;border-radius:calc(var(--r-card) - 8px);overflow:hidden;text-decoration:none}
.pxs-labelcard__img img{width:100%;height:100%;object-fit:contain;padding:6%;transition:transform .5s var(--ease)}
.pxs-labelcard__img:hover img{transform:scale(1.05)}
.pxs-labelcard__zoom{position:absolute;left:12px;bottom:12px;display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:var(--r-pill);background:rgba(255,255,255,.9);border:1px solid var(--line);font-size:13px;font-weight:600}
.pxs-labelcard__zoom svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.5}
.pxs-labelcard__body{padding:var(--s6);display:flex;flex-direction:column;gap:var(--s2);flex:1}
.pxs-labelcard__body .px-label{margin:0;font-size:10.5px}
.pxs-labelcard__name{margin:0 0 var(--s2)}
.pxs-labelcard__decl{margin:0;font-size:15.5px;color:var(--ink-soft)}
.pxs-labelcard__body .px-link{margin-top:auto}

/* ── closing panel ───────────────────── */
.pxs-cta{padding-block:clamp(16px,3vw,40px) var(--section-y)}
.pxs-cta__panel{position:relative;overflow:hidden;border-radius:var(--r-panel);padding:clamp(32px,6vw,88px);display:grid;gap:var(--s10);align-items:center}
@media (min-width:900px){.pxs-cta__panel{grid-template-columns:1.1fr .9fr}}
.pxs-cta__title{margin:var(--s4) 0 var(--s5);color:var(--cream)}
.pxs-cta__copy .px-lede{margin-bottom:var(--s8)}
.pxs-cta__copy .px-btn--text{color:var(--cream)}
.pxs-cta__small{margin:var(--s6) 0 0;font-size:14px;color:rgba(241,233,222,.62)}
.pxs-cta__media{position:relative;aspect-ratio:1;max-width:460px;width:100%;justify-self:center}
.pxs-cta__halo{position:absolute;inset:6%;border-radius:50%;background:radial-gradient(circle,rgba(241,233,222,.16),rgba(241,233,222,0) 68%)}
.pxs-cta__media img{position:relative;width:100%;height:100%;object-fit:contain}

@media (prefers-reduced-motion:reduce){.pxs-step__img img,.pxs-labelcard__img img,.pxs-nav__link{transition:none}}
