#programmi{padding-top:clamp(78px,8vw,125px);padding-bottom:clamp(78px,8vw,125px)}
#programmi .wide-heading{align-items:start}
#programmi .wide-heading h2{font-size:clamp(2.7rem,4.4vw,4.7rem)}
.programs-intro{color:var(--muted);max-width:530px;align-self:end}
.programs-intro p{margin:0;line-height:1.65}
.programs-intro p+p{margin-top:1rem}
.program-catalogue{grid-column:2;display:flex;flex-direction:column;gap:clamp(3rem,6vw,5.5rem);margin-top:3.5rem}
.program-catalogue .program{min-height:0;padding:clamp(1.6rem,3vw,2.6rem);border:1px solid var(--line);border-radius:18px;background:#f8f6f1;box-shadow:0 12px 34px rgba(9,42,59,.07)}
.program-catalogue .program h3{font-size:clamp(1.9rem,3vw,3rem);margin:.7rem 0 .9rem}
.program-catalogue .program h4{font:500 clamp(1.35rem,2.2vw,2rem)/1.14 "Newsreader",serif;margin:.2rem 0 1rem}
.program-catalogue .program p{max-width:880px}
.program-catalogue .bologna-card{background:var(--teal);color:#fff;border:0;padding:clamp(2rem,4vw,3.5rem)}
.bologna-card h3{font-size:clamp(2.8rem,5vw,5.2rem)!important;margin:.35rem 0!important}
.bologna-card .program-type{color:#c9f1ec}
.bologna-card .program-audience{color:#d7efec}
.program-family{display:grid;grid-template-columns:minmax(260px,.7fr) minmax(480px,1.3fr);gap:clamp(2rem,5vw,5rem);padding-top:2.5rem;border-top:1px solid var(--line)}
.family-heading{position:sticky;top:120px;align-self:start}
.family-heading h3,.training-locations h3{font:500 clamp(2rem,3.2vw,3.25rem)/1.05 "Newsreader",serif;margin:0 0 1.25rem;color:var(--navy)}
.family-heading>p:not(.eyebrow){color:var(--muted);line-height:1.62}
.family-audience{padding-top:1rem;border-top:1px solid var(--line)}
.family-audience strong,.program-audience strong{display:block;color:var(--teal);font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:.28rem}
.component-line{color:var(--teal)!important;font-weight:700;font-size:.84rem;line-height:1.55}
.family-heading small{display:block;margin-top:.8rem;color:var(--muted);line-height:1.45}
.family-cards{display:flex;flex-direction:column;gap:1.5rem}
.program-clickable{cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}
.program-clickable:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(9,42,59,.12)}
.program-clickable:focus-visible{outline:3px solid rgba(15,127,130,.42);outline-offset:4px}
.program-audience{padding-top:.85rem;border-top:1px solid var(--line);font-size:.9rem;color:var(--muted)}
.design-program{margin-top:1rem}
.training-locations{padding:clamp(2rem,4vw,3.5rem);background:#e7eeeb;border-radius:20px}
.training-locations>p{max-width:850px;line-height:1.65}
.location-list{display:grid;grid-template-columns:repeat(3,1fr);margin:2rem 0;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.location-list span{padding:1.15rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-weight:600;background:rgba(255,255,255,.38)}
.training-locations small{display:block;max-width:900px;color:var(--muted);line-height:1.5}
@media(max-width:980px){.program-catalogue{grid-column:2}.program-family{grid-template-columns:1fr}.family-heading{position:static}.location-list{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){#programmi{padding-top:68px;padding-bottom:68px}.program-catalogue{gap:3.25rem;margin-top:2.5rem}.program-family{display:block;padding-top:2rem}.family-cards{margin-top:2rem}.program-catalogue .program{padding:1.4rem;border-radius:14px}.program-catalogue .bologna-card{padding:1.65rem}.location-list{grid-template-columns:1fr}.program-actions{margin-top:1.25rem}.program-actions .card-action{width:100%}}
