/* Interior pages only. Native disclosures; no changes to Home or shared assets. */
.disclosure-page .page-heading { min-height:190px; padding-block:38px; }
.disclosure-page .page-heading h1 { font-size:clamp(48px,4.5vw,64px); }
.disclosure-page .page-heading > p { max-width:440px; font-size:16px; }
.disclosure-page .page-body { padding-block:28px 44px; }
.fold-stack { border:1px solid var(--line); border-radius:6px; }
.fold { min-width:0; scroll-margin-top:calc(var(--header) + 24px); }
.fold + .fold { border-top:1px solid var(--line); }
.fold > summary { display:block; list-style:none; cursor:pointer; padding:24px 26px; border-radius:5px; transition:background .15s ease; }
.fold > summary::-webkit-details-marker { display:none; }
.fold > summary::marker { content:''; }
.fold > summary:hover { background:var(--surface); }
.fold[open] > summary { background:var(--wash); border-radius:5px 5px 0 0; }
.fold > summary > h2, .fold > summary > h3 { display:flex; gap:22px; align-items:center; margin:0; color:var(--ink); font:400 25px/1.35 var(--serif); letter-spacing:-.025em; }
.summary-copy { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:24px; align-items:center; flex:1; min-width:0; }
.summary-title { min-width:0; overflow-wrap:break-word; }
.summary-copy small { font:400 13px/1.6 var(--sans); color:var(--muted); letter-spacing:0; }
.fold-icon { display:block; flex:none; width:26px; height:26px; position:relative; border:1px solid #bac8b9; border-radius:50%; }
.fold-icon::before, .fold-icon::after { content:''; position:absolute; width:10px; height:1px; background:var(--accent); top:12px; left:7px; }
.fold-icon::after { transform:rotate(90deg); }
.fold[open] > summary .fold-icon::after { transform:rotate(0); }
.fold-body { padding:24px 26px 28px; background:var(--surface); border-radius:0 0 5px 5px; }
.fold-body p { max-width:78ch; font-size:15px; line-height:1.8; color:var(--muted); }
.fold-body p + p { margin-top:12px; }
.fold-body h3, .fold-body h4 { font:600 14px/1.5 var(--sans); letter-spacing:0; margin:22px 0 8px; }
.fold-body > h3:first-child, .fold-body > h4:first-child { margin-top:0; }
.fold-body .text-link, .fold-body .button { margin-top:18px; }
.fold-body .detail-label { font-size:12px; color:var(--accent); margin-bottom:12px; }
.fold-body .detail-footnote { font-size:12px; margin-top:12px; }
.detail-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px 36px; margin-top:24px; }
.detail-grid > section { padding-top:18px; border-top:1px solid var(--line); }
.detail-grid h3 { margin-top:0; }
.detail-grid p + p { font-size:13px; }
.detail-defs { margin:24px 0 0; max-width:78ch; }
.detail-defs:first-child { margin-top:0; }
.detail-defs dt { margin:22px 0 6px; color:var(--ink); font:600 14px/1.5 var(--sans); }
.detail-defs dt:first-child { margin-top:0; }
.detail-defs dd { margin:0; color:var(--muted); font-size:15px; line-height:1.8; }
.detail-defs + p { margin-top:22px; }
.page-next { display:flex; justify-content:flex-end; margin-top:22px; }
.expertise-fold-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; align-items:start; }
.domain-folds { scroll-margin-top:calc(var(--header) + 24px); min-width:0; }
.domain-folds > h2 { font:500 14px/1.5 var(--sans); color:var(--accent); margin:0 0 18px; }
.domain-folds .summary-copy { display:block; }
.domain-folds .fold > summary { padding:21px 20px; }
.domain-folds .fold > summary > h3 { min-height:58px; font-size:22px; gap:16px; }
.domain-folds .fold-body { padding:20px; }
.domain-folds .fold-body p { font-size:14px; }
/* Portfolio keeps its logos and filters; the profile is one disclosure. */
.portfolio-cover { margin-bottom:24px; }
.portfolio-cover > summary { padding:18px 22px; }
.portfolio-cover > summary > h2 { font-size:22px; }
.results-bar { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:44px; margin-bottom:14px; }
.results-bar .result-count { margin:0; }
.results-bar button { font-size:13px; }
.disclosure-page .company-grid { align-items:start; gap:16px; }
.disclosure-page .company { display:block; padding:0; min-height:0; gap:0; scroll-margin-top:calc(var(--header) + 24px); }
.company .fold > summary { padding:22px; }
.company .fold > summary > h2 { min-height:70px; font:500 21px/1.35 var(--sans); gap:14px; }
.company .summary-copy { display:block; }
.company .summary-copy small { display:block; margin-top:7px; font-size:12px; }
.company-logo, .company-initial { width:38px; height:38px; object-fit:contain; display:block; flex:none; border-radius:4px; }
.company-initial { display:grid; place-items:center; background:var(--wash); color:var(--muted); font:500 12px var(--sans); }
.company .fold-body { padding:22px; border-top:1px solid var(--line); }
.company .fold-body p { font-size:14px; }
.company .fold-body h3 { font-size:13px; }
.company .profile-links { display:flex; flex-direction:column; align-items:start; }
.company .profile-links .text-link { font-size:13px; margin-top:10px; }
.portfolio-note { font-size:12px; color:var(--muted); margin-top:18px; line-height:1.7; max-width:78ch; }
@media(min-width:1600px) { .disclosure-page .shell { max-width:1480px; } }
@media(max-width:1100px) { .expertise-fold-grid { grid-template-columns:1fr; gap:28px; }.domain-folds .fold > summary > h3 { min-height:0; }.domain-folds .fold > summary { padding:20px 24px; } }
@media(max-width:950px) { .disclosure-page .company-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.summary-copy { grid-template-columns:1fr; gap:5px; } }
@media(max-width:760px) {
 .disclosure-page .page-heading { min-height:0; padding-block:34px; gap:16px; }
 .disclosure-page .page-heading h1 { font-size:48px; }
 .disclosure-page .page-heading > p { font-size:15px; }
 .disclosure-page .page-body { padding-block:24px 34px; }
 .fold > summary { padding:20px; }
 .fold > summary > h2, .fold > summary > h3 { font-size:23px; gap:16px; }
 .fold-body { padding:22px 20px; }
 .fold-body p, .detail-defs dd { font-size:14px; }
 .detail-grid { grid-template-columns:1fr; gap:20px; }
 .page-next { justify-content:flex-start; margin-top:18px; }
 .domain-folds .fold > summary { padding:20px; }
 .portfolio-cover > summary > h2 { font-size:22px; }
}
@media(max-width:600px) { .disclosure-page .company-grid { grid-template-columns:1fr; }.company .fold > summary > h2 { min-height:52px; }.company .fold > summary { padding:20px; } }
@media(max-width:370px) { .disclosure-page .page-heading h1 { font-size:43px; }.fold > summary > h2 { font-size:21px; } }
