:root{--blue:#325e91;--blue-soft:#eaf0f5;--green:#325e91;--red:#817a70;--text:#222b36;--muted:#586574;--muted-2:#586574;--chart-secondary:#817a70}
:root[data-theme=dark]{--blue:#b5d4ff;--blue-soft:#182433;--green:#b5d4ff;--red:#eee3d4;--text:#edf1f7;--muted:#d7dee7;--muted-2:#ced8e2;--chart-secondary:#eee3d4}
body.portfolio-library{margin:0;font:14px/1.5 Roboto,Arial,sans-serif;background:var(--bg);color:var(--text)}
.hub-inner{width:min(1480px,calc(100% - 64px));margin:auto}body.portfolio-library #nav-rail:not(.is-expanded){display:none!important}.hero{display:grid;grid-template-columns:1.8fr 1fr;gap:48px;padding-block:12px 18px}.eyebrow,.small-label{font-size:11px;font-weight:600;text-transform:uppercase;color:var(--blue)}.hero .eyebrow,.hero .small-label{color:#bac3d0}.hero h1{font:48px/1.08 'League Gothic',sans-serif;margin:16px 0}.hero p{font-size:15px;line-height:1.6;color:#d7dee7;margin:0}.hero-note{align-self:end;display:grid;gap:9px;border-left:1px solid #383e47;padding-left:28px;color:#bac3d0;font-size:12px}.hero-note strong{font-size:20px;font-weight:500;color:#edf1f7}.hub-tabs{display:grid;grid-template-columns:repeat(4,1fr)}.summary-band{display:grid;grid-template-columns:.7fr 1.3fr 1.2fr 1fr;border-bottom:1px solid var(--line)}.summary-band>div{padding:24px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:10px}.summary-band>div:first-child{padding-left:0}.summary-band>div:last-child{border:0}.summary-band span{font-size:12px;color:var(--blue);font-weight:600}.summary-band strong{font-size:20px;font-weight:500;line-height:1.2}.summary-band #strategy-count{font-size:36px}.summary-band small{color:var(--muted);font-size:12px}.summary-band button{align-self:start;color:var(--blue);background:none;border:0;padding:0;text-decoration:underline;cursor:pointer}main section{padding:30px 0;border-bottom:1px solid var(--line);scroll-margin-top:60px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:22px}.section-heading h2{font:28px/1.1 'League Gothic',sans-serif;margin:7px 0 0}.section-heading>span{color:var(--muted);font-size:12px}.collection-grid{display:grid;grid-template-columns:1fr 1.45fr;gap:36px}.lead-strategy{padding:26px;background:var(--panel);display:flex;flex-direction:column;min-width:0;color:var(--text)}.lead-strategy h3{font:38px/1.05 'League Gothic',sans-serif;margin:22px 0 14px}.lead-strategy p{color:var(--muted);font-size:14px;margin:0}.regime-visual{display:flex;align-items:end;gap:12px;height:110px;margin:20px 0}.regime-visual>div{flex:1;display:flex;flex-direction:column;gap:7px}.regime-visual i{height:24px;background:var(--blue);opacity:.6;border-radius:5px 5px 0 0}.regime-visual>div:nth-child(2) i{height:42px;opacity:.8}.regime-visual>div:nth-child(3) i{height:62px;opacity:1}.regime-visual span{color:var(--muted);font-size:11px}.lead-footer{margin-top:auto;padding-top:18px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:15px;font-size:12px}.lead-footer span{color:var(--muted)}.lead-footer b{font-weight:500;color:var(--blue);white-space:nowrap}.strategy-row{display:grid;grid-template-columns:25px 1fr 24px;gap:14px;padding:18px 0;border-bottom:1px solid var(--line);align-items:start;color:var(--text)}.strategy-row:first-child{padding-top:0}.strategy-row:last-child{border-bottom:0}.strategy-row>span{font-size:11px;color:var(--muted);padding-top:4px}.strategy-row h3{font-size:18px;font-weight:500;margin:0 0 5px}.strategy-row p{font-size:12px;color:var(--muted);margin:0}.strategy-row>b{font-size:20px;font-weight:400;color:var(--blue)}.strategy-row:hover h3,.lead-strategy:hover h3{color:var(--blue)}.metric-select{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px}select,input{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:3px;padding:10px 12px}.comparison-layout{display:grid;grid-template-columns:1.8fr 1fr;gap:42px}.comparison-layout h3{font-size:18px;font-weight:500;margin:0 0 10px}.muted,.comparison-layout p{color:var(--muted);font-size:12px}.comparison-layout aside{border-left:1px solid var(--line);padding:24px 0 0 30px}.comparison-layout aside h3{margin-top:18px}.comparison-layout aside a{font-size:12px;color:var(--blue)}.bar-row{display:grid;grid-template-columns:180px 1fr 65px;gap:18px;align-items:center;padding:10px 0;font-size:12px}.bar-track{background:var(--track);height:8px;border-radius:4px;overflow:hidden}.bar-track i{display:block;background:var(--blue);height:100%;border-radius:4px}.bar-row.negative .bar-track i{background:var(--red)}.bar-row strong{text-align:right;font-weight:500;font-variant-numeric:tabular-nums}.directory-controls{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:18px}.directory-controls label{display:grid;gap:7px;font-size:12px;color:var(--muted);width:min(400px,100%)}.filters{display:flex;gap:6px;flex-wrap:wrap}.filters button{background:var(--bg);border:1px solid var(--line);color:var(--text);border-radius:3px;font:500 12px Roboto,Arial;padding:10px 13px;cursor:pointer}.filters button[aria-pressed=true]{background:var(--accent-fill);color:var(--accent-text);border-color:var(--accent-fill)}.directory-table{overflow:auto;border:1px solid var(--line);border-radius:3px}.directory-table table{width:100%;min-width:880px;border-collapse:collapse;font:12px/1.5 Arial,sans-serif}.directory-table th{background:var(--panel);text-align:right;font-weight:600;color:var(--muted);white-space:nowrap}.directory-table td,.directory-table th{padding:13px 15px;border-bottom:1px solid var(--line)}.directory-table th:first-child,.directory-table th:nth-child(2){text-align:left}.directory-table td:nth-child(n+3){text-align:right;font-variant-numeric:tabular-nums}.directory-table tbody tr:nth-child(even){background:var(--stripe)}.directory-table tbody tr:hover{background:var(--blue-soft)}.directory-table td strong{font-size:14px;font-weight:600;display:block}.directory-table td small{display:block;color:var(--muted);font-size:12px;margin-top:3px}.directory-table td a:hover{text-decoration:underline}.positive{color:var(--green)}.negative{color:var(--red)}.table-note{font-size:11px;color:var(--muted);margin-top:12px}.notes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.notes-grid>div{border-left:1px solid var(--line);padding-left:20px}.notes-grid span{color:var(--blue);font-size:12px}.notes-grid h3{font-size:16px;font-weight:500;margin:10px 0}.notes-grid p{color:var(--muted);font-size:12px;margin:0;max-width:360px}footer{padding:25px 0;display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:11px}footer>a:first-child{font:24px 'League Gothic',sans-serif;color:var(--text)}.loading{padding:25px 0}.empty{padding:25px;text-align:center;color:var(--muted)}a{text-decoration:none;color:inherit}button:active{transform:translateY(1px)}[hidden]{display:none!important}
@media(max-width:900px){.hero{grid-template-columns:1fr}.hero-note{display:none}.summary-band{grid-template-columns:1fr 1fr}.summary-band>div{padding:20px!important;border-bottom:1px solid var(--line)}.summary-band>div:nth-child(even){border-right:0}.collection-grid{gap:22px;grid-template-columns:1fr 1.2fr}.comparison-layout{grid-template-columns:1fr}.comparison-layout aside{border-left:0;border-top:1px solid var(--line);padding:20px 0}.directory-controls{align-items:stretch;flex-direction:column}.directory-controls label{width:100%}}
@media(max-width:600px){.hub-inner{width:calc(100% - 32px)}.hero h1{font-size:38px}.desktop-break{display:none}.hero{padding-bottom:4px;gap:0}.summary-band strong{font-size:17px}.summary-band>div{padding:18px 12px!important}.summary-band small{font-size:11px}.collection-grid,.notes-grid{grid-template-columns:1fr}.section-heading{align-items:start;flex-direction:column;gap:12px}.lead-strategy{padding:22px}.bar-row{grid-template-columns:120px 1fr 55px;gap:10px}.hub-tabs a{font-size:10px;padding:10px 4px}.notes-grid{gap:20px}footer{flex-wrap:wrap}.hero p{font-size:14px}}

/* Small conceptual illustrations within existing supporting content. */
.context-graphic { color:var(--blue); margin:22px 0 20px; }
.context-graphic svg { display:block; width:100%; height:76px; }
.context-graphic .graphic-track { stroke:var(--line); stroke-width:1; fill:none; }
.context-graphic figcaption { color:var(--muted);font-size:10px;margin-top:8px; }
.construction-graphic { display:flex;gap:6px;align-items:center;margin:18px 0 0;height:26px;max-width:260px; }
.construction-graphic i { display:block;height:100%;background:var(--blue);border-radius:3px;flex:1; }
.construction-graphic i:nth-child(2) {opacity:.75;flex:1.4;}
.construction-graphic i:nth-child(3) {opacity:.5;flex:.8;}
.construction-graphic i:nth-child(4) {background:var(--chart-secondary);flex:1.2;}

/* Compact illustrations for history and return/risk notes. */
.note-graphic { width:100%; max-width:260px; height:26px; margin-top:18px; color:var(--blue); }
.note-graphic svg { display:block; width:100%; height:26px; overflow:visible; }
.note-axis { fill:none; stroke:var(--line); stroke-width:2; }
.note-period { fill:none; stroke:var(--blue); stroke-width:3; opacity:.6; }
.note-marker { fill:var(--blue); }
.note-secondary { fill:var(--chart-secondary); }
.notes-grid>div { display:flex; flex-direction:column; }
.notes-grid .note-graphic,.notes-grid .construction-graphic { flex-shrink:0; }
.notes-grid p { margin-bottom:18px; }
.notes-grid .note-graphic,.notes-grid .construction-graphic { margin-top:auto; }
/* One rotating feature, with the original collection layout intact. */
.feature-carousel { min-width:0; }
.feature-slide { display:flex; flex-direction:column; flex:1; color:var(--text); min-width:0; }
.feature-slide h3 { min-height:80px; color:var(--blue); }
.feature-slide p { min-height:44px; }
.feature-slide .regime-visual { margin-top:auto; padding-top:20px; min-height:130px; }
.feature-slide .lead-footer { margin-top:auto; }
.feature-graphic { margin:24px 0 20px; color:var(--blue); }
.feature-graphic svg { width:100%; height:90px; display:block; }
.feature-graphic-labels { display:flex; justify-content:space-between; gap:8px; margin-top:8px; font-size:11px; color:var(--muted); }
.feature-controls { display:flex; justify-content:space-between; align-items:center; margin-top:16px; gap:12px; }
#feature-dots { display:flex; gap:3px; }
#feature-dots button { padding:8px; border:0; background:transparent; cursor:pointer; }
#feature-dots button::before { content:'';display:block;width:6px;height:6px;border-radius:50%;background:var(--muted);opacity:.35; }
#feature-dots button[aria-current=true]::before { background:var(--blue);opacity:1; }
@media(max-width:900px) and (min-width:601px) { .feature-slide h3 {font-size:30px;min-height:96px;} .feature-slide .lead-footer {flex-direction:column;} }
.feature-value { margin:30px 0 26px; }
.feature-value svg { height:110px; }
.feature-value .feature-graphic-labels { margin-top:14px; display:grid; grid-template-columns:1fr 1fr; text-align:center; gap:28px; }

/* Collection emphasis and stable crossfade geometry. */
.strategy-row { padding-left:12px; padding-right:12px; transition:background-color .25s ease; }
.strategy-row.is-featured { background:var(--blue-soft); }
:root[data-theme=dark] .strategy-row.is-featured { background:#10161d; }
.strategy-row.is-featured h3,.strategy-row.is-featured>span { color:var(--blue); }
.feature-stage { position:relative; flex:1; min-width:0; }
.feature-slide { display:grid; grid-template-rows:18px 126px 66px 150px minmax(60px,auto); align-content:start; }
.feature-slide h3 { margin:16px 0 14px; min-height:0; align-self:center; }
.feature-slide p { min-height:0; }
.feature-slide .feature-graphic,.feature-slide .regime-visual { box-sizing:border-box; height:140px; min-height:0; margin:0; padding:0 0 20px; align-self:end; }
.feature-slide .feature-graphic svg { height:96px; }
.feature-slide .feature-graphic-labels { margin-top:10px; }
.feature-slide .regime-visual { height:110px; }
.feature-slide .lead-footer { margin:0; align-self:stretch; }
.feature-outgoing { position:absolute; inset:0; pointer-events:none; }
/* Subordinate supporting summary text to the portfolio count. */
.summary-band strong:not(#strategy-count) { font-size:16px; font-weight:500; line-height:1.4; }
.summary-band small { line-height:1.5; }
.summary-band > div > span { font-size:14px; line-height:1.4; }
/* Clearer names and calmer metadata, with consistent numeric columns. */
.directory-table td strong { font-size:14px; font-weight:700; line-height:1.45; }
.directory-table td small { font-size:11.5px; font-weight:400; line-height:1.5; color:var(--muted-2); margin-top:4px; }
.directory-table td:nth-child(2) { color:var(--muted); }
.directory-table td:nth-child(n+3):nth-child(-n+7) { font-family:Roboto,Arial,sans-serif; font-size:13px; font-weight:500; font-variant-numeric:tabular-nums lining-nums; white-space:nowrap; }
.directory-table th:nth-child(n+3):nth-child(-n+7) { min-width:100px; }
@media(max-width:900px) { .feature-slide h3 {font-size:30px;min-height:0;} .feature-slide .lead-footer {flex-direction:column;gap:6px;} }
@media(prefers-reduced-motion:reduce) { .strategy-row {transition:none;} }

/* Equal row insets keep the active background centered, including row 01. */
.strategy-list .strategy-row,
.strategy-list .strategy-row:first-child,
.strategy-list .strategy-row:last-child { padding:18px 16px; align-items:center; }
.strategy-list .strategy-row>span { padding-top:0; }
.strategy-list .strategy-row:last-child { border-bottom:1px solid var(--line); }
