/* Shared accessibility and stable image layout. */
.skip-link { position: fixed; left: 1rem; top: -6rem; z-index: 10000; background: var(--site-surface); color: #490000; padding: .75rem 1rem; }
.skip-link:focus { top: .5rem; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, .btn:focus-visible { outline: 3px solid var(--site-focus) !important; outline-offset: 3px; box-shadow: 0 0 0 2px #fff !important; }
#contenuto { min-height: 60vh; scroll-margin-top: 85px; }
.page-heading { margin: 0; padding: 100px 1rem 1.5rem; font-size: clamp(1.7rem, 4vw, 2.5rem); text-align: center; }
.home-heading { padding: 1rem; }
footer.footer { position: static; height: auto; font-size: 1rem; }
.main_card .btn-primary { color: var(--site-on-brand); background-color: var(--site-brand); border-color: var(--site-brand); }
.main_card .btn-primary:hover { background-color: var(--site-brand-hover); border-color: var(--site-brand-hover); }
.logo-header img { display: block; width: 100%; height: auto; }
.team-profile-img { object-fit: cover; object-position: center top; }
.team-profile-img[alt="Pia Martino"] { object-position: center 35%; }
.team-style07:focus-within .team-social .styled-icons li { opacity: 1; }
.course-summary { max-width: 55rem; margin: 0 auto; padding: 0 1rem; text-align: center; }
.course-program { display: inline-block; }
.center-form { width: 100%; padding: 1rem; }
.center-form label { display: block; margin-top: .75rem; }
#email-alert { scroll-margin-top: 90px; }
