/* Expanded research introductions. Inherit the site's Inter typography and palette. */
/* Adaptive layouts follow content, never the module's ordinal position. */
.topic-layout-items {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;list-style:none;padding:0;margin:32px 0;}
.topic-item,.topic-panel {min-width:0;border:1px solid var(--ref-border);border-radius:16px;background:var(--color-surface);transition:border-color .18s,background-color .18s,box-shadow .18s;overflow-wrap:anywhere;}
.topic-item {padding:24px;display:flex;align-items:flex-start;gap:16px;}
.topic-item-copy {min-width:0;flex:1;}
.home-topic .topic-item h3 {font-size:17px;line-height:1.45;margin:0;font-weight:650;}
.home-topic .topic-item p,.home-topic .topic-panel-body p {color:var(--color-muted-ink);font-size:15px;line-height:1.75;margin:12px 0 0;}
.home-topic .topic-item a,.topic-item-link a,.topic-table a {color:inherit;text-decoration:none;text-underline-offset:4px;}
.home-topic .topic-item a:is(:hover,:focus-visible),.topic-item-link a:is(:hover,:focus-visible),.topic-table a:is(:hover,:focus-visible) {color:var(--color-accent);text-decoration:underline;}
.topic-marker {flex:0 0 38px;width:38px;height:38px;display:grid;place-items:center;border-radius:10px;color:var(--color-muted-ink);background:color-mix(in srgb,var(--color-ink) 6%,var(--color-surface));font-weight:700;transition:background-color .18s,color .18s;}
.topic-marker svg {width:20px;height:20px;}
.topic-points {list-style:none;padding:0;margin:16px 0;}
.topic-points li {position:relative;padding:0 0 0 22px;margin:8px 0;color:var(--color-muted-ink);font-size:14px;line-height:1.65;}
.topic-points li::before {content:'•';position:absolute;left:3px;color:var(--color-accent);}
.home-topic .topic-note {padding:12px 14px;border-left:2px solid var(--color-accent);border-radius:0 8px 8px 0;background:color-mix(in srgb,var(--color-accent) 6%,var(--color-surface));font-size:13px;}
.home-topic[data-topic-columns="1"] .topic-layout-items {grid-template-columns:1fr;}
.home-topic[data-topic-columns="3"] .topic-layout-items {grid-template-columns:repeat(3,minmax(0,1fr));}
.home-topic[data-topic-layout="steps"] .topic-layout-items {grid-template-columns:1fr;gap:14px;}
.home-topic[data-topic-layout="steps"] .topic-item {position:relative;padding:22px 24px;}
.home-topic[data-topic-layout="steps"] .topic-marker {border-radius:50%;}
.home-topic[data-topic-layout="feature-list"] .topic-layout-items {grid-template-columns:1fr;gap:0;}
.home-topic[data-topic-layout="feature-list"] .topic-item {border-width:0 0 1px;border-radius:0;background:transparent;padding:24px 16px;}
.home-topic[data-topic-layout="feature-list"] .topic-item-copy {display:grid;grid-template-columns:minmax(150px,.7fr) minmax(0,2fr);column-gap:28px;}
.home-topic[data-topic-layout="feature-list"] .topic-item-copy > p {margin-top:0;grid-column:2;}
.home-topic[data-topic-layout="feature-list"] .topic-points,.home-topic[data-topic-layout="feature-list"] .topic-note,.home-topic[data-topic-layout="feature-list"] .topic-tags {grid-column:2;}
.home-topic[data-topic-layout="tiers"] .topic-layout-items {grid-template-columns:1fr;}
.home-topic[data-topic-layout="tiers"] .topic-item-copy {display:grid;grid-template-columns:minmax(100px,.4fr) minmax(0,2fr);gap:18px;}
.home-topic[data-topic-layout="tiers"] .home-topic-label {color:var(--color-accent);}
.home-topic[data-topic-layout="tiers"] .topic-item-copy > p {grid-column:2;}
.home-topic[data-topic-layout="tiers"] .topic-points,.home-topic[data-topic-layout="tiers"] .topic-note,.home-topic[data-topic-layout="tiers"] .topic-tags {grid-column:2;}
.topic-panels {display:grid;gap:12px;margin:32px 0;}
.topic-panel summary {display:flex;align-items:flex-start;gap:16px;list-style:none;padding:24px;cursor:pointer;font-size:17px;font-weight:650;border-radius:inherit;}
.topic-panel summary::-webkit-details-marker {display:none;}
.topic-summary-copy {flex:1;min-width:0;}
.topic-summary-heading {display:flex;align-items:center;gap:10px;flex-wrap:wrap;line-height:1.5;}
.topic-summary-heading > span:first-child {font-weight:650;}
.home-topic .topic-summary-text {display:block;margin-top:8px;max-width:65ch;font-size:14px;font-weight:400;line-height:1.7;color:var(--color-muted-ink);}
.topic-chevron {flex:0 0 20px;width:20px;height:20px;margin-top:3px;color:var(--color-muted-ink);transition:transform .18s,color .18s;}
.topic-panel[open] .topic-chevron {transform:rotate(180deg);color:var(--color-accent);}
.topic-panel[open] {border-color:color-mix(in srgb,var(--color-accent) 55%,var(--ref-border));}
.topic-panel-body {padding:6px 24px 24px;border-top:1px solid var(--ref-border);}
.home-topic[data-topic-layout="cards"] .topic-item[data-topic-wide="true"] {grid-column:1/-1;}
.home-topic[data-topic-layout="cards"] .topic-item[data-topic-wide="true"] .topic-points {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;}
.topic-tags {display:flex;flex-wrap:wrap;gap:6px;margin-top:12px;}
.home-topic[data-topic-layout] .home-topic-badge,.home-topic .topic-tag {display:inline-flex;align-items:center;max-width:100%;font-size:11px;font-weight:600;line-height:1.5;padding:4px 9px;border-radius:6px;border:1px solid var(--ref-border);color:var(--color-muted-ink);background:color-mix(in srgb,var(--color-ink) 4%,var(--color-surface));white-space:normal;}
.home-topic[data-topic-layout] [data-tone="info"] {color:var(--color-accent);border-color:color-mix(in srgb,var(--color-accent) 28%,var(--ref-border));background:color-mix(in srgb,var(--color-accent) 8%,var(--color-surface));}
.home-topic[data-topic-layout] [data-tone="success"] {color:var(--topic-positive);border-color:color-mix(in srgb,var(--topic-positive) 25%,var(--ref-border));background:color-mix(in srgb,var(--topic-positive) 7%,var(--color-surface));}
.home-topic[data-topic-layout] [data-tone="warning"] {color:var(--topic-caution);border-color:color-mix(in srgb,var(--topic-caution) 28%,var(--ref-border));background:color-mix(in srgb,var(--topic-caution) 7%,var(--color-surface));}
.home-topic {--topic-positive:#167047;--topic-caution:#8a560b;}
[data-theme="dark"] .home-topic {--topic-positive:#75d7ad;--topic-caution:#e4ba72;}
.topic-item a:focus-visible,.topic-panel summary:focus-visible,.topic-table a:focus-visible {outline:2px solid var(--color-accent);outline-offset:4px;border-radius:4px;}
.topic-table-wrap {margin:32px 0;border:1px solid var(--ref-border);border-radius:16px;overflow:hidden;}
.topic-table {width:100%;border-collapse:collapse;text-align:left;font-size:14px;line-height:1.7;table-layout:fixed;}
.topic-table th,.topic-table td {padding:20px;vertical-align:top;border-bottom:1px solid var(--ref-border);overflow-wrap:anywhere;}
.topic-table thead {background:color-mix(in srgb,var(--color-accent) 7%,var(--color-surface));}
.topic-table tbody th {font-weight:650;width:25%;}
.topic-table thead th:first-child {width:25%;}
.topic-table td {color:var(--color-muted-ink);}
.topic-table td > p:first-child {margin-top:0;}
.topic-table td > p:last-child {margin-bottom:0;}
.topic-table tbody tr:last-child > * {border-bottom:0;}
.topic-table .home-topic-badge {display:table;margin-top:8px;}
.topic-table tr {transition:background-color .18s;}
.topic-table caption.sr-only {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
@media (hover:hover) {
  .home-topic[data-topic-layout] .topic-item:hover,.topic-panel:hover,.home-topic-items > li:hover {border-color:color-mix(in srgb,var(--color-accent) 65%,var(--ref-border));background:color-mix(in srgb,var(--color-accent) 4%,var(--color-surface));box-shadow:0 4px 16px color-mix(in srgb,var(--color-accent) 5%,transparent);}
  .topic-item:hover .topic-marker,.topic-panel:hover .topic-marker {background:var(--color-accent);color:var(--color-canvas);}
  .topic-panel:hover .topic-chevron {color:var(--color-accent);}
  .topic-table tbody tr:hover {background:color-mix(in srgb,var(--color-accent) 5%,var(--color-surface));}
}
.topic-item:focus-within,.topic-panel:focus-within {border-color:var(--color-accent);}
.topic-item:focus-within .topic-marker,.topic-panel:focus-within .topic-marker {background:var(--color-accent);color:var(--color-canvas);}
@media(max-width:1000px) {.home-topic[data-topic-columns="3"] .topic-layout-items {grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:767px) {
  .home-topic .topic-layout-items,.home-topic[data-topic-columns] .topic-layout-items {grid-template-columns:1fr;}
  .topic-item {padding:20px;}
  .home-topic[data-topic-layout="feature-list"] .topic-item-copy,.home-topic[data-topic-layout="tiers"] .topic-item-copy {display:block;}
  .home-topic[data-topic-layout="feature-list"] .topic-item-copy > p {margin-top:10px;}
  .topic-panel summary {padding:18px;gap:12px;}
  .topic-panel summary .topic-marker {flex-basis:32px;width:32px;height:32px;}
  .home-topic[data-topic-layout="cards"] .topic-item[data-topic-wide="true"] .topic-points {display:block;}
  .topic-panel-body {padding:0 18px 18px;}
  .topic-table,.topic-table tbody,.topic-table tr,.topic-table th,.topic-table td {display:block;width:auto;}
  .topic-table thead {display:none;}
  .topic-table tbody tr {padding:18px;border-bottom:1px solid var(--ref-border);}
  .topic-table tbody tr:last-child {border-bottom:0;}
  .topic-table tbody th,.topic-table tbody td {width:auto;padding:0;border:0;}
  .topic-table td {margin-top:12px;}
  .topic-table td[data-column]:not([data-column=""])::before {content:attr(data-column);display:block;color:var(--color-ink);font-weight:650;margin-bottom:6px;}
}
@media(prefers-reduced-motion:reduce) {.topic-item,.topic-panel,.topic-marker,.topic-chevron,.topic-table tr {transition:none;}}
.home-topics { display: grid; gap: 48px; margin-block: 64px; min-width: 0; }
.home-topic { min-width: 0; padding: 28px; border: 1px solid var(--ref-border); border-radius: 24px; background: color-mix(in srgb,var(--color-surface) 70%,transparent); scroll-margin-top: 100px; }
.home-topics, .home-topic h2 { scroll-margin-top: 100px; }
.home-topic h2 { max-width: 100%; overflow-wrap: anywhere; }
.home-topic > p { line-height: 1.75; }
.home-topic-items { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; padding: 0; margin: 24px 0; list-style: none; }
.home-topic-items li { min-width: 0; padding: 20px; border: 1px solid var(--ref-border); border-radius: 16px; background: var(--color-canvas); overflow-wrap: anywhere; }
.home-topic-label { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 12px; }
.home-topic-label strong { font-size: 16px; line-height: 1.5; font-weight: 700; }
.home-topic-items li p { margin: 10px 0 0; color: var(--color-muted-ink); font-size: 15px; line-height: 1.75; }
.home-topic-badge { display: inline-block; padding: 3px 9px; border-radius: 8px; background: color-mix(in srgb,var(--color-accent) 12%,transparent); color: var(--color-accent); font-size: 12px; font-weight: 650; }
.home-topic--step-by-step .home-topic-items { grid-template-columns: 1fr; }
.home-topic--step-by-step .home-topic-items li { border-left: 3px solid var(--color-accent); }
.home-topic--step-by-step .home-topic-label strong { color: var(--color-accent); }
.home-topic--tier-grid .home-topic-items { grid-template-columns: 1fr; }
.home-topic--tier-grid .home-topic-items li { display: grid; grid-template-columns: minmax(60px,.3fr) minmax(0,1fr); gap: 20px; align-items: start; }
.home-topic--tier-grid .home-topic-items li p { margin-top: 0; }
.home-topic--tier-grid .home-topic-label { color: var(--color-accent); }
.home-topic--code-cards code { color: var(--color-ink); font-family: var(--font-mono,monospace); font-size: 16px; white-space: normal; }
@media (max-width: 767px) {
  .home-topics { gap: 32px; margin-block: 40px; }
  .home-topic { padding: 20px; }
  .home-topic-items { grid-template-columns: 1fr; gap: 12px; }
  .home-topic-items li { padding: 16px; }
  .home-topic--tier-grid .home-topic-items li { grid-template-columns: 1fr; gap: 8px; }
}
