@font-face{font-family:'Abril Fatface';src:url('/assets/fonts/abril-fatface-latin-400.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Michroma;src:url('/assets/fonts/michroma-latin-400.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url('/assets/fonts/manrope-latin-variable.woff2') format('woff2');font-style:normal;font-weight:400 700;font-display:swap}
:root{--burgundy:#860342;--burgundy-deep:#640132;--peach:#ffebdb;--peach-soft:#fff8f2;--navy:var(--burgundy);--navy-light:var(--peach);--yellow:var(--peach);--paper:var(--peach-soft);--muted:#744557;--rule:#dbc1c3;--display:'Abril Fatface',Georgia,serif;--body:Manrope,sans-serif;--accent:Michroma,sans-serif;scrollbar-color:var(--burgundy) var(--peach);scroll-padding-top:24px}
body{background:var(--peach-soft);color:var(--burgundy);font-size:16px;caret-color:var(--burgundy)}
::selection,body::selection{background:var(--burgundy);color:white}
h1,h2,h3{font-weight:400;line-height:1.12;letter-spacing:-.015em}
h2{font-size:clamp(36px,4.1vw,56px)}
a{text-underline-offset:3px}
.shell{max-width:1240px}
.site-header{position:relative;background:var(--peach);color:var(--burgundy);z-index:4}
.header-inner{min-height:88px;border-color:var(--rule)}
.brand{gap:0;flex-shrink:0}
.brand-name{font-family:var(--display);font-size:16px;line-height:1.02;letter-spacing:0}
.brand-name strong{font-family:var(--display);font-size:27px;font-weight:400;letter-spacing:0}
#main-nav{font-size:16px;gap:25px}
#main-nav a{transition:color .2s var(--ease)}
#main-nav a:hover{color:var(--burgundy-deep);text-decoration:underline}
.nav-visit{color:var(--burgundy);margin-left:0;gap:10px}
.menu-toggle{border-color:var(--rule);color:var(--burgundy)}
.poster-hero{background:var(--peach);color:var(--burgundy);padding-top:0;overflow:hidden}
.poster-hero-inner{position:relative;isolation:isolate;min-height:620px;padding-block:45px 48px}
.poster-hero-copy{position:relative;z-index:1}
.poster-date{font-family:var(--display);font-size:clamp(26px,3.1vw,42px);line-height:1.1;margin:0 0 11px}
.poster-date span{font-family:var(--body);font-size:.42em;font-weight:600;vertical-align:middle;display:inline-block;margin-left:5px}
.poster-place{font-family:var(--accent);font-size:clamp(17px,1.7vw,22px);font-weight:400;line-height:1.25;text-transform:uppercase;margin:0 0 39px}
.poster-hero h1{color:var(--burgundy);font-size:clamp(64px,7.5vw,96px);line-height:1.04;font-weight:400;letter-spacing:-.025em;text-transform:uppercase;margin:0}
.poster-hero h1 span{display:block;position:static}
.poster-hero h1 span::after{content:none}
.poster-hero h1 .title-first{font-size:.72em;line-height:1.12;letter-spacing:.025em}
.poster-subtitle{font-size:18px;font-family:var(--accent);font-weight:400;text-transform:uppercase;margin:23px 0 15px;line-height:1.35}
.poster-description{font-size:15px;line-height:1.7;margin:0 0 25px;color:var(--burgundy-deep)}
.poster-art{pointer-events:none;user-select:none;background:var(--peach);isolation:isolate}
.poster-art img{height:100%;width:100%;object-fit:contain;mix-blend-mode:multiply}
.editorial .poster-hero-inner{display:grid;grid-template-columns:1.08fr 1fr;gap:35px;align-items:center;min-height:620px;padding-block:44px}
.editorial .poster-date{font-size:clamp(27px,2.6vw,35px)}
.editorial .poster-place{font-size:15px;margin-bottom:42px;max-width:470px}
.editorial .poster-hero h1{font-size:clamp(52px,5.5vw,76px)}
.editorial .poster-hero h1 .title-first{font-size:.75em;line-height:1.25}
.editorial .poster-subtitle{font-size:18px}
.editorial .poster-art{position:relative;height:530px;width:100%;max-width:580px;justify-self:center}
.button-primary,.button-yellow{background:var(--burgundy);color:white;min-height:52px;letter-spacing:0}
.button-primary:hover,.button-yellow:hover{background:var(--burgundy-deep);color:white}
.button .icon{transition:transform .25s var(--ease)}
.button:hover .icon{transform:translateX(4px)}
.hero-foot{border-color:var(--rule);color:var(--muted);padding-block:18px;font-size:12px}
.hero-foot strong{color:var(--burgundy)}
.hero-foot a:hover{text-decoration:underline}
.festival-section{background:var(--peach-soft)}
.festival-grid{gap:9%}
.festival-grid h2{font-size:clamp(35px,3.8vw,53px);line-height:1.13}
h2 em{background:none;padding:0;font-style:normal}
.lead{font-size:22px;line-height:1.5}
.festival-copy>p:not(.lead){font-size:16px;line-height:1.8}
.topics{background:var(--peach);margin-top:68px}
.topics span{font-family:var(--accent);font-size:20px;line-height:1.4;font-weight:400;text-transform:uppercase}
.topics span::before{background:var(--burgundy);height:5px;width:5px}
.programme-section{background:white}
.section-heading h2{font-size:clamp(37px,4.4vw,58px)}
.section-heading p{color:var(--muted);font-size:15px;line-height:1.7}
.text-button,.text-link{font-size:16px}
.day-tabs{border-color:var(--burgundy)}
.day-tab+.day-tab{border-color:var(--burgundy)}
.day-tab strong{font-family:var(--display);font-weight:400;font-size:49px;letter-spacing:0}
.day-tab[aria-selected=true]{background:var(--burgundy);color:white}
.day-tab:hover:not([aria-selected=true]){background:var(--peach)}
.event-title{font-size:20px;line-height:1.4;font-weight:600;letter-spacing:0}
.event-time{font-family:var(--body);font-size:25px;font-weight:600;line-height:1.3;letter-spacing:-.02em}
.event-meta,.event-extra{line-height:1.65}
.event-format{background:var(--peach-soft);color:var(--muted)}
.event-row.highlight .event-format{background:var(--peach);color:var(--burgundy)}
.guest-filter{background:var(--peach)}
.guest-filter button{font-size:12px}
.guests-section{background:var(--peach)}
.guest{border-color:var(--rule);padding-block:21px;gap:15px;min-height:108px}
.guest-name{font-family:var(--display);font-size:25px;line-height:1.2;font-weight:400;letter-spacing:0}
.guest-avatar{background:var(--peach-soft);color:var(--burgundy);font-family:var(--body);font-size:20px;font-weight:600;width:54px;height:54px}
.guest-avatar img{background:inherit}
.guest-identity{gap:9px}
.guest-role{font-size:16px;line-height:1.55;color:var(--muted)}
.guest-role a{color:var(--burgundy)}
.guest-role a:hover,.guest-role a:focus-visible{color:white;background:var(--burgundy)}
.guest-day{font-size:11px;color:var(--muted);min-width:45px;max-width:88px}
.guest .icon{margin-left:0;width:16px}
.experience-section{background:var(--burgundy);color:white}
.experience-grid h2{color:var(--peach);font-size:clamp(44px,5vw,65px)}
.experience-intro,.experience-list p{color:var(--peach)}
.experience-intro{font-size:19px;line-height:1.6}
.experience-list h3{color:white;font-size:30px;font-weight:400;letter-spacing:0;line-height:1.2}
.experience-list article{border-color:#b5678b}
.experience-list article>span{color:var(--peach)}
.location-section{background:var(--peach);color:var(--burgundy)}
.location-copy h2{color:var(--burgundy);font-size:clamp(39px,4.3vw,59px)}
.location-copy>p:not(.location-name){color:var(--muted);line-height:1.8}
.location-name{font-size:19px}
.location-parking{margin-top:28px;padding-top:24px;border-top:1px solid var(--rule)}
.location-parking h3{font-family:var(--body);font-size:16px;font-weight:600;line-height:1.5;letter-spacing:0}
.location-parking ul{list-style:none;margin:12px 0 0;padding:0}
.location-parking a{display:inline-flex;align-items:center;gap:10px;min-height:36px;font-size:16px;line-height:1.5}
.location-parking .icon{width:16px;height:16px}
.location-parking a:hover{color:var(--burgundy-deep);text-decoration-thickness:2px}
.info-contacts{margin:28px 0 0;font-size:16px;line-height:1.6}
.info-contacts>div+div{margin-top:22px}
.info-contacts dt{font-weight:600}
.info-contacts dd{margin:6px 0 0}
.info-contacts a{display:inline-block;overflow-wrap:anywhere;text-decoration-thickness:1px}
.info-contacts a:hover{color:var(--burgundy-deep);text-decoration-thickness:2px}

.publisher-section{background:var(--peach-soft)}
.publisher-grid h2{font-size:38px;line-height:1.15}
.anniversary>strong{font-weight:400;font-size:84px}
.info-section{background:var(--peach-soft)}
.info-grid h2{font-size:clamp(36px,4vw,54px)}
.faq summary{font-size:16px;line-height:1.5}
.faq details>div{line-height:1.8;font-size:16px}
.partners-section{background:white}
.sponsors-layout{display:grid;grid-template-columns:minmax(0,1fr) 264px;gap:40px 28px}
.sponsors-layout>.main-sponsors,.sponsors-layout>.partners-secondary{grid-column:1;min-width:0}
.sponsors-layout>.partners-secondary{margin-top:0;grid-template-columns:repeat(2,minmax(0,1fr))}
.contribution{grid-column:2;grid-row:1 / span 2;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;border-left:1px solid var(--rule);padding-left:24px;text-align:center;min-width:0}
.contribution .partners-label{margin:0;line-height:1.5}
.contribution img{display:block;width:100%;max-width:240px;height:auto;object-fit:contain}
.contribution-logos{display:flex;flex-direction:column;align-items:center;gap:8px;list-style:none;padding:0;margin:32px 0 0;width:100%}
.contribution-logos li{display:flex;justify-content:center;width:100%}
.contribution .contribution-comune{width:auto;height:96px;max-width:80px}
.main-sponsor-logos{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 32px}
.main-sponsor-logos li{min-height:120px}
.main-sponsor-logos .sponsor-socar-api{max-width:400px}
.main-sponsor-logos .sponsor-autostrade{max-width:240px}
.partners-label{font-family:var(--body);font-weight:500;font-size:16px;text-transform:uppercase;letter-spacing:.055em}
.event-partners .partner-logos{grid-template-columns:repeat(2,minmax(0,1fr));background:none;padding:0;gap:24px}
.partner-logos .sponsor-seeport{max-width:190px;height:auto}
.partner-logos .partner-eccellenza{height:110px;max-width:110px}
.partner-mole-frame{display:flex;align-items:center;justify-content:center;width:100%;max-width:190px;aspect-ratio:7/5;overflow:hidden}
.partner-logos .partner-the-mole{width:150%;max-width:none;height:auto;flex-shrink:0}
.partner-manualis-frame{display:flex;align-items:center;justify-content:center;width:100%;max-width:190px;aspect-ratio:5/4;overflow:hidden}
.partner-logos .partner-manualis{width:125%;max-width:none;height:auto;flex-shrink:0}
.partner-logos .partner-mole{grid-column:1/-1}
.partner-logos .sponsor-moroder{max-width:220px;height:110px}
.partners-secondary{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.supporting-sponsors .partner-logos{grid-template-columns:repeat(2,minmax(0,1fr))}
.partner-logos .sponsor-guzzini{max-width:150px;height:70px}
.partner-logos .sponsor-clementoni{max-width:170px;height:70px}
.partner-logos .sponsor-str{max-width:150px;height:70px}
.partner-logos .sponsor-fainplast{max-width:190px;height:70px}
.media-partners{grid-column:1/-1;min-width:0;border-top:1px solid var(--rule);padding-top:32px}
.media-partners .partner-logos{display:flex;flex-wrap:wrap;gap:24px 40px}
.media-partners .partner-logos li{width:220px;max-width:100%;min-height:80px}
.media-partners a{display:block;width:100%}
.media-partners img{max-width:220px;height:72px}
@media(max-width:1200px){
.sponsors-layout{grid-template-columns:1fr}
.sponsors-layout>.main-sponsors,.sponsors-layout>.partners-secondary{grid-column:1}
.contribution{grid-column:1;grid-row:auto;border-left:0;border-bottom:1px solid var(--rule);padding:0 0 28px}
}
@media(max-width:1000px){
.partners-secondary,.sponsors-layout>.partners-secondary{grid-template-columns:1fr}
.partners-secondary>div+div{border-left:0;border-top:1px solid var(--rule);padding:28px 0 0}
}
@media(max-width:600px){
.partners-section .partner-logos{display:grid;grid-template-columns:1fr;grid-auto-rows:minmax(120px,auto);gap:16px;justify-items:center}
.partners-section .partner-logos li{width:100%;min-height:120px}
.partners-section .partner-logos img{width:220px;max-width:100%;height:auto}
.partners-section .partner-logos :is(.sponsor-enel,.sponsor-guzzini,.sponsor-str){width:180px}
.partners-section .partner-logos .sponsor-socar-api{width:320px}
.partners-section .partner-logos .partner-eccellenza{width:110px}
.partners-section .partner-manualis-frame{max-width:140px}
.partners-section .partner-mole-frame{max-width:160px}
.partners-section .partner-logos .partner-manualis{width:125%;max-width:none}
.partners-section .partner-logos .partner-the-mole{width:150%;max-width:none}
.media-partners a{width:220px;max-width:100%}
}
.site-footer{background:var(--burgundy);color:white}
.footer-top p{font-weight:400;font-size:clamp(32px,4.1vw,54px);line-height:1.15}
.footer-top p span{color:var(--peach)}
.footer-bottom,.back-top{border-color:#b5678b}
.footer-bottom,.photo-credit{color:var(--peach)}
.back-top:hover{color:white;border-color:white}
.photo-credit a:hover{color:white}
@media(min-width:1600px){
.poster-hero h1{font-size:96px}
.editorial .poster-hero h1{font-size:76px}
}
@media(max-width:1050px){
#main-nav{gap:17px;font-size:12px}
.editorial .poster-hero-inner{gap:20px;grid-template-columns:1.15fr 1fr}
.editorial .poster-hero h1{font-size:clamp(48px,5.5vw,70px)}
.editorial .poster-place{font-size:15px}
.editorial .poster-art{height:460px}
.poster-hero-inner{min-height:600px}
.guest-name{font-size:23px}
.guest{gap:11px}
.guest-day{max-width:54px}
.guest .icon{display:none}
}
@media(max-width:800px){
.header-inner{min-height:82px}
.brand-name{font-size:15px}
.brand-name strong{font-size:25px}
#main-nav{top:82px;background:var(--peach-soft);color:var(--burgundy);font-size:16px;padding:18px var(--space) 24px;border-bottom-color:var(--rule);gap:6px}
.menu-open .nav-visit{justify-content:flex-start}
.poster-hero h1{font-size:clamp(56px,8vw,76px)}
.poster-place{font-size:18px}
.poster-hero-inner{padding-block:40px;min-height:560px}
.editorial .poster-hero-inner{grid-template-columns:1fr;min-height:0;gap:18px;padding-block:35px 28px}
.editorial .poster-hero-copy{max-width:640px;width:100%;margin-inline:auto;text-align:center}
.editorial .poster-hero h1{font-size:clamp(56px,8vw,76px)}
.editorial .poster-place{margin-bottom:30px;max-width:none}
.editorial .poster-art{height:350px;max-width:420px}
.festival-grid{gap:38px}
.festival-grid h2{font-size:35px}
.lead{font-size:20px}
.topics span{font-size:16px}
.experience-grid,.info-grid{grid-template-columns:1fr 1.2fr;gap:35px}
.experience-grid h2{font-size:47px}
.location-copy{padding-inline:30px}
.location-copy h2{font-size:41px}
.publisher-grid h2{font-size:33px}
.guest-name{font-size:22px}
.guest-role{font-size:12px}
.guest-avatar{width:46px;height:46px}
.guest-list{column-gap:26px}
.guest-day{font-size:10px}
}
@media(max-width:600px){
:root{--space:22px}
.header-inner{min-height:76px}
.brand-name{font-size:16px}
.brand-name strong{font-size:23px}
#main-nav{top:76px}
.menu-toggle{font-size:12px;min-height:40px}
.poster-hero-inner{padding-block:35px 40px;min-height:0}
.poster-date{font-size:26px;margin-bottom:12px}
.poster-date span{font-size:12px;margin-left:3px}
.poster-place{font-size:15px;max-width:330px;margin:0 auto 33px;line-height:1.25}
.poster-hero h1{font-size:clamp(40px,10.5vw,63px);line-height:1.08;letter-spacing:-.025em}
.poster-hero h1 .title-first{font-size:.74em;line-height:1.2;letter-spacing:.025em}
.poster-subtitle{font-size:15px;max-width:330px;margin:21px auto 16px}
.poster-description{font-size:16px;line-height:1.7;margin-bottom:23px}
.button-primary,.button-yellow{font-size:16px;padding-inline:17px;gap:22px;min-height:51px}
.hero-foot{font-size:11px;min-height:56px;line-height:1.5}
.hero-foot a{display:none}
.editorial .poster-hero-inner{padding-block:31px 26px;gap:20px}
.editorial .poster-date{font-size:26px}
.editorial .poster-place{font-size:15px;margin-bottom:31px;max-width:330px}
.editorial .poster-hero h1{font-size:clamp(40px,10.5vw,63px)}
.editorial .poster-hero h1 .title-first{font-size:.74em;line-height:1.2}
.editorial .poster-subtitle{font-size:15px}
.editorial .poster-art{height:320px;max-width:330px}
.festival-grid{gap:27px}
.festival-grid h2{font-size:37px;line-height:1.15}
.lead{font-size:21px}
.topics{margin-top:39px}
.topics-inner{gap:9px;justify-content:center}
.topics span{font-size:16px;line-height:1.25}
.topics span::before{width:4px;height:4px;margin-right:9px}
.section-heading h2{font-size:40px}
.section-heading p{font-size:16px}
.day-tab{min-height:122px;padding:12px 10px}
.day-tab strong{font-size:42px;line-height:1.1}
.day-tab>span:first-child{font-size:11px}
.day-tab>span:nth-of-type(2){font-size:11px}
.event-row{grid-template-columns:61px minmax(0,1fr);gap:0 14px}
.event-time{font-size:21px;line-height:1.4}
.event-title{font-size:18px;line-height:1.45}
.event-meta{font-size:12px}
.event-extra{font-size:12px}
.event-format{font-size:10px}
.programme-notice{font-size:11px;line-height:1.7}
.guest-list{grid-template-columns:1fr}
.guest{padding-block:19px;gap:13px;min-height:101px}
.guest-name{font-size:24px}
.guest-role{font-size:12px}
.guest-avatar{width:46px;height:46px;font-size:18px}
.guest-day{font-size:10px;min-width:39px;max-width:47px!important}
.experience-grid,.info-grid{grid-template-columns:1fr;gap:33px}
.experience-grid h2{font-size:49px}
.experience-intro{font-size:18px}
.experience-list h3{font-size:29px}
.experience-list p{font-size:15px}
.location-copy{padding:42px var(--space) 49px}
.location-copy h2{font-size:45px}
.location-copy>p:not(.location-name){font-size:15px}
.publisher-grid{grid-template-columns:80px minmax(0,1fr);gap:20px}
.publisher-grid h2{font-size:29px}
.publisher-grid p{font-size:15px}
.info-grid h2{font-size:43px}
.faq summary{font-size:16px}
.footer-top p{font-size:31px}
.footer-bottom{font-size:11px}
.photo-credit{font-size:11px}
.partners-label{font-size:16px}
}
@media(max-width:360px){
:root{--space:18px}
.poster-date,.editorial .poster-date{font-size:24px}
.poster-place,.editorial .poster-place{font-size:15px}
.poster-hero h1,.editorial .poster-hero h1{font-size:39px}
.poster-description{font-size:12px}
.poster-subtitle,.editorial .poster-subtitle{font-size:18px}
.guest-name{font-size:21px}
.guest{gap:9px}
.guest-avatar{width:41px;height:41px}
.guest-role{font-size:12px}
.topics span{font-size:16px}
.publisher-grid h2{font-size:26px}
.footer-top p{font-size:27px}
}
@media(prefers-reduced-motion:reduce){
:root{scroll-behavior:auto}
*,*::before,*::after{animation:none!important;transition:none!important}
}
@media print{
.programme-section{color:black}
.event-time{font-size:14pt}
.event-title{font-size:13pt}
.section-heading h2::before{font-family:var(--body)}
}
