*{box-sizing:border-box}body{margin:0;background:#0e1216;color:#eef5f6;font:16px/1.55 system-ui,-apple-system,Segoe UI,sans-serif}a{color:#56dfd0}.reg-shell{max-width:920px;margin:5vh auto;padding:38px;background:#172026;border:1px solid #30434b;border-radius:18px;box-shadow:0 18px 60px #0005}.reg-kicker{font-weight:800;color:#50d7c5;letter-spacing:.15em;font-size:.75rem}.reg-heading h1{font-size:clamp(1.7rem,4vw,2.5rem);margin:.3em 0}.reg-heading p{color:#b5c4c8}fieldset{border:1px solid #3a525a;border-radius:9px;padding:13px 18px;margin:22px 0;display:flex;flex-wrap:wrap;gap:22px}legend{font-weight:700;padding:0 7px}.reg-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.reg-field{display:grid;gap:5px;font-weight:600;font-size:.87rem}.reg-field input{width:100%;border:1px solid #455c64;border-radius:8px;background:#0c1418;color:#fff;padding:11px;font:inherit;font-weight:400}.reg-field input:focus{outline:2px solid #4bd2c0}.reg-consents{display:grid;gap:15px;margin:25px 0}.reg-consents label{display:block}.reg-consents input{margin-right:8px}button{border:0;border-radius:10px;background:#11c5b0;color:#062b2b;padding:14px 24px;font-weight:800;cursor:pointer}button:hover{background:#58e4d3}.reg-note,.reg-footer{color:#b5c4c8;font-size:.88rem}.reg-error,.reg-success{padding:16px;border-radius:10px;margin:16px 0}.reg-error{border:1px solid #dd7777;background:#481d21}.reg-success{border:1px solid #39ad8e;background:#10392c}.reg-trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}@media(max-width:650px){.reg-shell{margin:0;border:0;border-radius:0;padding:20px}.reg-grid{grid-template-columns:1fr}}

button:disabled{opacity:.45;cursor:not-allowed}

/* v0.7 – intestazione istituzionale, senza caricamenti da CDN */
body{background:radial-gradient(ellipse at 10% 0%,#13333b 0%,transparent 38%),#0b081f}
.reg-shell{max-width:980px;padding:0 0 32px;overflow:hidden;border:1px solid #2e3b54;background:#141b29}
.reg-brand{display:flex;align-items:center;gap:20px;background:#0b081f;border-bottom:3px solid #12bdae;padding:27px 38px}
.reg-brand img{display:block;max-width:78px;height:auto;max-height:78px;object-fit:contain}
.reg-brand-title{font-size:clamp(1.4rem,3vw,2rem);font-weight:850;letter-spacing:.055em;color:#fff}
.reg-brand-tagline{color:#55d3ce;letter-spacing:.18em;font-size:.7rem;margin-top:3px;font-weight:700}
.reg-heading{padding:32px 38px 0}
.reg-heading h1{font-size:clamp(2rem,5vw,3rem);font-weight:800;color:#fff}
.reg-heading p{max-width:720px}
.reg-shell form,.reg-shell>.reg-success,.reg-shell>.reg-error{margin-left:38px;margin-right:38px}
.reg-shell>.reg-footer{margin:28px 38px 0;padding-top:18px;border-top:1px solid #324452}
.reg-shell fieldset{background:#111b24}
.reg-field input{min-height:46px}
.reg-consents{padding:18px;border:1px solid #344752;border-radius:12px;background:#101927}
.reg-consents label{line-height:1.65}
.reg-shell button[type=submit]{width:100%;min-height:52px;font-size:1rem}
@media(max-width:650px){.reg-shell{margin:0;border:0;border-radius:0;padding:0 0 30px}.reg-brand{padding:20px;gap:13px}.reg-brand img{max-width:58px;max-height:58px}.reg-heading{padding:24px 20px 0}.reg-shell form,.reg-shell>.reg-success,.reg-shell>.reg-error{margin-left:20px;margin-right:20px}.reg-shell>.reg-footer{margin:25px 20px 0}}
