:root{
--ink:#10282d;--deep:#07171b;--teal:#0d5d62;--aqua:#6dd6c5;--paper:#f4f7f6;--line:#cad9d7;--amber:#f2b84b;--max:1200px}
*{
box-sizing:border-box}
html{
scroll-behavior:smooth}
body{
margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 Arial,sans-serif}
a{
color:inherit}
img{
display:block;width:100%}
header{
height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 max(22px,calc((100vw - var(--max))/2));background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}
.brand{
display:flex;align-items:center;gap:11px;text-decoration:none}
.brand>b{
width:42px;height:42px;display:grid;place-items:center;background:var(--ink);color:var(--aqua)}
.brand strong,.brand small{
display:block}
.brand strong{
font:700 20px Georgia}
.brand small{
font-size:11px;color:#587073}
nav{
display:flex;gap:22px}
nav a{
text-decoration:none;font-weight:800;font-size:14px}
.menu{
display:none}
.hero{
height:calc(100vh - 76px);min-height:650px;max-height:790px;position:relative;color:#fff;background:var(--deep);overflow:hidden}
.hero>img{
height:100%;object-fit:cover}
.wash{
position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,14,18,.97),rgba(3,14,18,.75) 44%,rgba(3,14,18,.05) 76%)}
.hero-copy{
position:absolute;left:max(22px,calc((100vw - var(--max))/2));top:47%;transform:translateY(-50%);width:min(610px,calc(100% - 44px))}
.eyebrow{
text-transform:uppercase;letter-spacing:.13em;font-size:12px;font-weight:900;color:var(--aqua)}
.dark{
color:var(--teal)}
h1,h2,h3{
font-family:Georgia,serif;letter-spacing:0}
.hero h1{
font-size:clamp(48px,6vw,82px);line-height:.98;font-weight:500;margin:10px 0 22px}
.hero-copy>p:not(.eyebrow){
font-size:19px}
.button{
display:inline-flex;background:var(--amber);color:#17231f;text-decoration:none;font-weight:900;padding:13px 18px;border-radius:4px;margin-top:18px}
.hero aside{
position:absolute;right:max(22px,calc((100vw - var(--max))/2));bottom:28px;width:370px;background:rgba(7,23,27,.88);border-left:4px solid var(--aqua);padding:15px;font-size:13px}
.hero aside strong{
display:block;font-size:15px}
.pathway,.types,.mimics,.sources,.blood{
max-width:var(--max);margin:auto;padding:85px 22px}
.intro{
max-width:780px;margin-bottom:34px}
.intro h2,.context h2{
font-size:clamp(38px,5vw,58px);line-height:1.04;font-weight:500;margin:7px 0 14px}
.steps{
display:grid;grid-template-columns:1fr 40px 1fr 40px 1fr;align-items:stretch}
.steps article,.mimic-grid article{
background:#fff;border-top:4px solid var(--teal);padding:24px}
.steps article span{
font-weight:900;color:var(--teal)}
.steps article h3,.mimic-grid h3{
font-size:25px;line-height:1.1}
.steps>i{
display:grid;place-items:center;font-style:normal;font-size:24px}
.note,.mimics aside{
margin-top:18px;background:#fff3d5;border-left:5px solid var(--amber);padding:16px}
.tabs{
display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--line)}
.tabs button{
min-height:54px;background:#fff;border:0;border-right:1px solid var(--line);font-weight:900}
.tabs button[aria-selected=true]{
background:var(--ink);color:#fff}
.viewer{
display:grid;grid-template-columns:1fr 1fr;background:#fff;border:1px solid var(--line);border-top:0;min-height:450px}
.viewer>div{
position:relative;background:#050809}
.viewer img{
height:100%;object-fit:contain}
.viewer em{
position:absolute;left:16px;bottom:16px;background:rgba(7,23,27,.85);color:#fff;padding:8px;font-style:normal;font-size:12px}
.viewer>section{
padding:44px;align-self:center}
.viewer section>span{
font-weight:900;color:var(--teal)}
.viewer h3{
font-size:34px;line-height:1.1}
.viewer dl{
display:grid;grid-template-columns:100px 1fr;gap:12px;border-top:1px solid var(--line);padding-top:18px}
.viewer dt{
font-weight:900}
.viewer dd{
margin:0;color:#526669}
.viewer-note{
margin:10px 0 0;color:#587073;font-size:13px}
.atlas{
background:var(--deep);color:#fff;padding:85px max(22px,calc((100vw - var(--max))/2))}
.atlas .intro{
color:#c8d8d7}
.atlas .intro h2{
color:#fff}
.atlas figure{
margin:0}
.atlas figure img{
aspect-ratio:16/9;object-fit:cover;border:1px solid #354b50}
.atlas figcaption{
font-size:12px;color:#9eb1b2;margin:8px 0 30px}
.conditions{
display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #355055;border-left:1px solid #355055}
.conditions article{
padding:22px;border-right:1px solid #355055;border-bottom:1px solid #355055;min-height:210px}
.conditions b{
color:var(--aqua)}
.conditions h3{
font-size:23px}
.conditions p{
font-size:14px;color:#c3d1d1}
.conditions article:last-child{
grid-column:span 2}
.mimic-grid{
display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.mimic-grid span{
color:var(--teal);text-transform:uppercase;font-size:12px;font-weight:900}
.blood,.context{
display:grid;grid-template-columns:1fr 1fr;gap:70px}
.blood{
border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.blood h2{
font:500 clamp(38px,5vw,58px)/1.04 Georgia,serif;margin:7px 0}
.context{
max-width:var(--max);margin:auto;padding:85px 22px}
.context>div+div p{
border-top:1px solid var(--line);padding:17px 0;margin:0}
.context strong{
display:block}
.sources{
display:grid;grid-template-columns:.8fr 1.2fr;gap:60px}
.sources h2{
font:500 42px Georgia}
.links{
display:grid;grid-template-columns:1fr 1fr;gap:10px}
.links a{
background:#fff;border:1px solid var(--line);padding:18px;text-decoration:none;font-weight:900}
.links small{
display:block;font-size:13px;font-weight:400;color:#587073}
footer{
padding:28px max(22px,calc((100vw - var(--max))/2));background:var(--ink);color:#fff;display:flex;justify-content:space-between;gap:20px;font-size:13px}
footer a{
color:var(--aqua)}
.footer-links{
display:flex;gap:16px;flex-wrap:wrap}
@media(max-width:850px){
nav{
display:none;position:absolute;top:76px;left:0;right:0;background:#fff;padding:20px;flex-direction:column}
nav.open{
display:flex}
.menu{
display:block;background:#fff;border:1px solid var(--line);padding:9px}
.wash{
background:rgba(3,14,18,.7)}
.hero aside{
left:22px;right:auto}
.steps{
grid-template-columns:1fr}
.steps>i{
height:38px;transform:rotate(90deg)}
.viewer,.context,.sources,.blood{
grid-template-columns:1fr}
.viewer>div{
min-height:350px}
.conditions{
grid-template-columns:1fr 1fr}
.conditions article:last-child{
grid-column:auto}
.tabs{
grid-template-columns:repeat(3,1fr)}
.mimic-grid{
grid-template-columns:1fr}
.sources{
gap:25px}
}
@media(max-width:520px){
.brand small{
display:none}
.hero h1{
font-size:44px}
.pathway,.types,.mimics,.sources,.blood{
padding:60px 18px}
.viewer>section{
padding:27px}
.conditions{
grid-template-columns:1fr}
.atlas{
padding:60px 18px}
.links{
grid-template-columns:1fr}
footer{
flex-direction:column}
}
