/* Field guide: existing Figtree, paper, ink, and blue; content-led navigation. */
.blog-page { --signal:#215ab8; }
.blog-page .sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.blog-byline { font-size:14px !important; line-height:1.6 !important; }
.blog-answer { padding:22px 24px; margin-bottom:40px; border-left:3px solid #3380ff; background:#eaf1ff; border-radius:0 12px 12px 0; }
.blog-answer p { color:#303d54; }
.blog-prompt { margin:26px 0; padding:22px 24px; background:#fff; border:1px solid var(--rule); border-radius:14px; }
.blog-prompt figcaption { margin-bottom:10px; font-size:12px; font-weight:600; color:#215ab8; }
.blog-prompt blockquote { padding:0; margin:0; border:0; }
.blog-prompt blockquote p { color:var(--ink); }
.blog-table table { min-width:560px; }
.blog-table tbody th { border-top:1px solid var(--rule); background:transparent; color:var(--ink); font-weight:500; white-space:normal; width:25%; }
.blog-next { margin-top:44px; padding-top:10px; border-top:1px solid var(--rule); }
.document-body .blog-next h2 { font-size:28px; margin-top:24px; }
.blog-jump { display:flex; flex-wrap:wrap; gap:14px 28px; margin-top:32px; font-size:15px; }
.blog-jump a { text-decoration:none; }
.blog-jump a:hover { text-decoration:underline; }
.blog-group { padding-top:58px; scroll-margin-top:24px; }
.blog-group>header { display:grid; grid-template-columns:1fr 1.4fr; gap:36px; align-items:baseline; padding-bottom:24px; border-bottom:1px solid var(--rule); }
.blog-group>header h2 { font-size:32px; letter-spacing:-.04em; }
.blog-group>header p { color:var(--graphite); font-size:16px; line-height:1.7; max-width:58ch; }
.blog-grid { display:grid; grid-template-columns:1fr 1fr; column-gap:48px; }
.blog-entry { padding:30px 0; border-bottom:1px solid var(--rule); display:flex; flex-direction:column; align-items:flex-start; }
.blog-topic { font-size:12px; font-weight:600; color:#215ab8; margin-bottom:12px; }
.blog-entry h3 { font-size:25px; line-height:1.2; max-width:30ch; margin:0; }
.blog-entry h3 a { color:var(--ink); text-decoration:none; }
.blog-entry h3 a:hover { color:#215ab8; }
.blog-entry>p:not(.blog-topic) { font-size:15px; line-height:1.75; color:var(--graphite); margin-top:14px; max-width:56ch; }
.blog-entry .blog-read { display:inline-block; margin-top:auto; padding-top:18px; font-size:14px; font-weight:500; text-decoration:none; }
.blog-entry .blog-read:hover { text-decoration:underline; }
.blog-editorial { margin-top:64px; padding-top:30px; border-top:1px solid var(--rule); max-width:78ch; }
.blog-editorial h2 { font-size:24px; margin-bottom:16px; }
.blog-editorial p { font-size:14px; color:var(--graphite); line-height:1.8; margin-top:12px; }
@media(max-width:820px) {
  .blog-group>header { grid-template-columns:1fr; gap:14px; }
  .blog-grid { column-gap:30px; }
}
@media(max-width:540px) {
  .blog-grid { grid-template-columns:1fr; }
  .blog-group { padding-top:40px; }
  .blog-entry h3 { font-size:24px; }
  .blog-answer,.blog-prompt { padding:18px; }
}

/* Launch film: a wide screening surface, followed by a quiet editorial column. */
.launch-story .document-hero { border-bottom:0; padding-bottom:38px; }
.launch-story .document-hero h1 { max-width:21ch; }
.launch-film { margin:0; }
.launch-film-stage { overflow:hidden; border-radius:22px; background:#080d19; box-shadow:0 22px 60px #0e213018; }
.launch-film video { display:block; width:100%; height:auto; aspect-ratio:16/9; }
.launch-film figcaption { display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-top:16px; font-size:13px; line-height:1.6; color:var(--graphite); }
.launch-film figcaption a { flex:none; }
.launch-transcript { margin-top:20px; padding:16px 0; border-bottom:1px solid var(--rule); font-size:14px; }
.launch-transcript summary { cursor:pointer; color:var(--graphite); width:fit-content; }
.launch-transcript ol { list-style:none; padding:18px 0 0; margin:0; max-width:85ch; }
.launch-transcript li { display:grid; grid-template-columns:54px 1fr; gap:18px; padding:10px 0; line-height:1.7; }
.launch-transcript li>span { font-variant-numeric:tabular-nums; color:#53667c; font-size:13px; }
.launch-transcript li p { margin:0; color:var(--graphite); }
.launch-feature { display:grid; grid-template-columns:1.2fr 1fr; gap:40px; align-items:center; margin-top:46px; padding-bottom:44px; border-bottom:1px solid var(--rule); scroll-margin-top:24px; }
.launch-feature-media { position:relative; display:block; overflow:hidden; border-radius:16px; background:#080d19; }
.launch-feature-media img { display:block; width:100%; height:auto; }
.launch-feature-media>span { position:absolute; bottom:0; left:0; right:0; display:flex; justify-content:space-between; padding:20px 24px; color:#f5f5f0; font-size:14px; background:linear-gradient(transparent,#080d19); }
.launch-feature h2 { font-size:clamp(28px,3vw,40px); letter-spacing:-.045em; line-height:1.12; margin:0; }
.launch-feature h2 a { color:var(--ink); text-decoration:none; }
.launch-feature>div>p:not(.blog-topic) { color:var(--graphite); font-size:16px; line-height:1.7; margin:18px 0; }
.launch-feature .blog-read { font-size:15px; }
.launch-film a:focus-visible,.launch-transcript summary:focus-visible,.launch-feature a:focus-visible { outline:3px solid #3380ff; outline-offset:5px; border-radius:4px; }
@media(max-width:820px) {
  .launch-feature { grid-template-columns:1fr; gap:26px; }
  .launch-feature-media { max-width:680px; }
}
@media(max-width:540px) {
  .launch-film-stage { border-radius:12px; }
  .launch-film figcaption { font-size:12px; gap:8px; }
  .launch-story .document-hero { padding-bottom:28px; }
  .launch-feature { margin-top:32px; padding-bottom:32px; }
}
