/* Continuous reading mode. Shared by the report generator and website importer.
   Print retains the original A4 rules; content, typefaces and images are shared. */
@media screen {
  html { scroll-behavior:auto; }
  main { width:min(794px,100%); margin:0 auto; }
  .page { display:block; width:auto; height:auto; min-height:0; padding:24px clamp(22px,6vw,64px); border:0; overflow:visible; }
  .page-foot,.page:not(.cover)>.doc-header { display:none; }
  .cover>.doc-header { position:static; display:flex; align-items:flex-start; flex-wrap:wrap; gap:16px; }
  .masthead { width:142px; }
  .coordinates { white-space:normal; font-size:9px; }
  .page .page-content { display:block; min-height:0; padding:0; }
  .cover h1 { font-size:clamp(32px,6.8vw,55px); line-height:1.02; margin:28px 0 20px; overflow-wrap:anywhere; }
  .cover .dek { width:auto; font-size:clamp(16px,2.3vw,19px); line-height:1.5; margin-bottom:24px; }
  .cover .hero-image,.cover .hero-fallback { height:auto; min-height:0; aspect-ratio:2/1; object-fit:cover; border-radius:16px; }
  .hero-caption { grid-template-columns:1fr 2fr; gap:20px; padding:20px 0 24px; }
  .take { font-size:clamp(16px,2.4vw,19px); }
  .finding { grid-template-columns:minmax(130px,1fr) minmax(0,2fr); gap:28px; padding:24px 0; margin-top:30px; transform:none; }
  .finding-number { bottom:calc(100% + 10px); font-size:22px; }
  .finding-image { width:100%; margin:0 0 22px; border-radius:16px; }
  .finding h2 { font-size:clamp(23px,3.6vw,31px); overflow-wrap:anywhere; }
  .summary { font-size:17px; line-height:1.55; }
  .question { margin-top:24px; padding-top:16px; }
  .question p { font-size:20px; }
  .lens-page h2,.angles-page h2 { font-size:clamp(28px,5vw,40px); }
  .lens-intro { font-size:18px; margin:20px 0 24px; }
  .questions li { grid-template-columns:42px 1fr; gap:16px; font-size:17px; }
  .questions li:before { font-size:26px; }
  .sources-page h2 { font:400 18px/1.4 "Future Earth","Helvetica Neue",sans-serif; text-transform:uppercase; letter-spacing:.005em; margin:0 0 10px; }
  .sources-page + .sources-page { padding-top:0; }
  .sources-page + .sources-page h2 { display:none; }
  .sources-page .source { padding:10px 0; }
  .sources-page .source-number { font:400 14px/1.5 "Future Earth","Helvetica Neue",sans-serif; }
  .sources-page .source h3 { font:400 14px/1.4 "Helvetica Neue",Helvetica,Arial,sans-serif; text-transform:none; letter-spacing:0; margin:3px 0 2px; }
  .sources-page .source-meta { font-size:10px; line-height:1.4; letter-spacing:.02em; }
  .source { grid-template-columns:22px minmax(0,1fr); gap:8px; }
  .source-meta,.source h3,.source a { overflow-wrap:anywhere; }
  .source a { padding:4px 0; font-size:12px; line-height:1.4; }
  .refs a { display:inline-block; padding:8px 4px; }
  /* Each continuous section owns its opening rule, without a closing rule
     from the previous print page creating a second adjacent divider. */
  .hero::after,.finding::after,.questions li:last-child::after,.angle:last-child::after { display:none; }
  .sources-page + .sources-page .sources::before { display:none; }
  .source:target { background:rgba(255,255,255,.07); }
  @media(max-width:540px) {
    .hero-caption { grid-template-columns:1fr; gap:12px; }
    .finding { grid-template-columns:1fr; gap:20px; }
    .finding header { display:grid; grid-template-columns:110px minmax(0,1fr); align-items:start; gap:18px; }
    .finding-image { margin:0; width:110px; }
    .finding header h2 { margin:0; font-size:22px; }
  }
}
