/*
 * danilodeathayde.com
 * Página de edição crítica: o texto na coluna, o aparato na margem,
 * números de verso e lemas em vermelho de rubrica. Uma só família, a Piazzolla,
 * em tamanhos que vão do aparato (glosas) ao texto (poemas, títulos).
 */

@font-face {
  font-family: "Piazzolla";
  src: url("fontes/piazzolla-latin.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Piazzolla";
  src: url("fontes/piazzolla-latin-italico.woff2") format("woff2");
  font-weight: 100 900;
  font-style: italic;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Piazzolla";
  src: url("fontes/piazzolla-latin-ext.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Piazzolla";
  src: url("fontes/piazzolla-latin-ext-italico.woff2") format("woff2");
  font-weight: 100 900;
  font-style: italic;
  font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Grade: [calha dos números][coluna de texto][entre][margem das glosas] */
:root {
  --papel: #f8f7f3;
  --papel-2: #efede7;
  --tinta: #191714;
  --tinta-2: #48433c;
  --tinta-3: #69635a;
  --rubrica: #a3201b;
  --rubrica-fundo: rgba(163, 32, 27, 0.09);
  --linha: #dcd8cf;
  --borda-capa: rgba(25, 23, 20, 0.16);
  --selecao: rgba(163, 32, 27, 0.18);
  --sombra: rgba(25, 23, 20, 0.14);

  --texto: "Piazzolla", "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;

  --t-rotulo: 0.75rem;
  --t-glosa: 0.9375rem;
  --t-corpo: clamp(1.0625rem, 1rem + 0.25vw, 1.1875rem);
  --t-lede: clamp(1.1875rem, 1.04rem + 0.5vw, 1.4375rem);
  --t-poema: clamp(1.25rem, 1rem + 1vw, 1.75rem);
  --t-titulo: clamp(2.375rem, 1.6rem + 3vw, 4.25rem);

  --calha: 1.9rem;
  --recuo: 0rem;
  --medida: 39rem;
  --margem: 17.5rem;
  --entre: clamp(2.5rem, 4vw, 4.5rem);
  --lado: clamp(18px, 5vw, 56px);
  --largura: calc(2.9rem + var(--medida) + var(--entre) + var(--margem));
  color-scheme: light;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --papel: #131210;
    --papel-2: #1c1a17;
    --tinta: #ebe5da;
    --tinta-2: #c5bdb0;
    --tinta-3: #a0978a;
    --rubrica: #ec8b77;
    --rubrica-fundo: rgba(236, 139, 119, 0.15);
    --linha: #34302a;
    --borda-capa: rgba(235, 229, 218, 0.14);
    --selecao: rgba(236, 139, 119, 0.26);
    --sombra: rgba(0, 0, 0, 0.55);
    color-scheme: dark;
  }
}
:root[data-theme="dark"] {
  --papel: #131210;
  --papel-2: #1c1a17;
  --tinta: #ebe5da;
  --tinta-2: #c5bdb0;
  --tinta-3: #a0978a;
  --rubrica: #ec8b77;
  --rubrica-fundo: rgba(236, 139, 119, 0.15);
  --linha: #34302a;
  --borda-capa: rgba(235, 229, 218, 0.14);
  --selecao: rgba(236, 139, 119, 0.26);
  --sombra: rgba(0, 0, 0, 0.55);
  color-scheme: dark;
}

@media (min-width: 64rem) {
  :root {
    --calha: 2.9rem;
    --recuo: 2.9rem;
    /* entre 64 e 69rem a margem estreita primeiro e a coluna depois, para tudo caber sem rolagem lateral */
    --margem: clamp(15.5rem, calc(100vw - 2 * var(--lado) - var(--calha) - var(--entre) - 39rem), 17.5rem);
    --medida: min(39rem, calc(100vw - 2 * var(--lado) - var(--calha) - var(--entre) - var(--margem)));
  }
}

/* ---------- base ---------- */

*, *::before, *::after { box-sizing: border-box; }

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  margin: 0;
  background: var(--papel);
  color: var(--tinta);
  font-family: var(--texto);
  font-size: var(--t-corpo);
  line-height: 1.6;
  font-optical-sizing: auto;
  font-kerning: normal;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

::selection { background: var(--selecao); }
[hidden] { display: none !important; }
img { display: block; max-width: 100%; height: auto; }
em, i { font-style: italic; }
h1, h2, h3 { text-wrap: balance; }
p { text-wrap: pretty; }

a {
  color: inherit;
  text-decoration-line: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2em;
  text-decoration-color: var(--linha);
  transition: color 0.15s ease, text-decoration-color 0.15s ease;
}
a:hover { color: var(--rubrica); text-decoration-color: currentColor; }

:focus-visible {
  outline: 2px solid var(--rubrica);
  outline-offset: 3px;
}

[id] { scroll-margin-top: 1.5rem; }

@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth; }
}

.folha {
  max-width: calc(var(--largura) + 2 * var(--lado));
  margin-inline: auto;
  padding-left: max(var(--lado), env(safe-area-inset-left, 0px));
  padding-right: max(var(--lado), env(safe-area-inset-right, 0px));
}

.rotulo {
  margin: 0;
  font-size: var(--t-rotulo);
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--tinta-3);
  line-height: 1.5;
}
.rotulo-nota {
  margin-left: 0.6em;
  font-size: 0.875rem;
  font-style: italic;
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
}

.pular {
  position: absolute;
  left: 0.75rem;
  top: -10rem;
  z-index: 10;
  padding: 0.6rem 0.9rem;
  background: var(--tinta);
  color: var(--papel);
  text-decoration: none;
}
.pular:focus { top: 0.75rem; }

main:focus { outline: none; }

/* ---------- cabeça ---------- */

.cabeca { padding-top: 1rem; }

.cabeca-dentro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas: "marca idioma" "secoes secoes";
  align-items: baseline;
  column-gap: 1rem;
  padding-bottom: 0.4rem;
  border-bottom: 1px solid var(--linha);
}

.assinatura {
  grid-area: marca;
  margin: 0;
  padding-block: 0.35rem 0.15rem;
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.3em;
  line-height: 1.4;
  text-transform: uppercase;
}
.assinatura a { text-decoration: none; }
.assinatura a:hover { color: var(--rubrica); }

.secoes { grid-area: secoes; }
.secoes ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0 1.15rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.secoes a {
  display: inline-block;
  padding-block: 0.6rem;
  font-size: 1rem;
  text-decoration: none;
}
.secoes a[aria-current="page"],
.secoes a.na-secao {
  text-decoration: underline;
  text-decoration-color: var(--rubrica);
  text-decoration-thickness: 1.5px;
  text-underline-offset: 0.4em;
}

.idioma {
  grid-area: idioma;
  justify-self: end;
  padding-block: 0.6rem;
  font-size: 0.9375rem;
  font-style: italic;
  text-decoration: none;
}

@media (min-width: 48rem) {
  .cabeca { padding-top: 1.4rem; }
  .cabeca-dentro {
    grid-template-columns: minmax(0, 1fr) auto auto;
    grid-template-areas: "marca secoes idioma";
    column-gap: 1.75rem;
    padding-bottom: 0.5rem;
  }
  .assinatura { padding-left: var(--recuo); }
  .secoes ul { gap: 0 1.6rem; }
}

/* ---------- página inicial: folha de rosto ---------- */

.rosto {
  padding-block: clamp(2.5rem, 8vw, 5.5rem) clamp(0.5rem, 2vw, 1rem);
  padding-left: var(--recuo);
}
.rosto-nome {
  margin: 0;
  font-size: var(--t-titulo);
  font-weight: 300;
  line-height: 1;
  letter-spacing: -0.012em;
}
.rosto-oficio {
  margin: 0.85rem 0 0;
  font-size: var(--t-lede);
  font-style: italic;
  font-weight: 360;
  line-height: 1.3;
  color: var(--tinta-2);
}
.rosto-texto {
  max-width: 33em;
  margin-top: 1.5rem;
  font-size: clamp(1.0625rem, 1rem + 0.35vw, 1.25rem);
  line-height: 1.58;
}
.rosto-texto p { margin: 0; }

/* nota ao leitor: por onde começar, no registro do aparato */
.nota-leitor {
  max-width: 33em;
  margin-top: 1.6rem;
  padding-top: 0.85rem;
  border-top: 1px dotted var(--linha);
}
.nota-leitor .rotulo { margin: 0; }
.nota-leitor ul { margin: 0.45rem 0 0; padding: 0; list-style: none; }
.nota-leitor li { margin: 0 0 0.3rem; font-size: 0.9375rem; line-height: 1.5; }
.nota-leitor-rot { font-style: italic; color: var(--tinta-3); }
.nota-leitor-rot::after { content: "\00a0›"; font-style: normal; color: var(--rubrica); }
.nota-leitor a { text-decoration-color: var(--rubrica); text-underline-offset: 0.22em; }

/* abertura: apresentação e, ao lado (no computador), os trabalhos selecionados em aparato */

.destaques {
  margin-top: clamp(2rem, 6vw, 3rem);
  padding: 1.1rem 0 0 var(--recuo);
  border-top: 1px solid var(--linha);
}
.destaques-titulo { margin: 0; }
.destaques-lista {
  display: grid;
  gap: 1.1rem;
  margin: 0.9rem 0 0;
  padding: 0;
  list-style: none;
}
.dest { min-width: 0; }
.dest-rotulo {
  display: flex;
  align-items: baseline;
  gap: 0.55rem;
  margin: 0;
  font-size: var(--t-rotulo);
  font-weight: 500;
  letter-spacing: 0.16em;
  line-height: 1.5;
  text-transform: uppercase;
  color: var(--tinta-3);
}
.dest-n { letter-spacing: 0; color: var(--rubrica); font-variant-numeric: tabular-nums; }
.dest-titulo {
  margin: 0.15rem 0 0;
  font-size: 1.25rem;
  font-weight: 360;
  line-height: 1.2;
}
.dest-titulo a { text-decoration: none; }
.dest-titulo a:hover { color: var(--rubrica); }
.dest-resumo { margin: 0.25rem 0 0; font-size: 0.9375rem; line-height: 1.45; color: var(--tinta-2); }
.dest-resumo a { text-decoration-color: var(--linha); }
.dest-estado { margin: 0.2rem 0 0; font-size: 0.8125rem; font-style: italic; color: var(--tinta-3); }
.dest-estado.em-curso { color: var(--rubrica); }
.destaques-mais { margin: 1.1rem 0 0; font-size: 0.9375rem; }
.destaques-mais a { text-decoration-color: var(--rubrica); }
@media (min-width: 40rem) and (max-width: 63.99rem) {
  .destaques-lista { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem 2rem; }
}
@media (min-width: 64rem) {
  .abertura {
    display: grid;
    grid-template-columns: calc(var(--calha) + var(--medida)) var(--margem);
    column-gap: var(--entre);
    align-items: start;
  }
  .destaques {
    margin-top: 0;
    padding: clamp(2rem, 6vw, 4rem) 0 0;
    border-top: 0;
  }
  .pagina-inicio .rosto { padding-top: clamp(2rem, 6vw, 4rem); }
  .pagina-inicio .leitura { margin-top: clamp(2.5rem, 5vw, 3.5rem); }
  .destaques-lista { gap: 0.85rem; }
  .dest { padding-top: 0.85rem; border-top: 1px dotted var(--linha); }
  .dest:first-child { padding-top: 0; border-top: 0; }
  .dest-titulo { font-size: 1.1875rem; }
  .dest-resumo { font-size: 0.875rem; }
}

/* ---------- blocos (página inicial e páginas de seção) ---------- */

.bloco {
  margin-top: clamp(3rem, 7vw, 5rem);
  padding-top: clamp(1.25rem, 3vw, 1.75rem);
  border-top: 1px solid var(--linha);
}
.bloco-titulo { margin: 0; padding-left: var(--recuo); }
.bloco-cabeca {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.2rem 1rem;
  padding-left: var(--recuo);
}
.bloco-cabeca .bloco-titulo { padding-left: 0; }
.bloco-nota {
  margin: 0;
  font-size: 0.9375rem;
  font-style: italic;
  color: var(--tinta-2);
}
.bloco-mais {
  margin: 1.4rem 0 0;
  padding-left: var(--recuo);
  font-size: 0.9375rem;
}
.bloco-mais a { text-decoration-color: var(--rubrica); }

/* ---------- trabalhos selecionados: um sumário com aparato na margem ---------- */

.selecionados {
  margin: 0.9rem 0 0;
  padding: 0;
  list-style: none;
}
.sel {
  display: grid;
  grid-template-columns: var(--calha) minmax(0, 1fr);
  padding-block: 1.1rem 1.25rem;
  border-top: 1px dotted var(--linha);
}
.sel:first-child { border-top: 0; }
.sel-n {
  grid-column: 1;
  grid-row: 1 / span 2;
  padding-top: 0.15rem;
  font-size: 0.75rem;
  font-weight: 450;
  color: var(--rubrica);
  font-variant-numeric: tabular-nums;
}
.sel-corpo { grid-column: 2; min-width: 0; }
.sel-margem { grid-column: 2; min-width: 0; margin-top: 0.55rem; }
.sel-rotulo {
  margin: 0;
  font-size: var(--t-rotulo);
  font-weight: 500;
  letter-spacing: 0.18em;
  line-height: 1.5;
  text-transform: uppercase;
  color: var(--tinta-3);
}
.sel-titulo {
  margin: 0.3rem 0 0;
  font-size: clamp(1.375rem, 1.15rem + 0.9vw, 1.875rem);
  font-weight: 340;
  line-height: 1.15;
  text-wrap: balance;
}
.sel-titulo a { text-decoration: none; }
.sel-titulo a:hover { color: var(--rubrica); }
.sel-resumo {
  max-width: 34em;
  margin: 0.5rem 0 0;
  font-size: 1rem;
  line-height: 1.55;
  color: var(--tinta-2);
}
.sel-estado {
  margin: 0;
  font-size: 0.875rem;
  font-style: italic;
  line-height: 1.45;
  color: var(--tinta-2);
}
.sel-estado.em-curso { color: var(--rubrica); }
.sel-links { margin: 0.2rem 0 0; font-size: 0.875rem; }

@media (min-width: 64rem) {
  .sel { grid-template-columns: var(--calha) minmax(0, var(--medida)) var(--margem); }
  .sel-margem {
    grid-column: 3;
    grid-row: 1 / span 2;
    margin: 0;
    padding: 1.45rem 0 0 var(--entre);
  }
}

/* ---------- fios na página inicial ---------- */

.fios-sel {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.5rem 2.25rem;
  margin: 1.1rem 0 0;
  padding: 0 0 0 var(--recuo);
  list-style: none;
}
.fio-sel-nome {
  margin: 0.2rem 0 0;
  font-size: 1.375rem;
  font-style: italic;
  font-weight: 360;
  line-height: 1.2;
}
.fio-sel-nome a { text-decoration-style: dotted; text-decoration-color: var(--rubrica); text-underline-offset: 0.22em; }
.fio-sel-def p {
  margin: 0.45rem 0 0;
  font-size: 0.9375rem;
  line-height: 1.5;
  color: var(--tinta-2);
}
.fio-sel-meta { margin: 0.4rem 0 0; font-size: 0.8125rem; color: var(--tinta-3); }

@media (min-width: 48rem) {
  .fios-sel { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 64rem) {
  .fios-sel { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  /* rótulos de nível com uma ou duas linhas: os nomes dos fios ficam alinhados */
  .fio-sel-nivel { display: flex; align-items: flex-end; min-height: 2.8em; }
}

/* ---------- fragmentos e glosas ---------- */

.fragmentos-nav {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0 1rem;
  margin: 0;
}
/* o seletor de fragmentos fica na linha do rótulo Leitura, à direita */
.leitura-cabeca .fragmentos-nav { flex-basis: 100%; }
@media (min-width: 48rem) {
  .leitura-cabeca .fragmentos-nav { flex-basis: auto; margin-left: auto; }
}
.fragmentos-botoes { display: flex; flex-wrap: wrap; gap: 0 0.15rem; margin-left: -0.5rem; }
.fragmentos-botoes button {
  min-height: 44px;
  padding: 0.55rem 0.5rem;
  border: 0;
  background: none;
  color: var(--tinta-3);
  font: inherit;
  font-size: 0.8125rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  cursor: pointer;
}
.fragmentos-botoes button:hover { color: var(--tinta); }
.fragmentos-botoes button[aria-pressed="true"] {
  color: var(--tinta);
  text-decoration: underline;
  text-decoration-color: var(--rubrica);
  text-decoration-thickness: 1.5px;
  text-underline-offset: 0.55em;
}

.glosado { position: relative; }
.leitura .fragmento { margin-top: 1.6rem; }

.frag-cabeca {
  margin-bottom: 1.4rem;
  padding-left: var(--calha);
}
.frag-lingua {
  max-width: 34em;
  margin: 0.5rem 0 0;
  font-size: 0.875rem;
  line-height: 1.5;
  color: var(--tinta-2);
}
.frag-lingua .rotulo { margin-right: 0.55rem; color: var(--rubrica); }
.frag-contexto { font-style: italic; }
.frag-titulo {
  margin: 0;
  font-size: 0.9375rem;
  font-weight: 500;
  letter-spacing: 0.34em;
  text-transform: uppercase;
}
.frag-fonte {
  margin: 0.3rem 0 0;
  font-size: 0.875rem;
  color: var(--tinta-3);
}

.poema {
  max-width: calc(var(--calha) + var(--medida));
  padding-left: var(--calha);
  font-size: var(--t-poema);
  font-weight: 380;
  line-height: 1.5;
}
.estrofe { margin: 0 0 0.9em; }
.estrofe:last-of-type { margin-bottom: 0.4em; }
.verso {
  margin: 0;
  padding-left: 1.3em;
  text-indent: -1.3em;
}
.vn {
  display: inline-block;
  width: var(--calha);
  margin-left: calc(-1 * var(--calha));
  padding-right: 0.8rem;
  text-align: right;
  text-indent: 0;
  font-size: 0.6875rem;
  font-weight: 450;
  letter-spacing: 0.04em;
  color: var(--rubrica);
  font-variant-numeric: tabular-nums;
}

del {
  color: var(--rubrica);
  text-decoration-color: var(--rubrica);
  text-decoration-thickness: 0.07em;
}

/* a palavra glosada remete à glosa: na margem, depois da estrofe ou na gaveta do celular */
.lema {
  color: inherit;
  text-decoration-line: underline;
  text-decoration-style: dotted;
  text-decoration-color: var(--rubrica);
  text-decoration-thickness: 1.5px;
  text-underline-offset: 0.24em;
  transition: background-color 0.2s ease, box-shadow 0.2s ease;
}
.lema:hover { color: inherit; text-decoration-style: solid; text-decoration-color: var(--rubrica); }
.lema.ativo {
  background: var(--rubrica-fundo);
  box-shadow: 0 0 0 0.12em var(--rubrica-fundo);
}

.vh {
  position: absolute !important;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

.glosa {
  max-width: calc(var(--calha) + 30rem);
  margin: 0.35rem 0 1.15rem;
  padding-left: calc(var(--calha) + 1.3em);
  font-size: var(--t-glosa);
  font-weight: 400;
  line-height: 1.45;
  color: var(--tinta-2);
}
.glosa p { margin: 0 0 0.3rem; }
.glosa p:last-child { margin-bottom: 0; }
.glosa:focus { outline: none; }
.glosa:focus-visible { outline: 2px solid var(--rubrica); outline-offset: 4px; }
.glosa-lema {
  color: var(--rubrica);
  font-size: 0.875rem;
}
.glosa-volta { color: var(--rubrica); text-decoration: none; }
.glosa-volta:hover { color: var(--rubrica); text-decoration: underline; text-decoration-color: currentColor; }
.glosa-n { font-variant-numeric: tabular-nums; margin-right: 0.15rem; }
.glosa-palavra { font-style: italic; }
.glosa-colchete { margin-left: 0.05rem; }
.glosa.ativa .glosa-palavra { text-decoration: underline; text-underline-offset: 0.2em; }

.poema .glosa { font-size: var(--t-glosa); }

.fios-linha {
  margin: 1.75rem 0 0;
  padding-left: var(--calha);
  font-size: 0.9375rem;
  color: var(--tinta-2);
}
.fios-linha .rotulo { margin-right: 0.6rem; }
.fios-linha a { font-style: italic; text-decoration-style: dotted; text-decoration-color: var(--rubrica); }

@media (min-width: 64rem) {
  .glosas-na-margem .glosa {
    position: absolute;
    left: calc(var(--calha) + var(--medida) + var(--entre));
    width: var(--margem);
    max-width: none;
    margin: 0;
    padding: 0;
  }
}

/* No celular, com o script, as glosas saem do fluxo do poema e abrem numa gaveta,
   uma por vez; o leitor pode trazê-las todas de volta ao texto. Sem o script,
   ficam depois de cada estrofe. */
.glosado.notas-gaveta .glosa { display: none; }
.glosado.notas-gaveta.notas-abertas .glosa { display: block; }

.notas-controle {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0 1rem;
  margin: -0.5rem 0 1.1rem;
  padding-left: var(--calha);
  font-size: 0.875rem;
  color: var(--tinta-2);
}
.prosa-glosada .notas-controle { padding-left: 0; margin-top: 0; }
.notas-dica { margin: 0; font-style: italic; }
.notas-botao {
  min-height: 44px;
  padding: 0.4rem 0;
  border: 0;
  background: none;
  color: var(--tinta);
  font: inherit;
  font-size: 0.875rem;
  text-decoration: underline;
  text-decoration-color: var(--linha);
  text-underline-offset: 0.2em;
  cursor: pointer;
}
.notas-botao:hover { color: var(--rubrica); text-decoration-color: currentColor; }

.gaveta {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 20;
  max-height: min(62vh, 28rem);
  overflow-y: auto;
  padding: 0.9rem max(var(--lado), env(safe-area-inset-right, 0px)) calc(1.4rem + env(safe-area-inset-bottom, 0px)) max(var(--lado), env(safe-area-inset-left, 0px));
  background: var(--papel);
  border-top: 1px solid var(--linha);
  box-shadow: 0 -0.75rem 2rem var(--sombra);
  font-size: 1rem;
  line-height: 1.5;
  color: var(--tinta-2);
}
.gaveta:focus { outline: none; }
.gaveta-topo {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.35rem;
}
.gaveta-rotulo { color: var(--rubrica); font-size: 0.9375rem; }
.gaveta-rotulo .glosa-palavra { font-style: italic; }
.gaveta-fechar {
  min-width: 44px;
  min-height: 44px;
  padding: 0.4rem 0 0.4rem 0.75rem;
  border: 0;
  background: none;
  color: var(--tinta);
  font: inherit;
  font-size: 0.875rem;
  font-style: italic;
  text-decoration: underline;
  text-decoration-color: var(--linha);
  text-underline-offset: 0.2em;
  cursor: pointer;
}
.gaveta-corpo p { margin: 0 0 0.45rem; max-width: 36em; }
.gaveta-corpo p:last-child { margin-bottom: 0; }
body.com-gaveta { padding-bottom: var(--gaveta-altura, 0px); }

@media (min-width: 64rem) {
  .notas-controle, .gaveta { display: none !important; }
}

/* ---------- cabeçalho das páginas internas ---------- */

.pagina-cabeca {
  padding-block: clamp(2.25rem, 7vw, 5rem) clamp(1.5rem, 4vw, 2.75rem);
  padding-left: var(--recuo);
}
.pagina-cabeca h1,
.livro-cabeca h1 {
  margin: 0;
  font-size: var(--t-titulo);
  font-weight: 300;
  line-height: 1.02;
  letter-spacing: -0.01em;
}
.pagina-intro {
  max-width: 33em;
  margin-top: 1.25rem;
  font-size: var(--t-lede);
  font-weight: 360;
  line-height: 1.38;
}
.pagina-intro p { margin: 0 0 0.6em; }

/* ---------- prosa ---------- */

.prosa { max-width: var(--medida); }
.prosa p { margin: 0 0 1.05em; hyphens: auto; -webkit-hyphens: auto; }
.prosa h2 {
  margin: 2.6rem 0 0.9rem;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.26em;
  line-height: 1.5;
  text-transform: uppercase;
}
.prosa h2 em { text-transform: none; letter-spacing: 0.02em; font-size: 1.05rem; }
.prosa .citacao-verso { margin: 0 0 1.05em; font-style: italic; }

.prosa-glosada {
  max-width: none;
  padding-left: var(--recuo);
}
.prosa-glosada > p,
.prosa-glosada > h2,
.prosa-glosada > ul { max-width: var(--medida); }
.prosa-glosada .glosa { padding-left: 1.3em; }

/* ---------- tese ---------- */

.tese-cabeca .subtitulo {
  max-width: 28em;
  margin: 0.7rem 0 0;
  font-size: var(--t-lede);
  font-style: italic;
  font-weight: 360;
  line-height: 1.3;
}
.tese-cabeca .rotulo { margin-bottom: 1rem; }
.fios-tese { margin-top: 1.5rem; padding-left: var(--recuo); }

/* ---------- livros: o índice ---------- */

.estante-grupo {
  padding-left: var(--recuo);
  border-top: 1px solid var(--linha);
  padding-top: 1.25rem;
}
.estante-grupo + .estante-grupo { margin-top: clamp(2.25rem, 6vw, 3.5rem); }
.estante-grupo-titulo { margin: 0; }
.estante-grupo-titulo .conta { margin-left: 0.35rem; color: var(--rubrica); letter-spacing: 0; }
.estante {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2rem 1.25rem;
  margin: 1.4rem 0 0;
  padding: 0;
  list-style: none;
}
.estante-item > a {
  display: grid;
  grid-template-columns: 1.6rem minmax(0, 1fr);
  grid-template-areas: "capa capa" "n titulo" ". dados";
  align-items: baseline;
  column-gap: 0.35rem;
  height: 100%;
  text-decoration: none;
}
.estante-capa {
  grid-area: capa;
  display: flex;
  align-items: flex-end;
  height: 11rem;
  margin-bottom: 0.85rem;
}
.estante-img {
  width: auto;
  max-width: 100%;
  max-height: 100%;
  outline: 1px solid var(--borda-capa);
  outline-offset: -1px;
}
.estante-tipo {
  display: grid;
  place-items: center;
  height: 100%;
  aspect-ratio: 2 / 3;
  max-width: 100%;
  padding: 0.75rem;
  background: var(--papel-2);
  border: 1px solid var(--linha);
  box-shadow: inset 0 0 0 0.3rem var(--papel-2), inset 0 0 0 calc(0.3rem + 1px) var(--linha);
  font-size: 0.9375rem;
  font-style: italic;
  line-height: 1.3;
  text-align: center;
  color: var(--tinta-2);
}
.estante-n {
  grid-area: n;
  font-size: 0.8125rem;
  color: var(--rubrica);
  font-variant-numeric: tabular-nums;
}
.estante-titulo {
  grid-area: titulo;
  font-size: clamp(1.1875rem, 1.05rem + 0.6vw, 1.5rem);
  font-weight: 340;
  line-height: 1.15;
}
.estante-dados {
  grid-area: dados;
  margin-top: 0.3rem;
  font-size: 0.875rem;
  line-height: 1.4;
  color: var(--tinta-2);
}
.estante-assinatura { display: block; font-style: italic; }
.estante-item > a:hover .estante-titulo,
.estante-item > a:focus-visible .estante-titulo { color: var(--rubrica); }
.estante-item > a:hover .estante-img { outline-color: var(--rubrica); }

/* Em curso: o grupo que abre a estante, com a capa ao lado do título e uma linha de texto */
.estante-curso { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
.estante-destaque > a {
  grid-template-columns: 6.5rem 1.6rem minmax(0, 1fr);
  grid-template-areas: "capa n titulo" "capa . dados" "capa . texto";
  grid-template-rows: auto auto 1fr;
  height: auto;
}
.estante-destaque .estante-capa {
  display: block;
  height: auto;
  margin: 0.2rem 0.9rem 0 0;
  align-self: start;
}
.estante-destaque .estante-img { width: 100%; height: auto; max-height: none; }
.estante-destaque .estante-tipo { width: 100%; height: auto; padding: 0.5rem; font-size: 0.8125rem; }
.estante-texto {
  grid-area: texto;
  max-width: 27rem;
  margin-top: 0.6rem;
  font-size: 0.9375rem;
  line-height: 1.45;
  color: var(--tinta);
}

@media (min-width: 48rem) {
  .estante { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.5rem 2rem; }
  .estante-capa { height: 13.5rem; }
  .estante-curso { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.5rem 2.5rem; }
  .estante-destaque > a { grid-template-columns: 9rem 1.6rem minmax(0, 1fr); }
  .estante-destaque .estante-capa { height: auto; }
  .estante-destaque .estante-tipo { font-size: 0.9375rem; }
}

/* ---------- livro: página ---------- */

.colecao {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem 1.5rem;
  margin-top: clamp(1rem, 3vw, 1.75rem);
  padding: 0.35rem 0 0.35rem var(--recuo);
  border-bottom: 1px solid var(--linha);
  font-size: 0.9375rem;
}
.colecao-pos {
  margin: 0;
  font-size: var(--t-rotulo);
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--tinta-3);
}
.colecao-indice { color: var(--tinta); text-decoration-color: var(--rubrica); text-underline-offset: 0.3em; }
.colecao-n { color: var(--tinta); }
.colecao-grupo { white-space: nowrap; }
.colecao-passos {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.5rem;
  width: 100%;
}
.colecao-ant, .colecao-seg {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  min-height: 44px;
  min-width: 0;
  padding: 0.35rem 0.7rem;
  border: 1px solid var(--linha);
  text-decoration: none;
}
.colecao-seg { justify-content: flex-end; text-align: right; }
.colecao-ant.vazio, .colecao-seg.vazio { border-color: transparent; }
.colecao-titulo { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.colecao-seta { flex: none; font-size: 1.375rem; line-height: 1; color: var(--rubrica); }
.colecao-rotulo { display: none; margin-right: 0.3rem; font-size: var(--t-rotulo); font-weight: 500; letter-spacing: 0.18em; text-transform: uppercase; color: var(--tinta-3); }
.colecao-ant:hover, .colecao-seg:hover { border-color: var(--rubrica); }
.colecao-ant:hover em, .colecao-seg:hover em { color: var(--rubrica); }
@media (min-width: 48rem) {
  .colecao { flex-wrap: nowrap; }
  .colecao-pos { min-width: 0; }
  .colecao-passos { display: flex; width: auto; min-width: 0; gap: 0.25rem; }
  .colecao-ant, .colecao-seg { flex: 0 1 auto; max-width: 22rem; border-color: transparent; padding-inline: 0.6rem; }
  .colecao-rotulo { display: inline; }
  .colecao-ant.vazio, .colecao-seg.vazio { display: none; }
}
@media (min-width: 64rem) {
  .colecao-pos { flex: none; }
}

.livro-cabeca {
  padding-block: clamp(1.5rem, 5vw, 3rem) clamp(1.25rem, 3vw, 2.25rem);
  padding-left: var(--recuo);
}
.migalha a { text-decoration: none; }
.migalha a:hover { text-decoration: underline; }
.livro-cabeca h1 { margin-top: 0.85rem; }
.livro-genero {
  margin: 0.55rem 0 0;
  font-size: 1.0625rem;
  font-style: italic;
  color: var(--tinta-2);
}

.livro-grade {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas: "capa" "texto" "margem";
  gap: 2.25rem;
  padding-bottom: 3rem;
}
.livro-capa-area { grid-area: capa; max-width: 15rem; }
/* livro com obra digital (Noemáfagos): a obra digital vem antes da capa no celular e no alto da coluna de texto no computador */
.livro-grade.com-digital { grid-template-areas: "digital" "capa" "texto" "margem"; }
.livro-digital-area { grid-area: digital; min-width: 0; }
.livro-digital-area .obra-digital { margin: 0; }
.livro-texto { grid-area: texto; min-width: 0; }
.livro-margem {
  grid-area: margem;
  min-width: 0;
  font-size: var(--t-glosa);
  line-height: 1.5;
  color: var(--tinta-2);
}

.capa { margin: 0; }
.capa img { width: 100%; outline: 1px solid var(--borda-capa); outline-offset: -1px; }
.capa figcaption { margin-top: 0.5rem; font-size: 0.8125rem; color: var(--tinta-3); }

.capa-tipografica {
  display: grid;
  place-items: center;
  aspect-ratio: 2 / 3;
  max-width: 100%;
  padding: 1.5rem;
  background: var(--papel-2);
  border: 1px solid var(--linha);
  box-shadow: inset 0 0 0 0.6rem var(--papel-2), inset 0 0 0 calc(0.6rem + 1px) var(--linha);
  font-size: 1.375rem;
  font-style: italic;
  text-align: center;
}

.livro-texto .prosa p:first-child { font-size: var(--t-lede); font-weight: 360; line-height: 1.38; hyphens: manual; -webkit-hyphens: manual; }

.citacao {
  max-width: var(--medida);
  margin: 2.25rem 0 0;
  padding: 0;
}
.citacao p {
  margin: 0;
  font-size: 1.25rem;
  font-style: italic;
  font-weight: 360;
  line-height: 1.45;
  text-indent: -0.42em;
}
.citacao p::before { content: "“"; }
.citacao p::after { content: "”"; }
.citacao footer { margin-top: 0.6rem; font-size: 0.875rem; color: var(--tinta-3); }

.amostra { margin-top: 2.75rem; }
.amostra-titulo {
  margin: 0 0 1.1rem;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.3em;
  text-transform: uppercase;
}
.poema-livro {
  padding-left: 0;
  font-size: clamp(1.125rem, 1rem + 0.5vw, 1.375rem);
}
.poema-nota { margin: 0.9rem 0 0; font-size: 0.875rem; color: var(--tinta-3); font-style: italic; }

.no-site { margin-top: 2.5rem; }

/* Documentos do arquivo de um livro (Sonhos e outros sonos): referência e uma linha */
.documentos { margin-top: 2.5rem; }
.documentos-lista { max-width: 36rem; margin: 0.9rem 0 0; padding: 0; list-style: none; }
.documento { display: grid; gap: 0.2rem; padding: 0.85rem 0; border-top: 1px solid var(--linha); }
.documento:last-child { border-bottom: 1px solid var(--linha); }
.documento-tipo { font-size: 0.8125rem; font-style: italic; color: var(--rubrica); }
.documento-ref { font-size: 1rem; line-height: 1.4; }
.documento-desc { font-size: 0.875rem; line-height: 1.5; color: var(--tinta-2); }

/* Glossário: anatomia de um verbete, cada parte na tipografia que tem no livro */
.anatomia { margin-top: 2.5rem; }
.anatomia-folha {
  max-width: 31rem;
  margin: 0.9rem 0 0;
  padding: 1.15rem 1.35rem 1.25rem;
  border: 1px solid var(--linha);
}
.anatomia-linha {
  display: grid;
  grid-template-columns: 6.25rem minmax(0, 1fr);
  column-gap: 1rem;
  align-items: baseline;
}
.anatomia-linha + .anatomia-linha { margin-top: 0.75rem; }
.anatomia-linha dt {
  font-size: var(--t-rotulo);
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--rubrica);
}
.anatomia-linha dd { margin: 0; line-height: 1.4; }
.anatomia-termo dd { font-size: 1.125rem; font-variant-caps: all-small-caps; letter-spacing: 0.07em; }
.anatomia-termo dd em { font-size: 1rem; font-variant-caps: normal; letter-spacing: 0; }
.anatomia-poema dd { font-style: italic; }
.anatomia-glosa dd { font-size: 0.875rem; line-height: 1.5; color: var(--tinta-2); }
@media (max-width: 29.99rem) {
  .anatomia-linha { grid-template-columns: minmax(0, 1fr); }
  .anatomia-linha dt { margin-bottom: 0.1rem; }
}
.lista-poemas {
  display: flex;
  flex-wrap: wrap;
  margin: 0.75rem 0 0;
  padding: 0;
  list-style: none;
  font-size: 1.0625rem;
}
.lista-poemas li:not(:last-child)::after { content: "·"; margin-inline: 0.5rem; color: var(--tinta-3); }
.lista-poemas a { text-decoration-color: var(--linha); }

.livro-texto .fios-linha { padding-left: 0; }

.livro-margem .referencia { margin: 0 0 0.8rem; color: var(--tinta); }
.livro-margem .creditos { margin: 0 0 0.8rem; }
.nota { margin-top: 1.4rem; }
.nota .rotulo { margin-bottom: 0.35rem; }
.nota ul { margin: 0; padding: 0; list-style: none; }
.nota li { margin: 0 0 0.4rem; }
.foto, .edicao { margin: 1.75rem 0 0; }
.foto img, .edicao img { width: 100%; outline: 1px solid var(--borda-capa); outline-offset: -1px; }
.edicao img { max-width: 9rem; }
.foto figcaption, .edicao figcaption { margin-top: 0.5rem; font-size: 0.8125rem; color: var(--tinta-3); }

.capas { margin: 0; }
.capas-lista {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.capas-lista img { width: 100%; outline: 1px solid var(--borda-capa); outline-offset: -1px; }
.capas figcaption {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.4rem 1rem;
  margin-top: 0.7rem;
  font-size: 0.8125rem;
  color: var(--tinta-3);
}
.capas.visor .capas-lista { display: block; }
.capas.visor .capa-item { display: none; }
.capas.visor .capa-item.atual { display: block; }
.capas.visor .capa-item img {
  aspect-ratio: 2 / 3;
  object-fit: contain;
  object-position: left top;
  outline: 0;
}
.capas-controle { display: inline-flex; align-items: center; gap: 0.75rem; }
.capas-controle button {
  min-height: 44px;
  padding: 0.5rem 0.9rem;
  border: 1px solid var(--linha);
  background: none;
  color: var(--tinta);
  font: inherit;
  font-size: 0.875rem;
  font-style: italic;
  cursor: pointer;
}
.capas-controle button:hover { border-color: var(--rubrica); color: var(--rubrica); }
.capas-contador { font-variant-numeric: tabular-nums; }

.livro-nav {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-areas: "ant seg" "indice indice";
  gap: 1rem 1.5rem;
  padding-block: 1.4rem 0.5rem;
  border-top: 1px solid var(--linha);
}
.livro-nav a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.2rem;
  min-height: 44px;
  font-size: 1.1875rem;
  text-decoration: none;
}
.livro-nav .rotulo { color: var(--rubrica); }
.livro-nav .anterior { grid-area: ant; }
.livro-nav .proximo { grid-area: seg; text-align: right; align-items: flex-end; }
.livro-nav .livro-nav-indice { grid-area: indice; align-items: center; text-align: center; font-size: 1rem; padding-top: 0.75rem; border-top: 1px dotted var(--linha); }
.livro-nav .livro-nav-indice .rotulo { color: var(--tinta-3); }
.livro-nav a:hover em, .livro-nav a:hover > span:last-child { color: var(--rubrica); }
@media (min-width: 48rem) {
  .livro-nav { grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); grid-template-areas: "ant indice seg"; }
  .livro-nav .livro-nav-indice { padding-top: 0; border-top: 0; }
}

@media (min-width: 64rem) {
  .livro-grade {
    grid-template-columns: calc(var(--calha) + var(--medida)) var(--margem);
    grid-template-areas: "texto capa" "texto margem";
    grid-template-rows: auto 1fr;
    column-gap: var(--entre);
    row-gap: 0;
    align-items: start;
  }
  .livro-texto { padding-left: var(--calha); }
  .livro-capa-area { max-width: none; }
  .livro-grade.com-digital { grid-template-areas: "digital capa" "texto capa" "texto margem"; grid-template-rows: auto auto 1fr; }
  .livro-digital-area { padding-left: var(--calha); padding-bottom: 2.25rem; }
  .livro-margem { padding-top: 1.5rem; }
  .livro-nav { margin-left: var(--recuo); }
}

/* Trajetória: a foto do barco, a principal, na largura da coluna e com a cor original; a do
   andaime, secundária, menor e com legenda; os documentos do ensino médio, pequenos, lado a lado,
   na mesma altura (a largura de cada um vem da proporção da imagem, em --razao). */
.foto-complementar, .foto-secundaria { max-width: 36em; margin: 1.6rem 0 1.75rem; }
.foto-secundaria { max-width: 24em; }
.foto-complementar img, .foto-secundaria img, .acervo img {
  display: block;
  width: 100%;
  height: auto;
  outline: 1px solid var(--borda-capa);
  outline-offset: -1px;
}
.acervo img { width: auto; height: var(--acervo-altura); max-width: 100%; object-fit: contain; }
.foto-secundaria figcaption, .acervo figcaption {
  margin-top: 0.5rem;
  font-size: 0.8125rem;
  line-height: 1.45;
  color: var(--tinta-3);
}
.acervo {
  --acervo-altura: clamp(6.25rem, 5.2rem + 3vw, 8.5rem);
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 1.1rem 1.5rem;
  max-width: 36em;
  margin: 1.4rem 0 1.75rem;
  padding: 0;
  list-style: none;
}
/* a legenda nunca fica mais estreita que 12.5rem, para não virar uma coluna de palavras */
.acervo li { width: max(12.5rem, calc(var(--acervo-altura) * var(--razao, 1))); max-width: 100%; margin: 0; }
.acervo figure { margin: 0; }
.acervo a { display: inline-block; max-width: 100%; }
.acervo a:hover img, .acervo a:focus-visible img { outline-color: var(--rubrica); }
.sobre-trajetoria .sobre-texto > p { max-width: 36em; }

/* ---------- comunicação em congresso ---------- */

.colecao-simples { justify-content: flex-start; }
.com-cabeca h1 { font-size: clamp(2rem, 1.5rem + 2.4vw, 3.25rem); text-wrap: balance; }
.com-subtitulo {
  max-width: 30em;
  margin: 0.6rem 0 0;
  font-size: var(--t-lede);
  font-style: italic;
  font-weight: 360;
  line-height: 1.3;
  text-wrap: balance;
}
.com-autoria { margin: 1.1rem 0 0; font-size: 1.0625rem; }
.com-evento { max-width: 40em; margin: 0.3rem 0 0; font-size: 0.9375rem; color: var(--tinta-2); }
.com-estado {
  display: inline-block;
  margin: 0.9rem 0 0;
  padding: 0.2rem 0.6rem;
  border: 1px solid var(--linha);
  font-size: 0.8125rem;
  font-style: italic;
  color: var(--tinta-2);
}
.com-grade {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 2.25rem;
  padding-bottom: 3rem;
  padding-left: var(--recuo);
}
.com-texto { min-width: 0; }
.com-secao + .com-secao { margin-top: 2.25rem; }
.com-secao > .rotulo { margin: 0 0 0.7rem; }
.com-lingua { margin-left: 0.4rem; font-style: italic; letter-spacing: 0.04em; text-transform: none; }
.com-resumo { max-width: var(--medida); }
.com-resumo p { margin: 0 0 0.9em; font-size: 1rem; line-height: 1.6; hyphens: auto; -webkit-hyphens: auto; }
.com-chaves { max-width: var(--medida); margin: 0.4rem 0 0; font-size: 0.875rem; color: var(--tinta-2); }
.com-chaves .rotulo { margin-right: 0.5rem; }
.com-contexto p { font-size: 1.0625rem; }
.com-excerto { margin-top: 0; }
.com-fios { display: flex; flex-wrap: wrap; margin: 0; padding: 0; list-style: none; font-size: 1.125rem; font-style: italic; }
.com-fios li:not(:last-child)::after { content: "·"; margin-inline: 0.55rem; color: var(--tinta-3); font-style: normal; }
.com-fios a { text-decoration-style: dotted; text-decoration-color: var(--rubrica); text-underline-offset: 0.22em; }
.com-margem { min-width: 0; font-size: var(--t-glosa); line-height: 1.5; color: var(--tinta-2); }
.com-margem > .rotulo { margin: 0 0 0.6rem; }
.com-ficha { margin: 0; }
.com-ficha dt { margin-top: 0.75rem; font-size: var(--t-rotulo); font-weight: 500; letter-spacing: 0.16em; text-transform: uppercase; color: var(--tinta-3); }
.com-ficha dt:first-child { margin-top: 0; }
.com-ficha dd { margin: 0.1rem 0 0; }
@media (min-width: 64rem) {
  .com-grade {
    grid-template-columns: calc(var(--calha) + var(--medida)) var(--margem);
    column-gap: var(--entre);
    align-items: start;
    padding-left: 0;
  }
  .com-texto { padding-left: var(--calha); }
}

/* ---------- obra: a tábua ---------- */

.fios-barra {
  margin: 0 0 0.5rem;
  padding-block: 1.25rem;
  border-top: 1px solid var(--linha);
}
.fios-botoes {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-top: 0.8rem;
}
.fios-botoes button {
  min-height: 44px;
  padding: 0.45rem 0.85rem;
  border: 1px solid var(--linha);
  background: none;
  color: var(--tinta);
  font: inherit;
  font-size: 1rem;
  font-style: italic;
  cursor: pointer;
  transition: border-color 0.15s ease, background-color 0.15s ease, color 0.15s ease;
}
.fios-botoes button:hover { border-color: var(--rubrica); }
.fios-botoes button[aria-pressed="true"] {
  border-color: var(--rubrica);
  box-shadow: inset 0 -2px 0 var(--rubrica);
  color: var(--rubrica);
}
.fio-estado {
  min-height: 1.6em;
  margin: 0.9rem 0 0;
  font-size: 0.9375rem;
  color: var(--tinta-2);
}
.fio-limpar {
  padding: 0.2rem 0;
  border: 0;
  background: none;
  color: var(--tinta);
  font: inherit;
  text-decoration: underline;
  text-decoration-color: var(--linha);
  text-underline-offset: 0.2em;
  cursor: pointer;
}
.fio-limpar:hover { color: var(--rubrica); }

.camada {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.6rem 2rem;
  padding-block: 1.75rem 1.5rem;
  border-top: 1px solid var(--linha);
}
.camada h2,
.camada h3 {
  margin: 0;
  padding-top: 0.35rem;
  font-size: var(--t-rotulo);
  font-weight: 500;
  letter-spacing: 0.22em;
  line-height: 1.5;
  text-transform: uppercase;
  color: var(--tinta-3);
}
.itens { margin: 0; padding: 0; list-style: none; }
.item {
  display: grid;
  grid-template-columns: 5.25rem minmax(0, 1fr);
  gap: 0 1rem;
  padding-block: 0.5rem;
}
.item-ano {
  padding-top: 0.25em;
  font-size: 0.8125rem;
  color: var(--tinta-3);
  font-variant-numeric: tabular-nums;
  line-height: 1.4;
}
.item-ano.em-curso { color: var(--rubrica); font-style: italic; }
.estado {
  margin-right: 0.3rem;
  font-size: 0.6875rem;
  font-style: normal;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--rubrica);
  white-space: nowrap;
}
.item-doi {
  display: block;
  margin-top: 0.1rem;
  font-size: 0.8125rem;
  line-height: 1.45;
  color: var(--tinta-3);
}
.item-doi abbr { margin-right: 0.3rem; font-size: 0.6875rem; letter-spacing: 0.12em; text-decoration: none; }
.item-doi a { overflow-wrap: anywhere; text-decoration-color: var(--linha); }
.item:target, .subitens li:target { background: var(--rubrica-fundo); box-shadow: 0 0 0 0.4rem var(--rubrica-fundo); }
.item-corpo { min-width: 0; }
.item-titulo { font-size: 1.0625rem; line-height: 1.45; }
.item-titulo a { text-decoration: none; }
.item-titulo a:hover { text-decoration: underline; }
.item-meta {
  display: block;
  margin-top: 0.1rem;
  font-size: 0.875rem;
  line-height: 1.45;
  color: var(--tinta-2);
}
.subitens {
  display: flex;
  flex-wrap: wrap;
  margin: 0.45rem 0 0.2rem;
  padding: 0;
  list-style: none;
  font-size: 0.9375rem;
  line-height: 1.7;
}
.subitens li:not(:last-child)::after { content: "·"; margin-inline: 0.45rem; color: var(--tinta-3); }
.subitens-lista { display: block; line-height: 1.55; }
.subitens-lista li { margin: 0.1rem 0; }
.subitens-lista li:not(:last-child)::after { content: none; }
.subitens a { text-decoration: none; }
.subitens a:hover { text-decoration: underline; }

.traco {
  background-image: linear-gradient(var(--rubrica), var(--rubrica));
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0% 2px;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  transition: background-size 0.55s ease var(--atraso, 0s), color 0.2s ease;
}
.tabua.com-fio .item-titulo,
.tabua.com-fio .subitens li { color: var(--tinta-3); }
.tabua.com-fio .item-meta { color: var(--tinta-3); }
.tabua.com-fio .item.no-fio > .item-corpo > .item-titulo,
.tabua.com-fio .item.no-fio > .item-corpo > .item-meta,
.tabua.com-fio .subitens li.no-fio { color: var(--tinta); }
.tabua.com-fio .item.no-fio > .item-corpo > .item-titulo .traco,
.tabua.com-fio .subitens li.no-fio .traco { background-size: 100% 2px; }

.arquivo { margin-top: clamp(3.5rem, 8vw, 5.5rem); }
.arquivo-titulo {
  margin: 0;
  font-size: clamp(1.75rem, 1.4rem + 1.4vw, 2.5rem);
  font-weight: 300;
  line-height: 1.1;
}
.arquivo-nota {
  max-width: 36em;
  margin-top: 0.6rem;
  font-size: 0.9375rem;
  color: var(--tinta-2);
}
.arquivo-nota p { margin: 0; }
.arquivo-indice ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0.1rem 1.3rem;
  margin: 1.1rem 0 1.5rem;
  padding: 0;
  list-style: none;
  font-size: 0.9375rem;
  line-height: 1.9;
}
.arquivo-indice a { text-decoration-color: var(--linha); }
.conta {
  font-size: 0.75rem;
  color: var(--tinta-3);
  font-variant-numeric: tabular-nums;
}

.obra-rodape {
  margin-top: 1rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--linha);
  font-size: 0.9375rem;
  color: var(--tinta-2);
}
.obra-rodape p { max-width: 40em; margin: 0; }

@media (min-width: 48rem) {
  .camada { grid-template-columns: 10.5rem minmax(0, 1fr); }
  .item { grid-template-columns: 6.25rem minmax(0, 1fr); }
}
@media (min-width: 64rem) {
  .fios-barra, .tabua, .obra-rodape, .arquivo-cabeca { margin-left: var(--recuo); }
}

/* ---------- sobre ---------- */

.sobre-grade {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas: "retrato" "curta";
  gap: 2rem;
}
.sobre-curta { grid-area: curta; min-width: 0; }
.bio-curta p {
  max-width: 31em;
  margin: 0.7rem 0 0;
  font-size: var(--t-lede);
  font-weight: 360;
  line-height: 1.42;
}
.copiar-linha { margin: 1.1rem 0 0; }
.botao-copiar {
  min-height: 44px;
  padding: 0.45rem 0.95rem;
  border: 1px solid var(--linha);
  background: none;
  color: var(--tinta);
  font: inherit;
  font-size: 0.875rem;
  font-style: italic;
  cursor: pointer;
}
.botao-copiar:hover { border-color: var(--rubrica); color: var(--rubrica); }
.retrato { grid-area: retrato; max-width: 17rem; margin: 0; }
.retrato img { width: 100%; }
.retrato figcaption { margin-top: 0.5rem; font-size: 0.8125rem; color: var(--tinta-3); }

.sobre-trajetoria .prosa { margin-top: 1rem; padding-left: var(--recuo); }

.sobre-dados {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(14rem, 100%), 1fr));
  gap: 0.5rem 2rem;
  margin-top: 2.5rem;
  padding-top: 1rem;
  border-top: 1px solid var(--linha);
  font-size: 0.9375rem;
  color: var(--tinta-2);
}
.sobre-dados .nota { margin-top: 1rem; }

.sobre-listas {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 2.25rem 2.5rem;
  margin-top: clamp(3rem, 7vw, 4.5rem);
  padding-top: 1.5rem;
  border-top: 1px solid var(--linha);
  font-size: 0.9375rem;
  line-height: 1.5;
  color: var(--tinta-2);
}
.sobre-lista { min-width: 0; }
.sobre-lista .bloco-titulo { padding-left: 0; }
.sobre-lista .sobre-dados { display: block; margin: 0; padding: 0; border: 0; }
.sobre-lista .nota:first-child { margin-top: 0.6rem; }
.sobre-lista .prosa p { margin: 0.6rem 0 0; }
/* subtítulos dentro das listas: em itálico, para não competir com os títulos das seções */
.sobre-lista .nota .rotulo { font-size: 0.875rem; font-weight: 400; font-style: italic; letter-spacing: 0; text-transform: none; }
.sobre-indice ul { margin: 0.9rem 0 0; }
.lista-simples { margin: 0.6rem 0 0; padding: 0; list-style: none; }
.lista-simples li { margin: 0 0 0.5rem; }

@media (min-width: 48rem) {
  .sobre-listas { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 64rem) {
  .sobre-grade {
    grid-template-columns: calc(var(--calha) + var(--medida)) var(--margem);
    grid-template-areas: "curta retrato";
    column-gap: var(--entre);
    align-items: start;
  }
  .sobre-curta { padding-left: var(--recuo); }
  .sobre-curta .bloco-titulo { padding-left: 0; }
  .retrato { max-width: none; padding-top: 0.4rem; }
  .sobre-dados { margin-left: var(--recuo); }
  .sobre-listas { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-left: var(--recuo); }
  .sobre-lista .sobre-dados { margin-left: 0; }
}

/* ---------- ficha (aparato institucional, na margem) ---------- */

.ficha-lista { margin: 0.7rem 0 0; font-size: 0.875rem; line-height: 1.5; color: var(--tinta-2); }
.ficha-lista > div { padding: 0.6rem 0; border-top: 1px dotted var(--linha); }
.ficha-lista > div:first-child { padding-top: 0; border-top: 0; }
.ficha-lista dt {
  font-size: 0.6875rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  line-height: 1.5;
  text-transform: uppercase;
  color: var(--tinta-3);
}
.ficha-lista dd { margin: 0.15rem 0 0; }
.ficha-lista a { text-decoration-color: var(--linha); }
.ficha-lista a:hover { text-decoration-color: var(--rubrica); }

/* ---------- pesquisa: ensaio, ficha, perguntas ---------- */

.pesquisa-topo { display: grid; grid-template-columns: minmax(0, 1fr); }
.pesquisa-lede {
  max-width: 31em;
  margin: 1.25rem 0 0;
  font-size: var(--t-lede);
  font-weight: 360;
  line-height: 1.38;
}
.pesquisa-ficha { margin: 0 0 2rem; padding: 1rem 0 0 var(--recuo); border-top: 1px solid var(--linha); }
.pesquisa-ficha > .rotulo { margin: 0; }
.pesquisa-ensaio { padding-left: var(--recuo); }
.pesquisa-ensaio p, .linha-lateral p, .com-contexto p { max-width: 36rem; }
.pesquisa-ensaio p { font-size: 1.0625rem; line-height: 1.62; }

.pergunta {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.9rem;
  padding-block: 1.5rem 1.6rem;
  padding-left: var(--recuo);
  border-top: 1px dotted var(--linha);
}
.perguntas > .bloco-titulo + .pergunta { border-top: 0; padding-top: 1.1rem; }
.pergunta-titulo { margin: 0; font-size: clamp(1.375rem, 1.2rem + 0.6vw, 1.625rem); font-weight: 360; line-height: 1.25; text-wrap: balance; }
.pergunta-texto p { max-width: 36rem; margin: 0.6rem 0 0; font-size: 1.0625rem; line-height: 1.6; }
.pergunta-texto a { text-decoration-style: dotted; text-decoration-color: var(--rubrica); text-underline-offset: 0.22em; }
.pergunta-ler { font-size: 0.9375rem; line-height: 1.5; color: var(--tinta-2); }
.pergunta-ler .rotulo { margin: 0; }
.pergunta-ler ul { margin: 0.35rem 0 0; padding: 0; list-style: none; }
.pergunta-ler li { margin: 0 0 0.35rem; }
.pergunta-ler a { text-decoration-color: var(--linha); }
.pergunta-ler a:hover { text-decoration-color: var(--rubrica); }
.pergunta-tudo { margin: 0.6rem 0 0; font-size: 0.875rem; }
.pergunta-tudo a { text-decoration-color: var(--rubrica); }
.linha-lateral { padding: 1.1rem 0 0 var(--recuo); border-top: 1px dotted var(--linha); }
.linha-lateral p { margin: 0; font-size: 0.9375rem; line-height: 1.6; color: var(--tinta-2); }

.pares {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.5rem 2.25rem;
  margin: 1.1rem 0 0;
  padding: 0 0 0 var(--recuo);
  list-style: none;
}
.par-titulo { margin: 0; font-size: 1.25rem; font-weight: 360; line-height: 1.25; }
.par-estado { margin: 0.25rem 0 0; font-size: 0.8125rem; font-style: italic; color: var(--rubrica); }
.par-texto { margin: 0.45rem 0 0; font-size: 0.9375rem; line-height: 1.5; color: var(--tinta-2); }
.par-links { margin: 0.45rem 0 0; font-size: 0.875rem; }
@media (min-width: 48rem) {
  .pares { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 64rem) {
  .pesquisa-topo {
    grid-template-columns: calc(var(--calha) + var(--medida)) var(--margem);
    grid-template-areas: "cabeca ficha" "ensaio ficha";
    /* a sobra de altura da ficha vai para a linha do ensaio, que fica colado à pergunta */
    grid-template-rows: auto 1fr;
    column-gap: var(--entre);
    align-items: start;
  }
  .pesquisa-cabeca { grid-area: cabeca; }
  .pesquisa-ficha { grid-area: ficha; margin: 0; padding: clamp(2.25rem, 7vw, 5rem) 0 0; border-top: 0; }
  .pesquisa-ensaio { grid-area: ensaio; }
  .pergunta { grid-template-columns: calc(var(--calha) + var(--medida)) var(--margem); column-gap: var(--entre); padding-left: 0; }
  .pergunta-texto { padding-left: var(--recuo); }
  .pergunta-ler { padding-top: 0.35rem; }
  .pares { margin-left: 0; }
}

/* ---------- tese: título, ficha e ensaio ---------- */

.tese-cabeca .migalha { margin-bottom: 0.9rem; }
.tese-cabeca { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.75rem; padding-left: 0; }
.tese-titulos { padding-left: var(--recuo); }
.tese-lede { max-width: 33em; margin: 1.35rem 0 0; font-size: 1.125rem; line-height: 1.55; color: var(--tinta-2); }
.tese-ficha { padding: 1rem 0 0 var(--recuo); border-top: 1px solid var(--linha); }
.tese-ficha > .rotulo { margin: 0; }
.tese-ensaio > p { max-width: 36rem; }
.prosa .h2-nota { margin-left: 0.55rem; font-size: 0.75rem; letter-spacing: 0.18em; color: var(--rubrica); white-space: nowrap; }
@media (min-width: 64rem) {
  /* A ficha ocupa a margem ao lado do título e desce ao lado do começo do ensaio;
     as glosas que cairiam sobre ela descem abaixo dela (data-margem-ocupada, em site.js). */
  .tese-cabeca {
    position: relative;
    display: block;
    padding-right: calc(var(--margem) + var(--entre));
  }
  .tese-ficha {
    position: absolute;
    top: clamp(2.25rem, 7vw, 5rem);
    right: 0;
    width: var(--margem);
    padding: 0.2rem 0 0;
    border-top: 0;
  }
}

/* ---------- fios: verbetes ---------- */

.fios-indice {
  max-width: 40em;
  margin: 1.2rem 0 0;
  font-size: 1.0625rem;
  font-style: italic;
  line-height: 1.85;
}
.fios-indice a,
.verbete-cruza a { text-decoration-style: dotted; text-decoration-color: var(--rubrica); text-underline-offset: 0.22em; }
/* Mapa dos fios: os nove fios na ordem da tese, sobre as três partes (no celular, em coluna) */
.fios-mapa { margin: 0.5rem 0 0; padding: 1.25rem 0 0 var(--recuo); border-top: 1px solid var(--linha); }
.mapa { margin: 0.9rem 0 0; padding: 0; list-style: none; }
.mapa-parte + .mapa-parte { margin-top: 1rem; }
.mapa-parte-t { margin: 0 0 0.35rem; font-size: 0.8125rem; line-height: 1.35; color: var(--tinta-3); }
.mapa-parte-n { font-size: var(--t-rotulo); font-weight: 500; letter-spacing: 0.16em; text-transform: uppercase; color: var(--rubrica); }
.mapa-fios { margin: 0; padding: 0; list-style: none; }
.mapa-fio { position: relative; padding: 0 0 0.55rem 1.35rem; }
.mapa-fio::before { content: ""; position: absolute; left: 0.3rem; top: 0; bottom: 0; border-left: 1px solid var(--linha); }
.mapa-fio:first-child::before { top: 0.6rem; }
.mapa-fio:last-child::before { bottom: auto; height: 0.6rem; }
.mapa-fio::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0.38rem;
  width: 0.6rem;
  height: 0.6rem;
  border: 1px solid var(--tinta-3);
  border-radius: 50%;
  background: var(--papel);
}
.mapa-vertice::after { border-color: var(--rubrica); }
.mapa-fio a { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 0.5rem; text-decoration: none; }
.mapa-nome { font-size: 1rem; font-style: italic; line-height: 1.3; text-decoration: underline dotted var(--rubrica); text-underline-offset: 0.22em; }
.mapa-papel { font-size: 0.8125rem; color: var(--tinta-3); }
.mapa-fio a:hover .mapa-nome,
.mapa-fio a:focus-visible .mapa-nome { color: var(--rubrica); }
.mapa-fio a:hover ~ *, .mapa-fio:hover::after { border-color: var(--rubrica); }
@media (min-width: 48rem) {
  /* Uma grade de duas linhas, os fios em cima e as partes embaixo; cada parte ocupa
     tantas colunas quantos fios tem (grid-template-columns vem no HTML). */
  .mapa { display: grid; grid-template-rows: auto auto; column-gap: 0; }
  .mapa-parte { display: grid; grid-row: span 2; grid-template-rows: subgrid; min-width: 0; }
  .mapa-parte + .mapa-parte { margin-top: 0; }
  .mapa-parte-t {
    grid-row: 2;
    align-self: start;
    margin: 0.85rem 0.9rem 0 0;
    padding-top: 0.45rem;
    border-top: 1px solid var(--tinta-3);
  }
  .mapa-parte-nome { display: block; font-style: italic; }
  .mapa-fios { grid-row: 1; display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); }
  .mapa-fio { padding: 1.35rem 0.5rem 0 0; }
  .mapa-fio::before { left: 0; right: 0; top: 0.3rem; bottom: auto; height: 0; border-left: 0; border-top: 1px solid var(--linha); }
  .mapa-fio:first-child::before { top: 0.3rem; left: 0.3rem; }
  .mapa-fio:last-child::before { height: 0; }
  .mapa-parte:last-child .mapa-fio:last-child::before { right: auto; width: 0.3rem; }
  .mapa-fio::after { top: 0; }
  .mapa-fio a { display: grid; gap: 0.15rem; }
  .mapa-nome { font-size: 0.9375rem; hyphens: manual; -webkit-hyphens: manual; }
  .mapa-papel { font-size: 0.75rem; }
}

.nivel {
  margin-top: clamp(2.5rem, 6vw, 4rem);
  padding-top: clamp(1.25rem, 3vw, 1.75rem);
  border-top: 1px solid var(--linha);
}
.nivel-cabeca { padding-left: var(--recuo); }
.nivel-titulo {
  margin: 0;
  font-size: var(--t-rotulo);
  font-weight: 500;
  letter-spacing: 0.22em;
  line-height: 1.5;
  text-transform: uppercase;
  color: var(--tinta-3);
}
.nivel-nota { margin: 0.3rem 0 0; font-size: 0.9375rem; color: var(--tinta-2); }
.verbete {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  padding-block: 1.6rem 0.4rem;
}
.verbete + .verbete { border-top: 1px dotted var(--linha); }
.verbete:target .verbete-nome { color: var(--rubrica); }
.verbete > * { min-width: 0; }
.verbete > :not(.verbete-cruza) { padding-left: var(--recuo); }
.verbete-cabeca {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0 0.9rem;
}
.verbete-nome {
  margin: 0;
  font-size: clamp(1.625rem, 1.3rem + 1.2vw, 2.25rem);
  font-style: italic;
  font-weight: 330;
  line-height: 1.1;
}
.verbete-nome dfn { font-style: inherit; }
.verbete-outra { margin: 0; font-size: 0.9375rem; color: var(--tinta-3); }
.verbete-def p { max-width: 36em; margin: 0.75rem 0 0; font-size: 1.0625rem; line-height: 1.6; }
.verbete-funcao { max-width: 36em; margin: 0.6rem 0 0; font-size: 0.9375rem; color: var(--tinta-2); }
.verbete-funcao .rotulo,
.verbete-exemplo .rotulo,
.verbete-criterios .rotulo { margin-right: 0.5rem; }
.verbete-exemplo { max-width: 36em; margin: 0.6rem 0 0; font-size: 0.9375rem; line-height: 1.55; }
.verbete-etimologia { max-width: 36em; margin: 0.45rem 0 0; font-size: 0.875rem; line-height: 1.5; color: var(--tinta-3); }
.verbete-criterios { max-width: 36em; margin: 0.6rem 0 0; font-size: 0.9375rem; line-height: 1.55; }
.verbete-criterios p { margin: 0; }
.verbete-criterios ol { margin: 0.3rem 0 0; padding-left: 1.4rem; }
.verbete-criterios li { margin: 0.15rem 0; }
.verbete-criterios li::marker { color: var(--rubrica); font-size: 0.8125rem; }
.cruza-motivo { display: block; margin: 0.05rem 0 0.15rem; font-size: 0.8125rem; line-height: 1.4; color: var(--tinta-3); }
.cruza-motivo.proposta { border-left: 0; padding-left: 0; text-decoration: underline dashed var(--rubrica); text-underline-offset: 0.2em; }
.verbete-cruza .proposta-sinal { margin-left: 0.5rem; }
.verbete-obras { margin-top: 1rem; font-size: 0.9375rem; line-height: 1.55; }
.verbete-obras > .rotulo { margin-bottom: 0.1rem; }
.verbete-grupo { margin-top: 0.5rem; }
.verbete-grupo-t { margin: 0; font-size: 0.8125rem; font-style: italic; color: var(--tinta-3); }
.verbete-grupo ul { margin: 0.15rem 0 0; padding: 0; list-style: none; }
.verbete-grupo li { display: inline; }
.verbete-grupo li:not(:last-child)::after { content: "·"; margin-inline: 0.4rem; color: var(--tinta-3); }
.verbete-grupo-lista li { display: grid; grid-template-columns: 3.4rem minmax(0, 1fr); gap: 0 0.6rem; margin: 0.2rem 0; }
.verbete-grupo-lista li:not(:last-child)::after { content: none; }
.verbete-grupo-lista .verbete-mais { display: block; padding-left: 4rem; font-size: 0.875rem; }
.verbete-grupo a { text-decoration-color: var(--linha); }
.verbete-ano { padding-top: 0.15em; font-size: 0.8125rem; color: var(--tinta-3); font-variant-numeric: tabular-nums; }
.verbete-estado { font-size: 0.8125rem; font-style: italic; color: var(--tinta-3); }
.verbete-cruza { margin: 1rem 0 0; font-size: 0.9375rem; line-height: 1.5; }
.verbete-cruza ul { display: flex; flex-wrap: wrap; margin: 0.3rem 0 0; padding: 0; list-style: none; }
.verbete-cruza li { display: block; }
.verbete-cruza li:not(:last-child)::after { content: "·"; margin-inline: 0.45rem; color: var(--tinta-3); }
.verbete-cruza ul:has(.cruza-motivo) { display: block; }
.verbete-cruza ul:has(.cruza-motivo) li { margin: 0 0 0.3rem; }
.verbete-cruza ul:has(.cruza-motivo) li::after { content: none; }
.verbete-cruza a { font-style: italic; }
.verbete-cruza .conta { margin-left: 0.2rem; }
.verbete-entradas { margin-top: 1rem; font-size: 0.9375rem; line-height: 1.5; }
.verbete-entradas ul { margin: 0.3rem 0 0; padding: 0; list-style: none; }
.verbete-entradas li { margin: 0 0 0.35rem; }
.verbete-entradas a { text-decoration-color: var(--linha); }
.verbete-entradas a:hover { text-decoration-color: var(--rubrica); }
.entrada-tipo { margin-left: 0.25rem; font-size: 0.8125rem; font-style: italic; color: var(--tinta-3); }
.entrada-poemas a { font-style: normal; }
.verbete-acender { margin: 0.8rem 0 0; font-size: 0.875rem; }
.verbete-acender a { text-decoration-color: var(--rubrica); }
@media (min-width: 64rem) {
  .verbete {
    grid-template-columns: calc(var(--calha) + var(--medida)) var(--margem);
    column-gap: var(--entre);
    align-items: start;
  }
  .verbete > :not(.verbete-cruza) { grid-column: 1; }
  .verbete-cruza { grid-column: 2; grid-row: 1 / span 6; margin-top: 0.55rem; padding-left: 0 !important; }
  .verbete-cruza ul { display: block; }
  .verbete-cruza li { display: block; margin: 0 0 0.25rem; }
  .verbete-cruza li:not(:last-child)::after { content: none; }
}

/* ---------- redações provisórias (só na prévia) ---------- */

.proposta-sinal {
  display: inline-block;
  margin-right: 0.45rem;
  padding: 0 0.35rem;
  border: 1px dashed var(--rubrica);
  font-size: 0.625rem;
  font-style: normal;
  font-weight: 500;
  letter-spacing: 0.14em;
  line-height: 1.6;
  text-transform: uppercase;
  color: var(--rubrica);
  vertical-align: 0.15em;
}
div.proposta,
p.proposta,
section.proposta {
  border-left: 2px dashed var(--rubrica);
  padding-left: 0.75rem;
  color: var(--tinta-2);
}
.verbete > div.proposta,
.verbete > p.proposta { margin-left: var(--recuo); padding-left: 0.75rem; }
.faixa-previa { border-bottom: 1px dashed var(--rubrica); }
.faixa-previa p { margin: 0; padding: 0.55rem 0; font-size: 0.8125rem; line-height: 1.45; color: var(--tinta-2); }
.aviso-proposta {
  max-width: 40em;
  margin: 1.25rem 0 0;
  padding: 0.7rem 0.95rem;
  border: 1px dashed var(--rubrica);
  font-size: 0.875rem;
  line-height: 1.5;
  color: var(--tinta-2);
}

/* ---------- rodapé ---------- */

.rodape {
  margin-top: clamp(3.5rem, 9vw, 6.5rem);
  padding-block: 0 2.75rem;
  font-size: 0.9375rem;
  color: var(--tinta-2);
}
.rodape-dentro {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.25rem var(--entre);
  padding-top: 1.75rem;
  border-top: 1px solid var(--linha);
}
.rodape p { margin: 0; }
.rodape a { display: inline-block; padding-block: 0.3rem; text-decoration: none; }
.rodape a:hover { text-decoration: underline; }
.rodape-nome {
  color: var(--tinta);
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.28em;
  text-transform: uppercase;
}
.rodape-nome span { letter-spacing: 0; color: var(--tinta-3); }
.rodape-ids {
  display: flex;
  flex-wrap: wrap;
  gap: 0 1.1rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.colofao { font-size: 0.8125rem; font-style: italic; color: var(--tinta-3); }

@media (min-width: 64rem) {
  .rodape-dentro { grid-template-columns: calc(var(--calha) + var(--medida)) var(--margem); }
  .rodape-a { padding-left: var(--calha); }
}

/* ---------- 404 ---------- */

.pagina-404 { padding-block: clamp(3rem, 10vw, 7rem); }
.pagina-404 .assinatura { margin-bottom: 3rem; padding-left: 0; }
.pagina-404 h1 { margin: 0 0 1rem; font-size: var(--t-titulo); font-weight: 300; line-height: 1.05; }
.pagina-404 p { max-width: 36em; }

/* ---------- impressão ---------- */

@media print {
  :root { --papel: #fff; --tinta: #000; --tinta-2: #222; --tinta-3: #444; }
  .cabeca nav, .idioma, .fragmentos-nav, .fios-barra, .capas-controle, .pular,
  .gaveta, .notas-controle, .copiar-linha { display: none !important; }
  .glosado.notas-gaveta .glosa { display: block !important; }
  .rodape { margin-top: 2rem; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    transition: none !important;
    animation: none !important;
  }
}

/* ---------- pranchas: desenhos esquemáticos dos fios ---------- */

.prancha { margin: 1.4rem 0 0; }
.prancha-linha {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(0.6rem, 2vw, 1.25rem);
  max-width: 30rem;
}
.prancha-item { margin: 0; min-width: 0; }
.prancha-svg { display: block; width: 100%; height: auto; overflow: visible; color: var(--tinta-2); }
.prancha-item .prancha-svg { border-bottom: 1px solid var(--linha); padding-bottom: 0.4rem; }
.prancha-svg .tr { fill: none; stroke: currentColor; stroke-width: 0.75; stroke-linecap: round; stroke-linejoin: round; }
.prancha-svg .fino { stroke-width: 0.45; }
.prancha-svg .fi { fill: currentColor; stroke: none; }
.prancha-svg .r { stroke: var(--rubrica); }
.prancha-svg .rf { fill: var(--rubrica); stroke: none; }
.prancha-svg .eixo { color: var(--tinta-3); stroke: var(--tinta-3); stroke-width: 0.9; }
.prancha-svg .curva { stroke: var(--tinta); stroke-width: 1.5; }
.prancha-svg .curva.sombra { stroke: var(--tinta-3); stroke-width: 1.1; opacity: 0.75; }
.prancha-svg text { font-family: var(--texto); font-size: 11.5px; font-style: italic; fill: var(--tinta-3); }
.prancha-larga { max-width: 26rem; }
.prancha-rotulo { margin: 0.45rem 0 0; font-size: 0.8125rem; font-style: italic; line-height: 1.3; color: var(--tinta-3); }
.prancha figcaption { margin: 0.7rem 0 0; max-width: 34em; font-size: 0.8125rem; line-height: 1.5; color: var(--tinta-3); }
.prancha-nivel { padding-left: var(--recuo); margin-top: 1.1rem; }

/* ---------- obra digital (Noemáfagos) e chamadas ---------- */

a.chamada { font-style: italic; text-decoration-color: var(--rubrica); text-underline-offset: 0.25em; }
a.chamada::after { content: "\00a0›"; font-style: normal; color: var(--rubrica); }
.dest-chamada { margin: 0.35rem 0 0; font-size: 0.875rem; }
.obra-digital {
  margin: 0 0 2.25rem;
  padding: 1rem 0 1.25rem;
  border-top: 1px solid var(--rubrica);
  border-bottom: 1px solid var(--linha);
}
.obra-digital-cabeca { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.2rem 0.8rem; }
.obra-digital-cabeca .rotulo { margin: 0; color: var(--rubrica); }
.obra-digital-situacao { margin: 0; font-size: 0.875rem; font-style: italic; color: var(--tinta-3); }
.obra-digital-texto { max-width: 36em; margin: 0.65rem 0 0; font-size: 1.0625rem; line-height: 1.6; }
.obra-digital-chamada { margin: 0.8rem 0 0; font-size: 1.0625rem; }
.livro-rotulo { margin: 0 0 0.4rem; }
.no-site-nota { max-width: 36em; margin: 0.4rem 0 0; font-size: 0.875rem; line-height: 1.5; color: var(--tinta-3); }
.lista-gestos { margin: 0.9rem 0 0; padding: 0; list-style: none; columns: 2 15rem; column-gap: 2rem; }
.lista-gestos li { break-inside: avoid; margin: 0 0 0.55rem; line-height: 1.35; }
.lista-gestos a { text-decoration-color: var(--linha); }
.lista-gestos a:hover { text-decoration-color: var(--rubrica); }
.lista-gestos .gesto { display: block; font-size: 0.875rem; font-style: italic; color: var(--tinta-3); }
.projeto-par { max-width: 36em; margin: 1.1rem 0 0; padding-top: 0.8rem; border-top: 1px solid var(--linha); font-size: 0.9375rem; line-height: 1.55; color: var(--tinta-2); }
