/* Technical Insights browsing and reading. Scoped to the hub and article routes. */
.insights-page { padding-bottom:0; }
.insights-page :focus-visible { outline:3px solid var(--blue);outline-offset:4px; }
.insights-intro { padding:44px 0 30px;background:var(--pale); }
.insights-intro h1 { font-size:clamp(2.1rem,5vw,3.6rem);line-height:1.12;margin:10px 0 16px; }
.insights-intro p:last-child { max-width:58ch;color:var(--muted);font-size:1.125rem; }
.insights-browser { padding:30px 0 56px;background:#f5f7fa; }
.insights-directory-heading { max-width:740px;margin-bottom:28px; }
.insights-directory-heading h2 { font-size:clamp(1.65rem,3vw,2.4rem);line-height:1.2;margin:12px 0 16px; }
.insights-directory-heading>p:last-child { color:var(--muted);font-size:1.0625rem; }
.insight-tools[hidden],.browse-card[hidden],.insight-topic-group[hidden],.insight-empty[hidden] { display:none!important; }
.insight-tools .browse-label { font-size:1.125rem;line-height:1.4;margin-bottom:14px; }
.topic-filters { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px; }
.topic-filter { display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;min-height:76px;padding:15px;text-align:left;border:1px solid #b9c8da;border-radius:8px;background:white;color:var(--navy);font:inherit;font-size:1rem;font-weight:700;line-height:1.35;cursor:pointer; }
.topic-filter.active { background:var(--navy);color:#fff;border-color:var(--navy);box-shadow:inset 0 -4px 0 #84c5ff; }
.topic-filter:hover:not(.active) { background:#eaf1ff;border-color:var(--blue); }
.topic-count { flex-shrink:0;display:grid;place-items:center;min-width:26px;min-height:26px;padding:2px 6px;border-radius:20px;background:#edf2fa;color:var(--navy);font-size:.8125rem; }
.topic-filter.active .topic-count { background:#fff;color:var(--navy); }
.insight-search { margin:24px 0 0;max-width:760px; }
.insight-search label { display:block;font-size:1rem;font-weight:700;margin-bottom:8px; }
.insight-search-row { display:flex;gap:10px; }
.insight-search input { width:100%;min-width:0;min-height:48px;border:1px solid #a8b8cc;border-radius:6px;padding:12px;background:#fff;color:var(--ink);font:inherit;font-size:1rem; }
.browse-reset { min-height:48px;flex-shrink:0;padding:10px 14px;font:inherit;font-size:.9375rem;font-weight:700;color:var(--blue);background:#fff;border:1px solid #a8b8cc;border-radius:6px;cursor:pointer; }
#filter-status { font-size:.9375rem;color:var(--muted);margin:18px 0 0; }
.insight-topic-group { padding-top:34px; }
.insight-topic-group>h2 { font-size:clamp(1.4rem,2.8vw,1.9rem);line-height:1.25;margin-bottom:20px;padding-left:14px;border-left:4px solid var(--blue); }
.browse-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px; }
.browse-card { min-width:0;display:flex;flex-direction:column;border:1px solid #d3deea;border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 3px 9px #15275008; }
.browse-card-image { display:flex;align-items:center;justify-content:center;height:190px;min-height:190px;background:#edf2f8;border-bottom:1px solid #e2e8f0;overflow:hidden; }
.browse-card-image img { display:block;width:100%;height:100%;object-fit:cover; }
.browse-card-image.diagram { background:#fff; }
.browse-card-image.diagram img { object-fit:contain;padding:10px; }
.browse-card-image .rshq-photo-window { width:100%;height:100%;aspect-ratio:auto; }
.browse-card-image .rshq-photo-window img { position:absolute;top:-.5%;left:-1.51%;width:101.87%;height:auto;max-width:none; }
.browse-card-copy { display:flex;flex-direction:column;flex:1;padding:20px; }
.browse-card h3 { font-size:1.35rem;line-height:1.3;margin:8px 0 12px;overflow-wrap:break-word; }
.browse-card h3 a { text-decoration:none; }
.browse-card h3 a:hover { color:var(--blue);text-decoration:underline;text-underline-offset:3px; }
.browse-card-summary { font-size:1rem;line-height:1.6;color:var(--muted);margin:0 0 16px; }
.browse-card-link { display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;margin-top:auto;padding:8px 0;border-top:1px solid #e2e8f0;color:var(--blue);font-size:1rem;font-weight:700;text-decoration:none; }
.browse-card-link:hover { text-decoration:underline; }
.browse-card-credit { font-size:.75rem;line-height:1.45;margin-top:6px; }
.browse-card-credit a { font:inherit; }
.insight-empty { padding:32px 20px;margin-top:28px;border:1px solid var(--line);border-radius:8px;background:white; }
.insight-empty h2 { font-size:1.5rem; }
.insight-empty p { margin:12px 0 20px; }
.insights-browser .insight-hub-links { padding-top:36px;gap:12px 32px; }
.insights-browser .insight-hub-links a { min-height:44px;display:inline-flex;align-items:center; }
.reader-navigation { display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:20px; }
.reader-navigation a { display:inline-flex;align-items:center;min-height:44px;font-size:.9375rem; }
.insight-toc details nav { display:flex;flex-direction:column; }
.insight-toc details nav a { min-height:44px;display:flex;align-items:center;padding:9px 0;border-bottom:1px solid #e2e8f0;font-size:.9375rem;line-height:1.45;text-decoration:none;color:var(--navy); }
.insight-toc details nav a:hover { color:var(--blue);text-decoration:underline; }
.insight-toc details nav a:last-child { border-bottom:0; }
.insight-toc details[open] summary { margin-bottom:8px; }
.technical-article-page .insight-body { max-width:74ch;line-height:1.75; }
.technical-article-page .insight-body>section { padding-top:10px; }
.technical-article-page .insight-body h2 { line-height:1.25; }
.technical-article-page .insight-body a { text-underline-offset:3px; }
.standalone-toc { border:1px solid var(--line);border-top:3px solid var(--blue);padding:12px 20px;margin-top:24px;background:white; }
@media (min-width:761px) { .insight-toc details nav { max-height:60vh;overflow-y:auto;scrollbar-gutter:stable; } }
@media (max-width:1050px) { .browse-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .topic-filters { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:900px) { .insights-page .header { position:relative;top:auto; } }
@media (max-width:760px) {
  html:has(.insights-page) { scroll-padding-top:76px; }
  .insights-page .header-inner { min-height:72px;padding-block:10px; }
  .insights-page .language-row { min-height:44px; }
  .insights-intro { padding:26px 0 24px; }
  .insights-intro .eyebrow { font-size:.75rem;letter-spacing:.08em; }
  .insights-intro h1 { font-size:2.15rem; }
  .insights-intro p:last-child { font-size:1rem;line-height:1.6; }
  .insights-browser { padding:24px 0 36px; }
  .topic-filter { flex-direction:column;align-items:flex-start;font-size:.9375rem;line-height:1.35;min-height:98px;padding:12px;gap:8px; }
  .topic-filter>span:first-child { min-width:0;overflow-wrap:break-word; }
  .topic-count { margin-top:auto; }
  .topic-count { min-width:24px;min-height:24px;padding:1px 5px; }
  .insight-search-row { flex-wrap:wrap; }
  .insight-search input { flex:1 1 240px; }
  .browse-reset { flex:0 0 auto; }
  .insight-topic-group { padding-top:28px; }
  .insight-topic-group>h2 { margin-bottom:16px; }
  .browse-card-copy { padding:18px; }
  .browse-card h3 { font-size:1.35rem; }
  .insights-page .insight-heading { padding:24px 0 28px; }
  .insight-heading h1 { font-size:clamp(1.8rem,6.3vw,2.4rem);line-height:1.2; }
  .insight-heading .lead { font-size:1.0625rem;line-height:1.65; }
  .technical-article-page .article-publication { margin-bottom:18px; }
  .technical-article-page .article-publication img { width:46px;flex-basis:46px; }
  .technical-article-page .article-publication p { font-size:.875rem; }
  .technical-article-page .article-publication p span { font-size:.8125rem; }
  .technical-article-page .article-scope-notice { font-size:.875rem;line-height:1.6; }
  .technical-article-page .article-byline { font-size:.875rem;line-height:1.6; }
  .insights-page .editorial-layout { display:block;padding-top:18px; }
  .insights-page .insight-toc { position:sticky;top:0;z-index:20;align-self:auto;padding:0 14px;margin-bottom:24px;border:1px solid #bdcce0;border-top:3px solid var(--blue);background:#fff;box-shadow:0 3px 8px #15275014; }
  .insight-toc summary { min-height:50px;padding:14px 0;font-size:1rem;line-height:1.4;color:var(--navy); }
  .insight-toc details nav { max-height:55dvh;overflow-y:auto;overscroll-behavior:contain;padding-bottom:8px; }
  .insight-toc .article-service { display:none; }
  .technical-article-page .insight-body { font-size:1.0625rem;line-height:1.75; }
  .technical-article-page .insight-body h2 { font-size:1.5rem;line-height:1.3; }
  .technical-article-page .insight-body h3 { font-size:1.25rem; }
  .technical-article-page .drive-table { font-size:1rem;line-height:1.65; }
  .technical-article-page .insight-body>section { scroll-margin-top:0;margin-top:32px;padding-top:0; }
  .reader-takeaway { padding:18px; }
  .technical-article-page .article-illustration { padding:8px;margin-block:26px; }
  .technical-article-page figcaption { font-size:.875rem;line-height:1.6; }
  .technical-article-page figcaption a { display:inline-flex;align-items:center;min-height:44px; }
  .insights-page .closing { padding-block:36px; }
  .insights-page .closing h2 { font-size:1.7rem;line-height:1.25; }
  .insights-page .closing .button { min-height:48px; }
  .insights-page .standalone-toc { margin-top:18px; }
}
@media (max-width:650px) { .browse-grid { grid-template-columns:minmax(0,1fr);gap:18px; } .browse-card-image { height:180px;min-height:180px; } }
@media print { .insight-tools,.insight-toc,.reader-navigation { display:none!important; } .insights-page .header { position:static; } }
