/* Sourced research pages, Inter and a graded monochrome ink palette. */
.research-page{padding-top:62px;padding-bottom:112px}
.research-intro{max-width:820px;margin-bottom:56px}
.research-kicker{font:600 11px var(--sans);color:#595959}
.research-intro h1{font:400 clamp(46px,7vw,88px)/1.04 var(--serif);letter-spacing:-.04em;margin:15px 0 18px}
.research-intro>p{font-size:15px;line-height:1.85;color:#555;max-width:630px}
.research-stat-row{display:flex;flex-wrap:wrap;gap:46px;margin-top:40px}
.research-stat-row>div{display:flex;flex-direction:column;gap:7px}
.research-stat-row small{color:#595959;font:500 11px var(--sans)}
.research-stat-row strong{font:400 32px var(--serif)}
.research-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(240px,.8fr);gap:27px}
.research-panel{min-width:0;border:1px solid #ebebeb;border-radius:8px;padding:23px;background:#fff}
.research-panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.research-panel-head h2{font:600 14px var(--sans);margin:0}
.research-panel-head span{font-size:11px;color:#626262}
.ownership-graph{height:380px;width:100%;position:relative;background:#fafafa;border-radius:8px;overflow:hidden}
.ownership-graph>p,.policy-visual>p{position:absolute;top:43%;left:20px;right:20px;text-align:center;font-size:12px;color:#555}
.research-muted{margin:15px 0 0;color:#626262;font-size:11px;line-height:1.75}
.research-detail{padding:28px;border-radius:8px;background:#fafafa;display:flex;flex-direction:column;align-items:flex-start}
.research-detail>p{color:#555;font-size:11px;margin:0 0 25px}
.research-detail h2{font:400 29px/1.22 var(--serif);margin:0 0 18px}
.research-detail>strong{font:400 46px var(--serif);letter-spacing:-.03em}
.research-detail>span{font-size:12px;color:#555;line-height:1.8;margin:10px 0 23px}
.research-detail a{font-size:12px;font-weight:600;color:var(--accent);margin-top:auto}
.research-detail small{font-size:11px;color:#626262;line-height:1.6;margin-top:12px}
.research-records{margin-top:75px;max-width:1060px}
.research-records h2{font:400 32px var(--serif);margin:0 0 24px}
.owner-list{border-top:1px solid #eaeaea}
.owner-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 8px;text-align:left;background:transparent;border:0;border-bottom:1px solid #eaeaea;border-radius:0;font:450 13px var(--sans);color:#242424}
.owner-row strong{font-variant-numeric:tabular-nums}
.owner-row.selected,.owner-row:hover{background:#fafafa;color:var(--accent)}
.research-records>p{color:#595959;font-size:12px;line-height:1.85;max-width:810px;margin-top:24px}
.research-records>p a,.policy-milestones a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.policy-visual{height:220px;background:#fafafa;border-radius:8px;position:relative;overflow:hidden}
.timeline-panel .vis-item{border-color:#d4d4d4!important;background:#f2f2f2!important;color:#171717!important;border-radius:8px!important;font:550 10px var(--sans)!important}
.timeline-panel .vis-item.vis-selected{background:var(--accent)!important;color:#fff!important}
.stage-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.stage-filters button{border:1px solid #d7d7d7;background:#fff;color:#505050;border-radius:8px;padding:9px 15px;font-size:11px}
.stage-filters button.active,.stage-filters button:hover{background:#f2f2f2;border-color:#b5b5b5;color:#343434}
.policy-milestones{padding:0;list-style:none;margin:0}
.policy-milestones li{display:grid;grid-template-columns:115px minmax(0,1fr) 80px;gap:20px;border-bottom:1px solid #eaeaea;padding:22px 0}
.policy-milestones time{font-size:12px;color:#555;white-space:nowrap}
.policy-milestones strong{font:600 15px var(--sans)}
.policy-milestones p{font-size:12px;color:#555;line-height:1.85;margin:8px 0}
.policy-milestones a{font-size:11px}
.event-status{font-size:10px;text-align:right;color:#555}
.event-status.scheduled{color:#454545}
.research-teaser{padding-top:94px}
.research-teaser-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:23px}
.research-teaser-grid a{background:#fafafa;border-radius:8px;padding:32px;display:flex;flex-direction:column;gap:12px}
.research-teaser-grid a:hover{background:#f5f2f2}
.research-teaser-grid span{font-size:11px;color:#666}
.research-teaser-grid strong{font:400 clamp(29px,3.4vw,42px) var(--serif)}
.research-teaser-grid p{font-size:12px;color:#555;line-height:1.8;margin:0}
@media(max-width:780px){.research-page{padding-top:35px;padding-bottom:72px}.research-grid{grid-template-columns:1fr}.ownership-graph{height:320px}.research-records{margin-top:57px}.research-teaser{padding-top:70px}}
@media(max-width:520px){.research-intro h1{font-size:46px}.research-stat-row{gap:23px}.research-stat-row strong{font-size:26px}.research-panel{padding:16px}.policy-visual{height:190px}.policy-milestones li{grid-template-columns:1fr auto;gap:8px}.policy-milestones time{grid-column:1}.policy-milestones li>div{grid-column:1/-1;grid-row:2}.event-status{grid-column:2;grid-row:1}.research-teaser-grid{grid-template-columns:1fr;gap:12px}.research-teaser-grid a{padding:25px}}

/* Honour the native hidden state even on CSS-grid timeline rows. */
.policy-milestones li[hidden]{display:none!important}

.company-rail{display:flex;gap:16px;overflow-x:auto;padding:8px 24px 24px 0;margin:0 calc(50% - 50vw) 32px 0;scroll-snap-type:x proximity}.company-card{flex:0 0 220px;display:flex;flex-direction:column;gap:20px;padding:26px;background:#fafafa;border:1px solid #e7e7e7;border-radius:8px;scroll-snap-align:start;color:#333}.company-card small,.company-card span{font-size:12px;color:#595959}.company-card strong{font-size:22px;font-weight:500}.company-card:hover{background:#f2f2f2}.company-card[aria-current="true"]{border-color:#b42332}.company-card:focus-visible{outline:2px solid #b42332;outline-offset:2px}#atlas-status{font-size:13px;color:#595959}
body[data-research="atlas"]{overflow-x:clip}


/* Ownership Atlas: indexed, searchable company directory, with no fake live state. */
.company-browser{margin:-8px 0 17px}
.company-browser-head{display:flex;align-items:baseline;justify-content:space-between;gap:15px;flex-wrap:wrap}
.company-browser-head h2{font:600 17px/1.35 "Inter",Arial,sans-serif;letter-spacing:-.025em;margin:0}
.company-browser-head p,.company-browser-note{font:400 11px/1.75 "Inter",Arial,sans-serif;color:#5a5a5a;margin:0}
.company-browser-controls{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1.1fr) auto;gap:13px;align-items:end;margin:18px 0 11px}
.company-browser-controls label{font:550 11px/1.5 "Inter",Arial,sans-serif;display:flex;flex-direction:column;gap:7px;color:#555;min-width:0}
.company-browser-controls input,.company-browser-controls select{font:450 12px/1.5 "Inter",Arial,sans-serif;padding:10px 12px;border:1px solid #e2e2e2;background:#f9f9f9;border-radius:8px;min-height:43px;width:100%;min-width:0;color:#171717}
#atlas-show-all{background:white;color:#171717;font:550 12px/1.45 "Inter",Arial,sans-serif;border:1px solid #e0e0e0;border-radius:8px;padding:10px 15px;min-height:43px;white-space:nowrap}
#atlas-show-all:hover{background:#f9f9f9;border-color:#bbb}
#atlas-show-all[hidden]{display:none}
.company-rail{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;overflow:visible;scroll-snap-type:none;padding:0;margin:20px 0 30px}
.company-rail .company-card{min-width:0;min-height:128px;flex:initial;display:flex;flex-direction:column;gap:5px;justify-content:flex-start;padding:19px;border:1px solid #e9e9e9;background:#f9f9f9;color:#171717;border-radius:8px;transition:background-color .2s ease,border-color .2s ease}
.company-rail .company-card:hover{background:#f3f3f3}
.company-rail .company-card[aria-current="true"]{border-color:#171717;background:#fff}
.company-rail .company-card small{font:500 10px/1.5 "Inter",Arial,sans-serif;color:#666}
.company-rail .company-card strong{font:550 15px/1.4 "Inter",Arial,sans-serif;letter-spacing:-.025em;overflow-wrap:break-word}
.company-rail .company-card span{font:400 10px/1.5 "Inter",Arial,sans-serif;color:#666;margin-top:auto}
.company-rail .company-card em{font:450 10px/1.6 "Inter",Arial,sans-serif;color:#4c4c4c;font-style:normal}
.company-no-results{font-size:12px;color:#555;grid-column:1/-1;margin:10px 0 18px}
.atlas-breakdown{padding:26px 0;margin-bottom:29px;border-top:1px solid #ececec;border-bottom:1px solid #ececec}
.atlas-breakdown[hidden]{display:none}
.atlas-breakdown-head{display:flex;align-items:baseline;gap:15px;justify-content:space-between;flex-wrap:wrap;margin-bottom:17px}
.atlas-breakdown-head h2{font:600 14px/1.5 "Inter",Arial,sans-serif;letter-spacing:-.025em;margin:0}
.atlas-breakdown-head p{font:400 11px/1.6 "Inter",Arial,sans-serif;color:#606060;margin:0}
.atlas-category-bar{height:14px;border-radius:5px;overflow:hidden;display:flex;gap:0;background:#e9e9e9}
.atlas-category-segment{height:100%;min-width:0;flex-shrink:0}
.atlas-category-segment.category-0,.atlas-key-color.category-0{background:#242424}
.atlas-category-segment.category-1,.atlas-key-color.category-1{background:#858585}
.atlas-category-segment.category-2,.atlas-key-color.category-2{background:#c9c9c9}
.atlas-category-legend{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:14px}
.atlas-category-key{display:flex;align-items:center;gap:8px;font:450 11px/1.7 "Inter",Arial,sans-serif;color:#4e4e4e}
.atlas-key-color{width:10px;height:10px;border-radius:2px;display:inline-block;flex-shrink:0}
.research-stat-row strong{font-variant-numeric:tabular-nums}
@media(max-width:980px){.company-rail{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:680px){
 .company-browser-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .company-browser-controls label:first-child{grid-column:1/-1}
 #atlas-show-all{grid-column:1/-1;justify-self:start}
 .company-rail{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .company-rail .company-card{min-height:118px;padding:15px}
 .company-rail .company-card strong{font-size:13px}
 .atlas-breakdown{margin-bottom:21px;padding:20px 0}
}
@media(max-width:350px){
 .company-browser-controls{grid-template-columns:1fr}
 .company-browser-controls label:first-child{grid-column:1}
 .company-rail .company-card{padding:12px}
 .company-rail .company-card strong{font-size:12px}
}
@media(prefers-reduced-motion:reduce){.company-rail .company-card{transition:none}}


/* Ownership Atlas · comparison and data export */
.atlas-directory-action{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:0 0 2px;margin:13px 0 0}
#atlas-export{background:#171717;color:#fff;border:1px solid #171717;border-radius:8px;min-height:40px;padding:9px 14px;font:550 11px/1.5 "Inter",Arial,sans-serif;cursor:pointer}
#atlas-export:hover:not(:disabled){background:#343434}
#atlas-export:disabled{opacity:.5;cursor:not-allowed}
.atlas-directory-action span{font:400 11px/1.7 "Inter",Arial,sans-serif;color:#666}
.atlas-compare{border-top:1px solid #ebebeb;border-bottom:1px solid #ebebeb;padding:31px 0 32px;margin:13px 0 36px}
.atlas-compare-head{max-width:760px}
.atlas-compare-head .research-kicker{font:600 10px/1.5 "Inter",Arial,sans-serif;letter-spacing:.075em;color:#666}
.atlas-compare-head h2{font:550 clamp(23px,3.2vw,32px)/1.23 "Inter",Arial,sans-serif;letter-spacing:-.045em;color:#171717;margin:10px 0}
.atlas-compare-head p:not(.research-kicker){font:400 12px/1.85 "Inter",Arial,sans-serif;color:#555;max-width:675px;margin:0}
.atlas-compare-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin:23px 0 14px}
.atlas-compare-controls label{display:flex;flex-direction:column;gap:7px;min-width:0;font:550 11px/1.5 "Inter",Arial,sans-serif;color:#515151}
.atlas-compare-controls select{width:100%;min-width:0;padding:11px 12px;border:1px solid #e0e0e0;border-radius:8px;background:#f9f9f9;color:#171717;min-height:44px;font:450 12px/1.45 "Inter",Arial,sans-serif}
.atlas-compare-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.atlas-compare-company{display:flex;flex-direction:column;align-items:stretch;gap:10px;background:#f9f9f9;border-radius:8px;padding:24px;min-width:0}
.atlas-compare-company .atlas-compare-caption{font:500 10px/1.6 "Inter",Arial,sans-serif;color:#666;margin:0}
.atlas-compare-company h3{font:550 clamp(17px,2.5vw,23px)/1.35 "Inter",Arial,sans-serif;letter-spacing:-.035em;margin:0;color:#171717;overflow-wrap:anywhere}
.atlas-compare-recordtype{font:400 11px/1.5 "Inter",Arial,sans-serif;color:#5b5b5b;margin:0}
.atlas-compare-values{margin:7px 0 4px}
.atlas-compare-values>div{display:flex;align-items:baseline;justify-content:space-between;gap:10px;border-bottom:1px solid #e6e6e6;padding:9px 0}
.atlas-compare-values dt{font:400 11px/1.65 "Inter",Arial,sans-serif;color:#555}
.atlas-compare-values dd{font:600 13px/1.45 "Inter",Arial,sans-serif;color:#171717;margin:0;font-variant-numeric:tabular-nums}
.atlas-compare-company>a{font:550 11px/1.55 "Inter",Arial,sans-serif;color:#171717;text-decoration:underline;text-decoration-color:#aaa;text-underline-offset:4px;margin-top:auto}
.atlas-compare-warning{font:450 12px/1.8 "Inter",Arial,sans-serif;color:#595959}
.atlas-compare-note{color:#606060;font:450 11px/1.75 "Inter",Arial,sans-serif;max-width:790px;margin:16px 0 0}
@media(max-width:680px){
 .atlas-compare{margin:8px 0 25px;padding:24px 0}
 .atlas-compare-controls,.atlas-compare-results{grid-template-columns:1fr;gap:10px}
 .atlas-compare-company{padding:20px}
}


/* A fourth directory control shares the existing tight Swiss-grid spacing. */
.company-browser-controls{grid-template-columns:minmax(0,2fr) minmax(145px,1fr) minmax(180px,1.2fr) auto}
@media(max-width:880px){.company-browser-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.company-browser-controls label:first-child{grid-column:1/-1}#atlas-show-all{grid-column:1/-1;justify-self:start}}
@media(max-width:350px){.company-browser-controls{grid-template-columns:1fr}.company-browser-controls label:first-child{grid-column:1}.company-browser-controls label{grid-column:1/-1}}
