/* Formulário de registo da Avaliação de Maturidade em Cibersegurança (STB2026).
   Estilo do boneco v0.2 (assets/DBL_STB2026_Formulario_Avaliacao_Boneco_v0.2.html), transcrito sem alterar valores.
   Diferenças deliberadas, sem efeito visual:
   1. Montserrat alojada nesta pasta (fonte variável, subconjunto latin) em vez do link para fonts.googleapis.com.
   2. Logótipo em ficheiro local (logo.svg, via <img>) em vez de SVG inline; mesma altura de 78 px.
   3. Os estilos inline do boneco (margin-top:14px; closed h2/p) passaram para as classes .fine-ok, .closed h2 e .closed p, por causa da CSP. */
@font-face{font-family:'Montserrat';font-style:normal;font-weight:400 800;font-display:swap;src:url(fonts/montserrat-variable-latin.woff2) format('woff2')}
:root{--azul:#136292;--turq:#168B97;--tinta:#263642;--cinza:#EEF3F5;--erro:#B42318;--grad:linear-gradient(90deg,#136292,#168B97)}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:Montserrat,system-ui,sans-serif;background:var(--cinza);color:var(--tinta);min-height:100vh}
.hero{background:linear-gradient(170deg,#0F2636 0%,#11303F 50%,#165460 100%);color:#fff;padding:28px 20px 72px}
.wrap{max-width:560px;margin:0 auto}
.hero .logo{display:inline-block}
.hero .logo img{height:78px;width:auto;display:block}
.eyebrow{margin-top:28px;font-size:11px;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:#7FD0D8}
h1{font-size:26px;line-height:1.15;font-weight:800;margin-top:8px}
h1 em{font-style:normal;color:#4FC3CE}
.lead{margin-top:12px;font-size:15px;line-height:1.5;color:#DCE8EC}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.chip{font-size:12px;font-weight:600;padding:6px 12px;border-radius:99px;background:rgba(255,255,255,.1);border:1px solid rgba(127,208,216,.35)}
.card{background:#fff;border-radius:14px;box-shadow:0 8px 28px rgba(16,41,58,.12);margin:-48px 16px 24px;padding:22px 18px;position:relative}
@media(min-width:600px){.card{margin:-48px auto 24px;padding:28px}}
.notice{background:var(--cinza);border-left:4px solid var(--turq);border-radius:6px;padding:12px 14px;font-size:13px;line-height:1.5}
.notice a{color:var(--azul);font-weight:600}
form{margin-top:18px;display:grid;gap:14px}
label{display:block;font-size:13px;font-weight:600;margin-bottom:6px}
label .req{color:var(--turq)}
input[type=text],input[type=email],input[type=tel]{width:100%;font:inherit;font-size:16px;padding:12px 14px;border:1.5px solid #C9D6DC;border-radius:10px;background:#fff;color:var(--tinta)}
input:focus{outline:none;border-color:var(--turq);box-shadow:0 0 0 3px rgba(22,139,151,.18)}
.err{display:none;color:var(--erro);font-size:12px;margin-top:5px;font-weight:500}
.field.invalid input{border-color:var(--erro)}
.field.invalid .err{display:block}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.5}
.consent input{width:20px;height:20px;margin-top:2px;accent-color:var(--turq);flex:0 0 20px}
.hp{position:absolute;left:-9999px}
button{font:inherit;font-weight:700;font-size:16px;border:0;border-radius:10px;padding:14px;color:#fff;background:var(--grad);cursor:pointer}
button[disabled]{opacity:.6}
.fine{font-size:11.5px;line-height:1.5;color:#5E707B}
.submit-error{display:none;color:var(--erro);font-size:12px;font-weight:500}
.ok{display:none;text-align:center}
.ok .tick{width:64px;height:64px;border-radius:50%;background:var(--grad);display:flex;align-items:center;justify-content:center;margin:4px auto 14px}
.ok h2{font-size:22px;font-weight:800}
.ok p{font-size:14px;line-height:1.55;margin-top:10px}
.ref{display:inline-block;margin-top:14px;font-weight:700;font-size:15px;letter-spacing:.06em;background:var(--cinza);padding:8px 14px;border-radius:8px;color:var(--azul)}
.fine-ok{margin-top:14px}
.wa{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:20px;text-decoration:none;color:#fff;background:#1F7A4D;font-weight:700;border-radius:10px;padding:14px}
.foot{text-align:center;font-size:12px;color:#5E707B;line-height:1.7;padding:6px 16px 28px}
.foot a{color:var(--azul);text-decoration:none;font-weight:600}
.closed{display:none}
.closed h2{font-size:20px;font-weight:800}
.closed p{margin-top:10px;font-size:14px;line-height:1.55}
.closed a{color:var(--azul);font-weight:600}
