
:root{--ink:#17232a;--muted:#5b686d;--deep:#071a23;--blue:#aac8ec;--mint:#d8f3a6;--paper:#f5f3ec;--line:#d8ded9;--cream:#fffdf7;--radius:22px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',Arial,sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:inherit}a:focus-visible,button:focus-visible{outline:3px solid #168b77;outline-offset:4px}button{font:inherit;cursor:pointer}img{max-width:100%;display:block}section{scroll-margin-top:100px}.skip{position:absolute;top:-80px;left:20px;background:#d7ff93;color:#13241c;padding:10px 18px;z-index:100}.skip:focus{top:10px}.topbar{position:sticky;top:0;z-index:20;background:rgba(7,26,35,.96);color:#e4f1f0;border-bottom:1px solid #29404c;backdrop-filter:blur(12px)}.navwrap{max-width:1250px;margin:auto;padding:13px 30px;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{color:white;font-size:13px;letter-spacing:.08em;font-weight:800;text-decoration:none;display:flex;align-items:center;gap:11px}.brandmark{width:26px;height:26px;display:grid;place-items:center;color:#d8f3a6;border:1px solid #7cae7a;border-radius:50%;font-family:Georgia;font-size:19px}.toplinks{display:flex;align-items:center;gap:26px}.toplinks a{font-size:12px;font-weight:700;letter-spacing:.04em;text-decoration:none;color:#b9c7cb}.toplinks a:hover{color:#d8f3a6}.share{border:1px solid #7b999a;color:#f2f8f6;border-radius:99px;padding:8px 15px;background:transparent;font-weight:650;font-size:12px}.share:hover{background:#223843}.hero{background:var(--deep);color:#fff;overflow:hidden;position:relative}.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(125deg,transparent 50%,rgba(85,141,138,.08)),repeating-linear-gradient(90deg,transparent 0,transparent 94px,rgba(193,239,195,.025) 95px);pointer-events:none}.herowrap{max-width:1250px;margin:auto;padding:97px 30px 108px;display:grid;grid-template-columns:1.03fr .97fr;align-items:center;min-height:690px;position:relative}.hero-copy{position:relative;z-index:2}.eyebrow{font-size:11px;letter-spacing:.21em;font-weight:800;text-transform:uppercase;color:#b7eeae;display:flex;align-items:center;gap:10px}.eyebrow:before{content:'';height:2px;width:27px;background:#b7eeae}.hero h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(3.9rem,6.6vw,6.3rem);line-height:1.035;letter-spacing:-.058em;margin:26px 0;max-width:720px}.hero h1 em{font-style:italic;color:#d4f2a1}.herodesc{font-size:17px;max-width:535px;color:#bdced0;line-height:1.8}.heroactions{margin-top:37px;display:flex;gap:14px;align-items:center;flex-wrap:wrap}.primarybtn{display:inline-block;background:#d8f3a6;border:1px solid #d8f3a6;color:#1c3425;text-decoration:none;padding:15px 23px;border-radius:7px;font-weight:800;font-size:13px}.ghostbtn{display:inline-block;border:1px solid #6f8a88;color:#e9f0ea;text-decoration:none;padding:15px 23px;border-radius:7px;font-size:13px;font-weight:700}.hero-art{max-width:680px;min-width:0;position:relative;transform:translate(20px,4px)}.hero-art img{width:100%;filter:drop-shadow(0 10px 100px #95b28d18)}.hero-stamp{position:absolute;right:15px;bottom:55px;border:1px solid #56716c;color:#c4d9cf;border-radius:3px;padding:11px 14px;letter-spacing:.12em;font-size:10px;background:#0b2631e8}.ticker{background:#e5ebdf;border-bottom:1px solid #d1d8cd}.tickerinner{max-width:1250px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);padding:22px 30px}.tick{display:flex;gap:11px;align-items:baseline;padding-left:28px;border-left:1px solid #cbd3c7}.tick:first-child{padding-left:0;border:0}.tick b{font-family:Georgia,serif;font-size:35px;font-weight:400;line-height:1}.tick span{font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:#50625b;max-width:140px;font-weight:750;line-height:1.5}.container{max-width:1250px;margin:0 auto;padding:0 30px}.intro{padding:104px 0 70px;display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:end}.sectioncap{font-weight:850;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#4a715d}.intro h2,.history h2,.outro h2{font-family:Georgia,serif;font-size:clamp(2.4rem,4vw,4.3rem);font-weight:400;letter-spacing:-.04em;line-height:1.11;margin:16px 0 0}.intro p{font-size:16px;line-height:1.9;color:#4e5d61;margin:0 0 9px}.intro strong{color:#253931}.rule{height:1px;background:#cdd7cc}.directory{padding:27px 0 36px;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}.directory h3{font-size:13px;text-transform:uppercase;letter-spacing:.14em;margin:0}.filterbar{display:flex;flex-wrap:wrap;gap:8px}.filterbtn{background:transparent;color:#4c5e5e;border:1px solid #c6d1c9;border-radius:30px;padding:8px 14px;font-weight:700;font-size:12px}.filterbtn.active{background:#173d36;color:#e8f6df;border-color:#173d36}.filterbtn:hover:not(.active){background:#e3e9de}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.case{display:flex;flex-direction:column;background:#fffefb;border:1px solid #d4ded7;border-radius:18px;overflow:hidden;box-shadow:0 5px 15px #16342e08;transition:transform .18s,box-shadow .18s;min-width:0}.case:hover{transform:translateY(-3px);box-shadow:0 13px 35px #15352e16}.case[hidden]{display:none!important}.casevisual{background:#0c1b26;position:relative}.casevisual img{width:100%;height:230px;object-fit:cover}.caseheading{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:23px 26px 0}.caseid{font-size:10px;color:#71817d;font-weight:850;letter-spacing:.18em}.stage{font-size:10px;letter-spacing:.03em;white-space:nowrap;font-weight:750;padding:6px 11px;border-radius:40px;background:#e7eee7;color:#295143}.stage.early{background:#f2eaf7;color:#654e74}.casecontent{padding:12px 26px 20px;flex:1}.casecontent h3{font-family:Georgia,serif;font-size:29px;letter-spacing:-.035em;line-height:1.16;font-weight:400;margin:5px 0 10px}.drug{color:#5d6f70;font-size:12px;font-weight:650;letter-spacing:.01em;margin:0 0 18px}.metricwrap{border-top:1px solid #dfe5dd;border-bottom:1px solid #dfe5dd;padding:15px 0;margin:8px 0 19px;display:grid;grid-template-columns:160px 1fr;align-items:center;gap:12px}.metricnum{font-family:Georgia,serif;font-size:49px;letter-spacing:-.045em;line-height:1.07;color:#123b2c;white-space:nowrap}.metricunit{font-size:12px;color:#23483b;font-weight:700;white-space:normal}.metrictext{font-weight:750;font-size:12px;line-height:1.55;color:#314a45}.metrictext small{display:block;margin-top:7px;font-weight:500;color:#75817c;font-size:11px;line-height:1.5}.bodytext{font-size:13px;line-height:1.8;color:#34464a}.caution{display:flex;gap:9px;background:#f0f2eb;border-radius:8px;padding:11px 13px;color:#50615d;font-size:12px;line-height:1.65;margin-top:17px}.caution b{font-weight:800;color:#345f4c}.sources{border-top:1px solid #e6e9e1;padding:14px 26px 20px;display:flex;flex-wrap:wrap;gap:10px 17px}.sources a{font-size:11px;font-weight:800;text-decoration:none;color:#136450;border-bottom:1px solid #b4d4c8}.sources a:after{content:' ↗'}.sources a:hover{color:#0b4032;border-color:currentColor}.case .countline{font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:850;color:#84908c;display:block;margin-top:12px}.history{margin-top:115px;background:#102831;color:#f6f8f1;position:relative;overflow:hidden}.history:before{content:'';position:absolute;right:0;top:0;width:50%;height:100%;background:radial-gradient(circle at 90% 20%,rgba(181,237,168,.08),transparent 60%)}.historyinner{padding:92px 0 100px;position:relative}.history .sectioncap{color:#bde6ac}.history h2{max-width:760px}.history p.lead{max-width:820px;line-height:1.85;color:#b7c8c6;font-size:16px}.historygrid{margin-top:48px;display:grid;grid-template-columns:1.4fr .75fr;gap:60px;align-items:center}.bars{display:grid;gap:26px}.barlabel{display:flex;justify-content:space-between;gap:20px;align-items:baseline;margin-bottom:10px;font-size:13px;font-weight:750}.barlabel span:last-child{color:#b7c6c2;font-family:Georgia,serif;font-size:25px;font-weight:400}.track{height:16px;border-radius:20px;background:#29434a;overflow:hidden}.fill{height:100%;border-radius:20px;background:#d8f3a6;width:var(--p)}.bars .baritem:nth-child(2) .fill{background:#a8c7ee}.bars .baritem:nth-child(3) .fill{background:#e2bedf}.baritem small{display:block;margin-top:8px;color:#91aaa9;font-size:11px}.historynote{border:1px solid #466269;padding:28px;border-radius:12px;background:#193640}.historynote h3{font-family:Georgia,serif;font-weight:400;font-size:24px;margin:0 0 13px}.historynote p{color:#b2c6c5;font-size:13px;line-height:1.8}.historynote a{color:#d3f0aa;font-weight:700;text-underline-offset:3px}.methods{padding:102px 0 75px}.methodgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;margin-top:34px}.methodbox{padding-top:21px;border-top:2px solid #a6c6b7}.methodbox h3{font-size:15px;font-weight:750;margin:0 0 8px}.methodbox p{font-size:13px;line-height:1.85;color:#596967}.outro{background:#dce8d9;margin-top:30px}.outroinner{padding:89px 0 97px;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.outro h2{max-width:550px}.outro p{color:#475c54;line-height:1.95;font-size:15px}.outro .tiny{font-size:12px}.foot{background:#071a23;color:#92a9a8;padding:29px 0}.footin{display:flex;justify-content:space-between;gap:20px;align-items:center;flex-wrap:wrap;font-size:12px}.footin a{color:#cbe9b0;text-decoration:none}.foot .name{color:#e5f4e9;font-weight:800;letter-spacing:.1em}.readtime{color:#91b9b1;font-size:11px;letter-spacing:.11em;font-weight:700}.fadein{animation:rise .35s ease}@keyframes rise{from{opacity:.45;transform:translateY(5px)}to{opacity:1;transform:none}}@media(max-width:950px){.herowrap{grid-template-columns:1fr .7fr;padding:80px 30px;min-height:580px}.hero h1{font-size:clamp(3.6rem,7vw,5rem)}.hero-art{transform:none}.metricwrap{grid-template-columns:1fr;gap:4px}.intro{gap:35px}.historygrid{gap:32px}}@media(max-width:710px){.navwrap{padding:12px 18px}.toplinks{gap:14px}.toplinks a:not(:last-of-type){display:none}.hero .herowrap{padding:68px 20px 52px;display:block;min-height:initial}.hero h1{font-size:clamp(3.5rem,12vw,5rem)}.hero-art{width:min(80%,390px);margin:12px auto -90px;opacity:.88}.hero-stamp{right:20px;bottom:82px}.herodesc{font-size:15px}.tickerinner{padding:19px;grid-template-columns:1fr 1fr;gap:22px}.tick,.tick:first-child{padding-left:12px;border-left:1px solid #cbd3c7}.tick b{font-size:29px}.tick span{font-size:9px}.container{padding:0 20px}.intro{padding:76px 0 44px;grid-template-columns:1fr;gap:24px}.intro h2,.history h2,.outro h2{font-size:clamp(2.5rem,10vw,3.6rem)}.directory{padding-top:25px}.cards{grid-template-columns:1fr;gap:17px}.casevisual img{height:auto;aspect-ratio:680/370;object-fit:cover}.casecontent h3{font-size:28px}.metricwrap{grid-template-columns:148px 1fr}.metricnum{font-size:42px}.history{margin-top:78px}.historyinner{padding:68px 0}.historygrid{grid-template-columns:1fr}.methodgrid{grid-template-columns:1fr;gap:27px}.methods{padding-top:75px}.outroinner{grid-template-columns:1fr;gap:14px;padding:67px 0}.footin{font-size:11px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}@media print{.topbar,.heroactions,.filterbar,.share{display:none!important}.case{break-inside:avoid}.casevisual img{max-height:160px}.history{print-color-adjust:exact}.cards{display:block}.case{margin-bottom:20px}.hero{print-color-adjust:exact}}


/* v1.1: Give every metric its own responsive text block; never crowd labels. */
.metricwrap { grid-template-columns: minmax(0, 188px) minmax(0, 1fr); gap: 18px; align-items: center; }
.metricnum { min-width: 0; max-width: 100%; white-space: normal; overflow-wrap: normal; font-size: clamp(2.45rem, 3.7vw, 3.06rem); line-height: 1.07; }
.metricunit { display: block; font-family: Inter, ui-sans-serif, system-ui, sans-serif; font-size: 0.84rem; letter-spacing: 0; line-height: 1.35; font-weight: 730; margin-top: 0.35rem; white-space: normal; }
.metrictext { min-width: 0; }
@media (max-width: 950px) { .metricwrap { grid-template-columns: minmax(0, 1fr); gap: 10px; } }
@media (max-width: 710px) { .metricwrap { grid-template-columns: minmax(0, 1fr); gap: 10px; } }
