/* Editorial feature and compact silent opening film. */
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.opening-film { position:relative; z-index:3; margin:0; padding:calc(var(--header-offset) + 1rem) 1.25rem 0; }
.film-frame { overflow:hidden; border:1px solid var(--line-strong); background:#07090b; }
.film-frame video { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; }
.opening-film figcaption { display:flex; align-items:center; justify-content:space-between; gap:.5rem; padding:.45rem 0; color:var(--brass); font-size:.875rem; }
.opening-film figcaption > span { display:grid; gap:.1rem; }
.opening-film figcaption small { color:var(--paper-muted); font-size:.75rem; }
.opening-film button { flex-shrink:0; min-height:44px; padding:.5rem .7rem; border:1px solid var(--line-strong); color:var(--paper); background:#10161a; cursor:pointer; font-size:.875rem; }
.hero-with-film .hero-grid { padding-top:1.4rem; }
.film-error { font-size:.875rem; color:var(--paper-muted); }
.film-error a { text-decoration:underline; }
.editorial-feature { position:relative; display:block; padding:2rem 1.25rem; background:#171b1e; border-block:1px solid var(--line-strong); }
.editorial-feature::before { content:''; position:absolute; top:0; left:1.25rem; width:44px; height:3px; background:var(--vermilion); }
.editorial-feature > strong { display:block; margin:.8rem 0; font:500 clamp(1.5rem,7.1vw,1.9rem)/1.65 var(--serif); }
.editorial-feature > p { margin:0; color:var(--paper-muted); font-size:1rem; }
.feature-action { display:flex; justify-content:space-between; align-items:center; min-height:48px; margin-top:1rem; padding-top:.65rem; border-top:1px solid var(--line); color:var(--brass); font-size:1rem; }
.feature-action b { font-size:1.4rem; font-weight:400; }
.editorial-hero { position:relative; overflow:hidden; padding:calc(var(--header-offset) + 2.5rem) 1.25rem 2rem; background:linear-gradient(90deg,#07090be8,#07090bbd),url('/assets/hero.webp') 65% center/cover; border-bottom:1px solid var(--line-strong); }
.editorial-hero h1 { position:relative; margin:.8rem 0 1.1rem; font:500 clamp(2rem,9.3vw,2.6rem)/1.5 var(--serif); letter-spacing:-.04em; }
.editorial-hero h1 em { color:var(--brass); font-style:normal; }
.editorial-hero > p:not(.section-kicker) { margin:0; font:1rem/1.95 var(--serif); }
.editorial-byline { display:flex; flex-wrap:wrap; justify-content:space-between; gap:.75rem; margin-top:1.5rem; padding-top:.8rem; border-top:1px solid var(--line); color:var(--paper-muted); font-size:.75rem; }
.editorial-contents { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding:.8rem 1rem; gap:.5rem; background:#10161a; border-bottom:1px solid var(--line); }
.editorial-contents a { display:grid; align-content:center; min-height:60px; padding:.4rem; text-align:center; border:1px solid var(--line); font-size:.875rem; }
.editorial-contents span { color:var(--brass); font-size:.75rem; }
.editorial-section { padding:2.75rem 1.25rem; }
.editorial-section + .editorial-section { border-top:1px solid var(--line); }
.editorial-section h2 { margin:.65rem 0 1.25rem; font:500 clamp(1.6rem,7.5vw,2.1rem)/1.6 var(--serif); letter-spacing:-.025em; }
.editorial-section > p { margin:0 0 1.2rem; font-size:1rem; line-height:2; }
.editorial-paper { background:var(--paper); color:var(--ink); }
.editorial-paper .section-kicker { color:#963428; }
.editorial-paper > p { color:#363838; }
.editorial-callout { margin:1.8rem 0 0; padding:1.15rem 0 1.15rem 1rem; border-block:1px solid #8d877b; border-left:3px solid #9b3427; font:600 1.2rem/1.8 var(--serif); }
.desk-intro { color:var(--paper-muted); }
.desk-note { font-size:.875rem !important; color:var(--paper-muted); padding-left:.85rem; border-left:2px solid var(--brass); }
.desk-comment { position:relative; padding:1.5rem 0; border-top:1px solid var(--line-strong); }
.desk-comment:last-of-type { border-bottom:1px solid var(--line-strong); }
.desk-number { display:block; margin-bottom:.4rem; color:var(--brass); font-size:.75rem; letter-spacing:.1em; }
.desk-comment h3 { margin:0 0 1rem; font:500 1.5rem/1.65 var(--serif); }
.desk-statement { margin:0 0 1rem; color:var(--paper); font:500 1.2rem/1.85 var(--serif); }
.desk-comment > p:not(.desk-statement) { margin:0 0 1rem; color:var(--paper-muted); font-size:1rem; line-height:2; }
.desk-focus { margin:0; padding:.9rem; background:#151a1f; }
.desk-focus dt { color:var(--brass); font-size:.75rem; margin-bottom:.4rem; }
.desk-focus dd { margin:0; font-size:1rem; line-height:1.85; }
.source-item { padding:1.4rem 0; border-top:1px solid #aaa498; }
.source-item:last-child { border-bottom:1px solid #aaa498; }
.source-item > span { color:#8b3026; font-size:.75rem; letter-spacing:.1em; }
.source-item h3 { margin:.4rem 0 .7rem; font:600 1.35rem/1.7 var(--serif); }
.source-item p { margin:0 0 .85rem; font-size:1rem; color:#363838; line-height:1.95; }
.source-link { display:flex; align-items:center; justify-content:space-between; gap:.6rem; min-height:48px; padding:.55rem 0; color:#563d20; text-decoration:underline; text-underline-offset:4px; font-size:.875rem; }
.source-link span { flex-shrink:0; }
.perspective-list { list-style:none; margin:0; padding:0; }
.perspective-list li { display:grid; grid-template-columns:2rem minmax(0,1fr); gap:.65rem; padding:1.2rem 0; border-top:1px solid var(--line); }
.perspective-list li > span { color:var(--brass); font:500 1.5rem/1.6 var(--serif); }
.perspective-list h3 { margin:0 0 .6rem; font:500 1.2rem/1.6 var(--serif); }
.perspective-list p { margin:0; color:var(--paper-muted); font-size:1rem; line-height:1.95; }
.editorial-cta { margin:0; padding:2rem 1.25rem 2.5rem; background:#151a1f; border-top:3px solid var(--vermilion); }
.editorial-cta h2 { margin:.5rem 0 1rem; font:500 1.85rem/1.55 var(--serif); }
.editorial-cta p { font-size:1rem; color:var(--paper-muted); }
.editorial-cta .button + .button { margin-top:.75rem; }
.editorial-cta small { display:block; margin-top:1rem; font-size:.875rem; color:var(--paper-muted); }
@media (max-width:359px) { .opening-film,.editorial-section,.editorial-hero,.editorial-cta,.editorial-feature { padding-inline:1rem; } .opening-film button { padding-inline:.5rem; } }
