/* Layout adaptations for the real source blocks. The approved number.css stays intact. */
.hero-num { min-width: 0; max-width: 100%; }
.hero-num small { font-size: .27em; margin-left: .1em; text-transform: uppercase; white-space: normal; display: inline-block; max-width: 5em; line-height: .9; }
.hero-bot { grid-template-columns: minmax(0, 1fr); }
@media(min-width:960px) { .hero-bot { grid-template-columns: minmax(0, 2fr) minmax(220px,1fr); } }
.hero.type { background:var(--lo); }
.hero.type .hero-num { color:var(--hi); }
.author { margin-top:56px; text-align:center; font-size:1.1rem; }
.author p + p { margin-top:10px; }
.author p:last-child { max-width:34em; margin-left:auto; margin-right:auto; color:var(--text-mid); }
.author a { text-decoration:underline; text-decoration-color:var(--hi); text-underline-offset:4px; }
.sub-form button:disabled { opacity:.65; cursor:default; }
.sub-form [role=status] { font-size:.88rem; line-height:1.4; }
.prose { --text-bright:var(--ink); --red:var(--hi); --green:var(--hi); --amber:var(--hi); }
.prose svg { display:block; width:100%; height:auto; margin-top:1.6em; margin-bottom:1em; overflow:visible; }
.prose svg text { font-family:var(--label); }
.prose > svg.chart-svg,.prose > svg.revenue-svg,.prose > svg.viewers-svg { max-width:var(--measure); margin:1.6em auto 1em; }
.hero .credit { overflow-wrap:anywhere; }
.hero .credit a { text-decoration:underline; text-underline-offset:3px; color:inherit; }
.prose .attr { display:block; font:700 .85rem/1.4 var(--label); color:var(--text-mid); margin-top:.7em; }
.prose ul:not(.footnotes ul) { list-style:disc; padding-left:1.3em; margin-bottom:1em; }
.prose ol:not(.footnotes ol) { list-style:decimal; padding-left:1.3em; }
.prose .footnotes ol { padding:0; list-style:none; }
.footnotes h3 { margin-bottom:18px; }
.footnotes .explicit-numbers li::before { content:none; }
.footnotes .explicit-numbers li { padding-left:0; }
.footnotes li { overflow-wrap:anywhere; }
.prose .comparison { flex-wrap:nowrap; }
.prose .comparison-item { min-width:0; }
.prose .comparison-number { font-size:clamp(2.5rem,7.4vw,6.8rem); overflow-wrap:anywhere; }
.prose .comparison-number.dim { color:var(--text-mid); }
.prose .td-bright { color:var(--ink); font-weight:700; }
.prose .table-wrap { overflow-x:auto; }
.prose .hierarchy-bars { margin-top:1.6em; margin-bottom:1.6em; }
.prose .hierarchy-row { display:grid; grid-template-columns:80px 1fr 50px; align-items:center; gap:12px; margin-bottom:9px; }
.prose .hierarchy-bar { background:color-mix(in srgb,var(--hi) 45%,transparent); }
.prose .hierarchy-bar.bright { background:var(--hi); }
.prose .hierarchy-label,.prose .hierarchy-val { font-size:.85rem; }
.prose .chart-bar-bg { background:color-mix(in srgb,var(--ink) 8%,transparent); }
.prose .chart-bar:not(.accent) { background:color-mix(in srgb,var(--hi) 50%,transparent); }
.prose .audience-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:1.6em auto; }
.prose .audience-stat-desc { color:var(--text-mid); font-size:.9rem; }
.prose .valuation-visual { display:flex; gap:40px; justify-content:center; align-items:flex-end; margin:2em auto; }
.prose .val-bar.after { background:var(--hi); height:250px; }
.prose .rights-timeline { margin:2em auto; }
.prose .rights-step { display:grid; grid-template-columns:60px 130px 1fr; gap:16px; padding:16px 0; border-bottom:1px solid var(--rule); align-items:baseline; }
.prose .rights-detail { font-size:.9rem; }
.prose .divergence,.prose .cascade,.prose .line-chart { margin:2em auto; }
.prose .detect-bar { display:inline-block; position:relative; width:60px; height:8px; background:color-mix(in srgb,var(--ink) 10%,transparent); }
.prose .cascade-label { width:120px; font-size:.8rem; }
.prose .cascade-fill { min-width:3em; }
.prose .series-nav { font-size:1rem; }
.l-meta .new { align-self:flex-start; }
@media(max-width:560px) {
  .prose .comparison { gap:12px; }
  .prose .comparison-label { font-size:.8rem; overflow-wrap:anywhere; }
  .prose .audience-grid { grid-template-columns:1fr; }
  .prose .rights-step { grid-template-columns:50px 1fr; }
  .prose .rights-detail { grid-column:2; }
}

/* Documents occupy their own picture zone. Type never covers the page. */
.cover.doc { display:flex; flex-direction:column; }
.cover.doc .cv-t { font-size:8.75cqi; }
.cover.doc::after, .hero.doc::after, .doc .duo::after { display:none; }
.cover.doc .cv-top { position:relative; order:0; flex:none; }
.cover.doc .duo { position:relative; inset:auto; order:1; flex:1; min-height:0; margin:0 var(--m); }
.cover.doc .cv-bot { position:relative; order:2; flex:none; }
.doc .duo { background:color-mix(in srgb,var(--hi) 15%,#FAF7F0); }
.cover.doc .duo img, .hero.doc .duo img, a.cover.doc:hover .duo img {
  position:absolute; inset:4%; width:92%; height:92%; object-fit:contain;
  object-position:center !important; filter:none; mix-blend-mode:normal;
}
.hero.doc .hero-in { gap:clamp(24px,3vw,48px); }
.hero.doc .hero-num { line-height:1; padding-bottom:0; }
.hero.doc .duo { position:relative; inset:auto; height:clamp(320px,48vw,660px); flex:none; }

/* Local thumbnails keep the player absent until an explicit click. */
.youtube-lite { background:var(--lo); border-radius:2px; overflow:hidden; }
.youtube-thumbnail { display:block; width:100%; height:100%; object-fit:contain; }
.youtube-play {
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  display:grid; place-items:center; width:72px; height:64px; padding:0;
  border:2px solid var(--hi); border-radius:2px; background:var(--hi); color:var(--lo);
  font-size:28px; cursor:pointer;
}
.youtube-play:hover { background:#FAF7F0; border-color:#FAF7F0; }
.youtube-play:focus-visible { outline:3px solid #FAF7F0; outline-offset:5px; }
.youtube-info { padding:18px 22px 20px; color:#FAF7F0; }
.prose .youtube-title { margin:0; font:700 clamp(1.15rem,2vw,1.5rem)/1.25 var(--serif); color:#FAF7F0; }
.prose .youtube-channel { margin:8px 0 0; font:700 1rem/1.3 var(--label); color:rgba(250,247,240,.8); }
.prose .youtube-link { margin:10px 0 0; font:700 1rem/1.4 var(--label); }
.youtube-link a { text-decoration:underline; text-underline-offset:3px; }

/* Launch additions keep the approved Plan C cover and series geometry. */
.coming-issue .dept-head { align-items:flex-start; }
.coming-issue .dept-head h2 { font-size:clamp(1.5rem,2.7vw,2.4rem); }
.coming-titles { display:grid; grid-template-columns:1fr; gap:28px; list-style:none; }
.coming-titles h3 { font:700 clamp(1.3rem,2vw,1.8rem)/1.15 var(--serif); margin-bottom:8px; }
.coming-titles p { max-width:44em; font:400 1.15rem/1.4 var(--text); color:var(--text-mid); }
.sub-form [data-state="success"] { color:var(--hi); }
.sub-form [data-state="error"] { color:var(--ink); font-weight:700; }
.not-found .arch-title { max-width:12em; }
@media(min-width:961px) { .coming-titles { grid-template-columns:1fr 1fr; gap:32px 60px; } }
@media(max-width:560px) {
  .prose > table { display:block; max-width:100%; overflow-x:auto; }
}
