/* Fascia estesa; contenuti sulle stesse linee del corpo pagina. Home esclusa. */
#top :is(#main,.af-sheet-body) .af-page-intro{background:#f4f1ea;border:0}
#top :is(#main,.af-sheet-body) .af-page-intro > .container{width:95%;max-width:1600px;margin-left:auto;margin-right:auto;background:transparent;border-radius:0;padding-left:50px;padding-right:50px;box-sizing:border-box}
#top .af-sheet-body .af-page-intro > .container{width:100%;max-width:none;padding-left:26px;padding-right:10px}
#top :is(#main,.af-sheet-body) .af-page-intro .content{padding-top:10px;padding-bottom:10px}
#top :is(#main,.af-sheet-body) .af-page-intro .entry-content-wrapper{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,32%);gap:24px;align-items:stretch}
#top :is(#main,.af-sheet-body) .af-page-intro .entry-content-wrapper::before,
#top :is(#main,.af-sheet-body) .af-page-intro .entry-content-wrapper::after{display:none}
#top :is(#main,.af-sheet-body) .af-page-intro .flex_column{width:auto;min-width:0;margin:0;float:none}
#top :is(#main,.af-sheet-body) .af-page-intro .af-intro-copy{padding-top:10px;padding-bottom:10px;align-self:center}
#top :is(#main,.af-sheet-body) .af-page-intro .af-intro-photo{position:relative;width:100%;max-width:none;min-height:180px;justify-self:end;align-self:stretch;grid-row:auto}
#top :is(#main,.af-sheet-body) .af-page-intro .af-intro-photo .avia-image-container{position:absolute;inset:0;width:100%;height:100%;margin:0}
#top :is(#main,.af-sheet-body) .af-page-intro .af-intro-photo :is(.avia-image-container-inner,.avia-image-overlay-wrap){display:block;width:100%;height:100%}
#top :is(#main,.af-sheet-body) .af-page-intro .af-intro-photo img{display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;max-height:none}
#top :is(#main,.af-sheet-body) .af-page-intro h1{font-size:clamp(24px,2.295vw,32px);line-height:1.15;letter-spacing:-.3px;margin:0}
#top :is(#main,.af-sheet-body) .af-page-intro .av-special-heading{margin:8px 0;padding-bottom:0}
#top :is(#main,.af-sheet-body) .af-page-intro .af-breadcrumb{font-size:11px;line-height:1.4;margin:0 0 8px}
#top :is(#main,.af-sheet-body) .af-page-intro .af-eyebrow p{font-size:11px;line-height:1.4;margin:6px 0}
#top :is(#main,.af-sheet-body) .af-page-intro .af-lead{font-size:17px;font-weight:400;line-height:1.55;margin:10px 0 12px}
#top :is(#main,.af-sheet-body) .af-page-intro .af-button{display:inline-block;float:none;margin:4px 10px 0 0;vertical-align:top;max-width:100%}
#top :is(#main,.af-sheet-body) .af-page-intro .af-button .avia-button{min-height:48px;padding:12px 18px}
#top :is(#main,.af-sheet-body) .af-page-intro .av_textblock_section:has(.af-sheet-admin){grid-column:1/-1}
@media(max-width:767px){
#top #main .af-page-intro > .container{width:85%;padding-left:0;padding-right:0}
#top .af-sheet-body .af-page-intro > .container{padding-left:18px;padding-right:18px}
#top :is(#main,.af-sheet-body) .af-page-intro .content{padding-top:16px;padding-bottom:16px}
#top :is(#main,.af-sheet-body) .af-page-intro .entry-content-wrapper{grid-template-columns:minmax(0,1fr);gap:12px}
#top :is(#main,.af-sheet-body) .af-page-intro .af-intro-copy{padding:0}
#top :is(#main,.af-sheet-body) .af-page-intro h1{font-size:24px;letter-spacing:-.3px}
#top :is(#main,.af-sheet-body) .af-page-intro .af-intro-photo{position:static;width:180px;max-width:100%;min-height:0;justify-self:center}
#top :is(#main,.af-sheet-body) .af-page-intro .af-intro-photo .avia-image-container{position:relative;height:auto}
#top :is(#main,.af-sheet-body) .af-page-intro .af-intro-photo :is(.avia-image-container-inner,.avia-image-overlay-wrap){height:auto}
#top :is(#main,.af-sheet-body) .af-page-intro .af-intro-photo img{height:auto;aspect-ratio:3/2}
#top :is(#main,.af-sheet-body) .af-page-intro .af-button{margin-right:0}
#top :is(#main,.af-sheet-body) .af-page-intro .af-lead{margin:8px 0 10px}
}

/* Gruppo di apertura condiviso: sopratitolo, H1 e testo introduttivo. */
#top :is(#main,.af-sheet-body) :is(.af-page-intro,.af-macro-hub) .av-special-heading:has(h1){margin:8px 0 4px;padding-bottom:0!important}
#top :is(#main,.af-sheet-body) .af-page-intro .af-eyebrow p{font-size:11px;line-height:1.4;letter-spacing:1.5px;margin:0 0 6px}
#top :is(#main,.af-sheet-body) .af-page-intro .af-lead{margin-top:6px;font-weight:400;line-height:1.55}
#top :is(#main,.af-sheet-body) .af-macro-hub h1{font-size:clamp(24px,2.295vw,32px);line-height:1.15;font-weight:400;letter-spacing:-.3px}
#top :is(#main,.af-sheet-body) .af-page-intro .af-course-subtitle{font-weight:400;margin:6px 0;line-height:1.4}
/* Explicit placement prevents an empty admin slot from displacing the columns. */
#top :is(#main,.af-sheet-body) .af-page-intro .entry-content-wrapper>.av_textblock_section[class*="av-sheetadmin"]:not(:has(.af-sheet-admin)){display:none}
@media(min-width:768px){
#top :is(#main,.af-sheet-body) .af-page-intro .af-intro-copy{grid-column:1;grid-row:1}
#top :is(#main,.af-sheet-body) .af-page-intro .af-intro-photo{grid-column:2;grid-row:1;align-self:center;aspect-ratio:3/2;min-height:0}
#top :is(#main,.af-sheet-body) .af-page-intro .entry-content-wrapper:has(.af-sheet-admin)>.av_textblock_section:has(.af-sheet-admin){grid-column:1;grid-row:1}
#top :is(#main,.af-sheet-body) .af-page-intro .entry-content-wrapper:has(.af-sheet-admin) .af-intro-copy{grid-row:2}
#top :is(#main,.af-sheet-body) .af-page-intro .entry-content-wrapper:has(.af-sheet-admin) .af-intro-photo{grid-row:1/span 2}
}
#top .af-collaboration-heading{justify-content:flex-start}
#top .af-collaboration-heading .af-course-subtitle{flex:0 1 auto}
#top .af-collaboration-heading .af-partner-logo{width:112px;flex:0 0 112px;max-height:none}
@media(max-width:767px){#top .af-collaboration-heading{flex-wrap:wrap}#top .af-collaboration-heading .af-partner-logo{width:112px;flex-basis:112px;max-width:100%}}
/* One title scale and spacing, independent of banner background or course dialog. */
#top :is(#main,.af-sheet-body) :is(.af-page-intro,.af-macro-hub) h1{font-family:"Josefin Sans",sans-serif;font-size:clamp(24px,2.295vw,32px);font-weight:600;line-height:1.15;letter-spacing:-.3px;margin:0}
#top :is(#main,.af-sheet-body) :is(.af-page-intro,.af-macro-hub) .av-special-heading:has(h1){margin:0 0 6px;padding:0!important}
#top :is(#main,.af-sheet-body) :is(.af-page-intro,.af-macro-hub) .af-eyebrow,#top :is(#main,.af-sheet-body) :is(.af-page-intro,.af-macro-hub) .af-eyebrow p{font-size:11px;line-height:1.4;letter-spacing:1.5px;font-weight:400;margin:0 0 6px}
#top :is(#main,.af-sheet-body) :is(.af-page-intro,.af-macro-hub) :is(.af-course-subtitle,.af-lead){font-family:"Open Sans",sans-serif;font-size:19px;font-weight:400;line-height:1.45;margin:0 0 10px}
#top .af-heading-logo .af-partner-logo{display:block;width:112px;max-width:100%;height:auto;margin:0;max-height:none}
#top .af-heading-logo{margin:8px 0}
@media(min-width:1200px){
#top :is(#main,.af-sheet-body) .af-page-intro .af-intro-copy:has(.af-heading-logo){position:relative;padding-right:132px;min-height:130px;box-sizing:border-box}
#top .af-intro-copy>.av_textblock_section:has(.af-heading-logo){position:absolute;right:0;top:50%;transform:translateY(-50%);width:112px}
}

/* The same measured gap for linked and plain introductory labels. */
#top :is(#main,.af-sheet-body) :is(.af-page-intro,.af-macro-hub) :is(.af-breadcrumb,.af-eyebrow){margin:0 0 10px;padding:0}
#top :is(#main,.af-sheet-body) :is(.af-page-intro,.af-macro-hub) :is(.af-breadcrumb,.af-eyebrow) p{margin:0;padding:0}
#top :is(#main,.af-sheet-body) :is(.af-page-intro,.af-macro-hub) .av_textblock_section:has(.af-breadcrumb,.af-eyebrow){margin:0;padding:0}
