/* ==========================================================================
   RITTO — CAMADA DE REFINO VISUAL (v1)
   Roda por cima de tudo. Não muda estrutura, conteúdo nem paleta.
   Só ajusta ritmo, hierarquia, bordas, sombras, tipografia e microdetalhes.
   Para desativar: remova o <link> desta folha no includes/header.php.
   ========================================================================== */

.public-body{
  /* fio de cabelo: borda quase invisível, com um toque de violeta */
  --rt-hair:rgba(47,27,77,.10);
  --rt-hair-strong:rgba(47,27,77,.16);
  --rt-hair-dark:rgba(255,255,255,.12);

  /* relevo em camadas: sombra curta de contato + sombra longa de ambiente */
  --rt-e1:0 1px 2px rgba(16,16,20,.04), 0 3px 10px rgba(47,27,77,.045);
  --rt-e2:0 2px 4px rgba(16,16,20,.04), 0 14px 30px rgba(47,27,77,.07);
  --rt-e3:0 4px 10px rgba(16,16,20,.05), 0 28px 60px rgba(47,27,77,.11);

  /* brilho interno no topo das superfícies claras */
  --rt-gloss:inset 0 1px 0 rgba(255,255,255,.9);

  --rt-ease:cubic-bezier(.2,.7,.3,1);
}

/* ---------- base ---------- */
.public-body{
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}
.public-body ::selection{background:#61CCE0;color:#101014}
.public-body h1,.public-body h2,.public-body h3{text-wrap:balance}
/* os parágrafos preenchem a linha inteira, sem reequilíbrio automático */
.public-body p,.public-body li{text-wrap:wrap}

/* números sempre alinhados */
.public-body .ritto-demo-metrics b,
.public-body .path-compact-ring,
.public-body .path-compact-progress-ring b,
.public-body .dim-top span:last-child,
.public-body .price-val strong{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}

/* foco visível igual em toda a navegação */
.public-body a:focus-visible,
.public-body button:focus-visible,
.public-body summary:focus-visible,
.public-body input:focus-visible,
.public-body select:focus-visible,
.public-body textarea:focus-visible{
  outline:2px solid #2F1B4D !important;
  outline-offset:3px !important;
  border-radius:12px;
}

/* ==========================================================================
   TOPO
   ========================================================================== */
.public-body .public-header{
  background:rgba(255,255,255,.82);
  -webkit-backdrop-filter:saturate(180%) blur(18px);
  backdrop-filter:saturate(180%) blur(18px);
  border-bottom:1px solid var(--rt-hair);
  box-shadow:0 1px 0 rgba(255,255,255,.6);
}
.public-body .nav-wrap{height:82px}
.public-body .public-nav{gap:26px;font-weight:600}
.public-body .public-nav>a:not(.btn){
  font-size:.94rem;
  color:#3A3446;
  letter-spacing:-.005em;
  transition:color .2s var(--rt-ease);
}
.public-body .public-nav>a:not(.btn):hover{color:#2F1B4D}
.public-body .public-nav>a:not(.btn)::after{
  height:1.5px;
  background:linear-gradient(90deg,#2F1B4D,#61CCE0);
  border-radius:2px;
}
.public-body .public-nav>a.is-current{color:#2F1B4D}
.public-body .public-nav>a.is-current::after{width:100%;transform:none}
.public-body .public-nav .btn{
  border-radius:999px;
  font-size:.92rem;
  padding:12px 20px;
  letter-spacing:-.01em;
}
.public-body .public-nav .btn-ghost{
  background:#fff;
  border:1px solid var(--rt-hair);
  color:#2F1B4D;
  box-shadow:var(--rt-e1);
}
.public-body .public-nav .btn-ghost:hover{border-color:var(--rt-hair-strong);background:#FBFAFD}
.public-body .public-nav .btn-primary{
  background:#2F1B4D !important;
  box-shadow:0 2px 4px rgba(47,27,77,.16), 0 12px 26px rgba(47,27,77,.20);
}
.public-body .public-nav .btn-primary:hover{
  background:#1F1134 !important;
  transform:translateY(-1px);
  box-shadow:0 4px 8px rgba(47,27,77,.18), 0 18px 34px rgba(47,27,77,.26);
}
.public-body .icon-button{
  border:1px solid var(--rt-hair);
  border-radius:14px;
  box-shadow:var(--rt-e1);
}
@media(max-width:600px){.public-body .nav-wrap{height:68px}}

/* ==========================================================================
   RITMO VERTICAL DA HOME
   O respiro entre blocos cresce, sem mexer no conteúdo de nenhum deles.
   ========================================================================== */
.public-body.rt-page{--rt-eb-top:38px !important;--rt-eb-gap:13px !important}
@media(max-width:900px){.public-body.rt-page{--rt-eb-top:30px !important}}
@media(max-width:620px){.public-body.rt-page{--rt-eb-top:24px !important;--rt-eb-gap:11px !important}}

/* o tracinho fica mais fino e mais largo: menos enfeite, mais assinatura */
.public-body.rt-page .eyebrow::before{
  width:34px !important;
  flex-basis:34px !important;
  height:2px !important;
  background:linear-gradient(90deg,#2F1B4D,#61CCE0) !important;
  border-radius:2px !important;
}
.public-body.rt-page .eyebrow,
.public-body.rt-page .eyebrow:empty{width:34px !important;min-width:34px !important;max-width:34px !important;height:2px !important;min-height:2px !important}

/* ==========================================================================
   HERO
   ========================================================================== */
.public-body.rt-page .hero h1{
  font-size:clamp(2.05rem,4.4vw,3.35rem);
  letter-spacing:-.038em;
  line-height:1.06;
  max-width:15ch;
}
/* a palavra em destaque fica como já estava: violeta, sem traço */
.public-body.rt-page .hero h1 em::after{content:none}

.public-body.rt-page .hero-lead{
  font-size:clamp(1rem,1.25vw,1.1rem);
  line-height:1.62;
  color:#55506A;
  max-width:34em;
}
@media(max-width:620px){
  /* linhas mais cheias: cabe mais palavra antes de quebrar */
  .public-body.rt-page .hero-lead{
    font-size:.95rem;
    line-height:1.55;
    letter-spacing:-.006em;
    max-width:none;
    padding-right:0;
  }
  .public-body.rt-page .hero .hero-grid>div:not(.hero-art) .hero-lead{margin-right:-6px}
}
/* no celular o texto do topo ganha uma margem própria: a imagem segue larga */
@media(max-width:620px){
  .public-body.rt-page .hero .shell.hero-grid{
    padding-left:22px !important;
    padding-right:22px !important;
  }
  .public-body.rt-page .hero .hero-grid>div:not(.hero-art){
    padding-left:0 !important;
    padding-right:0 !important;
  }
  /* a imagem continua larga: ela desconta a margem do bloco */
  .public-body.rt-page .hero .hero-art{
    margin-left:-22px !important;
    margin-right:-22px !important;
    width:calc(100% + 44px) !important;
    max-width:none !important;
  }
}

.public-body.rt-page .hero-art{
  background:#fff;
  border:1px solid var(--rt-hair);
  border-radius:24px;
  box-shadow:var(--rt-e2), var(--rt-gloss);
  overflow:hidden;
}
@media(max-width:620px){
  .public-body.rt-page .hero-art{border-radius:20px;box-shadow:var(--rt-e1)}
}

/* o diagnóstico sobe: o cartão dele já tem respiro próprio */
.public-body.rt-page .sec-diagnostico-home{padding-top:14px !important}
@media(max-width:900px){.public-body.rt-page .sec-diagnostico-home{padding-top:10px !important}}
@media(max-width:620px){
  .public-body.rt-page .sec-diagnostico-home{padding-top:6px !important}
  .public-body.rt-page .diag{padding-top:20px !important}
}

/* ==========================================================================
   BOTÕES
   ========================================================================== */
.public-body.rt-page .btn-rt{
  padding:16px 30px;
  font-size:.99rem;
  letter-spacing:-.012em;
  border-radius:999px;
  transition:transform .22s var(--rt-ease),box-shadow .22s var(--rt-ease),background .22s var(--rt-ease);
}
.public-body.rt-page .btn-rt:active{transform:translateY(0) scale(.985)}
.public-body.rt-page .btn-main{
  box-shadow:0 2px 4px rgba(47,27,77,.16), 0 16px 32px rgba(47,27,77,.22);
}
.public-body.rt-page .btn-main:hover{
  transform:translateY(-2px);
  box-shadow:0 4px 8px rgba(47,27,77,.18), 0 22px 44px rgba(47,27,77,.28);
}
.public-body.rt-page .btn-turq{
  box-shadow:0 2px 4px rgba(23,95,109,.14), 0 16px 32px rgba(97,204,224,.26);
}
.public-body.rt-page .btn-turq:hover{
  transform:translateY(-2px);
  box-shadow:0 4px 8px rgba(23,95,109,.16), 0 22px 44px rgba(97,204,224,.32);
}
.public-body.rt-page .btn-rt .arw{transition:transform .22s var(--rt-ease)}
.public-body.rt-page .btn-rt:hover .arw{transform:translateX(3px)}

@media(max-width:620px){
  .public-body.rt-page .btn-rt{padding:15px 18px;font-size:.94rem;gap:8px}
}

/* ==========================================================================
   DIAGNÓSTICO
   ========================================================================== */
.public-body.rt-page .diag{
  border:1px solid var(--rt-hair);
  border-radius:28px;
  box-shadow:var(--rt-e2), var(--rt-gloss);
  background:#fff;
}
.public-body.rt-page .diag h2{letter-spacing:-.032em;line-height:1.1;max-width:18ch}
.public-body.rt-page .diag-meta li{
  background:#fff;
  border:1px solid var(--rt-hair);
  color:#2F1B4D;
  font-size:.8rem;
  letter-spacing:-.005em;
  padding:8px 14px;
  box-shadow:var(--rt-e1);
}
.public-body.rt-page .dims{gap:15px}
.public-body.rt-page .dim-top{font-size:.86rem;font-weight:700;letter-spacing:-.008em}
.public-body.rt-page .dim-top span:last-child{color:#2F1B4D;font-weight:800}
.public-body.rt-page .dim-track{
  height:8px;
  background:rgba(47,27,77,.07);
  box-shadow:inset 0 1px 2px rgba(47,27,77,.06);
}
.public-body.rt-page .dim-track i{
  box-shadow:0 1px 3px rgba(47,27,77,.22);
  transition:width 1.15s var(--rt-ease);
}
.public-body.rt-page .dims-note{font-size:.79rem;color:#7A748A;line-height:1.5}

/* ==========================================================================
   CONVITE PARA O SOBRE
   Mesma caixa, hierarquia arrumada: etiqueta, título e apoio.
   ========================================================================== */
.public-body.rt-page .rt-sobre-invite{
  padding:30px 32px;
  border-radius:28px;
  background:
    radial-gradient(120% 140% at 100% 0%,rgba(97,204,224,.16) 0%,rgba(97,204,224,0) 55%),
    #2F1B4D;
  box-shadow:0 4px 10px rgba(47,27,77,.14), 0 26px 56px rgba(47,27,77,.24);
}
.public-body.rt-page .rt-sobre-invite:hover{
  transform:translateY(-3px);
  box-shadow:0 6px 14px rgba(47,27,77,.16), 0 34px 70px rgba(47,27,77,.30);
}
.public-body.rt-page .rt-sobre-invite-copy{gap:10px}
.public-body.rt-page .rt-sobre-invite-kicker{
  font-size:.7rem;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#61CCE0;
}
.public-body.rt-page .rt-sobre-invite-copy strong{
  font-size:clamp(1.15rem,1.8vw,1.42rem);
  line-height:1.2;
  letter-spacing:-.025em;
}
.public-body.rt-page .rt-sobre-invite-text{
  font-size:.93rem;
  line-height:1.55;
  opacity:.74;
  max-width:56ch;
}
.public-body.rt-page .rt-sobre-invite-btn{
  font-size:.95rem;
  padding:14px 24px;
  box-shadow:0 10px 24px rgba(97,204,224,.24);
}
@media(max-width:760px){
  .public-body.rt-page .rt-sobre-invite{padding:22px 20px;border-radius:22px}
  .public-body.rt-page .rt-sobre-invite-copy strong{font-size:1.14rem}
  .public-body.rt-page .rt-sobre-invite-text{font-size:.89rem}
}

/* ==========================================================================
   MEU CAMINHO
   ========================================================================== */
.public-body.rt-page .path-compact h2{letter-spacing:-.032em;line-height:1.1;max-width:19ch}
.public-body.rt-page .path-compact p{opacity:.62;line-height:1.55}
.public-body.rt-page .path-compact-progress{
  border:1px solid var(--rt-hair);
  border-radius:22px;
  box-shadow:var(--rt-e1), var(--rt-gloss);
  padding:20px 22px;
}
.public-body.rt-page .path-compact-progress-title{
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#7A748A;
}
.public-body.rt-page .path-compact-dots span{border-color:var(--rt-hair-strong)}
.public-body.rt-page .path-compact-card{
  border:1px solid var(--rt-hair);
  border-radius:16px;
  box-shadow:var(--rt-e1);
  transition:transform .22s var(--rt-ease),box-shadow .22s var(--rt-ease),border-color .22s var(--rt-ease);
}
.public-body.rt-page .path-compact-step:hover .path-compact-card{
  transform:translateX(3px);
  border-color:rgba(97,204,224,.55);
  box-shadow:var(--rt-e2);
}
.public-body.rt-page .path-compact-card strong{letter-spacing:-.015em}
.public-body.rt-page .path-compact-status{
  border-color:var(--rt-hair-strong);
  font-size:.66rem;
  letter-spacing:.06em;
  text-transform:uppercase;
  padding:5px 10px;
}
.public-body.rt-page .path-compact-arrow{color:#B3AEC0;transition:color .2s var(--rt-ease),transform .2s var(--rt-ease)}
.public-body.rt-page .path-compact-step:hover .path-compact-arrow{color:#2F1B4D;transform:translateX(2px)}
.public-body.rt-page .path-compact-next{
  border-radius:22px;
  padding:18px 20px;
  background:
    radial-gradient(120% 160% at 100% 0%,rgba(97,204,224,.16) 0%,rgba(97,204,224,0) 60%),
    #2F1B4D;
  box-shadow:0 4px 10px rgba(47,27,77,.14), 0 24px 50px rgba(47,27,77,.22);
}
.public-body.rt-page .path-compact-next strong{
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#61CCE0;
  margin-bottom:6px;
}
.public-body.rt-page .path-compact-next span{font-size:.86rem;line-height:1.45;opacity:.82}
.public-body.rt-page .path-compact-next-block + .path-compact-next-block{border-left-color:rgba(255,255,255,.16)}
@media(max-width:760px){
  .public-body.rt-page .path-compact-next{padding:18px 16px;gap:14px}
  .public-body.rt-page .path-compact-next .btn-rt{margin-top:4px}
  .public-body.rt-page .path-compact-next-block + .path-compact-next-block{padding-top:14px}
}

/* o bloco cinza fecha com respiro, para não encostar na faixa preta */
.public-body.rt-page .path.path-compact{padding-bottom:calc(var(--rt-eb-top) * .6) !important}

/* ==========================================================================
   POR DENTRO (molduras)
   ========================================================================== */
.public-body.rt-page #por-dentro.rtx{padding-top:32px !important}
.public-body.rt-page #por-dentro .rtx-head{margin-bottom:30px}
@media(max-width:620px){
  .public-body.rt-page #por-dentro.rtx{padding-top:14px !important}
  .public-body.rt-page #por-dentro .rtx-head{margin-bottom:20px}
}
.public-body.rt-page #por-dentro .rtx-head h2{letter-spacing:-.035em}
.public-body.rt-page #por-dentro .rtx-card{
  border-color:rgba(255,255,255,.09);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}
.public-body.rt-page #por-dentro .rtx-frame{
  border-color:rgba(255,255,255,.11);
  box-shadow:0 2px 6px rgba(0,0,0,.4), 0 26px 56px rgba(0,0,0,.5);
}
.public-body.rt-page #por-dentro .rtx-caption{font-size:.8rem;line-height:1.55;color:rgba(255,255,255,.58)}
.public-body.rt-page #por-dentro .rtx-card-top h3{letter-spacing:-.02em}

/* ==========================================================================
   ASSINATURA
   ========================================================================== */
.public-body.rt-page .plans-entry{
  background:#fff;
  border:1px solid var(--rt-hair);
  border-radius:28px;
  padding:32px 30px;
  box-shadow:var(--rt-e2), var(--rt-gloss);
}
.public-body.rt-page .plans-entry::before{
  content:"";
  position:absolute;left:50%;top:0;width:120px;height:2px;
  transform:translateX(-50%);
  background:linear-gradient(90deg,rgba(47,27,77,0),#61CCE0,rgba(47,27,77,0));
  border-radius:2px;
}
.public-body.rt-page .plans-entry h2{
  letter-spacing:-.032em;
  line-height:1.12;
  max-width:22ch;
  margin-bottom:26px;
}
@media(max-width:560px){
  .public-body.rt-page .plans-entry{padding:28px 20px;border-radius:22px}
}

/* ==========================================================================
   PERGUNTAS FREQUENTES
   ========================================================================== */
.public-body.rt-page #faq .sec-head h2{letter-spacing:-.03em}
.public-body.rt-page #faq .faq{gap:9px}
.public-body.rt-page #faq .faq details{
  background:#fff;
  border:1px solid var(--rt-hair);
  border-radius:18px;
  padding:0 20px;
  box-shadow:var(--rt-e1);
  transition:border-color .22s var(--rt-ease),box-shadow .22s var(--rt-ease),background .22s var(--rt-ease);
}
.public-body.rt-page #faq .faq details:hover{border-color:var(--rt-hair-strong)}
.public-body.rt-page #faq .faq details[open]{
  border-color:rgba(97,204,224,.5);
  box-shadow:var(--rt-e2);
}
.public-body.rt-page #faq .faq summary{
  font-size:.95rem;
  font-weight:700;
  letter-spacing:-.012em;
  padding:16px 36px 16px 0;
  color:#1B1726;
}
.public-body.rt-page #faq .faq summary::after{
  border-color:#8E88A0;
  border-width:2px;
  width:8px;height:8px;
  right:2px;top:22px;
  transition:transform .25s var(--rt-ease),border-color .25s var(--rt-ease),top .25s var(--rt-ease);
}
.public-body.rt-page #faq .faq details[open] summary::after{border-color:#2F1B4D;top:26px}
.public-body.rt-page #faq .faq p{
  font-size:.9rem;
  line-height:1.65;
  color:#5F5A6E;
  margin:0 0 16px;
  max-width:78ch;
}

/* ==========================================================================
   FECHAMENTO
   ========================================================================== */
.public-body.rt-page .close{
  background:
    radial-gradient(90% 120% at 78% 0%,rgba(97,204,224,.20) 0%,rgba(97,204,224,0) 58%),
    #2F1B4D;
  padding:clamp(36px,4vw,52px) 0;
}
.public-body.rt-page .close h2{
  letter-spacing:-.035em;
  line-height:1.08;
  max-width:20ch;
  margin-bottom:24px;
}
.public-body.rt-page .close .btn-rt{box-shadow:0 4px 10px rgba(0,0,0,.18), 0 20px 44px rgba(97,204,224,.24)}

/* ==========================================================================
   RODAPÉ
   ========================================================================== */
.public-body .public-footer{background:#101014;padding:52px 0 24px}
.public-body .public-footer .footer-grid{gap:44px}
.public-body .public-footer .footer-grid p{
  color:#A8A2B6;
  font-size:.92rem;
  line-height:1.65;
  max-width:42ch;
}
.public-body .public-footer .footer-col strong{
  font-size:.7rem;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#61CCE0;
  margin-bottom:6px;
}
.public-body .public-footer .footer-col a{
  color:#B7B1C4;
  font-size:.92rem;
  padding:2px 0;
  transition:color .2s var(--rt-ease),transform .2s var(--rt-ease);
}
.public-body .public-footer .footer-col a:hover{color:#fff;transform:translateX(3px)}
.public-body .public-footer .footer-contact-lines{
  list-style:none;
  margin:16px 0 0;
  padding:0;
  display:grid;
  gap:6px;
  font-size:.9rem;
  color:#A8A2B6;
}
.public-body .public-footer .footer-contact-lines strong{color:#EDEAF3;font-weight:700}
.public-body .public-footer .footer-contact-lines a{color:#61CCE0}
.public-body .public-footer .footer-social-title{
  display:block;
  font-size:.7rem;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#8C86A0;
  margin-bottom:10px;
}
.public-body .public-footer .footer-social-mail{display:none}
.public-body .public-footer .footer-social-btn{
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  background:rgba(255,255,255,.03);
  transition:border-color .2s var(--rt-ease),background .2s var(--rt-ease),transform .2s var(--rt-ease);
}
.public-body .public-footer .footer-social-btn:hover{
  border-color:rgba(97,204,224,.5);
  background:rgba(97,204,224,.08);
  transform:translateY(-2px);
}
.public-body .public-footer .footer-bottom{
  border-top:1px solid rgba(255,255,255,.08);
  margin-top:44px;
  padding-top:24px;
  color:#7E7891;
  font-size:.82rem;
}
.public-body .public-footer .footer-legal-copy small{display:block;margin-top:5px;color:#6B657C}
.public-body .public-footer .footer-cookie-link{
  color:#B7B1C4;
  background:none;
  border:0;
  padding:2px 0;
  text-align:left;
  font:inherit;
  font-size:.92rem;
  cursor:pointer;
}
.public-body .public-footer .footer-cookie-link:hover{color:#fff}
@media(max-width:820px){
  .public-body .public-footer{padding:46px 0 22px}
  .public-body .public-footer .footer-grid{gap:30px}
}

/* ==========================================================================
   BOTÃO FLUTUANTE DO ESPECIALISTA
   ========================================================================== */
.public-body .career-expert-trigger{
  border-radius:999px;
  box-shadow:0 4px 10px rgba(47,27,77,.18), 0 18px 40px rgba(47,27,77,.26);
  transition:transform .22s var(--rt-ease),box-shadow .22s var(--rt-ease);
}
.public-body .career-expert-trigger:hover{
  transform:translateY(-2px);
  box-shadow:0 6px 14px rgba(47,27,77,.2), 0 24px 52px rgba(47,27,77,.32);
}
.public-body .career-expert-panel{
  border-radius:22px;
  border:1px solid var(--rt-hair);
  box-shadow:var(--rt-e3);
}

/* ==========================================================================
   PÁGINAS INTERNAS PÚBLICAS (planos, sobre, artigos)
   Mesmos fios de cabelo e mesmo relevo dos blocos da home.
   ========================================================================== */
.public-body .feature-card,
.public-body .module-card,
.public-body .panel,
.public-body .faq-item,
.public-body .auth-card{
  border:1px solid var(--rt-hair);
  border-radius:22px;
  box-shadow:var(--rt-e1), var(--rt-gloss);
}
.public-body .feature-card:hover,
.public-body .module-card:hover{
  border-color:var(--rt-hair-strong);
  box-shadow:var(--rt-e2);
}
.public-body .section-title p{line-height:1.62;color:#5F5A6E}
.public-body .btn{letter-spacing:-.01em;transition:transform .22s var(--rt-ease),box-shadow .22s var(--rt-ease),background .22s var(--rt-ease)}
.public-body .btn:active{transform:translateY(0) scale(.985)}

/* ==========================================================================
   MENOS MOVIMENTO
   ========================================================================== */
@media(prefers-reduced-motion:reduce){
  .public-body.rt-page .hero h1 em::after{animation:none;transform:none}
  .public-body *{transition-duration:.001ms !important}
  .public-body .rt-sobre-invite:hover,
  .public-body .path-compact-step:hover .path-compact-card,
  .public-body .btn-rt:hover,
  .public-body .footer-social-btn:hover{transform:none !important}
}


/* ==========================================================================
   ARTIGOS — uma só chamada para o diagnóstico, na caixa escura
   ========================================================================== */
/* a caixa clara repetida na lateral sai; a escura dentro do texto fica */
.public-body .article-aside .article-aside-card:not(.article-aside-soft){display:none}

.public-body .article-inline-cta{
  margin-top:36px;
  padding:clamp(26px,3.4vw,36px);
  border:1px solid rgba(255,255,255,.10);
  border-radius:26px;
  background:
    radial-gradient(120% 160% at 100% 0%,rgba(97,204,224,.18) 0%,rgba(97,204,224,0) 58%),
    #14101E;
  box-shadow:0 4px 12px rgba(0,0,0,.22), 0 28px 60px rgba(20,16,30,.30);
}
.public-body .article-inline-cta span{
  font-size:.68rem;letter-spacing:.16em;color:#61CCE0;
}
.public-body .article-inline-cta h2{
  font-size:clamp(1.18rem,1.9vw,1.48rem);
  letter-spacing:-.03em;line-height:1.22;
  margin:12px 0 10px;max-width:26ch;
}
.public-body .article-inline-cta p{
  color:rgba(255,255,255,.72);font-size:.93rem;line-height:1.6;max-width:52ch;
}
.public-body .article-inline-cta .btn-primary{
  background:#61CCE0 !important;color:#101014 !important;
  padding:15px 26px;
  box-shadow:0 4px 10px rgba(23,95,109,.18), 0 16px 34px rgba(97,204,224,.24);
}
.public-body .article-inline-cta .btn-primary:hover{background:#4FC3D9 !important;transform:translateY(-2px)}

/* fecho das páginas de conteúdo e da Sobre: mesma caixa escura, sem repetir */
.public-body .content-cta-card{
  border:1px solid rgba(255,255,255,.10);
  border-radius:28px;
  background:
    radial-gradient(110% 150% at 92% 0%,rgba(97,204,224,.20) 0%,rgba(97,204,224,0) 58%),
    #14101E;
  box-shadow:0 4px 12px rgba(0,0,0,.22), 0 30px 64px rgba(20,16,30,.30);
}
.public-body .content-cta-card .content-kicker{color:#61CCE0}
.public-body .content-cta-card h2{color:#fff;letter-spacing:-.03em;max-width:22ch}
.public-body .content-cta-card p{color:rgba(255,255,255,.72);max-width:56ch}
.public-body .content-cta-card .btn-primary{
  background:#61CCE0 !important;color:#101014 !important;
  box-shadow:0 4px 10px rgba(23,95,109,.18), 0 16px 34px rgba(97,204,224,.24);
}
.public-body .content-cta-card .btn-primary:hover{background:#4FC3D9 !important;transform:translateY(-2px)}

/* ==========================================================================
   SOBRE — refino leve: mesmos fios, mesmo relevo, hierarquia mais firme
   ========================================================================== */
.sobre-public-page .sobre-hero h1{letter-spacing:-.036em;line-height:1.08}
.sobre-public-page .sobre-lead{color:#55506A;line-height:1.66}

.sobre-public-page .sobre-item,
.sobre-public-page .sobre-publico,
.sobre-public-page .sobre-beneficio,
.sobre-public-page .sobre-ritual-grid article,
.sobre-public-page .sobre-numeros li,
.sobre-public-page .sobre-limites-card,
.sobre-public-page .sobre-quem-card,
.sobre-public-page .sobre-nota{
  border:1px solid var(--rt-hair);
  border-radius:22px;
  box-shadow:var(--rt-e1), var(--rt-gloss);
}
.sobre-public-page .sobre-item,
.sobre-public-page .sobre-publico,
.sobre-public-page .sobre-beneficio,
.sobre-public-page .sobre-ritual-grid article{
  transition:transform .24s var(--rt-ease),box-shadow .24s var(--rt-ease),border-color .24s var(--rt-ease);
}
.sobre-public-page .sobre-item:hover,
.sobre-public-page .sobre-publico:hover,
.sobre-public-page .sobre-beneficio:hover,
.sobre-public-page .sobre-ritual-grid article:hover{
  transform:translateY(-3px);
  border-color:rgba(97,204,224,.42);
  box-shadow:var(--rt-e2);
}
.sobre-public-page .sobre-quem-card{background:#fff}

/* etiquetas: menores, em caixa-alta, com fio no lugar de bloco pesado */
.sobre-public-page .sobre-publico-tag,
.sobre-public-page .sobre-ritual-tempo{
  background:#fff;
  border:1px solid var(--rt-hair-strong);
  color:#2F1B4D;
  font-size:.66rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  padding:7px 13px;
}
.sobre-public-page .sobre-saida,
.sobre-public-page .sobre-beneficio-tag{color:#175F6D;font-weight:700}

/* números do topo: valor em destaque, rótulo discreto */
.sobre-public-page .sobre-numeros strong{font-size:1.85rem;letter-spacing:-.045em}
.sobre-public-page .sobre-numeros span{color:#7A748A;font-size:.82rem}

/* as três chamadas do meio ficam quietas: só a do fim é forte */
.sobre-public-page .sobre-cta-inline{
  position:relative;
  overflow:hidden;
  background:#fff;
  border:1px solid var(--rt-hair);
  border-radius:22px;
  box-shadow:var(--rt-e1);
  padding:22px 26px;
}
.sobre-public-page .sobre-cta-inline::before{
  content:"";position:absolute;left:0;top:14px;bottom:14px;width:3px;border-radius:3px;
  background:linear-gradient(180deg,#2F1B4D,#61CCE0);
}
.sobre-public-page .sobre-cta-inline p{font-size:.98rem;font-weight:650;color:#2A2536}
.sobre-public-page .sobre-cta-inline .btn-primary{
  background:#fff !important;color:#2F1B4D !important;
  border:1px solid var(--rt-hair-strong);
  box-shadow:var(--rt-e1);
}
.sobre-public-page .sobre-cta-inline .btn-primary:hover{background:#2F1B4D !important;color:#fff !important;border-color:#2F1B4D}

/* preço: cartão limpo, valor em primeiro plano */
.sobre-public-page .sobre-preco-card{
  background:#fff;
  border:1px solid var(--rt-hair);
  border-radius:26px;
  box-shadow:var(--rt-e2), var(--rt-gloss);
}
.sobre-public-page .sobre-preco-card h2{letter-spacing:-.032em}
.sobre-public-page .sobre-preco-lista li::before{color:#175F6D}

@media(max-width:720px){
  .sobre-public-page .sobre-cta-inline{padding:20px 18px}
  .public-body .article-inline-cta{border-radius:22px;padding:22px 20px}
  .public-body .content-cta-card{border-radius:22px}
}

/* ============================================================
   14/08 — piso de alvo de toque no mobile
   Só amplia a área clicável dos links de texto. Não altera
   cor, peso, tamanho de fonte nem qualquer botão.
   ============================================================ */
@media(max-width:620px){
  .text-link,.entry-link,.mini-link,.linkedin-manual-link{
    display:inline-flex;align-items:center;min-height:44px;
  }
}
