/* ============================================================
   PEÇAS — estilos dos componentes (componentes.mjs) + 404
   Paleta por tokens; prefixo ta- (o mesmo do site).
   ============================================================ */
.ta-wrap{max-width:1180px;margin:0 auto;padding:0 clamp(22px,5vw,72px)}
section[data-secao]{scroll-margin-top:calc(var(--tg-topo-h) + 6px)}

/* kicker em chip — texto pequeno legível sobre seções de cor cheia */
.ta-chip{display:inline-block;background:var(--tg-tinta);color:var(--tg-fundo);padding:8px 14px;border-radius:8px}

/* link editorial */
.ta-lnk{display:inline-flex;align-items:center;gap:8px;min-height:44px;font:600 13px/1.4 var(--tg-f-texto);letter-spacing:.1em;text-transform:uppercase;color:var(--tg-tinta);text-decoration:underline;text-underline-offset:5px;text-decoration-color:var(--tg-luz);text-decoration-thickness:2px}
.ta-lnk:hover{text-decoration-color:var(--tg-acento)}

/* firma (assinatura) */
.ta-firma{display:flex;flex-direction:column;gap:1px;margin:0}
.ta-firma-nome{font-family:var(--tg-f-titulo);font-style:italic;font-weight:500;font-size:27px;line-height:1.1}
.ta-firma-traco{width:190px;height:12px}

/* divisor de palavras — eco da frase entre blocos */
.ta-divisor{max-width:1180px;margin:0 auto;padding:clamp(36px,5.5vw,64px) clamp(22px,5vw,72px);font-family:var(--tg-f-titulo);font-weight:600;font-size:clamp(48px,10vw,150px);line-height:.98;letter-spacing:-.02em;color:var(--tg-tinta)}
.ta-divisor em{font-style:italic;color:var(--tg-acento)}

/* voz — citação monumental assinada */
.ta-voz{margin:0}
.ta-voz-q{margin:0;font-family:var(--tg-f-titulo);font-weight:500;font-style:italic;font-size:clamp(30px,4.6vw,56px);line-height:1.18}
.ta-voz-a{margin-top:22px;font:600 12px/1.5 var(--tg-f-texto);letter-spacing:.14em;text-transform:uppercase;opacity:.82}
.ta-voz-f{margin-top:18px}

/* carimbos em linha */
.ta-carimbos{list-style:none;margin:26px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px 0}
.ta-carimbos li{font:600 12px/1.5 var(--tg-f-texto);letter-spacing:.12em;text-transform:uppercase;padding:2px 18px;border-left:1px solid currentColor;opacity:.85}
.ta-carimbos li:first-child{padding-left:0;border-left:0}

/* selo Google + síntese */
.ta-selogo{display:inline-flex;align-items:center;gap:10px;min-height:44px;text-decoration:none;color:inherit}
.ta-selogo svg{color:var(--tg-luz);flex:none}
.ta-selogo span{font-size:14.5px}
.ta-selogo strong{font-family:var(--tg-f-titulo);font-size:19px}
.ta-prova{display:flex;flex-wrap:wrap;align-items:center;gap:8px 28px}
.ta-prova-s{margin:0;font-size:14.5px;color:rgba(55,50,42,.85);max-width:52ch}
.ta-prova-s a{text-underline-offset:3px}

/* quem cuida */
.ta-quem{background:var(--tg-fundo);padding:clamp(70px,9vw,120px) 0}
.ta-quem--apoio{background:var(--tg-apoio)}
.ta-quem-in{display:flex;gap:clamp(22px,3.5vw,44px);align-items:center}
.ta-quem-foto{width:clamp(96px,12vw,148px);height:auto;border-radius:16px;border:1px solid var(--tg-tinta);box-shadow:8px 12px 0 rgba(55,50,42,.18);flex:none}
.ta-quem .ta-caps{color:rgba(55,50,42,.78)}
.ta-quem-nome{margin:10px 0 6px;font-family:var(--tg-f-titulo);font-weight:600;font-size:clamp(26px,3vw,34px)}
.ta-quem-l{margin:4px 0;font-size:15.5px}
.ta-quem .ta-lnk{margin-top:12px}
@media (max-width:640px){.ta-quem-in{align-items:flex-start}}

/* FAQ */
.ta-faq{background:var(--tg-fundo);padding:clamp(70px,9vw,120px) 0}
.ta-faq--apoio{background:var(--tg-apoio)}
.ta-faq .ta-caps{color:rgba(55,50,42,.78)}
.ta-faq-lista{margin-top:30px;border-top:1px solid rgba(55,50,42,.22)}
.ta-faq-item{border-bottom:1px solid rgba(55,50,42,.22)}
.ta-faq-item summary{display:flex;align-items:center;gap:18px;cursor:pointer;list-style:none;padding:20px 0;min-height:44px}
.ta-faq-item summary::-webkit-details-marker{display:none}
.ta-faq-p{flex:1;font-family:var(--tg-f-titulo);font-weight:600;font-size:clamp(19px,2.2vw,24px);line-height:1.25}
.ta-faq-ico{position:relative;width:34px;height:34px;flex:none;border:1px solid rgba(55,50,42,.45);border-radius:50%}
.ta-faq-ico::before,.ta-faq-ico::after{content:"";position:absolute;top:50%;left:50%;background:currentColor}
.ta-faq-ico::before{width:12px;height:1.6px;transform:translate(-50%,-50%)}
.ta-faq-ico::after{width:1.6px;height:12px;transform:translate(-50%,-50%);transition:transform .3s ease}
.ta-faq-item[open] .ta-faq-ico::after{transform:translate(-50%,-50%) scaleY(0)}
.ta-faq-r{padding:2px 0 26px;max-width:66ch;font-size:16px;color:rgba(55,50,42,.92)}
.ta-faq-r p{margin:0 0 10px}

/* veja também */
.ta-veja{background:var(--tg-fundo);padding:clamp(60px,8vw,100px) 0}
.ta-veja--apoio{background:var(--tg-apoio)}
.ta-veja .ta-caps{color:rgba(55,50,42,.78)}
.ta-veja-lista{list-style:none;margin:24px 0 0;padding:0;border-top:1px solid rgba(55,50,42,.22)}
.ta-veja-lista a{display:flex;align-items:baseline;gap:22px;padding:15px 0;border-bottom:1px solid rgba(55,50,42,.22);text-decoration:none;min-height:44px}
.ta-veja-frag{font-family:var(--tg-f-titulo);font-style:italic;font-weight:500;font-size:clamp(22px,3vw,30px);transition:transform .3s cubic-bezier(.22,1,.36,1)}
.ta-veja-frag em{color:var(--tg-acento)}
.ta-veja-lista a:hover .ta-veja-frag,.ta-veja-lista a:focus-visible .ta-veja-frag{transform:translateX(8px)}
.ta-veja-menu{margin-left:auto;font:600 12px/1.4 var(--tg-f-texto);letter-spacing:.14em;text-transform:uppercase;color:rgba(55,50,42,.72);white-space:nowrap}

/* chamada final — frase completa em cor cheia champanhe */
.ta-final{position:relative;overflow:hidden;background:var(--tg-luz);color:var(--tg-tinta);padding:clamp(90px,12vw,160px) clamp(22px,5vw,72px) clamp(84px,10vw,140px)}
.ta-final-in{max-width:1080px;margin:0 auto}
.ta-final-k{color:rgba(55,50,42,.78)}
.ta-final-frase{margin:26px 0 0;font-family:var(--tg-f-titulo);font-weight:600;font-size:clamp(38px,6.8vw,92px);line-height:1.08;letter-spacing:-.01em;max-width:16ch}
.ta-final-frase .ta-it{font-style:italic}
.ta-fx{display:inline-block;transition:opacity .5s ease,transform .55s cubic-bezier(.22,1,.36,1)}
.ta-monta-on .ta-fx{opacity:.14;transform:translateY(.18em)}
.ta-monta-on .ta-fx.ta-feita{opacity:1;transform:none}
.ta-final-vamos{margin:44px 0 0;font-family:var(--tg-f-titulo);font-style:italic;font-weight:500;font-size:clamp(20px,2.4vw,26px)}
.ta-final-cta{display:inline-flex;align-items:center;justify-content:center;min-height:58px;margin-top:16px;padding:0 34px;background:var(--tg-tinta);color:var(--tg-fundo);border-radius:12px;font:600 16px/1 var(--tg-f-texto);text-decoration:none;transition:transform .18s ease}
.ta-final-cta:hover{transform:translateY(-2px)}
.ta-final-micro{margin:16px 0 0;font-size:13.5px;color:rgba(55,50,42,.82)}
@media (prefers-reduced-motion:reduce){.ta-monta-on .ta-fx{opacity:1;transform:none}}

/* ---------- 404 — a frase com "confiança" faltando ---------- */
.ta-404{position:relative;min-height:100svh;display:flex;align-items:center;background:var(--tg-fundo);padding:calc(var(--tg-topo-h) + 48px) clamp(22px,5vw,72px) 90px;overflow:clip}
.ta-404-in{max-width:1180px;width:100%;margin:0 auto}
.ta-404-k{color:rgba(55,50,42,.78)}
.ta-404-frase{margin:20px 0 0;font-family:var(--tg-f-titulo);font-weight:600;font-size:clamp(34px,6.2vw,84px);line-height:1.12;max-width:19ch}
.ta-404-frase em{font-style:italic;color:var(--tg-acento)}
.ta-404-vao{display:inline-block;min-width:5.4ch;padding:0 .14em;border:2px dashed rgba(125,122,91,.55);border-radius:.16em;vertical-align:baseline;transition:background .25s ease,border-color .25s ease}
.ta-404-dentro{font-style:italic;color:var(--tg-acento);transition:opacity .3s ease}
.ta-404--jogo .ta-404-dentro{opacity:0}
.ta-404-alvo{border-color:var(--tg-acento);border-style:solid;background:rgba(217,196,154,.4)}
.ta-404-solta{display:none;position:absolute;left:6%;bottom:12%;z-index:4;font-family:var(--tg-f-titulo);font-style:italic;font-weight:600;font-size:clamp(24px,4vw,40px);line-height:1.1;color:var(--tg-acento);background:#fff;border:1.5px solid var(--tg-acento);border-radius:.18em;padding:.1em .34em;cursor:grab;box-shadow:8px 12px 0 rgba(55,50,42,.16);touch-action:none;-webkit-user-select:none;user-select:none;min-height:44px}
.ta-404--jogo .ta-404-solta{display:inline-block}
.ta-404-dica{margin:26px 0 0;font-size:15px;color:rgba(55,50,42,.75);max-width:46ch}
.ta-404--pronta .ta-404-dica{display:none}
.ta-404-acoes{margin:30px 0 0}
.ta-404-voltar{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 30px;background:var(--tg-tinta);color:var(--tg-fundo);border-radius:12px;font:600 15px/1 var(--tg-f-texto);text-decoration:none;opacity:.45;transition:opacity .3s ease,transform .18s ease}
.ta-404-voltar:hover{transform:translateY(-2px)}
.ta-404--pronta .ta-404-voltar{opacity:1}
.ta-404-mapas{margin-top:44px;border-top:1px solid rgba(55,50,42,.2);padding-top:22px;max-width:720px}
.ta-404-mapas .ta-caps{color:rgba(55,50,42,.72)}
.ta-404-mapas ul{list-style:none;display:flex;flex-wrap:wrap;gap:6px 26px;margin:12px 0 0;padding:0}
.ta-404-mapas a{display:inline-flex;align-items:center;min-height:44px;font-family:var(--tg-f-titulo);font-weight:500;font-size:20px;text-decoration:underline;text-underline-offset:5px;text-decoration-color:var(--tg-luz);text-decoration-thickness:2px}
.ta-404-mapas a:hover{text-decoration-color:var(--tg-acento)}
@media (max-width:760px){.ta-404-solta{left:5%;bottom:16%}}

/* guarda: a barra fixa do celular não cobre o rodapé nem o crédito */
@media (max-width:760px){.ta-rodape-base{padding-bottom:104px}}
