/* Testes de segurança sob contrato: só o que ia-app.css não cobre. Coluna 80%, fonte proporcional. */
body{font-size:clamp(17px,1.3vw,32px)}
.tsec{padding:5em 10vw}
.tsec.alt{background:var(--mist)}
.tsec .th{max-width:44em}
.tsec h2{font-size:clamp(30px,3.2vw,70px);font-weight:400;letter-spacing:-.035em;line-height:1.1;margin:0 0 .5em}
.tsec h3{font-size:1.15em;font-weight:600;margin:0 0 .35em}
.tsec p,.tsec li{line-height:1.6}
.tsec .sub{color:var(--muted);max-width:44em}
.tgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(15em,1fr));gap:1.4em;margin-top:2em}
.tcard{border:1px solid var(--line);border-radius:14px;padding:1.4em;background:var(--bg,transparent)}
.tcard p{color:var(--muted);margin:0}
.tnota{margin-top:2em;padding-left:1em;border-left:3px solid var(--teal);color:var(--muted);max-width:50em}
.tsteps{counter-reset:s;list-style:none;margin:2em 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(13em,1fr));gap:1.4em}
.tsteps li{counter-increment:s;border-top:2px solid var(--teal);padding-top:.8em}
.tsteps li:before{content:counter(s,decimal-leading-zero);display:block;color:var(--teal);font-size:.85em}
.tsteps h3{margin:.2em 0 .3em}.tsteps p{margin:0;color:var(--muted)}
.tlevel{display:grid;grid-template-columns:repeat(auto-fit,minmax(18em,1fr));gap:1.6em;margin-top:2em}
.tlevel .tcard{display:flex;flex-direction:column;gap:.6em}
.tlevel .tag{font-size:.8em;color:var(--teal);text-transform:uppercase;letter-spacing:.08em}
.tlevel ul{margin:0;padding-left:1.1em;color:var(--muted)}
.tlevel dl{margin:0;display:grid;gap:.2em}.tlevel dt{font-size:.8em;color:var(--muted)}.tlevel dd{margin:0 0 .5em}
.tprice{font-size:1.5em;font-weight:600;letter-spacing:-.02em;margin-top:auto}
table.tcomp{width:100%;border-collapse:collapse;margin-top:2em}
.tcomp th,.tcomp td{text-align:left;padding:.9em .8em;border-bottom:1px solid var(--line);vertical-align:top}
.tcomp thead th{font-size:.8em;color:var(--muted);font-weight:500}
.tcomp tbody th{font-weight:600}
.tfaq{margin-top:2em;max-width:55em}
.tfaq details{border-bottom:1px solid var(--line);padding:1em 0}
.tfaq summary{cursor:pointer;font-weight:600}
.tfaq summary:focus-visible,.text-link:focus-visible,.button:focus-visible{outline:2px solid var(--aqua);outline-offset:3px}
.tfaq p{margin:.6em 0 0;color:var(--muted)}
.tmet dt{font-weight:600;margin-top:1em}.tmet dd{margin:0;color:var(--muted)}
.final-cta{padding-inline:10vw}
.t-scene{display:grid;place-items:center;min-height:360px}
.t-scene svg{width:100%;max-width:520px;height:auto}
.t-scene .shield{fill:var(--mist);stroke:var(--teal);stroke-width:5;stroke-linejoin:round}
.t-scene .chk{fill:none;stroke:var(--teal);stroke-width:9;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:120;animation:t-chk 6s ease-in-out infinite}
.t-scene .scan{fill:var(--aqua);opacity:.8;animation:t-scan 4.5s ease-in-out infinite}
@keyframes t-chk{0%,45%,100%{stroke-dashoffset:0}50%{stroke-dashoffset:120}65%{stroke-dashoffset:0}}
@keyframes t-scan{0%{transform:translateY(60px);opacity:0}15%,85%{opacity:.8}100%{transform:translateY(250px);opacity:0}}
@media(prefers-reduced-motion:reduce){.t-scene .scan{display:none}.t-scene .chk{animation:none}}
@media(max-width:900px){
 .tsec{padding:3.5em 16px}.final-cta{padding-inline:16px}
 .tcomp thead{position:absolute;left:-9999px}
 .tcomp tr,.tcomp td,.tcomp th{display:block}
 .tcomp tr{border-bottom:1px solid var(--line);padding:.8em 0}
 .tcomp td,.tcomp th{border:0;padding:.15em 0}
 .tcomp td[data-l]:before{content:attr(data-l) ": ";color:var(--muted)}
 .t-scene{min-height:240px}
}
main{overflow-x:clip}
