/* Stage Analysis: a shared research desk for the screen and company report. */
.sa-shell {
  --sa-ink:#193848; --sa-muted:#708697; --sa-line:#d4e1e7; --sa-soft:#f4f7f8;
  --sa-navy:#305861; --sa-blue:#638398; --sa-blue-soft:#f0f5f7;
  --sa-green:#337f75; --sa-green-soft:#eef6f3; --sa-violet:#80749d; --sa-violet-soft:#f4f2f7;
  --sa-amber:#a28752; --sa-amber-soft:#f8f5ed; --sa-red:#af596b; --sa-red-soft:#faf1f3;
  --sa-orange:#a6755e; --sa-orange-soft:#f8f3ef; --sa-grey:#8a98a2; --sa-grey-soft:#f2f5f6;
  width:min(100% - 2rem,1600px); margin:1.6rem auto 3rem; color:var(--sa-ink); font-size:.92rem; line-height:1.65;
}
.sa-shell *, .sa-shell *::before, .sa-shell *::after { box-sizing:border-box; }
.sa-shell h1,.sa-shell h2,.sa-shell h3 { color:var(--sa-ink); line-height:1.18; }
.sa-shell h2 { font-size:clamp(1.45rem,2.05vw,2rem); letter-spacing:-.022em; }
.sa-shell h3 { font-size:1.17rem; }
.sa-shell a { color:var(--sa-ink); text-underline-offset:.22em; }
.sa-shell a:hover { color:#276f73; }
.sa-shell :focus-visible { outline:2px solid #397e88; outline-offset:3px; }
.sa-shell svg { width:1em; height:1em; flex-shrink:0; }
.sa-shell small { font-size:.75rem; color:var(--sa-muted); }
.sa-shell strong,.sa-shell b { font-variant-numeric:tabular-nums; }
.sa-eyebrow { display:block; color:#617d8e; font-size:.66rem; line-height:1.55; font-weight:750; letter-spacing:.14em; text-transform:uppercase; }
.sa-hero,.sa-report-hero { display:grid; grid-template-columns:minmax(0,1.9fr) minmax(17rem,.85fr); gap:3rem; align-items:center; border-top:2px solid var(--sa-ink); padding:2.1rem 0 2rem; }
.sa-hero-copy,.sa-report-hero>div { min-width:0; }
.sa-hero h1,.sa-report-hero h1 { font-size:clamp(2.25rem,4.15vw,3.6rem); letter-spacing:-.035em; margin:.9rem 0 1rem; line-height:1.08; overflow-wrap:anywhere; }
.sa-hero-copy>p { max-width:52rem; color:var(--sa-muted); margin:.65rem 0; font-weight:400; }
.sa-hero-copy>.sa-lead { font-size:1.16rem; color:var(--sa-ink); }
.sa-actions { display:flex; flex-wrap:wrap; gap:.45rem; margin-top:1.4rem; }
.sa-hero-read,.sa-report-hero aside { min-width:0; border-left:3px solid var(--sa-stage,#86a5a8); background:var(--sa-soft); border-radius:0 5px 5px 0; padding:1.5rem 1.65rem; }
.sa-hero-read h2 { margin:.35rem 0 .7rem; font-size:1.45rem; }
.sa-hero-read p { color:var(--sa-muted); margin:0; font-size:.86rem; }
.sa-read-number { margin:.35rem 0 0; font-size:3rem; line-height:1.2; font-weight:750; font-variant-numeric:tabular-nums; color:var(--sa-stage,var(--sa-ink)); }
.sa-read-number small { font-size:1.35rem; margin-left:.2rem; color:inherit; font-weight:400; }
.sa-headline-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); padding:1.35rem 0; border-block:1px solid var(--sa-line); }
.sa-headline-stats article { padding:0 1.4rem; border-left:1px solid var(--sa-line); min-width:0; }
.sa-headline-stats article:first-child { border:0; padding-left:0; }
.sa-headline-stats span,.sa-detail-kpis article>span,.sa-detail-grid article>span,.sa-level-grid article>span,.sa-risk-strip article>span { display:block; font-size:.65rem; font-weight:750; letter-spacing:.09em; text-transform:uppercase; color:#637e8f; }
.sa-headline-stats strong { display:block; font-size:1.7rem; margin:.45rem 0 .1rem; }
.sa-headline-stats small { display:block; }
.sa-report-nav { display:flex; gap:.2rem 1.15rem; align-items:center; flex-wrap:wrap; border-bottom:1px solid var(--sa-line); padding:1rem 0; margin:0; }
.sa-report-nav a { display:inline-flex; gap:.4rem; align-items:center; text-decoration:none; font-size:.78rem; font-weight:650; padding:.35rem 0; }
.sa-report-nav svg { color:#668696; }
.sa-report-nav a:hover { text-decoration:underline; }
.sa-report-nav-terminal { margin-left:auto; }
.sa-panel,.sa-report-section { padding:2rem 0; border-bottom:1px solid var(--sa-line); scroll-margin-top:2rem; min-width:0; }
.sa-panel-head,.sa-section-head,.sa-chart-head { display:flex; align-items:flex-start; justify-content:space-between; gap:2rem; margin-bottom:1.4rem; }
.sa-panel-head>div,.sa-section-head>div,.sa-chart-head>div { min-width:0; }
.sa-panel-head h2,.sa-section-head h2,.sa-chart-head h3 { margin:.4rem 0 0; }
.sa-panel-head>p { max-width:35rem; margin:.3rem 0 0; font-size:.85rem; color:var(--sa-muted); }
.sa-section-head>span { font-size:.75rem; color:var(--sa-muted); padding-top:.3rem; }
.sa-section-copy,.sa-chart-head p { color:var(--sa-muted); font-size:.86rem; margin:.7rem 0 1rem; }
.sa-footnote { font-size:.75rem; color:var(--sa-muted); margin:1rem 0 0; }
.sa-button { display:inline-flex; min-height:2.5rem; gap:.45rem; align-items:center; justify-content:center; border:1px solid var(--sa-line); padding:.5rem .8rem; border-radius:3px; background:#f3f7f8; color:var(--sa-ink); font-size:.78rem; font-weight:650; text-decoration:none; line-height:1.4; }
.sa-button:hover,.sa-button:focus-visible { background:#e8f1f1; color:#215f64; border-color:#91b0b4; }
.sa-button-primary { background:var(--sa-navy); border-color:var(--sa-navy); color:#fff !important; }
.sa-button-primary:hover,.sa-button-primary:focus-visible { background:#244750; color:#fff !important; }
.sa-arch-balance,.sa-stage-1 { --sa-stage:var(--sa-blue); --sa-stage-soft:var(--sa-blue-soft); }
.sa-arch-rotation_up { --sa-stage:var(--sa-violet); --sa-stage-soft:var(--sa-violet-soft); }
.sa-arch-upward_expansion,.sa-stage-2 { --sa-stage:var(--sa-green); --sa-stage-soft:var(--sa-green-soft); }
.sa-arch-deceleration,.sa-stage-3 { --sa-stage:var(--sa-amber); --sa-stage-soft:var(--sa-amber-soft); }
.sa-arch-rotation_down { --sa-stage:var(--sa-orange); --sa-stage-soft:var(--sa-orange-soft); }
.sa-arch-downward_expansion,.sa-stage-4 { --sa-stage:var(--sa-red); --sa-stage-soft:var(--sa-red-soft); }
.sa-arch-unresolved { --sa-stage:var(--sa-grey); --sa-stage-soft:var(--sa-grey-soft); }
.sa-good,.sa-gate-up,.sa-gate-text-up { color:var(--sa-green) !important; }
.sa-bad,.sa-gate-down,.sa-gate-text-down { color:var(--sa-red) !important; }
.sa-caution,.sa-gate-mixed,.sa-gate-text-mixed { color:var(--sa-amber) !important; }
.sa-mix-layout { display:grid; grid-template-columns:minmax(0,1.8fr) minmax(17rem,1fr); gap:3rem; align-items:start; margin-top:1.8rem; }
.sa-mix-bar { display:flex; height:1.05rem; gap:2px; border-radius:2px; overflow:hidden; background:var(--sa-soft); }
.sa-mix-bar>a,.sa-mix-bar>span,.sa-sector-stack>span { flex:var(--sa-share) 1 0%; min-width:0; background:color-mix(in srgb,var(--sa-stage) 76%,white); }
.sa-mix-bar>a:hover { background:var(--sa-stage); }
.sa-mix-bar>a:focus-visible { outline-offset:-2px; }
.sa-mix-key { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem 1.7rem; padding-top:1.3rem; }
.sa-mix-item { text-decoration:none; display:grid; gap:.1rem; padding-bottom:.65rem; border-bottom:1px solid var(--sa-line); }
.sa-mix-item>span { font-size:.77rem; display:flex; align-items:center; gap:.4rem; }
.sa-mix-item>strong { font-size:1.65rem; font-weight:700; }
.sa-mix-item>strong small { font-size:.9rem; margin-left:.1rem; }
.sa-mix-item i,.sa-inline-key i { display:inline-block; width:.5rem; height:.5rem; background:var(--sa-stage); flex-shrink:0; }
.sa-context-note { padding:1.1rem 1.3rem; background:var(--sa-soft); border-left:2px solid #a7bec4; border-radius:0 4px 4px 0; }
.sa-context-note p { color:var(--sa-muted); font-size:.83rem; margin:.7rem 0; }
.sa-balance-number { display:block; font-size:2.2rem; margin:.35rem 0 0; line-height:1.2; }
.sa-balance-number small { font-size:.8rem; margin-left:.4rem; font-weight:400; }
.sa-context-note dl,.sa-relative-card dl { margin:1rem 0 0; }
.sa-context-note dl>div,.sa-relative-card dl>div { display:flex; justify-content:space-between; gap:1rem; padding:.55rem 0; border-top:1px solid var(--sa-line); font-size:.79rem; }
.sa-context-note dt,.sa-relative-card dt { font-weight:400; color:var(--sa-muted); }
.sa-context-note dd,.sa-relative-card dd { font-weight:650; margin:0; text-align:right; }
.sa-research-paths { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; margin-top:2rem; }
.sa-research-paths>a { padding:1rem 1.1rem; border:1px solid var(--sa-line); background:#f7f9f9; text-decoration:none; border-radius:4px; }
.sa-research-paths>a:hover { border-color:#8eafb2; background:#eff5f4; }
.sa-research-paths span { display:flex; gap:.4rem; justify-content:space-between; font-size:.8rem; font-weight:650; }
.sa-research-paths span b { color:#68928f; }
.sa-research-paths strong { display:block; font-size:1.8rem; margin:.4rem 0; }
.sa-research-paths p { color:var(--sa-muted); font-size:.78rem; margin:0; }
.sa-filters { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.9rem 1rem; align-items:end; margin:1.5rem 0; padding:1.25rem; background:var(--sa-soft); border:1px solid var(--sa-line); border-radius:4px; }
.sa-filters label { display:grid; gap:.35rem; min-width:0; }
.sa-filters label>span { font-size:.67rem; font-weight:650; color:#607e90; }
.sa-filters input,.sa-filters select { width:100%; min-width:0; height:2.55rem; border:1px solid #bccfd8; background:#fff; border-radius:2px; padding:0 .65rem; color:var(--sa-ink); font:inherit; font-size:.8rem; }
.sa-search { grid-column:span 2; }
.sa-table-wrap { max-width:100%; overflow-x:auto; overscroll-behavior-x:contain; border-block:1px solid var(--sa-line); }
.sa-table { width:100%; border-collapse:collapse; min-width:1100px; font-size:.8rem; }
.sa-table th { text-align:left; font-size:.65rem; font-weight:650; letter-spacing:.06em; text-transform:uppercase; background:var(--sa-soft); color:#5b788a; padding:.85rem .6rem; border-bottom:1px solid var(--sa-line); }
.sa-table td { padding:1rem .6rem; vertical-align:middle; border-bottom:1px solid var(--sa-line); font-weight:400; }
.sa-table tr:last-child td { border-bottom:0; }
.sa-table tbody tr:hover { background:#f7faf9; }
.sa-table small { display:block; margin-top:.25rem; line-height:1.55; font-size:.7rem; }
.sa-table td>strong { display:block; }
.sa-architecture-table { min-width:1280px; }
.sa-architecture-table th:first-child { width:17%; }
.sa-architecture-table th:nth-child(2) { width:18%; }
.sa-num { text-align:right !important; font-variant-numeric:tabular-nums; }
.sa-symbol { font-size:1rem; font-weight:750; text-decoration:none; }
.sa-symbol:hover { text-decoration:underline; }
.sa-row-links { display:flex; gap:.7rem; margin-top:.4rem; font-size:.7rem; }
.sa-row-links a { color:#507c82; text-decoration:none; }
.sa-row-links a:hover { text-decoration:underline; }
.sa-architecture-badge,.sa-stage-badge,.sa-gate { display:inline-flex; align-items:center; padding:.12rem .42rem; border-radius:2px; background:var(--sa-stage-soft,var(--sa-soft)); color:var(--sa-stage,var(--sa-muted)); font-size:.66rem; font-weight:750; line-height:1.5; }
.sa-architecture-badge { margin:0 0 .3rem; }
.sa-gate { text-transform:uppercase; }
.sa-pagination { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding-top:1rem; color:var(--sa-muted); font-size:.76rem; }
.sa-pagination>span:last-child { display:flex; gap:.4rem; }
.sa-sector-row { display:grid; grid-template-columns:minmax(12rem,1fr) minmax(0,2fr) minmax(11rem,.8fr); gap:1.5rem; align-items:center; padding:.85rem 0; border-bottom:1px solid var(--sa-line); }
.sa-sector-row>a { text-decoration:none; font-size:.85rem; }
.sa-sector-row>a:hover { text-decoration:underline; }
.sa-sector-row small { display:block; }
.sa-sector-stack { height:.65rem; display:flex; gap:1px; overflow:hidden; border-radius:2px; }
.sa-sector-reading { display:flex; justify-content:space-between; gap:1rem; text-align:right; font-size:1rem; }
.sa-sector-reading small { font-size:.66rem; font-weight:400; }
.sa-inline-key { display:flex; flex-wrap:wrap; gap:.5rem 1.1rem; margin:1rem 0 .35rem; }
.sa-inline-key>span { display:inline-flex; gap:.35rem; align-items:center; color:var(--sa-muted); font-size:.71rem; }
.sa-stage-map { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.4rem 2rem; margin:1.7rem 0; }
.sa-stage-map article { border-top:2px solid color-mix(in srgb,var(--sa-stage) 60%,white); padding:1rem 0; }
.sa-stage-map article>span { color:var(--sa-stage); font-size:.69rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.sa-stage-map strong { display:block; font-size:1.08rem; margin:.3rem 0; }
.sa-stage-map p,.sa-method-grid p { color:var(--sa-muted); font-size:.82rem; margin:.3rem 0 0; }
.sa-classic-mix { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:2rem; margin:1rem 0 2rem; }
.sa-classic-mix article>span { font-size:.76rem; }
.sa-classic-mix strong { display:block; font-size:1.45rem; margin:.25rem 0; }
.sa-track,.sa-score-grid i { display:block; height:.4rem; background:#e9eff1; border-radius:2px; overflow:hidden; margin:.4rem 0; }
.sa-track i,.sa-score-grid b { display:block; height:100%; background:color-mix(in srgb,var(--sa-stage) 74%,white); }
.sa-method-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:2rem; }
.sa-method-grid h3 { font-size:1.05rem; }
.sa-method-grid article { border-top:1px solid var(--sa-line); padding-top:1rem; }
.sa-disclaimer { font-size:.75rem; color:var(--sa-muted); line-height:1.6; margin:1.5rem 0 0; }
.sa-empty-copy { color:var(--sa-muted); padding:1rem 0; }
.sa-breadcrumbs { display:flex; gap:.55rem; flex-wrap:wrap; margin:0 0 1rem; font-size:.74rem; color:var(--sa-muted); }
.sa-company { font-size:1.05rem; color:var(--sa-muted); margin:0 0 1.15rem; }
.sa-report-meta { display:flex; flex-wrap:wrap; gap:.5rem 1.2rem; font-size:.76rem; color:var(--sa-muted); }
.sa-report-meta strong { color:var(--sa-ink); }
.sa-report-hero aside>strong { display:block; font-size:1.6rem; color:var(--sa-stage); margin:.5rem 0; }
.sa-report-hero aside p { margin:0; }
.sa-report-hero aside small { display:block; margin-top:.7rem; }
.sa-callout { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(17rem,1fr); gap:2.5rem; margin:1.5rem 0; }
.sa-callout>div { border-left:3px solid var(--sa-stage); padding-left:1.1rem; }
.sa-callout>div>span { color:var(--sa-stage); font-size:.71rem; font-weight:650; }
.sa-callout h3 { margin:.4rem 0 .6rem; font-size:1.4rem; }
.sa-callout p { color:var(--sa-muted); margin:0; font-size:.88rem; }
.sa-callout ul { margin:0; padding:.1rem 0 0 1rem; color:#587181; font-size:.84rem; }
.sa-callout li { padding-bottom:.45rem; }
.sa-detail-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1.2rem 1.7rem; padding:1.3rem 0; border-block:1px solid var(--sa-line); }
.sa-detail-kpis article { min-width:0; }
.sa-detail-kpis strong,.sa-detail-grid strong,.sa-level-grid strong,.sa-risk-strip strong { display:block; font-size:1.45rem; margin:.3rem 0; }
.sa-detail-kpis small,.sa-level-grid small { display:block; font-size:.7rem; }
.sa-help { display:inline-grid; place-items:center; width:1rem; height:1rem; padding:0; margin-left:.15rem; border:1px solid #b3c9d2; background:#fff; color:#608395; border-radius:50%; font:600 .65rem/1 sans-serif; vertical-align:middle; cursor:help; }
.sa-chart-card { min-width:0; margin-top:1.5rem; }
.sa-chart-feature { padding-top:.5rem; }
.sa-chart-head { margin-bottom:.5rem; }
.sa-chart-head p { max-width:57rem; }
.sa-chart { width:100%; min-width:0; min-height:280px; margin-top:.8rem; }
.sa-price-chart { min-height:420px; }
.sa-legend { display:flex; gap:.7rem 1rem; flex-wrap:wrap; color:var(--sa-muted); font-size:.71rem; }
.sa-legend span { display:flex; align-items:center; gap:.35rem; white-space:nowrap; }
.sa-legend [hidden] { display:none; }
.sa-legend i { width:1.35rem; height:2px; background:var(--sa-navy); }
.sa-legend .sa-key-activity { background:linear-gradient(90deg,#5f799c,#b9c9d5); }
.sa-legend .sa-key-trend { background:linear-gradient(90deg,var(--sa-green),var(--sa-amber),var(--sa-red)); }
.sa-legend .sa-key-fair { background:none; border-top:2px dashed #8d9ba5; }
.sa-regime-key { margin:1rem 0; }
.sa-regime-key>span { font-size:.65rem; color:var(--sa-muted); }
.sa-regime-key ul { display:flex; flex-wrap:wrap; list-style:none; margin:.4rem 0 0; padding:0; gap:.5rem 1.2rem; }
.sa-regime-key li { display:flex; align-items:baseline; gap:.35rem; font-size:.7rem; }
.sa-regime-key i { width:.45rem; height:.45rem; background:var(--sa-stage); flex-shrink:0; }
.sa-regime-key strong { color:var(--sa-stage); font-weight:650; }
.sa-regime-key small { display:block; font-size:.65rem; }
.sa-chart-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:.6rem 1.2rem; border-block:1px solid var(--sa-line); padding:.7rem 0; margin:1rem 0 0; }
.sa-chart-toolbar label { display:flex; align-items:center; gap:.4rem; font-size:.77rem; color:#567280; cursor:pointer; }
.sa-chart-toolbar input { accent-color:var(--sa-green); width:.9rem; height:.9rem; }
.sa-chart-toolbar button { margin-left:auto; min-height:2rem; padding:.35rem .65rem; font-size:.7rem; }
.sa-chart-readout { display:flex; flex-wrap:wrap; gap:.4rem 1.3rem; min-height:2.4rem; align-items:center; background:var(--sa-soft); padding:.6rem .7rem; font-size:.71rem; font-variant-numeric:tabular-nums; margin-top:.7rem; }
.sa-chart-readout span { display:inline-flex; gap:.4rem; align-items:center; }
.sa-chart-readout:empty { display:none; }
.sa-chart-readout i { width:.8rem; height:2px; background:var(--series-color,#607f8e); }
.sa-motion-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2rem; }
.sa-motion-card { min-width:0; border-top:1px solid var(--sa-line); padding-top:1rem; }
.sa-motion-card>div:first-child { display:flex; justify-content:space-between; align-items:center; gap:1rem; }
.sa-motion-card>div:first-child>strong { font-size:1.5rem; }
.sa-motion-card p { color:var(--sa-muted); font-size:.78rem; margin:.5rem 0 1rem; }
.sa-evidence-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem 2rem; margin-top:1.7rem; }
.sa-evidence-grid article { border-left:2px solid #be8490; padding-left:.85rem; }
.sa-evidence-grid article.is-positive { border-color:#7ba69b; }
.sa-evidence-grid span,.sa-evidence-grid small { display:block; font-size:.72rem; color:var(--sa-muted); }
.sa-evidence-grid strong { display:block; font-size:.93rem; margin:.15rem 0; }
.sa-score-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem 1.7rem; margin:1.5rem 0; }
.sa-architecture-score-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.sa-score-grid article { padding:.8rem 1rem; background:#f8fafb; border:1px solid transparent; border-radius:3px; }
.sa-score-grid article.is-active { background:var(--sa-stage-soft); border-color:color-mix(in srgb,var(--sa-stage) 50%,white); }
.sa-score-grid span { font-size:.75rem; color:var(--sa-stage); font-weight:650; }
.sa-score-grid strong { display:block; font-size:1.6rem; }
.sa-score-grid b { width:min(100%,var(--sa-score)); }
.sa-history-mix { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.6fr); align-items:center; gap:2rem; margin:2rem 0; }
.sa-history-mix h3 { margin:.4rem 0; }
.sa-history-mix p { color:var(--sa-muted); font-size:.76rem; margin:0; }
.sa-details { margin:1rem 0; }
.sa-details summary { padding:.65rem .8rem; background:var(--sa-soft); color:#547385; font-size:.77rem; cursor:pointer; border-radius:3px; }
.sa-details[open]>summary { margin-bottom:.6rem; }
.sa-ledger { min-width:720px; }
.sa-chart-grid { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(17rem,.8fr); gap:2rem; }
.sa-relative-card { min-width:0; margin-top:1.5rem; padding:1.1rem 1.3rem; background:var(--sa-soft); border-radius:4px; }
.sa-relative-card>span { font-size:.67rem; color:var(--sa-muted); text-transform:uppercase; letter-spacing:.08em; }
.sa-relative-card h3 { font-size:1.3rem; margin:.45rem 0 1rem; }
.sa-relative-card dd small { display:block; font-weight:400; }
.sa-detail-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.4rem 2rem; }
.sa-detail-grid article { padding-top:.75rem; border-top:1px solid var(--sa-line); }
.sa-detail-grid p { font-size:.78rem; color:var(--sa-muted); margin:0; }
.sa-level-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:1.6rem; }
.sa-level-grid strong { font-size:1.2rem; }
.sa-risk-strip { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1.6rem; margin-top:1.5rem; }
.sa-invalidation { margin:1.5rem 0; padding:1rem 1.2rem; border-left:2px solid #b5a473; background:var(--sa-amber-soft); }
.sa-invalidation>span { font-size:.72rem; font-weight:700; }
.sa-invalidation p { font-size:.87rem; color:#6f705f; margin:.4rem 0 0; }
.sa-outcomes { min-width:1050px; }
.sa-research-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.2rem; }
.sa-research-grid article { position:relative; min-width:0; padding:1.25rem; border:1px solid var(--sa-line); background:#f8fafb; border-radius:4px; }
.sa-research-grid h3 { margin:.55rem 0 1rem; font-size:1.16rem; padding-right:1.8rem; }
.sa-research-grid h3 a { text-decoration:none; }
.sa-research-grid h3 a:hover { text-decoration:underline; }
.sa-research-grid h3 span { font-family:system-ui,sans-serif; font-size:.85rem; color:#648d91; }
.sa-research-grid article>strong { font-size:.83rem; }
.sa-research-grid article>p { color:var(--sa-muted); font-size:.8rem; margin:.5rem 0 .8rem; }
.sa-research-icon { position:absolute; top:1.25rem; right:1.1rem; color:#669095; font-size:1.05rem; }
.sa-research-secondary { display:inline-block; font-size:.75rem; text-decoration:none; padding-top:.45rem; color:#477c82 !important; }
.sa-research-secondary:hover { text-decoration:underline; }
@media(max-width:1100px) {
  .sa-hero,.sa-report-hero { gap:2rem; grid-template-columns:minmax(0,1.6fr) minmax(16rem,1fr); }
  .sa-filters { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .sa-mix-layout,.sa-chart-grid { gap:1.5rem; }
  .sa-research-paths,.sa-method-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .sa-level-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .sa-panel-head,.sa-section-head,.sa-chart-head { flex-wrap:wrap; gap:.6rem 2rem; }
  .sa-panel-head>p { max-width:50rem; }
  .sa-sector-row { grid-template-columns:minmax(10rem,1fr) minmax(0,1.4fr) minmax(10rem,1fr); gap:1rem; }
}
@media(max-width:760px) {
  .sa-shell { width:calc(100% - 1.5rem); margin-top:1.1rem; }
  .sa-hero,.sa-report-hero,.sa-mix-layout,.sa-callout,.sa-chart-grid,.sa-history-mix,.sa-motion-grid { grid-template-columns:1fr; gap:1.5rem; }
  .sa-hero,.sa-report-hero { padding-top:1.5rem; }
  .sa-hero h1,.sa-report-hero h1 { font-size:2.4rem; }
  .sa-hero-read,.sa-report-hero aside { padding:1.1rem 1.3rem; }
  .sa-read-number { font-size:2.3rem; }
  .sa-headline-stats { grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.2rem; }
  .sa-headline-stats article { padding:0; border:0; }
  .sa-headline-stats strong { font-size:1.35rem; }
  .sa-report-nav { gap:.3rem .9rem; }
  .sa-report-nav-terminal { margin-left:0; }
  .sa-panel,.sa-report-section { padding:1.6rem 0; }
  .sa-filters { grid-template-columns:repeat(2,minmax(0,1fr)); padding:1rem; gap:.8rem; }
  .sa-mix-key { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .sa-context-note { padding:1rem; }
  .sa-sector-row { grid-template-columns:minmax(0,1fr) auto; gap:.7rem 1rem; }
  .sa-sector-stack { grid-column:1/-1; grid-row:2; }
  .sa-sector-reading { font-size:.85rem; gap:.9rem; }
  .sa-stage-map,.sa-classic-mix,.sa-detail-kpis,.sa-score-grid,.sa-detail-grid,.sa-level-grid,.sa-risk-strip,.sa-evidence-grid,.sa-research-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.2rem; }
  .sa-chart { min-height:260px; }
  .sa-price-chart { min-height:340px; }
  .sa-chart-toolbar { gap:.7rem; }
  .sa-chart-toolbar button { margin-left:0; }
  .sa-chart-readout { gap:.4rem .8rem; }
  .sa-legend { margin-top:.5rem; }
  .sa-callout ul { padding-left:1.15rem; }
  .sa-table-wrap { border:1px solid var(--sa-line); border-radius:3px; }
  .sa-architecture-table th:first-child,.sa-architecture-table td:first-child { position:sticky; left:0; background:#f7fafa; z-index:1; max-width:12rem; width:12rem; box-shadow:2px 0 3px #1938480d; }
  .sa-pagination { flex-wrap:wrap; }
}
@media(max-width:460px) {
  .sa-hero h1,.sa-report-hero h1 { font-size:2.1rem; }
  .sa-research-paths,.sa-research-grid,.sa-stage-map,.sa-method-grid { grid-template-columns:1fr; }
  .sa-research-paths { gap:.65rem; }
  .sa-research-paths>a { padding:.85rem 1rem; }
  .sa-research-paths strong { font-size:1.55rem; }
  .sa-filters { grid-template-columns:1fr; }
  .sa-search { grid-column:auto; }
  .sa-detail-kpis strong { font-size:1.25rem; }
  .sa-inline-key { gap:.4rem .8rem; }
}
@media(prefers-reduced-motion:reduce) { .sa-shell * { scroll-behavior:auto !important; } }
