/* Source: story-cards.css */
/* Shared by TOP news, archive cards and chrome story previews. */
.top-story { display:flex; flex-direction:column; min-width:0; }
.top-story-visual { overflow:hidden; background:var(--top-paper); }
.top-story-image { display:block; width:100%; aspect-ratio:16/9; object-fit:contain; transition:transform .25s ease; }
.top-story:hover .top-story-image { transform:scale(1.025); }
.top-story:hover .top-story-title { opacity:.65; }
.top-story-meta { display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 12px; font-size: var(--hcp-fs-meta); margin:12px 0 8px; }
.top-story-meta>span { font-weight: var(--hcp-fw-heading); }
.top-story-meta .small-text { font-size: var(--hcp-fs-meta); font-family: var(--hcp-font-latin); letter-spacing:.02em; }
.top-story-title { font-size: var(--hcp-fs-lead); line-height: var(--hcp-lh-lead); font-weight: var(--hcp-fw-heading); margin:0; letter-spacing:-.02em; transition:opacity .2s; }
.top-news-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:40px 24px; }
.top-news-grid .top-story-title { display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden; }
@media (min-width:768px) and (max-width:1050px) {
 .top-news-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:767px) {
 .top-story-meta { gap:4px 8px; font-size: var(--hcp-fs-meta); margin-top:8px; }
 .top-story-meta .small-text { font-size: var(--hcp-fs-meta); }
 .top-news-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 16px; }
 .top-story-title { font-size: var(--hcp-fs-small); line-height: var(--hcp-lh-small); }
}
@media (prefers-reduced-motion:reduce) {
 .top-story-image,.top-story-title { transition:none; }
}
.top-story-visual { background:var(--hcp-paper); }
.story-card-placeholder { aspect-ratio:16/9; background:var(--hcp-paper); }
.story-archive-grid .top-story { color:var(--hcp-text); text-decoration:none; }
.story-archive-grid .top-story:focus-visible { outline:2px solid var(--hcp-ink); outline-offset:4px; }


/* Source: chrome-base.css */
/* 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; }

.honorific { font-size: .78em; margin-left:.1em; color:inherit; font-weight: var(--hcp-fw-body); vertical-align:baseline; }
/* Shared container contract also applies to legacy page bodies; HTML stays intact. */
.container-1272px { box-sizing:border-box; width:100%; max-width:1272px; margin-left:auto; margin-right:auto; padding-left:16px; padding-right:16px; }


/* Source: interviews.css */
/* Page-only layout extensions; typography/colors come from the existing HC+ stylesheet. */
.interview-cover-heading { margin-bottom: 32px; }
.interview-cover-heading-no-image { margin-bottom: 0; }
.interview-cover-heading p { margin-bottom: 0; }
.interview-cover { display: block; width: 100%; height: 400px; object-fit: cover; }
.interview-list-item { display: grid; grid-template-columns: 2fr 3fr; gap: 48px; align-items: center; padding: 40px 0; }
.interview-thumbnail { display: block; width: 100%; height: auto; background: transparent; }
.interview-copy { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; min-width: 0; }
.interview-intro { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; margin: 0; }
.interview-profile-row { display: flex; align-items: center; gap: 16px; }
.interview-profile-image { width: 48px; height: 48px; flex: 0 0 48px; border-radius: 50%; object-fit: cover; }
@media screen and (max-width: 767px) {
 .interview-cover { height: 220px; }
 .interview-list-item { grid-template-columns: 1fr; gap: 24px; padding: 32px 0; }
 .interview-cover-heading br { display: none; }
}

/* Switch only this wrapper modifier to make the cover full bleed (B). */
.interview-cover-full { max-width: none; width: 100%; padding-left: 0; padding-right: 0; }
picture:has(> .interview-cover) { display: block; }

/* Quiet separators keep the article hierarchy clear without heavy rules. */
.interview-list-item + .divider-under-line { height: 1px; background-color: var(--hcp-line); }


/* Source: top.css */
/* 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; }
}

/* TOP 編集部ピックアップ：左ラベルを右カラムの基準線に揃える */
@media (min-width: 768px) {
  /* .top-story-meta の margin-top(12px) と同じ値 */
  .top-feature-label { padding-top: 12px; }
  /* メタ行と同じ行の高さにして、文字の中心を揃える */
  .top-feature-label .top-eyebrow {
    line-height: calc(var(--hcp-fs-meta) * var(--hcp-lh-meta));
  }
  /* 「第一人者インタビュー」をタイトル1行目（h3 line-height 36px）の中心に合わせる */
  .top-feature-label > span:last-child { margin-top: 14px; }
}

@media (min-width: 1051px) {
  /* 罫線の左右を24pxで対称に（ラベル最大幅140px + 24px） */
  .top-feature-caption { grid-template-columns: 164px minmax(0, 1fr); }
  .top-feature-label { padding-right: 24px; }
}
@media (min-width: 768px) and (max-width: 1050px) {
  /* EDITOR'S PICK（約94px）+ 16px。罫線の左右を16pxで対称に */
  .top-feature-caption { grid-template-columns: 112px minmax(0, 1fr); }
}
/* 改行は <wbr> の位置だけで行う */
.top-feature-label > span:last-child { word-break: keep-all; }


/* Source: chrome.css */
/* HC+ common components. Frozen v12 header styles are loaded unchanged first. */
.chrome-menu { opacity:0; }
.chrome-menu-inner { box-sizing:border-box; width:100%; max-width:1272px; margin:0 auto; padding:96px 16px 64px; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:96px; min-height:100dvh; }
.chrome-menu-inner::before,.chrome-menu-inner::after { display:none; }
.chrome-menu-groups { display:grid; gap:32px; }
.chrome-menu-label { color: var(--hcp-white); font-family: var(--hcp-font-latin); font-size: var(--hcp-fs-label); font-weight: var(--hcp-fw-heading); letter-spacing:1.32px; line-height: var(--hcp-lh-label); margin:0 0 16px; }
.chrome-menu-group .menu-open-link-text { margin-bottom:24px; }
.chrome-menu-group .menu-open-link-text:last-child { margin-bottom:0; }
.chrome-menu-feature { align-self:center; }
.chrome-interview-card { display:block; color: var(--hcp-white); text-decoration:none; }
.chrome-interview-card:hover .chrome-interview-title { text-decoration:underline; }
.chrome-interview-card:focus-visible { outline: 2px solid var(--hcp-white); outline-offset:8px; }
.chrome-interview-image { display:block; width:100%; aspect-ratio:16/9; object-fit:contain; }
.chrome-interview-title { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; margin:24px 0 16px; font-size: var(--hcp-fs-lead); font-weight: var(--hcp-fw-heading); line-height: var(--hcp-lh-lead); }
.chrome-interview-name { color: var(--hcp-white); margin-bottom:4px; }
.chrome-interview-role { color: var(--hcp-white); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.chrome-footer .container-1272px { width:100%; max-width:1272px; margin:0 auto; padding:0 16px; }
.chrome-footer-grid { display:grid; grid-template-columns:1.6fr 1fr 1fr 1.4fr; gap:32px; }
.chrome-footer-column,.chrome-footer-brand { min-width:0; }
.chrome-footer-logo { display:block; max-width:380px; }
.chrome-footer-logo img { width:100%; display:block; }
.chrome-footer .footer-tagline-text { margin:16px 0; }
.chrome-footer-operator { color: var(--hcp-white); font-size: var(--hcp-fs-small); line-height: var(--hcp-lh-small); margin:16px 0; }
.chrome-footer-social { display:inline-flex; align-items:center; gap:8px; color: var(--hcp-white); font-size: var(--hcp-fs-body); text-decoration:none; }
.chrome-footer-social:hover { text-decoration:underline; }
.chrome-footer .footer-nav-header-text { margin-top:0; font-weight: var(--hcp-fw-body); line-height: var(--hcp-lh-body); }
@media (max-width:767px) {
 .chrome-menu-inner { grid-template-columns:minmax(0,1fr); gap:40px; padding-top:96px; padding-bottom:40px; }
 .chrome-interview-title { font-size: var(--hcp-fs-small); margin-top:16px; }
 .chrome-footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .chrome-footer-brand,.chrome-footer-about { grid-column:1/-1; }
 .chrome-footer .copywrite-text { text-align:center; }
}

.chrome-footer-term-part { display:inline-block; }

/* v2: CSS-only visual states, independent of Webflow interactions. */
.top-header-with-tagline .custom-nav-button { width:40px; height:40px; top:20px; z-index:30; }
.chrome-toggle { position:relative; visibility:hidden; border:0; border-radius:0; background: transparent; color: var(--hcp-text); }
.chrome-js .chrome-toggle { visibility:visible; }
.chrome-toggle::before,.chrome-toggle::after { content:""; position:absolute; left:9px; top:calc(50% - .75px); width:22px; height:1.5px; background: currentcolor; transform-origin:center; transition:transform .25s ease; }
.chrome-toggle::before { transform:translateY(-4.25px); }
.chrome-toggle::after { transform:translateY(4.25px); }
.chrome-toggle:focus-visible { outline: 2px solid currentcolor; outline-offset:4px; }
.top-header-with-tagline .chrome-menu { display:block; position:fixed; inset:0; z-index:20; overflow-y:auto; opacity:0; transform:translateY(-8px); visibility:hidden; pointer-events:none; transition:opacity .2s ease,transform .2s ease,visibility 0s linear .2s; }
body.chrome-menu-open { overflow:hidden; }
.chrome-menu-open .chrome-toggle { color: var(--hcp-white); }
.chrome-menu-open .chrome-toggle::before { transform:translateY(0) rotate(45deg); }
.chrome-menu-open .chrome-toggle::after { transform:translateY(0) rotate(-45deg); }
.chrome-menu-open .top-header-with-tagline .chrome-menu { opacity:1; transform:translateY(0); visibility:visible; pointer-events:auto; transition-duration:.3s,.3s,0s; transition-delay:0s; }
@media (prefers-reduced-motion:reduce) {
 .chrome-toggle::before,.chrome-toggle::after,.top-header-with-tagline .chrome-menu,.chrome-menu-open .top-header-with-tagline .chrome-menu { transition:none; }
}

/* v3: existing white brand, centered on the close button's y=40px. */
.chrome-menu-logo { position:absolute; top:28px; left:max(16px,calc((100vw - 1240px)/2)); display:block; }
.chrome-menu-logo img { display:block; height:24px; width:auto; }
.chrome-menu-logo:focus-visible { outline: 2px solid var(--hcp-white); outline-offset:4px; }

.hcp-list-meta { display:flex; align-items:baseline; flex-wrap:wrap; gap:12px; margin-bottom:8px; }

/* 2.5.4: reserve more space after the logo; keep the right navigation anchored. */
@media (min-width:1100px) and (max-width:1279px) {
 .top-header-with-tagline .top-header-primary { margin-left:16px; }
 .top-header-with-tagline .top-primary-nav-list { gap:20px; }
}
@media (min-width:1280px) {
 .top-header-with-tagline .top-header-primary { margin-left:32px; }
 .top-header-with-tagline .top-primary-nav-list { gap:32px; }
}

/* 2.5.6: follow the logo column with a readable 10px minimum. */
@media (min-width:1100px) {
 .top-header-with-tagline .top-header-tagline { font-size: max(10px,calc(clamp(220px,24vw,340px) / 30.1)); white-space:nowrap; }
}
@media (min-width:1100px) and (max-width:1199px) {
 .top-header-with-tagline .top-header-tagline { font-size: max(10px,calc(clamp(220px,calc(24vw - 4px),340px) / 30.1)); }
}

/* Shared external-link indicator, moved unchanged from about. */
.about-v3 .about-v3-external-arrow,.chrome-footer .about-v3-external-arrow { display:inline-block; font-size: var(--hcp-fs-label); line-height: var(--hcp-lh-label); margin-left:.4em; text-decoration:none; vertical-align:baseline; }
/* Inline-block term pieces need their own underline; preserve the wrap control. */
.chrome-footer .footer-nav-link-text:has(.chrome-footer-term-part):focus { text-decoration:underline; }
.chrome-footer .footer-nav-link-text:is(:hover,:focus) .chrome-footer-term-part { text-decoration-line:underline; text-decoration-thickness:inherit; text-decoration-color:inherit; text-underline-offset:inherit; }


/* Source: token-application.css */
/* Cross-template visual roles: shared typography, chrome, and scoped page roles.
 * These intentionally follow component CSS: HTML heading tags do not determine
 * visual size. Baseline geometry is in base.css, components own their layout.
 * All displayed sizes and paints use ledger tokens; no Webflow reset overrides.
 */
html,body { background:var(--hcp-white); color:var(--hcp-text); font-family:var(--hcp-font-ui); font-size:var(--hcp-fs-body); font-weight:var(--hcp-fw-body); line-height:var(--hcp-lh-body); }
body *,button,input,select,textarea { font-family:inherit; }
button,input,select,textarea { font-size:var(--hcp-fs-small); border-radius:0; box-shadow:none; }
h1,h2,h3,h4,h5,h6 { color:var(--hcp-ink); font-weight:var(--hcp-fw-heading); }
h1 { font-size:var(--hcp-fs-h1); line-height:var(--hcp-lh-h1); }
h2 { font-size:var(--hcp-fs-h2); line-height:var(--hcp-lh-h2); }
h3,h4,h5,h6 { font-size:var(--hcp-fs-h3); line-height:var(--hcp-lh-h3); }
.en,time,.top-eyebrow,.about-label,.article-section-label,.article-profile-label,.chrome-menu-label { font-family:var(--hcp-font-latin); }
.top-eyebrow,.about-label,.article-section-label,.article-profile-label,.chrome-menu-label { font-size:var(--hcp-fs-label); line-height:var(--hcp-lh-label); font-weight:var(--hcp-fw-ui); letter-spacing:.12em; color:var(--hcp-accent); }
a { color:inherit; }
a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible { outline:2px solid var(--hcp-ink); outline-offset:4px; }
a:hover,.top-text-link:hover,.top-feature-title-link:hover { color:var(--hcp-accent); opacity:1; }
[aria-current="page"],.top-primary-nav-link[aria-current="page"],.top-category-nav-link[aria-current="page"] { color:var(--hcp-accent); }
.top-primary-nav-link { font-size:var(--hcp-fs-small); font-weight:var(--hcp-fw-ui); color:var(--hcp-ink); }
/* Tagline remains the explicitly authorized logo-following formula. */
.top-header-with-tagline .top-header-tagline { color:var(--hcp-ink); font-family:var(--hcp-font-ui); font-weight:var(--hcp-fw-ui); line-height:var(--hcp-lh-label); letter-spacing:0; }
.section-general.footer,.chrome-footer,.top-header-with-tagline .chrome-menu,.custom-nav-menu { background:var(--hcp-ink); color:var(--hcp-white); }
.chrome-footer *,.custom-nav-menu a,.custom-nav-menu .chrome-menu-label,.custom-nav-menu .chrome-interview-name,.custom-nav-menu .chrome-interview-role,.custom-nav-menu .chrome-interview-title { color:var(--hcp-white); }
.chrome-footer a:hover,.custom-nav-menu a:hover { color:var(--hcp-accent); }
.chrome-menu-open .chrome-toggle { color:var(--hcp-white); }
.chrome-toggle { color:var(--hcp-ink); }
.chrome-footer .footer-tagline-text { font-size:var(--hcp-fs-small); line-height:var(--hcp-lh-small); }
.chrome-footer .footer-nav-header-text { font-size:var(--hcp-fs-small); line-height:var(--hcp-lh-small); font-weight:var(--hcp-fw-ui); }
.chrome-menu-open .chrome-toggle:focus-visible,.chrome-menu a:focus-visible { outline-color:var(--hcp-white); }
.top-editorial { color:var(--hcp-text); --top-ink:var(--hcp-ink); --top-paper:var(--hcp-paper); }
.top-editorial .top-hero,.top-editorial .top-latest,.top-editorial .top-topics { background:var(--hcp-white); }
.top-editorial .top-voices { background:var(--hcp-paper); }
.top-editorial .top-section-head h2 { font-size:var(--hcp-fs-h2); line-height:var(--hcp-lh-h2); }
.top-feature-title-link h3 { font-size:var(--hcp-fs-h2); line-height:var(--hcp-lh-h2); }
.top-story-title,.top-story--topic .top-story-title,.list-single-article-title { font-size:var(--hcp-fs-lead); line-height:var(--hcp-lh-lead); font-weight:var(--hcp-fw-heading); color:var(--hcp-ink); }
.top-story-meta,.top-story-meta .small-text,.top-feature-copy .top-story-meta,.top-person-role,.small-text { font-size:var(--hcp-fs-meta); line-height:var(--hcp-lh-meta); color:var(--hcp-sub); font-weight:var(--hcp-fw-body); }
.top-story-meta>span,.article-kicker,.about-story-meta>span { color:var(--hcp-accent); }
.top-story-meta>span { font-weight:var(--hcp-fw-ui); }
.author-name-text,.top-person-name { font-size:var(--hcp-fs-small); line-height:var(--hcp-lh-small); font-weight:var(--hcp-fw-ui); color:var(--hcp-ink); }
.top-feature-deck,.interview-intro { font-size:var(--hcp-fs-small); line-height:var(--hcp-lh-small); }
.honorific,.article-mock .honorific { font-size:.78em; }
.top-more-voices .top-story-title { min-height:5.1em; }
.top-text-link,.top-category-link,.about-text-link { text-decoration:underline; text-underline-offset:.25em; }
.top-text-link>span { display:none; }
.top-people-arrow { color:var(--hcp-ink); border-color:var(--hcp-ink); background:transparent; }
.top-people-arrow:disabled { opacity:.4; }
.top-people-scroll::after { background:linear-gradient(to right,transparent,var(--hcp-paper)); }
.top-topic-intro h3 { color:var(--hcp-ink); font-size:var(--hcp-fs-h2); line-height:var(--hcp-lh-h2); }
.top-all-posts-button,.cta-button-wrapper { color:var(--hcp-ink); background:transparent; border:1px solid var(--hcp-ink); border-radius:0; box-shadow:none; }
.top-all-posts-button:hover,.cta-button-wrapper:hover { color:var(--hcp-white); background:var(--hcp-ink); }
.about-mock { color:var(--hcp-text); }
.about-mock .about-heading h1 { font-size:var(--hcp-fs-display); line-height:var(--hcp-lh-display); }
.about-mock .about-v2-heading h2 { font-size:var(--hcp-fs-h2); line-height:var(--hcp-lh-h2); }
.about-mock .about-v2-band { background:var(--hcp-paper); }
.about-mock p { font-size:var(--hcp-fs-body); line-height:var(--hcp-lh-body); }
.about-mock .about-definition { font-size:var(--hcp-fs-lead); line-height:var(--hcp-lh-lead); font-weight:var(--hcp-fw-ui); }
.about-mock .about-quote { color:var(--hcp-sub); }
.about-mock .about-story-title { font-size:var(--hcp-fs-lead); line-height:var(--hcp-lh-lead); font-weight:var(--hcp-fw-heading); }
.about-mock .about-operator th,.about-mock .about-operator td,.about-editor-identity p,.about-editor-role { font-size:var(--hcp-fs-small); line-height:var(--hcp-lh-small); }
.about-mock .about-editor p { font-size:var(--hcp-fs-small); line-height:var(--hcp-lh-small); }
.about-mock .about-label { font-size:var(--hcp-fs-label); line-height:var(--hcp-lh-label); color:var(--hcp-accent); }
.article-mock { --u:calc(var(--hcp-fs-body) * var(--hcp-lh-body)); --ink:var(--hcp-text); --rule:var(--hcp-line); color:var(--hcp-text); }
.article-mock .article-title { font-size:var(--hcp-fs-h1); line-height:var(--hcp-lh-h1); color:var(--hcp-ink); }
.article-mock .article-lead { font-size:var(--hcp-fs-lead); line-height:var(--hcp-lh-lead); background:var(--hcp-paper); }
.article-mock .article-rich-text-block { font-family:var(--hcp-font-ui); font-size:var(--hcp-fs-body); line-height:var(--hcp-lh-body); color:var(--hcp-text); font-weight:var(--hcp-fw-body); }
.article-mock .article-rich-text-block p,.article-mock .article-rich-text-block li { font-size:inherit; line-height:inherit; }
.article-mock .article-rich-text-block h2 { font-size:var(--hcp-fs-h2); line-height:var(--hcp-lh-h2); }
.article-mock .article-rich-text-block h3 { font-size:var(--hcp-fs-h3); line-height:var(--hcp-lh-h3); }
.article-mock .article-kicker { font-size:var(--hcp-fs-meta); background:transparent; color:var(--hcp-accent); }
.article-mock .article-profile-name { font-size:var(--hcp-fs-h3); line-height:var(--hcp-lh-h3); }
.article-mock .article-profile-label,.article-mock .article-section-label { color:var(--hcp-accent); }
.article-mock time,.article-mock .article-profile-role,.article-mock .article-rich-text-block figcaption { color:var(--hcp-sub); font-size:var(--hcp-fs-meta); line-height:var(--hcp-lh-meta); }
.article-mock .article-rich-text-block table { font-size:var(--hcp-fs-small); }
.article-mock .article-rich-text-block a:hover { color:var(--hcp-accent); }
@media(max-width:767px) {
 .top-story-title,.top-story--topic .top-story-title,.list-single-article-title,.about-mock .about-story-title { font-size:var(--hcp-fs-small); line-height:var(--hcp-lh-small); }
 .top-more-voices .top-story-title { min-height:5.4em; }
 .article-mock .article-toc-mobile { background:var(--hcp-paper); }
 .article-mock .article-lead { font-size:var(--hcp-fs-lead); line-height:var(--hcp-lh-lead); }
}

.about-v2 .top-eyebrow { font-size:var(--hcp-fs-label); line-height:var(--hcp-lh-label); font-weight:var(--hcp-fw-ui); color:var(--hcp-accent); }
/* White links on ink keep their contrast on hover; accent stays on white/paper. */
.chrome-footer a:hover,.custom-nav-menu a:hover { color:var(--hcp-white); text-decoration:underline; }


/* 2.6.1: semantic h1 repairs; preserve the legacy pages' exact text geometry. */
.feature-header { margin:0; padding:0; font:inherit; color:var(--hcp-ink); }
.feature-header > .feature-header-small,
.feature-header > .feature-header-large { display:block; font-weight:var(--hcp-fw-heading); line-height:var(--hcp-lh-h1); }
h1.special-page-header { font-size:var(--hcp-fs-h2); font-weight:var(--hcp-fw-heading); line-height:var(--hcp-lh-h2); margin:24px 0 16px; color:var(--hcp-ink); }

/* 2.6.2: choose type by visual role, not by tag or component name. */
.top-topic-intro p,
.top-feature-label>span:last-child,
.top-people-labels>span:last-child { font-size:var(--hcp-fs-small); line-height:var(--hcp-lh-small); }
.top-topic-intro .top-text-link { font-size:var(--hcp-fs-meta); line-height:var(--hcp-lh-meta); }
.article-mock .article-end-share h2,
.article-mock .article-author h2,
.article-mock .article-author p,
.article-mock .article-rich-text-block .article-external-title,
.article-mock .article-rich-text-block .article-embed-title { font-size:var(--hcp-fs-small); line-height:var(--hcp-lh-small); }
.article-mock .article-author h2 { font-weight:var(--hcp-fw-heading); }
.article-mock .article-rich-text-block .article-external-description { font-size:var(--hcp-fs-meta); line-height:var(--hcp-lh-meta); }
.article-mock .article-lead { font-size:var(--hcp-fs-body); line-height:var(--hcp-lh-body); }
.about-mock .about-definition { font-size:var(--hcp-fs-statement); line-height:var(--hcp-lh-statement); font-weight:var(--hcp-fw-ui); }
.about-editor-identity h3 span { font-size:var(--hcp-fs-meta); line-height:var(--hcp-lh-meta); font-weight:var(--hcp-fw-body); }

/* Additional role corrections found by the full 2.5.6 computed-size audit. */
.top-topic-intro .top-category-link,
.top-feature-person .small-text,
.article-mock .article-mini-name,
.article-mock .article-card-category { font-size:var(--hcp-fs-meta); line-height:var(--hcp-lh-meta); }
.about-mock .about-concept .about-label { font-size:var(--hcp-fs-meta); line-height:var(--hcp-lh-meta); font-family:var(--hcp-font-ui); }
.author-name-text,.top-person-name,
.interview-intro { font-size:var(--hcp-fs-body); line-height:var(--hcp-lh-meta); }
.article-mock .article-profile-description .prof-rich-text { font-size:var(--hcp-fs-small); line-height:var(--hcp-lh-small); }
.article-mock .article-profile-description .prof-rich-text p,
.article-mock .article-profile-description .prof-rich-text span { font-size:inherit; line-height:inherit; }
.about-mock .about-v2-pillar p,
.about-mock .about-v2-principles li p,
.about-mock .about-v2-editor-row p,
.about-mock .author-role { font-size:var(--hcp-fs-small); line-height:var(--hcp-lh-small); }
.about-mock .about-v2-editor-row h3,
.about-mock .about-story-title { font-size:var(--hcp-fs-body); line-height:var(--hcp-lh-lead); }
.about-mock .about-editor-identity h3 { font-size:var(--hcp-fs-lead); line-height:var(--hcp-lh-lead); }
.about-mock .about-editor-identity h3 span { font-size:var(--hcp-fs-meta); line-height:var(--hcp-lh-meta); }
.author-profile h1 { font-size:var(--hcp-fs-h1); line-height:var(--hcp-lh-h1); }
.chrome-footer .footer-tagline-text,
.chrome-footer .footer-nav-header-text { font-size:var(--hcp-fs-lead); line-height:var(--hcp-lh-meta); }
@media(max-width:767px) {
 .list-single-article-title { font-size:var(--hcp-fs-h3); line-height:var(--hcp-lh-h3); }
 .about-mock .about-story-title,
 .about-mock .about-v2-editor-row h3 { font-size:var(--hcp-fs-lead); line-height:var(--hcp-lh-lead); }
 .about-mock .about-editor-identity h3 { font-size:var(--hcp-fs-h3); line-height:var(--hcp-lh-h3); }
 .chrome-footer .footer-nav-header-text { font-size:var(--hcp-fs-body); line-height:var(--hcp-lh-meta); }
 .chrome-footer .footer-tagline-text { font-size:var(--hcp-fs-small); line-height:var(--hcp-lh-meta); }
}
.chrome-menu-feature>.chrome-menu-label { font-size:var(--hcp-fs-meta); line-height:var(--hcp-lh-meta); font-family:var(--hcp-font-ui); }
.chrome-interview-title { font-size:var(--hcp-fs-h3); line-height:var(--hcp-lh-h3); }
.chrome-interview-role { font-size:var(--hcp-fs-small); line-height:var(--hcp-lh-meta); }
@media(max-width:767px) { .menu-open-link-text { font-size:var(--hcp-fs-h1); } }

/* Approved ledger v0.3 addendum: preserve these two dedicated visual roles. */
.about-v2-number { font-size:var(--hcp-fs-principle-number); }
.feature-article-list-title { font-size:var(--hcp-fs-feature-card); }

/* End bundle */
