/* Dati societari leggibili, su più righe quando occorre. */
html body[class] main footer .legalFooter { display:grid !important; grid-template-columns:1fr 1fr 2fr !important; gap:12px 20px !important; margin:8px auto 0 !important; width:100% !important; max-width:none !important; }
html body[class] main footer .legalFooter p,html body[class] main footer .legalFooter a { font-size:13px !important; line-height:1.4 !important; font-weight:500 !important; color:#f1f7ff !important; white-space:normal !important; }
html body[class] main .siteLegalBar { display:flex !important; flex-wrap:wrap !important; gap:5px 16px !important; font-size:13px !important; line-height:1.35 !important; white-space:normal !important; overflow:visible !important; padding:9px 20px !important; background:rgba(2,20,45,.96) !important; }
html body[class] main .siteLegalBar > span { flex:0 1 auto !important; font-size:13px !important; line-height:1.35 !important; white-space:normal !important; }
html body[class] main .siteLegalBar > span:last-child { flex:1 0 100% !important; font-weight:700 !important; }
.mediatelHome main > .homeHero { padding-bottom:90px !important; }
@media(max-width:900px) {
 html body[class] main footer .legalFooter { grid-template-columns:1fr !important; gap:6px !important; }
 html body[class] main .siteLegalBar { position:relative !important; bottom:auto !important; }
 .mediatelHome main > .homeHero { padding-bottom:24px !important; }
}
html body[class] main footer .legalFooter p:only-child { grid-column:1/-1 !important; }
@media(max-width:900px) {
 html body[class] main .siteLegalBar { position:fixed !important; bottom:0 !important; }
 html body[class] main .siteLegalBar > span:not(:last-child) { display:none !important; }
 .mediatelHome main > .homeHero { padding-bottom:90px !important; }
}

/* Leggibilità coerente tra pagine e lingue. */
:root { --mediatel-description-size:clamp(18px,1.25vw,20px); --mediatel-card-description-size:clamp(16px,1.12vw,18px); --mediatel-step-description-size:clamp(15px,1.05vw,16px); }
html body[class] main :is(h1,h2,h3,h4,h5,h6),html body[class] main :is(h1,h2,h3,h4,h5,h6) em { font-weight:800 !important; }
html body[class] main :is(.storyCopy,.careerContent,.networkContent,.solutionStageContent,.newGenStepCopy,.newGenIntro,.leadCopy) p { font-size:var(--mediatel-description-size) !important; line-height:1.4 !important; }
html body[class] main #storia .storyCopy > p,html body[class] main #storia .storyCopy > p.big { font-size:var(--mediatel-description-size) !important; line-height:1.4 !important; margin-bottom:10px !important; }
html body[class] main :is(.benefitGrid,.careerPillars,.rdCards) p,html body[class] main #professionalizzazione .careerPillars p,html body[class] main #job-with-us .benefitGrid p,html body[class] main #soluzioni .solutionStage li { font-size:var(--mediatel-card-description-size) !important; line-height:1.35 !important; }
html body[class] main #professionalizzazione .careerSteps p { font-size:var(--mediatel-step-description-size) !important; line-height:1.3 !important; }
html body[class] main :is(.eyebrow,.button,label,input,select,textarea,.formSwitch button,.solutionCardCta,.values span,.numbers span) { font-size:14px !important; line-height:1.3 !important; }
html body[class] main :is(.candidateModal,.contactModal,.consultationModal) :is(label,input,select,textarea,button,p) { font-size:16px !important; line-height:1.4 !important; }
html body[class] main .solutionNavSelect small { font-size:14px !important; line-height:1.3 !important; }
html body[class] main .solutionNavSelect b { font-weight:800 !important; }
html body.teamCompact main #team .teamHeading > p { font-size:16px !important; line-height:1.35 !important; }
html body.teamCompact main #team .teamFocusCopy :is(p,small) { font-size:14px !important; line-height:1.3 !important; }
html body.teamCompact main #team .teamSelector button { min-width:0 !important; padding:5px 7px !important; }
html body.teamCompact main #team .teamSelector button b { font-size:15px !important; line-height:1.2 !important; font-weight:800 !important; }
html body.teamCompact main #team .teamSelector button small { font-size:12px !important; line-height:1.25 !important; }
html body.locationsPage main :is(.locationsHero,.mapHeading) p { font-size:17px !important; line-height:1.35 !important; }
html body.locationsPage main .locationsInfoGrid .locationCard p { font-size:15px !important; line-height:1.3 !important; overflow-wrap:anywhere; }
html body.locationsPage main .regionItem p { font-size:14px !important; line-height:1.3 !important; }
html body.locationsPage main .locationMeta { font-size:14px !important; }
html body.storeCompact main #spazio-a2a .storeCard p { font-size:16px !important; line-height:1.35 !important; }
html body.storeCompact main #spazio-a2a :is(.storeCard > small,.hours,.storeCard .button,.satelliteMap > div) { font-size:14px !important; line-height:1.3 !important; }
html body.storeCompact main #spazio-a2a .storeReviewTrack article p { font-size:16px !important; line-height:1.35 !important; }
html body.storeCompact main #spazio-a2a .storeReviewTrack article > b { font-size:13px !important; }
html body.newGenCompact main :is(.newGenIntro,.newGenStepCopy) p { font-size:18px !important; line-height:1.32 !important; }
html body.newGenCompact main :is(.newGenJourneyCaption p,.newGenPhaseSummary,.newGenStepResult) { font-size:16px !important; line-height:1.32 !important; }
html body.newGenCompact main :is(.newGenBenefits span,.newGenTabs button,.newGenIntro .eyebrow,.newGenJourneyCaption .eyebrow) { font-size:14px !important; line-height:1.25 !important; }
html body.newGenCompact main .newGenApply h2 { font-size:18px !important; }
html body.newGenCompact main .newGenTabs button { font-weight:800 !important; }
html body[class] main footer .legalFooter :is(p,a),html body[class] main .siteLegalBar,html body[class] main .siteLegalBar > span { font-size:14px !important; line-height:1.35 !important; }
/* Intero fotogramma: niente ritagli laterali, area libera da menu e dati societari. */
html body.mediatelHome main .homeHeroVideo { position:absolute !important; inset:90px 0 90px !important; width:100% !important; height:calc(100% - 180px) !important; max-width:none !important; object-fit:contain !important; object-position:center !important; transform:none !important; background:#052b4c !important; }
html body.mediatelHome main .homeHero { background:#052b4c !important; }
@media(min-width:901px) {
 html body.newGenCompact main .newGenScreen { grid-template-columns:minmax(0,.4fr) minmax(0,.6fr) !important; }
 html body.newGenCompact main .newGenLeft { gap:5px !important; }
 html body.newGenCompact main .newGenIntro h2 { margin:3px 0 5px !important; }
 html body.newGenCompact main .newGenPhase { padding:10px 14px !important; }
 html body.locationsPage main .locationCard { padding:10px 12px !important; }
 html body[class] main #professionalizzazione .careerPillars { gap:6px !important; }
 html body[class] main #professionalizzazione .careerSteps { gap:6px !important; }
}
@media(max-width:900px) {
 html body.mediatelHome main .homeHeroVideo { inset:90px 0 75px !important; height:calc(100% - 165px) !important; }
 html body[class] main :is(.storyCopy,.careerContent,.networkContent,.solutionStageContent,.newGenStepCopy,.newGenIntro,.leadCopy) p { font-size:18px !important; }
}
/* Anche le finestre aperte dai pulsanti mantengono la stessa leggibilità. */
html body[class] :is(.contactModal,.candidateModal,.consultationModal) :is(h2,h3,h4) { font-weight:800 !important; }
html body[class] :is(.contactModal,.candidateModal,.consultationModal) :is(label,input,textarea,select,p) { font-size:16px !important; line-height:1.4 !important; }
html body[class] main #professionalizzazione .careerContent :is(h3,h4),html body[class] main #job-with-us .benefitGrid h3 { font-weight:800 !important; }

/* Il video copre lo schermo; il livello nitido conserva tutto il fotogramma. */
html body.mediatelHome main .homeHero { overflow:hidden !important; }
html body.mediatelHome main .homeHeroVideo { inset:0 !important; width:100% !important; height:100% !important; object-fit:contain !important; object-position:center !important; background:transparent !important; }
html body.mediatelHome main .homeVideoFill { position:absolute !important; inset:0 !important; width:100% !important; height:100% !important; object-fit:cover !important; object-position:center !important; filter:blur(14px); transform:scale(1.06); z-index:0; pointer-events:none; }
/* Finestra New Gen proporzionata al testo, senza altezza forzata. */
html body.newGenCompact main .newGenRight { height:auto !important; min-height:0 !important; align-self:center !important; grid-template-rows:auto auto auto !important; align-content:center !important; gap:10px !important; }
html body.newGenCompact main .newGenPanels { height:auto !important; min-height:0 !important; align-items:flex-start !important; }
html body.newGenCompact main .newGenPhase { height:auto !important; min-height:0 !important; padding:14px 18px !important; flex:0 0 100%; justify-content:flex-start !important; }
html body.newGenCompact main .newGenPhaseDetails { height:auto !important; min-height:0 !important; margin:0 !important; padding:0 !important; }
html body.newGenCompact main .newGenStepCopy h3 { margin:5px 0 8px !important; }
html body.newGenCompact main .newGenStepResult { margin-top:10px !important; padding:9px 12px !important; }
@media(max-width:900px) {
 html body.newGenCompact main .newGenRight { align-self:stretch !important; }
}

/* Home: una sola schermata, senza contenuti inferiori. */
html:has(body.mediatelHome),html body.mediatelHome { height:100% !important; overflow:hidden !important; overscroll-behavior:none; }
html body.mediatelHome main { height:100dvh !important; min-height:0 !important; overflow:hidden !important; }
html body.mediatelHome main > .homeHero { height:100dvh !important; min-height:0 !important; }
/* New Gen: colonna sinistra più leggibile e riquadri in grassetto. */
html body.newGenCompact main .newGenIntro h2 { font-size:32px !important; line-height:1.08 !important; }
html body.newGenCompact main .newGenIntro h2 em { font-size:26px !important; }
html body.newGenCompact main .newGenIntro p,html body.newGenCompact main .newGenLeft > .newGenPhaseSummary { font-size:20px !important; line-height:1.35 !important; color:#fff !important; }
html body.newGenCompact main .newGenApply h2 { font-size:21px !important; }
html body.newGenCompact main :is(.newGenBenefits span,.newGenTabs button,.newGenPhaseSummary,.newGenPhase p,.newGenStepResult,.newGenStepResult span,.newGenStepResult b) { font-weight:700 !important; }
html body.newGenCompact main .newGenBenefits span { font-size:16px !important; }
html body.newGenCompact main .newGenLeft > .newGenPhaseSummary { background:rgba(2,20,45,.72) !important; padding:12px !important; border:1px solid #ffffff40; }
/* Contenuti trasferiti dalla home, nelle schede superiori di Chi siamo. */
html body.aboutCompact main .aboutTabs { display:flex; gap:8px; margin:0; }
html body.aboutCompact main .aboutTabs button { cursor:pointer; padding:8px 18px; border-radius:10px; border:1px solid #ffffff50; background:#062a50; color:white; font:700 16px var(--mediatel-description-font); }
html body.aboutCompact main .aboutTabs button[aria-selected="true"] { background:#e5f5ff; color:#082a4e; border-color:#78caff; }
html body.aboutCompact main .aboutPanels { min-height:0; min-width:0; }
html body.aboutCompact main .aboutGroupPanel { display:grid; grid-template-columns:1fr 1.1fr 1fr; gap:12px; height:100%; min-height:0; }
html body.aboutCompact main .aboutGroupCard { box-sizing:border-box; display:flex; flex-direction:column; justify-content:space-between; gap:12px; min-width:0; padding:16px; border:1px solid #ffffff38; border-radius:16px; background:rgba(3,24,53,.85); color:#fff; }
html body.aboutCompact main .aboutGroupCard :is(h2,h3,h2 em,h3 em,p,span,a) { color:#fff; }
html body.aboutCompact main .aboutGroupCard h2 { font-size:25px !important; line-height:1.1 !important; margin:6px 0 10px !important; }
html body.aboutCompact main .aboutGroupCard h3 { font-size:20px !important; margin:5px 0 7px !important; }
html body.aboutCompact main .aboutGroupCard p { font-size:18px !important; line-height:1.38 !important; margin:0 0 10px !important; }
html body.aboutCompact main .aboutGroupCard .eyebrow,html body.aboutCompact main .aboutGroupValues > article > span,html body.aboutCompact main .aboutGroupPartners > span { font-size:13px !important; font-weight:800; letter-spacing:.06em; }
html body.aboutCompact main .aboutGroupValues .compactValues { display:flex; flex-wrap:wrap; gap:5px; }
html body.aboutCompact main .aboutGroupValues .compactValues span { padding:5px 8px; font-size:14px; font-weight:700; background:#ffffff16; border-radius:6px; }
html body.aboutCompact main .aboutGroupPartners { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
html body.aboutCompact main .aboutGroupPartners > span { flex:0 0 100%; }
html body.aboutCompact main .aboutGroupPartners a { padding:7px 10px; border-radius:9px; background:white; }
html body.aboutCompact main .aboutGroupPartners img { width:110px; height:36px; object-fit:contain; display:block; }
html body.aboutCompact main .aboutGroupContact .button { white-space:normal !important; margin-top:12px; }
html body.aboutCompact main #storia .aboutPanels > [hidden] { display:none !important; }
@media(min-width:901px) {
 html body.aboutCompact main { height:100dvh !important; display:flex !important; flex-direction:column !important; }
 html body.aboutCompact main #storia { flex:1 1 0 !important; min-height:0 !important; height:auto !important; display:grid !important; grid-template-columns:minmax(0,1fr) !important; grid-template-rows:auto auto minmax(0,1fr) auto !important; gap:8px !important; padding:94px 2vw 6px !important; }
 html body.aboutCompact main #storia .sectionHead { grid-row:1 !important; margin:0 !important; }
 html body.aboutCompact main #storia .sectionHead h2 { margin:0 !important; font-size:22px !important; line-height:1.1 !important; }
 html body.aboutCompact main #storia .sectionHead h2 br { display:none !important; }
 html body.aboutCompact main #storia .storyLogo { width:145px !important; height:30px !important; vertical-align:middle; margin-right:10px; }
 html body.aboutCompact main #storia .aboutTabs { grid-row:2; }
 html body.aboutCompact main #storia .aboutPanels { grid-row:3; }
 html body.aboutCompact main #storia .aboutPanels > .storyGrid { grid-row:auto !important; height:100% !important; }
 html body.aboutCompact main #storia .numbers { grid-row:4 !important; }
 html body.aboutCompact main footer { flex:0 0 auto !important; padding:5px 2vw !important; }
 html body.aboutCompact main footer > div:first-child { display:none !important; }
 html body.aboutCompact main footer .legalFooter { margin-top:0 !important; }
}
@media(min-width:901px) and (max-height:760px) {
 html body.aboutCompact main .aboutGroupCard { padding:12px; gap:8px; }
 html body.aboutCompact main .aboutGroupCard p { font-size:17px !important; line-height:1.3 !important; }
 html body.newGenCompact main .newGenIntro h2 { font-size:30px !important; }
 html body.newGenCompact main .newGenIntro p,html body.newGenCompact main .newGenLeft > .newGenPhaseSummary { font-size:19px !important; }
}
@media(max-width:900px) {
 html body.aboutCompact main .aboutGroupPanel { grid-template-columns:1fr; height:auto; }
 html body.aboutCompact main .aboutTabs { flex-wrap:wrap; }
}
@media(min-width:901px) {
 html body.aboutCompact main #storia .sectionHead,html body.aboutCompact main #storia .aboutPanels { position:relative !important; inset:auto !important; width:100% !important; }
 html body.aboutCompact main #storia .aboutPanels > .storyGrid { position:relative !important; inset:auto !important; display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; grid-template-rows:minmax(0,1fr) !important; min-height:0 !important; margin:0 !important; gap:14px !important; }
 html body.aboutCompact main #storia .storyPhoto,html body.aboutCompact main #storia .storyCopy { position:relative !important; inset:auto !important; width:100% !important; height:100% !important; box-sizing:border-box !important; min-height:0 !important; }
 html body.aboutCompact main #storia .storyPhoto > img.leadershipLandscape { position:absolute !important; inset:0 !important; width:100% !important; height:100% !important; object-fit:contain !important; transform:none !important; }
 html body.aboutCompact main #storia .aboutPanels > .storyGrid[hidden] { display:none !important; }
}
html body.aboutCompact main .aboutGroupCard .eyebrow { margin-bottom:5px !important; }
@media(min-width:901px) {
 html body.aboutCompact main #storia .sectionHead { display:flex !important; align-items:center !important; gap:18px !important; }
 html body.aboutCompact main #storia .sectionHead .eyebrow { margin:0 !important; flex:0 0 auto; }
 html body.aboutCompact main .aboutGroupCard { justify-content:flex-start !important; }
 html body.aboutCompact main .aboutGroupPartners { margin-top:auto; }
}

/* Chi siamo: tutte le cinque finestre insieme, senza alternanza. */
html body.aboutCompact main .aboutPanels { display:grid !important; grid-template-columns:minmax(0,1fr) !important; grid-template-rows:auto minmax(0,1fr) !important; gap:10px !important; }
html body.aboutCompact main .aboutGroupPanel { height:auto !important; min-height:0 !important; grid-template-columns:minmax(0,.3fr) minmax(0,.45fr) minmax(0,.25fr) !important; align-items:stretch; }
html body.aboutCompact main .aboutGroupCard { gap:7px !important; padding:10px 12px !important; }
html body.aboutCompact main .aboutGroupCard p { font-size:16px !important; line-height:1.3 !important; margin:0 0 6px !important; }
html body.aboutCompact main .aboutGroupCard h2 { font-size:21px !important; margin:3px 0 6px !important; }
html body.aboutCompact main .aboutGroupCard h3 { font-size:18px !important; margin:4px 0 !important; }
html body.aboutCompact main .aboutGroupCard .eyebrow { font-size:12px !important; line-height:1.2 !important; gap:5px !important; margin:0 !important; }
html body.aboutCompact main .aboutGroupValues .compactValues span { padding:3px 6px !important; }
html body.aboutCompact main .aboutGroupIntro > a { display:none; }
html body.aboutCompact main .aboutGroupPartners { gap:7px !important; }
html body.aboutCompact main .aboutGroupPartners > span { flex:0 0 auto !important; font-size:12px !important; }
html body.aboutCompact main .aboutGroupPartners a { padding:5px 8px !important; }
html body.aboutCompact main .aboutGroupPartners img { width:85px !important; height:26px !important; }
html body.aboutCompact main .aboutGroupContact .button { margin:5px 0 0 !important; padding:7px 10px !important; }
@media(min-width:901px) {
 html body.aboutCompact main #storia { grid-template-rows:auto minmax(0,1fr) auto !important; gap:7px !important; padding-top:92px !important; }
 html body.aboutCompact main #storia .aboutPanels { grid-row:2 !important; min-height:0 !important; }
 html body.aboutCompact main #storia .numbers { grid-row:3 !important; }
 html body.aboutCompact main #storia .aboutPanels > .storyGrid { grid-template-columns:minmax(0,.33fr) minmax(0,.67fr) !important; grid-row:auto !important; height:100% !important; min-height:0 !important; gap:12px !important; }
 html body.aboutCompact main #storia .storyGrid .storyCopy { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; grid-template-rows:auto auto auto !important; align-content:center !important; column-gap:16px !important; row-gap:7px !important; padding:10px 14px !important; }
 html body.aboutCompact main #storia .storyGrid .storyCopy > p,html body.aboutCompact main #storia .storyGrid .storyCopy > p.big { font-size:16px !important; line-height:1.3 !important; margin:0 !important; }
 html body.aboutCompact main #storia .storyGrid .storyCopy .values { grid-column:1/-1 !important; margin:0 !important; gap:5px !important; }
 html body.aboutCompact main #storia .numbers > div { padding:5px 10px !important; }
 html body.aboutCompact main #storia .numbers b { font-size:27px !important; }
 html body.aboutCompact main footer .legalFooter { gap:5px 12px !important; }
}
@media(min-width:901px) and (min-height:900px) {
 html body.aboutCompact main .aboutGroupCard { padding:16px !important; gap:10px !important; }
 html body.aboutCompact main .aboutGroupCard p,html body.aboutCompact main #storia .storyGrid .storyCopy > p,html body.aboutCompact main #storia .storyGrid .storyCopy > p.big { font-size:18px !important; line-height:1.4 !important; }
}
@media(max-width:900px) {
 html body.aboutCompact main .aboutPanels { display:flex !important; flex-direction:column !important; }
 html body.aboutCompact main .aboutGroupPanel { grid-template-columns:1fr !important; }
 html body.aboutCompact main .aboutPanels > .storyGrid { display:grid !important; height:auto !important; }
}
/* New Gen: bordi oro coerenti su tutti i piccoli riquadri. */
html body.newGenCompact main :is(.newGenBenefits span,.newGenTabs button,.newGenLeft > .newGenPhaseSummary,.newGenStepResult) { border:1.5px solid #d7a83f !important; box-sizing:border-box !important; }
html body.newGenCompact main .newGenTabs button[aria-selected="true"] { border-color:#f0c766 !important; box-shadow:inset 0 0 0 1px #f0c766; }

/* Un'unica fascia superiore, foto e storia di nuovo in due grandi finestre. */
html body.aboutCompact main .aboutGroupPanel { grid-template-columns:minmax(0,1fr) !important; width:100% !important; }
html body.aboutCompact main .aboutGroupCard { padding:10px 16px !important; }
html body.aboutCompact main .aboutGroupContact { display:grid !important; grid-template-columns:minmax(0,1fr) auto !important; align-items:center !important; gap:18px !important; width:100% !important; }
html body.aboutCompact main .aboutGroupContact > div:first-child { display:grid; grid-template-columns:minmax(0,.35fr) minmax(0,.65fr); gap:4px 18px; align-items:center; }
html body.aboutCompact main .aboutGroupContact .eyebrow { grid-column:1/-1; }
html body.aboutCompact main .aboutGroupContact h2 { margin:0 !important; font-size:22px !important; line-height:1.15 !important; }
html body.aboutCompact main .aboutGroupContact h2 br { display:none; }
html body.aboutCompact main .aboutGroupContact p { margin:0 !important; font-size:18px !important; line-height:1.35 !important; }
html body.aboutCompact main .aboutGroupContact .button { margin:0 !important; padding:11px 16px !important; }
@media(min-width:901px) {
 html body.aboutCompact main #storia .aboutPanels { grid-template-rows:auto minmax(0,1fr) !important; }
 html body.aboutCompact main #storia .aboutPanels > .storyGrid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:16px !important; }
 html body.aboutCompact main #storia .storyGrid .storyCopy { display:flex !important; flex-direction:column !important; justify-content:center !important; gap:0 !important; padding:12px 16px !important; }
 html body.aboutCompact main #storia .storyGrid .storyCopy > p,html body.aboutCompact main #storia .storyGrid .storyCopy > p.big { font-size:18px !important; line-height:1.35 !important; margin:0 0 8px !important; }
 html body.aboutCompact main #storia .storyGrid .storyCopy .values { margin-top:4px !important; }
}
@media(max-width:900px) {
 html body.aboutCompact main .aboutGroupContact,html body.aboutCompact main .aboutGroupContact > div:first-child { display:flex !important; flex-direction:column; align-items:flex-start !important; gap:8px !important; }
}

/* Riquadro superiore originale a sinistra, con la storia commerciale aggiunta. */
html body.aboutCompact main .aboutGroupCard { display:grid !important; grid-template-columns:minmax(0,.3fr) minmax(0,.2fr) minmax(0,.5fr) !important; align-items:center !important; column-gap:20px !important; padding:12px 16px !important; }
html body.aboutCompact main .aboutGroupIntro h2 { font-size:23px !important; }
html body.aboutCompact main .aboutGroupIntro p,html body.aboutCompact main .aboutGroupHistory p { font-size:17px !important; line-height:1.35 !important; }
html body.aboutCompact main .aboutGroupHistory p:last-child { margin-bottom:0 !important; }
/* Due finestre centrali identiche, con l'intera foto visibile. */
@media(min-width:901px) {
 html body.aboutCompact main #storia .aboutPanels > .storyGrid { grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important; grid-template-rows:minmax(0,1fr) !important; align-items:stretch !important; gap:16px !important; }
 html body.aboutCompact main #storia .storyGrid > .storyPhoto,html body.aboutCompact main #storia .storyGrid > .storyCopy { width:100% !important; height:100% !important; min-height:0 !important; box-sizing:border-box !important; align-self:stretch !important; border-radius:18px !important; }
 html body.aboutCompact main #storia .storyGrid .storyPhoto { grid-column:1 !important; grid-row:1 !important; }
 html body.aboutCompact main #storia .storyGrid .storyCopy { grid-column:2 !important; grid-row:1 !important; }
 html body.aboutCompact main #storia .storyGrid .storyCopy > p,html body.aboutCompact main #storia .storyGrid .storyCopy > p.big { font-size:16px !important; line-height:1.3 !important; margin-bottom:6px !important; }
}
@media(min-width:901px) and (min-height:900px) {
 html body.aboutCompact main .aboutGroupIntro p,html body.aboutCompact main .aboutGroupHistory p,html body.aboutCompact main #storia .storyGrid .storyCopy > p,html body.aboutCompact main #storia .storyGrid .storyCopy > p.big { font-size:18px !important; line-height:1.4 !important; }
}
@media(max-width:900px) {
 html body.aboutCompact main .aboutGroupCard { grid-template-columns:1fr !important; row-gap:14px !important; }
}

/* Dove siamo: tre finestre inferiori, con contatti partner riuniti. */
html body.locationsPage main .locationsInfoGrid { display:grid !important; grid-template-columns:minmax(0,1.2fr) minmax(0,.85fr) minmax(0,1.2fr) !important; gap:10px !important; width:100% !important; align-items:stretch !important; }
html body.locationsPage main .locationsInfoGrid .partnerContacts { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:14px !important; }
html body.locationsPage main .partnerContact { display:flex; flex-direction:column; align-items:stretch; justify-content:center; min-width:0; gap:12px; }
html body.locationsPage main .locationsInfoGrid .partnerContact img { box-sizing:border-box !important; width:100% !important; max-width:200px !important; height:70px !important; max-height:none !important; object-fit:contain !important; padding:8px 12px !important; margin:0 auto !important; border-radius:10px; background:white; }
html body.locationsPage main .locationsInfoGrid .partnerContact p { margin:0 !important; font-size:14px !important; line-height:1.3 !important; overflow-wrap:anywhere; }
html body.locationsPage main .locationsInfoGrid .locationBrand { width:155px !important; height:36px !important; object-fit:contain !important; margin-bottom:5px !important; }
html body.locationsPage main .locationsInfoGrid .locationCard { margin:0 !important; width:100% !important; height:100% !important; }
@media(min-width:901px) {
 html body.locationsPage main.locationsMain > .nationalPresence { grid-template-columns:minmax(0,.36fr) minmax(0,.64fr) !important; align-items:stretch !important; }
 html body.locationsPage main .italyMapPanel { display:flex !important; flex-direction:column !important; align-items:stretch !important; height:100% !important; min-height:0 !important; padding:0 8px !important; }
 html body.locationsPage main .mapHeading { flex:0 0 auto; }
 html body.locationsPage main .mapHeading p { font-size:15px !important; line-height:1.25 !important; margin:3px 0 !important; }
 html body.locationsPage main .italyMap { flex:1 1 0 !important; min-height:0 !important; max-height:none !important; width:auto !important; height:auto !important; aspect-ratio:.8482 !important; align-self:center !important; max-width:100% !important; margin:4px 0 0 !important; }
 html body.locationsPage main .italyMap img { display:block !important; width:100% !important; height:100% !important; object-fit:contain !important; }
 html body.locationsPage main .mapCredit { flex:0 0 auto; }
 html body.locationsPage main .regionsPanel { padding-left:0 !important; }
 html body.locationsPage main .locationsInfoGrid { grid-template-rows:minmax(0,1fr) !important; }
 html body.locationsPage main .locationsCta > div { display:grid; grid-template-columns:auto minmax(0,1fr); column-gap:15px; align-items:center; }
 html body.locationsPage main .locationsCta small { grid-column:1/-1; }
 html body.locationsPage > footer > div:first-child { display:none !important; }
}
/* Chi siamo: finestre distese fino ai numeri; fotografia a pieno riquadro. */
@media(min-width:901px) {
 html body.aboutCompact main #storia { grid-template-rows:auto minmax(0,1fr) auto !important; align-content:stretch !important; }
 html body.aboutCompact main #storia .aboutPanels { height:100% !important; min-height:0 !important; align-self:stretch !important; align-content:stretch !important; grid-template-rows:auto minmax(0,1fr) !important; }
 html body.aboutCompact main #storia .aboutPanels > .storyGrid { height:100% !important; max-height:none !important; min-height:0 !important; align-content:stretch !important; align-items:stretch !important; margin:0 !important; padding:0 !important; }
 html body.aboutCompact main #storia .storyGrid > .storyPhoto,html body.aboutCompact main #storia .storyGrid > .storyCopy { height:100% !important; max-height:none !important; min-height:0 !important; margin:0 !important; transform:none !important; aspect-ratio:auto !important; align-self:stretch !important; }
 html body.aboutCompact main #storia .storyGrid > .storyPhoto { overflow:hidden !important; padding:0 !important; }
 html body.aboutCompact main #storia .storyGrid .storyPhoto > img.leadershipLandscape { position:absolute !important; inset:0 !important; display:block !important; width:100% !important; height:100% !important; min-height:0 !important; max-height:none !important; object-fit:cover !important; object-position:50% 40% !important; transform:none !important; border-radius:inherit !important; }
 html body.aboutCompact main #storia .numbers { margin:0 !important; align-self:end !important; }
}
@media(max-width:900px) {
 html body.locationsPage main .locationsInfoGrid { grid-template-columns:1fr !important; }
}

/* Regioni e tre contatti a sinistra; cartina grande a destra. */
@media(min-width:901px) {
 html body.locationsPage main.locationsMain { display:grid !important; grid-template-columns:minmax(0,.68fr) minmax(0,.32fr) !important; grid-template-rows:auto minmax(0,1fr) auto auto auto !important; gap:8px 16px !important; padding:92px 2vw 5px !important; }
 html body.locationsPage main.locationsMain > .locationsHero { grid-column:1/-1 !important; grid-row:1 !important; }
 html body.locationsPage main .locationsHero .eyebrow { margin:0 0 4px !important; }
 html body.locationsPage main .locationsHero h1 { margin:2px 0 4px !important; }
 html body.locationsPage main .locationsHero p { font-size:16px !important; line-height:1.3 !important; }
 html body.locationsPage main.locationsMain > .nationalPresence { display:contents !important; }
 html body.locationsPage main .regionsPanel { grid-column:1 !important; grid-row:2 !important; display:grid !important; grid-template-columns:repeat(5,minmax(0,1fr)) !important; grid-template-rows:repeat(2,minmax(0,1fr)) !important; gap:7px !important; padding:0 !important; height:100% !important; min-height:0 !important; }
 html body.locationsPage main .regionItem { padding:8px !important; }
 html body.locationsPage main .regionItem h3 { font-size:15px !important; margin:0 0 4px !important; }
 html body.locationsPage main .regionItem p { font-size:14px !important; line-height:1.25 !important; }
 html body.locationsPage main .italyMapPanel { grid-column:2 !important; grid-row:2/5 !important; display:flex !important; flex-direction:column !important; padding:4px 8px !important; height:100% !important; min-height:0 !important; width:100% !important; box-sizing:border-box !important; }
 html body.locationsPage main .mapHeading { flex:0 0 auto; }
 html body.locationsPage main .mapHeading h2 { font-size:20px !important; }
 html body.locationsPage main .mapHeading p { font-size:15px !important; }
 html body.locationsPage main .italyMap { flex:1 1 0 !important; height:auto !important; min-height:0 !important; width:auto !important; max-width:100% !important; max-height:none !important; aspect-ratio:.8482 !important; margin:5px 0 !important; align-self:center !important; }
 html body.locationsPage main .italyMap img { width:100% !important; height:100% !important; object-fit:contain !important; }
 html body.locationsPage main .mapDot { width:8px !important; height:8px !important; }
 html body.locationsPage main .contactsHeading { grid-column:1 !important; grid-row:3 !important; }
 html body.locationsPage main .locationsInfoGrid { grid-column:1 !important; grid-row:4 !important; display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:8px !important; width:100% !important; min-width:0 !important; }
 html body.locationsPage main .locationsInfoGrid .locationCard { min-width:0 !important; padding:8px 10px !important; }
 html body.locationsPage main .locationsInfoGrid .locationCard p { font-size:14px !important; line-height:1.25 !important; margin:4px 0 !important; }
 html body.locationsPage main .locationsInfoGrid .locationCard h2 { font-size:17px !important; margin:3px 0 !important; }
 html body.locationsPage main .locationCard small { font-size:11px !important; line-height:1.25 !important; }
 html body.locationsPage main .locationCard > a { font-size:13px !important; }
 html body.locationsPage main .locationsInfoGrid .locationBrand { width:140px !important; height:32px !important; }
 html body.locationsPage main .locationsInfoGrid .partnerContacts { gap:8px !important; }
 html body.locationsPage main .partnerContact { gap:8px !important; }
 html body.locationsPage main .locationsInfoGrid .partnerContact img { height:60px !important; padding:6px 8px !important; }
 html body.locationsPage main .locationsInfoGrid .partnerContact p { font-size:13px !important; line-height:1.3 !important; }
 html body.locationsPage main .locationsCta { grid-column:1/-1 !important; grid-row:5 !important; padding:6px 12px !important; }
}

/* Dove siamo: link allineati in basso, presenza e orari leggibili. */
html body.locationsPage main .locationsInfoGrid > .locationCard:not(.partnerContacts) { display:flex !important; flex-direction:column !important; align-items:flex-start !important; }
html body.locationsPage main .locationsInfoGrid .locationCard > a { display:block !important; margin: auto 0 0 !important; align-self:flex-start !important; text-align:left !important; font-size:18px !important; font-weight:800 !important; line-height:1.25 !important; padding-top:10px !important; }
html body.locationsPage main .mapHeading > small { display:block !important; font-size:18px !important; line-height:1.2 !important; font-weight:800 !important; margin-bottom:5px !important; }
html body.locationsPage main .locationsCta { align-items:center !important; }
html body.locationsPage main .locationsCta > div { display:grid !important; grid-template-columns:1fr !important; text-align:center !important; align-items:center !important; justify-items:center !important; gap:3px !important; flex:1 1 auto; }
html body.locationsPage main .locationsCta > div > p { font-size:20px !important; line-height:1.35 !important; text-align:center !important; margin:0 auto !important; width:100% !important; max-width:1000px !important; }
html body.locationsPage main .locationsCta > div > small,html body.locationsPage main .locationsCta > div > h2 { text-align:center !important; margin:0 !important; }
/* Chi siamo: principio in oro, valori più grandi e numeri raddoppiati. */
html body.aboutCompact main .aboutGroupValues > .peopleFirst > span { display:block !important; color:#d7a83f !important; font-size:22px !important; line-height:1.2 !important; font-weight:800 !important; letter-spacing:.04em !important; }
html body.aboutCompact main #storia .storyCopy .values { display:flex !important; flex-wrap:wrap !important; gap:6px !important; }
html body.aboutCompact main #storia .storyCopy .values > span { font-size:20px !important; line-height:1.25 !important; font-weight:700 !important; padding:7px 9px !important; }
html body.aboutCompact main #storia .numbers > div { display:flex !important; align-items:center !important; justify-content:center !important; gap:12px !important; padding:9px 10px !important; min-width:0 !important; }
html body.aboutCompact main #storia .numbers b { font-size:54px !important; line-height:1 !important; flex:0 0 auto; font-weight:800 !important; }
html body.aboutCompact main #storia .numbers span { font-size:28px !important; line-height:1.12 !important; font-weight:700 !important; letter-spacing:0 !important; min-width:0 !important; margin:0 !important; }
@media(max-width:900px) {
 html body.aboutCompact main #storia .numbers { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
 html body.locationsPage main .locationsCta { flex-direction:column !important; gap:10px !important; }
}

/* New Gen: benefici e riepilogo sotto il pannello della colonna destra. */
html body.newGenCompact main .newGenRight { grid-template-rows:repeat(5,auto) !important; gap:10px !important; height:auto !important; align-self:center !important; }
html body.newGenCompact main .newGenRight > .newGenBenefits { display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)) !important; gap:6px !important; margin:0 !important; }
html body.newGenCompact main .newGenRight > .newGenBenefits span { justify-content:center !important; text-align:center !important; padding:7px 8px !important; font-size:16px !important; font-weight:700 !important; border:1.5px solid #d7a83f !important; }
html body.newGenCompact main .newGenSummaryWindow { min-width:0; }
html body.newGenCompact main .newGenSummaryWindow > .newGenPhaseSummary { margin:0 !important; padding:12px 16px !important; border:1.5px solid #d7a83f !important; border-radius:10px !important; background:rgba(2,20,45,.72) !important; color:#fff !important; font-size:18px !important; font-weight:700 !important; line-height:1.35 !important; }
html body.newGenCompact main .newGenSummaryWindow > .newGenPhaseSummary[hidden] { display:none !important; }
@media(min-width:901px) {
 html body.newGenCompact main .newGenScreen { grid-template-columns:minmax(0,.36fr) minmax(0,.64fr) !important; }
 html body.newGenCompact main .newGenLeft { align-self:center !important; justify-content:center !important; gap:24px !important; height:auto !important; }
 html body.newGenCompact main .newGenApply { margin:0 !important; }
}
@media(min-width:901px) and (max-height:760px) {
 html body.newGenCompact main .newGenRight { gap:7px !important; }
 html body.newGenCompact main .newGenRight > .newGenBenefits span { font-size:14px !important; padding:5px 6px !important; }
 html body.newGenCompact main .newGenSummaryWindow > .newGenPhaseSummary { font-size:17px !important; line-height:1.3 !important; padding:9px 12px !important; }
}
@media(max-width:900px) {
 html body.newGenCompact main .newGenRight > .newGenBenefits { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
}
/* Team: nomi e ruoli più leggibili nell'elenco e nel profilo. */
html body.teamCompact main #team .teamSelector button b { font-size:18px !important; line-height:1.2 !important; font-weight:800 !important; white-space:normal !important; overflow:visible !important; text-overflow:clip !important; }
html body.teamCompact main #team .teamSelector button small { font-size:14px !important; line-height:1.25 !important; font-weight:600 !important; letter-spacing:0 !important; white-space:normal !important; overflow:visible !important; text-overflow:clip !important; }
html body.teamCompact main #team .teamSelector button { padding:7px 8px !important; min-width:0 !important; }
html body.teamCompact main #team .teamFocusCopy h3 { font-size:clamp(30px,2.7vw,40px) !important; line-height:1.1 !important; font-weight:800 !important; }
html body.teamCompact main #team .teamFocusCopy > p { font-size:18px !important; line-height:1.35 !important; font-weight:600 !important; letter-spacing:0 !important; }
/* Formazione: video a pieno riquadro, inquadratura spostata verso docente e logo. */
html body.pageCompact main #professionalizzazione .careerVisual { position:relative !important; overflow:hidden !important; padding:0 !important; }
html body.pageCompact main #professionalizzazione .careerVisual .trainingVideo { position:absolute !important; inset:0 !important; display:block !important; width:100% !important; height:100% !important; min-height:0 !important; max-height:none !important; aspect-ratio:auto !important; object-fit:cover !important; object-position:left top !important; transform:none !important; }
html body.pageCompact main #professionalizzazione .careerVisual .trainingVideoShade { inset:0 !important; width:100% !important; height:100% !important; aspect-ratio:auto !important; }
@media(max-width:900px) {
 html body.pageCompact main #professionalizzazione .careerVisual { min-height:300px !important; aspect-ratio:16/9 !important; }
}

/* Quattro passi selezionabili e comandi avanti/indietro sempre visibili. */
html body.newGenCompact main .newGenRight { grid-template-rows:repeat(6,auto) !important; }
html body.newGenCompact main .newGenTabs button { min-height:54px !important; font-size:15px !important; font-weight:800 !important; border:2px solid #d7a83f !important; }
html body.newGenCompact main .newGenTabs button > span { display:inline-flex !important; justify-content:center; align-items:center; width:28px; height:28px; margin:0 8px 0 0 !important; border-radius:50%; background:#d7a83f; color:#082647 !important; font-size:20px !important; font-weight:800 !important; vertical-align:middle; }
html body.newGenCompact main .newGenTabs button[aria-selected="true"] { background:#d7a83f !important; color:#072646 !important; box-shadow:0 0 0 2px #f7d58a !important; }
html body.newGenCompact main .newGenTabs button[aria-selected="true"] > span { background:#06264b; color:#fff !important; }
html body.newGenCompact main .newGenStepControls { display:flex; align-items:center; justify-content:space-between; gap:10px; }
html body.newGenCompact main .newGenStepControls button { cursor:pointer; padding:8px 18px; min-width:105px; font:800 16px var(--mediatel-description-font); color:#072646; background:#eec566; border:1px solid #d7a83f; border-radius:9px; }
html body.newGenCompact main .newGenStepControls button:disabled { cursor:default; opacity:.35; }
html body.newGenCompact main .newGenStepControls > span { font-size:16px !important; font-weight:700; color:white; }
@media(min-width:901px) and (max-height:760px) {
 html body.newGenCompact main .newGenRight { gap:6px !important; }
 html body.newGenCompact main .newGenTabs button { min-height:46px !important; padding:6px 4px !important; }
 html body.newGenCompact main .newGenTabs button > span { width:23px; height:23px; font-size:18px !important; margin-right:4px !important; }
 html body.newGenCompact main .newGenStepControls button { padding:6px 14px; }
}

/* Formazione: fascia Professionalizzazione sul bordo inferiore del video. */
html body.pageCompact main #professionalizzazione .careerVisual > .careerBadge { position:absolute !important; top:auto !important; right:0 !important; bottom:0 !important; left:0 !important; width:100% !important; max-width:none !important; margin:0 !important; box-sizing:border-box !important; transform:none !important; z-index:2 !important; }

/* Comandi immediati: nessuna attesa visiva nel menu e nei cambi delle schede. */
html { scroll-behavior:auto !important; }
html body[class] :is(header,header nav,.navDropdown,.navDropdownMenu,.navDropdownTrigger,.navDropdownToggle,.menu,.teamSelector button,.teamFocus,.teamFocusPhoto img,.teamFocusCopy,.solutionNavSelect,.solutionStageContent,.newGenTabs button,.newGenPhase,.newGenPhaseSummary) { transition:none !important; transition-delay:0s !important; animation:none !important; }
html body[class] :is(.navDropdown,.navDropdownMenu)::before,html body[class] :is(.navDropdown,.navDropdownMenu)::after { transition:none !important; transition-delay:0s !important; }

/* Job with us: il riquadro segue il formato 4:3 della foto completa. */
html body[class] main #job-with-us .networkPhoto { box-sizing:border-box !important; display:block !important; position:relative !important; width:100% !important; height:auto !important; min-height:0 !important; max-height:none !important; aspect-ratio:4/3 !important; align-self:center !important; margin:0 !important; padding:0 !important; background:transparent !important; overflow:hidden !important; }
html body[class] main #job-with-us .networkPhoto img { position:static !important; display:block !important; width:100% !important; height:auto !important; min-height:0 !important; max-height:none !important; aspect-ratio:4/3 !important; object-fit:contain !important; object-position:center !important; margin:0 !important; padding:0 !important; transform:none !important; border-radius:inherit !important; }
html body[class] main #job-with-us .networkPhoto::before,html body[class] main #job-with-us .networkPhoto::after { display:none !important; }
