*{box-sizing:border-box}body{font:16px/1.5 system-ui,Arial,sans-serif;color:#243244;background:#f4f6fa;margin:0}header{background:#103b70;color:white;display:flex;gap:16px;align-items:center;padding:16px max(16px,calc((100% - 900px)/2))}header img{max-width:64px;max-height:64px;object-fit:contain}header small{display:block}main{max-width:900px;margin:24px auto;padding:24px;background:white;border-radius:12px;box-shadow:0 2px 12px #0001}nav{display:flex;gap:16px;flex-wrap:wrap;border-bottom:1px solid #ddd;padding-bottom:14px}nav a{color:#124d8c}h1{font-size:1.7rem}label{display:block;margin:12px 0 5px;font-weight:600}input,select,button{font:inherit;padding:10px;border:1px solid #aeb9c6;border-radius:7px;max-width:100%}input:not([type=checkbox]),select{width:100%}button,.button{display:inline-block;background:#135d9c;color:white;border:0;padding:11px 16px;border-radius:7px;cursor:pointer;text-decoration:none;margin-top:14px}fieldset{border:1px solid #ddd;border-radius:8px;margin-top:16px}fieldset label{font-weight:400}.error{padding:12px;background:#ffe8e8;color:#8d1919}.ok{padding:12px;background:#e8f7ec;color:#176b33}.muted{color:#667}table{border-collapse:collapse;width:100%;font-size:.92rem}th,td{border-bottom:1px solid #ddd;text-align:left;padding:8px}footer{text-align:center;padding:22px;color:#657} .scroll{overflow-x:auto} @media(max-width:600px){main{margin:10px;padding:15px}}

/* Intestazione istituzionale Open Day: senza barra blu */
header.ravizza-header{background:transparent;color:#31485f;display:flex;justify-content:center;align-items:center;gap:20px;max-width:960px;margin:28px auto 8px;padding:12px 20px;text-align:center;font-family:Montserrat,system-ui,Arial,sans-serif}
header.ravizza-header img{max-width:80px;max-height:80px;object-fit:contain}
header.ravizza-header strong{font-size:1.45rem;font-weight:800;letter-spacing:.3px}
.ravizza-slogan{font-size:clamp(1.6rem,4vw,2.65rem);line-height:1.2;font-weight:800;margin-top:8px;background:linear-gradient(90deg,#ff4081,#ffeb3b,#00bcd4,#76ff03,#ff4081);background-size:350% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:ravizzaSfumatura 6s ease-in-out infinite}
@keyframes ravizzaSfumatura{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
@media(max-width:600px){header.ravizza-header{flex-direction:column;gap:8px;margin-top:12px}header.ravizza-header img{max-height:65px}header.ravizza-header strong{font-size:1.25rem}}
@media(prefers-reduced-motion:reduce){.ravizza-slogan{animation:none}}
