/* Shared compact dossier. Uses the approved chronology's typography and spacing. */
body:has(.dossier-page) .inner-main{padding-top:1.5rem}
body:has(.dossier-page) .breadcrumbs{margin-bottom:.8rem}
.dossier-page.research-page{max-width:none;margin:0;padding:0 0 2rem;color:var(--ink);--rp-line:var(--line);--rp-muted:var(--business-muted)}
.dossier-page .business-intro{max-width:none;padding:1rem 0 1.35rem;border:0}
.dossier-page .business-intro h1{max-width:24ch;font-size:clamp(2.2rem,4.4vw,4rem);letter-spacing:-.04em;margin:.65rem 0 1rem;line-height:1.07;text-wrap:initial;font-weight:400}
.dossier-page .business-intro .inner-lead{max-width:54rem;font-size:clamp(1.05rem,1.7vw,1.3rem);margin:0;line-height:1.5}
.dossier-page .business-checked{margin:.9rem 0 0;font-size:.8rem}
.dossier-page .research-byline{font-size:.75rem;margin:.8rem 0 0;color:var(--business-muted)}
.dossier-page .business-nav{gap:.25rem;padding:0 0 .8rem;margin:0 0 2rem;border-bottom:1px solid var(--line)}
.dossier-page .business-nav a{padding:.55rem .8rem;border-radius:.4rem;font-size:.85rem;color:inherit}
.dossier-page .business-nav a[aria-current=page]{background:var(--business-blue);color:#15394f}
.dossier-page .dossier-subnav{margin:-1.3rem 0 1.5rem;padding:0;border:0;gap:1.25rem}
.dossier-page .dossier-subnav a{padding:.4rem 0;border-radius:0;font-size:.8rem;color:var(--business-muted);background:none}
.dossier-page .dossier-subnav a[aria-current=page]{color:var(--ink);text-decoration:underline;text-underline-offset:.4rem}
.dossier-layout{display:grid;grid-template-columns:minmax(0,1fr) 16rem;gap:3rem;align-items:start}
.dossier-main{min-width:0}
.dossier-page .dossier-list-heading{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:0 0 .8rem;border-bottom:1px solid var(--line);margin:0}
.dossier-page .dossier-list-heading h2{font-size:1.2rem;margin:0}
.dossier-list-heading>span{font-size:.7rem;color:var(--business-muted)}
.dossier-page .dossier-aside{min-width:0;border:1px solid var(--line);border-radius:.9rem;padding:1.35rem;background:rgba(133,158,170,.055);font-size:.85rem}
.dossier-page .dossier-aside section{margin:0}
.dossier-page .dossier-aside section+section{border-top:1px solid var(--line);margin-top:1.2rem;padding-top:1rem}
.dossier-page .dossier-aside h2{font-size:1.6rem;line-height:1.2;margin:0 0 .7rem}
.dossier-aside p{color:var(--business-muted);font-size:.85rem;line-height:1.6}
.dossier-related{display:grid;gap:.75rem;margin-top:1rem}
.dossier-page .dossier-related a{font-size:.85rem;color:#477593;text-decoration:none;min-height:32px;display:flex;align-items:center}
.dossier-related a:hover{text-decoration:underline}
.dossier-page .dossier-aside .business-primary{display:block;padding:.7rem .65rem;margin:.9rem 0;font-size:.85rem;text-align:center}
.dossier-landscape{margin:1.5rem 0 0}
.dossier-landscape img{display:block;width:100%;height:auto;aspect-ratio:1.35;object-fit:cover;border-radius:.5rem}
.dossier-landscape figcaption{margin-top:.7rem;font-size:.7rem;color:var(--business-muted);line-height:1.5}
.dossier-page .dossier-record{border:0;border-bottom:1px solid var(--line);border-radius:0;background:none;box-shadow:none;margin:0;min-width:0;scroll-margin-top:6rem}
.dossier-record>summary{position:relative;display:flex;flex-direction:column;gap:.45rem;cursor:pointer;list-style:none;padding:1.25rem 2.3rem 1.25rem 0;min-height:44px}
.dossier-record>summary::-webkit-details-marker,.dossier-filters>summary::-webkit-details-marker{display:none}
.dossier-record>summary::after,.dossier-filters>summary::after{content:'+';position:absolute;right:.3rem;top:1.25rem;font-size:1.3rem;line-height:1;color:#5786a3;font-family:var(--font-body,Arial,sans-serif);font-weight:400}
.dossier-record[open]>summary::after,.dossier-filters[open]>summary::after{content:'−'}
.dossier-page .dossier-record>summary h2,.dossier-page .dossier-record>summary h3{font-size:1.6rem;line-height:1.22;margin:0;text-wrap:initial;font-weight:400;letter-spacing:-.02em}
.dossier-preview{font-size:.85rem;line-height:1.55;color:var(--business-muted);font-weight:400;display:block}
.dossier-eyebrow{font-size:.65rem;line-height:1.5;letter-spacing:.1em;text-transform:uppercase;color:#477593}
.dossier-record-body{padding:0 1rem 1.25rem 0;min-width:0;overflow-wrap:anywhere}
.dossier-record-body>p:first-child{margin-top:.2rem}
.dossier-page .dossier-record-body p,.dossier-page .dossier-record-body li{font-size:.95rem;line-height:1.7}
.dossier-record-body .business-facts{margin:.1rem 0 1rem}
.dossier-page .dossier-record-body .business-facts>div{padding:.75rem 0}
.dossier-page .dossier-chapters{margin:0;max-width:none}
.dossier-chapters .dossier-record>summary{display:grid;grid-template-columns:2.8rem minmax(0,1fr);gap:.6rem}
.dossier-number{font-size:.8rem;color:#5786a3;padding-top:.3rem;font-variant-numeric:tabular-nums}
.dossier-heading{display:grid;gap:.5rem;min-width:0}
.dossier-chapters .dossier-record-body{padding-left:3.4rem}
.dossier-page .research-conclusions{margin-top:1.5rem}
.dossier-page .research-conclusions>summary h2{font-size:1.3rem}
.dossier-methodology summary{cursor:pointer;min-height:44px;line-height:1.5}
.dossier-page .research-table-wrap{max-width:100%;margin:1rem 0}
.dossier-page .research-citations{font-size:.75rem;color:var(--business-muted)}
.dossier-page .research-source-groups{display:block;max-width:54rem}
.dossier-page .research-source-groups>section{margin:2rem 0}
.dossier-page .research-source-groups>section>h2{font-size:1.5rem}
.dossier-page .research-source-list,.dossier-page .research-status-grid{display:block}
.dossier-page .research-source,.dossier-page .research-status-card{background:none;border:0;border-radius:0;padding:0}
.dossier-page .research-source>details>summary h3{font-size:1.25rem}
.dossier-page .research-status-grid{max-width:54rem}
.dossier-page .research-reading:not(.dossier-chapters){max-width:52rem}
.dossier-page .research-chapter-menu{padding:.75rem 0;margin:1rem 0 1.5rem}
.dossier-page .research-chapter{font-size:1rem}
.dossier-page .research-meaning{margin:1.5rem 0;padding-left:1rem}
.dossier-page .research-meaning h2{font-size:1.5rem}
.dossier-page .research-related{margin:2rem 0 1rem;max-width:52rem}
.dossier-page .research-related h2{font-size:1.5rem}
.dossier-page .research-chapter-pager{max-width:52rem}
.dossier-page .research-chapter-sources{margin-top:1.5rem}
.dossier-page .research-chapter-sources>summary h2{font-size:1.3rem}
.dossier-filters{position:relative;border-bottom:1px solid var(--line);margin:0 0 1rem}
.dossier-filters>summary{position:relative;cursor:pointer;min-height:44px;padding:.7rem 2.3rem .7rem 0;font-size:.85rem;list-style:none}
.dossier-filters>summary::after{top:.75rem}
.dossier-page .dossier-filters .business-toolbar{margin:0 0 1.25rem;grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:1rem;border:1px solid var(--line);border-radius:.7rem;background:var(--business-surface)}
.dossier-page .business-toolbar button{grid-column:1/-1;justify-self:start;font-size:.8rem}
.dossier-page .dossier-company-list{display:block}
.dossier-page .business-company{padding:0 0 1rem;border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none;background:none;scroll-margin-top:6rem}
.dossier-page .business-company .dossier-record{border-bottom:0}
.dossier-page .business-company .business-card-actions{padding:0 0 .25rem 0;gap:1.5rem}
.dossier-page .business-card-actions{font-size:.85rem}
.dossier-page .business-card-actions button{font-size:.8rem;min-height:40px;padding:.5rem .8rem;border-radius:.5rem;background:transparent}
.dossier-page .business-card-actions a{min-height:40px;display:inline-flex;align-items:center}
.dossier-page .business-contacts{margin:1rem 0;border:0}
.dossier-page .business-contacts h3{font-size:1.25rem}
.dossier-page .business-section{margin:2rem 0}
.dossier-page .business-section>h2,.dossier-page .dossier-infrastructure>h2{font-size:1.7rem;margin:.6rem 0 1rem}
.dossier-page .business-section>h3{font-size:1.35rem}
.dossier-page .tender-list{display:block}
.dossier-page .business-tender,.dossier-page .tender-detail{max-width:none;padding:1.35rem;border-radius:.9rem;box-shadow:none}
.dossier-page .business-tender+.business-tender{margin-top:1rem}
.dossier-card-top{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.dossier-page .business-tender h2{font-size:1.7rem;text-wrap:initial;margin:1rem 0}
.dossier-page .business-tender h2 a{color:inherit;text-decoration:none}
.dossier-page .business-tender .tender-price,.dossier-page .tender-detail .tender-price{font-size:1.8rem;margin:.8rem 0 1rem;color:var(--ink);line-height:1.3;overflow-wrap:anywhere}
.dossier-page .tender-price small{display:block;font-size:.7rem;color:var(--business-muted);line-height:1.5;margin-top:.3rem}
.dossier-page .dossier-key-dates{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:.5rem 0}
.dossier-page .dossier-key-dates>div{display:block;padding:.65rem 0}
.dossier-page .dossier-key-dates dt{font-size:.75rem;margin-bottom:.35rem}
.dossier-page .dossier-key-dates dd{font-size:.85rem}
.dossier-page .dossier-card-details{margin:0 0 1rem}
.dossier-page .dossier-card-details>summary{font-size:.8rem;padding:.8rem 2rem .8rem 0}
.dossier-page .dossier-card-details>summary::after{top:.8rem;font-size:1.1rem}
.dossier-page .business-primary{border-radius:.5rem;padding:.7rem 1rem}
.dossier-page .business-context-links{font-size:.8rem;gap:.7rem 1.25rem;align-items:center}
.dossier-page .business-context-links button{font-size:.8rem;padding:.5rem .8rem;border-radius:.5rem;background:transparent;color:var(--ink,#112237)}
.dossier-page .tender-timeline{margin-top:1.5rem}
.dossier-page .tender-timeline .timeline-title{font-size:1.4rem}
.dossier-page .tender-timeline .timeline-event{margin-left:8.5rem}
.dossier-page .tender-timeline .timeline-date{width:7.2rem}
.dossier-page .business-section .business-entry h3{font-size:1.3rem}
.dossier-page .business-section .business-entry p{font-size:.9rem}
.dossier-infrastructure{margin:1.5rem 0 2rem;scroll-margin-top:6rem}
.dossier-infrastructure>.business-sources{margin:1rem 0}
.dossier-infrastructure>.business-grid{margin-top:1rem}
.dossier-page .business-local-footer{margin-top:2.5rem;font-size:.8rem}
.dossier-page summary:focus-visible{outline:2px solid #5786a3;outline-offset:3px;border-radius:.3rem}
html[data-theme=night] .dossier-eyebrow,html[data-theme=night] .dossier-related a{color:#a9cbdc}
html[data-theme=night] .dossier-page .dossier-subnav a[aria-current=page]{background:none;color:var(--ink)}
@media(max-width:1000px){.dossier-layout{grid-template-columns:minmax(0,1fr) 13.5rem;gap:1.5rem}.dossier-page .dossier-aside{padding:1rem}.dossier-list-heading>span{display:none}}
@media(max-width:760px){
 .dossier-page .business-intro{padding:.5rem 0 1.2rem}
 .dossier-page .business-intro h1{font-size:clamp(2.15rem,7vw,3.5rem);line-height:1.05;max-width:none}
 .dossier-page .business-nav{margin-bottom:1.3rem;flex-wrap:nowrap;overflow-x:auto;white-space:nowrap;scrollbar-width:thin}
 .dossier-page .business-nav a{flex-shrink:0}
 .dossier-page .dossier-subnav{margin:-.7rem 0 1rem;gap:1rem;flex-wrap:nowrap;overflow-x:auto;white-space:nowrap}
 .dossier-layout{display:block}.dossier-page .dossier-aside{margin-top:2rem;padding:1.2rem}
 .dossier-landscape img{aspect-ratio:1.7}
 .dossier-page .dossier-record>summary h2{font-size:1.35rem}
 .dossier-record>summary{padding:1rem 1.7rem 1rem 0}.dossier-record>summary::after{top:1rem;right:0}
 .dossier-chapters .dossier-record>summary{grid-template-columns:1.8rem minmax(0,1fr);gap:.4rem}
 .dossier-chapters .dossier-record-body{padding-left:0;padding-right:0}
 .dossier-preview{font-size:.8rem}.dossier-number{font-size:.7rem}
 .dossier-page .business-tender,.dossier-page .tender-detail{padding:1rem}
 .dossier-page .business-tender h2{font-size:1.5rem}
 .dossier-page .business-tender .tender-price,.dossier-page .tender-detail .tender-price{font-size:1.55rem}
 .dossier-page .business-card-actions{gap:.6rem 1rem}
 .dossier-page .dossier-record-body .business-facts>div{grid-template-columns:1fr;gap:.4rem}
 .dossier-page .dossier-key-dates{grid-template-columns:1fr;gap:0}
 .dossier-page .dossier-key-dates>div{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
 .dossier-page .dossier-key-dates dt{margin:0}
 .dossier-page .dossier-filters .business-toolbar{grid-template-columns:1fr}
 .dossier-page .business-context-links button{width:auto;flex:none}
 .dossier-page .tender-timeline .timeline-event{margin-left:6.1rem}
 .dossier-page .tender-timeline .timeline-date{width:5.2rem}
 .dossier-page .research-byline{font-size:.7rem}
}
/* Align the shared disclosure content; global summary defaults center their children. */
body:has(.dossier-page) .inner-main{max-width:1160px}
.dossier-record>summary{align-items:stretch;justify-content:flex-start;text-align:left}
.dossier-chapters .dossier-record>summary{align-items:start}
.dossier-page .research-citations{margin:.4rem 0 1rem}
.dossier-page .research-citations>summary{cursor:pointer;min-height:32px;justify-content:flex-start;font-size:.75rem;padding:.3rem 0;color:var(--business-muted)}
.dossier-page .research-citations>div{padding:.3rem 0 .5rem;line-height:1.6}
.dossier-page .research-chapter-menu>summary{justify-content:flex-start;text-align:left;font-size:.85rem}
.dossier-page .business-context-links button:disabled{opacity:.45;cursor:default}

/* One section switcher across the project, research and business dossiers. */
.business-page .dossier-section-nav{border:0;border-radius:0;background:none;box-shadow:none;padding:0;margin:0 0 1.8rem;min-width:0}
.business-page .dossier-section-nav>summary{display:none}
.business-page .dossier-section-nav>.business-nav{margin:0;padding:0 0 .8rem;gap:.25rem}
.business-page .dossier-section-nav>.business-nav a{min-height:44px;display:flex;align-items:center;padding:.55rem .8rem;font-size:.85rem;border-radius:.4rem}
.business-page :is(a,button,input,select,summary):focus-visible{outline:2px solid #5786a3;outline-offset:3px}
.dossier-page .dossier-record>summary{padding-right:3rem}
.dossier-record>summary::after{display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--line);border-radius:50%;top:1.15rem;right:.2rem;font-size:1.1rem;color:#477593}
.dossier-record[open]>summary::after{background:#dce8ec;border-color:transparent;color:#284c63}
.dossier-record[open]>.dossier-record-body{border-left:2px solid #789bb0;padding-left:1rem;margin-bottom:.75rem;padding-bottom:.5rem}
.dossier-chapters .dossier-record[open]>.dossier-record-body{margin-left:.35rem;padding-left:3rem}
.dossier-page .business-company .business-card-actions{gap:.5rem 1.25rem;padding-top:0;align-items:center}
.dossier-page .business-company .business-card-actions button{width:auto;flex:0 1 auto;min-height:44px;border:1px solid var(--line);color:inherit;padding:.5rem .85rem}
.dossier-page .business-company .business-card-actions button[aria-pressed=true]{background:#dce8ec;border-color:#789bb0;color:#284c63}
.dossier-page .business-card-actions a,.dossier-page .dossier-related a,.dossier-page .dossier-subnav a{min-height:44px}
.dossier-page .dossier-subnav{flex-wrap:wrap;gap:0 1.25rem;overflow:visible;white-space:normal}
.dossier-filters>summary{display:flex;justify-content:flex-start;align-items:center;gap:.75rem;text-align:left}
.dossier-filter-count{margin-left:auto;color:var(--business-muted);font-size:.7rem;font-weight:400;font-variant-numeric:tabular-nums}
.dossier-filter-count:empty{display:none}
@media(hover:hover){
 .dossier-record>summary:hover::after{background:#dce8ec;border-color:#789bb0}
 .dossier-page .business-company .business-card-actions button:hover{border-color:#789bb0;background:rgba(120,155,176,.1)}
}
html[data-theme=night] .dossier-record[open]>summary::after,html[data-theme=night] .dossier-page .business-company .business-card-actions button[aria-pressed=true]{background:#29495b;color:#d8e8f1}
html[data-theme=night] .dossier-record>summary::after{color:#a9cbdc}
@media(max-width:760px){
 .business-page .dossier-section-nav{border:1px solid var(--line);border-radius:.7rem;margin:0 0 1.25rem;background:var(--business-surface)}
 .business-page .dossier-section-nav>summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:64px;padding:.7rem 1rem;list-style:none;cursor:pointer;text-align:left}
 .business-page .dossier-section-nav>summary::-webkit-details-marker{display:none}
 .dossier-section-nav>summary>span:first-child{display:grid;gap:.25rem}
 .dossier-section-nav small{font-size:.6rem;line-height:1.4;letter-spacing:.12em;text-transform:uppercase;color:var(--business-muted)}
 .dossier-section-nav strong{font-size:1rem;font-weight:500;line-height:1.3}
 .dossier-nav-chevron{width:9px;height:9px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin:.1rem .2rem .4rem 0;color:#477593}
 .dossier-section-nav[open] .dossier-nav-chevron{transform:rotate(225deg);margin-top:.5rem;margin-bottom:0}
 .business-page .dossier-section-nav>.business-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.25rem;border-top:1px solid var(--line);border-bottom:0;margin:0 .65rem;padding:.65rem 0;overflow:visible;white-space:normal}
 .business-page .dossier-section-nav>.business-nav a{font-size:.78rem;white-space:normal;overflow-wrap:anywhere;padding:.65rem .55rem}
 .dossier-record>summary::after{top:.9rem}
 .dossier-chapters .dossier-record[open]>.dossier-record-body{margin-left:0;padding-left:.8rem}
 .dossier-page .business-company .business-card-actions{gap:.35rem .8rem}
 .dossier-filter-count{font-size:.65rem}
}

@media(hover:hover){html[data-theme=night] .dossier-record>summary:hover::after{background:#29495b;border-color:#789bb0;color:#d8e8f1}}

/* Infrastructure dossier: compact system index and independently sourced states. */
.infrastructure-overview{display:grid;grid-template-columns:auto 1fr;gap:1rem 1.8rem;padding:1.4rem;border:1px solid var(--line);border-radius:.9rem;background:rgba(133,158,170,.055);margin-bottom:1.4rem}
.infrastructure-overview>div{display:flex;gap:.8rem;align-items:center}
.infrastructure-overview strong{font:2.6rem/1 var(--font-heading,Georgia,serif);color:var(--ink)}
.infrastructure-overview>div span{max-width:7rem;font-size:.8rem;color:var(--business-muted)}
.infrastructure-overview>p{align-self:center;margin:0;font-size:.95rem;max-width:38rem}
.infrastructure-overview nav{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:.6rem}
.infrastructure-overview nav a{display:flex;gap:1rem;align-items:center;padding:.7rem 1rem;min-height:44px;border:1px solid var(--line);border-radius:.5rem;font-size:.9rem;text-decoration:none}
.infrastructure-overview nav a span{color:var(--business-muted);font-size:.75rem}
.infrastructure-tools:not([hidden]){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:.7rem 1rem;align-items:end;margin-bottom:1.8rem}
.infrastructure-tools label{display:grid;gap:.4rem;min-width:0;font-size:.8rem;color:var(--business-muted)}
.infrastructure-tools input,.infrastructure-tools select{box-sizing:border-box;width:100%;min-width:0;min-height:44px;padding:.7rem .8rem;background:var(--paper,#faf7f0);color:var(--ink);border:1px solid var(--line);border-radius:.5rem;font:inherit;font-size:.9rem}
.infrastructure-tools button{min-height:44px;padding:.7rem 1rem;border:1px solid var(--line);border-radius:.5rem;background:transparent;color:var(--ink);font:inherit;font-size:.85rem;cursor:pointer}
.infrastructure-tools>p{grid-column:1/-1;margin:0;font-size:.75rem;color:var(--business-muted)}
.infrastructure-system{margin:0 0 1.8rem;scroll-margin-top:6rem}
.dossier-page .infrastructure-system>h2{font-size:.85rem;font-family:var(--font-body,Arial,sans-serif);font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--business-muted);margin:0;padding:.5rem 0 .7rem;border-bottom:1px solid var(--line)}
.infrastructure-stage{font-size:.7rem;font-family:var(--font-body,Arial,sans-serif);color:#3d677d}
.infrastructure-stage[data-state=contract_reported]{color:#936324}
.infrastructure-stage[data-state=unknown]{color:var(--business-muted)}
.infrastructure-record:target{outline:2px solid #9cbed1;outline-offset:4px}
.infrastructure-record .business-sources p{font-size:.8rem}
html[data-theme=night] .infrastructure-stage{color:#a5c9dc}
html[data-theme=night] .infrastructure-stage[data-state=contract_reported]{color:#e4b879}
@media(max-width:640px){.infrastructure-overview{grid-template-columns:1fr;padding:1rem;gap:1rem}.infrastructure-overview nav a{flex:1 1 calc(50% - .6rem);box-sizing:border-box;justify-content:space-between}.infrastructure-tools:not([hidden]){grid-template-columns:1fr 1fr}.infrastructure-tools label{grid-column:1/-1}.infrastructure-tools button{justify-self:start}.infrastructure-tools>p{grid-column:auto;align-self:center}}
