/* Reinvente · Maiza Galvão
   Layout: coluna editorial única e calma, como uma conversa de sessão; o mapa é o protagonista. */
:root {
  --bg: #f3ebe1;
  --paper: #fbf7f1;
  --ink: #2e211b;
  --ink-soft: #6b5a50;
  --line: #e2d5c6;
  --accent: #8b3e26;
  --accent-ink: #ffffff;
  --accent-soft: #f1ddd0;
  --care: #b4483a;
  --care-bg: #f7dfd8;
  --build: #9a6b12;
  --build-bg: #f6e8c6;
  --keep: #4e6b45;
  --keep-bg: #dfe8d6;
  --display: "Newsreader", "Iowan Old Style", Georgia, serif;
  --body: "Plus Jakarta Sans", "Segoe UI", system-ui, sans-serif;
  --radius: 14px;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --bg: #1d1714; --paper: #271f1b; --ink: #f2e8df; --ink-soft: #c2b0a3; --line: #3d322c;
    --accent: #e08f6f; --accent-ink: #1d1714; --accent-soft: #3a2a23;
    --care: #f0907f; --care-bg: #43251f; --build: #e6bd63; --build-bg: #3d3018; --keep: #a9c79c; --keep-bg: #26331f;
    color-scheme: dark;
  }
}
:root[data-theme="dark"] {
  --bg: #1d1714; --paper: #271f1b; --ink: #f2e8df; --ink-soft: #c2b0a3; --line: #3d322c;
  --accent: #e08f6f; --accent-ink: #1d1714; --accent-soft: #3a2a23;
  --care: #f0907f; --care-bg: #43251f; --build: #e6bd63; --build-bg: #3d3018; --keep: #a9c79c; --keep-bg: #26331f;
  color-scheme: dark;
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--bg); color: var(--ink); font: 400 17px/1.6 var(--body); }
a { color: var(--accent); }
img { max-width: 100%; }
h1, h2, h3 { font-family: var(--display); font-weight: 400; line-height: 1.1; text-wrap: balance; margin: 0; letter-spacing: -0.01em; }
h1 em, h2 em, h3 em { color: var(--accent); }
p { margin: 0; }
.wrap { max-width: 1060px; margin: 0 auto; padding-left: max(16px, env(safe-area-inset-left, 0px)); padding-right: max(16px, env(safe-area-inset-right, 0px)); }
.narrow { max-width: 680px; }
.eyebrow { font: 600 12px/1.3 var(--body); letter-spacing: .14em; text-transform: uppercase; color: var(--accent); }
.muted { color: var(--ink-soft); }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: .5em; min-height: 52px; padding: 0 26px; border-radius: 999px; border: 0; background: var(--accent); color: var(--accent-ink); font: 600 16px/1 var(--body); text-decoration: none; cursor: pointer; transition: transform .15s ease, filter .15s ease; }
.btn:hover { filter: brightness(1.06); }
.btn:active { transform: translateY(1px); }
.btn:focus-visible, a:focus-visible, button:focus-visible, input:focus-visible, label:focus-within { outline: 3px solid var(--accent); outline-offset: 3px; }
.btn.ghost { background: transparent; color: var(--ink); box-shadow: inset 0 0 0 1.5px var(--line); }
.btn.block { width: 100%; }
.tag { display: inline-block; font: 700 11px/1 var(--body); letter-spacing: .1em; text-transform: uppercase; padding: 6px 9px; border-radius: 6px; white-space: nowrap; }
.tag.care { background: var(--care-bg); color: var(--care); }
.tag.build { background: var(--build-bg); color: var(--build); }
.tag.keep { background: var(--keep-bg); color: var(--keep); }
.brand { font-family: var(--display); font-size: 22px; line-height: .95; color: var(--ink); text-decoration: none; }
.brand i { color: var(--accent); }
.foot { padding-block: 40px 56px; font-size: 13px; color: var(--ink-soft); border-top: 1px solid var(--line); }
.foot p + p { margin-top: 8px; }
@media (prefers-reduced-motion: reduce) { * { transition: none !important; animation: none !important; } }
