/* ============================================================
   oPlanejador — identidade v0.5 "Caderno", aprovada em 12/10/2026.
   ------------------------------------------------------------
   Implementação da home aprovada (pacote de repasse v1.1). Cores,
   fontes e escala ficam no :root abaixo: mexer lá recolore e
   reescala o site inteiro, sem tocar no resto.
   NÃO alterar as cores e as fontes da marca sem aprovação.
   ============================================================ */

:root{
  /* --- Paleta da marca --- */
  --tinta:#1E2B4D;
  --papel:#F6F1E7;
  --linho:#E9E0CF;
  --grafite:#2A2A2C;
  --pedra:#6B6660;
  --couro:#7A4E33;
  --latao:#C29A5B;

  /* --- Apoio --- */
  --branco-papel:#FFFDF8;
  --borda:#D9CFBB;
  --borda-clara:#E2D8C4;
  --texto:#4F4A44;
  --rodape-texto:#C9C3B6;
  --rodape-borda:#3A4766;

  /* --- Tipografia --- */
  --serifa:'Libre Caslon Text',Georgia,serif;
  --sans:'Instrument Sans',system-ui,-apple-system,'Segoe UI',sans-serif;

  /* --- Escala --- */
  --largura:1240px;
  --gutter:clamp(20px,5vw,72px);
  --secao-y:clamp(64px,9vw,128px);
}

*{box-sizing:border-box}
[hidden]{display:none !important}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--papel);color:var(--grafite);
  font-family:var(--sans);font-size:17px;line-height:1.6;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{display:block;max-width:100%}
h1,h2,h3{font-family:var(--serifa);font-weight:400;color:var(--tinta);margin:0}
p{margin:0}
a{color:var(--tinta)}
:focus-visible{outline:2px solid var(--latao);outline-offset:3px}
.citacao :focus-visible,.rodape :focus-visible{outline-color:var(--latao)}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.pular{
  position:absolute;left:-9999px;top:0;z-index:100;
  background:var(--tinta);color:var(--papel);padding:12px 18px;text-decoration:none;
}
.pular:focus{left:0}

/* content-box de proposito: na referencia o limite de 1240px vale para o
   conteudo, e o recuo lateral entra por fora. Com border-box o conteudo
   ficaria ate 128px mais estreito em telas largas. */
.faixa{box-sizing:content-box;max-width:var(--largura);margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter)}

/* Itens pendentes: aparecem só no rascunho. No modo público o app.js
   põe a classe "publico" no body e tudo isto sai. */
.pendente{display:flex}
body.publico .pendente,body.publico .pendente-bloco{display:none !important}
.selo-pendente{
  align-self:flex-start;font-size:12px;letter-spacing:.08em;text-transform:uppercase;
  font-weight:600;color:var(--couro);border:1px dashed var(--couro);padding:4px 10px;
  line-height:1.4;
}
.aviso-rascunho{background:var(--grafite);color:var(--papel);font-size:13px;line-height:1.5}
.aviso-rascunho > div{padding:10px var(--gutter);text-align:center;width:100%}

/* ---------- Botões ---------- */
.botao{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:52px;padding:0 28px;font-family:var(--sans);font-weight:500;font-size:16px;
  text-decoration:none;border:1px solid transparent;cursor:pointer;
  transition:background .15s,color .15s,border-color .15s;
}
.botao-principal{background:var(--tinta);color:var(--papel);border-color:var(--tinta)}
.botao-principal:hover{background:#17223C;border-color:#17223C}
.botao-contorno{background:transparent;color:var(--tinta);border-color:var(--tinta)}
.botao-contorno:hover{background:var(--tinta);color:var(--papel)}
.botao-largo{min-height:56px;width:100%}
.botao-inativo{border-color:var(--pedra);color:var(--texto);cursor:default;min-height:48px;padding:0 22px;font-size:15px}
.botao-inativo:hover{background:transparent;color:var(--texto)}

/* ---------- Cabeçalho e assinatura ---------- */
.topo{border-bottom:1px solid var(--borda)}
.topo-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 40px;padding-top:20px;padding-bottom:20px}
.marca{display:inline-flex;flex-direction:column;align-items:stretch;gap:6px;text-decoration:none}
.marca-nome{font-family:var(--serifa);font-size:30px;line-height:1;letter-spacing:-.01em;color:var(--tinta)}
.marca-traco{display:flex;align-items:center}
.marca-ponto{flex:0 0 6px;height:6px;border-radius:50%;background:var(--couro)}
.marca-linha{flex:1 1 auto;height:2px;background:var(--couro)}
.marca-assinatura{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--pedra);font-weight:500;text-align:right}
.menu{display:flex;flex-wrap:wrap;gap:4px 28px;font-size:15px;font-weight:500}
.menu a{color:var(--tinta);text-decoration:none;padding:10px 0;border-bottom:1px solid transparent}
.menu a:hover{border-bottom-color:var(--couro)}

/* ---------- Abertura ---------- */
.inicio{
  display:flex;flex-wrap:wrap;gap:48px 72px;align-items:center;
  padding-top:clamp(48px,8vw,112px);padding-bottom:clamp(56px,7vw,96px);
}
.inicio-texto{flex:999 1 520px;min-width:0;display:flex;flex-direction:column;gap:28px}
.sobrelinha{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--couro);font-weight:600}
.inicio h1{font-size:clamp(38px,5.2vw,68px);line-height:1.08;letter-spacing:-.015em}
.inicio h1 em{font-style:italic;color:var(--couro)}
.inicio-apoio{font-size:clamp(17px,1.5vw,20px);line-height:1.6;max-width:600px}
.acoes{display:flex;flex-wrap:wrap;gap:12px;padding-top:4px}
.inicio-foto{flex:1 1 340px;min-width:0;margin:0;display:flex;flex-direction:column;gap:14px}
.inicio-foto img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 20%;background:var(--tinta)}
/* display:contents faz a <img> continuar sendo o item de flex/grid, e não a
   <picture> que a embrulha — sem isso o layout das fotos muda. */
picture{display:contents}

/* Citação curta com fio dourado à esquerda */
.citacao-fina{
  display:flex;gap:14px;align-items:stretch;
  font-family:var(--serifa);font-style:italic;font-size:16px;line-height:1.45;color:var(--couro);
}
.citacao-fina::before{content:"";flex:0 0 1px;background:var(--latao)}

/* ---------- Princípios ---------- */
.principios{border-top:1px solid var(--tinta);border-bottom:1px solid var(--tinta);background:var(--branco-papel)}
.principios-in{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.principio{padding:28px 24px 28px 0;display:flex;gap:14px;align-items:baseline;font-size:15px;line-height:1.5}
.principio-termo{font-family:var(--serifa);font-style:italic;font-size:22px;color:var(--couro);flex:none}

/* ---------- Estrutura das seções ---------- */
.secao{display:flex;flex-direction:column;gap:48px;padding-top:var(--secao-y)}
.secao:last-of-type{padding-bottom:var(--secao-y)}
.secao-topo{display:flex;flex-wrap:wrap;gap:16px 64px;align-items:flex-end}
/* O flex-basis so vale dentro do bloco em linha (.secao-topo). Solto numa
   coluna flex ele viraria ALTURA e inflaria o titulo. */
.secao-titulo{display:flex;flex-direction:column;gap:16px}
.secao-topo .secao-titulo,.contato-in .secao-titulo{flex:999 1 520px;min-width:0}
.secao-titulo.estreito{max-width:760px}
.secao-intro{flex:1 1 320px;color:var(--texto)}
.marcador{font-family:var(--serifa);font-style:italic;font-size:22px;color:var(--latao)}
.marcador-couro{color:var(--couro)}
.secao h2{font-size:clamp(30px,3.6vw,46px);line-height:1.15}

/* ---------- § 01 Para quem é ---------- */
.perfis{
  list-style:none;margin:0;padding:0;display:grid;
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  border-top:1px solid var(--tinta);
}
.perfil{padding:28px 28px 32px 0;display:flex;flex-direction:column;gap:12px;border-bottom:1px solid var(--borda)}
.perfil-num{font-size:13px;color:var(--pedra);font-weight:500}
.perfil h3{font-size:23px;line-height:1.25}
.perfil p{font-size:16px;color:var(--texto)}

/* ---------- § 02 Pilares ---------- */
.pilares{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}
.pilar{background:var(--branco-papel);border:1px solid var(--borda-clara);padding:36px 32px;display:flex;flex-direction:column;gap:16px}
.pilar-num{font-family:var(--serifa);font-style:italic;font-size:34px;line-height:1;color:var(--couro)}
.pilar h3{font-size:26px;line-height:1.2}
.pilar p{font-size:16px;color:var(--texto)}

/* ---------- Citação ---------- */
.citacao{background:var(--tinta);color:var(--papel)}
.citacao-in{
  max-width:1040px;margin:0;display:grid;
  grid-template-columns:1px minmax(0,1fr);
  column-gap:clamp(20px,3vw,40px);align-items:start;
  padding-top:clamp(64px,9vw,120px);padding-bottom:clamp(64px,9vw,120px);
}
.citacao-in::before{content:"";background:var(--latao);grid-row:1/span 2}
.citacao blockquote{margin:0;font-family:var(--serifa);font-size:clamp(26px,3.4vw,44px);line-height:1.25}
.citacao blockquote em{font-style:italic;color:var(--latao)}
.citacao figcaption{font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--rodape-texto);font-weight:500;margin-top:24px}

/* ---------- § 03 Conteúdos ---------- */
.canais{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));border-top:1px solid var(--tinta)}
.canal{padding:32px 32px 36px 0;display:flex;flex-direction:column;gap:14px;border-bottom:1px solid var(--borda)}
.canal-topo{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.canal h3{font-size:28px}
.canal-arroba{font-size:14px;color:var(--pedra)}
.canal p{font-size:16px;color:var(--texto)}
.link-seta{
  align-self:flex-start;display:inline-flex;align-items:center;gap:10px;min-height:48px;
  color:var(--tinta);font-weight:600;font-size:15px;text-decoration:none;
  border-bottom:1px solid var(--tinta);
}
.link-seta:hover{color:var(--couro);border-bottom-color:var(--couro)}
.link-seta svg{width:16px;height:16px;flex:none}
/* Canal ainda sem endereço: aviso ao visitante, não marcação interna.
   Por isso continua visível na versão pública. */
.em-breve{
  align-self:flex-start;display:inline-flex;align-items:center;min-height:48px;
  font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;
  color:var(--pedra);border-bottom:1px solid var(--borda);
}

/* ---------- § 04 Materiais ---------- */
.materiais{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}
.material{background:var(--linho);padding:32px;display:flex;flex-direction:column;gap:14px}
.material-meta{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--texto);font-weight:600}
.material h3{font-size:24px;line-height:1.25}
.material p{font-size:16px;color:var(--texto)}
.material .botao{align-self:flex-start}

/* ---------- § 05 Sobre ---------- */
.sobre{
  display:flex;flex-wrap:wrap;gap:48px 80px;align-items:flex-start;
  padding-top:var(--secao-y);padding-bottom:var(--secao-y);
}
/* O dimensionamento fica na <picture>, não na <img>: com display:contents a
   imagem vira o item de flex, mas o flex-grow não se resolve de forma
   confiável, e a foto parava de crescer no celular. */
.sobre-foto-caixa{display:block;flex:1 1 300px;min-width:0;max-width:460px;width:100%}
.sobre-foto{
  width:100%;height:auto;
  aspect-ratio:1/1;object-fit:cover;object-position:50% 25%;background:var(--tinta);
}
.sobre-texto{flex:999 1 480px;min-width:0;display:flex;flex-direction:column;gap:24px}
.sobre-texto h2{font-size:clamp(30px,3.6vw,46px);line-height:1.15}
.sobre-texto > p:not(.marcador):not(.citacao-fina):not(.selo-pendente){font-size:clamp(17px,1.5vw,19px);line-height:1.7}
.sobre-texto .citacao-fina{font-size:18px;line-height:1.5;padding-top:8px}

/* ---------- § 06 Contato ---------- */
.contato{background:var(--linho)}
.contato-in{
  display:flex;flex-wrap:wrap;gap:32px 80px;align-items:flex-end;justify-content:space-between;
  padding-top:clamp(64px,8vw,112px);padding-bottom:clamp(64px,8vw,112px);
}
.contato .secao-titulo{flex:999 1 480px}
.contato .secao-titulo p:not(.marcador){color:var(--texto)}
.contato-acao{flex:1 1 320px;display:flex;flex-direction:column;gap:12px}

/* ---------- Rodapé ---------- */
.rodape{background:var(--tinta);color:var(--rodape-texto)}
.rodape-in{display:flex;flex-direction:column;gap:40px;padding-top:56px;padding-bottom:40px}
.rodape-topo{display:flex;flex-wrap:wrap;gap:32px 64px;justify-content:space-between;align-items:flex-start}
.marca-rodape .marca-nome{font-size:34px;color:var(--papel)}
.marca-rodape .marca-ponto{flex-basis:7px;height:7px;background:var(--latao)}
.marca-rodape .marca-linha{background:var(--latao)}
.marca-rodape .marca-assinatura{font-size:11px;color:var(--rodape-texto)}
.rodape-links{display:flex;flex-wrap:wrap;gap:4px 28px;font-size:15px}
.rodape-links a{color:var(--papel);text-decoration:none;padding:10px 0;border-bottom:1px solid transparent}
.rodape-links a:hover{border-bottom-color:var(--latao)}
.rodape-base{
  border-top:1px solid var(--rodape-borda);padding-top:20px;
  display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;font-size:13px;
}

/* ---------- Responsivo ---------- */
@media (max-width:700px){
  .perfil,.canal{padding-right:0}
  .citacao-in{padding-left:var(--gutter)}
  .contato-in{align-items:flex-start}
}

/* ============================================================
   Celular: a referência foi desenhada para a tela grande, e em
   390px o texto quebrava demais — o título da abertura chegava a
   oito linhas e o cabeçalho ocupava 211px antes do conteúdo.
   Aqui só mudam tamanho e respiro. Cores, fontes, textos e a
   ordem das seções continuam os aprovados.
   ============================================================ */
@media (max-width:620px){
  /* Abertura: 38px em coluna de 335px quebrava em 8 linhas. */
  .inicio h1{font-size:31px;line-height:1.14;letter-spacing:-.01em}
  .inicio-apoio{font-size:16.5px}
  .inicio{gap:32px}
  .acoes{gap:10px}
  .acoes .botao{flex:1 1 auto;justify-content:center}

  /* Cabeçalho mais compacto: a marca menor e o menu em duas linhas
     apertadas, em vez de duas linhas largas. */
  .topo-in{gap:10px 20px;padding-top:16px;padding-bottom:16px}
  .marca-nome{font-size:25px}
  .marca-assinatura{font-size:9.5px;letter-spacing:.18em}
  /* gap 12px e o que faz os cinco itens caberem numa linha so em 390px;
     abaixo disso quebra em duas, de propria vontade. padding de 10px
     mantem a area de toque em ~40px de altura. */
  .menu{gap:0 10px;font-size:13px;width:100%;justify-content:space-between}
  .menu a{padding:10px 0}

  /* Citação: menos fôlego vertical e tipo um pouco menor. */
  .citacao-in{column-gap:16px;padding-top:56px;padding-bottom:56px}
  .citacao blockquote{font-size:25px;line-height:1.3}
  .citacao figcaption{margin-top:18px}

  /* Cartões: menos respiro interno para sobrar largura ao texto. */
  .pilar{padding:28px 22px}
  .material{padding:26px 22px}
  .pilares,.materiais{gap:16px}

  /* Seções: respiro vertical proporcional à tela. */
  .secao{gap:36px;padding-top:72px}
  .secao h2{font-size:27px;line-height:1.2}
  .sobre{gap:32px;padding-top:72px;padding-bottom:72px}
  .sobre-texto{gap:20px}
  .contato-in{padding-top:72px;padding-bottom:72px}

  /* Rodapé: as duas linhas da base empilhadas, sem espremer. */
  .rodape-in{gap:32px;padding-top:44px}
  .rodape-base{flex-direction:column;gap:10px}
  .rodape-topo{gap:24px}
}
