/* ==========================================================================
   Porsebon — base visual da Home v2 (verde-oliva, creme e cobre — identidade do cliente)
   ========================================================================== */

/* Fontes hospedadas no próprio tema (Inter Tight e Newsreader, licença OFL), sem requisições ao Google. */
@font-face {
  font-family: 'Inter Tight'; font-style: normal; font-weight: 300 700; font-display: swap;
  src: url('../fonts/inter-tight-latin-ext.woff2') format('woff2');
  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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter Tight'; font-style: normal; font-weight: 300 700; font-display: swap;
  src: url('../fonts/inter-tight-latin.woff2') format('woff2');
  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: 'Newsreader'; font-style: italic; font-weight: 400; font-display: swap;
  src: url('../fonts/newsreader-italic-latin-ext.woff2') format('woff2');
  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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Newsreader'; font-style: italic; font-weight: 400; font-display: swap;
  src: url('../fonts/newsreader-italic-latin.woff2') format('woff2');
  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;
}


:root {
  --g900: #1b260f;
  --g800: #273617;
  --g700: #3d4a26;
  --g600: #555936;
  --cream: #f9f7ed;
  --cream-2: #efecdc;
  --copper: #b37e52;
  --copper-d: #8a5e38;
  --copper-l: #efe0d0;
  --ink: #1d2a10;
  --text: #3f4630;
  --muted: #5b5f45;
  --line: #e4e1cd;
  --font: 'Inter Tight', system-ui, sans-serif;
  --font-serif: 'Newsreader', Georgia, serif;
  --radius: 20px;
  --max: 1240px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--cream);
  color: var(--ink);
  font-family: var(--font);
  -webkit-font-smoothing: antialiased;
  line-height: 1.5;
}
img { max-width: 100%; height: auto; }
a { color: var(--copper); text-decoration: none; transition: color .2s, background .2s, border-color .2s, transform .25s; }
a:hover { color: var(--cream); }
h1, h2, h3, p, ul, figure, blockquote { margin: 0; }
ul { padding: 0; list-style: none; }
[id] { scroll-margin-top: 96px; }
.hp { position: absolute; left: -9999px; }

/* ---------- Tipografia utilitária ---------- */
.eyebrow {
  font-size: 13px; letter-spacing: .18em; text-transform: uppercase;
  color: var(--copper); margin-bottom: 20px; font-weight: 400;
}
.eyebrow-dark { color: var(--copper-d); }
.eyebrow-line { display: flex; align-items: center; gap: 14px; margin-bottom: 28px; }
.eyebrow-line::before { content: ''; width: 36px; height: 2px; background: var(--copper); border-radius: 2px; }
.accent-italic { font-family: var(--font-serif); font-style: italic; color: var(--copper); }
.section-inner { max-width: var(--max); margin: 0 auto; padding: 120px 32px; }
.section-title {
  font-weight: 400; font-size: clamp(32px, 4vw, 50px); line-height: 1.08;
  letter-spacing: -.01em; text-wrap: balance;
}
.section-title-md { font-size: clamp(30px, 3.4vw, 44px); line-height: 1.1; }
.prose { display: flex; flex-direction: column; gap: 18px; font-size: 18px; line-height: 1.65; color: var(--text); font-weight: 300; }
.prose strong { font-weight: 600; color: inherit; }
.prose-light { color: rgba(249, 247, 237, .8); font-size: 17px; }

/* ---------- Botões ---------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 15px 28px; border-radius: 999px; font-family: inherit; font-size: 15px; font-weight: 500;
  border: 1px solid transparent; cursor: pointer; line-height: 1.2;
}
.btn-sm { padding: 11px 22px; }
.btn-lg { padding: 17px 32px; font-size: 16px; }
.btn-block { display: flex; justify-content: space-between; width: 100%; }
.btn-primary { background: var(--copper); color: var(--g800); }
.btn-primary:hover { background: var(--cream); color: var(--g800); }
.btn-outline { border-color: rgba(249, 247, 237, .45); color: var(--cream); background: transparent; }
.btn-outline:hover { border-color: var(--copper); color: var(--copper); }
.btn-dark { background: var(--g800); color: var(--cream); }
.btn-dark:hover { background: var(--copper); color: var(--g800); }
.btn-outline-dark { border-color: var(--g800); color: var(--g800); background: transparent; }
.btn-outline-dark:hover { background: var(--g800); color: var(--cream); }

/* ---------- Cabeçalho ---------- */
.site-header {
  position: fixed; inset: 0 0 auto 0; z-index: 20;
  background: transparent; transition: background .35s, backdrop-filter .35s;
}
.site-header.is-scrolled { background: rgba(27, 38, 15, .94); backdrop-filter: blur(10px); }
.admin-bar .site-header { top: 32px; }
.header-inner {
  max-width: var(--max); margin: 0 auto; padding: 16px 32px;
  display: flex; align-items: center; justify-content: space-between; gap: 24px;
}
.brand { display: flex; }
.brand img { height: 40px; width: auto; display: block; }
@media (max-width: 600px) { .brand img { height: 32px; } }
.site-nav { display: flex; align-items: center; gap: 28px; font-size: 15px; }
.site-nav a:not(.btn) { color: var(--cream); }
.site-nav a:not(.btn):hover { color: var(--copper); }
.nav-toggle { display: none; background: none; border: 0; padding: 8px; cursor: pointer; }
.nav-toggle span { display: block; width: 24px; height: 2px; background: var(--cream); margin: 5px 0; transition: transform .25s, opacity .25s; }
.nav-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.nav-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ---------- Hero ---------- */
.hero { position: relative; min-height: 100vh; min-height: 100svh; display: flex; align-items: flex-end; overflow: hidden; background: var(--g800); color: var(--cream); }
/* Com a barra do WordPress visível (usuário logado), o hero desconta a altura dela. */
.admin-bar .hero { min-height: calc(100vh - 32px); min-height: calc(100svh - 32px); }
@media (max-width: 782px) { .admin-bar .hero { min-height: calc(100vh - 46px); min-height: calc(100svh - 46px); } }
.hero-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.hero-overlay {
  position: absolute; inset: 0;
  background:
    linear-gradient(180deg, rgba(61, 74, 38, 0) 72%, #3d4a26 100%),
    linear-gradient(90deg, rgba(27, 38, 15, .85) 0%, rgba(27, 38, 15, 0) 65%),
    linear-gradient(180deg, #1b260f 0%, rgba(27, 38, 15, .92) 10%, rgba(27, 38, 15, .6) 30%, rgba(61, 74, 38, .5) 65%, #3d4a26 100%);
}
.hero-inner { position: relative; max-width: var(--max); width: 100%; margin: 0 auto; padding: 140px 32px 96px; }
.hero h1 {
  font-weight: 400; font-size: clamp(40px, 6vw, 78px); line-height: 1.03;
  letter-spacing: -.012em; max-width: 900px; text-wrap: balance;
}
.hero-tags { display: flex; flex-wrap: wrap; gap: 10px; margin: 32px 0 40px; max-width: 760px; }
.hero-tags li {
  border: 1px solid rgba(249, 247, 237, .35); background: rgba(249, 247, 237, .06);
  border-radius: 999px; font-size: 15px; transition: background .2s, border-color .2s;
}
.hero-tags li > a, .hero-tags li > span { display: block; padding: 8px 16px; color: inherit; }
.hero-tags li.is-link:hover { background: rgba(179, 126, 82, .28); border-color: var(--copper); }
.hero-tags li > a:hover { color: var(--cream); }
.hero-tags li > a:focus-visible { outline: 2px solid var(--copper); outline-offset: 2px; border-radius: 999px; }
.hero-buttons { display: flex; gap: 14px; flex-wrap: wrap; }

/* ---------- Quem somos ---------- */
.about { background: var(--cream); }
.split { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap: 72px; align-items: center; }
.about-photo { position: relative; aspect-ratio: 4/5; background: #d9d6c8; overflow: hidden; border-radius: 24px; }
.about-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.photo-badge {
  position: absolute; left: 16px; bottom: 16px; background: rgba(39, 54, 23, .92); color: var(--cream);
  padding: 14px 20px; font-size: 14px; line-height: 1.4; border-radius: 14px;
}
.photo-badge span { color: var(--copper); }
.about-prose { position: relative; isolation: isolate; max-width: 540px; }
.about-bg-icon {
  position: absolute; z-index: -1; right: 0; top: 50%; transform: translateY(-50%);
  height: 100%; width: auto; max-width: none; pointer-events: none; user-select: none;
}
@media (max-width: 600px) { .about-bg-icon { height: 75%; right: -10px; } }
.about-copy .section-title { margin-bottom: 28px; }
.about-copy .prose { max-width: 540px; }
.about-copy .btn { margin-top: 32px; }

/* ---------- Números ---------- */
.stats { background: var(--g800); color: #fff; }
.stats .section-inner { padding-top: 80px; padding-bottom: 80px; }
.stats-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 72px 64px; }
.stat-card { display: flex; flex-direction: column; }
.stat-value { display: flex; align-items: baseline; gap: 8px; font-size: 84px; font-weight: 400; letter-spacing: -.01em; line-height: 1; font-variant-numeric: tabular-nums; }
.stat-prefix { font-size: 44px; font-weight: 300; color: var(--copper); }
.stat-label { margin: 28px 0 14px; font-size: 22px; line-height: 1.25; letter-spacing: 0; text-transform: uppercase; color: #fff; font-weight: 700; }
.stat-desc { margin: 0; font-size: 16px; line-height: 1.7; color: rgba(255, 255, 255, .85); font-weight: 300; }
@media (max-width: 900px) { .stats-grid { grid-template-columns: repeat(2, 1fr); gap: 56px 40px; } }
@media (max-width: 600px) { .stats-grid { grid-template-columns: 1fr; } }

/* ---------- Áreas (home) ---------- */
.areas { background: var(--cream); }
.section-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 32px; flex-wrap: wrap; margin-bottom: 56px; }
.section-head .section-title { max-width: 660px; }
.section-head-center { align-items: flex-end; margin-bottom: 48px; }
.section-aside { display: flex; flex-direction: column; gap: 18px; max-width: 360px; align-items: flex-start; }
.section-aside p { font-size: 16px; line-height: 1.6; color: var(--muted); font-weight: 300; }
.areas-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 270px), 1fr)); gap: 16px; }
.area-card {
  background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 32px 28px;
  display: flex; flex-direction: column; gap: 14px; min-height: 220px; color: var(--ink);
}
.area-card:hover { background: var(--g800); color: var(--cream); border-color: var(--g800); transform: translateY(-4px); }
.area-num {
  width: 40px; height: 40px; border-radius: 12px; background: var(--copper-l); color: var(--copper-d);
  display: flex; align-items: center; justify-content: center; font-size: 14px; font-weight: 500;
}
.area-card h3 { font-size: 22px; font-weight: 500; letter-spacing: -.01em; }
.area-card p { font-size: 15px; line-height: 1.6; opacity: .75; font-weight: 300; }

/* ---------- Equipe (home) ---------- */
.team { background: var(--cream); }
.team .section-inner { padding-top: 0; padding-bottom: 120px; }
.team-card {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr));
  background: linear-gradient(135deg, #1b260f 0%, #3d4a26 60%, #555936 100%);
  border-radius: 28px; overflow: hidden; color: var(--cream);
}
.team-copy { padding: 64px 56px; display: flex; flex-direction: column; gap: 20px; align-items: flex-start; }
.team-copy .eyebrow { margin-bottom: 0; }
.team-copy h2 { font-weight: 400; font-size: clamp(30px, 3.4vw, 44px); line-height: 1.1; letter-spacing: -.01em; }
.team-note {
  display: flex; align-items: center; gap: 12px; background: rgba(249, 247, 237, .08);
  border-radius: 14px; padding: 14px 18px; font-size: 15px; line-height: 1.45;
}
.dot { width: 8px; height: 8px; border-radius: 50%; background: var(--copper); flex: none; }
.team-photo { min-height: 420px; background: #3d4a26; }
.team-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* ---------- Depoimentos ---------- */
.testimonials { background: var(--cream-2); }
.testimonials .section-title { margin-bottom: 48px; }
.testimonials-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 20px; }
.testimonial {
  background: #fff; border-radius: var(--radius); padding: 36px 32px;
  display: flex; flex-direction: column; justify-content: space-between; gap: 28px;
}
.testimonial { position: relative; }
.testimonial-link { position: absolute; inset: 0; border-radius: var(--radius); }
.testimonial.is-link { transition: transform .25s, box-shadow .25s; }
.testimonial.is-link:hover { transform: translateY(-4px); box-shadow: 0 14px 32px rgba(27, 38, 15, .12); }
.testimonial-link:focus-visible { outline: 2px solid var(--copper); outline-offset: 3px; }
.stars { color: var(--copper); font-size: 15px; letter-spacing: .2em; margin-bottom: 16px; }
.testimonial blockquote { font-family: var(--font-serif); font-style: italic; font-size: 21px; line-height: 1.5; text-wrap: pretty; }
.testimonial figcaption { display: flex; align-items: center; gap: 12px; font-size: 15px; font-weight: 500; }
.avatar {
  width: 40px; height: 40px; border-radius: 50%; background: var(--g800); color: var(--copper);
  display: flex; align-items: center; justify-content: center; font-size: 14px; flex: none;
}

/* ---------- Carrossel de clientes ---------- */
.clients { background: var(--cream-2); }
.clients-inner { max-width: var(--max); margin: 0 auto; padding: 0 32px 24px; text-align: center; }
.clients-title { font-size: 13px; letter-spacing: .18em; text-transform: uppercase; color: var(--copper-d); font-weight: 400; }
.clients-marquee {
  overflow: hidden; padding-block: 24px 56px;
  width: min(calc(100% - 64px), calc(var(--max) - 64px)); margin-inline: auto;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.clients-track { display: flex; width: max-content; animation: clients-scroll 32s linear infinite; }
.clients-marquee:hover .clients-track, .clients-marquee:focus-within .clients-track { animation-play-state: paused; }
.clients-group { display: flex; align-items: center; gap: 28px; padding-right: 28px; flex: none; }
.clients-logo { display: flex; border-radius: 12px; overflow: hidden; flex: none; align-items: center; justify-content: center; }
/* Todos cabem numa caixa de tamanho máximo igual (ajustada por logo em --s), mantendo a proporção. */
.clients-logo img {
  display: block; width: auto; height: auto;
  max-width: calc(150px * var(--s, 1)); max-height: calc(64px * var(--s, 1));
}
@keyframes clients-scroll { to { transform: translateX(-50%); } }
@media (max-width: 600px) {
  .clients-inner { padding: 0 20px 16px; }
  .clients-logo img { max-width: calc(120px * var(--s, 1)); max-height: calc(52px * var(--s, 1)); }
  .clients-marquee { padding-bottom: 44px; width: calc(100% - 40px); }
}
/* Com "reduzir movimento" no sistema, o carrossel continua andando, só que bem mais devagar (~2,5x). */
@media (prefers-reduced-motion: reduce) {
  .clients-track { animation-duration: 80s; }
}

/* ---------- Cards de post ---------- */
.news-home { background: var(--cream); }
.cards-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 20px; }
.post-card {
  display: flex; flex-direction: column; background: #fff; border-radius: var(--radius);
  overflow: hidden; color: var(--ink);
}
.post-card:hover { transform: translateY(-4px); color: var(--ink); }
.post-card-image { aspect-ratio: 16/10; background: var(--g600); overflow: hidden; }
.post-card-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.post-card-body { padding: 24px 26px 28px; display: flex; flex-direction: column; gap: 10px; }
.post-card h3 { font-size: 20px; font-weight: 500; line-height: 1.3; text-wrap: pretty; }
.post-card p { font-size: 15px; line-height: 1.55; color: var(--muted); font-weight: 300; }
.post-meta { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; font-size: 13px; color: #6b7472; }
.pill { background: var(--copper-l); color: #6e4a2b; padding: 4px 12px; border-radius: 999px; }
.pill-dark { background: var(--g800); color: var(--copper); }
.pill-copper { background: var(--copper); color: var(--g800); font-weight: 600; padding: 5px 14px; }

/* ---------- Faixa de abertura das páginas internas ---------- */
.page-hero { background: linear-gradient(180deg, #1b260f 0%, #3d4a26 100%); color: var(--cream); }
.page-hero-inner { max-width: var(--max); margin: 0 auto; padding: 180px 32px 72px; }
.page-hero h1 {
  font-weight: 400; font-size: clamp(38px, 5vw, 64px); line-height: 1.05;
  letter-spacing: -.012em; margin-bottom: 20px; max-width: 860px; text-wrap: balance;
}
.page-hero-lead p + p { margin-top: 16px; }
.page-hero-lead { margin-bottom: 36px; max-width: 640px; font-size: 18px; line-height: 1.6; color: rgba(249, 247, 237, .8); font-weight: 300; }
.chips { display: flex; gap: 10px; flex-wrap: wrap; }
.chip {
  font-family: inherit; font-size: 15px; cursor: pointer; padding: 10px 20px; border-radius: 999px;
  border: 1px solid rgba(249, 247, 237, .35); background: transparent; color: var(--cream);
}
a.chip:hover, .chip.is-active { background: var(--copper); border-color: var(--copper); color: var(--g800); }
.chips-static .chip { cursor: default; background: rgba(249, 247, 237, .08); border-color: rgba(249, 247, 237, .18); font-size: 14px; padding: 8px 16px; }

/* ---------- Listagem do News ---------- */
.news-list { background: var(--cream); }
.news-list .section-inner { padding-top: 64px; }
.featured-post {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr));
  background: #fff; border-radius: 24px; overflow: hidden; color: var(--ink); margin-bottom: 24px;
}
.featured-post:hover { color: var(--ink); }
.featured-image { min-height: 340px; background: var(--g600); }
.featured-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.featured-body { padding: 48px; display: flex; flex-direction: column; justify-content: center; gap: 16px; }
.featured-body h2 { font-size: clamp(26px, 2.6vw, 34px); font-weight: 500; line-height: 1.2; letter-spacing: -.015em; text-wrap: balance; }
.featured-body p { font-size: 16px; line-height: 1.6; color: var(--muted); font-weight: 300; }
.read-more { font-size: 14px; color: var(--copper-d); font-weight: 500; }
.empty-state { text-align: center; color: var(--muted); padding: 48px 0; }
.pagination { margin-top: 48px; }
.pagination .nav-links { display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; }
.pagination .page-numbers {
  min-width: 42px; height: 42px; padding: 0 14px; display: inline-flex; align-items: center; justify-content: center;
  border: 1px solid var(--g800); border-radius: 999px; color: var(--g800);
}
.pagination .page-numbers.current, .pagination a.page-numbers:hover { background: var(--g800); color: var(--cream); }

/* ---------- Artigo ---------- */
.article-hero-inner { max-width: 860px; margin: 0 auto; padding: 170px 32px 64px; display: flex; flex-direction: column; gap: 20px; }
.article-hero h1 { font-weight: 600; font-size: clamp(32px, 4.4vw, 52px); line-height: 1.1; letter-spacing: -.01em; margin: 0; }
.article-hero .page-hero-lead { font-size: 19px; margin: 0; max-width: none; }
.back-link { color: var(--copper); font-size: 15px; font-weight: 500; }
.article-meta { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; font-size: 14px; color: rgba(249, 247, 237, .7); }
.article-author { font-size: 15px; color: rgba(249, 247, 237, .75); }
.article { background: var(--cream); }
.article-inner { max-width: 860px; margin: 0 auto; padding: 0 32px 96px; }
.article-cover { aspect-ratio: 16/8; border-radius: 24px; overflow: hidden; margin-top: -1px; background: var(--g600); }
.article-cover img { width: 100%; height: 100%; object-fit: cover; display: block; }
.entry { padding-top: 48px; font-size: 18px; line-height: 1.75; color: #2f3822; font-weight: 300; }
.entry > * + * { margin-top: 20px; }
.entry h2 { font-size: 26px; font-weight: 600; line-height: 1.25; color: var(--ink); margin-top: 36px; }
.entry h3 { font-size: 21px; font-weight: 600; color: var(--ink); margin-top: 28px; }
.entry a { color: var(--copper-d); text-decoration: underline; }
.entry ul, .entry ol { padding-left: 22px; list-style: revert; }
.entry blockquote { padding: 24px 28px; background: #fff; border-radius: 16px; font-size: 20px; line-height: 1.55; font-weight: 400; color: var(--ink); }
.entry img { border-radius: 16px; }
.generic-page { background: var(--cream); }
.generic-page .entry { padding-bottom: 96px; }

.cta-band {
  margin-top: 56px; background: linear-gradient(135deg, #1b260f, #555936); border-radius: 24px; padding: 40px 44px;
  color: var(--cream); display: flex; justify-content: space-between; align-items: center; gap: 20px; flex-wrap: wrap;
}
.cta-band-title { font-size: 24px; font-weight: 500; margin-bottom: 6px; }
.cta-band-text { font-size: 15px; color: rgba(249, 247, 237, .72); font-weight: 300; }
.cta-band-spaced { margin-top: 24px; }

/* ---------- Página de áreas ---------- */
.areas-page { background: var(--cream); }
.areas-page .section-inner { padding-top: 72px; }
.area-detail-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 520px), 1fr)); gap: 24px; }
.area-detail {
  background: #fff; border-radius: 24px; padding: 44px 40px; display: flex; flex-direction: column; gap: 22px;
  border: 1px solid var(--line);
}
.area-detail-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; }
.area-detail h2 { font-size: 28px; font-weight: 600; letter-spacing: -.015em; line-height: 1.15; }
.area-detail .area-num { background: none; width: auto; height: auto; font-size: 14px; font-weight: 600; color: var(--copper); letter-spacing: .1em; padding-top: 8px; }
.area-intro { font-size: 17px; line-height: 1.65; color: var(--text); font-weight: 300; }
.area-box { background: var(--cream); border-radius: 16px; padding: 24px 26px; display: flex; flex-direction: column; gap: 12px; }
.area-box ul { display: flex; flex-direction: column; gap: 10px; }
.area-box li { display: flex; gap: 12px; font-size: 15px; line-height: 1.5; }
.area-box li::before { content: '—'; color: var(--copper); font-weight: 600; }
.label { font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: var(--copper-d); font-weight: 600; }
.area-audience { display: flex; flex-direction: column; gap: 4px; font-size: 15px; line-height: 1.55; color: var(--muted); }
.area-detail .btn { margin-top: auto; padding: 16px 24px; }

/* ---------- Página da equipe ---------- */
.founder-inner {
  max-width: var(--max); margin: 0 auto; padding: 180px 32px 96px;
  display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap: 64px; align-items: center;
}
.founder-copy { display: flex; flex-direction: column; gap: 22px; align-items: flex-start; }
.founder-copy .eyebrow { margin-bottom: 0; font-weight: 600; }
.founder-copy h1 { font-weight: 600; font-size: clamp(38px, 5vw, 62px); line-height: 1.05; letter-spacing: -.012em; }
.founder-oab { font-size: 16px; color: rgba(249, 247, 237, .75); }
.founder-copy .page-hero-lead { margin: 0; max-width: 540px; font-size: 18px; line-height: 1.65; }
.founder-photo { aspect-ratio: 4/5; border-radius: 28px; overflow: hidden; background: #3d4a26; }
.founder-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.founder-details { background: var(--cream); }
.founder-details .section-inner { padding-top: 96px; padding-bottom: 96px; }
.details-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); gap: 20px; }
.detail-card { background: #fff; border-radius: var(--radius); padding: 36px; display: flex; flex-direction: column; gap: 18px; }
.detail-card h2 { font-size: 22px; font-weight: 600; }
.detail-card-dark { background: linear-gradient(135deg, #1b260f, #555936); color: var(--cream); }
.detail-row { display: flex; flex-direction: column; gap: 4px; border-top: 1px solid #ece9dd; padding-top: 16px; }
.detail-row-flex { flex-direction: row; gap: 16px; font-size: 15px; line-height: 1.55; color: var(--text); }
.detail-row-light { border-color: rgba(249, 247, 237, .15); align-items: baseline; color: var(--cream); }
.detail-title { font-size: 16px; font-weight: 500; }
.detail-sub { font-size: 14px; color: #6b7472; line-height: 1.45; }
.detail-row-light .detail-sub { color: rgba(249, 247, 237, .78); }
.detail-year { font-size: 14px; font-weight: 600; color: var(--copper-d); min-width: 64px; }
.detail-number { font-size: 36px; font-weight: 300; min-width: 96px; }
.method-card {
  margin-top: 20px; background: #fff; border-radius: 24px; padding: 48px;
  display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr)); gap: 40px;
}
.method-card h2 { font-size: clamp(26px, 3vw, 36px); font-weight: 600; line-height: 1.15; letter-spacing: -.015em; }
.method-card .prose { font-size: 17px; line-height: 1.7; gap: 16px; }
.text-card { display: flex; flex-direction: column; gap: 24px; }
.text-card .prose { max-width: 820px; }
.support { background: var(--cream-2); }
.support .section-title { margin-bottom: 40px; }
.support-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 20px; }
.support-card { background: #fff; border-radius: var(--radius); overflow: hidden; display: flex; flex-direction: column; }
.support-photo { aspect-ratio: 4/3; background: repeating-linear-gradient(135deg, #e4e1d4 0 12px, #dcd9cb 12px 24px); }
.support-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.support-body { padding: 28px; display: flex; flex-direction: column; gap: 8px; }
.support-name { font-size: 20px; font-weight: 600; }
.support-role { font-size: 14px; color: var(--copper-d); font-weight: 500; }
/* Uma única pessoa: foto ao lado do texto */
.support-grid.is-single { grid-template-columns: 1fr; }
.support-grid.is-single .support-card { flex-direction: row; }
.support-grid.is-single .support-photo { flex: 0 0 340px; aspect-ratio: 4/5; }
.support-grid.is-single .support-body { padding: 44px 48px; justify-content: center; }
.support-grid.is-single .support-name { font-size: 28px; }
.support-grid.is-single .support-role { font-size: 15px; }
.support-grid.is-single .support-body p { font-size: 16px; line-height: 1.65; }
@media (max-width: 760px) {
  .support-grid.is-single .support-card { flex-direction: column; }
  .support-grid.is-single .support-photo { flex: none; width: 100%; }
  .support-grid.is-single .support-body { padding: 28px; }
}
.support-body .support-bio { margin-top: 6px; display: flex; flex-direction: column; gap: 12px; }
.support-body p { font-size: 15px; line-height: 1.6; color: var(--muted); font-weight: 300; }

/* ---------- Política de privacidade ---------- */
.privacy { background: var(--cream); }
.privacy-inner {
  max-width: var(--max); margin: 0 auto; padding: 64px 32px 120px;
  display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 48px; align-items: start;
}
.privacy-toc {
  position: sticky; top: 100px; background: #fff; border-radius: var(--radius); padding: 28px;
  display: flex; flex-direction: column; gap: 4px;
}
.privacy-toc .label { margin-bottom: 10px; font-weight: 400; letter-spacing: .14em; }
.privacy-toc a { color: var(--ink); font-size: 14px; line-height: 1.4; padding: 7px 10px; border-radius: 10px; display: flex; gap: 10px; }
.privacy-toc a span { color: var(--copper-d); font-variant-numeric: tabular-nums; }
.privacy-toc a:hover { background: var(--cream); color: var(--copper-d); }
.privacy-body { display: flex; flex-direction: column; gap: 20px; max-width: 780px; }
.privacy-body .cta-band { margin-top: 0; padding: 36px 40px; }
.privacy-card { background: #fff; border-radius: var(--radius); padding: 36px 40px; display: flex; flex-direction: column; gap: 14px; }
.privacy-card-head { display: flex; align-items: center; gap: 14px; }
.privacy-card h2 { font-size: 24px; font-weight: 500; letter-spacing: -.01em; line-height: 1.25; }
.area-badge {
  width: 40px; height: 40px; border-radius: 12px; background: var(--copper-l); color: var(--copper-d);
  display: flex; align-items: center; justify-content: center; font-size: 14px; font-weight: 500; flex: none;
}
.privacy-card .prose { font-size: 16px; line-height: 1.7; gap: 14px; text-wrap: pretty; }
.privacy-table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: 14px; }
.privacy-table { width: 100%; min-width: 560px; border-collapse: collapse; font-size: 15px; line-height: 1.5; }
.privacy-table th { background: var(--cream-2); color: var(--ink); font-weight: 600; text-align: left; padding: 12px 16px; }
.privacy-table td { padding: 12px 16px; border-top: 1px solid var(--line); color: var(--text); font-weight: 300; vertical-align: top; }
.privacy-table td:first-child { font-weight: 500; color: var(--ink); }
.privacy-list { display: flex; flex-direction: column; gap: 10px; }
.privacy-list li { display: flex; gap: 12px; font-size: 16px; line-height: 1.6; color: var(--text); font-weight: 300; }
.privacy-list strong { font-weight: 500; color: var(--ink); }
.bullet { width: 6px; height: 6px; border-radius: 50%; background: var(--copper); flex: none; margin-top: 10px; }

/* ---------- Rodapé ---------- */
.site-footer { background: linear-gradient(180deg, #3d4a26 0%, #1b260f 100%); color: rgba(249, 247, 237, .75); }
.footer-inner { max-width: var(--max); margin: 0 auto; padding: 80px 32px 40px; }
.footer-cta {
  display: flex; justify-content: space-between; align-items: center; gap: 32px; flex-wrap: wrap;
  padding-bottom: 56px; border-bottom: 1px solid rgba(249, 247, 237, .12);
}
.footer-cta h2 { font-weight: 400; font-size: clamp(30px, 3.6vw, 48px); line-height: 1.08; letter-spacing: -.01em; color: var(--cream); max-width: 620px; text-wrap: balance; }
.footer-cta-buttons { display: flex; gap: 12px; flex-wrap: wrap; }
.footer-cols { padding-top: 48px; display: grid; grid-template-columns: minmax(260px, 1.5fr) repeat(auto-fit, minmax(160px, 1fr)); gap: 40px; font-size: 15px; line-height: 1.65; }
.footer-cols strong { display: block; color: var(--cream); font-weight: 500; margin-bottom: 8px; }
.footer-cols a { color: rgba(249, 247, 237, .75); }
.footer-cols a:hover, .footer-bottom a:hover { color: var(--copper); }
@media (max-width: 700px) { .footer-cols { grid-template-columns: 1fr; } }
.footer-brand { display: flex; flex-direction: column; gap: 18px; }
.footer-brand img { height: 48px; width: auto; max-width: 100%; align-self: flex-start; }
.footer-social { display: flex; gap: 10px; }
.footer-social a {
  width: 40px; height: 40px; border-radius: 50%; border: 1px solid rgba(249, 247, 237, .3);
  display: flex; align-items: center; justify-content: center; font-size: 12px; color: var(--cream);
}
.footer-social a:hover { background: var(--copper); color: var(--g800); border-color: var(--copper); }
.footer-legal-text { margin-top: 48px; padding-top: 24px; border-top: 1px solid rgba(249, 247, 237, .15); font-size: 13px; line-height: 1.6; color: rgba(249, 247, 237, .6); }
.footer-bottom { margin-top: 24px; display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; font-size: 13px; color: rgba(249, 247, 237, .5); }
.footer-legal { display: flex; gap: 24px; flex-wrap: wrap; }
.footer-bottom a { color: rgba(249, 247, 237, .75); }

/* ---------- Animações de entrada ---------- */
/* Ao rolar: sobe 24px e aparece. Usa "translate" para não conflitar com o hover (transform) dos cards. */
.js-reveal .reveal {
  opacity: 0; translate: 0 24px;
  transition: opacity .8s ease, translate .8s cubic-bezier(.22, .61, .36, 1);
}
.js-reveal .reveal.is-visible { opacity: 1; translate: 0 0; }
/* Ao carregar: hero e cabeçalhos das páginas entram em sequência. */
@keyframes pb-rise { from { opacity: 0; translate: 0 24px; } to { opacity: 1; translate: 0 0; } }
.hero-inner > *, .page-hero-inner > *, .founder-copy > *, .founder-photo { animation: pb-rise .9s cubic-bezier(.22, .61, .36, 1) both; }
.hero-inner > :nth-child(2), .page-hero-inner > :nth-child(2), .founder-copy > :nth-child(2) { animation-delay: .12s; }
.hero-inner > :nth-child(3), .page-hero-inner > :nth-child(3), .founder-copy > :nth-child(3) { animation-delay: .24s; }
.hero-inner > :nth-child(4), .page-hero-inner > :nth-child(4), .founder-copy > :nth-child(4), .founder-photo { animation-delay: .36s; }
.founder-copy > :nth-child(n+5) { animation-delay: .48s; }
@media (max-width: 600px) { .js-reveal .reveal { translate: 0 16px; } }
@media (prefers-reduced-motion: reduce) {
  .hero-inner > *, .page-hero-inner > *, .founder-copy > *, .founder-photo { animation: none; }
}

/* ---------- Texto justificado (parágrafos; títulos, botões, menu, listas e tabelas ficam à esquerda) ---------- */
/* Só a partir de 601px: no celular as colunas são estreitas e o justificado abre buracos entre as palavras. */
@media (min-width: 601px) {
  .prose p, .page-hero-lead p, .area-intro, .area-audience > div:last-child,
  .support-grid.is-single .support-body p, .featured-body p, .entry p, .footer-legal-text,
  .area-card p, .testimonial blockquote {
    text-align: justify; text-justify: inter-word;
    hyphens: auto; -webkit-hyphens: auto; hyphenate-limit-chars: 6 3 3;
  }
}

/* ---------- Responsivo ---------- */
@media (max-width: 900px) {
  .nav-toggle { display: block; }
  .site-nav {
    position: absolute; top: 100%; left: 0; right: 0; background: rgba(27, 38, 15, .98);
    flex-direction: column; align-items: stretch; gap: 0; padding: 8px 32px 24px; display: none;
  }
  .site-nav.is-open { display: flex; }
  .site-nav a:not(.btn) { padding: 14px 0; border-bottom: 1px solid rgba(249, 247, 237, .1); }
  .site-nav .btn { margin-top: 16px; }
  .site-header.is-open { background: rgba(27, 38, 15, .98); }
  .privacy-inner { grid-template-columns: 1fr; }
  .privacy-toc { position: static; }
  .team-copy { padding: 48px 32px; }
  .featured-body, .method-card { padding: 32px; }
}
@media (max-width: 782px) { .admin-bar .site-header { top: 46px; } }
@media (max-width: 600px) {
  .section-inner { padding: 80px 20px; }
  .header-inner, .hero-inner, .page-hero-inner, .footer-inner { padding-left: 20px; padding-right: 20px; }
  .article-hero-inner, .article-inner, .founder-inner, .privacy-inner { padding-left: 20px; padding-right: 20px; }
  .stat-value { font-size: 48px; }
  .area-detail, .privacy-card { padding: 28px 22px; }
  .cta-band { padding: 28px 24px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  * { transition: none !important; }
}
