/* Scoped research hub stylesheet. Inherits pygdis.css shared site theme. */
.pygdis-research-hub {--ink:var(--text);--muted:var(--muted);--bg:var(--background);--panel:var(--panel-dark);--line:var(--border);--aqua:var(--cyan);--blue:var(--blue);--amber:#ffd080;--radius:17px;color:var(--text);}
.pygdis-research-hub a{color:var(--cyan)}
.pygdis-research-hub a:hover{color:#fff}
.pygdis-research-hub .wrap{max-width:var(--maximum-width)}
.pygdis-research-hub .hub-toc{display:flex;gap:9px;flex-wrap:wrap;justify-content:center;padding:18px 24px;border-bottom:1px solid var(--border);background:rgba(6,16,29,.55)}
.pygdis-research-hub .hub-toc a{font-size:.84rem;text-decoration:none;color:var(--muted);border:1px solid var(--border);border-radius:100px;padding:5px 11px}
.pygdis-research-hub .hub-toc a:hover{color:#fff;border-color:var(--cyan)}
.pygdis-research-hub .hero{background:radial-gradient(circle at 85% 15%,rgba(53,211,255,.14),transparent 40%),linear-gradient(160deg,#0e2840,#07111f 72%)}
.pygdis-research-hub .btn,.pygdis-research-hub .eyebrow{background:linear-gradient(135deg,var(--cyan),var(--blue));color:#06111e}
.pygdis-research-hub .btn.alt{background:rgba(255,255,255,.04);color:#e0ebf8}
.pygdis-research-hub pre {padding:0;border:0;border-radius:0;background:transparent}
.pygdis-research-hub pre code {padding:20px;font-size:.86rem}
.pygdis-research-hub .codebox pre{border:0}
.pygdis-research-hub .codebox pre code{white-space:pre}
.pygdis-research-hub .card {background:linear-gradient(155deg,rgba(17,39,61,.9),rgba(9,21,34,.9));border-color:var(--border)}
.pygdis-research-hub section{scroll-margin-top:95px}
@media(max-width:650px){.pygdis-research-hub .hub-toc{justify-content:flex-start}}
.pygdis-research-hub a {color:var(--aqua)}
.pygdis-research-hub a:hover {color:white}
.pygdis-research-hub .wrap {max-width:1180px;margin:auto;padding:0 25px}
.pygdis-research-hub .skip {position:absolute;top:-100px}
.pygdis-research-hub .skip:focus {top:4px;background:#fff;color:#000;z-index:99}
.pygdis-research-hub .top {position:sticky;top:0;background:#07111fee;backdrop-filter:blur(14px);border-bottom:1px solid var(--line);z-index:10}
.pygdis-research-hub .top-inner {display:flex;align-items:center;justify-content:space-between;min-height:68px;gap:18px}
.pygdis-research-hub .brand {font-weight:800;text-decoration:none;color:#fff;letter-spacing:-.03em;font-size:1.1rem}
.pygdis-research-hub .brand span {color:var(--aqua)}
.pygdis-research-hub nav {display:flex;gap:19px;flex-wrap:wrap}
.pygdis-research-hub nav a {text-decoration:none;color:#c0cde0;font-size:.86rem}
.pygdis-research-hub nav a:hover {color:var(--aqua)}
.pygdis-research-hub .hero {padding:84px 0 70px;background:radial-gradient(circle at 82% 20%,#123b57 0%,transparent 40%),linear-gradient(160deg,#0c2036,#07111f 72%)}
.pygdis-research-hub .eyebrow {display:inline-block;border:1px solid #327e87;color:var(--aqua);background:#0b3439;padding:5px 12px;border-radius:50px;font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;font-weight:800}
.pygdis-research-hub .hero h1 {font-size:clamp(2.3rem,5.8vw,4.8rem);line-height:1.08;margin:22px 0;letter-spacing:-.055em;max-width:880px}
.pygdis-research-hub .hero h1 em {font-style:normal;color:var(--aqua)}
.pygdis-research-hub .lead {font-size:1.1rem;color:#c0d0e3;max-width:790px}
.pygdis-research-hub .actions {display:flex;gap:11px;flex-wrap:wrap;margin-top:27px}
.pygdis-research-hub .btn {padding:12px 18px;border-radius:10px;text-decoration:none;font-weight:750;background:var(--aqua);color:#04151e;display:inline-block}
.pygdis-research-hub .btn:hover {color:#06121c;background:#92f0e5}
.pygdis-research-hub .btn.alt {color:#e0ebf8;background:transparent;border:1px solid #688094}
.pygdis-research-hub .kpis {display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-top:45px}
.pygdis-research-hub .kpi {background:#ffffff0a;border:1px solid #4f6d8738;border-radius:13px;padding:15px}
.pygdis-research-hub .kpi strong {font-size:1.35rem;display:block;color:white}
.pygdis-research-hub .kpi small {color:#aec4d6}
.pygdis-research-hub section {padding:70px 0;scroll-margin-top:82px}
.pygdis-research-hub section:nth-child(even) {background:#091728}
.pygdis-research-hub .section-head {max-width:790px;margin-bottom:27px}
.pygdis-research-hub .section-head small {color:var(--aqua);font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.pygdis-research-hub .section-head h2 {margin:7px 0 11px;font-size:clamp(1.65rem,3.5vw,2.55rem);letter-spacing:-.04em;line-height:1.18}
.pygdis-research-hub .section-head p, .pygdis-research-hub .subtle {color:var(--muted)}
.pygdis-research-hub .grid {display:grid;grid-template-columns:repeat(3,1fr);gap:17px}
.pygdis-research-hub .grid.two {grid-template-columns:repeat(2,1fr)}
.pygdis-research-hub .card {padding:24px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}
.pygdis-research-hub .card h3 {margin:4px 0 9px;line-height:1.3}
.pygdis-research-hub .card p {color:var(--muted);font-size:.94rem}
.pygdis-research-hub .card .tag {font-size:.73rem;color:var(--aqua);font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.pygdis-research-hub .card a {font-weight:750}
.pygdis-research-hub .step-num {font-variant-numeric:tabular-nums;color:var(--aqua);font-weight:900;font-size:1.8rem}
.pygdis-research-hub .codebox {position:relative;border:1px solid #344661;background:#061020;border-radius:14px;overflow:hidden;margin:15px 0}
.pygdis-research-hub .codebar {display:flex;justify-content:space-between;align-items:center;background:#13233a;color:#c5d4e4;padding:7px 12px;font-size:.78rem}
.pygdis-research-hub .copy {background:#243d55;border:1px solid #4a6582;color:white;border-radius:7px;padding:5px 9px;cursor:pointer}
.pygdis-research-hub pre {margin:0;padding:21px;white-space:pre;overflow:auto;color:#d2e9f6;font-size:.86rem;line-height:1.65}
.pygdis-research-hub code {font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
.pygdis-research-hub p code, .pygdis-research-hub li code {color:#96eddc;background:#173342;padding:2px 5px;border-radius:4px}
.pygdis-research-hub .pipeline {display:grid;grid-template-columns:repeat(5,1fr);gap:9px}
.pygdis-research-hub .pipeline div {padding:18px 10px;text-align:center;background:#102c3d;border:1px solid #24526d;border-radius:12px;font-weight:750}
.pygdis-research-hub .pipeline span {display:block;color:#a9c1ce;font-size:.8rem;font-weight:400}
.pygdis-research-hub .notice {padding:18px 22px;border-left:3px solid var(--amber);background:#332b1e80;border-radius:8px;color:#eedcb8}
.pygdis-research-hub .table-wrap {overflow-x:auto;border:1px solid var(--line);border-radius:12px}
.pygdis-research-hub table {width:100%;border-collapse:collapse;min-width:690px}
.pygdis-research-hub td, .pygdis-research-hub th {padding:13px 15px;border-bottom:1px solid var(--line);text-align:left;font-size:.91rem}
.pygdis-research-hub th {background:#183047}
.pygdis-research-hub td {color:#cfdaea}
.pygdis-research-hub tr:last-child td {border-bottom:none}
.pygdis-research-hub .fakechart {width:100%;background:#0a1a2c;border:1px solid #25475d;border-radius:14px;padding:15px}
.pygdis-research-hub .fakechart svg {width:100%;height:auto}
.pygdis-research-hub .fakechart figcaption {color:#9fb4c8;font-size:.8rem;margin-top:4px}
.pygdis-research-hub .faq details {border-bottom:1px solid var(--line);padding:17px 0}
.pygdis-research-hub .faq summary {cursor:pointer;font-weight:700}
.pygdis-research-hub .faq p {color:var(--muted)}
.pygdis-research-hub .footer {padding:35px 0;border-top:1px solid var(--line);color:var(--muted);font-size:.87rem}
.pygdis-research-hub .resource {display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:18px 0;border-bottom:1px solid var(--line)}
.pygdis-research-hub .resource strong {display:block}
.pygdis-research-hub .resource small {color:var(--muted)}
.pygdis-research-hub .label {color:var(--aqua);font-size:.78rem;font-weight:800}
.pygdis-research-hub ul, .pygdis-research-hub ol {padding-left:22px;color:#cbd9e8}
.pygdis-research-hub li {margin:5px 0}
.pygdis-research-hub .muted {color:var(--muted)}
.pygdis-research-hub :focus-visible {outline:3px solid var(--aqua);outline-offset:3px}
@media(max-width:900px){.pygdis-research-hub .grid, .pygdis-research-hub .grid.two {grid-template-columns:repeat(2,1fr)}
.pygdis-research-hub .kpis {grid-template-columns:repeat(2,1fr)}
.pygdis-research-hub .pipeline {grid-template-columns:1fr 1fr 1fr}
.pygdis-research-hub nav {gap:8px}}
@media(max-width:650px){.pygdis-research-hub .grid, .pygdis-research-hub .grid.two {grid-template-columns:1fr}
.pygdis-research-hub .pipeline {grid-template-columns:1fr}
.pygdis-research-hub .hero {padding:50px 0}
.pygdis-research-hub nav {display:none}
.pygdis-research-hub .kpis {grid-template-columns:repeat(2,1fr)}
.pygdis-research-hub section {padding:48px 0}}
@media(max-width:650px){.pygdis-research-hub .hub-toc{display:flex}}

/* Gallery images remain within scoped hub cards. */
.pygdis-research-hub .hub-figure { overflow: hidden; margin: 0; }
.pygdis-research-hub .hub-figure img { width: 100%; height: auto; display: block; border-radius: 12px; background: #f6f9fc; }
.pygdis-research-hub .hub-figure figcaption { margin-top: 14px; }
.pygdis-research-hub .hub-figure figcaption p { margin-bottom: 0; }
.pygdis-research-hub .hub-awaiting { border-style: dashed; }
