/* ============================================================
   RADAELLI — Site institucional (SEO). Estilos compartilhados.
   Tokens do Radaelli Design System + classes utilitárias.
   ============================================================ */

:root{
  /* Cores */
  --rd-navy:#131A2B; --rd-navy-2:#2A3344; --rd-navy-3:#3A4456; --rd-slate:#5A6373;
  --rd-paper:#F8F6F1; --rd-paper-2:#FBFAF7; --rd-white:#FFFFFF;
  --rd-gold:#9C6F1A; --rd-gold-soft:#B68A37; --rd-terracotta:#9B6A5E;
  --rd-line:#E4DECF; --rd-line-dark:rgba(231,224,206,0.16);
  --rd-card:#1F2A44; --rd-ink-text:#ECEDF2;
  --rd-on-navy:rgba(248,246,241,0.68); --rd-on-navy-2:rgba(248,246,241,0.45);

  --surface-page:var(--rd-paper); --surface-alt:var(--rd-paper-2); --surface-card:var(--rd-white);
  --text-strong:var(--rd-navy); --text-body:var(--rd-navy-2); --text-muted:var(--rd-slate);
  --accent:var(--rd-gold); --accent-hover:var(--rd-gold-soft); --accent-on-dark:var(--rd-gold-soft);
  --friction:var(--rd-terracotta); --border-subtle:var(--rd-line); --border-strong:#D8D0BC;
  --focus-ring:var(--rd-gold-soft);

  /* Tipografia */
  --font-display:'Cormorant',Georgia,'Times New Roman',serif;
  --font-sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --type-eyebrow:0.72rem; --tracking-eyebrow:0.26em;
  --weight-medium:500; --weight-semibold:600;
  --leading-relaxed:1.66;

  /* Espaço / raio / sombra / motion */
  --section-y:clamp(58px,9vh,90px); --measure-prose:760px; --measure-wide:1080px;
  --radius-xs:3px; --radius-sm:4px; --radius-md:6px; --radius-lg:8px; --radius-pill:999px;
  --shadow-card:0 1px 2px rgba(19,26,43,0.04); --shadow-raised:0 6px 24px rgba(19,26,43,0.08);
  --glow-gold:radial-gradient(circle,rgba(156,111,26,0.22),transparent 64%);
  --ease-out:cubic-bezier(0.22,0.61,0.36,1); --dur-fast:.2s; --dur-base:.25s; --dur-reveal:.7s;
}

/* Tema escuro (usado no rodapé) */
.rd-dark{
  --surface-page:var(--rd-navy); --surface-alt:#182137; --surface-card:var(--rd-card);
  --text-strong:var(--rd-ink-text); --text-body:var(--rd-ink-text); --text-muted:var(--rd-on-navy);
  --accent:var(--rd-gold-soft); --accent-hover:#C99B47;
  --border-subtle:var(--rd-line-dark); --border-strong:rgba(231,224,206,0.24);
}

/* ===== Base ===== */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--font-sans);font-size:17px;line-height:var(--leading-relaxed);
  color:var(--text-body);background:var(--surface-page);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%}
h1,h2,h3{font-family:var(--font-display);color:var(--text-strong);margin:0}
a{color:inherit}
::selection{background:rgba(156,111,26,0.18)}
:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}

/* Eyebrow assinatura */
.rd-eyebrow{display:inline-flex;align-items:center;gap:13px;font-family:var(--font-sans);
  font-size:var(--type-eyebrow);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-eyebrow);
  text-transform:uppercase;color:var(--accent)}
.rd-eyebrow::before{content:"";width:24px;height:1px;background:currentColor;opacity:0.6}
.rd-dark .rd-eyebrow{color:var(--accent-on-dark)}

/* Brandmark */
.rd-brandmark{font-family:var(--font-display);font-weight:var(--weight-semibold);letter-spacing:-0.01em;color:var(--text-strong)}
.rd-brandmark .dot{color:var(--accent)}

/* Reveal-on-scroll (só com JS; visível por padrão em previews sem script) */
html.js .rd-reveal{opacity:0;transform:translateY(14px);transition:opacity var(--dur-reveal) var(--ease-out),transform var(--dur-reveal) var(--ease-out)}
html.js .rd-reveal.in{opacity:1;transform:none}
/* Escalonamento: irmãos numa grade surgem em sequência breve (cards) */
html.js .rd-reveal.rd-d1{transition-delay:.1s}
html.js .rd-reveal.rd-d2{transition-delay:.2s}
@media (prefers-reduced-motion:reduce){html.js .rd-reveal{opacity:1;transform:none;transition:none}}
@media print{html.js .rd-reveal{opacity:1;transform:none;transition:none}}

/* ===== Header / nav ===== */
.rd-header{position:sticky;top:0;z-index:50;background:var(--rd-paper);border-bottom:1px solid var(--rd-line)}
.rd-header-in{max-width:1180px;margin:0 auto;padding:0 clamp(22px,5vw,40px);height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.rd-brandmark.rd-logo{font-size:1.85rem;text-decoration:none}
.rd-desktop-nav{display:flex;align-items:center;gap:clamp(16px,2.2vw,30px)}
.rd-desktop-nav nav{display:flex;align-items:center;gap:clamp(11px,1.4vw,22px)}
[data-nav]{font-family:var(--font-sans);font-size:0.92rem;font-weight:500;color:var(--rd-slate);
  text-decoration:none;padding:6px 0;border-bottom:2px solid transparent;white-space:nowrap;transition:color .2s,border-color .2s}
[data-nav]:hover{color:var(--rd-navy)}
[data-nav].is-active{color:var(--rd-navy);border-bottom-color:var(--accent)}
.rd-menu-btn{display:none;align-items:center;justify-content:center;background:none;border:1px solid var(--border-strong);
  border-radius:var(--radius-xs);padding:9px 10px;color:var(--rd-navy);cursor:pointer}
.rd-menu-btn svg{width:22px;height:22px;display:block}
.rd-mobile-nav{border-top:1px solid var(--rd-line);background:var(--rd-paper);padding:6px clamp(22px,5vw,40px) 20px;display:none}
.rd-mobile-nav.open{display:block}
.rd-mobile-nav nav{display:flex;flex-direction:column}
.rd-mobile-nav [data-nav]{padding:14px 0;font-size:1.05rem;border-bottom:1px solid var(--rd-line)}
.rd-mobile-nav [data-nav]:last-of-type{border-bottom:none}
@media(max-width:900px){.rd-desktop-nav{display:none}.rd-menu-btn{display:inline-flex}}

/* ===== Botões / links ===== */
.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--accent);
  color:#fff;font-family:var(--font-sans);font-weight:600;font-size:1rem;text-decoration:none;
  padding:15px 28px;border-radius:var(--radius-sm);transition:background .2s,transform .2s}
.btn-primary:hover{background:var(--accent-hover);transform:translateY(-1px)}
.btn-primary svg{width:19px;height:19px;fill:currentColor}
.btn-secondary{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-sans);font-weight:600;
  font-size:0.85rem;color:var(--rd-navy);text-decoration:none;border:1px solid var(--border-strong);
  border-radius:var(--radius-xs);padding:9px 16px;transition:background .2s,color .2s,border-color .2s}
.btn-secondary:hover{background:var(--rd-navy);color:var(--rd-paper);border-color:var(--rd-navy)}
.lnk-underline{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-sans);font-weight:600;
  font-size:0.98rem;color:var(--rd-navy);text-decoration:none;border-bottom:1px solid var(--rd-line);
  padding-bottom:3px;transition:color .2s,border-color .2s}
.lnk-underline:hover{color:var(--accent);border-bottom-color:var(--accent)}
.rd-mobile-cta{display:flex;align-items:center;justify-content:center;margin-top:16px;background:var(--accent);
  color:#fff;font-family:var(--font-sans);font-weight:600;font-size:0.95rem;text-decoration:none;border-radius:var(--radius-xs);padding:13px}

/* ===== Grids do handoff ===== */
.rd-grid-hero{display:grid;grid-template-columns:1.55fr 0.85fr;gap:clamp(28px,4.5vw,60px);align-items:start}
/* Variante do hero com o dossiê em 3D à direita: as duas colunas ficam
   mais parelhas e alinhadas pelo meio. */
.rd-grid-hero.com-doc{grid-template-columns:1.32fr 0.86fr;align-items:center}
.rd-hero-aside{border-left:1px solid var(--rd-line);padding-left:clamp(22px,3vw,36px)}
.rd-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(26px,4vw,52px)}
.rd-split-portrait{display:grid;grid-template-columns:0.82fr 1.18fr;gap:clamp(30px,4.5vw,60px);align-items:start}
.rd-foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1.2fr;gap:clamp(26px,4vw,48px)}
@media(max-width:880px){.rd-grid-hero{grid-template-columns:1fr}.rd-hero-aside{border-left:none;border-top:1px solid var(--rd-line);padding-left:0;padding-top:28px;margin-top:4px}}
@media(max-width:820px){.rd-split,.rd-split-portrait,.rd-foot-grid{grid-template-columns:1fr}}

/* ============================================================
   Hero com profundidade — o dossiê em 3D
   Feito só com recurso nativo do navegador (perspective +
   preserve-3d). Sem biblioteca 3D: o topo continua carregando
   instantâneo. A inclinação que segue o mouse é aplicada pelo
   site.js, e só em telas com mouse.
   ============================================================ */
.rd-doc-palco{perspective:1400px;perspective-origin:50% 45%}
.rd-doc{position:relative;transform-style:preserve-3d;
  transform:rotateX(9deg) rotateY(-17deg);
  transition:transform .5s var(--ease-out);will-change:transform}
.rd-folha{background:var(--rd-white);border:1px solid var(--rd-line);
  border-radius:var(--radius-md);box-shadow:0 22px 50px -18px rgba(19,26,43,0.28);
  padding:clamp(18px,2vw,24px);transform-style:preserve-3d}
/* Todas as folhas ocupam a mesma caixa. Quem manda na posição de cada uma
   é o atributo data-pos, que o site.js troca a cada clique. Ele já vem no
   HTML, então sem JavaScript fica a pilha parada e legível. */
/* A altura é a do cartão mais alto, o de Acompanhamento: legenda em duas
   linhas, linha do ano com rótulos e a nota do pé. No celular a legenda
   ocupa mais, por isso o piso é maior que a conta do desktop sugeriria. */
.rd-baralho{position:relative;transform-style:preserve-3d;cursor:pointer;touch-action:pan-y;
  min-height:clamp(302px,26vw,324px)}
.rd-baralho:focus-visible{outline:2px solid var(--focus-ring);outline-offset:14px;border-radius:var(--radius-md)}
.rd-folha{position:absolute;inset:0;
  transition:transform .55s var(--ease-out),opacity .55s var(--ease-out)}
.rd-folha[data-pos="0"]{transform:translateZ(0);opacity:1;z-index:3}
.rd-folha[data-pos="1"]{transform:translateZ(-56px) translate(32px,32px);opacity:0.92;z-index:2}
.rd-folha[data-pos="2"]{transform:translateZ(-112px) translate(64px,64px);opacity:0.80;z-index:1}
/* Da terceira folha em diante ninguém aparece: fica tudo no lugar da
   terceira, invisível. Sem isso a pilha cresceria para fora da tela a
   cada cartão novo. O que sai da frente voa para cá e some. */
.rd-folha[data-pos="3"]{transform:translateZ(-112px) translate(64px,64px);opacity:0;z-index:0}
/* Só o cartão da frente mostra o conteúdo. Sem isto, o rodapé dos de trás
   escapa por baixo e vira frase solta no meio da pilha. */
.rd-doc-aviso{position:absolute;right:14px;bottom:8px;font-family:var(--font-sans);font-size:0.52rem;letter-spacing:0.06em;color:rgba(90,99,115,0.55)}
.rd-folha>*{transition:opacity var(--dur-base) var(--ease-out)}
.rd-folha:not([data-pos="0"])>*{opacity:0}
.rd-folha[data-pos="0"]>*{opacity:1;transition-delay:.22s}
/* Brilho dourado atravessando só a folha da frente, devagar. */
.rd-folha[data-pos="0"]::after{content:"";position:absolute;inset:0;pointer-events:none;
  border-radius:var(--radius-md);background-size:280% 100%;
  background:linear-gradient(104deg,transparent 34%,rgba(182,138,55,0.22) 48%,transparent 62%);
  animation:rd-varre 7.5s var(--ease-out) infinite}
@keyframes rd-varre{0%{background-position:190% 0}55%,100%{background-position:-90% 0}}

.rd-doc-tit{font-family:var(--font-sans);font-size:0.64rem;font-weight:var(--weight-semibold);
  letter-spacing:0.18em;text-transform:uppercase;color:var(--accent);margin-bottom:12px}
.rd-doc-nome{font-family:var(--font-display);font-size:1.24rem;color:var(--rd-navy);margin-bottom:16px}
.rd-doc-linha{display:flex;align-items:center;gap:10px;margin-top:9px;
  font-family:var(--font-sans);font-size:0.78rem;color:var(--rd-slate)}
.rd-doc-linha b{font-weight:var(--weight-medium);color:var(--rd-navy-2);min-width:92px}
.rd-doc-barra{position:relative;flex:1;height:5px;border-radius:var(--radius-pill);
  background:var(--rd-line);overflow:hidden}
.rd-doc-barra i{display:block;height:100%;border-radius:var(--radius-pill);background:var(--rd-navy-2)}
.rd-doc-linha:first-of-type .rd-doc-barra i{background:var(--accent)}
.rd-doc-pct{font-variant-numeric:tabular-nums;min-width:34px;text-align:right;color:var(--rd-navy-2)}
/* ----- Cartão "Plano": barra = hoje, marca dourada = alvo -----
   O dourado é a única cor de destaque (4,6:1 sobre o branco). O "hoje" é
   neutro de propósito: é a referência, não uma segunda série. A marca tem
   um anel branco para não sumir quando cai em cima da barra. */
.rd-doc-linha.rd-alvo .rd-doc-barra i{background:var(--rd-slate)}
.rd-doc-barra.com-alvo{overflow:visible}
.rd-doc-barra u{position:absolute;top:-4px;bottom:-4px;width:3px;border-radius:2px;
  background:var(--accent);box-shadow:0 0 0 2px var(--rd-white)}

/* Legenda curta dentro do cartão: a identidade nunca fica só na cor. */
.rd-doc-leg{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;margin-bottom:16px;
  font-family:var(--font-sans);font-size:0.68rem;color:var(--rd-slate)}
.rd-doc-leg span{display:inline-flex;align-items:center;gap:6px}
.rd-doc-leg i{width:15px;height:5px;border-radius:var(--radius-pill);background:var(--rd-slate)}
.rd-doc-leg u{width:3px;height:12px;border-radius:2px;background:var(--accent)}
.rd-doc-leg b{width:9px;height:9px;border-radius:50%;background:var(--accent)}
.rd-doc-leg s{width:6px;height:6px;border-radius:50%;background:var(--rd-slate)}
/* Empilhada quando as duas linhas são longas demais para caber lado a lado. */
.rd-doc-leg.empilhada{flex-direction:column;align-items:flex-start;gap:8px}

/* ----- Cartão "Ponto de partida": o que eu levanto e o perfil ----- */
.rd-doc-chips{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:clamp(24px,3vw,32px)}
.rd-doc-chips span{border:1px solid var(--rd-line);border-radius:var(--radius-pill);
  padding:5px 11px;font-family:var(--font-sans);font-size:0.72rem;color:var(--rd-navy-2)}
.rd-escala-rot{font-family:var(--font-sans);font-size:0.68rem;color:var(--rd-slate);margin-bottom:12px}
.rd-escala-trilha{position:relative;height:5px;border-radius:var(--radius-pill);background:var(--rd-line)}
/* Mesma marca dourada do cartão "Plano" e da linha do ano: uma só
   linguagem para "é aqui que você está". */
.rd-escala-marca{position:absolute;top:50%;left:50%;width:12px;height:12px;border-radius:50%;
  transform:translate(-50%,-50%);background:var(--accent);box-shadow:0 0 0 2.5px var(--rd-white)}
/* Os quatro níveis: extremos ancorados nas bordas, os do meio centrados na
   porcentagem que o HTML define, para casarem com a marca dourada. */
.rd-escala-pes{position:relative;height:1.1em;margin-top:13px;
  font-family:var(--font-sans);font-size:0.7rem;color:var(--rd-navy-2)}
.rd-escala-pes span{position:absolute;top:0;white-space:nowrap;transform:translateX(-50%)}
.rd-escala-pes span:first-child{left:0;transform:none}
.rd-escala-pes span:last-child{right:0;transform:none}

/* ----- Cartão "Acompanhamento": a linha do ano ----- */
/* A margem sobe conforme a largura, mas com teto: abaixo dela ainda
   precisam caber os rótulos dos trimestres e a nota do pé do cartão. */
.rd-doc-tempo{position:relative;margin-top:clamp(24px,3vw,32px)}
.rd-tempo-linha{position:relative;height:2px;border-radius:2px;background:var(--rd-line)}
.rd-tempo-pt{position:absolute;top:50%;transform:translate(-50%,-50%);border-radius:50%}
/* A revisão de trimestre precisa saltar sobre os oito acompanhamentos:
   o dobro do diâmetro, mais o anel branco que a descola da linha. */
.rd-tempo-pt.grande{width:12px;height:12px;background:var(--accent);
  box-shadow:0 0 0 2.5px var(--rd-white)}
.rd-tempo-pt.pequeno{width:6px;height:6px;background:var(--rd-slate)}
.rd-tempo-rot{position:absolute;top:22px;transform:translateX(-50%);white-space:nowrap;
  font-family:var(--font-sans);font-size:0.7rem;color:var(--rd-navy-2)}

/* Nota no pé do cartão: não é ressalva, é promessa. Por isso tem tinta
   mais forte que uma legenda e fica ancorada embaixo, longe do gráfico. */
.rd-doc-nota{position:absolute;left:clamp(18px,2vw,24px);right:clamp(18px,2vw,24px);
  bottom:clamp(16px,1.8vw,20px);padding-top:13px;border-top:1px solid var(--rd-line);
  font-family:var(--font-sans);font-size:0.76rem;line-height:1.45;color:var(--rd-navy-2)}

/* Bolinhas e dica de clique. Ficam fora do baralho para não girarem junto.
   O espaço em cima existe porque as folhas de trás avançam para baixo. */
.rd-doc-pontos{display:flex;gap:7px;justify-content:flex-end;margin-top:clamp(82px,7.5vw,98px)}
.rd-doc-pontos span{width:6px;height:6px;border-radius:50%;background:var(--rd-line);
  transition:background var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out)}
.rd-doc-pontos span.ativo{background:var(--accent);transform:scale(1.35)}

/* Faixa "No que acredito": era a coluna da direita do hero, virou uma
   régua horizontal logo abaixo. Os cinco links continuam os mesmos. */
.rd-crencas{margin:clamp(38px,5vh,58px) 0 0;padding-top:clamp(22px,3vh,30px);
  border-top:1px solid var(--rd-line)}
.rd-crencas .rd-rotulo{font-family:var(--font-sans);font-weight:var(--weight-semibold);
  font-size:0.72rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--rd-slate);margin-bottom:14px}
.rd-crencas ul{list-style:none;margin:0;padding:0;display:grid;
  grid-template-columns:repeat(5,1fr);gap:clamp(10px,1.6vw,22px)}
.rd-crencas .rd-belief{border-top:none;padding:0;font-size:1.02rem;align-items:center}

@media(max-width:980px){.rd-crencas ul{grid-template-columns:repeat(2,1fr);gap:12px 22px}}
@media(max-width:880px){
  .rd-grid-hero.com-doc{grid-template-columns:1fr}
  .rd-doc{transform:rotateX(8deg) rotateY(-11deg) scale(0.94)}
  /* Folhas de trás mais próximas: no celular a pilha tem menos espaço. */
  .rd-folha[data-pos="1"]{transform:translateZ(-44px) translate(20px,20px)}
  .rd-folha[data-pos="2"],
  .rd-folha[data-pos="3"]{transform:translateZ(-88px) translate(40px,40px)}
  .rd-doc-pontos{margin-top:62px}
}
@media(max-width:520px){.rd-crencas ul{grid-template-columns:1fr}}

/* Quem pediu menos movimento no sistema não recebe nenhum. */
@media(prefers-reduced-motion:reduce){
  .rd-doc{transition:none}
  .rd-folha{transition:none}
  .rd-folha[data-pos="0"]::after{animation:none}
}

/* ============================================================
   Hero escuro com camadas em profundidade (caminho A)
   O cabeçalho fica marinho enquanto está sobre o hero, formando
   um bloco só com ele, e volta ao claro depois. Quem troca é o
   site.js; a classe já vem no HTML para não haver piscada.
   ============================================================ */
.rd-header{transition:background var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out)}
.rd-header.sobre-escuro{background:#101728;border-bottom-color:transparent}
.rd-header.sobre-escuro .rd-brandmark{color:#F3F1EA}
.rd-header.sobre-escuro .rd-brandmark .dot{color:var(--rd-gold-soft)}
.rd-header.sobre-escuro [data-nav]{color:var(--rd-on-navy)}
.rd-header.sobre-escuro [data-nav]:hover{color:#F3F1EA}
.rd-header.sobre-escuro [data-nav].is-active{color:#F3F1EA;border-bottom-color:var(--rd-gold-soft)}
.rd-header.sobre-escuro .btn-secondary{color:#F3F1EA;border-color:rgba(231,224,206,0.32)}
.rd-header.sobre-escuro .btn-secondary:hover{background:#F3F1EA;color:var(--rd-navy);border-color:#F3F1EA}
.rd-header.sobre-escuro .rd-menu-btn{color:#F3F1EA;border-color:rgba(231,224,206,0.32)}
.rd-header.sobre-escuro .rd-mobile-nav{background:#101728;border-top-color:var(--rd-line-dark)}
.rd-header.sobre-escuro .rd-mobile-nav [data-nav]{color:var(--rd-on-navy);border-bottom-color:var(--rd-line-dark)}
.rd-header.sobre-escuro .rd-mobile-cta{background:var(--rd-gold-soft)}

/* overflow "clip" e não "hidden": hidden cria uma área rolável, e ao clicar
   no baralho o navegador arrastava o hero inteiro para o lado para "trazer o
   elemento à vista". O hidden fica como reserva para navegadores antigos. */
.rd-cena{position:relative;overflow:hidden;overflow:clip;isolation:isolate;background:#101728;
  padding:clamp(58px,9vh,104px) 0 clamp(42px,6vh,68px)}
.rd-cena-in{position:relative;z-index:3;max-width:1080px;margin:0 auto;padding:0 clamp(22px,5vw,40px)}
.rd-cena h1{color:#F3F1EA}
.rd-cena .rd-texto{color:rgba(248,246,241,0.72)}
/* Sem isto o link secundário fica texto escuro sobre fundo escuro. */
.rd-cena .lnk-underline{color:#F3F1EA;border-bottom-color:rgba(231,224,206,0.30)}
.rd-cena .lnk-underline:hover{color:var(--rd-gold-soft);border-bottom-color:var(--rd-gold-soft)}
.rd-cena .btn-primary{background:var(--rd-gold-soft)}
.rd-cena .btn-primary:hover{background:#C99B47}
/* O baralho sobre o marinho: sombra mais funda para os cartões descolarem
   do fundo, e as bolinhas e a dica em tom claro. */
.rd-cena .rd-folha{box-shadow:0 30px 70px -22px rgba(0,0,0,0.62)}
.rd-cena .rd-doc-pontos span{background:rgba(231,224,206,0.26)}
.rd-cena .rd-doc-pontos span.ativo{background:var(--rd-gold-soft)}

/* As camadas ficam em distâncias diferentes no eixo Z. É a diferença de
   velocidade entre elas, quando o mouse anda, que cria a profundidade. */
.rd-palco{position:absolute;inset:0;z-index:1;perspective:1000px;perspective-origin:58% 42%}
.rd-camadas{position:absolute;inset:0;transform-style:preserve-3d;
  transition:transform .5s var(--ease-out);will-change:transform}
/* Caixa bem maior que a tela: assim nenhuma borda reta de camada aparece. */
.rd-camadas>*{position:absolute;inset:-70%}
.rd-cam-brilho2{transform:translateZ(-430px);
  background:radial-gradient(19% 20% at 34% 66%,rgba(155,106,94,0.30),transparent 70%)}
.rd-cam-malha{transform:translateZ(-300px) rotateX(74deg) translateY(14%);
  background-image:
    repeating-linear-gradient(to right,rgba(182,138,55,0.30) 0 1px,transparent 1px 96px),
    repeating-linear-gradient(to bottom,rgba(182,138,55,0.22) 0 1px,transparent 1px 96px);
  -webkit-mask-image:radial-gradient(26% 26% at 50% 46%,#000,transparent 76%);
  mask-image:radial-gradient(26% 26% at 50% 46%,#000,transparent 76%)}
/* Névoa na frente: separa o texto do fundo e garante a leitura. */
.rd-cam-nevoa{inset:0;transform:translateZ(120px);
  background:linear-gradient(100deg,rgba(16,23,40,0.94) 0%,rgba(16,23,40,0.70) 40%,transparent 72%)}
.rd-vinheta{position:absolute;inset:0;z-index:2;pointer-events:none;
  box-shadow:inset 0 0 200px 60px rgba(9,13,24,0.55)}
/* Grão fino: tira o aspecto de gradiente de template. */
.rd-grao{position:absolute;inset:-40px;z-index:4;pointer-events:none;opacity:0.32;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='0.42'/%3E%3C/svg%3E")}

/* A faixa "No que acredito" dentro do hero escuro. */
.rd-cena .rd-crencas{border-top-color:var(--rd-line-dark)}
.rd-cena .rd-crencas .rd-rotulo{color:var(--rd-on-navy)}
.rd-cena .rd-belief{color:#F3F1EA}
.rd-cena .rd-belief:hover{color:var(--rd-gold-soft)}
.rd-cena .rd-belief-mark{background:var(--rd-gold-soft)}

@media(max-width:880px){
  .rd-cam-nevoa{background:linear-gradient(180deg,rgba(16,23,40,0.92) 22%,rgba(16,23,40,0.64) 72%,transparent)}
}
@media(prefers-reduced-motion:reduce){.rd-camadas{transition:none}}

/* ===== Busca e filtro da central de conteúdo ===== */
.rd-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.rd-filtro{margin:0 0 clamp(24px,3vw,34px)}
.rd-filtro-busca{display:block;position:relative}
.rd-filtro-busca input{
  width:100%;box-sizing:border-box;font-family:var(--font-sans);font-size:1rem;
  padding:13px 16px;background:var(--rd-white);color:var(--rd-navy);
  border:1px solid var(--border-subtle);border-radius:var(--radius-md);
  box-shadow:var(--shadow-card);transition:border-color var(--dur-fast) var(--ease-out);
}
.rd-filtro-busca input::placeholder{color:var(--rd-slate);opacity:.85}
.rd-filtro-busca input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(156,111,26,0.14)}
.rd-filtro-temas{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.rd-filtro-temas button{
  font-family:var(--font-sans);font-size:0.85rem;font-weight:500;cursor:pointer;
  padding:7px 15px;border-radius:var(--radius-pill);
  background:transparent;color:var(--rd-slate);
  border:1px solid var(--border-subtle);
  transition:color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out);
}
.rd-filtro-temas button:hover{color:var(--rd-navy);border-color:var(--border-strong)}
.rd-filtro-temas button[aria-pressed="true"]{background:var(--rd-navy);border-color:var(--rd-navy);color:var(--rd-paper)}
.rd-filtro-temas button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
.rd-filtro-conta{font-family:var(--font-sans);font-size:0.85rem;color:var(--rd-slate);margin:14px 0 0}
.rd-filtro-vazio{font-family:var(--font-sans);font-size:1rem;line-height:1.6;color:var(--rd-slate);margin:20px 0 0}
.rd-filtro-vazio strong{color:var(--rd-navy);font-weight:600}
/* !important é necessário: cada card carrega display:flex/block escrito na
   própria tag, e estilo inline vence a folha de estilo. Sem isto, o filtro
   marcava os cards como ocultos, o contador mudava, e nada sumia da tela. */
[data-filtro-artigos] [data-oculto],[data-pilares] [data-oculto]{display:none!important}
[data-pilares][hidden]{display:none!important}

/* ===== Prosa (artigos) ===== */
.rd-prose{font-family:var(--font-sans);font-size:1.08rem;line-height:1.78;color:var(--rd-navy-2)}
.rd-prose > p{margin:0 0 1.3em}
.rd-prose h2{font-family:var(--font-display);font-weight:600;font-size:clamp(1.5rem,3vw,1.95rem);line-height:1.18;letter-spacing:-0.01em;color:var(--rd-navy);margin:1.8em 0 0.55em}
.rd-prose strong{color:var(--rd-navy);font-weight:600}
.rd-prose ul{margin:0.2em 0 1.4em;padding:0;list-style:none}
.rd-prose li{position:relative;padding:7px 0 7px 28px;line-height:1.6}
.rd-prose li::before{content:"";position:absolute;left:0;top:20px;width:15px;height:1.5px;background:var(--accent)}
.rd-prose blockquote{font-family:var(--font-display);font-style:italic;font-weight:500;font-size:clamp(1.5rem,2.8vw,2rem);line-height:1.3;color:var(--rd-navy);margin:1.5em 0;padding:0}
/* Tabela larga: rola de lado. As sombras nas bordas avisam que há mais
   conteúdo e somem sozinhas quando a rolagem chega ao fim. */
.rd-prose .rd-tabela-wrap{
  margin:1.6em 0;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  background:
    linear-gradient(to right,var(--rd-paper) 40%,rgba(248,246,241,0)) left center,
    linear-gradient(to left,var(--rd-paper) 40%,rgba(248,246,241,0)) right center,
    radial-gradient(farthest-side at 0 50%,rgba(19,26,43,0.18),rgba(19,26,43,0)) left center,
    radial-gradient(farthest-side at 100% 50%,rgba(19,26,43,0.18),rgba(19,26,43,0)) right center;
  background-repeat:no-repeat;
  background-size:34px 100%,34px 100%,15px 100%,15px 100%;
  background-attachment:local,local,scroll,scroll;
}
.rd-prose .rd-tabela-dica{
  display:none;
  margin:-1.1em 0 1.6em;
  font-family:var(--font-sans);
  font-size:0.78rem;
  letter-spacing:0.02em;
  color:var(--rd-slate);
}
@media (max-width:700px){
  .rd-prose .rd-tabela-dica{display:block}
}
.rd-prose table{width:100%;border-collapse:collapse;font-family:var(--font-sans);font-size:0.94rem;min-width:340px}
.rd-prose caption{caption-side:top;text-align:left;font-family:var(--font-sans);font-weight:600;font-size:0.8rem;letter-spacing:0.04em;text-transform:uppercase;color:var(--accent);margin-bottom:10px}
.rd-prose th,.rd-prose td{padding:9px 14px;border-bottom:1px solid var(--rd-line);text-align:left;line-height:1.4}
.rd-prose thead th{color:var(--rd-navy);font-weight:600;border-bottom:1.5px solid var(--rd-navy-2)}
.rd-prose td.num,.rd-prose th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.rd-prose tr.total td{border-top:1.5px solid var(--rd-navy-2);border-bottom:none;font-weight:600;color:var(--rd-navy)}
.rd-prose tbody tr:last-child td{border-bottom:none}
.rd-prose tr.grupo td{background:rgba(90,99,115,0.06);font-weight:600;font-size:0.72rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--accent);padding-top:12px;padding-bottom:8px;border-bottom:1px solid var(--rd-line)}
.rd-prose .rd-calc{margin:1.3em 0;padding:15px 20px;background:rgba(156,111,26,0.06);border-left:3px solid var(--accent);border-radius:0 6px 6px 0}
.rd-prose .rd-calc .formula{font-family:var(--font-sans);font-size:clamp(1.1rem,2.2vw,1.28rem);font-weight:600;color:var(--rd-navy);letter-spacing:-0.01em}
.rd-prose .rd-calc .formula .res{color:var(--accent)}
.rd-prose .rd-calc .leg{font-family:var(--font-sans);font-size:0.85rem;color:var(--rd-slate);margin-top:5px}

/* ===== Rodapé ===== */
.rd-footer{background:var(--rd-navy);color:var(--rd-on-navy)}
.rd-foot-in{max-width:1180px;margin:0 auto;padding:clamp(48px,7vh,72px) clamp(22px,5vw,40px) 40px}
.rd-foot-link{color:var(--rd-on-navy);text-decoration:none;transition:color .2s}
.rd-foot-link:hover{color:var(--rd-gold-soft)}

/* ===== FAQ (acordeão nativo) ===== */
.rd-faq{border-bottom:1px solid var(--rd-line)}
.rd-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;
  padding:18px 0;font-family:var(--font-display);font-size:clamp(1.12rem,2vw,1.28rem);font-weight:600;color:var(--rd-navy)}
.rd-faq summary::-webkit-details-marker{display:none}
.rd-faq summary::after{content:"+";font-family:var(--font-sans);font-weight:400;font-size:1.5rem;line-height:1;color:var(--accent);flex:0 0 auto}
.rd-faq[open] summary::after{content:"\2212"}
.rd-faq .rd-faq-a{margin:0;padding:0 0 20px;font-size:1.02rem;line-height:1.7;color:var(--rd-slate);max-width:66ch}

/* ===== Formulário ===== */
.rd-field{display:block;font-family:var(--font-sans)}
.rd-field > span{display:block;margin-bottom:7px;font-size:0.82rem;font-weight:600;letter-spacing:0.02em;color:var(--rd-navy-2)}
.rd-input{width:100%;font-family:var(--font-sans);font-size:1rem;color:var(--rd-navy);background:#fff;border:1px solid var(--rd-line);border-radius:var(--radius-sm);padding:12px 14px;outline:none;transition:border-color .2s,box-shadow .2s}
.rd-input::placeholder{color:#9aa0ab}
.rd-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(156,111,26,0.14)}
textarea.rd-input{resize:vertical}
.btn-primary.full{width:100%}

/* ===== Cards de artigo (Conteúdo) ===== */
.rd-art-feature{transition:box-shadow .2s,transform .2s}
.rd-art-feature:hover{box-shadow:var(--shadow-raised);transform:translateY(-2px)}
.rd-art-card{transition:border-color .2s,box-shadow .2s,transform .2s}
.rd-art-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-raised);transform:translateY(-2px)}

/* ===== Micro-lift reutilizavel (cards solidos: servicos, planos) ===== */
.rd-lift{transition:transform .28s cubic-bezier(.2,.7,.2,1),box-shadow .28s ease,border-color .28s ease;will-change:transform}
.rd-lift:hover{transform:translateY(-4px);box-shadow:var(--shadow-raised)}
@media(prefers-reduced-motion:reduce){.rd-lift{transition:none}.rd-lift:hover{transform:none}}

/* Rolagem suave para ancoras internas (ex.: hero -> principios) */
html{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Cliques do bloco "No que acredito" -> principios detalhados */
.rd-belief{display:flex;gap:12px;align-items:flex-start;padding:13px 0;border-top:1px solid var(--rd-line);font-family:var(--font-display);font-size:1.12rem;line-height:1.2;color:var(--rd-navy);text-decoration:none;transition:color .2s ease}
.rd-belief:hover{color:var(--accent)}
.rd-belief-mark{flex:0 0 auto;width:15px;height:1.5px;background:var(--accent);margin-top:12px;transition:width .2s ease}
.rd-belief:hover .rd-belief-mark{width:24px}
.rd-principio{scroll-margin-top:100px;position:relative;transition:transform .28s cubic-bezier(.2,.7,.2,1)}
.rd-principio:hover{transform:translateY(-4px)}
/* Ao pousar o mouse num princípio, um fio dourado cresce sobre a borda
   cinza e o número acompanha. O fio nasce da esquerda em ~um terço de
   segundo; nada se move, só cor e luz: sobriedade da marca. */
.rd-principio::before{content:"";position:absolute;top:-2px;left:0;width:0;height:2px;background:var(--accent);transition:width .35s var(--ease-out)}
.rd-principio:hover::before{width:100%}
.rd-principio>div:first-child{transition:color .25s ease}
.rd-principio:hover>div:first-child{color:var(--accent)}

/* "Para quem é": a seta desliza e o item ganha contraste. O !important
   vence a cor escrita direto no HTML de cada item. */
.rd-lista-sim li,.rd-lista-nao li{transition:color .2s ease,transform .22s ease}
.rd-lista-sim li:hover,.rd-lista-nao li:hover{transform:translateX(4px)}
.rd-lista-sim li>span{transition:transform .22s ease}
.rd-lista-sim li:hover{color:var(--rd-navy)!important}
.rd-lista-sim li:hover>span{transform:translateX(5px)}
.rd-lista-nao li:hover{color:var(--rd-navy-2)!important}

/* Cartões que já sobem (rd-lift) tambem acendem a borda e o link */
.rd-lift:hover{border-color:var(--rd-gold-soft)!important}
.rd-lift .lnk-underline{transition:color .2s ease,border-color .2s ease}
.rd-lift:hover .lnk-underline{color:var(--accent);border-bottom-color:var(--accent)}
.rd-card-cta{display:inline-block;transition:transform .22s ease,color .2s ease}
.rd-lift:hover .rd-card-cta{transform:translateX(4px);color:var(--accent)!important}
/* As caixinhas com animacao de entrada (rd-reveal) precisam de regras mais
   especificas que "html.js .rd-reveal.in", senao o transform:none da entrada
   engole o movimento do hover, e a transicao de 0.7s da entrada deixa tudo
   lento. Depois que o elemento entrou (.in), a fisica do hover assume. */
html.js .rd-lift.rd-reveal.in{transition:transform .28s cubic-bezier(.2,.7,.2,1),box-shadow .28s ease,border-color .28s ease}
html.js .rd-lift.rd-reveal.in:hover{transform:translateY(-4px)}
html.js .rd-principio.rd-reveal.in{transition:transform .28s cubic-bezier(.2,.7,.2,1)}
html.js .rd-principio.rd-reveal.in:hover{transform:translateY(-4px)}
@media(prefers-reduced-motion:reduce){html.js .rd-lift.rd-reveal.in:hover,html.js .rd-principio.rd-reveal.in:hover{transform:none}}
@media(prefers-reduced-motion:reduce){.rd-principio::before,.rd-lista-sim li>span,.rd-card-cta,.rd-principio,.rd-lista-sim li,.rd-lista-nao li{transition:none}.rd-lista-sim li:hover>span,.rd-lift:hover .rd-card-cta,.rd-principio:hover,.rd-lista-sim li:hover,.rd-lista-nao li:hover{transform:none}}

/* ===== Menu "Entre em contato" (WhatsApp ou e-mail) =====
   O invólucro e o painel são criados pelo site.js. Aqui só a aparência.
   No celular o painel deixa de flutuar e empurra o conteúdo, porque menu
   flutuante em tela estreita costuma sair pela borda. */
.rd-contato{position:relative;display:inline-block}
.rd-mobile-nav .rd-contato{display:block}
.rd-contato-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:60;min-width:250px;
  background:var(--surface-card);border:1px solid var(--border-subtle);
  border-radius:var(--radius-sm);box-shadow:var(--shadow-raised);padding:6px;display:grid;gap:2px}
.rd-contato-menu[hidden]{display:none}
.rd-contato-menu a{display:flex;align-items:center;gap:11px;padding:12px 14px;
  border-radius:var(--radius-xs);font-family:var(--font-sans);font-size:0.95rem;font-weight:500;
  color:var(--text-strong);text-decoration:none;transition:background .15s,color .15s}
.rd-contato-menu a:hover,.rd-contato-menu a:focus-visible{background:var(--surface-alt);color:var(--accent)}
.rd-contato-menu svg{flex:0 0 auto;width:19px;height:19px;color:var(--accent)}
@media(max-width:720px){
  .rd-contato-menu{position:static;right:auto;min-width:0;margin-top:10px;box-shadow:none}
}

/* Faixa de cookies (site.js só mostra quando há medidor de marketing ligado) */
.rd-cookies{position:fixed;left:16px;right:16px;bottom:16px;z-index:90;max-width:620px;margin:0 auto;
  display:flex;align-items:center;gap:16px;padding:14px 18px;border-radius:var(--radius-lg);
  background:var(--rd-navy);color:var(--rd-ink-text);box-shadow:var(--shadow-raised);
  font:400 0.88rem/1.5 var(--font-sans)}
.rd-cookies p{margin:0;flex:1}
.rd-cookies a{color:var(--rd-gold-soft)}
.rd-cookies-botoes{display:flex;gap:8px;flex:0 0 auto}
.rd-cookies button{font:500 0.85rem var(--font-sans);padding:8px 14px;border-radius:var(--radius-sm);
  cursor:pointer;background:transparent;color:var(--rd-ink-text);border:1px solid var(--rd-line-dark)}
.rd-cookies .rd-cookies-aceitar{background:var(--rd-gold);border-color:var(--rd-gold);color:#fff}
.rd-cookies button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
@media(max-width:560px){.rd-cookies{flex-direction:column;align-items:stretch}.rd-cookies-botoes button{flex:1}}
.rd-link-botao{background:none;border:0;padding:0;font:inherit;color:var(--accent);text-decoration:underline;cursor:pointer}
