/* =========================================================
   Fabiano Deliberalli — centralma.com.br
   Sistema visual 2026: papel e petróleo
   Fundo pedra claro, tinta petróleo, uma cor de ação (petróleo profundo).
   Faixas escuras só no fechamento e no rodapé.
   Tipografia: EB Garamond (títulos) + Inter (texto). Cinco tamanhos.
   Sem gradientes, sombras em repouso, linhas finas ou vidro.
   ========================================================= */

:root{
  color-scheme: light;
  /* superfícies */
  --bg:#F0EEEA;          /* papel / pedra neutra */
  --surface:#E4E1DB;     /* degrau de tom (seções alternadas) */
  --surface-2:#F9F8F6;   /* degrau claro (painéis sobre o papel) */
  /* tinta */
  --ink:#15242C;
  --ink-strong:#0E1A22;
  --muted:#4A5A62;
  /* ação e detalhe */
  --accent:#0F4F5E;
  --accent-hover:#0A3A46;
  --on-accent:#FFFFFF;
  --gold:#7E5524;        /* detalhe (itálico de marca) sobre o papel */
  /* faixas escuras */
  --deep:#0E1A22;
  --deep-2:#17282F;
  --on-deep:#ECE6DC;
  --on-deep-muted:#B3BFC4;
  --gold-on-deep:#E2B47E;
  /* utilitários */
  --line:#CFC7BA;        /* só em campos e tabelas */
  --focus:#0F4F5E;
  /* nomes antigos ainda usados em estilos inline do build.py */
  --ink-muted:var(--muted);
  --on-deep-line:var(--deep-2);

  --serif:'EB Garamond', ui-serif, Georgia, 'Times New Roman', serif;
  --sans:'Inter', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;

  /* cinco tamanhos */
  --step-small:0.875rem;
  --step-body:clamp(1.0625rem, 1rem + 0.25vw, 1.1875rem);
  --step-lead:clamp(1.25rem, 1.12rem + 0.55vw, 1.5rem);
  --step-head:clamp(1.75rem, 1.2rem + 2.6vw, 3.25rem);
  --step-display:clamp(2.6rem, 1.45rem + 4.9vw, 5.25rem);

  --gutter:clamp(20px, 4.5vw, 56px);
  --section:clamp(88px, 10vw, 168px);
  --measure:66ch;
  --ease:cubic-bezier(.16,.8,.3,1);
}

/* ---------- Fontes (auto-hospedadas, subset latin) ---------- */
@font-face{font-family:'EB Garamond';font-style:normal;font-weight:400 700;font-display:swap;src:url('/assets/fonts/eb-garamond-normal.woff2') format('woff2');}
@font-face{font-family:'EB Garamond';font-style:italic;font-weight:400 700;font-display:swap;src:url('/assets/fonts/eb-garamond-italic.woff2') format('woff2');}
@font-face{font-family:'Inter';font-style:normal;font-weight:400 700;font-display:swap;src:url('/assets/fonts/inter-normal.woff2') format('woff2');}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:96px;-webkit-tap-highlight-color:transparent;}
body{
  margin:0;background:var(--bg);color:var(--ink);
  font-family:var(--sans);font-size:var(--step-body);line-height:1.6;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  touch-action:manipulation;
}
img{max-width:100%;height:auto;display:block;}
::selection{background:var(--accent);color:var(--on-accent);}
h1,h2,h3,h4{font-family:var(--serif);font-weight:500;color:var(--ink-strong);margin:0;text-wrap:balance;letter-spacing:-0.01em;}
h1{font-size:var(--step-display);line-height:1.02;letter-spacing:-0.02em;}
h2{font-size:var(--step-head);line-height:1.08;}
h3,h4{font-size:var(--step-lead);line-height:1.25;}
p{margin:0;text-wrap:pretty;}
ul,ol{margin:0;}
a{color:inherit;}
main a:not(.btn):not([class]){color:var(--accent);text-decoration-thickness:1px;text-underline-offset:3px;}
main a:not(.btn):not([class]):hover{text-decoration-thickness:2px;}
strong{font-weight:600;color:var(--ink-strong);}
em{font-style:italic;}
button{font:inherit;color:inherit;}
:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:2px;}
.section-deep :focus-visible, footer.site :focus-visible{outline-color:var(--gold-on-deep);}
.visually-hidden{position:absolute !important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;}

.container{max-width:1200px;margin-inline:auto;padding-inline:var(--gutter);}
.prose{max-width:var(--measure);}

/* Fluxo do texto corrido: espaço entre irmãos, sem margens soltas */
main p + p, main p + ul, main ul + p, main p + .pull, main .pull + p,
main ul + .pull, main .pull + .pull{margin-top:0.85em;}
main h2 + p, main h2 + ul, main h2 + div, main h2 + .lead{margin-top:20px;}
main h3 + p, main h3 + ul{margin-top:8px;}

.lead{font-size:var(--step-lead);line-height:1.45;color:var(--ink);max-width:44ch;}
.page-meta{font-size:var(--step-small);color:var(--muted);margin-top:18px;}
.page-meta span + span::before{content:" · ";white-space:pre;}
.pull{font-family:var(--serif);font-style:italic;font-size:var(--step-lead);line-height:1.4;color:var(--ink-strong);max-width:46ch;}
.muted{color:var(--muted);}
.small{font-size:var(--step-small);color:var(--muted);}
.mono{font-family:inherit;}

.skip-link{position:fixed;top:-80px;left:12px;background:var(--accent);color:var(--on-accent);padding:12px 18px;border-radius:999px;z-index:300;text-decoration:none;font-weight:600;transition:top .15s ease;}
.skip-link:focus{top:12px;}

/* ---------- Botões: uma forma (pílula), cor sólida ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:48px;padding:12px 24px;border:0;border-radius:999px;
  font-family:var(--sans);font-size:1rem;font-weight:600;line-height:1.2;text-decoration:none;cursor:pointer;
  transition:background-color .2s ease, color .2s ease, transform .2s var(--ease);
}
.btn:active{transform:translateY(1px) scale(.99);}
.btn svg{width:18px;height:18px;flex:none;}
.btn-primary,.btn-gold{background:var(--accent);color:var(--on-accent);}
.btn-primary:hover,.btn-gold:hover{background:var(--accent-hover);}
.btn-ghost,.btn-outline-light{background:var(--surface);color:var(--ink-strong);}
.btn-ghost:hover,.btn-outline-light:hover{background:#DCD5C9;}
.section-sunken .btn-ghost{background:var(--surface-2);}
.section-sunken .btn-ghost:hover{background:#fff;}
.btn-sm{min-height:44px;padding:10px 20px;font-size:1rem;}
.btn.is-disabled{opacity:.55;pointer-events:none;}
.btn-link{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--accent);text-decoration:none;min-height:44px;}
.btn-link .arrow{transition:transform .2s var(--ease);}
.btn-link:hover .arrow{transform:translateX(4px);}
.hero-ctas{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:32px;}

/* Botões em faixas escuras */
.section-deep .btn-primary,.section-deep .btn-gold,footer.site .btn-primary,.sticky-cta .btn-gold,.sticky-cta .btn-primary{background:var(--gold-on-deep);color:var(--deep);}
.section-deep .btn-primary:hover,.section-deep .btn-gold:hover,footer.site .btn-primary:hover,.sticky-cta .btn-gold:hover,.sticky-cta .btn-primary:hover{background:#EEC89A;}
.section-deep .btn-ghost,.section-deep .btn-outline-light,footer.site .btn-ghost{background:var(--deep-2);color:var(--on-deep);}
.section-deep .btn-ghost:hover,.section-deep .btn-outline-light:hover,footer.site .btn-ghost:hover{background:#21363F;}
.section-deep .btn-link{color:var(--gold-on-deep);}

/* ---------- Tags ---------- */
.tag{display:inline-flex;align-items:center;font-family:var(--sans);font-size:var(--step-small);font-weight:500;color:var(--muted);vertical-align:middle;}
.tag-draft{color:var(--gold);font-style:italic;font-family:var(--serif);font-size:1rem;}
.tag-crp{color:var(--muted);}

/* ---------- Cabeçalho ---------- */
header.site{position:sticky;top:0;z-index:100;background:var(--bg);transition:box-shadow .25s ease;}
header.site.scrolled{/* taste-skill-ignore: barra fixa que flutua sobre o conteúdo */box-shadow:0 1px 0 rgba(14,26,34,.06), 0 8px 24px -16px rgba(14,26,34,.25);}
.nav-row{display:flex;align-items:center;gap:28px;min-height:76px;}
.brand{display:flex;flex-direction:column;text-decoration:none;line-height:1.15;margin-right:auto;}
.brand .name{font-family:var(--serif);font-size:var(--step-lead);font-weight:600;color:var(--ink-strong);letter-spacing:-0.01em;}
.brand .subline{font-size:var(--step-small);color:var(--muted);margin-top:2px;}
nav.primary{display:flex;align-items:center;gap:4px;}
nav.primary a{position:relative;display:inline-flex;align-items:center;min-height:44px;padding:0 12px;font-size:1rem;font-weight:500;color:var(--ink);text-decoration:none;border-radius:999px;transition:background-color .2s ease,color .2s ease;}
nav.primary a:hover{background:var(--surface);}
nav.primary a[aria-current="page"]{color:var(--accent);}
nav.primary a[aria-current="page"]::after{content:"";position:absolute;left:12px;right:12px;bottom:8px;height:2px;background:var(--accent);border-radius:2px;}
.nav-contact-mobile{display:none !important;}
.header-actions{display:flex;align-items:center;gap:8px;}
.menu-toggle{display:none;align-items:center;justify-content:center;width:48px;height:48px;border:0;border-radius:999px;background:var(--surface);color:var(--ink-strong);cursor:pointer;}
.menu-toggle svg{width:18px;height:18px;}

@media (max-width:1040px){
  .menu-toggle{display:inline-flex;}
  .header-cta{display:none;}
  nav.primary{
    position:fixed;inset:76px 0 0 0;z-index:99;background:var(--bg);
    flex-direction:column;align-items:stretch;gap:0;padding:16px var(--gutter) 40px;
    overflow-y:auto;overscroll-behavior:contain;
    visibility:hidden;opacity:0;transform:translateY(-8px);
    transition:opacity .2s ease, transform .2s var(--ease), visibility 0s linear .2s;
  }
  nav.primary.open{visibility:visible;opacity:1;transform:none;transition:opacity .2s ease, transform .2s var(--ease);}
  nav.primary a{min-height:60px;padding:0 4px;font-family:var(--serif);font-size:1.625rem;border-radius:0;}
  nav.primary a:hover{background:transparent;color:var(--accent);}
  nav.primary a[aria-current="page"]::after{display:none;}
  .nav-contact-mobile{display:inline-flex !important;}
  body.menu-open{overflow:hidden;}
}
@media (max-width:420px){ .brand .subline{font-size:.8125rem;} }

/* ---------- Seções ---------- */
main > section{padding-block:var(--section);position:relative;}
main > section:first-child{padding-top:clamp(48px,7vw,104px);}
.section-sunken{background:var(--surface);}
.section-deep{background:var(--deep);color:var(--on-deep);}
.section-deep h1,.section-deep h2,.section-deep h3,.section-deep h4{color:#F6F1E9;}
.section-deep .muted,.section-deep .small,.section-deep .page-meta{color:var(--on-deep-muted);}
.section-deep .pull{color:#F6F1E9;}
.section-deep .lead,.section-deep p{color:var(--on-deep);}
.section-deep .pull em,.section-deep h2 em,.section-deep h1 em{color:var(--gold-on-deep);}
h1 em, h2 em, .statement em{color:var(--gold);font-style:italic;}

/* Faixa azul (Início): usa as regras de .section-deep e troca o fundo e os
   painéis internos por azul-petróleo. Alterna com o papel claro. */
.section-blue{background:#163F4C;}
.section-blue .front,.section-blue .chooser-options label,.section-blue .chooser-panel,
.section-blue .article-list a,.section-blue .channel-card{background:#1E4C5A;color:var(--on-deep);}
.section-blue a.front:hover,.section-blue .chooser-options label:hover,.section-blue .article-list a:hover{background:#255869;}
.section-blue .front h3,.section-blue .chooser-panel h3,.section-blue .article-list h3,.section-blue .timeline h3,.section-blue .chooser-options label{color:#F6F1E9;}
.section-blue .front .front-line,.section-blue .article-list .meta-line{color:var(--on-deep-muted);}
.section-blue .front .go,.section-blue .article-list .read,.section-blue .btn-link,.section-blue .chooser-options label::after{color:var(--gold-on-deep);}
.section-blue .chooser-options input:checked + label{background:var(--gold-on-deep);color:var(--deep);}
.section-blue .chooser-options input:checked + label::after{color:var(--deep);}
.section-blue .chooser-options input:focus-visible + label{outline-color:var(--gold-on-deep);}
.section-deep .tag-draft{color:var(--gold-on-deep);}
/* "Em breve": texto, não link (CEEP sem página pública por enquanto) */
.soon{display:inline-flex;align-items:center;min-height:44px;font-family:var(--serif);font-style:italic;font-size:var(--step-lead);color:var(--gold);}
.front .soon{margin-top:10px;}
.section-deep .soon{color:var(--gold-on-deep);}
/* Componentes das outras páginas dentro da faixa azul */
.section-blue .article-card,.section-blue .chip,.section-blue .notice,.section-blue .static-accordion-item{background:#1E4C5A;color:var(--on-deep);}
.section-blue a.article-card:hover{background:#255869;}
.section-blue .article-card h3,.section-blue .article-card h4,.section-blue .channel-card h2,.section-blue .channel-card h3{color:#F6F1E9;}
.section-blue .card-tag{color:var(--on-deep-muted);}
.section-blue .card-desc,.section-blue .channel-card p{color:var(--on-deep);}
.section-blue .article-card .meta .btn{color:var(--gold-on-deep);}
.section-blue .channel-card .btn-ghost{background:#255869;color:var(--on-deep);}
.section-blue .channel-card .btn-ghost:hover{background:#2C6577;}
main .section-blue a:not(.btn):not([class]){color:var(--gold-on-deep);}
.section-blue .small,.section-blue .figure figcaption{color:var(--on-deep-muted);}
.section-blue .accordion-item{background:#1E4C5A;}
.section-blue .accordion-summary h3{color:#F6F1E9;}
.section-blue .accordion-inner,.section-blue .accordion-inner p{color:var(--on-deep);}
.section-blue .plus::before,.section-blue .plus::after{background:var(--gold-on-deep);}

/* Duas colunas: título e texto à esquerda, lista ou conteúdo à direita */
.section-deep strong{color:#F6F1E9;}
.two-col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px clamp(40px,6vw,96px);align-items:start;}
.two-col > * {min-width:0;}
@media (max-width:860px){ .two-col{grid-template-columns:1fr;} }
.section-blue .btn-ghost{background:#1E4C5A;color:var(--on-deep);}
.section-blue .btn-ghost:hover{background:#255869;}
.section-head{max-width:760px;margin-bottom:clamp(40px,5vw,64px);}
.section-head .lead{margin-top:20px;}
.page-head{max-width:760px;margin-bottom:clamp(36px,4.5vw,56px);}
.page-head > p{margin-top:16px;}
.center-head{text-align:center;margin-inline:auto;}
.center-head .lead{margin-inline:auto;}
.stack-md > * + *{margin-top:.85em;}
.stack-lg > * + *{margin-top:clamp(88px,9vw,128px);}

/* Bloco de texto longo dentro de páginas de leitura */
.block{margin-top:clamp(80px,9vw,120px);}
.page-title-wide{font-size:var(--step-head);max-width:28ch;margin-bottom:clamp(40px,5vw,64px);}
.figure figcaption a{color:var(--accent);}
.text-block{max-width:var(--measure);}
.text-block > h2{margin-bottom:0;}
.text-block + .text-block{margin-top:clamp(56px,6vw,88px);}
.read > div[class*="reveal"] + div[class*="reveal"],
.read > .reveal + .reveal{margin-top:clamp(88px,9vw,128px);}

/* ---------- Listas ---------- */
.checklist{list-style:none;padding:0;display:grid;gap:10px;max-width:var(--measure);}
.checklist li{position:relative;padding-left:28px;}
.checklist li::before{content:"";position:absolute;left:4px;top:.62em;width:8px;height:8px;border-radius:50%;background:var(--accent);opacity:.75;}
.section-deep .checklist li::before{background:var(--gold-on-deep);}
.chip-row{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:16px 0 0;}
.chip{display:inline-flex;align-items:center;min-height:40px;padding:8px 16px;border-radius:999px;background:var(--surface);color:var(--ink-strong);font-size:1rem;font-weight:500;}
.section-sunken .chip{background:var(--surface-2);}
.marquee-track{display:contents;}

/* ---------- Processo (ordem real: <ol> semântico) ---------- */
.process{list-style:none;padding:0;margin:0;display:grid;gap:0;counter-reset:step;max-width:820px;}
.process > h2{margin-bottom:28px;}
.process-step{display:grid;grid-template-columns:64px minmax(0,1fr);gap:4px 24px;padding-block:28px;}
.process-step + .process-step{border-top:0;}
.process-step:nth-of-type(even){}
.step-num{font-family:var(--serif);font-size:2.25rem;line-height:1;color:var(--accent);font-style:italic;padding-top:2px;}
.process-step h3,.process-step h4{font-size:var(--step-lead);}
.process-step p{margin-top:8px;max-width:var(--measure);}
.process-step .checklist{margin-top:14px;}
@media (max-width:560px){ .process-step{grid-template-columns:44px minmax(0,1fr);gap:4px 14px;} .step-num{font-size:1.75rem;} }

/* ---------- Grade de evidências (pares título + texto, sem caixas) ---------- */
.evidence-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:40px clamp(32px,4vw,64px);}
.evidence-item h2,.evidence-item h3,.evidence-item h4{font-size:var(--step-lead);}
.evidence-item p{margin-top:8px;}

/* ---------- Cartões de canal (viram linhas editoriais) ---------- */
.channel-grid{display:grid;gap:4px;}
.channel-card{display:flex;flex-direction:column;gap:10px;padding:28px;background:var(--surface);border-radius:4px;text-decoration:none;color:inherit;}
.section-sunken .channel-card{background:var(--surface-2);}
a.channel-card{transition:background-color .2s ease;}
a.channel-card:hover{background:#DCD5C9;}
.channel-card h2,.channel-card h3,.channel-card h4{font-size:var(--step-lead);}
a.channel-card p{color:var(--accent);font-weight:600;font-size:1rem;}
.channel-grid a.channel-card{flex-direction:row;align-items:center;justify-content:space-between;gap:20px;padding:24px 28px;}
.channel-grid a.channel-card p{white-space:nowrap;}
@media (max-width:640px){ .channel-grid a.channel-card{flex-direction:column;align-items:flex-start;} .channel-grid a.channel-card p{white-space:normal;} }
.two-up{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:4px;}

/* ---------- Aviso ---------- */
.notice{display:block;max-width:var(--measure);padding:20px 24px;background:var(--surface);border-radius:4px;font-size:1rem;color:var(--ink);}
.section-sunken .notice{background:var(--surface-2);}

/* ---------- Acordeão (details nativo, abertura suave por grid-rows) ---------- */
.accordion{max-width:820px;}
.accordion-item,.faq-item{background:var(--surface);border-radius:4px;}
.accordion-item + .accordion-item,.faq-item + .faq-item{margin-top:4px;}
.section-sunken .accordion-item,.section-sunken .faq-item{background:var(--surface-2);}
.accordion-summary,.faq-item > summary{
  list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;
  min-height:64px;padding:18px 24px;cursor:pointer;
}
.accordion-summary::-webkit-details-marker,.faq-item > summary::-webkit-details-marker{display:none;}
.accordion-summary h3,.accordion-summary h4,.faq-item > summary h3{font-size:var(--step-lead);transition:transform .2s var(--ease);}
.accordion-summary:hover h3,.faq-item > summary:hover h3{transform:translateX(4px);}
.plus{position:relative;flex:none;width:20px;height:20px;}
.plus::before,.plus::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:2px;margin:-1px 0 0 -7px;background:var(--accent);border-radius:2px;transition:transform .25s var(--ease);}
.plus::after{transform:rotate(90deg);}
details[open] > summary .plus::after{transform:rotate(0deg);}
.accordion-body{display:grid;grid-template-rows:1fr;}
.accordion-inner{padding:0 24px 24px;max-width:calc(var(--measure) + 48px);}
.accordion-inner > * + *{margin-top:.85em;}
.faq-item > p{padding:0 24px 24px;max-width:calc(var(--measure) + 48px);}
.static-accordion-item{background:var(--surface);border-radius:4px;padding:24px;}
.static-accordion-item + .static-accordion-item{margin-top:4px;}
.static-accordion-title h3,.static-accordion-title h4{font-size:var(--step-lead);}
.static-accordion-item .accordion-inner{padding:10px 0 0;}
.faq-list{max-width:820px;}
.faq-list > h2{margin-bottom:28px;}

/* ---------- Layout dividido (texto + painel lateral fixo) ---------- */
.split{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:clamp(40px,6vw,96px);align-items:start;}
.split.wide-main{grid-template-columns:minmax(0,1fr) 360px;}
@media (max-width:980px){ .split,.split.wide-main{grid-template-columns:1fr;} }

/* Painel de contato (Centralma e Mídia) */
.sticky-cta{position:sticky;top:104px;display:grid;gap:16px;padding:32px;background:#163F4C;color:var(--on-deep);border-radius:4px;}
.sticky-cta h2,.sticky-cta h3,.sticky-cta h4{color:#F6F1E9;font-size:var(--step-lead);}
.sticky-cta p{color:var(--on-deep);font-size:1rem;}
.sticky-cta .notice{background:#1E4C5A !important;color:var(--on-deep-muted) !important;font-size:var(--step-small);padding:16px 18px;border:0 !important;}
.sticky-cta .btn{width:100%;}
.sticky-cta .cta-portrait{display:flex;align-items:center;gap:14px;}
.sticky-cta .cta-portrait img{width:56px;height:56px;border-radius:50%;object-fit:cover;object-position:50% 20%;}
.sticky-cta .cta-portrait span{font-size:var(--step-small);color:var(--on-deep-muted);line-height:1.35;}
.sticky-cta .cta-portrait strong{display:block;color:#F6F1E9;font-weight:600;}
.sticky-cta.light{position:static;background:transparent;color:var(--ink);padding:0;}
.sticky-cta.light p{color:var(--ink);font-size:var(--step-body);}
@media (max-width:980px){ .sticky-cta{position:static;} .split > .sticky-cta{order:-1;} .split.wide-main > .sticky-cta{order:0;} }

/* Barra fixa de contato no celular (só nas páginas que a incluem) */
.mobile-cta{display:none;}
@media (max-width:980px){
  .mobile-cta{
    display:flex;position:fixed;left:0;right:0;bottom:0;z-index:90;gap:12px;align-items:center;
    padding:12px var(--gutter) calc(12px + env(safe-area-inset-bottom,0px));
    background:var(--bg);/* taste-skill-ignore: barra fixa */box-shadow:0 -10px 28px -18px rgba(14,26,34,.35);
    transform:translateY(110%);transition:transform .3s var(--ease);
  }
  .mobile-cta.show{transform:none;}
  .mobile-cta .btn{flex:1;}
  body.has-mobile-cta{padding-bottom:84px;}
}

/* ---------- Fotos ---------- */
.portrait-photo,.section-photo{width:100%;border-radius:4px;object-fit:cover;}
.section-photo{margin-top:clamp(32px,4vw,48px);}
.figure{margin:0;}
.figure figcaption{font-size:var(--step-small);color:var(--muted);margin-top:10px;}

/* ---------- Página Sobre: coluna lateral com retrato fixo ---------- */
.narrative{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,6vw,96px);align-items:start;}
.narrative-rail{position:sticky;top:104px;display:grid;gap:28px;}
.narrative-rail h1{font-size:var(--step-head);}
.narrative-rail .portrait-photo{aspect-ratio:4/5;object-position:50% 20%;}
@media (max-width:900px){ .narrative{grid-template-columns:1fr;} .narrative-rail{position:static;} .narrative-rail .portrait-photo{max-width:420px;} }

/* ---------- Home: hero em duas colunas com colagem de fotos ---------- */
.hero-split{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(40px,6vw,96px);align-items:center;}
.hero-split h1{font-size:var(--step-display);}
.hero-split .statement{font-family:var(--serif);font-size:clamp(1.5rem,1.15rem + 1.3vw,2.125rem);line-height:1.22;color:var(--ink-strong);margin-top:28px;max-width:34ch;}
.hero-split .hero-sub{margin-top:24px;max-width:48ch;}
.hero-split .page-meta{margin-top:22px;}
.collage{position:relative;padding:0 0 16% 12%;}
.collage .c-main{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 18%;border-radius:4px;}
.collage .c-second{position:absolute;left:0;bottom:0;width:52%;aspect-ratio:16/10;object-fit:cover;object-position:40% 30%;border-radius:4px;outline:10px solid var(--bg);}
/* Início: foto horizontal um pouco maior */
.collage-wide{padding-bottom:22%;}
.collage-wide .c-second{width:64%;}
@media (max-width:900px){
  .hero-split{grid-template-columns:1fr;}
  .collage{max-width:520px;}
}

/* Load sequence do hero: assentado em ~0,8s, sem esconder conteúdo além disso */
@keyframes rise{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}
@keyframes lift{from{transform:translateY(18px);}to{transform:none;}}
@keyframes settle{from{transform:scale(1.04);}to{transform:none;}}
.hero-split .hero-copy > *{animation:lift .7s var(--ease) both;}
.hero-split .hero-copy > *:nth-child(2){animation-delay:.06s;}
.hero-split .hero-copy > *:nth-child(3){animation-delay:.12s;}
.hero-split .hero-copy > *:nth-child(4){animation-delay:.18s;}
.hero-split .hero-copy > *:nth-child(5){animation-delay:.24s;}
.collage .c-main{animation:settle .9s var(--ease) both;}
.collage .c-second{animation:lift .8s var(--ease) .15s both;}

/* ---------- Home: escolha do assunto (funciona sem JavaScript) ---------- */
.chooser{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,4vw,56px);align-items:start;}
.chooser-options{border:0;margin:0;padding:0;display:grid;gap:4px;min-width:0;}
.chooser-options input{position:absolute;opacity:0;width:1px;height:1px;}
.chooser-options label{
  display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px;padding:16px 22px;
  background:var(--surface-2);border-radius:4px;cursor:pointer;font-weight:500;color:var(--ink-strong);
  transition:background-color .2s ease,color .2s ease;
}
.chooser-options label::after{content:"→";color:var(--accent);transition:transform .2s var(--ease);}
.chooser-options label:hover{background:#fff;}
.chooser-options label:hover::after{transform:translateX(4px);}
.chooser-options input:checked + label{background:var(--accent);color:var(--on-accent);}
.chooser-options input:checked + label::after{color:var(--on-accent);}
.chooser-options input:focus-visible + label{outline:2px solid var(--focus);outline-offset:3px;}
.chooser-panels{display:grid;gap:4px;}
.chooser-panel{background:var(--surface-2);border-radius:4px;padding:clamp(24px,3.5vw,44px);display:grid;gap:14px;align-content:start;}
.chooser-panel h3{font-size:var(--step-lead);}
.chooser-panel .hero-ctas{margin-top:12px;}
@supports selector(:has(*)){
  .chooser-panel{display:none;}
  .chooser:has(#busca-psi:checked) .p-psi,
  .chooser:has(#busca-trad:checked) .p-trad,
  .chooser:has(#busca-ceep:checked) .p-ceep,
  .chooser:has(#busca-midia:checked) .p-midia{display:grid;animation:rise .35s var(--ease) both;}
}
@media (max-width:860px){ .chooser{grid-template-columns:1fr;} }

/* ---------- Home: três frentes em linhas editoriais ---------- */
.fronts{display:grid;gap:32px;}
.front{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:16px clamp(24px,4vw,64px);padding:clamp(28px,3.5vw,44px);background:var(--surface);border-radius:4px;text-decoration:none;color:inherit;transition:background-color .2s ease;}
.section-sunken .front{background:var(--surface-2);}
a.front:hover{background:#DCD5C9;}
.section-sunken a.front:hover{background:#fff;}
.front h3{font-size:var(--step-head);line-height:1.05;}
.front .front-line{font-family:var(--serif);font-style:italic;font-size:var(--step-lead);color:var(--muted);margin-top:10px;}
.front .front-body > * + *{margin-top:.75em;}
.front .go{display:inline-flex;align-items:center;gap:8px;margin-top:18px;font-weight:600;color:var(--accent);}
.front .go::after{content:"→";transition:transform .2s var(--ease);}
a.front:hover .go::after{transform:translateX(4px);}
@media (max-width:860px){ .front{grid-template-columns:1fr;} }

/* ---------- Home: carta de apresentação ---------- */
.letter{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,6vw,96px);align-items:center;}
.letter-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 15%;border-radius:4px;}
.section-photo-portrait{max-width:480px;}
.letter-copy > * + *{margin-top:.85em;}
.letter-copy h2{margin-bottom:12px;}
.letter-sign{font-family:var(--serif);font-style:italic;font-size:var(--step-lead);color:var(--ink-strong);margin-top:28px !important;}
.letter-sign span{display:block;font-family:var(--sans);font-style:normal;font-size:var(--step-small);color:var(--muted);margin-top:4px;}
@media (max-width:860px){ .letter{grid-template-columns:1fr;} .letter-photo{max-width:420px;} }

/* ---------- Home: eixos em tipografia grande ---------- */
.axes{list-style:none;padding:0;margin:0;display:grid;gap:2px;font-family:var(--serif);font-size:var(--step-head);line-height:1.2;color:var(--ink-strong);max-width:1000px;}
.axes li{line-height:1.15;}
.axes li:last-child{font-style:italic;color:var(--gold);}

.axes-split{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(40px,6vw,96px);align-items:center;}
.axes-art img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:4px;}
@media (max-width:860px){ .axes-split{grid-template-columns:1fr;} .axes-art{max-width:480px;} }
.credits{font-size:var(--step-small);color:var(--muted);padding-block:20px;}
main .credits a{color:var(--accent);}
.page-meta + .lead{margin-top:28px;}
.section-deep + .credits{background:var(--deep);color:var(--on-deep-muted);max-width:none;padding-inline:max(var(--gutter), calc((100% - 1200px)/2 + var(--gutter)));margin:0;}
main .section-deep + .credits a{color:var(--gold-on-deep);}

/* ---------- Home: trajetória (lista com marcadores de época) ---------- */
.timeline{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:40px clamp(32px,4vw,64px);}
.timeline li h3{font-size:var(--step-lead);}
.timeline li p{margin-top:8px;}

/* ---------- Home: artigos em lista editorial ---------- */
.article-list{list-style:none;padding:0;margin:0;display:grid;gap:4px;}
.article-list a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 24px;align-items:baseline;padding:26px 28px;background:var(--surface);border-radius:4px;text-decoration:none;color:inherit;transition:background-color .2s ease;}
.section-sunken .article-list a{background:var(--surface-2);}
.article-list a:hover{background:#DCD5C9;}
.section-sunken .article-list a:hover{background:#fff;}
.article-list h3{font-size:var(--step-lead);}
.article-list .meta-line{grid-column:1;font-size:var(--step-small);color:var(--muted);}
.article-list .read{grid-row:1 / span 2;grid-column:2;align-self:center;font-weight:600;color:var(--accent);white-space:nowrap;}
.article-list .read::after{content:" →";}
@media (max-width:640px){ .article-list a{grid-template-columns:1fr;} .article-list .read{grid-row:auto;grid-column:1;} }

/* ---------- Página de artigos ---------- */
.article-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:4px;}
.article-card{display:flex;flex-direction:column;gap:12px;padding:28px;background:var(--surface);border-radius:4px;text-decoration:none;color:inherit;transition:background-color .2s ease;}
.section-sunken .article-card{background:var(--surface-2);}
a.article-card:hover{background:#DCD5C9;}
.section-sunken a.article-card:hover{background:#fff;}
.article-card h3,.article-card h4{font-size:var(--step-lead);}
.card-tag{font-size:var(--step-small);color:var(--muted);}
.card-desc{color:var(--ink);}
.article-card .meta{margin-top:auto;padding-top:8px;display:flex;gap:12px;align-items:center;}
.article-card .meta .btn{background:transparent;padding:0;min-height:auto;color:var(--accent);}
.article-card .meta .btn::after{content:" →";white-space:pre;}

/* Página individual de artigo */
.progress-track{position:fixed;left:0;right:0;top:76px;height:3px;z-index:98;background:transparent;}
.progress-fill{height:100%;width:0;background:var(--accent);}
.pillar-name{display:block;font-size:var(--step-small);color:var(--muted);}
.article-head{max-width:820px;}
#articleBody > h1{font-size:var(--step-head);max-width:22ch;}
#articleBody{max-width:var(--measure);}
.article-head h1{font-size:var(--step-head);margin-top:14px;}
.article-body{max-width:var(--measure);margin-top:clamp(40px,5vw,64px);font-size:var(--step-body);}
.article-body > * + *{margin-top:1em;}
.article-body h2,.article-body h3{font-size:var(--step-lead);margin-top:2em;}
.article-body ul{padding-left:1.2em;}
.article-body li + li{margin-top:.4em;}
.article-body a{color:var(--accent);}
.signature{margin-top:48px;padding-top:24px;font-size:1rem;color:var(--muted);line-height:1.5;position:relative;}
.signature::before{content:"";position:absolute;top:0;left:0;width:48px;height:3px;background:var(--accent);border-radius:2px;}
.back-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-weight:600;color:var(--accent);text-decoration:none;}

/* ---------- Traduzindo: abertura em faixa escura com a marca ---------- */
.manifesto{background:#163F4C;color:var(--on-deep);}
.manifesto h1{color:#F6F1E9;font-family:var(--serif);font-style:italic;font-weight:500;font-size:var(--step-head);}
.manifesto p{color:var(--on-deep);}
.manifesto .tagline{font-family:var(--serif);font-style:italic;font-size:var(--step-lead);color:var(--gold-on-deep);margin-top:20px;}
.manifesto-grid{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:clamp(40px,6vw,96px);align-items:center;}
.manifesto-logo img{width:100%;max-width:460px;border-radius:4px;margin-inline:auto;}
.manifesto .btn-outline-light,.manifesto .btn-ghost{background:var(--gold-on-deep);color:var(--deep);}
.manifesto .btn-outline-light:hover{background:#EEC89A;}
.manifesto .page-meta{color:var(--on-deep-muted);}
@media (max-width:860px){ .manifesto-grid{grid-template-columns:1fr;} .manifesto-logo{max-width:320px;} }

/* ---------- CEEP: diagrama ---------- */
.diagram-wrap{max-width:620px;margin:0 auto;}
.diagram-wrap svg{width:100%;height:auto;overflow:visible;}
.diagram-path{fill:none;stroke:var(--accent);stroke-width:2;opacity:.6;}
.diagram-node circle{fill:var(--surface);stroke:none;}
.diagram-node text{font-family:var(--serif);fill:var(--ink-strong);}
.diagram-node text + text{fill:var(--muted);}
.diagram-caption{max-width:640px;margin:40px auto 56px;text-align:center;}
.diagram-caption h1{font-size:var(--step-head);}
.diagram-caption p{margin-top:16px;}

/* ---------- Fechamento escuro ---------- */
.closing{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,5vw,80px);align-items:end;}
.closing h2{font-size:var(--step-head);max-width:20ch;}
.closing .lead{margin-top:20px;}
.closing .hero-ctas{margin-top:0;justify-content:flex-start;}
@media (max-width:860px){ .closing{grid-template-columns:1fr;align-items:start;} }

/* ---------- Rodapé ---------- */
footer.site{background:var(--deep);color:var(--on-deep);padding-block:clamp(72px,9vw,128px) 40px;}
footer.site a{color:var(--on-deep);text-decoration:none;}
footer.site a:hover{color:var(--gold-on-deep);}
.footer-top{display:grid;grid-template-columns:minmax(0,1.3fr) repeat(2,minmax(0,1fr));gap:40px clamp(32px,5vw,80px);}
.footer-intro p{color:var(--on-deep);max-width:38ch;font-size:var(--step-lead);font-family:var(--serif);line-height:1.35;}
.footer-intro .btn{margin-top:24px;}
.footer-h{font-family:var(--sans);font-size:var(--step-small);font-weight:600;color:var(--on-deep-muted);letter-spacing:0;margin:0 0 12px;}
.footer-links{list-style:none;padding:0;margin:0;display:grid;gap:2px;}
.footer-links a{display:inline-flex;align-items:center;min-height:40px;font-size:1rem;}
.footer-wordmark{display:block;font-family:var(--serif);font-weight:500;font-size:clamp(1.75rem,1.4rem + 1.4vw,2.5rem);line-height:1.1;letter-spacing:-0.01em;color:#F6F1E9;margin-top:clamp(48px,6vw,80px);}
.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;margin-top:28px;font-size:var(--step-small);color:var(--on-deep-muted);}
@media (max-width:800px){ .footer-top{grid-template-columns:1fr 1fr;} .footer-intro{grid-column:1 / -1;} }
@media (max-width:420px){ .footer-top{grid-template-columns:1fr;} }

/* ---------- Entradas ao rolar (conteúdo nunca fica escondido sem JS) ---------- */
.js .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease), transform .7s var(--ease);}
.js .reveal.in{opacity:1;transform:none;}
.js .reveal-1{transition-delay:.07s;}
.js .reveal-2{transition-delay:.14s;}
.js .reveal-3{transition-delay:.21s;}

/* ---------- Movimento reduzido: sem deslocamentos, conteúdo sempre visível ---------- */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation:none !important;transition:none !important;}
  .js .reveal{opacity:1;transform:none;}
}

/* ---------- Impressão ---------- */
@media print{
  header.site, footer.site, .mobile-cta, .sticky-cta .btn, .skip-link{display:none !important;}
  body{background:#fff;}
}
