/* BioScope house style — precision, evidence, perspective. */
:root{--navy:#102c50;--ink:#273544;--blue:#245fb3;--green:#245fb3;--muted:#607086;--line:#d7e2ef;--tint:#eff5fd;--paper:#fff;--display:'Newsreader',Georgia,serif;--sans:'Manrope',Arial,sans-serif}
body{font-family:var(--sans);-webkit-font-smoothing:antialiased;color:var(--ink)}
::selection{background:#d7e7ff;color:var(--navy)}
a,button{transition:color .18s ease,background-color .18s ease,border-color .18s ease}a:hover{color:var(--blue)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--blue);outline-offset:5px}
.edition{border-top:4px solid var(--blue);padding:14px 0;font-size:9px;font-weight:600;letter-spacing:1.3px;color:var(--muted)}
header{padding:33px 0 31px;gap:40px}.brand{position:relative;padding-left:50px;gap:8px}.brand:before{content:'';position:absolute;left:0;top:3px;width:31px;height:31px;border:1.5px solid currentColor;border-radius:50%;box-shadow:inset 0 0 0 7px white}.brand:after{content:'';position:absolute;left:15px;top:-2px;width:1px;height:42px;background:var(--blue);transform:rotate(38deg)}.brand .wordmark{font:500 46px/.93 var(--display);letter-spacing:-2px;color:var(--navy)}.brand .brand-sub{font:700 9px/1.2 var(--sans);letter-spacing:4px;color:var(--blue);padding-left:1px}header p{font-size:11px;line-height:1.7;letter-spacing:.2px;color:var(--muted);padding:9px 0 9px 28px}.edition-link{font-size:11px;font-weight:600;color:var(--navy)}.edition-link span{color:var(--blue)}
nav{border-top:1px solid var(--line);border-bottom:1px solid var(--navy)}nav a{font-size:11px;font-weight:600;letter-spacing:.1px;padding:18px 0}nav a.active{color:var(--blue);box-shadow:inset 0 -3px var(--blue)}nav a:hover{color:var(--blue)}nav button{font-size:10px;color:var(--navy)}
main{padding-top:36px;padding-bottom:80px}.eyebrow{font:700 9px/1.6 var(--sans);letter-spacing:1.6px;color:var(--blue)}.kicker{padding-bottom:26px}.kicker>.eyebrow:before{content:'';display:inline-block;width:7px;height:7px;margin-right:10px;background:var(--blue)}
.feature{grid-template-columns:1.12fr 1fr;gap:48px;align-items:center;padding-bottom:38px}.feature-copy h1{font:450 clamp(38px,3.8vw,57px)/1.04 var(--display);letter-spacing:-1.45px;margin:18px 0 20px;text-wrap:balance}.feature-copy .deck{font-size:14px;line-height:1.85;max-width:490px}.feature-copy .all-link{border-bottom:1px solid #b4ccef;padding-bottom:7px;font-size:11px;font-weight:700}.byline{font-family:var(--sans);font-size:10px;color:var(--muted)}.byline strong{font-weight:600}.editorial-image{background:#f4f8fe;object-fit:contain;aspect-ratio:10/7;border:1px solid #e3ecf8}.feature-image{position:relative}.feature-image:after{content:'';position:absolute;left:0;bottom:0;width:48px;height:3px;background:var(--blue)}.story-image:hover .editorial-image,.feature-image:hover .editorial-image{border-color:#91b4e4}.brief-note{font-size:10px;padding:17px 0;margin-bottom:44px;letter-spacing:.1px}.all-link{font-weight:600;font-size:11px}
.section-heading{border-top:2px solid var(--navy);border-bottom:1px solid var(--line);padding:19px 0 16px;margin-bottom:8px}.section-title{font:450 31px/1.1 var(--display);letter-spacing:-.5px}.latest-grid{gap:0 38px}.latest-grid .story-row{grid-template-columns:175px minmax(0,1fr);gap:24px;padding:29px 0}.story-row h2,.latest-grid .story-row h2{font:450 27px/1.12 var(--display);letter-spacing:-.45px;margin:10px 0 12px}.story-row p{font:12px/1.8 var(--sans)}.story-row .editorial-image{aspect-ratio:10/7}.story-row .date-line{font:9px/1.8 var(--sans);letter-spacing:.2px}.story-row .eyebrow{font-size:8px!important;letter-spacing:1.1px}
.signals{background:var(--tint);border:0;border-top:3px solid var(--blue);padding:30px;gap:28px;margin-top:44px}.signals h2{font:450 30px/1.1 var(--display)}.signals h3{font:700 12px/1.6 var(--sans);padding-left:0}.signals h3:before{display:none}.signals p{font-size:11px;line-height:1.9}.signals a{font-weight:600;font-size:10px}.signals>div:not(:first-child){padding-left:25px;border-color:#ceddf0}
.page-head{padding:13px 0 30px;margin-bottom:30px}.page-head h1{font:450 59px/1.05 var(--display);letter-spacing:-1.7px;margin:18px 0}.page-head p{font-size:14px;line-height:1.85}.filters{gap:12px}.filters input,.filters select,.filters button{border-color:var(--line);font-size:12px;padding:13px 15px;border-radius:0}.filters input:focus,.filters select:focus{border-color:var(--blue)}.listing{gap:55px}.listing .story-row{grid-template-columns:200px minmax(0,1fr);padding:28px 0}.listing .story-row h2{font-size:30px}.aside-box,.facts,.related{background:var(--tint);border-top:2px solid var(--blue);padding:28px}.aside-box h3{font:450 29px/1.15 var(--display);letter-spacing:-.4px}.aside-box p{font-size:12px;line-height:1.9}
.company-grid{gap:20px}.company-card{padding:28px;position:relative;border:1px solid var(--line);border-top:2px solid #bccfe7;transition:border-color .2s,background-color .2s}.company-card:hover{border-color:var(--blue);background:#f9fbff}.company-card .monogram{font:600 17px var(--sans);width:44px;height:44px;color:var(--blue);background:var(--tint);border:1px solid #d7e5f7}.company-card h2{font:450 30px/1.1 var(--display);letter-spacing:-.5px}.company-card p{font-size:12px}.profile-summary{font:15px/1.9 var(--sans)}.facts dt{font-size:9px;font-weight:700;letter-spacing:1px;text-transform:uppercase}.facts dd{font-size:13px}.tag,.status-label{background:var(--tint);color:var(--blue);font:600 9px/1.5 var(--sans);border:1px solid #d9e6f8}.stats{border-top:2px solid var(--navy)}.stat strong{font:450 42px var(--display)}th{background:var(--tint);font-weight:700;font-size:9px;letter-spacing:1px}td{font-size:12px;line-height:1.7}tbody tr:hover{background:#f4f8fe}.bar{background:var(--blue)}.bar-group:nth-child(even) .bar{background:#8badd9}
.article{max-width:950px}.article h1{font:450 clamp(41px,4.6vw,64px)/1.05 var(--display);letter-spacing:-1.7px;text-wrap:balance;max-width:930px}.article .intro{font:400 19px/1.75 var(--sans);max-width:820px;color:var(--muted)}.article .back{font-size:10px;color:var(--blue);font-weight:600}.article-figure{margin:30px 0}.article-figure .editorial-image{aspect-ratio:1.8;object-fit:contain}.article-figure figcaption{font:9px/1.8 var(--sans);letter-spacing:.1px}.article-body{max-width:710px;margin:38px auto}.article-body p{font:400 20px/1.8 var(--display);letter-spacing:0;color:var(--ink);margin-bottom:28px}.article-body h2,.source-box h2{font:450 31px/1.15 var(--display);letter-spacing:-.5px}.article-body .inline-source{font:9px var(--sans);white-space:normal}.evidence-note{font:10px/1.8 var(--sans)!important;background:var(--tint);border-left:3px solid var(--blue)}.source-box{padding-top:26px}.source-box li{font-family:var(--sans);font-size:11px}.source-type{font-size:9px;line-height:1.8}.table-note,.article-body .table-note{font:10px/1.9 var(--sans)}.related{margin-top:40px}.related a{font:11px/1.8 var(--sans)}.date-line{font-family:var(--sans)}.archive-month>summary{font:450 32px var(--display)}.archive-month>summary .small{font-family:var(--sans)}.database-card h3{font:450 27px var(--display)}.database-card p{font-family:var(--sans)}.notice{font:9px/1.9 var(--sans);letter-spacing:.15px;border-top:1px solid var(--line);padding-top:19px;margin-top:30px}
footer{background:var(--navy);border-top:4px solid var(--blue);padding-top:45px;padding-bottom:32px}footer .brand .wordmark,footer .brand .brand-sub{color:white}footer .brand:before{box-shadow:inset 0 0 0 7px var(--navy)}footer .brand:after{background:#8eb8ef}footer .brand .wordmark{font-size:37px}footer .brand .brand-sub{font-size:8px}footer p{font-size:11px;color:#bccde2}.footer-links{font-size:10px;color:#d2deee;border-color:#39516f}dialog{border-top:3px solid var(--blue);padding:32px}#global-search{font-family:var(--display);font-size:29px}#search-results a{font-size:13px;line-height:1.7}#search-results a span{font-size:9px;font-weight:700;letter-spacing:1px}.coverage-empty{background:var(--tint);padding:28px;border-left:3px solid var(--blue);line-height:1.9;max-width:820px}
@media(min-width:1500px){.feature-copy h1{font-size:59px}}
@media(max-width:1100px){.feature{gap:30px}.latest-grid .story-row{grid-template-columns:135px minmax(0,1fr);gap:20px}.latest-grid .story-row h2{font-size:25px}#nav{gap:25px}.brand .wordmark{font-size:42px}}
@media(max-width:900px){.feature-copy h1{font-size:39px}.latest-grid .story-row{grid-template-columns:200px minmax(0,1fr)}.latest-grid .story-row h2{font-size:30px}.signals{grid-template-columns:1fr 1fr}.signals>div:nth-child(3){padding-left:0}.article h1{font-size:50px}.page-head h1{font-size:48px}}
@media(max-width:620px){header{padding:27px 0;gap:12px}.brand{padding-left:39px}.brand:before{width:25px;height:25px;top:1px}.brand:after{left:12px;height:35px;top:-3px}.brand .wordmark{font-size:37px}.brand .brand-sub{font-size:7px;letter-spacing:3.5px}.edition-link{font-size:9px;max-width:83px}.edition{font-size:8px}nav a{font-size:10px;padding:16px 0}#nav{gap:21px}main{padding-top:26px}.kicker{padding-bottom:20px}.kicker .eyebrow{font-size:8px;letter-spacing:1px;max-width:190px}.feature{grid-template-columns:1fr;gap:26px;padding-bottom:25px}.feature-copy h1{font-size:42px;letter-spacing:-1px;margin:15px 0}.feature-copy .deck{font-size:14px}.feature-copy .byline{font-size:9px}.brief-note{font-size:10px;line-height:1.9;margin-bottom:30px}.section-title{font-size:29px}.section-heading{padding:17px 0 14px}.latest-grid .story-row,.listing .story-row,.story-row{grid-template-columns:1fr;gap:20px;padding:27px 0}.latest-grid .story-row h2,.listing .story-row h2,.story-row h2{font-size:32px;line-height:1.1}.story-row .editorial-image{aspect-ratio:10/7}.story-row p{font-size:13px}.signals{grid-template-columns:1fr;padding:24px;gap:22px}.signals>div:not(:first-child){padding-left:0;border:0}.signals>div:first-child{border-bottom:1px solid var(--line);padding-bottom:15px}.article h1{font-size:42px;letter-spacing:-1px}.article .intro{font-size:16px;line-height:1.8}.article-figure .editorial-image{aspect-ratio:10/7}.article-body p{font-size:19px;line-height:1.85}.article-figure figcaption{font-size:8px}.page-head h1{font-size:43px;letter-spacing:-1px}.page-head p{font-size:13px}.company-card{padding:24px}.company-card h2{font-size:31px}.stats .stat strong{font-size:36px}.footer-links{gap:19px}.coverage-empty{padding:22px}footer .brand .wordmark{font-size:35px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}

/* Optical centre of the BioScope mark. */
.brand:after{left:12px;top:15px;width:8px;height:8px;transform:none;border-radius:50%}footer .brand:after{top:15px}@media(max-width:620px){.brand:after{left:9px;top:11px;width:8px;height:8px}footer .brand:after{top:11px}}

/* Approved photography and supplied logo; homepage geometry is retained. */
.approved-brand .wordmark,.approved-brand .brand-sub{visibility:hidden}
.approved-brand:before,.approved-brand:after{display:none}
.approved-logo{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain}
footer .approved-logo{background:transparent;filter:brightness(0) invert(1)}
.editorial-image,.article-figure .editorial-image{object-fit:cover;object-position:center}

/* Compact article covers keep the reporting within reach. */
.article-figure .editorial-image{height:300px;aspect-ratio:auto;object-fit:cover}
@media(max-width:620px){.article-figure .editorial-image{height:190px}}

/* Final editorial proportions: typography only, retaining the approved geometry. */
header p{font-size:13px;line-height:1.55}
.edition-link{font-size:13px;font-weight:600}
nav a{font-size:13px;font-weight:500}
nav button{font-size:12px}
.eyebrow,.story-row .eyebrow,.latest article .eyebrow{font-size:10.5px!important;letter-spacing:1.1px}
.byline,.story-row .date-line,.date-line{font-size:11px;line-height:1.65}
.feature-copy h1{font-size:clamp(40px,3.3vw,50px);line-height:1.08;letter-spacing:-.6px}
.article h1{font-size:clamp(40px,4vw,53px);line-height:1.08;letter-spacing:-.6px;max-width:890px}
.article .intro{font-size:19px;line-height:1.6}
.article-body p{font-size:19px;line-height:1.8}
.story-row h2,.latest-grid .story-row h2,.listing .story-row h2{font-size:26px;line-height:1.15}
.analysis-card h3{font-size:24px;line-height:1.15}
.article-figure figcaption,.article-body .inline-source,.source-type,.notice,.tag,.status-label,.facts dt,th,#search-results a span,.bar-group span{font-size:10px}
.edition{font-size:10px}
@media(max-width:900px){nav a{font-size:12px}#nav{gap:20px}}
@media(max-width:620px){
.edition{font-size:9.5px}
.edition-link{font-size:10.5px;line-height:1.5;max-width:94px}
nav a{font-size:11px;font-weight:500}#nav{gap:19px}
.kicker .eyebrow{font-size:10px!important}
.feature-copy h1{font-size:38px;line-height:1.08;letter-spacing:-.5px}
.article h1{font-size:38px;line-height:1.08;letter-spacing:-.5px}
.article .intro{font-size:17px;line-height:1.6}
.article-body p{font-size:18px;line-height:1.8}
.byline,.feature-copy .byline,.date-line,.story-row .date-line{font-size:10px}
.latest-grid .story-row h2,.listing .story-row h2,.story-row h2{font-size:25px;line-height:1.15}
.article-figure figcaption{font-size:10px}
}
