/* Content modules inside the approved homepage shell. */
.standard-page { --page:min(1680px,calc(100% - var(--page-padding)*2)); }
.topic-page #hero .media-poster { object-position:center 40%; }
.topic-page .hero-page-status { display:flex; flex-wrap:wrap; align-items:center; gap:12px; min-height:34px; margin-bottom:14px; }
.topic-page .status-pill { padding:5px 10px; font-size:10px; font-weight:500; letter-spacing:.12em; }
.topic-page .status-note { color:var(--fg-secondary); font-size:12px; }
.topic-page .hero-headline { min-height:2.1em; }
.topic-page .hero-support { max-width:640px; }
.topic-page .hero-header-meta { margin-bottom:16px; }
.topic-page #hero .tagline-label { font-size:11px; }
.topic-page .content-section { padding-block:40px; border:0; }
.topic-page .page-overview { padding-top:32px; padding-bottom:32px; scroll-margin-top:calc(var(--nav-height) + 20px); }
.topic-page .section-grid { grid-template-columns:minmax(0,1fr) minmax(0,1.3fr); gap:clamp(32px,6vw,100px); }
.topic-page .section-kicker { display:block; color:var(--fg-muted); font:500 11px/1.5 var(--font-sans); letter-spacing:.14em; text-transform:uppercase; }
.topic-page .section-title { margin-top:14px; font-size:clamp(28px,2.5vw,36px); font-weight:400; line-height:1.15; letter-spacing:-.015em; }
.topic-page .prose { font-size:16px; line-height:1.65; color:var(--fg-muted); }
.topic-page .prose p { margin-bottom:18px; }
.topic-page .prose p:last-child { margin-bottom:0; }
.topic-page .prose strong { color:var(--fg-secondary); font-weight:500; }
.page-details { padding-block:4px 32px; }
.page-detail { border-bottom:1px solid var(--border-subtle); }
.page-detail:first-child { border-top:1px solid var(--border-subtle); }
.page-detail summary { display:grid; grid-template-columns:44px 1fr 24px; align-items:center; gap:20px; min-height:88px; padding-block:22px; list-style:none; cursor:pointer; font-size:clamp(18px,1.65vw,24px); font-weight:400; letter-spacing:-.02em; }
.page-detail summary::-webkit-details-marker { display:none; }
.detail-number { color:var(--fg-muted); font:11px/1.5 var(--font-mono); letter-spacing:.08em; }
.page-detail summary::after { content:'+'; justify-self:end; font-size:24px; color:var(--fg-muted); font-weight:300; }
.page-detail[open] summary::after { content:'−'; }
.page-detail summary:hover { color:var(--accent-blue); }
.detail-content { padding:0 0 28px 64px; }
.detail-content .page-shell { width:100%; }
.topic-page .detail-section { padding:0; border:0; }
.detail-content .section-kicker { margin-bottom:20px; }
.detail-content :is(.topic-list,.fact-grid,.principles,.update-list) { margin-top:0; }
.detail-content .section-grid { grid-template-columns:1fr; gap:0; }
.detail-content .visual-break { min-height:0; display:block; }
.detail-content .visual-break img { position:relative; width:100%; height:auto; max-height:380px; object-fit:cover; border-radius:4px; }
.detail-content .visual-break::after { display:none; }
.detail-content .visual-caption { width:100%; padding:24px 0 0; }
.detail-content .visual-caption p { font-size:clamp(20px,2vw,28px); }
.topic-page .fact { min-height:150px; padding:24px; }
.topic-page .fact-label { margin-bottom:24px; color:var(--fg-muted); }
.topic-page .fact-value { font-size:22px; font-weight:400; }
.topic-page .update { padding:28px; gap:28px; }
.topic-page .update h2 { font-size:clamp(22px,2vw,28px); font-weight:400; }
.topic-page .contact-band { background:var(--bg-black); color:var(--fg-primary); padding-block:36px; border-top:1px solid var(--border-subtle); }
.topic-page .contact-band h2 { font-size:clamp(24px,2.5vw,36px); font-weight:400; letter-spacing:-.02em; }
.topic-page .contact-link { display:inline-flex; align-items:center; min-height:44px; padding:10px 20px; font-size:14px; font-weight:500; border-color:var(--border-medium); }
.standard-page .legal-main { margin-top:calc(var(--nav-height) + 40px); }
@media(max-width:920px) {
 .topic-page .section-grid { grid-template-columns:1fr; gap:24px; }
}
@media(max-width:768px) {
 .topic-page .hero-header-meta { align-items:flex-start; flex-wrap:wrap; row-gap:6px; }
 .topic-page .hero-header-meta .tagline-label { flex-basis:100%; max-width:34ch; }
 .topic-page .hero-page-status { gap:8px; margin-bottom:12px; }
 .topic-page .hero-bottom-row { gap:20px; }
 .topic-page .hero-support { font-size:16px; }
 .page-detail summary { grid-template-columns:24px 1fr 20px; gap:12px; min-height:84px; }
 .detail-content { padding-left:0; }
 .topic-page .content-section { padding-block:28px; }
 .topic-page .contact-band .page-shell { flex-direction:column; align-items:flex-start; gap:20px; }
 .standard-page .legal-main { margin-top:calc(var(--nav-height) + 24px); }
}
@media(max-width:480px) {
 .topic-page .hero-headline { min-height:3.15em; }
 .topic-page #hero { height:auto; min-height:100svh; padding-top:calc(var(--nav-height) + 64px); }
}
/* Match the homepage sequence: brand, headline, supporting copy and actions. */
.topic-page .hero-headline { min-height:0; }
.topic-page .hero-actions { display:flex; flex-direction:column; align-items:flex-end; gap:14px; max-width:330px; }
.topic-page .hero-page-status { min-height:0; margin:0; justify-content:flex-end; }
.topic-page .hero-page-status .status-note { text-align:right; }
.topic-page .prose time { display:block; margin-bottom:14px; color:var(--fg-muted); font:11px/1.5 var(--font-mono); letter-spacing:.08em; text-transform:uppercase; }
@media(max-width:768px) {
 .topic-page .hero-actions { align-items:flex-start; max-width:100%; }
 .topic-page .hero-page-status { justify-content:flex-start; }
 .topic-page .hero-page-status .status-note { text-align:left; }
}
