.elementor-11 .elementor-element.elementor-element-a45494a{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-11 .elementor-element.elementor-element-cb8578d{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-11 .elementor-element.elementor-element-61782a0{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-11 .elementor-element.elementor-element-6f2e164{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-11 .elementor-element.elementor-element-3edf3e3{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-11 .elementor-element.elementor-element-59c1633{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-11 .elementor-element.elementor-element-3c86b12{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-11 .elementor-element.elementor-element-7b94ede{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-11 .elementor-element.elementor-element-14d06b6{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-form .elementor-field-group > label, .elementor-widget-form .elementor-field-subgroup label{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group > label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-widget-form .elementor-field-type-html{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-widget-form .elementor-field-group .elementor-field{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group .elementor-field, .elementor-widget-form .elementor-field-subgroup label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-widget-form .elementor-button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}.elementor-widget-form .e-form__buttons__wrapper__button-next{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-button[type="submit"]{background-color:var( --e-global-color-accent );}.elementor-widget-form .e-form__buttons__wrapper__button-previous{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-message{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-widget-form .e-form__indicators__indicator, .elementor-widget-form .e-form__indicators__indicator__label{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}.elementor-widget-form{--e-form-steps-indicator-inactive-primary-color:var( --e-global-color-text );--e-form-steps-indicator-active-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-completed-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-background-color:var( --e-global-color-text );--e-form-steps-indicator-progress-meter-color:var( --e-global-color-text );}.elementor-widget-form .e-form__indicators__indicator__progress__meter{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}.elementor-11 .elementor-element.elementor-element-e15aa03 .elementor-field-group{padding-right:calc( 20px/2 );padding-left:calc( 20px/2 );margin-bottom:20px;}.elementor-11 .elementor-element.elementor-element-e15aa03 .elementor-form-fields-wrapper{margin-left:calc( -20px/2 );margin-right:calc( -20px/2 );margin-bottom:-20px;}.elementor-11 .elementor-element.elementor-element-e15aa03 .elementor-field-group.recaptcha_v3-bottomleft, .elementor-11 .elementor-element.elementor-element-e15aa03 .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-11 .elementor-element.elementor-element-e15aa03 .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-11 .elementor-element.elementor-element-e15aa03 .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-11 .elementor-element.elementor-element-e15aa03 .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-11 .elementor-element.elementor-element-e15aa03 .elementor-field-type-html{padding-bottom:0px;}.elementor-11 .elementor-element.elementor-element-e15aa03 .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;}.elementor-11 .elementor-element.elementor-element-e15aa03 .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;}.elementor-11 .elementor-element.elementor-element-e15aa03 .e-form__buttons__wrapper__button-next{color:#ffffff;}.elementor-11 .elementor-element.elementor-element-e15aa03 .elementor-button[type="submit"]{color:#ffffff;}.elementor-11 .elementor-element.elementor-element-e15aa03 .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-11 .elementor-element.elementor-element-e15aa03 .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-11 .elementor-element.elementor-element-e15aa03 .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-11 .elementor-element.elementor-element-e15aa03 .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-11 .elementor-element.elementor-element-e15aa03 .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-11 .elementor-element.elementor-element-e15aa03 .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-11 .elementor-element.elementor-element-e15aa03{--e-form-steps-indicators-spacing:20px;--e-form-steps-indicator-padding:30px;--e-form-steps-indicator-inactive-secondary-color:#ffffff;--e-form-steps-indicator-active-secondary-color:#ffffff;--e-form-steps-indicator-completed-secondary-color:#ffffff;--e-form-steps-divider-width:1px;--e-form-steps-divider-gap:10px;}.elementor-11 .elementor-element.elementor-element-35e6cf0{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-widget-form .elementor-field-group > label{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-widget-form .elementor-field-type-html{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-widget-form .elementor-field-group .elementor-field, .elementor-widget-form .elementor-field-subgroup label{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-widget-form .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}.elementor-widget-form .elementor-message{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-widget-form .e-form__indicators__indicator, .elementor-widget-form .e-form__indicators__indicator__label{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}.elementor-widget-form .e-form__indicators__indicator__progress__meter{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}}@media(max-width:767px){.elementor-widget-form .elementor-field-group > label{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-widget-form .elementor-field-type-html{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-widget-form .elementor-field-group .elementor-field, .elementor-widget-form .elementor-field-subgroup label{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-widget-form .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}.elementor-widget-form .elementor-message{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-widget-form .e-form__indicators__indicator, .elementor-widget-form .e-form__indicators__indicator__label{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}.elementor-widget-form .e-form__indicators__indicator__progress__meter{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}}/* Start custom CSS *//* ============ HOME — scroll cinematografico ============ */
/* Senza JavaScript, su mobile e con "riduci movimento" la pagina resta un layout normale.
   La classe .js-scroll (desktop) attiva le sezioni fisse. */

.home .site-footer{margin-top:0}
.home .site-header:not(.scrolled):not(.mega-open) .logo,
.home .site-header:not(.scrolled):not(.mega-open) .menu-toggle{color:var(--bianco-osso)}
.home .site-header:not(.scrolled):not(.mega-open) .logo strong{color:var(--ocra)}
.home .site-header:not(.scrolled):not(.mega-open) .main-nav > a:not(.btn),
.home .site-header:not(.scrolled):not(.mega-open) .nav-mega-btn{color:rgba(245,239,227,.92)}
.home .site-header:not(.scrolled):not(.mega-open) .main-nav > a:not(.btn):hover{color:var(--ocra)}
.home .site-header:not(.scrolled):not(.mega-open) .lang-switcher button{color:rgba(245,239,227,.6)}
.home .site-header:not(.scrolled):not(.mega-open) .lang-switcher button.is-active{color:var(--ocra)}
.home .site-header:not(.scrolled):not(.mega-open) .lang-switcher span{color:rgba(245,239,227,.35)}
.home .display{text-wrap:balance}

/* ---------- Apertura ---------- */
.h-open{position:relative;background:var(--bianco-osso)}
.h-open__stage{position:relative}
.h-open__frame{position:absolute;top:0;left:0;right:0;height:100vh;height:100svh;overflow:hidden;background:var(--quasi-nero)}
.h-open__media{width:100%;height:100%;object-fit:cover;display:block}
.h-open__shade{position:absolute;inset:0;background:linear-gradient(to top,rgba(28,24,20,.92),rgba(28,24,20,.45) 45%,rgba(28,24,20,.3))}
.h-open__hero{position:relative;z-index:3;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;padding-top:140px;padding-bottom:88px;color:var(--bianco-osso)}
.h-open__roles{display:flex;align-items:center;gap:14px;font-size:14px;font-weight:500;letter-spacing:.04em;color:var(--ocra)}
.h-waves{fill:currentColor;flex-shrink:0}
.h-waves rect{transform-origin:center;transform-box:fill-box;animation:h-wave 1.5s ease-in-out infinite}
.h-waves rect:nth-child(2){animation-delay:-.3s}.h-waves rect:nth-child(3){animation-delay:-.7s}
.h-waves rect:nth-child(4){animation-delay:-1.1s}.h-waves rect:nth-child(5){animation-delay:-.5s}
@keyframes h-wave{0%,100%{transform:scaleY(.35)}50%{transform:scaleY(1)}}
.h-open__title{font-size:clamp(52px,10.5vw,148px);line-height:.92;letter-spacing:-.035em;margin-top:20px;max-width:11ch}
.h-open__title em{color:var(--ocra);font-style:italic;font-weight:400}
.h-open__lead{margin-top:28px;font-size:clamp(16px,1.35vw,19px);line-height:1.6;max-width:54ch;color:rgba(245,239,227,.86)}
.h-open__cta{margin-top:36px;display:flex;flex-wrap:wrap;gap:14px}
.h-open__story{position:relative;z-index:3;padding-top:96px;padding-bottom:96px;color:var(--quasi-nero)}
.h-open__statement{font-family:'Fraunces',Georgia,serif;font-weight:500;font-size:clamp(30px,4.4vw,64px);line-height:1.08;letter-spacing:-.02em;max-width:17ch;text-wrap:balance}
.h-open__statement em{font-style:italic;font-weight:400}
.h-open__body{margin-top:28px;font-size:17px;line-height:1.7;max-width:46ch;color:rgba(28,24,20,.75)}
.h-open__story .underline-link{margin-top:28px}
.h-open__float{display:none;height:auto;object-fit:cover;border-radius:6px;box-shadow:0 30px 70px rgba(28,24,20,.28)}
.h-open__hint{display:none}

.js-scroll{scroll-behavior:auto}
.js-scroll .h-open{height:340vh}
.js-scroll .h-open__stage{position:sticky;top:0;height:100vh;overflow:hidden;perspective:1600px;background:var(--quasi-nero)}
.js-scroll .h-open__frame{inset:0;height:auto;will-change:transform;transform-origin:50% 50%}
.js-scroll .h-open__hero{position:absolute;inset:0;min-height:0}
.js-scroll .h-open__story{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding-top:80px;padding-bottom:0;opacity:0;visibility:hidden;will-change:transform,opacity}
.js-scroll .h-open__story > *{max-width:min(46%,560px)}
.js-scroll .h-open__float{display:block;position:absolute;z-index:2;opacity:0;will-change:transform,opacity}
.js-scroll .h-open__float--a{right:6vw;bottom:9vh;width:19vw;aspect-ratio:4/5}
.js-scroll .h-open__float--b{right:33vw;top:14vh;width:13vw;aspect-ratio:4/3;z-index:1}
.js-scroll .h-open__hint{display:block;position:absolute;left:50%;bottom:26px;width:1px;height:44px;background:rgba(245,239,227,.35);overflow:hidden;z-index:4}
.js-scroll .h-open__hint::after{content:"";position:absolute;left:0;top:0;width:100%;height:50%;background:var(--ocra);animation:h-hint 1.8s cubic-bezier(.6,0,.2,1) infinite}
@keyframes h-hint{0%{transform:translateY(-100%)}100%{transform:translateY(200%)}}

/* ---------- Attività: scorrimento orizzontale ---------- */
.h-acts{position:relative;background:var(--bianco-osso)}
.h-acts__stage{padding:88px 0 72px}
.h-acts__head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:40px}
.h-acts__head .display{margin-top:0;max-width:14ch}
.h-acts__viewport{overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.h-acts__viewport::-webkit-scrollbar{display:none}
.h-acts__track{list-style:none;display:flex;gap:20px;padding:0 24px;width:max-content}
@media(min-width:768px){.h-acts__track{padding:0 32px}}
@media(min-width:1264px){.h-acts__track{padding:0 calc((100vw - var(--container)) / 2 + 32px)}}
.h-act{flex:0 0 auto;width:min(78vw,460px);scroll-snap-align:center}
.h-act a{position:relative;display:block;height:min(62vh,560px);min-height:380px;border-radius:4px;overflow:hidden;color:var(--bianco-osso);background:var(--quasi-nero)}
.h-act img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.h-act a::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(to top,rgba(28,24,20,.94),rgba(28,24,20,.35) 55%,rgba(28,24,20,.1))}
.h-act a::after{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;z-index:2;background:var(--acc)}
.h-act a:hover img,.h-act a:focus-visible img{transform:scale(1.05)}
.h-act__body{position:absolute;z-index:2;left:30px;right:26px;bottom:28px;display:flex;flex-direction:column;gap:10px}
.h-act__flag{align-self:flex-start;font-size:12px;font-weight:600;padding:4px 10px;background:var(--bianco-osso);color:var(--indaco);border-radius:2px}
.h-act__title{font-family:'Fraunces',Georgia,serif;font-weight:600;font-size:clamp(26px,2.4vw,34px);line-height:1.05;letter-spacing:-.02em}
.h-act__short{font-size:15px;line-height:1.5;color:rgba(245,239,227,.84);max-width:34ch}
.h-act__who{font-size:13px;color:var(--ocra)}
.h-act--indaco{--acc:var(--indaco)}.h-act--terracotta{--acc:var(--terracotta)}.h-act--ocra{--acc:var(--ocra)}
.h-act--verde-foresta{--acc:var(--verde-foresta)}.h-act--quasi-nero{--acc:var(--bianco-osso)}
.js-scroll .h-acts__stage{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;justify-content:center;padding:96px 0 40px;overflow:hidden}
.js-scroll .h-acts__viewport{overflow:hidden;scroll-snap-type:none}
.js-scroll .h-acts__head,.js-scroll .h-acts__beats{width:100%}
.js-scroll .h-acts__track{will-change:transform}
.js-scroll .h-act{width:clamp(340px,30vw,480px)}
.js-scroll .h-act a{height:min(56vh,540px)}


@media(prefers-reduced-motion:reduce){.h-waves rect{animation:none;transform:scaleY(.8)}}

/* ---------- Hero: più foto ---------- */
.h-open__slide{position:absolute;inset:0;opacity:0;transform:scale(1.09);transition:opacity 1.6s ease,transform 8s ease-out}
.h-open__slide.is-active{opacity:1;transform:scale(1)}
.h-open__caption{position:absolute;left:0;right:0;top:calc(100svh - 58px);z-index:4;pointer-events:none}
.h-open__caption span{position:absolute;right:24px;top:0;padding-left:44px;font-size:13px;color:rgba(245,239,227,.85);opacity:0;transform:translateY(8px);transition:opacity .6s ease,transform .6s ease;white-space:nowrap}
.h-open__caption span::before{content:"";position:absolute;left:0;top:50%;width:32px;height:1px;background:var(--ocra)}
.h-open__caption span.is-active{opacity:1;transform:none}
@media(min-width:768px){.h-open__caption span{right:32px}}
@media(max-width:600px){.h-open__caption{display:none}}
.js-scroll .h-open__caption{top:auto;bottom:58px}

/* ---------- Onda sonora ---------- */
.h-wave{background:var(--bianco-osso);padding:8px 0 0;line-height:0}
.h-wave svg{display:block;width:100%;height:clamp(56px,9vw,120px)}
.h-wave rect{fill:var(--terracotta);transform-box:fill-box;transform-origin:center}
.h-wave rect:nth-child(3n){fill:var(--ocra)}

/* ---------- Battiti (avanzamento attività) ---------- */
.h-acts__beats{display:none}
.js-scroll .h-acts__beats{display:flex;gap:14px;margin-top:34px;align-items:center}
.h-acts__beats i{width:12px;height:12px;border-radius:50%;border:1.5px solid rgba(28,24,20,.3);transition:transform .35s cubic-bezier(.3,1.6,.5,1),background .25s,border-color .25s}
.h-acts__beats i.on{background:var(--terracotta);border-color:var(--terracotta)}
.h-acts__beats i.hit{transform:scale(1.7)}

/* ---------- Cerchi di risonanza ---------- */
.h-ripples{position:absolute;pointer-events:none;overflow:visible}
.h-ripples circle{fill:none;stroke:currentColor;stroke-width:1;vector-effect:non-scaling-stroke;transform-box:fill-box;transform-origin:center;animation:h-ripple 4.8s linear infinite;opacity:0}
.h-ripples circle:nth-child(2){animation-delay:-1.2s}.h-ripples circle:nth-child(3){animation-delay:-2.4s}.h-ripples circle:nth-child(4){animation-delay:-3.6s}
@keyframes h-ripple{0%{transform:scale(.4);opacity:0}12%{opacity:.7}100%{transform:scale(3.3);opacity:0}}

/* ---------- Aziende ---------- */
.h-corp{position:relative;overflow:hidden;display:flex;align-items:center;min-height:100vh;padding:128px 0}
.h-corp__bg{position:absolute;inset:-14% 0;z-index:0}
.h-corp__bg img{width:100%;height:100%;object-fit:cover;opacity:.34;filter:grayscale(1) contrast(1.1);mix-blend-mode:luminosity}
.h-corp__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,var(--indaco) 28%,rgba(36,52,86,.55) 70%,rgba(36,52,86,.8))}
.h-corp .h-ripples{right:-12vw;top:50%;width:min(70vw,900px);transform:translateY(-50%);color:var(--ocra);z-index:1}
.h-corp__grid{position:relative;z-index:2;display:grid;gap:64px;width:100%}
.h-corp .display{margin-top:0;font-size:clamp(48px,8.4vw,128px);line-height:.92;letter-spacing:-.035em}
.h-corp .display em{font-style:italic;font-weight:400}
.h-corp .body-lg{color:rgba(245,239,227,.86);max-width:50ch;font-size:clamp(17px,1.4vw,20px)}
.h-corp__cta{margin-top:36px;display:flex;flex-wrap:wrap;align-items:center;gap:24px}
.h-corp__more{font-weight:600;font-size:15px;color:var(--bianco-osso);text-decoration:underline;text-underline-offset:6px;text-decoration-color:rgba(245,239,227,.4)}
.h-corp__more:hover{text-decoration-color:var(--ocra)}
.h-corp__stats{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(245,239,227,.22)}
@media(min-width:900px){.h-corp__stats{grid-template-columns:repeat(4,1fr)}}
.h-corp__stats > div{padding:28px 32px 0 0}
.h-corp__stats dt{font-family:'Fraunces',Georgia,serif;font-weight:500;font-size:clamp(36px,4.2vw,62px);line-height:1;white-space:nowrap;color:var(--ocra);font-variant-numeric:tabular-nums}
.h-corp__stats dd{margin-top:12px;font-size:14px;line-height:1.4;color:rgba(245,239,227,.76);max-width:20ch}

@media(prefers-reduced-motion:reduce){.h-ripples circle{animation:none;opacity:.25;transform:scale(1.6)}.h-ripples circle:nth-child(2){transform:scale(2.4)}.h-ripples circle:nth-child(n+3){display:none}.h-open__slide{transition:opacity .01s}}

/* ---------- Eventi ---------- */
.h-events{padding:104px 0 112px;background:var(--bianco-osso)}
@media(min-width:768px){.h-events{padding:144px 0 152px}}
.h-events .display{margin-top:0}
.h-events__scroll{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.h-events__scroll::-webkit-scrollbar{display:none}
.h-events__grid{list-style:none;display:flex;gap:20px;padding:0 24px;width:max-content}
.h-ev{width:min(74vw,320px);scroll-snap-align:center;display:flex;flex-direction:column}
.h-ev__img{display:block;aspect-ratio:4/5;overflow:hidden;border-radius:4px;background:var(--bianco-soft)}
.h-ev__img img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}
.h-ev:hover .h-ev__img img{transform:scale(1.05)}
.h-ev__when{margin-top:18px;font-size:13px;font-weight:600;color:var(--terracotta-dark)}
.h-ev__title{margin-top:8px;font-size:clamp(22px,1.9vw,27px);line-height:1.12}
.h-ev__desc{margin-top:10px;font-size:15px;line-height:1.55;color:rgba(28,24,20,.72)}
.h-ev__link{margin-top:auto;padding-top:16px;align-self:flex-start;font-size:14px;font-weight:600;color:var(--quasi-nero);text-decoration:underline;text-underline-offset:6px;text-decoration-color:var(--terracotta)}
.h-ev__link:hover{color:var(--terracotta-dark)}
@media(min-width:1024px){
  .h-events__scroll{overflow:visible}
  .h-events__grid{width:auto;max-width:var(--container);margin:0 auto;padding:0 32px;display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:22px}
  .h-ev{width:auto}
}
.h-events__empty{font-family:'Fraunces',Georgia,serif;font-size:clamp(22px,2.4vw,30px);line-height:1.3;max-width:28ch}
.h-events__empty .underline-link{display:block;margin-top:20px;font-family:'Sora',system-ui,sans-serif;font-size:16px;text-decoration:underline}

/* ---------- Progetti e collaborazioni ---------- */
.h-proj{position:relative}
.h-proj__stage{padding:104px 0}
.h-proj__label{font-family:'Sora',system-ui,sans-serif;font-weight:500;font-size:15px;letter-spacing:.02em;color:var(--ocra)}
.h-proj__list{list-style:none;margin-top:28px}
.h-proj__list li{border-top:1px solid rgba(245,239,227,.16)}
.h-proj__list li:last-child{border-bottom:1px solid rgba(245,239,227,.16)}
.h-proj__list a{display:flex;align-items:center;gap:18px;padding:18px 0;color:var(--bianco-osso)}
.h-proj__thumb{width:56px;height:70px;object-fit:cover;border-radius:3px;flex-shrink:0}
.h-proj__name{font-family:'Fraunces',Georgia,serif;font-weight:500;font-size:clamp(26px,6.4vw,40px);line-height:1.02;letter-spacing:-.025em}
.h-proj__desc{display:block;margin-top:6px;font-size:14px;color:rgba(245,239,227,.75)}
.h-proj__media{display:none}
@media(min-width:1024px){
  .h-proj__stage{padding:0;min-height:100vh;display:flex;align-items:center}
  .h-proj__grid{display:grid;grid-template-columns:7fr 5fr;gap:72px;align-items:center;width:100%;padding-top:96px;padding-bottom:56px}
  .h-proj__thumb{display:none}
  .h-proj__list{margin-top:36px}
  .h-proj__list li,.h-proj__list li:last-child{border:0}
  .h-proj__list a{display:block;padding:9px 0;opacity:.3;transition:opacity .45s ease,transform .6s cubic-bezier(.2,.7,.2,1)}
  .h-proj__list li.is-active a{opacity:1;transform:translateX(18px)}
  .h-proj__list a:focus-visible{opacity:1}
  .h-proj__name{font-size:clamp(40px,5.3vw,88px);line-height:.98;letter-spacing:-.035em}
  .h-proj__media{display:block;position:relative;aspect-ratio:4/5;max-height:74vh;justify-self:end;width:100%;border-radius:4px;overflow:hidden;background:rgba(245,239,227,.06)}
  .h-proj__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.1);clip-path:inset(100% 0 0 0);transition:clip-path .9s cubic-bezier(.7,0,.2,1),transform 1.4s cubic-bezier(.2,.7,.2,1),opacity .01s .9s}
  .h-proj__media img.is-active{opacity:1;transform:scale(1);clip-path:inset(0);z-index:1;transition:clip-path .9s cubic-bezier(.7,0,.2,1),transform 1.4s cubic-bezier(.2,.7,.2,1)}
  .js-scroll .h-proj__stage{position:sticky;top:0;height:100vh}
}

/* ---------- Festival ---------- */
.h-fest{position:relative;overflow:hidden;background:var(--bianco-soft);padding:88px 0 112px}
@media(min-width:768px){.h-fest{padding:112px 0 160px}}
.h-fest__marquee{margin-bottom:64px;user-select:none}
.h-fest__row{display:flex;align-items:center;white-space:nowrap;width:max-content;font-family:'Fraunces',Georgia,serif;font-weight:500;font-size:clamp(54px,11vw,170px);line-height:1.02;letter-spacing:-.04em;color:var(--quasi-nero);will-change:transform}
.h-fest__row--1{color:transparent;-webkit-text-stroke:1.2px var(--terracotta);margin-left:-40vw}
.h-fest__row i{display:inline-block;width:.16em;height:.16em;border-radius:50%;background:var(--ocra);margin:0 .34em;flex-shrink:0}
.h-fest .display{margin-top:0}
.h-fest__grid{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:40px 40px;margin-top:48px}
@media(min-width:900px){.h-fest__grid{grid-template-columns:repeat(4,1fr);gap:32px}.h-fest__item:nth-child(even){margin-top:72px}}
.h-fest__item a{display:block;text-align:center;color:var(--quasi-nero)}
.h-fest__skin{display:block;position:relative;aspect-ratio:1;border-radius:50%;overflow:hidden;box-shadow:0 0 0 1px rgba(28,24,20,.18),0 0 0 10px var(--bianco-soft),0 0 0 11px rgba(28,24,20,.18),0 24px 50px rgba(28,24,20,.16)}
.h-fest__skin img{position:absolute;inset:15%;width:70%;height:70%;object-fit:contain;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.h-fest__skin--text{display:flex;align-items:center;justify-content:center;background:var(--quasi-nero);color:var(--bianco-osso);font-family:'Fraunces',Georgia,serif;font-weight:500;font-size:clamp(22px,2.6vw,36px);letter-spacing:-.02em}
.h-fest__item a:hover .h-fest__skin img{transform:scale(1.08)}
.h-fest__name{display:block;margin-top:32px;font-family:'Fraunces',Georgia,serif;font-weight:600;font-size:clamp(19px,1.9vw,26px);line-height:1.12;text-wrap:balance}
.h-fest__role{display:block;margin-top:6px;font-size:14px;color:rgba(28,24,20,.66)}

/* ---------- Chiusura con modulo ---------- */
.h-final{position:relative;overflow:hidden;padding:112px 0}
@media(min-width:768px){.h-final{padding:152px 0}}
.h-final__grid{position:relative;z-index:2;display:grid;gap:56px}
@media(min-width:1024px){.h-final__grid{grid-template-columns:1fr 1fr;gap:88px;align-items:start}}
.h-final__title{font-size:clamp(42px,6.6vw,104px);line-height:.94;letter-spacing:-.035em;max-width:8ch;text-wrap:balance}
.h-final__title .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.14em;margin-bottom:-.14em}
.h-final__title .w > span{display:inline-block}
.h-final__lead{margin-top:28px;font-size:clamp(17px,1.4vw,20px);line-height:1.55;max-width:34ch;color:rgba(245,239,227,.92)}
.h-final__alt{margin-top:18px;font-size:15px;line-height:1.6;color:rgba(245,239,227,.86)}
.h-final__alt a{color:var(--bianco-osso);font-weight:600;text-decoration:underline;text-underline-offset:5px}
.h-final__form{background:var(--bianco-osso);color:var(--quasi-nero);padding:clamp(24px,3.4vw,44px);border-radius:6px;box-shadow:0 30px 70px rgba(28,24,20,.28)}
.h-final .h-final__form label{color:rgba(28,24,20,.8)}
.h-final .h-final__form input[type=text],.h-final .h-final__form input[type=email],.h-final .h-final__form select,.h-final .h-final__form textarea{background:#fff;border-color:rgba(28,24,20,.2);color:var(--quasi-nero)}
.h-final .h-final__form input:focus,.h-final .h-final__form select:focus,.h-final .h-final__form textarea:focus{border-color:var(--terracotta);box-shadow:0 0 0 3px rgba(184,86,56,.18)}
.h-final .h-final__form .consent{color:rgba(28,24,20,.72);cursor:pointer}
.h-djembe{position:absolute;left:max(-40px,calc((100vw - var(--container)) / 2 - 120px));bottom:-16vh;height:min(44vh,400px);width:auto;z-index:1;stroke:var(--bianco-osso);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;opacity:.3}
.h-final .h-ripples{left:max(-40px,calc((100vw - var(--container)) / 2 - 120px));bottom:12vh;width:min(30vh,260px);color:var(--bianco-osso);z-index:0}
@media(max-width:1023px){.h-djembe,.h-final .h-ripples{display:none}}

.h-ev__when span{display:block;font-weight:500;color:rgba(28,24,20,.62);margin-top:2px}
.h-ev__title{font-size:clamp(19px,1.55vw,23px)}

/* --- Progetti: titolo di sezione grande, nomi più piccoli, link separato --- */
.h-proj .display{margin-top:0}
.h-proj__more{display:inline-block;margin-top:36px;font-size:15px;font-weight:600;color:var(--bianco-osso);text-decoration:underline;text-underline-offset:7px;text-decoration-color:var(--ocra)}
.h-proj__more:hover{color:var(--ocra)}
@media(min-width:1024px){
  .h-proj__list{margin-top:44px}
  .h-proj__name{font-size:clamp(28px,3.1vw,48px);line-height:1.05;letter-spacing:-.025em}
  .h-proj__list a{padding:10px 0}
  .h-proj__more{margin-top:44px}
}
/* --- Festival senza scritte scorrevoli --- */
.h-fest{padding-top:104px}
@media(min-width:768px){.h-fest{padding-top:144px}}
.h-fest__role{max-width:24ch;margin-left:auto;margin-right:auto;line-height:1.45}
.h-fest__skin img{inset:13%;width:74%;height:74%}

/* ============ Progetti: struttura unica per desktop e mobile ============ */
.h-proj__grid{display:grid;gap:28px}
.h-proj__thumb{display:none}
.h-proj__media{display:block;position:relative;aspect-ratio:4/3;border-radius:4px;overflow:hidden;background:rgba(245,239,227,.06)}
.h-proj__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.1);clip-path:inset(100% 0 0 0);transition:clip-path .9s cubic-bezier(.7,0,.2,1),transform 1.4s cubic-bezier(.2,.7,.2,1),opacity .01s .9s}
.h-proj__media img.is-active{opacity:1;transform:scale(1);clip-path:inset(0);z-index:1;transition:clip-path .9s cubic-bezier(.7,0,.2,1),transform 1.4s cubic-bezier(.2,.7,.2,1)}
.h-proj__list{margin-top:0}
.h-proj.is-live .h-proj__list a{opacity:.38;transition:opacity .4s ease,transform .5s cubic-bezier(.2,.7,.2,1)}
.h-proj.is-live .h-proj__list li.is-active a{opacity:1;transform:translateX(10px)}
@media(min-width:1024px){
  .h-proj__grid{grid-template-columns:7fr 5fr;column-gap:72px;row-gap:0;align-items:center}
  .h-proj__title{grid-column:1;grid-row:1;align-self:end}
  .h-proj__text{grid-column:1;grid-row:2;align-self:start}
  .h-proj__media{grid-column:2;grid-row:1 / span 2;aspect-ratio:4/5;max-height:74vh;justify-self:end;width:100%}
  .h-proj__list{margin-top:44px}
  .h-proj.is-live .h-proj__list li.is-active a{transform:translateX(18px)}
}

/* ============ Mobile: apertura con la foto che si chiude in una cornice ============ */
@media(max-width:1023px){
  .h-open__frame{transform-origin:50% 100%;will-change:transform}
  .h-open__hero{will-change:transform,opacity}
}

/* ============ Adattamenti Elementor ============ */
.elementor .e-con.dc-sec{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--gap:0px;--row-gap:0px;--column-gap:0px;padding:0;display:block}
.elementor .e-con.dc-sec > .elementor-widget{width:100%;max-width:100%}
.elementor .e-con.dc-scripts{display:none}
.elementor .e-con.h-final{display:block;padding:112px 0}
@media(min-width:768px){.elementor .e-con.h-final{padding:152px 0}}
.elementor .e-con.h-final > .elementor-widget-html{position:static}
.elementor .e-con.h-final__grid{display:grid;gap:56px;width:100%;max-width:var(--container);margin:0 auto;padding:0 24px;position:relative;z-index:2}
@media(min-width:768px){.elementor .e-con.h-final__grid{padding:0 32px}}
@media(min-width:1024px){.elementor .e-con.h-final__grid{grid-template-columns:1fr 1fr;gap:88px;align-items:start}}
.elementor .e-con.h-final__grid > .elementor-element{width:100%;max-width:100%}
.h-final__form .elementor-field-group{margin-bottom:0}
.h-final__form .elementor-field-group > label.elementor-field-label{font-family:'Sora',system-ui,sans-serif;font-size:13px;font-weight:500;color:rgba(28,24,20,.8);margin-bottom:6px}
.h-final__form .elementor-field-textual{width:100%;padding:11px 14px;min-height:46px;background:#fff;border:1px solid rgba(28,24,20,.2);border-radius:8px;font-family:'Sora',system-ui,sans-serif;font-size:15px;color:var(--quasi-nero)}
.h-final__form textarea.elementor-field-textual{min-height:120px;resize:vertical}
.h-final__form .elementor-field-textual:focus{outline:none;border-color:var(--terracotta);box-shadow:0 0 0 3px rgba(184,86,56,.18)}
.h-final__form .elementor-field-type-acceptance .elementor-field-label{display:none}
.h-final__form .elementor-field-type-acceptance .elementor-field-option{display:flex;align-items:flex-start;gap:12px;font-size:14px;line-height:1.5;color:rgba(28,24,20,.72)}
.h-final__form .elementor-field-type-acceptance input{margin-top:4px;flex-shrink:0}
.h-final__form .elementor-button{width:auto;background:var(--quasi-nero);color:var(--bianco-osso);border-radius:999px;padding:14px 28px;font-family:'Sora',system-ui,sans-serif;font-weight:600;font-size:15px;transition:all .25s ease}
.h-final__form .elementor-button:hover{background:var(--verde-foresta);color:var(--bianco-osso)}
.h-final__form .elementor-message{font-size:14px;margin-top:14px}

/* dc-btn-fix */
.elementor .h-final__form .elementor-button[type=submit]{width:auto;background-color:var(--quasi-nero);color:var(--bianco-osso);border-radius:999px;padding:14px 28px;font-family:'Sora',system-ui,sans-serif;font-weight:600;font-size:15px}
.elementor .h-final__form .elementor-button[type=submit]:hover{background-color:var(--verde-foresta);color:var(--bianco-osso)}
.elementor .h-final__form .elementor-field-group .elementor-field-textual{border-radius:8px}/* End custom CSS */