@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url('/fonts/inter-variable-latin.woff2') format('woff2')}
--bg:#030712;--bg2:#0f172a;--bg3:#1e293b;--dark:#111827;
--blue:#3b82f6;--green:#22c55e;
--radius:12px;--radius-sm:8px
--bg:#ffffff;--bg2:#f8f9fb;--bg3:#f0f2f5;--dark:#0a0a0b;
--blue:#2563eb;--green:#059669;
--nav-bg:rgba(255,255,255,.85);--menu-bg:rgba(255,255,255,.98)
body{background:var(--bg);color:var(--text);font-family:'Inter',system-ui,-apple-system,sans-serif;line-height:1.7;-webkit-font-smoothing:antialiased;transition:background-color .3s,color .3s}
.btn-dark:hover{background:var(--btn-fill-hover);transform:translateY(-1px);text-decoration:none}
main{max-width:900px;margin:0 auto;padding:6rem 1.5rem 2rem}
h1{font-size:2rem;color:var(--text);margin-bottom:.5rem;letter-spacing:-.03em}
.subtitle{color:var(--dim);margin-bottom:2.5rem;font-size:1rem}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media(max-width:600px){.form-grid{grid-template-columns:1fr}}
.field{display:flex;flex-direction:column;gap:.4rem}
.field.full{grid-column:1/-1}
label{font-size:.82rem;font-weight:600;color:var(--text)}
input,select,textarea{background:var(--bg2);border:1px solid var(--border);border-radius:10px;padding:.7rem 1rem;color:var(--text);font-size:.9rem;font-family:inherit;transition:border-color .2s;outline:none}
input:focus,select:focus,textarea:focus{border-color:var(--accent)}
input::placeholder,textarea::placeholder{color:var(--muted)}
select{cursor:pointer;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%236b7280'%3E%3Cpath d='M2 4l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center}
select option{background:var(--bg2)}
textarea{resize:vertical;min-height:120px}
.submit{margin-top:1.5rem}
.btn-submit{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;background:var(--btn-fill);color:var(--btn-fill-text);padding:.75rem 2rem;border-radius:10px;font-weight:600;font-size:.9rem;border:none;cursor:pointer;transition:all .2s;width:100%;font-family:inherit}
.btn-submit:hover{background:var(--btn-fill-hover);transform:translateY(-1px)}
.btn-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}
.error-msg{display:none;background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3);border-radius:10px;padding:.8rem 1rem;color:#fca5a5;font-size:.85rem;margin-top:1rem}
.error-msg.show{display:block}
.info-cards{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:3rem;padding-top:2rem;border-top:1px solid var(--border)}
@media(max-width:600px){.info-cards{grid-template-columns:1fr}}
.info-card{background:var(--bg2);border:1px solid var(--border);border-radius:12px;padding:1.2rem}
.info-card h3{font-size:.85rem;color:var(--text);margin-bottom:.3rem}
.info-card p{font-size:.8rem;color:var(--dim)}
.info-card a{color:var(--accent)}
.success{display:none;text-align:center;padding:3rem 1rem}
.success.show{display:block}
.success svg{width:48px;height:48px;margin-bottom:1rem}
.success h2{color:var(--text);margin-bottom:.5rem}
.success p{color:var(--dim)}
.form-wrap.hidden{display:none}
.badge-anssi{display:inline-flex;align-items:center;gap:.4rem;background:rgba(34,197,94,.08);border:1px solid rgba(34,197,94,.2);border-radius:8px;padding:.4rem .8rem;font-size:.75rem;color:#4ade80;margin-top:1.5rem}
.badge-anssi::before{content:'';width:6px;height:6px;border-radius:50%;background:#22c55e;flex-shrink:0}
.crypto-banner{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:1.2rem 1.4rem;margin-bottom:2rem;display:flex;flex-direction:column;gap:.6rem;align-items:center;text-align:center}
.crypto-banner svg{width:20px;height:20px;flex-shrink:0;margin-top:.15rem;color:var(--green, #22c55e)}
.crypto-banner-text{font-size:.82rem;color:var(--dim);line-height:1.65}
.crypto-banner-text strong{color:var(--text);font-weight:600}
.crypto-banner-text a{color:var(--accent)}
.submit-note{font-size:.72rem;color:var(--muted);margin-top:.6rem;display:flex;align-items:center;gap:.35rem;justify-content:center}
.submit-note svg{width:12px;height:12px;flex-shrink:0}
#zk-details{margin-top:80px;margin-bottom:80px;scroll-margin-top:100px}
.container{max-width:1100px;margin:0 auto;padding:0 2rem}
@media(max-width:768px){
main{padding-top:5rem}
}
/* ═══ VALIDATION ═══ */
.field-error{color:var(--red);font-size:.78rem;margin-top:.25rem;display:none}
.field-error.show{display:block}
.field-invalid{border-color:var(--red) !important}
@keyframes field-shake{0%{transform:translateX(0)}25%{transform:translateX(-4px)}50%{transform:translateX(4px)}75%{transform:translateX(-4px)}100%{transform:translateX(0)}}
.field-shake{animation:field-shake .3s ease}
.form-group .field-error{color:var(--red);font-size:.78rem;margin-top:.25rem;display:none}
.form-group .field-error.show{display:block}
.form-group .field-invalid{border-color:var(--red) !important}
@media(max-width:480px){.foot-grid{gap:1rem}}
@media(max-width:360px){
main{padding:5rem .75rem 1.5rem}
h1{font-size:1.6rem}
.subtitle{font-size:.9rem}
input,select,textarea{font-size:.85rem;padding:.6rem .85rem}
.btn-submit{font-size:.85rem;padding:.65rem 1.5rem}
.crypto-banner{padding:1rem}
.crypto-banner-text{font-size:.78rem}
}
