/* Orenston v5: one screen per page, light, minimal. */
:root{--bg:#FAFAF8;--ink:#141414;--mute:#5F5F5A;--line:#E4E2DC;--card:#FFFFFF;--acc:#1F3D2B;--acc-ink:#FFFFFF;--warn:#7A4B00;
--serif:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Charter,Georgia,serif;--sans:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{background:var(--bg);color:var(--ink);font:400 clamp(14px,1.05vw,16px)/1.5 var(--sans);-webkit-font-smoothing:antialiased}
body.screen{height:100svh;overflow:hidden;display:grid;grid-template-rows:auto 1fr auto}
@media (max-height:540px){body.screen{overflow:auto;height:auto;min-height:100svh}}
a{color:inherit;text-underline-offset:3px;text-decoration-thickness:1px}
:focus-visible{outline:2px solid var(--acc);outline-offset:3px;border-radius:2px}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:8px 12px;z-index:9}.skip:focus{left:8px}
.top{display:flex;align-items:center;justify-content:space-between;padding:clamp(14px,2.2vh,24px) clamp(18px,4vw,56px);border-bottom:1px solid var(--line)}
.mark{font:500 22px/1 var(--serif);letter-spacing:.01em;text-decoration:none}
.top nav{display:flex;gap:clamp(14px,2.4vw,34px);align-items:center;font-size:14px}
.top nav a{text-decoration:none;color:var(--mute)}.top nav a:hover,.top nav a[aria-current]{color:var(--ink)}
.top nav .signin{color:var(--ink);border:1px solid var(--ink);padding:7px 14px;border-radius:999px}
main{min-height:0;padding:clamp(16px,3.5vh,44px) clamp(18px,4vw,56px);display:flex;flex-direction:column;gap:clamp(12px,2.4vh,28px)}
.foot{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center;justify-content:space-between;padding:12px clamp(18px,4vw,56px);border-top:1px solid var(--line);font-size:12px;color:var(--mute)}
.foot nav{display:flex;gap:16px;flex-wrap:wrap}.foot a{text-decoration:none}.foot a:hover{color:var(--ink)}
h1,h2,h3{font-family:var(--serif);font-weight:500;letter-spacing:-.01em}
h1{font-size:clamp(34px,4.6vw,68px);line-height:1.02}
h2{font-size:clamp(24px,2.4vw,36px);line-height:1.1}
h3{font-size:18px;line-height:1.25}
.eyebrow{font:500 11px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.lede{font-size:clamp(15px,1.25vw,19px);color:#2B2B28;max-width:38em}
.fine{font-size:12px;color:var(--mute)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:500 15px/1 var(--sans);background:var(--acc);color:var(--acc-ink);border:1px solid var(--acc);border-radius:999px;padding:13px 22px;cursor:pointer;text-decoration:none;white-space:nowrap}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn:disabled{opacity:.6;cursor:default}
.btn.sm{padding:8px 14px;font-size:13px}
input[type=email],input[type=text],input[type=password]{font:400 16px/1.2 var(--sans);color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:999px;padding:13px 18px;min-width:0;width:100%}
input:focus{border-color:var(--ink);outline:none}
.join{display:flex;gap:8px;max-width:520px}
.check{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:#2B2B28;cursor:pointer}
.check input{margin-top:3px;width:16px;height:16px;accent-color:var(--acc);flex:none}
.pill{display:inline-block;font:500 11px/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--line);border-radius:999px;padding:6px 10px;color:var(--mute);background:var(--card)}
.pill.running{color:var(--acc);border-color:#B9CCBF}.pill.needs_results{color:var(--warn);border-color:#E5D3B5}.pill.planned{color:var(--mute)}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:clamp(14px,2vh,22px)}
/* homepage */
.home{flex:1;min-height:0;display:grid;grid-template-columns:55fr 45fr;grid-template-rows:1fr auto;gap:clamp(16px,3vh,36px) clamp(24px,4vw,64px)}
.home .lead{display:flex;flex-direction:column;justify-content:center;gap:clamp(12px,2.2vh,22px)}
.lab{align-self:center;display:flex;flex-direction:column;gap:14px}
.lab .now{display:flex;flex-direction:column;gap:8px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.kpi{border:1px solid var(--line);border-radius:10px;padding:12px}
.kpi b{display:block;font:500 clamp(22px,2vw,30px)/1.1 var(--serif)}.kpi span{font-size:12px;color:var(--mute)}
.pillars{grid-column:1/-1;align-self:end;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(10px,1.4vw,18px)}
.pillar{display:flex;flex-direction:column;gap:6px;text-decoration:none;border-top:1px solid var(--ink);padding-top:14px}
.pillar h2{font-size:clamp(20px,1.8vw,28px)}.pillar p{color:var(--mute);font-size:14px}.pillar:hover h2{text-decoration:underline;text-underline-offset:4px}
@media (max-width:820px){.home{grid-template-columns:1fr;grid-template-rows:auto;align-content:start}.home .lab .now{border-bottom:0;padding-bottom:0}.home .lab .kpis,.home .lab .open{display:none}.pillars{grid-template-columns:1fr;gap:0}.pillar{flex-direction:row;align-items:baseline;justify-content:space-between;padding:10px 0;border-top:1px solid var(--line)}.pillar p{display:none}.join{flex-direction:column}.top nav a:not(.signin):nth-child(n+3){display:none}}
/* paged screens */
.pager{flex:1;min-height:0;display:flex;flex-direction:column;gap:14px}
.steps{flex:1;min-height:0;position:relative}
.step{height:100%;display:flex;flex-direction:column;gap:clamp(10px,1.8vh,18px);overflow:hidden}
html.js .step:not(.on){display:none}
.pctl{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--mute)}
.pctl .count{font-family:var(--mono);min-width:5ch;text-align:center}
.pctl button{font:500 13px/1 var(--sans);background:none;border:1px solid var(--line);border-radius:999px;padding:8px 14px;cursor:pointer;color:var(--ink)}
.pctl button:disabled{opacity:.35;cursor:default}
html:not(.js) .pctl{display:none}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;align-content:start}
.row{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:14px;align-items:baseline}
.row.head{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
@media (max-width:820px){.row{grid-template-columns:1fr 1fr}.row>:nth-child(n+3){display:none}}
/* lab rail */
.rail{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.rail .g{font:500 11px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--mute);margin:0 4px 0 10px}.rail .g:first-child{margin-left:0}
.rail button{font:500 13px/1 var(--mono);border:1px solid var(--line);background:var(--card);border-radius:999px;padding:8px 11px;cursor:pointer;color:var(--ink)}
.rail button[aria-selected=true]{background:var(--ink);color:#fff;border-color:var(--ink)}
.rail button.st-running{box-shadow:inset 0 -2px 0 #B9CCBF}.rail button.st-needs_results{box-shadow:inset 0 -2px 0 #E5D3B5}
.panel{flex:1;min-height:0;display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(16px,3vw,40px);align-content:start}
html.js .panel[hidden]{display:none}
.kgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.kgrid .kpi b{font-size:clamp(18px,1.6vw,24px)}
.panels{flex:1;min-height:0;overflow:hidden}
@media (max-width:820px){.hub .lede,.hub .card p,.hub .card .eyebrow{display:none}.hub .grid{gap:6px}.hub .card{padding:7px 12px;flex-direction:row!important;justify-content:space-between;align-items:center}.hub .card h3{font-size:16px}}
@media (max-width:820px){.panel{grid-template-columns:1fr;gap:12px}.panel .note,.panel .wd,.hide-m,.panel .lede{display:none}.kgrid .kpi{padding:8px}.kgrid .kpi b{font-size:15px}.rail{gap:4px}.rail .g{display:none}.rail button{padding:6px 8px;font-size:12px}}
/* forms */
.auth{max-width:420px;width:100%;margin:auto;display:flex;flex-direction:column;gap:12px}
.auth label.f{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--mute)}
.err{color:#9B1C1C;font-size:13px;min-height:1.2em}.ok{color:var(--acc);font-size:14px}
.code{font-family:var(--mono);font-size:13px;background:var(--card);border:1px solid var(--line);border-radius:8px;padding:8px 10px;overflow-wrap:anywhere}
.disc{font-size:13px;color:#2B2B28;border-left:2px solid var(--acc);padding-left:10px}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
/* kept guides use the v4 sheet; the v5 bar replaces their header */
body.legacy .top{background:var(--bg)}
@media (max-width:820px){h1{font-size:clamp(26px,7.4vw,34px)}.lede{font-size:14px}main{gap:12px;padding-top:14px;padding-bottom:12px}.foot{font-size:11px;padding:8px 18px;gap:2px 12px}.pillar{padding:8px 0}.hide-m{display:none}}
