/* Helicon Bioreactor / scoped case-study styles — inherits production site CSS */
.bio-page{background:#000;color:var(--text)}
.bio-page .bio-crumbs{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:27px 0 0;color:#b3c8aa;font-size:12px;font-weight:650}
.bio-crumbs a{color:#cfe8c1}.bio-crumbs a:hover{text-decoration:underline}.bio-crumbs .slash{color:#54684d}
.bio-intro{padding:59px 0 68px;display:grid;grid-template-columns:minmax(0,1.65fr) minmax(290px,.85fr);gap:57px;align-items:end}
.bio-kicker{font-size:11px;font-weight:800;letter-spacing:.16em;color:var(--mint);text-transform:uppercase;margin:0 0 20px;display:flex;align-items:center;gap:11px}
.bio-kicker::before{content:'';height:1px;width:23px;background:var(--mint)}
.bio-intro h1{font-size:clamp(42px,5.5vw,69px);line-height:1.07;letter-spacing:-.055em;margin:0 0 27px;font-weight:700;max-width:880px}
.bio-intro h1 span{color:var(--mint)}
.bio-deck{font-size:clamp(17px,1.75vw,20px);line-height:1.67;color:#d1dfcd;max-width:750px;margin:0}
.bio-signals{display:flex;gap:9px;flex-wrap:wrap;margin-top:25px}
.bio-signals span{font:650 11px/1.3 system-ui,sans-serif;border:1px solid #385334;background:#0b170b;border-radius:99px;padding:8px 12px;color:#d1e6c8}
.bio-intro-aside{border:1px solid #3f5936;background:linear-gradient(155deg,#132311,#080f08);border-radius:12px;padding:29px 25px 23px}
.bio-intro-aside small,.bio-intro-aside .asidefoot{font-size:11px;color:#bfdfb0;letter-spacing:.12em;font-weight:800}
.bio-intro-aside h2{font-size:25px;line-height:1.27;letter-spacing:-.03em;margin:17px 0;color:#f3f8f0}
.bio-intro-aside p{font-size:14px;line-height:1.68;margin-bottom:18px}
.bio-intro-aside .asidefoot{letter-spacing:0;font-weight:500;color:#b8cdb1;border-top:1px solid #32432e;padding-top:15px;line-height:1.5}
.bio-divider{border-top:1px solid #22341e}
.bio-section{padding:76px 0}.bio-section--tight{padding:53px 0 72px}
.bio-sectionhead{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:23px}
.bio-sectionhead .bio-id{font-size:11px;letter-spacing:.15em;font-weight:800;color:var(--mint);text-transform:uppercase;white-space:nowrap}
.bio-sectionhead h2{font-size:clamp(28px,3.2vw,41px);max-width:780px;margin:11px 0 0;line-height:1.18}
.bio-sectionhead > p{max-width:360px;font-size:14px;line-height:1.62;margin-bottom:2px;color:#b7c7b0}
.bio-pipeline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.bio-step{min-width:0;border:1px solid #2d482b;background:linear-gradient(150deg,#101c0e,#080e08);border-radius:10px;padding:28px 26px;position:relative}
.bio-step .stepn{display:block;font:750 12px/1.2 system-ui,sans-serif;letter-spacing:.14em;color:#a8d796;margin-bottom:26px}
.bio-step h3{font-size:21px;color:#fff;margin-bottom:12px}.bio-step p{font-size:14px;line-height:1.67;margin:0;color:#c2d0bd}
.bio-step code,.bio-maths code{color:#d3f6c5;font:13px/1.5 ui-monospace,Consolas,monospace}
.bio-step:not(:last-child):after{content:'→';position:absolute;right:-19px;top:45%;font-size:20px;font-weight:750;color:#c0e3a9;z-index:2;background:#000;padding:2px 3px}
.bio-viewer{border:1px solid #3a5333;background:#090f09;border-radius:12px;overflow:hidden}
.bio-tabs{display:flex;flex-wrap:wrap;gap:0;background:#0c170b;border-bottom:1px solid #2e492a;padding:7px 7px 0}
.bio-tab{font-size:13px;line-height:1.2;font-weight:730;color:#bacfb4;background:none;border:0;border-bottom:2px solid transparent;padding:15px 19px 16px;border-radius:5px 5px 0 0}
.bio-tab:hover{background:#162714;color:#fff}.bio-tab[aria-selected="true"]{background:#111e0f;border-color:var(--mint);color:#f6fff2}
.bio-grid{display:grid;grid-template-columns:minmax(0,1.78fr) minmax(285px,.75fr)}
.bio-view-main{padding:22px;min-width:0;border-right:1px solid #2d422a}
.bio-stage-top{display:flex;justify-content:space-between;gap:18px;align-items:center;margin:0 0 12px;flex-wrap:wrap}
.bio-stage-title{font-size:14px;font-weight:800;letter-spacing:-.01em}.bio-stage-badge{border:1px solid #4c7040;border-radius:20px;background:#132510;color:#bee1b1;font:750 10px/1.3 system-ui,sans-serif;letter-spacing:.08em;padding:6px 10px;text-transform:uppercase}
.bio-stage{border:1px solid #2c3c2b;background:#060906;height:clamp(325px,37vw,515px);position:relative;overflow:hidden;display:grid;place-items:center;border-radius:7px;touch-action:pan-y}
.bio-stage.bio-zoomed{cursor:grab;touch-action:none}.bio-stage.bio-dragging{cursor:grabbing}
.bio-mat{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden;transform-origin:center center;will-change:transform}
.bio-media{display:block;width:100%;height:100%;object-fit:contain;object-position:center center;pointer-events:none;user-select:none}
.bio-stage img[hidden],.bio-stage video[hidden]{display:none!important}
.bio-corner{position:absolute;top:14px;left:14px;padding:8px 10px;border:1px solid #5c7b51;background:#000c;border-radius:4px;color:#e2f3da;font:700 10px ui-monospace,Consolas,monospace;letter-spacing:.07em}
.bio-imagepick{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.bio-imagepick[hidden]{display:none}.bio-imagepick button{color:#c1d3b9;border:1px solid #42613b;background:#111c10;border-radius:6px;padding:8px 11px;font-size:12px}
.bio-imagepick button[aria-pressed="true"]{background:#294421;color:#fff;border-color:#a5cf93}
.bio-controls{border-top:1px solid #233a21;margin-top:16px;padding-top:16px}
.bio-timeline-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;color:#bbd0b4}.bio-timeline-row strong{font:700 12px ui-monospace,Consolas,monospace;color:#e1f4d8}
.bio-scrub{display:block;width:100%;height:27px;accent-color:var(--mint);cursor:pointer;margin:5px 0 2px}
.bio-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.bio-btn{background:#182914;border:1px solid #4e7044;color:#e6f4df;padding:9px 15px;border-radius:7px;min-height:41px;font-size:13px;font-weight:750}
.bio-btn:hover{background:#274321}.bio-btn-primary{color:#102009;background:#d0eaba;border-color:#d0eaba}.bio-btn-primary:hover{background:#edfbdc}
.bio-zoom{display:flex;gap:10px;align-items:center;flex-wrap:wrap;color:#c8d9bf;font-size:12px}.bio-zoom input{accent-color:var(--mint);width:105px;max-width:30vw}.bio-zoom output{font:12px ui-monospace,Consolas,monospace;color:#d3f5c2}
.bio-tiny{font-size:11px;color:#8eaa85;line-height:1.45;margin:10px 0 0}
.bio-view-aside{background:linear-gradient(150deg,#11210e,#0b140b);padding:30px 26px;min-width:0}
.bio-view-aside .micro{font-size:11px;color:#bddfac;letter-spacing:.14em;font-weight:800;text-transform:uppercase}
.bio-view-aside h3{font-size:25px;margin:15px 0 16px;font-weight:700;line-height:1.26}
.bio-view-aside p{font-size:14px;line-height:1.72;color:#ccdbca}
.bio-view-aside hr{height:1px;border:0;background:#345130;margin:23px 0}
.bio-view-aside h4{font-size:11px;letter-spacing:.13em;color:#c9eab8;text-transform:uppercase;margin:0 0 10px}
.bio-view-aside .field-note{font-size:12px;color:#a6bca0;line-height:1.62}
.bio-dose-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:22px;align-items:stretch}
.bio-maths{padding:32px;background:linear-gradient(145deg,#13220f,#0a1309);border:1px solid #3b5a32;border-radius:11px}
.bio-maths .pretag,.bio-record .pretag{font-size:11px;letter-spacing:.15em;color:#bfe0ae;font-weight:800;text-transform:uppercase;margin:0 0 20px}
.bio-maths h3{font-size:25px;margin-bottom:15px}.bio-maths p{font-size:14px;line-height:1.72}
.bio-formula{margin:26px 0;padding:22px;border-left:3px solid #bddfac;background:#071107;font:600 clamp(18px,2.3vw,28px)/1.6 'Segoe UI',system-ui,sans-serif;letter-spacing:.01em;color:#e9ffdf;overflow-x:auto;white-space:nowrap}
.bio-formula small{display:block;font:12px/1.6 ui-monospace,Consolas,monospace;letter-spacing:0;color:#a9c89e;margin-top:10px;white-space:normal}
.bio-record{padding:32px;border:1px solid #34462e;background:#0b130a;border-radius:11px}
.bio-record h3{font-size:24px;margin-bottom:17px}
.bio-record dl{margin:0}.bio-record dl>div{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-top:1px solid #2b4126}
.bio-record dt{font-size:14px;color:#e1eedb;font-weight:680}.bio-record dd{margin:0;font-size:12px;color:#abc89f;text-align:right;line-height:1.5}
.bio-record .bio-stats{margin-top:21px;padding:17px 18px;background:#142310;border-left:2px solid #a7d590;font-size:13px;line-height:1.67;color:#d6e7cf}
.bio-validation{display:grid;grid-template-columns:1fr auto;gap:36px;align-items:center;border:1px solid #3b5833;background:#0e190c;border-radius:11px;padding:28px 32px}
.bio-validation h2{font-size:22px;margin:0 0 12px}.bio-validation p{font-size:14px;margin:0;max-width:790px;color:#c5d5bf}.bio-validation .bio-chip{border:1px solid #647e57;color:#d1e4c4;border-radius:90px;padding:9px 13px;font-size:11px;font-weight:800;letter-spacing:.07em;white-space:nowrap}
.bio-cta{margin:72px 0 75px;padding:38px 43px;display:flex;justify-content:space-between;align-items:center;gap:25px;background:linear-gradient(105deg,#152711,#071107 72%);border:1px solid #4c6840;border-radius:12px}.bio-cta h2{font-size:clamp(23px,2.5vw,32px);margin-bottom:12px}.bio-cta p{font-size:15px;margin:0;max-width:680px}
.bio-cta .btn{white-space:nowrap}
@media(max-width:1000px){.bio-intro{gap:30px}.bio-grid{grid-template-columns:1fr}.bio-view-main{border-right:0}.bio-view-aside{border-top:1px solid #31502d}.bio-dose-layout{grid-template-columns:1fr 1fr}.bio-sectionhead{align-items:start}}
@media(max-width:760px){.bio-page .bio-crumbs{padding-top:17px}.bio-intro{grid-template-columns:1fr;padding:39px 0 49px}.bio-intro-aside{padding:24px}.bio-section{padding:55px 0}.bio-section--tight{padding:42px 0 55px}.bio-sectionhead{display:block}.bio-sectionhead>p{margin:15px 0 0}.bio-pipeline{grid-template-columns:1fr}.bio-step:not(:last-child):after{content:'↓';right:20px;top:auto;bottom:-20px}.bio-step{padding:23px}.bio-step .stepn{margin-bottom:16px}.bio-view-main{padding:11px}.bio-view-aside{padding:22px 20px}.bio-stage{height:clamp(285px,60vw,430px)}.bio-tab{padding:12px 11px;font-size:11px}.bio-zoom input{width:75px}.bio-dose-layout{grid-template-columns:1fr}.bio-maths,.bio-record{padding:25px 21px}.bio-validation{grid-template-columns:1fr;padding:25px}.bio-validation .bio-chip{justify-self:start}.bio-cta{display:block;margin:58px 0 55px;padding:26px}.bio-cta .btn{margin-top:23px}}
@media(max-width:480px){.bio-intro h1{font-size:40px}.bio-stage{height:295px}.bio-corner{font-size:9px;top:8px;left:8px}.bio-tabs{padding:4px 3px 0}.bio-tab{flex:1 0 42%}.bio-actions{align-items:start}.bio-zoom{flex:1 1 100%}}
@media(prefers-reduced-motion:reduce){.bio-mat{will-change:auto}}

/* Histogram-only distribution dashboard */
.bio-hist-section{padding-top:62px}
.bio-hist-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 13px}
.bio-hist-tab{appearance:none;background:#0b160b;border:1px solid #314b2b;border-radius:7px;color:#cbdac5;padding:12px 16px;display:inline-flex;align-items:center;justify-content:space-between;gap:19px;font-weight:670;font-size:13px;line-height:1.25;cursor:pointer;transition:background .15s,border-color .15s}
.bio-hist-tab:hover{background:#1b311a;border-color:#7cad70;color:#fff}
.bio-hist-tab:focus-visible{outline:2px solid #d0ffba;outline-offset:3px}
.bio-hist-tab[aria-selected="true"]{background:#213e1c;border:1px solid #89b978;color:#f2ffe9}
.bio-tab-count{font-size:11px;color:#9db995;letter-spacing:.04em}
.bio-hist-tab[aria-selected="true"] .bio-tab-count{color:#e0f6d7}
.bio-hist-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:11px 15px;background:#0a170a;border:1px solid #283c24;border-radius:8px;margin:0 0 19px;min-height:53px}
.bio-hist-toolbar button:disabled{opacity:.45;cursor:not-allowed}
.bio-hist-selection{font-size:12.5px;color:#bed5b1;margin:0;line-height:1.5;flex:1;min-width:190px}
.bio-hist-panel[hidden]{display:none !important}
.bio-hist-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}
.bio-hist-card{min-width:0;background:linear-gradient(160deg,#101b0e,#070d07);border:1px solid #34512d;border-radius:11px;padding:23px 22px 19px}
.bio-hist-card-head{display:flex;justify-content:space-between;gap:10px;align-items:start}
.bio-hist-card-head h3{color:#eef9e7;font-size:clamp(19px,1.65vw,23px);margin:0 0 8px;line-height:1.3}
.bio-hist-desc{font-size:12.5px;line-height:1.55;color:#b6c9ae;min-height:41px;margin:0 0 8px;max-width:490px}
.bio-hist-plot{position:relative;width:100%;overflow:hidden}
.bio-hist-svg{display:block;width:100%;height:auto;overflow:visible;min-height:180px}
.bio-hist-svg .axis-text{font:12px system-ui,Arial,sans-serif;fill:#aabca2}
.bio-hist-svg .gridline{stroke:#344a31;stroke-width:1}
.bio-hist-svg .axis-line{stroke:#6c8665;stroke-width:1.3}
.bio-hist-svg .hist-bar{fill:#356b38;stroke:#77a879;stroke-width:0.55;transition:fill .12s,opacity .12s}
.bio-hist-svg .hist-bar:hover,.bio-hist-svg .hist-bar:focus{fill:#97d18a;stroke:#e0ffd6;outline:none;cursor:pointer}
.bio-hist-svg .hist-bar.hist-bar-selected{fill:#bfe6a5;stroke:#edffdd;stroke-width:1.3}
.bio-hist-svg .hist-bar.hist-bar-muted{opacity:.25}
.bio-hist-svg .hist-spot{fill:#a7eeb4;pointer-events:none}
.bio-hist-svg text{user-select:none}
.bio-hist-tooltip{position:absolute;z-index:3;pointer-events:none;padding:9px 12px;border:1px solid #8cb77c;background:#0d1a0e;color:#e2f8d8;border-radius:7px;box-shadow:0 8px 22px #0008;font-size:12px;max-width:230px;line-height:1.45}
.bio-hist-tooltip[hidden]{display:none}
.bio-hist-axis{text-align:center;color:#c8dac1;font-size:12px;margin:-1px 0 0}
.bio-hist-disclaimer{margin:18px 0 0;padding:12px 16px;border-left:2px solid #516f4b;background:#0a1209;color:#a7bca1;font-size:12px;line-height:1.6}
.bio-hist-panel[data-group-panel="mixing"] .bio-hist-card:last-child{grid-column:1/-1}
.bio-hist-panel[data-group-panel="mixing"] .bio-hist-card:last-child .bio-hist-plot{max-width:760px;margin:0 auto}
.bio-hist-panel[data-group-panel="dosing"] .bio-hist-grid{grid-template-columns:minmax(0,760px);justify-content:center}
@media(max-width:880px){.bio-hist-card{padding:18px 14px}.bio-hist-grid{gap:12px}}
@media(max-width:720px){.bio-hist-grid{grid-template-columns:1fr}.bio-hist-svg{min-height:0}.bio-hist-card{padding:20px 17px}.bio-hist-desc{min-height:0}.bio-hist-section{padding-top:51px}.bio-hist-selection{font-size:12px}.bio-hist-tabs{display:grid;grid-template-columns:1fr;gap:7px}.bio-hist-tab{width:100%;padding:11px 13px}.bio-hist-toolbar{gap:12px}}
@media(prefers-reduced-motion:reduce){.bio-hist-svg .hist-bar{transition:none}}
