.alumni-insights {
    --ai-text: #17263c;
    --ai-secondary: #465970;
    --ai-border: #d4dde7;
    --ai-panel: #f5f8fb;
    --ai-chart: #087f79;
    color: var(--ai-text);
    max-width: 90rem;
    margin-inline: auto;
    padding: clamp(.75rem, 2vw, 1.75rem);
    font-size: 1rem;
}
.alumni-insights [hidden] { display: none !important; }
.alumni-insights h1, .alumni-insights h2, .alumni-insights h3 { color: inherit; margin: 0; }
.alumni-insights h1 { font-size: clamp(1.75rem, 3vw, 2.375rem); }
.alumni-insights h2 { font-size: clamp(1.375rem, 2.25vw, 1.75rem); }
.alumni-insights h3 { font-size: 1.125rem; line-height: 1.35; overflow-wrap: anywhere; }
.alumni-insights-heading, .alumni-insights-section-heading {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: .75rem;
}
.alumni-insights-heading { align-items: baseline; flex-wrap: wrap; margin-bottom: 1rem; }
.alumni-insights section {
    background: var(--ai-panel);
    border: 1px solid var(--ai-border);
    border-radius: .625rem;
    padding: clamp(.75rem, 1.5vw, 1.25rem);
}
.alumni-insights-status { display: flex; gap: .75rem; align-items: center; margin-block: .5rem; }
.alumni-insights section { margin-bottom: 1rem; }
.alumni-insights-section-heading p, .alumni-insights-meta { margin: .375rem 0 0; color: var(--ai-secondary); }
.alumni-insights-scroll-controls { display: flex; gap: .375rem; }
.alumni-insights-scroll-controls button { min-width: 2.75rem; min-height: 2.75rem; font-size: 1.375rem; padding: .25rem .5rem; }
.alumni-insights-track {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: clamp(17rem, 43%, 38rem);
    align-items: stretch;
    gap: .75rem;
    margin-top: .875rem;
    overflow-x: auto;
    padding-bottom: .625rem;
    scroll-snap-type: x proximity;
}
.alumni-insights-card {
    min-width: 0;
    padding: 1rem;
    background: white;
    border: 1px solid var(--ai-border);
    border-radius: .5rem;
    scroll-snap-align: start;
}
.alumni-insights [data-ai-charts="specialty"] { --ai-chart: #4c49b8; }
.alumni-insights-bars { display: grid; gap: .625rem; }
.alumni-insights-question-details { margin-top: .875rem; }
.alumni-insights-doughnut-layout {
    display: grid;
    grid-template-columns: minmax(0, 8rem) minmax(0, 1fr);
    align-items: start;
    gap: .875rem;
}
.alumni-insights-doughnut {
    width: 100%;
    max-width: 8rem;
    justify-self: center;
    transform: rotate(-90deg);
}
.alumni-insights-doughnut circle { fill: none; stroke-width: 19; }
.alumni-insights-doughnut-action { cursor: pointer; }
.alumni-insights-doughnut-action:hover { stroke-width: 21; }
.alumni-insights-doughnut-legend { display: grid; gap: .25rem; }
.alumni-insights-answer-swatch {
    display: inline-block;
    width: .625rem;
    height: .625rem;
    margin-inline-end: .375rem;
    border-radius: 50%;
}
.alumni-insights-answer { display: grid; gap: .25rem; }
.alumni-insights-answer-label { display: flex; justify-content: space-between; gap: .625rem; }
.alumni-insights-answer span { overflow-wrap: anywhere; }
.alumni-insights-meter { width: 100%; height: .625rem; background: #e8edf3; border-radius: .25rem; overflow: hidden; }
.alumni-insights-meter span { display: block; height: 100%; background: var(--ai-chart); }
.alumni-insights-comparison { background: #efeffa; border-radius: .375rem; padding: .625rem; margin-top: 1rem; }
.alumni-insights-comparison ul { padding-left: 1.25rem; margin: .375rem 0 0; }
.alumni-insights-comparison li + li { margin-top: .375rem; }
.alumni-insights-table { width: 100%; margin-top: .875rem; border-collapse: collapse; table-layout: fixed; }
.alumni-insights-table th, .alumni-insights-table td {
    padding: .625rem;
    border: 1px solid var(--ai-border);
    text-align: left;
    overflow-wrap: anywhere;
}
.alumni-insights-table th { background: #e7edf5; }
.alumni-insights-table td { background: white; }
.alumni-insights-table td:nth-child(2) { font-weight: 600; }
.alumni-insights-attribute-difference {
    display: inline-flex;
    align-items: baseline;
    gap: .25rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}
.alumni-insights-empty { grid-column: 1 / -1; margin: .625rem 0; }
@media (max-width: 650px) {
    .alumni-insights-track { grid-auto-columns: 88%; }
    .alumni-insights-card { padding: .75rem; }
    .alumni-insights-doughnut-layout { grid-template-columns: 1fr; }
    .alumni-insights [data-ai-attributes] :is(th, td) { padding: .375rem; }
}
.alumni-insights-answer-trigger {
    display: grid;
    gap: .25rem;
    width: 100%;
    padding: .375rem;
    border: 1px solid transparent;
    border-radius: .375rem;
    background: transparent;
    color: inherit;
    font: inherit;
    text-align: left;
}
.alumni-insights-answer-trigger .alumni-insights-answer-label span { text-decoration: underline; }
.alumni-insights-answer-trigger:hover, .alumni-insights-answer-trigger:focus-visible {
    background: #efeffa;
    border-color: var(--ai-chart);
}
.alumni-insights-drawer { max-width: 100%; }
.alumni-insights-drawer h3 { margin-bottom: .375rem; }
.alumni-insights-drawer .alumni-insights-table th:first-child { width: 70%; }

.alumni-insights-card-selected { box-shadow: inset 0 0 0 2px var(--ai-chart); }

.alumni-insights [data-ai-map] summary { cursor: pointer; }
.alumni-insights [data-ai-map] summary h2 { display: inline; }
.alumni-insights-map-canvas { width: 100%; height: clamp(16rem, 48vh, 30rem); border: 1px solid var(--ai-border); }
.alumni-insights-map-programs {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: min(16rem, 80%);
    gap: .625rem;
    overflow-x: auto;
    margin-top: .75rem;
    padding-bottom: .5rem;
    scroll-snap-type: x proximity;
}
.alumni-insights-map-card {
    background: white;
    border: 1px solid var(--ai-border);
    border-radius: .375rem;
    padding: .625rem;
    scroll-snap-align: start;
}
.alumni-insights-map-card[aria-current] { border-color: var(--ai-chart); }
.alumni-insights-map-card .btn { padding: 0; text-align: left; white-space: normal; }

.alumni-insights-map-popup {
    max-height: 10rem;
    overflow-y: auto;
    margin: 0;
    padding: 0 .375rem 0 0;
    list-style: none;
    font-size: 1rem;
}
.alumni-insights-map-popup li + li { margin-top: .625rem; }
.alumni-insights-map-popup a { text-decoration: underline; }
.alumni-insights-map-insights-link {
    display: block;
    width: fit-content;
    margin-top: .25rem;
    font-size: .875rem;
    text-decoration: underline;
}
