/* ==========================================================================
   v5 — Alcance & Propósito (#publico), reconstruída do zero.
   Todas as classes são novas (prefixo rt-), então nenhuma regra antiga
   (v1–v4) interfere. Movimento: rápido, sem blur, ícones sempre visíveis.
   ========================================================================== */

#publico.rt{
  --rt-gold:#e8c877;
  --rt-gold-soft:#c9a24b;
  --rt-ink:#f3ead9;
  --rt-dim:#b4ac9e;
  --rt-ease:cubic-bezier(.2,.75,.2,1);
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:clamp(72px,8vw,120px) 0 clamp(80px,8.5vw,128px);
  background:
    radial-gradient(ellipse 70% 45% at 50% -8%, rgba(232,200,119,.14), transparent 70%),
    radial-gradient(ellipse 45% 40% at 0% 70%, rgba(120,70,30,.18), transparent 70%),
    radial-gradient(ellipse 45% 40% at 100% 85%, rgba(70,45,90,.18), transparent 70%),
    #0a0a0e;
  border-top:1px solid rgba(232,200,119,.22);
  border-bottom:1px solid rgba(232,200,119,.14);
}

/* ---------- Fumaça (canvas) ---------- */
#publico .rt-smoke{
  position:absolute;inset:0;width:100%;height:100%;
  z-index:0;pointer-events:none;display:block;
  -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 14%,#000 86%,transparent 100%);
          mask-image:linear-gradient(180deg,transparent 0,#000 14%,#000 86%,transparent 100%);
}
#publico .rt-inner{
  position:relative;z-index:1;
  width:min(1180px,calc(100% - 64px));
  margin:0 auto;
}

/* ---------- Cabeçalho ---------- */
#publico .rt-head{text-align:center;max-width:960px;margin:0 auto clamp(40px,5vw,64px)}
#publico .rt-eyebrow{
  display:flex;align-items:center;justify-content:center;gap:14px;
  margin:0 0 22px;
  font-family:'Cinzel',serif;font-weight:600;font-size:.8rem;letter-spacing:.2em;
  color:var(--rt-gold);
}
#publico .rt-rule{display:block;width:clamp(26px,5vw,60px);height:1px;background:linear-gradient(90deg,transparent,var(--rt-gold))}
#publico .rt-rule:last-child{transform:scaleX(-1)}
#publico .rt-head h2{
  margin:0;
  font-family:'Cinzel',serif;font-weight:600;
  font-size:clamp(2.1rem,5.2vw,4.5rem);line-height:1.08;letter-spacing:-.005em;
  color:var(--rt-ink);text-wrap:balance;
}
#publico .rt-line{display:block;overflow:hidden;padding:.04em 0 .1em}
#publico .rt-line>span{display:block}
#publico .rt-gold>span,
#publico .rt-gold-text{
  background:linear-gradient(100deg,#f7e2a6 0%,#d9b25a 35%,#ffe3a4 55%,#c9a24b 100%);
  background-size:220% 100%;
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
}
#publico .rt-lead{
  max-width:640px;margin:22px auto 0;
  color:var(--rt-dim);font-size:clamp(.95rem,1.25vw,1.06rem);line-height:1.8;
}

/* ---------- Ícones (estáveis: nunca mudam de opacidade/3D) ---------- */
#publico .rt-ico{
  position:relative;flex:none;
  width:72px;height:72px;border-radius:50%;
  display:grid;place-items:center;
  color:#f2d68d;
  background:radial-gradient(circle at 50% 30%,#2b251a 0%,#15130f 72%);
  border:1px solid rgba(232,200,119,.4);
  box-shadow:inset 0 1px 0 rgba(255,238,190,.2),0 10px 28px rgba(0,0,0,.5);
  transition:box-shadow .3s ease,border-color .3s ease;
}
#publico .rt-ico::after{ /* arco dourado em órbita */
  content:"";position:absolute;inset:-6px;border-radius:50%;
  border:1.5px solid transparent;
  border-top-color:rgba(255,226,150,.8);
  border-right-color:rgba(255,226,150,.18);
  animation:rt-orbit 7s linear infinite;
}
#publico .rt-ico svg{
  width:34px;height:34px;overflow:visible;
  fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;
}
#publico .rt-ico--sm{width:64px;height:64px}
#publico .rt-ico--sm svg{width:30px;height:30px}
#publico .rt-stat:hover .rt-ico,
#publico .rt-step:hover .rt-ico{border-color:rgba(255,226,150,.7);box-shadow:inset 0 1px 0 rgba(255,238,190,.3),0 0 30px rgba(232,200,119,.22),0 10px 28px rgba(0,0,0,.5)}

#publico .rt-ico svg *{transform-box:fill-box;transform-origin:center}

/* micro-animações por ícone — só transform, sempre visíveis */
#publico .ig-dot{animation:rt-pulse 2.6s ease-in-out infinite}
#publico .note{animation:rt-bob 2.8s ease-in-out infinite}
#publico .wave{opacity:.55;animation:rt-wave 2.2s ease-in-out infinite}
#publico .wave.w2{animation-delay:.35s}
#publico .play{animation:rt-pulse 2.4s ease-in-out infinite}
#publico .mer{animation:rt-spin-globe 5.2s ease-in-out infinite}
#publico .mer.m2{animation-delay:-2.6s}
#publico .rt-ico svg .fe-rays{opacity:.6;transform-box:view-box;transform-origin:16px 16px;animation:rt-turn 26s linear infinite}
#publico .shield{animation:rt-breathe 3.4s ease-in-out infinite}
#publico .sun{animation:rt-rise 4.4s ease-in-out infinite}
#publico .sun-rays{opacity:.6;animation:rt-rays 4.4s ease-in-out infinite}

@keyframes rt-orbit{to{transform:rotate(360deg)}}
@keyframes rt-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.18)}}
@keyframes rt-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-1.6px)}}
@keyframes rt-wave{0%,100%{opacity:.45}50%{opacity:1}}
@keyframes rt-spin-globe{0%,100%{transform:scaleX(1)}50%{transform:scaleX(.18)}}
@keyframes rt-turn{to{transform:rotate(360deg)}}
@keyframes rt-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.07)}}
@keyframes rt-rise{0%,100%{transform:translateY(1.6px)}50%{transform:translateY(-1.4px)}}
@keyframes rt-rays{0%,100%{opacity:.5}50%{opacity:1}}

/* ---------- Indicadores ---------- */
#publico .rt-stats{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  position:relative;
  border:1px solid rgba(232,200,119,.24);
  border-radius:22px;
  background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.012));
  box-shadow:0 30px 70px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,240,200,.07);
}
#publico .rt-stats::before{ /* fio dourado no topo */
  content:"";position:absolute;left:12%;right:12%;top:-1px;height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,226,150,.85),transparent);
}
#publico .rt-stat{
  display:flex;flex-direction:column;align-items:center;text-align:center;
  padding:clamp(26px,3vw,38px) clamp(14px,1.8vw,26px) clamp(22px,2.4vw,30px);
  transition:background .3s ease;
}
#publico .rt-stat+.rt-stat{border-left:1px solid rgba(232,200,119,.14)}
#publico .rt-stat:hover{background:rgba(232,200,119,.035)}
#publico .rt-num{
  margin:22px 0 0;
  font-family:'Cinzel',serif;font-weight:600;
  font-size:clamp(2.2rem,3.6vw,3.2rem);line-height:1;
  background:linear-gradient(180deg,#fff3c4 0%,#f0cc6e 50%,#b98a35 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;
  font-variant-numeric:lining-nums tabular-nums;
}
#publico .rt-label{margin:12px 0 0;max-width:20ch;color:#d0c7b7;font-size:.9rem;line-height:1.45}
#publico .rt-foot{
  margin:16px 0 0;padding-top:14px;width:70%;
  border-top:1px solid rgba(232,200,119,.16);
  color:var(--rt-gold-soft);font-size:.74rem;letter-spacing:.08em;
}

/* ---------- Propósito ---------- */
#publico .rt-purpose{
  display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);
  gap:clamp(36px,6vw,92px);align-items:center;
  margin-top:clamp(56px,7vw,104px);
}
#publico .rt-purpose-text h2{
  margin:0;font-family:'Cinzel',serif;font-weight:600;
  font-size:clamp(1.9rem,3.2vw,3.1rem);line-height:1.14;color:var(--rt-ink);text-wrap:balance;
}
#publico .rt-lead--left{margin:22px 0 0;max-width:46ch;text-align:left}
#publico .rt-quote{
  margin:28px 0 0;padding:4px 0 4px 20px;
  border-left:2px solid rgba(232,200,119,.55);
}
#publico .rt-quote p{
  margin:0;max-width:40ch;
  font-family:'Cinzel',serif;font-size:.98rem;line-height:1.65;color:#e4dac7;
}

/* trilha: Fé → Enfrentamento → Restauração */
#publico .rt-path{
  position:relative;list-style:none;margin:0;padding:0;
  display:grid;gap:var(--rt-gap);--rt-gap:clamp(24px,3vw,36px);
}
#publico .rt-step{
  position:relative;z-index:1;
  display:grid;grid-template-columns:64px minmax(0,1fr);gap:22px;align-items:start;
}
#publico .rt-step:not(:last-child)::before,
#publico .rt-step:not(:last-child)::after{
  content:"";position:absolute;left:31.5px;top:64px;width:1px;
  height:calc(100% - 64px + var(--rt-gap));
}
#publico .rt-step:not(:last-child)::before{background:rgba(232,200,119,.16)}
#publico .rt-step:not(:last-child)::after{
  background:linear-gradient(180deg,rgba(255,226,150,.9),rgba(232,200,119,.4));
  transform-origin:top;
}
#publico .rt-step-body{padding-top:2px}
#publico .rt-step-kicker{margin:0;color:var(--rt-gold-soft);font-size:.78rem;letter-spacing:.1em}
#publico .rt-step h3{
  margin:4px 0 8px;font-family:'Cinzel',serif;font-weight:600;
  font-size:clamp(1.15rem,1.7vw,1.4rem);color:#f5ecd9;
}
#publico .rt-step-body>p:last-child{margin:0;max-width:44ch;color:var(--rt-dim);font-size:.93rem;line-height:1.7}

/* ---------- Revelação rápida (só ativa quando o JS marca .rt-js) ---------- */
#publico.rt-js [data-rt]{
  opacity:0;transform:translate3d(0,14px,0);
  transition:opacity .45s var(--rt-ease),transform .45s var(--rt-ease);
  transition-delay:calc(var(--i,0) * 80ms);
}
#publico.rt-js [data-rt].is-in{opacity:1;transform:none}

#publico.rt-js .rt-head .rt-line>span{
  transform:translate3d(0,108%,0);
  transition:transform .6s var(--rt-ease);
}
#publico.rt-js .rt-head .rt-line:nth-child(2)>span{transition-delay:.09s}
#publico.rt-js .rt-head.is-in .rt-line>span{transform:none}
#publico.rt-js .rt-head.is-in .rt-gold>span{animation:rt-sheen 1.6s ease-out .5s 1 both}
@keyframes rt-sheen{from{background-position:100% 0}to{background-position:0 0}}
#publico.rt-js .rt-head.is-in .rt-gold>span{background-position:0 0}

#publico.rt-js .rt-step:not(:last-child)::after{
  transform:scaleY(0);
  transition:transform .6s var(--rt-ease) calc(var(--i,0) * 80ms + .3s);
}
#publico.rt-js .rt-step.is-in:not(:last-child)::after{transform:scaleY(1)}

/* ---------- Responsivo ---------- */
@media (max-width:1000px){
  #publico .rt-purpose{grid-template-columns:1fr;gap:44px}
  #publico .rt-purpose-text{max-width:640px}
}
@media (max-width:860px){
  #publico .rt-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  #publico .rt-stat:nth-child(odd){border-left:0}
  #publico .rt-stat:nth-child(n+3){border-top:1px solid rgba(232,200,119,.14)}
}
@media (max-width:560px){
  #publico .rt-inner{width:calc(100% - 32px)}
  #publico .rt-eyebrow{font-size:.7rem;letter-spacing:.16em;gap:10px}
  #publico .rt-stat{padding:24px 10px 20px}
  #publico .rt-ico{width:60px;height:60px}
  #publico .rt-ico svg{width:28px;height:28px}
  #publico .rt-label{font-size:.8rem}
  #publico .rt-foot{font-size:.68rem;width:80%}
  #publico .rt-step{grid-template-columns:56px minmax(0,1fr);gap:16px}
  #publico .rt-ico--sm{width:56px;height:56px}
  #publico .rt-step:not(:last-child)::before,#publico .rt-step:not(:last-child)::after{left:27.5px;top:56px;height:calc(100% - 56px + var(--rt-gap))}
}

/* ---------- Movimento reduzido ---------- */
@media (prefers-reduced-motion:reduce){
  #publico .rt-ico::after,#publico .rt-ico svg *{animation:none!important}
  #publico.rt-js [data-rt],#publico.rt-js .rt-line>span{opacity:1!important;transform:none!important;transition:none!important}
  #publico.rt-js .rt-step::after{transform:none!important;transition:none!important}
}
