/* Escala de leitura dos novos materiais PS. Sem zoom de página; impressão própria preservada. */
@media screen {
  html:has(body[data-reading-page]) { font-size:20px; }
  body[data-reading-page] { font-size:1rem; line-height:1.65; }
  body[data-reading-page] :is(h1,h2,h3,h4,p,li,dd,th,td) {
    word-break:normal; overflow-wrap:break-word; hyphens:none;
  }
  body[data-reading-page] :is(h1,h2,h3,h4) { overflow-wrap:normal; }
  body[data-reading-page] :is(.grid,.scope,.voices,.scen) { min-width:0; }
  body[data-reading-page] :is(.grid,.scope,.voices,.scen)>* { min-width:0; }
  body[data-reading-page] :is(.matrix,.table-wrap,.chart-wrap,.gantt-wrap,.gantt-scroll,.arch-scroll) {
    min-width:0; max-width:100%; overflow-x:auto; overscroll-behavior-x:contain;
  }
  body[data-reading-page] :is(table,.summary-table) { font-size:.9rem; line-height:1.6; }
  body[data-reading-page] th { font-size:.8rem; letter-spacing:.02em; text-transform:none; }
  body[data-reading-page] :is(th,td) { padding:15px 16px; }
  body[data-reading-page] :is(td.num,th.num,td.numc,th.numc) { white-space:nowrap; }
  body[data-reading-page] :is(caption,.legend,.gantt-note,.source) { font-size:.8rem; line-height:1.6; }
  body[data-reading-page] :is(.chip,.tag,.pill) { max-width:100%; white-space:normal; line-height:1.5; }
  body[data-reading-page] .card { padding:24px; }
  body[data-reading-page] :is(.card p,.card li,.callout,.note,.clean,.sources li,details>div) { font-size:.9rem; }
  body[data-reading-page] :is(.card p,.card li,.callout,.note,.clean,.sources li,details>div) p { max-width:80ch; }
  body[data-reading-page] h3 { font-size:1.15rem; line-height:1.35; }
  body[data-reading-page] h4 { font-size:1rem; line-height:1.4; }
  body[data-reading-page] .intro { font-size:1rem; line-height:1.7; }
  body[data-reading-page] .eyebrow { font-size:.7rem; letter-spacing:.08em; }
  body[data-reading-page] summary { font-size:.95rem; line-height:1.55; }

  /* PAT e DEME: largura aproveitada sem colunas excessivamente estreitas. */
  body:is([data-reading-page="pat"],[data-reading-page="deme"]) {
    --content:1600px; --gutter:clamp(18px,2.2vw,32px);
  }
  body:is([data-reading-page="pat"],[data-reading-page="deme"]) .hero {
    padding:38px var(--gutter) 36px;
  }
  body:is([data-reading-page="pat"],[data-reading-page="deme"]) h1 {
    font-size:clamp(2rem,3.7vw,3.2rem); line-height:1.16;
    letter-spacing:-.035em; margin:26px 0 20px; width:100%; max-width:none;
  }
  body:is([data-reading-page="pat"],[data-reading-page="deme"]) h1 span {
    display:inline; font-size:.72em; font-weight:600;
  }
  body:is([data-reading-page="pat"],[data-reading-page="deme"]) h2 {
    font-size:clamp(1.55rem,2.6vw,2.15rem); line-height:1.25; max-width:none;
  }
  body:is([data-reading-page="pat"],[data-reading-page="deme"]) .lede {
    font-size:1.1rem; line-height:1.65; max-width:85ch;
  }
  body:is([data-reading-page="pat"],[data-reading-page="deme"]) :is(main,.navin,.footerin) {
    padding-inline:var(--gutter);
  }
  body:is([data-reading-page="pat"],[data-reading-page="deme"]) main { padding-top:12px; }
  body:is([data-reading-page="pat"],[data-reading-page="deme"]) section { padding:42px 0 24px; }
  body:is([data-reading-page="pat"],[data-reading-page="deme"]) .brand {
    font-size:.75rem; line-height:1.6; letter-spacing:.06em; flex-wrap:wrap;
  }
  body:is([data-reading-page="pat"],[data-reading-page="deme"]) .chip { font-size:.78rem; }
  body:is([data-reading-page="pat"],[data-reading-page="deme"]) nav a {
    font-size:.82rem; padding:15px 12px; line-height:1.5;
  }
  body:is([data-reading-page="pat"],[data-reading-page="deme"]) .footerin { font-size:.78rem; }

  /* PAT: papéis, cronologia e roadmap com espaço para a fonte ampliada. */
  body[data-reading-page="pat"] :is(.hkpi span,.metric .label) { font-size:.84rem; }
  body[data-reading-page="pat"] .hkpi { padding:20px; }
  body[data-reading-page="pat"] .hkpi b { font-size:2rem; line-height:1.15; }
  body[data-reading-page="pat"] :is(.team,.roadmap,.sizes) {
    grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px;
  }
  body[data-reading-page="pat"] .timeline { grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
  body[data-reading-page="pat"] :is(.tl span,.q ul,.szcard p,.role p,.pillar ul,.w p) { font-size:.88rem; }
  body[data-reading-page="pat"] :is(.tl .d,.role .yr,.q .qh span,.pillar .k) { font-size:.75rem; }
  body[data-reading-page="pat"] .tl b { font-size:1rem; line-height:1.4; }
  body[data-reading-page="pat"] .role { padding:24px; }
  body[data-reading-page="pat"] .role .hrs { font-size:2rem; }
  body[data-reading-page="pat"] .role .bar { margin-top:8px; }
  body[data-reading-page="pat"] .base { grid-template-columns:240px minmax(0,1fr); }
  body[data-reading-page="pat"] .base span { font-size:.9rem; }
  body[data-reading-page="pat"] :is(.size,.tag,.filters button,.modebtn) { font-size:.76rem; }
  body[data-reading-page="pat"] :is(.filters button,.modebtn) { padding:9px 13px; line-height:1.5; }
  body[data-reading-page="pat"] td small { font-size:.8rem; }
  body[data-reading-page="pat"] td .code { font-size:.76rem; }
  body[data-reading-page="pat"] :is(.sc ul,.sc .badge,.quote cite,.internal-flag) { font-size:.8rem; }
  body[data-reading-page="pat"] .w { padding:22px; }
  body[data-reading-page="pat"] .w::before { position:static; margin-bottom:14px; }
  body[data-reading-page="pat"] .w h3 { font-size:1.05rem; }
  body[data-reading-page="pat"] .chart { min-height:0; overflow-x:auto; max-width:100%; }
  body[data-reading-page="pat"] .chart svg { width:100%; height:auto; overflow:visible; }
  body[data-reading-page="pat"] #chartCap svg { min-width:720px; }
  body[data-reading-page="pat"] #chartCat svg { min-width:920px; }

  /* DEME: manter a base de 20 px já existente e melhorar a distribuição. */
  body[data-reading-page="deme"] :is(.span3,.span4) { grid-column:span 6; }
  body[data-reading-page="deme"] .facts { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 32px; }
  body[data-reading-page="deme"] .evidence-list>div {
    grid-template-columns:280px minmax(0,1fr); gap:28px;
  }
  body[data-reading-page="deme"] .journey { grid-template-columns:repeat(4,minmax(0,1fr)); }
  body[data-reading-page="deme"] .step { padding:20px 16px; min-height:0; }
  body[data-reading-page="deme"] :is(.step span,.jcell b,.jcell span,.persona p,dd) { font-size:.9rem; }
  body[data-reading-page="deme"] :is(.persona .who,.tech span,.pill,.lname) { font-size:.78rem; }
  body[data-reading-page="deme"] .jrow { grid-template-columns:56px 1fr 1.2fr 1fr; gap:20px; }
  body[data-reading-page="deme"] .jcell { min-width:0; }
  body[data-reading-page="deme"] .chart { min-width:1040px; }
  body[data-reading-page="deme"] .gantt { min-width:1240px; }
  body[data-reading-page="deme"] :is(.chart text,.gantt text) { font-size:16px; }

  /* Portal Web: escala maior sem comprimir a área ao lado do menu fixo. */
  body[data-reading-page="chat-portal"] { --sidebar-w:304px; --reading-gutter:clamp(20px,2.2vw,32px); font-size:18px; }
  body[data-reading-page="chat-portal"] #sidebar-header { padding:24px 20px 18px; }
  body[data-reading-page="chat-portal"] #sidebar-header h2 { font-size:25px; line-height:1.3; }
  body[data-reading-page="chat-portal"] #sidebar-header p { font-size:15px; }
  body[data-reading-page="chat-portal"] .owner-line { font-size:13px!important; }
  body[data-reading-page="chat-portal"] .logo-tag { font-size:12px; letter-spacing:.06em; }
  body[data-reading-page="chat-portal"] .nav-section-title { font-size:12px; letter-spacing:.08em; }
  body[data-reading-page="chat-portal"] .nav-item { font-size:16px; line-height:1.5; padding:10px 12px; gap:9px; }
  body[data-reading-page="chat-portal"] .nav-item .n { font-size:12px; min-width:22px; }
  body[data-reading-page="chat-portal"] .nav-badge { font-size:12px; flex-shrink:0; }
  body[data-reading-page="chat-portal"] #sidebar-foot { padding:18px 20px; font-size:13px; }
  body[data-reading-page="chat-portal"] #content { padding:0 var(--reading-gutter) 36px; max-width:1600px; margin-inline:auto; width:100%; }
  body[data-reading-page="chat-portal"] #topbar { padding:14px var(--reading-gutter); flex-wrap:wrap; }
  body[data-reading-page="chat-portal"] #topbar .crumb { font-size:15px; }
  body[data-reading-page="chat-portal"] :is(.date-badge,#pgMid) { font-size:14px; }
  body[data-reading-page="chat-portal"] #pager { max-width:calc(100vw - 32px); }
  body[data-reading-page="chat-portal"] #pager button { padding:10px 18px; font-size:16px; }
  body[data-reading-page="chat-portal"] #menu-btn { font-size:16px; }
  body[data-reading-page="chat-portal"] .hero { margin-inline:calc(-1 * var(--reading-gutter)); padding:40px var(--reading-gutter) 34px; }
  body[data-reading-page="chat-portal"] .hero h1 { font-size:clamp(36px,3.7vw,56px); line-height:1.15; max-width:none; }
  body[data-reading-page="chat-portal"] .hero h1 span { font-size:.7em; }
  body[data-reading-page="chat-portal"] .hero .sub { font-size:20px; line-height:1.65; max-width:80ch; }
  body[data-reading-page="chat-portal"] h2.section-title { font-size:clamp(30px,2.8vw,42px); line-height:1.25; }
  body[data-reading-page="chat-portal"] .p-desc { font-size:18px; line-height:1.7; }
  body[data-reading-page="chat-portal"] :is(.small,.note,.scope li,details>div,.decisions li,.sources li) { font-size:16px; }
  body[data-reading-page="chat-portal"] h3 { font-size:22px; }
  body[data-reading-page="chat-portal"] h4 { font-size:18px; }
  body[data-reading-page="chat-portal"] .eyebrow { font-size:13px; }
  body[data-reading-page="chat-portal"] :is(.chip,.tag) { font-size:14px; }
  body[data-reading-page="chat-portal"] .status-strip { grid-template-columns:repeat(3,minmax(0,1fr)); }
  body[data-reading-page="chat-portal"] .status-strip>div { padding:18px; }
  body[data-reading-page="chat-portal"] .status-strip .k { font-size:13px; letter-spacing:.04em; }
  body[data-reading-page="chat-portal"] .status-strip .d { font-size:15px; }
  body[data-reading-page="chat-portal"] .status-strip .v small { font-size:17px; }
  body[data-reading-page="chat-portal"] :is(table,.scope-table) { font-size:16px; min-width:900px; }
  body[data-reading-page="chat-portal"] thead th { font-size:14px; }
  body[data-reading-page="chat-portal"] :is(caption,.legend,.arch-legend) { font-size:14px; }
  body[data-reading-page="chat-portal"] .trail { grid-template-columns:repeat(4,minmax(0,1fr)); row-gap:22px; }
  body[data-reading-page="chat-portal"] .trail div { font-size:15px; padding-right:18px; }
  body[data-reading-page="chat-portal"] .trail b { font-size:16px; }
  body[data-reading-page="chat-portal"] .tensions { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body[data-reading-page="chat-portal"] :is(.tension p,.tension .vs,.voice ul,.voice .who) { font-size:16px; }
  body[data-reading-page="chat-portal"] :is(.tension .vs i,.voice .role,.voice .src) { font-size:14px; }
  body[data-reading-page="chat-portal"] .org-head { flex-wrap:wrap; }
  body[data-reading-page="chat-portal"] .org-head h3 { font-size:20px; }
  body[data-reading-page="chat-portal"] .arch-title { flex-wrap:wrap; }
  body[data-reading-page="chat-portal"] .arch-title h3 { font-size:19px; }
  body[data-reading-page="chat-portal"] .arch-scroll svg { min-width:1440px; }
  body[data-reading-page="chat-portal"] .flow { grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
  body[data-reading-page="chat-portal"] .flow div { padding:18px; font-size:16px; }
  body[data-reading-page="chat-portal"] .flow b { font-size:18px; }
  body[data-reading-page="chat-portal"] .flow .n { font-size:14px; }
  body[data-reading-page="chat-portal"] #effortChart { overflow-x:auto; }
  body[data-reading-page="chat-portal"] #effortChart svg { min-width:1060px; }
  body[data-reading-page="chat-portal"] #ganttChart { min-width:1280px; }
  body[data-reading-page="chat-portal"] .scen ul { font-size:16px; }
  body[data-reading-page="chat-portal"] footer { padding:22px var(--reading-gutter) 92px; font-size:14px; }
}

@media screen and (min-width:1540px) {
  body[data-reading-page="pat"] :is(.team,.roadmap,.sizes) { grid-template-columns:repeat(4,minmax(0,1fr)); }
  body[data-reading-page="deme"] .facts { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media screen and (max-width:1240px) {
  body[data-reading-page="chat-portal"] #sidebar { transform:translateX(-100%); transition:transform .25s cubic-bezier(.22,1,.36,1); }
  body[data-reading-page="chat-portal"].menu-open #sidebar { transform:none; }
  body[data-reading-page="chat-portal"] :is(#main,footer) { margin-left:0; }
  body[data-reading-page="chat-portal"] #menu-btn { display:inline-block; }
  body[data-reading-page="chat-portal"] #scrim { display:none; position:fixed; inset:0; background:rgba(7,29,65,.45); z-index:90; }
  body[data-reading-page="chat-portal"].menu-open #scrim { display:block; }
  body[data-reading-page="chat-portal"] #pager { left:50%; }
}
@media screen and (max-width:1100px) {
  body[data-reading-page="pat"] :is(.span3,.span4,.span5,.span6,.span7,.span8) { grid-column:span 6; }
  body[data-reading-page="pat"] .timeline { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body[data-reading-page="pat"] .scen { grid-template-columns:1fr; }
  body[data-reading-page="deme"] .journey { grid-template-columns:repeat(3,minmax(0,1fr)); }
  body[data-reading-page="deme"] .evidence-list>div { grid-template-columns:220px minmax(0,1fr); gap:20px; }
  body[data-reading-page="chat-portal"] :is(.s4,.s5,.s7,.s8) { grid-column:span 12; }
  body[data-reading-page="chat-portal"] .scen { grid-template-columns:1fr; }
}
@media screen and (max-width:760px) {
  body[data-reading-page] :is(.span3,.span4,.span5,.span6,.span7,.span8,.s3,.s4,.s5,.s6,.s7,.s8) { grid-column:span 12; }
  body[data-reading-page="pat"] :is(.base,.pillars,.why) { grid-template-columns:1fr; }
  body[data-reading-page="deme"] .evidence-list>div { grid-template-columns:1fr; gap:8px; }
  body[data-reading-page="deme"] .jrow { grid-template-columns:48px 1fr; gap:14px; }
  body[data-reading-page="deme"] .jrow .jcell { grid-column:2; }
  body[data-reading-page="deme"] .jnum { grid-column:1; grid-row:1 / 4; }
  body[data-reading-page="deme"] .jrow .jcell:last-child { grid-column:2; }
  body[data-reading-page="chat-portal"] :is(.voices,.scope) { grid-template-columns:1fr; }
  body[data-reading-page="chat-portal"] .hero .sub { font-size:18px; }
}
@media screen and (max-width:620px) {
  html:has(body[data-reading-page]) { font-size:18px; }
  body[data-reading-page] :is(.card p,.card li,.callout,.note,.clean,.sources li,details>div) { font-size:1rem; }
  body[data-reading-page] :is(.card,.role) { padding:20px; }
  body:is([data-reading-page="pat"],[data-reading-page="deme"]) h1 { font-size:2rem; }
  body:is([data-reading-page="pat"],[data-reading-page="deme"]) .hero { padding:28px var(--gutter) 30px; }
  body:is([data-reading-page="pat"],[data-reading-page="deme"]) .brand { font-size:.75rem; }
  body:is([data-reading-page="pat"],[data-reading-page="deme"]) .navin { padding-inline:12px; }
  body[data-reading-page="pat"] :is(.hero-kpis,.team,.roadmap,.sizes,.timeline) { grid-template-columns:1fr; }
  body[data-reading-page="deme"] .facts { grid-template-columns:1fr; }
  body[data-reading-page="deme"] .journey { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body[data-reading-page="deme"] .summary-table td:last-child { white-space:normal; }
  body[data-reading-page="chat-portal"] :is(.status-strip,.trail) { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body[data-reading-page="chat-portal"] :is(.tensions,.flow) { grid-template-columns:1fr; }
  body[data-reading-page="chat-portal"] .date-badge { white-space:normal; }
  body[data-reading-page="chat-portal"] #sidebar { max-width:calc(100vw - 32px); }
  body[data-reading-page="chat-portal"] #pager button { font-size:15px; padding:10px 12px; }
}
@media screen and (prefers-reduced-motion:reduce) {
  body[data-reading-page] #sidebar { transition:none; }
}
