/* ============================================================
   BÃO DE PROSA — design tokens & global styles
   Folk editorial: warm paper + quilted color accents
   ============================================================ */

:root {
  /* paper & ink */
  --paper:        #F4ECDB;   /* base cream — like aged newsprint */
  --paper-warm:   #EFE3CB;   /* slightly deeper */
  --paper-deep:   #E6D6B8;   /* card backs, raised surfaces */
  --ink:          #2A1F12;   /* deep brown-black, never pure black */
  --ink-soft:     #5B4A36;   /* secondary text */
  --ink-muted:    #8B785C;   /* tertiary, captions */
  --rule:         #C9B894;   /* hairline rules */
  --stitch:       #D4A24A;   /* mustard stitching color */

  /* the quilt — pulled directly from the logo */
  --orange:       #D86A2C;
  --orange-soft:  #E89A5C;
  --teal:         #2E8B7E;
  --teal-soft:    #5BA89A;
  --mustard:      #E5A828;
  --mustard-soft: #F0C463;
  --red:          #C4452B;
  --red-soft:     #D87060;
  --sage:         #8FA663;   /* a fifth quilt color, calming */
  --sage-soft:    #B5C48A;

  /* type */
  --serif:        "DM Serif Display", "Playfair Display", Georgia, serif;
  --serif-text:   "Lora", "Source Serif Pro", Georgia, serif;
  --sans:         "Inter Tight", "Inter", system-ui, sans-serif;
  --hand:         "Caveat", "Kalam", cursive;

  /* spacing rhythm */
  --rhythm: 1.6rem;

  /* texture */
  --paper-noise: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.55  0 0 0 0 0.42  0 0 0 0 0.22  0 0 0 0.22 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
}

/* sepia mode — slightly warmer & more golden */
[data-mode="sepia"] {
  --paper:      #EFE0C2;
  --paper-warm: #E8D6B0;
  --paper-deep: #DEC79A;
  --ink:        #3A2A14;
  --ink-soft:   #6B5530;
}

/* dark mode — deep navy-brown, like reading by lamplight */
[data-mode="dark"] {
  --paper:      #1F1A14;
  --paper-warm: #28211A;
  --paper-deep: #322920;
  --ink:        #F2E6CC;
  --ink-soft:   #C9B58E;
  --ink-muted:  #8E7B58;
  --rule:       #4A3E2C;
}

* { box-sizing: border-box; }

html, body {
  margin: 0;
  padding: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--serif-text);
  font-size: 17px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body[data-texture="on"] {
  background-image: var(--paper-noise);
  background-blend-mode: multiply;
}

a { color: inherit; text-decoration: none; }
button { font-family: inherit; cursor: pointer; }
img { display: block; max-width: 100%; }

/* ---------- typography ---------- */
.display {
  font-family: var(--serif);
  font-weight: 400;
  line-height: 0.96;
  letter-spacing: -0.015em;
}
.eyebrow {
  font-family: var(--sans);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ink-soft);
}
.hand {
  font-family: var(--hand);
  font-weight: 500;
}
.dropcap::first-letter {
  font-family: var(--serif);
  float: left;
  font-size: 4.6em;
  line-height: 0.85;
  padding: 0.05em 0.12em 0 0;
  color: var(--orange);
}

/* ---------- stitched divider ---------- */
.stitch-rule {
  height: 2px;
  background-image: linear-gradient(
    to right,
    var(--stitch) 0 8px, transparent 8px 14px
  );
  background-size: 14px 2px;
  background-repeat: repeat-x;
  border: none;
  margin: 2rem 0;
}
.stitch-rule.thick { height: 3px; }

/* ---------- patches & quilt motifs ---------- */
.patch {
  position: relative;
  border-radius: 14px;
  background: var(--patch-bg, var(--paper-deep));
  padding: 1.4rem 1.6rem;
  box-shadow:
    inset 0 0 0 2px var(--paper),
    inset 0 0 0 3px var(--patch-bg, var(--paper-deep));
}
.patch::before {
  content: "";
  position: absolute;
  inset: 6px;
  border-radius: 9px;
  border: 1.5px dashed rgba(255,255,255,0.55);
  pointer-events: none;
}
.patch[data-color="orange"]  { --patch-bg: var(--orange);  color: #fff; }
.patch[data-color="teal"]    { --patch-bg: var(--teal);    color: #fff; }
.patch[data-color="mustard"] { --patch-bg: var(--mustard); color: var(--ink); }
.patch[data-color="red"]     { --patch-bg: var(--red);     color: #fff; }
.patch[data-color="sage"]    { --patch-bg: var(--sage);    color: #fff; }

/* dotted polka-dot variant — like the logo squares */
.patch.dotted {
  background-image:
    radial-gradient(circle at 4px 4px, rgba(255,255,255,0.35) 1.4px, transparent 1.6px);
  background-size: 12px 12px;
}

/* ---------- chip/tag ---------- */
.chip {
  display: inline-flex;
  align-items: center;
  gap: 0.4em;
  font-family: var(--sans);
  font-size: 0.78rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  padding: 0.32em 0.8em;
  border-radius: 999px;
  background: var(--paper-deep);
  color: var(--ink);
  border: 1px solid var(--rule);
  white-space: nowrap;
}
.chip[data-color="orange"]  { background: #FBE7D6; color: #8E3A0F; border-color: #EBC299; }
.chip[data-color="teal"]    { background: #D6ECE7; color: #1F5E54; border-color: #A0CDC2; }
.chip[data-color="mustard"] { background: #FAEBC4; color: #7E5810; border-color: #E5C778; }
.chip[data-color="red"]     { background: #F5D6CF; color: #7C2614; border-color: #DFA395; }
.chip[data-color="sage"]    { background: #DFE7C7; color: #4A5A28; border-color: #B5C48A; }
[data-mode="dark"] .chip {
  background: rgba(255,255,255,0.06);
  color: var(--ink);
  border-color: var(--rule);
}

/* ---------- buttons ---------- */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 0.6em;
  font-family: var(--sans);
  font-size: 0.92rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  padding: 0.85em 1.5em;
  border-radius: 999px;
  border: 2px solid var(--ink);
  background: var(--ink);
  color: var(--paper);
  cursor: pointer;
  transition: transform 0.15s ease, background 0.15s ease;
}
.btn:hover { transform: translateY(-1px); }
.btn.ghost {
  background: transparent;
  color: var(--ink);
}
.btn.accent {
  background: var(--orange);
  border-color: var(--orange);
  color: #fff;
}
.btn.accent:hover { background: #C25C20; border-color: #C25C20; }

/* ---------- container widths ---------- */
.wrap       { max-width: 1280px; margin: 0 auto; padding: 0 32px; }
.wrap-narrow{ max-width: 760px;  margin: 0 auto; padding: 0 24px; }
.wrap-wide  { max-width: 1440px; margin: 0 auto; padding: 0 32px; }

/* ---------- masthead nav ---------- */
.masthead {
  border-bottom: 1px solid var(--rule);
  background: var(--paper);
  position: sticky; top: 0; z-index: 50;
  backdrop-filter: blur(6px);
}
.masthead-inner {
  display: flex; align-items: center; justify-content: space-between;
  padding: 14px 32px;
  gap: 24px;
}
.masthead .logo-mark {
  display: flex; align-items: center; gap: 12px;
  cursor: pointer;
}
.masthead .logo-mark img {
  width: 44px; height: 44px; border-radius: 8px;
  object-fit: cover;
  box-shadow: 0 1px 0 var(--rule);
}
.masthead .brand {
  font-family: var(--serif);
  font-size: 1.4rem;
  line-height: 1;
}
.masthead .brand small {
  display: block;
  font-family: var(--sans);
  font-size: 0.65rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--ink-muted);
  margin-top: 4px;
}
.nav-links {
  display: flex; gap: 28px;
  font-family: var(--sans);
  font-size: 0.92rem;
  font-weight: 500;
}
.nav-links a {
  position: relative;
  padding: 4px 0;
  color: var(--ink-soft);
  transition: color 0.15s ease;
}
.nav-links a.active, .nav-links a:hover { color: var(--ink); }
.nav-links a.active::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -2px;
  height: 2px; background: var(--orange);
  background-image: linear-gradient(to right, var(--orange) 0 6px, transparent 6px 10px);
  background-size: 10px 2px;
}
.search-pill {
  display: flex; align-items: center; gap: 8px;
  padding: 8px 14px 8px 16px;
  border: 1px solid var(--rule);
  border-radius: 999px;
  font-family: var(--sans);
  font-size: 0.85rem;
  color: var(--ink-muted);
  background: var(--paper-warm);
  cursor: text;
  min-width: 220px;
  transition: border-color 0.15s ease;
}
.search-pill:hover { border-color: var(--ink-soft); }
.search-pill kbd {
  margin-left: auto;
  font-family: var(--sans);
  font-size: 0.7rem;
  padding: 1px 6px;
  border: 1px solid var(--rule);
  border-radius: 4px;
  background: var(--paper);
  color: var(--ink-muted);
}

/* ---------- footer ---------- */
.foot {
  background: var(--ink);
  color: var(--paper);
  padding: 80px 0 48px;
  margin-top: 100px;
  position: relative;
}
.foot::before {
  content: "";
  position: absolute; top: 0; left: 0; right: 0;
  height: 14px;
  background:
    linear-gradient(to right,
      var(--orange) 0 20%,
      var(--mustard) 20% 40%,
      var(--teal) 40% 60%,
      var(--red) 60% 80%,
      var(--sage) 80% 100%);
}
.foot-headline {
  font-family: var(--serif);
  font-size: clamp(2.2rem, 5vw, 3.8rem);
  line-height: 1.05;
  max-width: 16ch;
  margin: 0 0 1.5rem;
}
.foot small { color: rgba(244, 236, 219, 0.55); font-family: var(--sans); }
.foot a { border-bottom: 1px dotted rgba(244,236,219,0.4); }

/* ---------- utility ---------- */
.row { display: flex; }
.grid { display: grid; }
.gap-1 { gap: 8px; } .gap-2 { gap: 16px; } .gap-3 { gap: 24px; } .gap-4 { gap: 32px; }
.sp-y-1 { margin-block: 8px; }
.muted { color: var(--ink-muted); }
.soft { color: var(--ink-soft); }
.serif { font-family: var(--serif); }
.sans { font-family: var(--sans); }

/* ---------- card / story tile ---------- */
.story-card {
  display: flex; flex-direction: column;
  background: var(--paper);
  border: 1px solid var(--rule);
  border-radius: 6px;
  overflow: hidden;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  cursor: pointer;
}
.story-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(42, 31, 18, 0.08);
}
.story-card .thumb {
  aspect-ratio: 4/3;
  background: var(--paper-deep);
  position: relative;
  overflow: hidden;
}
.story-card .thumb-label {
  position: absolute;
  top: 12px; left: 12px;
  font-family: var(--sans);
  font-size: 0.7rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  background: var(--paper);
  padding: 4px 10px;
  border-radius: 999px;
  color: var(--ink-soft);
}
.story-card .body {
  padding: 18px 20px 22px;
  display: flex; flex-direction: column; gap: 8px;
  flex: 1;
}
.story-card h3 {
  font-family: var(--serif);
  font-weight: 400;
  font-size: 1.35rem;
  line-height: 1.15;
  margin: 0;
}
.story-card p {
  margin: 0;
  font-size: 0.92rem;
  color: var(--ink-soft);
  line-height: 1.5;
}
.story-card .meta {
  display: flex; gap: 14px; align-items: center;
  font-family: var(--sans);
  font-size: 0.78rem;
  color: var(--ink-muted);
  margin-top: auto;
  padding-top: 10px;
  border-top: 1px dashed var(--rule);
}

/* ---------- placeholder thumbnail (no real photos) ---------- */
.ph-thumb {
  width: 100%; height: 100%;
  display: grid; place-items: center;
  font-family: var(--serif);
  font-style: italic;
  color: rgba(42,31,18,0.35);
  background-size: 14px 14px;
  background-position: 0 0, 7px 7px;
}
.ph-thumb[data-color="orange"]  { background-color: #F4D2B5; background-image: radial-gradient(circle, #D86A2C 1.5px, transparent 1.6px), radial-gradient(circle, #D86A2C 1.5px, transparent 1.6px); }
.ph-thumb[data-color="teal"]    { background-color: #BFDDD5; background-image: radial-gradient(circle, #2E8B7E 1.5px, transparent 1.6px), radial-gradient(circle, #2E8B7E 1.5px, transparent 1.6px); }
.ph-thumb[data-color="mustard"] { background-color: #F2DC9D; background-image: radial-gradient(circle, #B07F1A 1.5px, transparent 1.6px), radial-gradient(circle, #B07F1A 1.5px, transparent 1.6px); }
.ph-thumb[data-color="red"]     { background-color: #ECB8AC; background-image: radial-gradient(circle, #C4452B 1.5px, transparent 1.6px), radial-gradient(circle, #C4452B 1.5px, transparent 1.6px); }
.ph-thumb[data-color="sage"]    { background-color: #D2DDB1; background-image: radial-gradient(circle, #6E8244 1.5px, transparent 1.6px), radial-gradient(circle, #6E8244 1.5px, transparent 1.6px); }
.ph-thumb[data-color="cream"]   { background-color: #E6D6B8; background-image: radial-gradient(circle, #B89E6E 1.5px, transparent 1.6px), radial-gradient(circle, #B89E6E 1.5px, transparent 1.6px); }

/* portrait silhouette placeholder */
.ph-portrait {
  width: 100%; height: 100%;
  display: grid; place-items: end center;
  overflow: hidden;
}
.ph-portrait svg {
  width: 78%; height: 92%;
  opacity: 0.32;
}

/* density tweak */
body[data-density="compact"] { --rhythm: 1.1rem; }
body[data-density="compact"] .story-card .body { padding: 14px 16px 16px; gap: 6px; }
body[data-density="compact"] .story-card h3 { font-size: 1.18rem; }

/* responsive */
@media (max-width: 880px) {
  .nav-links { display: none; }
  .search-pill { min-width: 0; padding: 8px 12px; }
  .search-pill kbd { display: none; }
}



*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--paper);color:var(--ink);font-family:var(--serif-text);font-size:17px;line-height:1.6}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.eyebrow{font-family:var(--sans);font-size:0.78rem;text-transform:uppercase;letter-spacing:0.16em;color:var(--ink-muted);font-weight:600}
.site-header{position:sticky;top:0;z-index:50;background:rgba(244,236,219,0.95);backdrop-filter:blur(8px);border-bottom:1px solid var(--rule);padding:14px 24px}
.site-header-inner{max-width:1280px;margin:0 auto;display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.site-logo{display:flex;align-items:center;gap:10px}
.site-logo img{width:42px;height:42px;border-radius:6px;object-fit:cover}
.site-logo-text{font-family:var(--serif);font-size:1.4rem;font-weight:bold;line-height:1}
.site-logo-text small{display:block;font-family:var(--sans);font-size:0.65rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--ink-muted);margin-top:3px;font-weight:normal}
.site-nav{display:flex;gap:6px;flex-wrap:wrap;margin-left:auto}
.site-nav a{font-family:var(--sans);font-size:0.92rem;font-weight:500;color:var(--ink-soft);padding:8px 14px;border-radius:8px;transition:all .15s}
.site-nav a:hover{color:var(--orange);background:var(--paper-warm)}
.site-nav a.active{color:var(--ink);background:var(--paper-warm);font-weight:600}
@media(max-width:780px){.site-nav a{font-size:0.82rem;padding:6px 10px}}
.hero{padding:80px 24px 60px;text-align:center;max-width:920px;margin:0 auto}
.hero h1{font-family:var(--serif);font-size:clamp(2.4rem,7vw,4.8rem);line-height:1;margin:0 0 22px}
.hero .lead{font-size:1.18rem;color:var(--ink-soft);max-width:54ch;margin:0 auto 18px;line-height:1.6}
.hero .quote{font-family:var(--hand);font-size:1.8rem;color:var(--orange);margin:24px 0}
.hero img.foto{max-width:340px;border-radius:14px;margin:24px auto;border:5px solid var(--paper);box-shadow:0 12px 36px rgba(42,31,18,0.25);display:block}
.hero-stats{display:flex;gap:28px;justify-content:center;flex-wrap:wrap;margin-top:36px;padding-top:32px;border-top:1px dashed var(--rule)}
.hero-stat{font-family:var(--sans);font-size:0.84rem;color:var(--ink-muted)}
.hero-stat strong{display:block;font-family:var(--serif);font-size:2.2rem;color:var(--ink);margin-bottom:4px}
.nav-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;padding:40px 24px;max-width:1200px;margin:0 auto}
.nav-card{background:var(--paper);border:1px solid var(--rule);border-radius:14px;padding:28px 24px;transition:all .2s;display:block}
.nav-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px rgba(42,31,18,0.12);border-color:var(--orange)}
.nav-card-icon{font-size:2.2rem;margin-bottom:14px;display:block}
.nav-card h3{font-family:var(--serif);font-size:1.5rem;margin:0 0 8px}
.nav-card p{font-size:0.95rem;color:var(--ink-soft);margin:0;line-height:1.5}
.page-head{padding:60px 24px 30px;text-align:center;max-width:880px;margin:0 auto;border-bottom:1px dashed var(--rule)}
.page-head h1{font-family:var(--serif);font-size:clamp(2rem,5vw,3.6rem);line-height:1;margin:14px 0 16px}
.page-head p{font-size:1.05rem;color:var(--ink-soft);max-width:60ch;margin:0 auto;line-height:1.6}
section.bloc{padding:50px 24px;max-width:1100px;margin:0 auto}
.post{padding:28px 0;border-bottom:1px dashed var(--rule);scroll-margin-top:80px}
.post-head{display:flex;align-items:center;gap:12px;margin-bottom:12px;font-family:var(--sans);font-size:0.82rem;color:var(--ink-muted);flex-wrap:wrap}
.post-score{margin-left:auto;color:var(--mustard);font-weight:bold}
.post-fotos.uma img{width:100%;height:auto;max-height:600px;object-fit:contain;background:var(--paper-warm);cursor:zoom-in;border-radius:8px}
.post-fotos.varias{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:6px}
.post-fotos.varias img{width:100%;height:200px;object-fit:cover;border-radius:6px;cursor:zoom-in}
.post-texto p{font-size:1rem;line-height:1.55;margin:0 0 0.7em;font-family:var(--serif-text);white-space:pre-wrap}
.post-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:14px;padding-top:10px;border-top:1px dashed var(--rule)}
.tag{display:inline-flex;font-family:var(--sans);font-size:0.74rem;font-weight:500;padding:0.25em 0.7em;border-radius:999px;background:var(--paper-deep);color:var(--ink);border:1px solid var(--rule)}
.tag.teal{background:#D6ECE7;color:#1F5E54;border-color:#A0CDC2}
.tag.sage{background:#DFE7C7;color:#4A5A28;border-color:#B5C48A}
.tag.orange{background:#FBE7D6;color:#8E3A0F;border-color:#EBC299}
.filtros{background:var(--paper-warm);padding:24px;border-radius:12px;margin-bottom:32px;border:1px solid var(--rule)}
.filtros-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:14px}
.filtros input[type=search]{flex:1;min-width:220px;padding:10px 14px;border:1px solid var(--rule);border-radius:8px;background:var(--paper);font-family:var(--serif-text);font-size:1rem}
.filtros select{padding:10px 12px;border:1px solid var(--rule);border-radius:8px;background:var(--paper);font-family:var(--sans);font-size:0.9rem;cursor:pointer}
.filtros .filtros-info{font-family:var(--sans);font-size:0.85rem;color:var(--ink-muted);margin-left:auto}
.paginacao{display:flex;justify-content:center;gap:6px;padding:40px 0;flex-wrap:wrap}
.paginacao button,.paginacao span{padding:8px 14px;border-radius:6px;border:1px solid var(--rule);background:var(--paper);font-family:var(--sans);font-size:0.88rem;cursor:pointer}
.paginacao button:hover{background:var(--paper-warm)}
.paginacao button.atual{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.paginacao button:disabled{opacity:0.4;cursor:not-allowed}
.site-footer{background:var(--ink);color:var(--paper);padding:48px 24px;margin-top:80px;text-align:center}
.site-footer .quote{font-family:var(--hand);font-size:1.6rem;color:var(--mustard-soft);margin:8px 0}
.site-footer small{color:rgba(244,236,219,0.6);font-family:var(--sans);font-size:0.82rem}
#lightbox{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.92);z-index:9999;cursor:zoom-out;align-items:center;justify-content:center;padding:20px}
#lightbox.open{display:flex}
#lightbox img{max-width:96vw;max-height:96vh;object-fit:contain}
.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.card{background:var(--paper);border:1px solid var(--rule);border-radius:10px;padding:20px;transition:all .15s}
.card:hover{border-color:var(--orange);transform:translateY(-2px)}
.card h3{font-family:var(--serif);font-size:1.25rem;margin:0 0 6px}
.card .meta{font-family:var(--sans);font-size:0.8rem;color:var(--ink-muted);margin-bottom:10px}
.card a{color:var(--teal);border-bottom:1px dotted}
.mural{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:6px;padding:24px;max-width:1400px;margin:0 auto}
.mural .rosto{aspect-ratio:3/4;overflow:hidden;border-radius:4px;background:var(--paper-warm);cursor:pointer;transition:transform .2s}
.mural .rosto:hover{transform:scale(1.08);z-index:5;box-shadow:0 8px 24px rgba(0,0,0,0.3)}
.mural .rosto img{width:100%;height:100%;object-fit:cover;display:block;filter:sepia(15%) saturate(0.9)}
.mural-intro{padding:50px 24px;text-align:center;max-width:780px;margin:0 auto;border-bottom:1px dashed var(--rule)}
.video-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;padding:24px;max-width:1300px;margin:0 auto}
.video-card{background:var(--paper);border:1px solid var(--rule);border-radius:10px;overflow:hidden;cursor:pointer;transition:all .15s}
.video-card:hover{transform:translateY(-3px);border-color:var(--orange)}
.video-thumb{aspect-ratio:16/9;background:linear-gradient(135deg,var(--ink) 0%,var(--orange) 100%);display:grid;place-items:center;color:var(--paper);font-size:3rem}
.video-card-body{padding:14px}
.video-card .data{font-family:var(--sans);font-size:0.78rem;color:var(--ink-muted);margin-bottom:6px}
.video-card .desc{font-size:0.92rem;line-height:1.4;color:var(--ink);max-height:4.2em;overflow:hidden}
.frases-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.frase-card{background:var(--paper-warm);border-left:3px solid var(--orange);border-radius:0 6px 6px 0;padding:18px 22px;font-family:var(--serif);font-style:italic;font-size:0.95rem;line-height:1.4}
.frase-card small{display:block;margin-top:8px;font-family:var(--sans);font-size:0.7rem;text-transform:uppercase;letter-spacing:0.1em;color:var(--ink-muted);font-style:normal;font-weight:600}
.dic-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:18px}
.verbete{background:var(--paper);border:1px solid var(--rule);border-radius:10px;padding:22px}
.verbete h3{font-family:var(--serif);font-size:1.4rem;margin:0 0 6px;color:var(--orange)}
.verbete .def{margin:0 0 10px;font-size:0.95rem}
.verbete .def strong{font-family:var(--sans);font-size:0.72rem;letter-spacing:0.06em;color:var(--ink-muted)}
.verbete .exemplo{padding:12px 14px;background:var(--paper-warm);border-radius:6px;font-style:italic;font-size:0.92rem;color:var(--ink-soft);margin:0}
.pessoa-bloco{background:var(--paper);border:1px solid var(--rule);border-radius:12px;padding:24px;margin-bottom:18px}
.pessoa-bloco h2{font-family:var(--serif);font-size:1.6rem;margin:0 0 6px}
.pessoa-bloco .pessoa-meta{font-family:var(--sans);font-size:0.85rem;color:var(--ink-muted);margin-bottom:14px}
.pessoa-bloco .pessoa-posts{font-size:0.92rem;line-height:1.5}
.pessoa-bloco .pessoa-posts a{color:var(--teal);border-bottom:1px dotted;margin-right:10px}
.sobre-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
@media(max-width:780px){.sobre-grid{grid-template-columns:1fr}}
