/* Editorial v12. HC+ palette and fonts; original interview-card CSS is imported. */
.top-sr-only { position:absolute; width:1px; height:1px; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.top-editorial { --top-ink: var(--hcp-ink); --top-paper: var(--hcp-paper); color: var(--hcp-text); }
.top-editorial a { color:inherit; text-decoration:none; }
.top-editorial a:focus-visible,.top-people-strip:focus-visible { outline:2px solid var(--top-ink); outline-offset:4px; }
.top-eyebrow { display:block; font-size: var(--hcp-fs-label); font-weight: var(--hcp-fw-heading); letter-spacing:.12em; line-height: var(--hcp-lh-label); }
.top-editorial .section-general { margin:0; }
.top-editorial .top-hero { padding:24px 0 64px; }
.top-feature-grid { display:grid; grid-template-columns:minmax(0,2.15fr) minmax(0,1fr); gap:48px; align-items:start; }
.top-feature-image-link { display:block; }
.top-feature-image { width:100%; display:block; aspect-ratio:16/9; object-fit:contain; background:var(--top-paper); }
.top-feature-caption { display:grid; grid-template-columns:144px minmax(0,1fr); gap:24px; margin-top:24px; }
.top-feature-label { border-right:1px solid var(--top-paper); padding-right:16px; }
.top-feature-label .top-eyebrow { font-family: var(--hcp-font-latin); font-size: var(--hcp-fs-label); letter-spacing:1.32px; line-height: var(--hcp-lh-label); font-weight: var(--hcp-fw-heading); white-space:nowrap; }
.top-feature-label>span:last-child { display:block; width:max-content; font-family: var(--hcp-font-ui); font-size: var(--hcp-fs-label); line-height: var(--hcp-lh-label); font-weight: var(--hcp-fw-heading); color: var(--hcp-text); margin-top:6px; white-space:nowrap; }
.top-feature-title-link h3 { margin:8px 0 16px; font-size: var(--hcp-fs-h3); line-height: var(--hcp-lh-h3); font-weight: var(--hcp-fw-heading); letter-spacing:-.025em; }
.top-feature-title-link:hover,.top-text-link:hover { opacity:.6; }
.top-feature-deck { font-size: var(--hcp-fs-meta); line-height: var(--hcp-lh-meta); margin:0 0 16px; }
.top-feature-person { display:flex; gap:12px; align-items:center; font-size: var(--hcp-fs-meta); font-weight: var(--hcp-fw-heading); }
.top-feature-person img { width:32px; height:32px; border-radius:50%; object-fit:cover; }
.top-feature-person .small-text { display:block; font-size: var(--hcp-fs-label); font-weight: var(--hcp-fw-body); margin-top:2px; }
.top-picks { display:grid; gap:24px; }
.top-story--pick .top-story-title { font-size: var(--hcp-fs-lead); }
.top-story--pick+.top-story--pick { padding-top:0; border:0; }
.top-section-head { display:flex; justify-content:space-between; align-items:flex-end; gap:24px; margin-bottom:32px; }
.top-section-head h2 { margin:8px 0 0; font-size: var(--hcp-fs-h2); line-height: var(--hcp-lh-h2); font-weight: var(--hcp-fw-heading); letter-spacing:-.04em; }
.top-section-head p { margin:16px 0 0; font-size: var(--hcp-fs-small); }
.top-text-link { display:inline-flex; gap:24px; align-items:center; font-size: var(--hcp-fs-meta); font-weight: var(--hcp-fw-ui); white-space:nowrap; }
.top-text-link>span { font-size: var(--hcp-fs-h3); font-weight: var(--hcp-fw-body); line-height: var(--hcp-lh-h3); }
.top-editorial .top-voices { padding:48px 0 40px; background:var(--top-paper); }
/* Preserve original 2:3 layout / 48px gap, 4:3 image / contain and text hierarchy. */
.top-editorial .top-latest { padding:64px 0; }
.top-latest .top-section-head { padding-top:0; }
.top-editorial .top-topics { padding:16px 0 64px; }
.top-topics-lead { font-size: var(--hcp-fs-lead); font-weight: var(--hcp-fw-heading); letter-spacing:-.02em; margin:8px 0 32px; }
.top-topic { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,2fr); gap:48px; border-top:1px solid var(--top-ink); padding:40px 0; scroll-margin-top:24px; }
.top-topic-intro { display:flex; flex-direction:column; align-items:flex-start; }
.top-topic-intro h3 { font-size: var(--hcp-fs-h3); line-height: var(--hcp-lh-h3); letter-spacing:-.03em; margin:8px 0 16px; }
.top-topic-intro p { font-size: var(--hcp-fs-lead); line-height: var(--hcp-lh-lead); margin:0 0 24px; max-width:240px; }
.top-topic-intro .top-text-link { margin-top:auto; font-size: var(--hcp-fs-lead); }
.top-topic-stories { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.top-story--topic .top-story-title { font-size: var(--hcp-fs-lead); }
.top-editorial+.section-general.footer { margin-top:0; }
@media (min-width:768px) and (max-width:1050px) {
 .top-feature-grid { gap:24px; grid-template-columns:minmax(0,1.8fr) minmax(0,1fr); }
 .top-feature-caption { grid-template-columns:100px minmax(0,1fr); gap:16px; }
 .top-feature-label>span:last-child { width:auto; white-space:normal; }
 .top-feature-title-link h3 { font-size: var(--hcp-fs-h3); }
 .top-topic { gap:24px; }
}
@media (max-width:767px) {
 .top-editorial .top-hero { padding:16px 0 40px; }
 .top-feature-grid { grid-template-columns:minmax(0,1fr); gap:32px; }
 .top-feature-caption { grid-template-columns:minmax(0,1fr); gap:16px; margin-top:16px; }
 .top-feature-label { display:flex; align-items:center; justify-content:space-between; gap:6px; padding:0 0 12px; border:0; border-bottom:1px solid var(--top-paper); }

 .top-feature-label br { display:none; }
 .top-feature-label>span:last-child { margin:0; }
 .top-feature-title-link h3 { font-size: var(--hcp-fs-h3); line-height: var(--hcp-lh-h3); margin:8px 0 12px; }
 .top-feature-copy .top-story-meta { margin-top:0; }
 .top-feature-deck { font-size: var(--hcp-fs-meta); line-height: var(--hcp-lh-meta); }
 .top-feature-person { font-size: var(--hcp-fs-meta); }
 .top-picks { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; border-left:0; padding-left:0; }
 .top-story--pick .top-story-title { font-size: var(--hcp-fs-small); line-height: var(--hcp-lh-small); }
 .top-story--pick+.top-story--pick { border:0; padding:0; }
 .top-section-head { display:block; margin-bottom:24px; }
 .top-section-head h2 { font-size: var(--hcp-fs-h2); margin-top:8px; }
 .top-section-head p { font-size: var(--hcp-fs-meta); line-height: var(--hcp-lh-meta); margin-top:12px; }
 .top-eyebrow { font-size: var(--hcp-fs-label); }
 .top-editorial .top-voices { padding:32px 0; }
 .top-text-link { font-size: var(--hcp-fs-meta); gap:16px; }
 .top-editorial .top-latest { padding:40px 0; }
 .top-latest .top-section-head { padding-top:0; }
 .top-latest .top-section-head>.top-text-link { margin-top:12px; }
 .top-editorial .top-topics { padding:8px 0 40px; }
 .top-topics-lead { font-size: var(--hcp-fs-lead); line-height: var(--hcp-lh-lead); margin-bottom:24px; }
 .top-topic { grid-template-columns:minmax(0,1fr); gap:24px; padding:28px 0 32px; }
 .top-topic-intro { position:relative; padding-right:48px; }
 .top-topic-intro h3 { font-size: var(--hcp-fs-h3); margin-bottom:12px; }
 .top-topic-intro p { font-size: var(--hcp-fs-lead); max-width:none; margin-bottom:16px; }
 .top-topic-stories { grid-template-columns:minmax(0,1fr); gap:24px; }
 .top-story--topic { display:grid; grid-template-columns:120px minmax(0,1fr); gap:16px; align-items:start; }
 .top-story--topic .top-story-meta { margin-top:0; }
 .top-story--topic .top-story-title { font-size: var(--hcp-fs-small); line-height: var(--hcp-lh-small); }
 .top-story--topic .top-story-meta>span { display:none; }
}
@media (prefers-reduced-motion:reduce) {
}
/* v4 stacked people shelf: preserve interview-card internals from interviews.css. */
.top-people-layout { display:grid; grid-template-columns:minmax(0,1fr); gap:40px; align-items:start; }
.top-person-feature { min-width:0; padding:0; background: transparent; border-top: 1px solid var(--hcp-line); border-bottom: 1px solid var(--hcp-line); }
.top-people-shelf { min-width:0; padding-top:0; }
.top-people-heading { display:flex; justify-content:space-between; align-items:center; gap:24px; margin-bottom:24px; }
.top-people-labels { display:flex; flex-direction:column; gap:8px; }
.top-people-labels>span:last-child { font-size: var(--hcp-fs-label); font-weight: var(--hcp-fw-ui); }
.top-people-strip { display:grid; grid-auto-flow:column; grid-auto-columns:150px; gap:16px; overflow-x:auto; list-style:none; padding:4px 0 16px; margin:0; scrollbar-width:thin; scrollbar-color: var(--hcp-ink) var(--hcp-white); overscroll-behavior-x:contain; }
.top-person { min-width:0; }
.top-person-link { display:flex; flex-direction:column; align-items:center; gap:8px; text-align:center; }
.top-person-image { display:block; width:104px; height:104px; border-radius:50%; object-fit:cover; }
.top-person-name { width:100%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.top-person-role { width:100%; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.top-person-link:hover .top-person-image { opacity:.7; }
.top-people-footer { display:flex; justify-content:flex-end; margin-top:24px; }
@media (min-width:768px) and (max-width:1050px) {
 .top-people-layout { gap:32px; }
}
@media (max-width:767px) {
 .top-people-layout { grid-template-columns:minmax(0,1fr); gap:32px; }
 .top-person-feature { padding:0; }
 .top-people-heading { margin-bottom:16px; }
 .top-people-strip { grid-auto-columns:calc((100% - 32px) / 2.5); gap:16px; }
 .top-person-image { width:104px; height:104px; }
 .top-people-footer { justify-content:flex-start; }
 .top-editorial h2:not(.top-sr-only) { padding-right:80px; }
 .top-section-head h2 { font-size: var(--hcp-fs-h2); }
 .top-topic-intro { padding-right:0; }
}

/* Display-only suffix; keep the inherited name color, weight and baseline. */
.honorific { font-size: .78em; margin-left:0.1em; color:inherit; font-weight: var(--hcp-fw-body); vertical-align:baseline; }

/* v6: native scrolling stays available without JavaScript. */
.top-people-scroll { position:relative; }
.top-people-scroll::after { content:""; position:absolute; top:0; bottom:0; right:0; width:80px; background: linear-gradient(to left,var(--hcp-paper),transparent); pointer-events:none; }
.top-people-scroll.is-at-end::after { opacity:0; }
.top-people-controls { display:flex; gap:8px; flex-shrink:0; }
.top-people-controls[hidden] { display:none; }
.top-people-arrow { display:grid; place-items:center; width:44px; height:44px; padding:0; background: transparent; border: 1px solid var(--hcp-ink); color: var(--hcp-ink); border-radius:50%; font-size: var(--hcp-fs-h3); cursor:pointer; }
.top-people-arrow:disabled { opacity:.25; cursor:default; }
.top-people-arrow:hover:not(:disabled) { background: var(--hcp-ink); color: var(--hcp-white); }
@media (max-width:767px) { .top-people-controls { display:none; } }
/* §8 follow-up 2: full archive counts + two date/title rows per topic. */
.top-topic-content { min-width:0; }
.top-topic-heading { display:flex; align-items:baseline; flex-wrap:wrap; gap:4px 12px; margin:8px 0 16px; }
.top-topic-heading h3 { margin:0; }
.top-topic-text-list { list-style:none; padding:0; margin:24px 0 0; border-bottom: 1px solid var(--hcp-line); }
.top-topic-text-list>li { border-top: 1px solid var(--hcp-line); }
.top-topic-text-link { display:grid; grid-template-columns:96px minmax(0,1fr); align-items:baseline; gap:16px; padding:12px 0; }
.top-topic-text-title { min-width:0; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; margin:0; font-size: var(--hcp-fs-small); line-height: var(--hcp-lh-small); font-weight: var(--hcp-fw-ui); }
.top-topic-text-link time { white-space:nowrap; font-family: var(--hcp-font-latin); font-size: var(--hcp-fs-meta); }
.top-topic-text-link:hover { opacity:.65; }
@media (max-width:767px) {
 .top-topic-heading { padding-right:80px; }
 .top-editorial .top-topic-heading h3 { padding-right:0; }
 .top-topic-text-link { grid-template-columns:76px minmax(0,1fr); gap:12px; }
 .top-topic-text-title { font-size: var(--hcp-fs-small); }
 .top-topic-text-link time { font-size: var(--hcp-fs-meta); }
}

/* v7: decoration reduced; existing CTA visual rules remain untouched. */
.top-header-with-tagline { position:relative; }
.top-header-tagline { position:absolute; left:calc(9% + 8px); top:64px; max-width:calc(82% - 16px); margin:0; font-size: var(--hcp-fs-label); line-height: var(--hcp-lh-body); font-weight: var(--hcp-fw-ui); letter-spacing:0; }
.top-category-link { font-size: var(--hcp-fs-label); margin-top:auto; }
.top-editorial .top-category-link { text-decoration:underline; text-underline-offset:3px; }
.top-all-posts-cta { display:flex; justify-content:center; margin-top:32px; }
@media (max-width:767px) { .top-header-tagline { display:none; } }

/* v8: immediate topic entry, separate from the header's utility navigation. */
.top-category-nav { padding:8px 0 0; }
.top-category-nav-list { display:flex; justify-content:center; align-items:center; gap:40px; list-style:none; margin:0; padding:0 0 4px; overflow-x:auto; overscroll-behavior-x:contain; scrollbar-width:thin; }
.top-category-nav-list>li { flex:0 0 auto; }
.top-category-nav-link { display:flex; align-items:center; min-height:44px; color: var(--hcp-ink); font-size: var(--hcp-fs-small); font-weight: var(--hcp-fw-ui); line-height: var(--hcp-lh-small); text-decoration:none; white-space:nowrap; }
.top-category-nav-link:hover { color: var(--hcp-accent); }
.top-category-nav-link:focus-visible { outline: 2px solid var(--hcp-ink); outline-offset:-2px; }
@media (max-width:767px) {
 .top-category-nav { padding-top:0; }
 .top-category-nav-list { justify-content:flex-start; gap:24px; }
}

/* v9: shared six-link header; mobile retains the horizontal topic row. */
.top-header-with-tagline { min-height:90px; display:block; }
.top-header-primary { display:none; }
.top-category-nav-list { justify-content:flex-start; }
.top-nav-interviews { font-weight: var(--hcp-fw-heading); }
.top-category-nav-link[aria-current="page"],.top-primary-nav-link[aria-current="page"] { text-decoration:underline; text-decoration-thickness:1px; text-decoration-color: var(--hcp-ink); text-underline-offset:4px; }
.top-header-with-tagline .nav-button { padding:0; cursor:pointer; }
.top-header-with-tagline.is-menu-open .custom-nav-menu { display:block; z-index:20; overflow-y:auto; }
.top-header-with-tagline.is-menu-open .custom-nav-button { z-index:21; }
.top-header-with-tagline.is-menu-open .menu-open { display:none; }
.top-header-with-tagline.is-menu-open .menu-closed { display:block; }
@media (max-width:1099px) { .top-header-tagline { display:none; } }
@media (max-width:767px) { .top-header-with-tagline { min-height:72px; } }
@media (min-width:1100px) {
 .top-header-with-tagline { display:grid; grid-template-columns:clamp(220px,24vw,340px) minmax(0,1fr) 50px; align-items:center; gap:24px; max-width:1272px; margin:0 auto; padding:15px 16px 25px; }
 .top-header-with-tagline .logo-link-block { position:static; width:100%; margin:0; padding:8px; }
 .top-header-with-tagline .logo-link-block .image { width:100%; height:auto; }
 .top-header-tagline { display:block; left:24px; top:64px; max-width:calc(100% - 48px); }
 .top-header-primary { display:block; min-width:0; }
 .top-primary-nav-list { display:flex; align-items:center; justify-content:flex-start; gap:16px; list-style:none; margin:0; padding:0; }
 .top-primary-nav-list>li { flex:0 0 auto; padding:0; }
 .top-primary-nav-link { display:block; margin:0; white-space:nowrap; }
 .top-primary-nav-link:focus-visible { outline: 2px solid var(--hcp-ink); outline-offset:4px; }
 .top-header-with-tagline .custom-nav-button { right:max(16px,calc((100vw - 1240px)/2)); }
 .top-category-nav { display:none; }
}
@media (max-width:767px) {
 .top-header-with-tagline .logo-link-block { top:10px; }
}

/* v10: two desktop navigation groups. The mobile row is unchanged. */
@media (min-width:1100px) {
 .top-header-primary { display:flex; align-items:center; justify-content:space-between; gap:24px; }
 .top-primary-nav-list { gap:32px; flex:0 0 auto; }
 .top-primary-interview { display:flex; align-items:center; gap:24px; flex:0 0 auto; }
 .top-primary-interview::before { content:""; display:block; flex:0 0 1px; width:1px; height:16px; background: var(--hcp-line); }
 .top-primary-nav-link { font-size: var(--hcp-fs-small); font-weight: var(--hcp-fw-body); letter-spacing:.02em; color: var(--hcp-ink); }
 .top-primary-nav-link:hover,.top-primary-nav-link[aria-current="page"] { color: var(--hcp-ink); text-decoration:underline; text-decoration-thickness:1px; text-decoration-color: currentcolor; text-underline-offset:4px; }
}
@media (min-width:1100px) and (max-width:1199px) {
 .top-header-with-tagline { grid-template-columns:clamp(220px,calc(24vw - 4px),340px) minmax(0,1fr) 50px; }
 .top-primary-nav-list { gap:24px; }
}

/* v12 frozen: shared container coordinates at every viewport. */
.top-header-with-tagline { display:block; max-width:none; min-height:0; margin:0; padding:0; }
.top-header-with-tagline .top-header-frame,.top-category-nav>.container-1272px,.top-editorial .container-1272px { box-sizing:border-box; width:100%; max-width:1272px; margin-left:auto; margin-right:auto; padding-left:16px; padding-right:16px; }
.top-header-frame { position:relative; display:grid; grid-template-columns:minmax(0,1fr) 50px; align-items:center; gap:24px; min-height:90px; padding-top:15px; padding-bottom:25px; }
.top-header-with-tagline .logo-link-block { position:static; left:auto; top:auto; margin:0; padding:0; width:100%; max-width:340px; }
.top-header-with-tagline .logo-link-block .image { display:block; width:100%; height:auto; }
.top-header-with-tagline .top-header-tagline { left:16px; top:64px; }
.top-header-with-tagline .custom-nav-wrapper { width:50px; height:50px; }
.top-header-with-tagline .custom-nav-button { right:max(16px,calc((100vw - 1240px)/2)); }
.top-topic-intro h3 { font-weight: var(--hcp-fw-heading); }
@media (min-width:1100px) {
 .top-header-frame { grid-template-columns:clamp(220px,24vw,340px) minmax(0,1fr) 50px; }
}
@media (min-width:1100px) and (max-width:1199px) {
 .top-header-frame { grid-template-columns:clamp(220px,calc(24vw - 4px),340px) minmax(0,1fr) 50px; }
}
@media (max-width:767px) {
 .top-header-frame { min-height:72px; padding-bottom:7px; }
 .top-header-with-tagline .logo-link-block { max-width:220px; }
 .top-topic-heading h3 { padding-right:80px; }
}
.top-header-frame::before,.top-header-frame::after { display:none; }

/* 2.4.1: temporary top-only button until the 2.5.0 color system. */
.top-editorial .top-all-posts-button { display:inline-block; background: transparent; border: 1px solid var(--hcp-ink); color: var(--hcp-ink); border-radius:0; padding:12px 32px; text-decoration:none; }
.top-editorial .top-all-posts-button:hover { background: var(--hcp-ink); color: var(--hcp-white); }
.top-person-name { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; white-space:normal; overflow:hidden; text-overflow:ellipsis; }

/* 2.5.3: v15 interview cards; ordinary topics/latest retain their existing rules. */
.top-more-voices { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.top-more-voices > :nth-child(n+4) { display:none; }
.top-more-voices .top-story-title { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; min-height:5.1em; }
@media (max-width:767px) {
 .top-more-voices { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 16px; }
 .top-more-voices > :nth-child(4) { display:flex; }
 .top-more-voices > :only-child { grid-column:1 / -1; }
 .top-more-voices .top-story--topic { display:flex; flex-direction:column; gap:0; }
 .top-more-voices .top-story-meta { margin:8px 0; }
 .top-more-voices > :last-child:nth-child(3) { display:none; }
}
