/* ADEX ONE · página de diagnóstico */
.diag{position:relative;padding:calc(7.5rem + env(safe-area-inset-top,0px)) var(--m) clamp(4rem,8vw,7rem)}
.diag-fundo{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.diag .lam{position:absolute;top:-20%;bottom:-20%;left:38%;width:clamp(60px,8vw,120px);background:linear-gradient(180deg,transparent,rgba(79,117,96,.14) 45%,transparent);transform:skewX(-29deg);pointer-events:none}
.diag-w{position:relative;max-width:77.5rem;margin:0 auto;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(3rem,7vw,7rem);align-items:start}
.diag-txt{position:sticky;top:7.5rem}
.diag h1{font-weight:900;font-size:clamp(2.3rem,4.6vw,4.4rem);line-height:.94;letter-spacing:-.05em;max-width:13ch;margin-top:1rem}
.diag .apoio{color:var(--cinza);font-size:clamp(1rem,1.25vw,1.15rem);line-height:1.6;max-width:40ch;margin-top:1.4rem}
.depois{margin-top:clamp(2.2rem,4vw,3.2rem);border-top:1px solid var(--linha);padding-top:1.4rem}
.depois h2{font-size:.72rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--cinza)}
.depois ol{list-style:none;margin-top:1rem;position:relative}
.depois ol::before{content:"";position:absolute;left:15px;top:16px;bottom:16px;width:1px;background:var(--linha)}
.depois li{position:relative;display:grid;grid-template-columns:32px 1fr;gap:1rem;padding:.6rem 0;line-height:1.5;color:#cfccc5;font-size:.98rem}
.depois .n{width:32px;height:32px;display:grid;place-items:center;background:var(--g2);border:1px solid var(--linha);font-size:.8rem;font-weight:700;color:var(--off);position:relative;z-index:1}
.depois li:first-child .n{background:var(--verde);border-color:var(--vc)}
.depois li span:last-child{padding-top:.3rem}

/* formulário */
.form{position:relative;background:#0f0f0f;border:1px solid var(--linha);padding:clamp(1.5rem,3.2vw,2.75rem);clip-path:polygon(0 0,calc(100% - 26px) 0,100% 45px,100% 100%,0 100%)}
.form::before{content:"";position:absolute;right:0;top:0;width:26px;height:45px;background:linear-gradient(to bottom left,transparent calc(50% - 1px),var(--linha) calc(50% - 1px),var(--linha) calc(50% + 0px),transparent calc(50% + 0px));pointer-events:none}
.campos{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem 1.75rem}
.campo{position:relative;display:flex;flex-direction:column;min-width:0}
.campo.cheio,.form fieldset{grid-column:1/-1}
.campo label,.form legend{font-size:.85rem;font-weight:600;color:var(--off);margin-bottom:.45rem;display:flex;gap:.4rem;align-items:baseline}
.op{font-weight:400;color:var(--cinza);font-size:.78rem}
.campo input,.campo textarea{font:inherit;font-size:1.0625rem;color:var(--off);background:transparent;border:0;border-bottom:1px solid #3a3a3a;border-radius:0;padding:.7rem 0 .75rem;width:100%;transition:border-color .3s;-webkit-appearance:none;appearance:none}
.campo textarea{resize:vertical;min-height:6.5rem;line-height:1.5}
.campo input::placeholder,.campo textarea::placeholder{color:#5c5c5c;opacity:1}
.campo input:hover,.campo textarea:hover{border-color:#555}
.campo input:focus,.campo textarea:focus{outline:none;border-bottom-color:var(--vc);box-shadow:0 1px 0 var(--vc)}
.campo input:-webkit-autofill{-webkit-text-fill-color:var(--off);-webkit-box-shadow:0 0 0 100px #0f0f0f inset;caret-color:var(--off)}
.erro-m{display:none;align-items:center;gap:.5rem;font-size:.82rem;color:var(--off);margin-top:.55rem;line-height:1.35}
.erro-m::before{content:"";flex:none;width:6px;height:12px;background:var(--off);transform:skewX(-29deg)}
.campo.invalido .erro-m,.aceite.invalido .erro-m{display:flex}
.campo.invalido input,.campo.invalido textarea{border-bottom:3px solid var(--off);padding-bottom:calc(.75rem - 2px);background:rgba(244,242,237,.035)}
.campo.invalido label{color:var(--off)}
.campo.invalido .op{color:var(--off)}
.erro-m{font-weight:600}
.treme{animation:treme .45s var(--ease) 1}
@keyframes treme{20%{transform:translateX(-7px)}40%{transform:translateX(6px)}60%{transform:translateX(-4px)}80%{transform:translateX(2px)}}
.faltam{grid-column:1/-1;position:relative;border:1px solid var(--off);background:rgba(244,242,237,.06);padding:1rem 1.2rem 1rem 2.4rem;font-size:.95rem;line-height:1.55;color:var(--off)}
.faltam[hidden]{display:none}
.faltam::before{content:"";position:absolute;left:1.1rem;top:1.2rem;width:7px;height:14px;background:var(--off);transform:skewX(-29deg)}
.faltam b{font-weight:700}
.faltam button{font:inherit;font-weight:600;color:var(--off);background:none;border:0;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--vc)}
.faltam button:hover{text-decoration-color:var(--off)}
.form fieldset{border:0;min-width:0}
.chips{display:flex;flex-wrap:wrap;gap:.6rem}
.chip{position:relative;cursor:pointer}
.chip input{position:absolute;opacity:0;width:1px;height:1px}
.chip span{display:inline-flex;align-items:center;gap:.6rem;padding:.75rem 1.1rem .75rem .95rem;font-size:.95rem;font-weight:600;border:1px solid #3a3a3a;color:#cfccc5;transition:background .3s,border-color .3s,color .3s;user-select:none;-webkit-user-select:none}
.chip span::before{content:"";width:12px;height:12px;border:1px solid #555;flex:none;transition:background .3s,border-color .3s}
.chip:hover span{border-color:#666;color:var(--off)}
.chip input:checked+span{background:var(--verde);border-color:var(--vl);color:var(--off)}
.chip input:checked+span::before{background:var(--off);border-color:var(--off);clip-path:polygon(14% 52%,0 66%,38% 100%,100% 22%,86% 8%,38% 72%)}
.chip input:focus-visible+span{outline:2px solid var(--vc);outline-offset:3px}
.aceite{grid-column:1/-1}
.aceite label{display:grid;grid-template-columns:22px 1fr;gap:.8rem;align-items:start;font-size:.9rem;line-height:1.5;color:#cfccc5;cursor:pointer}
.aceite input{appearance:none;-webkit-appearance:none;width:20px;height:20px;margin-top:.1rem;border:1px solid #555;background:transparent;cursor:pointer;transition:background .3s,border-color .3s;position:relative}
.aceite input:checked{background:var(--verde);border-color:var(--vl)}
.aceite input:checked::after{content:"";position:absolute;inset:4px;background:var(--off);clip-path:polygon(14% 52%,0 66%,38% 100%,100% 22%,86% 8%,38% 72%)}
.aceite.invalido input{border-color:var(--off);border-width:2px}
.aceite a{color:var(--off);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--vl)}
.aceite a:hover{text-decoration-color:var(--vc)}
.aceite .erro-m{margin-left:calc(22px + .8rem)}
.mel{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.enviar{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;margin-top:.5rem}
.form .btn-p{border:0;cursor:pointer;font-family:inherit}
.form .btn-p[disabled]{cursor:progress;color:var(--off)}
.form .btn-p[disabled]::before{transform:translateX(0) skewX(-29deg)}
.form .btn-p[disabled] .seta{animation:vai 1s var(--ease) infinite}
@keyframes vai{0%{transform:translateX(-4px);opacity:.3}50%{opacity:1}100%{transform:translateX(6px);opacity:.3}}
.status{font-size:.88rem;color:var(--cinza);min-height:1.2em}
.falha{grid-column:1/-1;display:none;border:1px solid #3a3a3a;border-left:3px solid var(--off);padding:1.1rem 1.25rem;font-size:.95rem;line-height:1.5}
.falha.mostra{display:block}
.falha [hidden]{display:none!important}
.falha .acoes{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.9rem}
.falha .btn{font-size:.9rem;padding:.85rem 1.2rem}
.form[data-rev]{transition-delay:.12s}
@media(max-width:1000px){.diag-w{display:flex;flex-direction:column;gap:0}.diag-txt{display:contents}.diag h1{max-width:16ch}.diag .lam{left:auto;right:6%}
  .form{order:2;margin-top:2.2rem}.depois{order:3;margin-top:2.75rem}}
@media(max-width:640px){.campos{grid-template-columns:1fr;gap:1.35rem}.diag{padding-top:calc(6.2rem + env(safe-area-inset-top,0px))}
  .form{padding:1.4rem 1.15rem 1.6rem;clip-path:polygon(0 0,calc(100% - 18px) 0,100% 32px,100% 100%,0 100%)}.form::before{width:18px;height:32px}
  .enviar .btn-p{width:100%;justify-content:space-between;font-size:.95rem;padding:1.05rem 1.2rem;gap:.6rem}.form legend{display:block}.form legend .op{display:inline}.chip span{padding:.7rem .95rem .7rem .8rem}}
@media(max-width:400px){.enviar .btn-p{justify-content:center;white-space:nowrap;font-size:.92rem;padding:1.05rem .9rem}.enviar .btn-p .seta{display:none}}
@media(prefers-reduced-motion:reduce){.treme{animation:none}.form .btn-p[disabled] .seta{animation:none}[data-rev]{opacity:1;transform:none;transition:none}}

.cf-turnstile{grid-column:1/-1;min-height:65px}
