/* Astra: interaction, accessibility and compact-screen refinements. */
[hidden]{display:none!important} [inert]{pointer-events:none}
:focus-visible{outline:3px solid #087e89;outline-offset:4px}
html{scroll-padding-top:100px}.wrap>*{min-width:0}
.panel:not(.is-open){visibility:hidden}.panel.is-open{visibility:visible}
.panel__body{overscroll-behavior:contain}.panel__foot{padding-bottom:max(20px,env(safe-area-inset-bottom))}
.qty button,.x,.burger,.cart-btn{min-width:44px;min-height:44px}.cart-line__rm{min-height:36px}
.sum-line>*{min-width:0;overflow-wrap:anywhere}.sum-line b{text-align:right}
.cart-line{grid-template-columns:52px minmax(0,1fr) auto;gap:10px}.cart-line img{width:52px}.cart-line__info strong{font-size:13px}.cart-line__right{font-size:13px}
.toast{max-width:calc(100% - 32px);width:max-content;text-align:center;border-radius:12px}
.co-form fieldset{min-width:0}.co-form input{min-height:48px}.co-side{min-width:0}
.checkout h1{overflow-wrap:anywhere}.success__card{min-width:0;max-width:100%}.success__card [data-order-number]{white-space:normal;overflow-wrap:anywhere}
.nav:not(.is-open){visibility:visible}.reading-nav{padding:24px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--bg);z-index:3}.reading-wrap{max-width:760px;margin:auto;padding:48px 24px}.reading h1{font-size:clamp(30px,5vw,52px);margin-bottom:32px}.reading p{white-space:pre-line;line-height:1.8;margin:20px 0}.reading .btn{margin-top:24px}
.compare tbody td{vertical-align:top}
@media(max-width:1100px){.header__row{gap:12px}.nav{gap:12px;font-size:12px}.logo img{width:116px}}
@media(max-width:900px){.nav:not(.is-open){visibility:hidden}.nav.is-open{visibility:visible}.nav{height:calc(100dvh - 66px);font-size:20px}.nav a{min-height:48px}.burger{display:flex}.header__row{height:66px}.hero__grid{gap:32px}}
@media(max-width:600px){.panel__head,.panel__body,.panel__foot{padding-inline:16px}.sum-line{font-size:13px;gap:10px}.sum-line--total b{font-size:18px}.co-form fieldset,.co-side{padding:20px}.calc__match{flex-direction:column;align-items:flex-start}.calc__match>div{min-width:0}.calc__match img{height:80px}.btn{white-space:normal;min-height:44px}.hero__cta .btn{flex:1}.success__card{padding:20px}.success__card h1{font-size:26px}.table-wrap{max-width:100%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1!important;transform:none!important}}

/* Lab Sheet / Astra: specimen, assay, typography. */
:root{--ink-3:#586768}.hero{background-size:48px 48px;background-color:#f3f6f2}.hero__grid{grid-template-columns:1.08fr 1fr;padding:52px 0 60px;gap:64px}.hero h1{font-size:clamp(48px,5.9vw,85px);line-height:.98;letter-spacing:-.065em}.hero h1 span{color:#16676a}.hero .lead{font-size:16px;max-width:450px;line-height:1.7;margin-top:28px}.hero .eyebrow{font-size:11px;letter-spacing:.08em;margin-bottom:26px}.hero__cta{margin-top:28px}.hero__cta .btn--primary{background:var(--acid);color:var(--ink);box-shadow:4px 4px 0 var(--ink)}.trust{font-size:11px;line-height:1.7;margin-top:32px;gap:12px}.hero__sheet{box-shadow:10px 10px 0 #d5e5d9}.lab-specimen{height:248px;position:relative;overflow:hidden;background:linear-gradient(110deg,#e8f1e4,#f8faf6);border-bottom:1px solid var(--ink);display:flex;align-items:center;justify-content:space-between;padding:24px}.lab-specimen:before{content:"";position:absolute;width:200px;height:200px;border:1px solid #96aba0;border-radius:50%;right:34px;top:20px}.lab-specimen img{height:224px;width:180px;object-fit:contain;mix-blend-mode:multiply;position:relative;transform:rotate(8deg);z-index:1}.lab-label{font-size:10px;line-height:1.7;z-index:1}.lab-label strong{display:block;font-family:'Golos Text',sans-serif;font-size:72px;letter-spacing:-.07em;line-height:1.1;margin:16px 0 12px}.lab-label strong span{display:block;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:0}.lab-ruler{position:absolute;right:12px;top:20px;bottom:40px;width:9px;background:repeating-linear-gradient(to bottom,#829a90 0 1px,transparent 1px 9px)}.lab-caption{position:absolute;bottom:10px;left:24px;font-size:9px;letter-spacing:.08em}.sheet__head{font-size:10px;padding:12px 18px}.sheet__row{font-size:12px;padding:10px 18px;grid-template-columns:1.2fr 1fr auto;gap:8px}.sheet__row .mono{font-size:11px}.sheet__row .ok{font-size:9px}.sheet__foot{padding:14px 18px;font-size:10px;min-height:0}.sheet__img{display:none}.hero__sheet .sheet__row:nth-of-type(n+7){display:none}.section__head h2{letter-spacing:-.045em}.spec__media{padding:10px 30px;background-color:#f1f5ef}.spec__media img{height:240px}.spec{transition:transform .2s,box-shadow .2s}.spec__head{background:#eaf0e6}.spec__actions .btn--primary{background:#17646a}.chart{border:1px solid var(--ink);box-shadow:4px 4px 0 #dce8dc}.tip{max-width:min(280px,80vw)}
@media(max-width:1000px){.hero__grid{gap:32px}.hero h1{font-size:62px}.sheet__row{font-size:11px}.hero__sheet{min-width:0}}
@media(max-width:900px){.hero__grid{grid-template-columns:1fr;max-width:640px}.hero h1{font-size:72px}.hero .lead{max-width:none}.trust{grid-template-columns:1fr 1fr}.hero__sheet{margin-right:10px}.nav{background:#f3f6f2}}
@media(max-width:600px){.hero__grid{padding:32px 0 40px;gap:28px}.hero h1{font-size:58px}.hero .eyebrow{font-size:9px;margin-bottom:22px}.hero .lead{font-size:14px;margin-top:20px}.hero__cta{gap:8px;margin-top:22px}.hero__cta .btn{font-size:12px;padding:13px 12px}.trust{margin-top:24px;font-size:9px;gap:8px}.lab-specimen{height:200px;padding:18px}.lab-specimen img{height:180px;width:140px}.lab-specimen:before{width:155px;height:155px;right:20px}.lab-label strong{font-size:56px}.lab-label{font-size:9px}.lab-caption{font-size:8px;left:18px}.sheet__head{font-size:8px;padding:12px}.sheet__row{padding:9px 12px;font-size:10px;grid-template-columns:1.2fr 1fr auto}.sheet__row b{grid-column:auto}.sheet__row .ok{grid-row:auto;font-size:8px}.sheet__row .mono{font-size:9px}.spec__media img{height:260px}.spec__body{padding:20px}.spec__body h3{font-size:20px}.spec__head{padding:12px 20px}.spec__actions .btn{padding:12px}.sheet__foot{font-size:9px;padding:12px}}
@media(max-width:900px){.nav[inert]{display:none}}
