.section-hero { min-height:320px; }
.section-hero-art { width:100%;height:300px;object-fit:contain; }
.section-hero-art--photo { border-radius:26px;object-fit:cover; }
.hub-collection-header { display:flex;justify-content:space-between;align-items:center;gap:24px; }
.hub-search { position:relative;width:330px;flex-shrink:0; }
.hub-search>svg { position:absolute;left:17px;top:16px;color:#5d6b78;pointer-events:none; }
.hub-search input { border:1px solid var(--line);border-radius:100px;width:100%;height:52px;padding:12px 18px 12px 47px;background:white;font-size:14px; }
.hub-search input:focus-visible { outline:3px solid #2367ac;outline-offset:3px; }
.hub-results { margin:15px 0 20px;font-size:13px; }
.hub-entry-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px; }
.hub-entry { border:1px solid var(--line);border-radius:24px;padding:12px;display:flex;flex-direction:column;overflow:hidden;background:white; }
.hub-entry-cover { display:block;overflow:hidden;border-radius:16px;background:#eef7ff; }
.hub-entry-cover img { width:100%;height:190px;object-fit:cover; }
.hub-entry-content { padding:20px 8px 12px;display:flex;flex-direction:column;flex:1; }
.hub-entry-meta { font-size:12px;font-weight:600; }
.hub-entry h3 { font-family:Fredoka,Jakarta,sans-serif;font-size:27px;font-weight:500;color:#111;margin:10px 0;line-height:1.2;letter-spacing:-.025em; }
.hub-entry h3 a:hover { text-decoration:underline;text-underline-offset:4px; }
.hub-entry-content>p:not(.hub-entry-meta) { font-size:14px;line-height:1.7; }
.hub-empty { text-align:center;padding:48px 24px;border:1px dashed #c6d7e2;border-radius:24px;background:#f5fbff;margin-top:26px; }
.hub-empty-symbol { background:#d7effc;border-radius:50%;width:58px;height:58px;display:grid;place-items:center;margin:0 auto 20px; }
.hub-empty-symbol svg { width:28px;height:28px; }
.hub-empty h3,.hub-empty h1 { font-family:Fredoka,Jakarta,sans-serif;font-size:32px;font-weight:500;letter-spacing:-.025em; }
.hub-empty p { max-width:540px;margin:16px auto 24px;font-size:15px; }
.hub-no-results { text-align:center; }
.hub-no-results>.button { margin-top:18px; }
.hub-note { background:var(--lavender);border-radius:24px;margin-top:40px;padding:30px 34px; }
.hub-note h2 { font-family:Fredoka,Jakarta,sans-serif;font-size:28px;font-weight:500;letter-spacing:-.025em; }
.hub-note p { margin-top:12px;max-width:760px; }
.hub-note .text-link { margin-top:20px;text-decoration:underline;text-underline-offset:5px; }
.hub-path-steps { padding-left:24px; }
.hub-path-steps li { padding:16px 0 22px 12px;border-bottom:1px solid var(--line); }
.hub-path-steps li::marker { font-weight:700;color:#2367ac; }
.hub-path-steps h3 { font-size:20px;letter-spacing:-.02em; }
.hub-path-steps p { margin:10px 0 16px; }
.hub-path-steps a { text-decoration:underline;text-underline-offset:4px; }
.hub-detail-actions .button { margin:16px 12px 0 0; }
.hub-detail .reader-back { margin-top:24px; }
.glossary-list { margin-top:25px; }
.glossary-term { border-bottom:1px solid var(--line);padding:20px 0;scroll-margin-top:24px; }
.glossary-term summary { cursor:pointer;display:flex;align-items:center;gap:20px;list-style:none; }
.glossary-term summary::-webkit-details-marker { display:none; }
.glossary-term summary h3 { font-family:Fredoka,Jakarta,sans-serif;font-size:26px;font-weight:500;flex:1;letter-spacing:-.02em; }
.glossary-term summary span { font-size:12px;color:var(--muted); }
.glossary-term[open] summary>svg { transform:rotate(180deg); }
.glossary-term p { max-width:850px;margin-top:14px;font-size:15px; }
.glossary-term a { margin-top:14px;text-decoration:underline;text-underline-offset:4px; }
@media(max-width:900px) { .section-hero { min-height:0; }.section-hero-art { height:250px;max-width:520px;margin:auto; }.hub-entry-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.hub-collection-header { align-items:flex-start;flex-direction:column;gap:20px; }.hub-search { width:100%; } }
@media(max-width:600px) { .section-hero-art { height:200px; }.hub-entry-grid { grid-template-columns:1fr; }.hub-entry-cover img { height:210px; }.hub-note { padding:26px; }.hub-empty { padding:32px 20px; }.hub-empty h3 { font-size:27px; }.glossary-term summary { gap:12px; }.glossary-term summary h3 { font-size:23px; } }

/* Keep transparent illustrations intact rather than cropping their silhouettes. */
.hub-entry-cover img[src*="/hubs/"], .resource-cover img[src*="/hubs/"] { object-fit:contain;padding:16px;background:#f0f7fc; }
.reader-header>img[src*="/hubs/"] { object-fit:contain;background:#f0f7fc;padding:20px; }
.resource-hero-art[src*="/hubs/"] { transform:none; }
.community-hero-art[src*="/hubs/"] { object-fit:contain; }
.alumni-directory { margin:30px 0 70px; }
.alumni-intro { color:var(--muted);line-height:1.7; }
.alumni-toolbar { display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:28px; }
.alumni-views { margin:0; }
.alumni-views button { display:flex;align-items:center;gap:10px; }
.alumni-views button span { font-size:12px;border-radius:20px;padding:3px 8px;background:rgba(255,255,255,.65); }
.alumni-table-wrap { border:1px solid #dbe7ef;border-radius:24px;overflow:hidden;background:#fff; }
.alumni-table { width:100%;border-collapse:collapse;text-align:left; }
.alumni-table th,.alumni-table td { padding:20px 24px;line-height:1.6;vertical-align:top;overflow-wrap:anywhere; }
.alumni-table thead { background:#eaf5fd; }
.alumni-table thead th { font-size:13px; }
.alumni-table tbody th { font-size:14px;font-weight:600;width:48%; }
.alumni-table tbody td { font-size:14px; }
.alumni-table tbody tr+tr { border-top:1px solid #e5edf3; }
.alumni-table tbody tr:nth-child(even) { background:#f8fbfe; }
.alumni-table td:first-child { width:65px;color:#627285; }
.alumni-no-results { text-align:center; }
.alumni-no-results .button { margin-top:16px; }
@media(max-width:900px) { .alumni-toolbar { flex-direction:column;align-items:stretch; }.alumni-views { flex-wrap:wrap; }.alumni-table th,.alumni-table td { padding:16px; } }
@media(max-width:600px) {
 .alumni-table thead { position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%); }
 .alumni-table tbody,.alumni-table tr { display:block; }
 .alumni-table tbody th,.alumni-table tbody td { display:block;width:100%;padding:8px 20px; }
 .alumni-table tbody tr { padding:12px 0; }
 .alumni-table tbody th::before,.alumni-table tbody td::before { content:attr(data-label);display:block;font-size:11px;font-weight:500;color:#627285;margin-bottom:3px; }
 .alumni-table tbody td:first-child { width:auto;font-size:12px; }
 .alumni-table tbody td:first-child::before { display:inline;margin-right:6px; }
 .alumni-views button { font-size:12px;padding:12px 14px; }
}
@media(min-width:601px) { .alumni-table th:first-child,.alumni-table td:first-child { width:80px;white-space:nowrap; } }
