/* v19: camada visual e interativa sobre a v18. Não altera textos nem a logo. */

/* Barra de progresso de leitura */
.progresso{position:fixed;top:0;left:0;height:3px;width:100%;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,var(--salvia-escuro),var(--salvia),var(--salvia-claro));z-index:100;pointer-events:none}

/* Abertura: título maior, brilho sutil atrás do painel */
.hero h1{font-size:clamp(2.6rem,6.4vw,5.2rem);letter-spacing:-.04em;line-height:1.02}
.hero h1 .t1{background:linear-gradient(180deg,#ffffff 30%,#c9d4da 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.painel-hero{position:relative}
.painel-hero::before{content:"";position:absolute;inset:-10% -8%;z-index:-1;background:radial-gradient(closest-side,rgba(122,176,140,.22),transparent 70%);filter:blur(10px);animation:respira 6s ease-in-out infinite}
@keyframes respira{0%,100%{opacity:.55;transform:scale(1)}50%{opacity:1;transform:scale(1.06)}}

/* Cards com brilho que segue o cursor */
.bloco,.dif-grade article,.tres article,.bento>.bloco{position:relative;overflow:hidden}
.bloco::after,.dif-grade article::after,.tres article::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(360px circle at var(--mx,50%) var(--my,50%),rgba(122,176,140,.13),transparent 60%);opacity:0;transition:opacity .35s}
.bloco:hover::after,.dif-grade article:hover::after,.tres article:hover::after{opacity:1}
.dif-grade article,.tres article{transition:transform .35s cubic-bezier(.2,.7,.2,1),border-color .3s}
.dif-grade article:hover,.tres article:hover{transform:translateY(-4px);border-color:var(--salvia-escuro)}

/* Títulos de seção maiores e com contador visual */
.secao .titulo{font-size:clamp(2.3rem,5.4vw,4.2rem)}

/* Links com sublinhado animado */
.rodape-links a,.vias a{background:linear-gradient(var(--salvia),var(--salvia)) no-repeat 0 100%/0 1px;transition:background-size .35s;text-decoration:none}
.rodape-links a:hover,.vias a:hover{background-size:100% 1px}

/* Seleção de texto */
::selection{background:var(--salvia);color:var(--tinta)}

/* Simulador do Funrural */
.simulador{position:relative;overflow:hidden}
.simulador .kicker{font-family:var(--mono);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--salvia-claro);margin-bottom:14px}
.sim{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,56px);margin-top:44px;align-items:start}
.sim-ctrl,.sim-out{background:var(--card);border:1px solid var(--ln);border-radius:16px;padding:clamp(22px,3vw,34px)}
.seg{border:0;margin-bottom:26px}
.seg legend{font-family:var(--mono);font-size:.8rem;color:var(--sub);margin-bottom:12px;letter-spacing:.04em}
.seg label{position:relative;display:inline-flex;margin-right:10px;cursor:pointer}
.seg input{position:absolute;opacity:0;pointer-events:none}
.seg span{padding:11px 18px;border:1px solid #3a4651;border-radius:999px;font-size:.95rem;transition:all .25s}
.seg input:checked+span{background:var(--salvia);border-color:var(--salvia);color:var(--tinta);font-weight:600}
.seg input:focus-visible+span{outline:2px solid var(--salvia);outline-offset:3px}
.campo{display:grid;gap:10px;font-size:.95rem;color:var(--sub)}
.campo input[type=number]{width:100%;padding:14px 16px;background:var(--grafite);color:var(--txt);border:1px solid var(--ln);border-radius:10px;font:600 1.5rem var(--mono);font-variant-numeric:tabular-nums}
.campo input[type=number]:focus{outline:none;border-color:var(--salvia)}
#sim-range{width:100%;margin-top:22px;accent-color:var(--salvia);height:6px}
.sim-out>div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:14px 0;border-bottom:1px solid var(--ln)}
.sim-out small{font-family:var(--mono);font-size:.78rem;color:var(--sub);letter-spacing:.03em}
.sim-out b{font-family:var(--mono);font-size:clamp(1.3rem,2.6vw,1.9rem);font-weight:600;font-variant-numeric:tabular-nums;color:var(--txt)}
.sim-out .dif b{color:var(--salvia-claro)}
.barras{display:grid;gap:10px;margin:22px 0 6px}
.barras i{display:block;height:12px;border-radius:6px;background:var(--salvia);width:0;transition:width .6s cubic-bezier(.2,.7,.2,1)}
.barras i.antes{background:#3a4651}
.sim-out .fonte{display:block;border:0;padding:0;margin-top:18px;font-size:.84rem;color:var(--sub);line-height:1.5}

/* Foco visível e alvos de toque maiores */
.simulador input[type=range]{min-height:32px}

/* Respeita quem pede menos movimento */
@media (prefers-reduced-motion: reduce){
  .painel-hero::before{animation:none}
  .dif-grade article,.tres article,.barras i{transition:none}
  .progresso{display:none}
}

@media (max-width:900px){
  .sim{grid-template-columns:1fr}
  .hero h1{font-size:clamp(2.2rem,9vw,3.2rem)}
}

/* ===== Inovação: contagem regressiva ===== */
.contagem{background:linear-gradient(90deg,#0e1217,#16202a 50%,#0e1217);border-bottom:1px solid #27313b}
.contagem .wrap{display:grid;grid-template-columns:1fr 1fr;gap:6px 40px;padding:22px 0;text-align:center}
.contagem span{display:block;font-family:var(--mono);font-size:.78rem;letter-spacing:.06em;color:#93a1ac;text-transform:uppercase}
.contagem b{display:block;font-family:var(--mono);font-size:clamp(1.6rem,3.6vw,2.4rem);font-weight:600;color:var(--salvia-claro);font-variant-numeric:tabular-nums;margin-top:4px}
@media (max-width:640px){.contagem .wrap{grid-template-columns:1fr;gap:18px}}

/* ===== Inovação: diagnóstico rápido ===== */
.diag .kicker{font-family:var(--mono);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--salvia-escuro);margin-bottom:14px}
.diag-box{margin-top:44px;display:grid;gap:18px}
.passo{background:var(--card);border:1px solid var(--ln);border-radius:16px;padding:clamp(20px,3vw,30px);transition:opacity .4s,transform .4s}
.passo[hidden]{display:none}
.passo h3{font-size:1.2rem;margin-bottom:16px}
.opcoes{display:flex;flex-wrap:wrap;gap:12px}
.opcoes button{font:inherit;font-weight:500;padding:14px 22px;border-radius:999px;border:1px solid rgba(255,255,255,.28);background:transparent;color:#ffffff;cursor:pointer;transition:all .25s}
.opcoes button:hover{border-color:var(--salvia-claro);color:var(--salvia-claro)}
.opcoes button[aria-pressed=true]{background:var(--salvia);border-color:var(--salvia);color:#0d1117}
.opcoes button:focus-visible{outline:2px solid var(--salvia-escuro);outline-offset:3px}
.resultado{background:var(--tinta);color:#e6ebef;border-radius:16px;padding:clamp(24px,3.5vw,38px)}
.resultado h3{font-size:1.4rem;margin-bottom:14px;color:#fff}
.resultado ul{list-style:none;display:grid;gap:14px}
.resultado li{padding-left:22px;position:relative;color:#c3ced6;line-height:1.55}
.resultado li::before{content:"";position:absolute;left:0;top:.6em;width:8px;height:8px;border-radius:50%;background:var(--salvia)}
.resultado .aviso{margin-top:18px;font-size:.84rem;color:#93a1ac}
.resultado .btn{margin-top:22px}
.resultado .btn-main{background:var(--salvia);color:var(--tinta)}
.resultado .btn-main:hover{background:#fff;color:var(--tinta)}
