/* ==========================================================================
   AltraDirezione — design system
   Concept "la svolta": titoli che cambiano direzione a metà, composizioni
   asimmetriche su 12 colonne a tutta larghezza, superfici di colore piene
   (carta, celeste, inchiostro, arancione) al posto di card e ombre.
   Indice: 1 font · 2 token · 3 base · 4 griglia · 5 tipografia · 6 componenti
   7 header · 8 hero · 9 sezioni home · 10 pagine interne · 11 footer · 12 motion
   ========================================================================== */

/* 1 · Font locali (SIL OFL 1.1) ------------------------------------------- */
@font-face{font-family:"Bricolage Grotesque";src:url("../fonts/bricolage-grotesque.woff2") format("woff2");font-weight:200 800;font-stretch:75% 100%;font-style:normal;font-display:swap}
@font-face{font-family:"Manrope";src:url("../fonts/manrope.woff2") format("woff2");font-weight:200 800;font-style:normal;font-display:swap}

/* 2 · Token ---------------------------------------------------------------- */
:root{
	--white:#fff;
	--paper:#FAF9F6;
	--sky:#55C9F2;
	--sky-50:#E5F7FD;
	--orange:#FF8A36;
	--orange-ink:#C2530A;   /* arancione scurito: 4.6:1 su carta, per testo evidenziato */
	--red:#F04444;
	--ink:#20212A;
	--grey:#6B6B74;         /* #74747D portato a 4.9:1 su carta per i testi piccoli */
	--grey-50:#F1F1F3;
	--line:rgba(32,33,42,.16);

	--display:"Bricolage Grotesque","Manrope",system-ui,sans-serif;
	--body:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;

	--g:clamp(18px,3.4vw,64px);              /* margine laterale */
	--gap:clamp(12px,1.8vw,32px);            /* gutter colonne */
	--sec:clamp(88px,11vw,190px);            /* respiro verticale delle sezioni */
	--measure:62ch;
	--header:clamp(68px,6.4vw,92px);

	--fs-hero:clamp(3.15rem,11.6vw,15rem);
	--fs-d2:clamp(2.55rem,6.4vw,8.25rem);
	--fs-d3:clamp(1.85rem,3.4vw,3.9rem);
	--fs-lead:clamp(1.1rem,1.3vw,1.45rem);
	--fs-body:clamp(1rem,.96rem + .2vw,1.125rem);
	--fs-small:.875rem;

	--r:3px;
	--ease:cubic-bezier(.16,1,.3,1);
	--ease-io:cubic-bezier(.65,0,.35,1);
	--t-micro:.25s cubic-bezier(.2,.8,.2,1);
	--t-med:.8s var(--ease);
	--t-slow:1.25s var(--ease);

	/* alias per assets/css/forminator.css */
	--ad-ink:var(--ink);--ad-muted:var(--grey);--ad-sky:var(--sky);--ad-sky-deep:#0B6E95;--ad-sky-light:var(--sky-50);
	--ad-red-deep:#C42B2B;--ad-surface:var(--white);--ad-font-body:var(--body);--ad-font-display:var(--display);--ad-ease:var(--ease);
}

/* 3 · Base ----------------------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--header) + 12px)}
body{margin:0;background:var(--paper);color:var(--ink);font:400 var(--fs-body)/1.6 var(--body);-webkit-font-smoothing:antialiased;overflow-x:clip}
body.menu-open{overflow:hidden}
img,svg,video{display:block;max-width:100%;height:auto}
figure{margin:0}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.2em}
button{font:inherit;color:inherit}
h1,h2,h3,h4{margin:0;font-family:var(--display);font-weight:750;line-height:1;letter-spacing:-.035em;text-wrap:balance}
p{margin:0 0 1em}
:focus-visible{outline:3px solid var(--sky);outline-offset:3px}
.surface-ink :focus-visible,.mosaico :focus-visible{outline-color:var(--orange)}
::selection{background:var(--orange);color:var(--ink)}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link:focus{position:fixed!important;z-index:1000;top:12px;left:12px;width:auto;height:auto;clip:auto;padding:12px 18px;background:var(--ink);color:#fff;border-radius:var(--r)}
.site-main:focus{outline:0}

/* superfici */
.surface-ink{--cover:var(--ink);background:var(--ink);color:var(--white)}
.surface-sky{--cover:var(--sky);background:var(--sky);color:var(--ink)}
.surface-orange{--cover:var(--orange);background:var(--orange);color:var(--ink)}
.surface-light{background:var(--paper)}
.surface-mist{background:var(--sky-50)}

/* 4 · Griglia -------------------------------------------------------------- */
/* .grid = 12 colonne sull'intera larghezza della finestra (meno il margine --g).
   Gli elementi "bleed" escono dal margine fino al bordo dello schermo. */
.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);padding-inline:var(--g)}
.container{padding-inline:var(--g)}
.container--narrow{max-width:calc(var(--measure) + 2 * var(--g));margin-inline:auto}
.bleed-l{margin-left:calc(var(--g) * -1)}
.bleed-r{margin-right:calc(var(--g) * -1)}

/* 5 · Tipografia ----------------------------------------------------------- */
.display-2{font-size:var(--fs-d2);line-height:.9;letter-spacing:-.045em;font-weight:780}
.display-3{font-size:var(--fs-d3);line-height:.95;letter-spacing:-.035em}
.display-2 em,.display-3 em{font-style:normal;color:var(--orange-ink)}
.lead{font-size:var(--fs-lead);line-height:1.45;font-weight:500;max-width:34ch}
.kicker{display:flex;align-items:center;gap:.75rem;margin:0;font:700 .8rem/1 var(--body);letter-spacing:.09em;text-transform:uppercase}
.kicker::before{content:"";width:2.2rem;height:2px;background:currentColor;order:1}
.kicker__num{font:800 .95rem/1 var(--display);letter-spacing:0;color:var(--orange-ink);order:0}
.kicker span:last-child{order:2}
.surface-ink .kicker__num{color:var(--orange)}
.surface-sky .kicker__num,.surface-orange .kicker__num{color:var(--ink)}
.tag{display:inline-block;padding:.32em .7em .36em;border:1.5px solid currentColor;border-radius:99px;font:700 .75rem/1 var(--body);letter-spacing:.04em}

/* 6 · Componenti ----------------------------------------------------------- */
.btn{--bg:var(--ink);--fg:var(--white);--ibg:var(--orange);--ifg:var(--ink);
	display:inline-flex;align-items:center;gap:.9rem;min-height:3.35rem;padding:.35rem .4rem .35rem 1.5rem;border-radius:99px;background:var(--bg);color:var(--fg);
	font:700 1rem/1.1 var(--body);text-decoration:none;border:1.5px solid var(--bg);transition:background var(--t-micro),color var(--t-micro),border-color var(--t-micro)}
.btn__icon{display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:50%;background:var(--ibg);color:var(--ifg);flex:none;transition:transform .5s var(--ease)}
.btn__icon svg{width:1.15rem;height:1.15rem;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.btn:hover .btn__icon,.btn:focus-visible .btn__icon{transform:rotate(-45deg)}
.btn--sm{min-height:2.75rem;padding-left:1.15rem;font-size:.92rem}
.btn--sm .btn__icon{width:2rem;height:2rem}
.btn--orange,.btn--red{--bg:var(--orange);--fg:var(--ink);--ibg:var(--ink);--ifg:var(--white)}
.btn--light{--bg:var(--white);--fg:var(--ink);--ibg:var(--orange);--ifg:var(--ink)}
.btn--line{--bg:transparent;--fg:currentColor;--ibg:var(--ink);--ifg:var(--white);border-color:currentColor}
.btn--line:hover{--bg:var(--ink);--fg:var(--white);--ibg:var(--orange);--ifg:var(--ink);border-color:var(--ink)}
.btn--ink:hover{--ibg:var(--sky)}
.surface-ink .btn--line{--ibg:var(--white);--ifg:var(--ink)}

.ad-icon{width:1.2em;height:1.2em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* segno "svolta" */
.ad-mark{fill:none;stroke:currentColor;stroke-width:12;stroke-linecap:round;stroke-linejoin:round;overflow:visible}

/* logo */
.custom-logo-link{display:block}
.custom-logo{width:auto;max-height:52px}
.ad-wordmark{display:inline-flex;align-items:center;gap:.4rem;text-decoration:none;color:var(--ink)}
.ad-wordmark__text{font:800 1.45rem/1 var(--display);letter-spacing:-.045em}
.ad-wordmark__text b{font-weight:800;color:var(--orange-ink)}
.ad-wordmark__mark{width:1.35rem;height:1.35rem;stroke:var(--orange);stroke-width:16;transform:translateY(-2px)}

/* social */
.socials{display:flex;flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none}
.socials a{display:grid;place-items:center;width:2.9rem;height:2.9rem;border:1.5px solid currentColor;border-radius:50%;transition:background var(--t-micro),color var(--t-micro)}
.socials a:hover{background:var(--orange);color:var(--ink);border-color:var(--orange)}

/* fallback grafico per immagini mancanti: superficie piena + segno, mai foto finte */
.ad-fallback{display:grid;place-items:center;width:100%;height:100%;min-height:100%;background:var(--sky)}
.ad-fallback--orange{background:var(--orange)}.ad-fallback--ink{background:var(--ink);color:var(--orange)}.ad-fallback--sky{color:var(--white)}
.ad-fallback__mark{width:38%;max-width:220px;stroke-width:10}

/* 7 · Header --------------------------------------------------------------- */
.site-header{position:fixed;inset:0 0 auto;z-index:100;transition:transform .55s var(--ease),background .3s,box-shadow .3s}
.site-header__bar{display:flex;align-items:center;gap:2rem;height:var(--header);padding-inline:var(--g)}
.site-branding{flex:none;position:relative;z-index:2}
.site-header.is-scrolled{background:rgba(250,249,246,.92);-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);box-shadow:0 1px 0 var(--line)}
.site-header.is-hidden{transform:translateY(-100%)}
.nav{flex:1}
.nav__menu{display:flex;justify-content:center;gap:clamp(.4rem,1.6vw,2rem);margin:0;padding:0;list-style:none}
.nav__menu a{position:relative;display:block;padding:.6rem .2rem;font:650 .98rem/1 var(--body);text-decoration:none}
.nav__menu a::after{content:"";position:absolute;left:.2rem;right:.2rem;bottom:.3rem;height:2px;background:var(--orange);transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease)}
.nav__menu a:hover::after,.nav__menu .current-menu-item>a::after,.nav__menu .current_page_item>a::after{transform:scaleX(1);transform-origin:left}
.nav__menu .sub-menu{position:absolute;min-width:13rem;margin:0;padding:.6rem;list-style:none;background:var(--white);border:1px solid var(--line);border-radius:var(--r);opacity:0;visibility:hidden;transform:translateY(6px);transition:.25s}
.nav__menu li{position:relative}
.nav__menu li:hover>.sub-menu,.nav__menu li:focus-within>.sub-menu,.nav__menu .sub-menu.is-open{opacity:1;visibility:visible;transform:none}
.submenu-toggle{display:none}
.nav__extra{display:none}
.site-header__actions{display:flex;align-items:center;gap:.75rem;margin-left:auto;position:relative;z-index:2}
.menu-toggle{display:inline-flex;align-items:center;gap:.7rem;min-height:2.9rem;padding:0 .35rem 0 1.1rem;border:1.5px solid var(--ink);border-radius:99px;background:none;font-weight:700;cursor:pointer}
.menu-toggle[hidden]{display:none}
@media (min-width:1024px){.menu-toggle{display:none}}
.menu-toggle__icon{position:relative;width:2.1rem;height:2.1rem;border-radius:50%;background:var(--ink)}
.menu-toggle__icon i{position:absolute;left:.6rem;right:.6rem;height:2px;background:var(--white);transition:transform .45s var(--ease)}
.menu-toggle__icon i:first-child{top:.82rem}.menu-toggle__icon i:last-child{top:1.18rem}
.menu-toggle[aria-expanded="true"] .menu-toggle__icon i:first-child{transform:translateY(.18rem) rotate(45deg)}
.menu-toggle[aria-expanded="true"] .menu-toggle__icon i:last-child{transform:translateY(-.18rem) rotate(-45deg)}

@media (max-width:1023px){
	.site-header__bar{gap:1rem}
	.header-cta{display:none}
	/* Con JS: pannello a schermo intero. Senza JS: lista sotto l'header (vedi .no-js). */
	.js .nav{position:fixed;inset:0;z-index:1;background:var(--ink);color:var(--white);visibility:hidden;clip-path:inset(0 0 100% 0);transition:clip-path .7s var(--ease-io),visibility 0s .7s;overflow-y:auto}
	.js .nav.is-open{visibility:visible;clip-path:inset(0);transition:clip-path .7s var(--ease-io)}
	.js .nav__panel{display:flex;flex-direction:column;justify-content:space-between;gap:3rem;min-height:100%;padding:calc(var(--header) + 4vh) var(--g) var(--g)}
	.js .nav__menu{flex-direction:column;justify-content:flex-start;gap:0;counter-reset:nav}
	.js .nav__menu>li{border-top:1px solid rgba(255,255,255,.16);counter-increment:nav}
	.js .nav__menu>li>a{display:flex;align-items:baseline;gap:1rem;padding:1rem 0;font:780 clamp(2.3rem,9vw,4.2rem)/1 var(--display);letter-spacing:-.045em}
	.js .nav__menu>li>a::before{content:counter(nav,decimal-leading-zero);font:700 .8rem/1 var(--body);letter-spacing:.06em;color:var(--orange)}
	.js .nav__menu a::after{display:none}
	.js .nav__menu .sub-menu{position:static;display:none;opacity:1;visibility:visible;transform:none;background:none;border:0;padding:0 0 1rem 2.4rem}
	.js .nav__menu .sub-menu.is-open{display:block}
	.js .nav__menu .sub-menu a{font:600 1.15rem/1.2 var(--body)}
	.js .submenu-toggle{display:grid;place-items:center;position:absolute;right:0;top:1.1rem;width:2.75rem;height:2.75rem;border:1.5px solid rgba(255,255,255,.4);border-radius:50%;background:none;cursor:pointer}
	.js .submenu-toggle svg{width:1rem;fill:none;stroke:currentColor;stroke-width:2}
	.js .submenu-toggle[aria-expanded="true"] svg{transform:rotate(180deg)}
	.js .nav__extra{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.25rem}
	.js .nav .nav__menu>li{opacity:0;transform:translateY(30px);transition:opacity .5s,transform .7s var(--ease)}
	.js .nav.is-open .nav__menu>li{opacity:1;transform:none;transition-delay:calc(.15s + var(--n,0) * .05s)}
	.menu-open .site-header{background:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
	.menu-open .ad-wordmark,.menu-open .menu-toggle{color:var(--white);border-color:var(--white)}
	.menu-open .menu-toggle__icon{background:var(--orange)}
	.menu-open .menu-toggle__icon i{background:var(--ink)}
	.menu-open .custom-logo{filter:brightness(0) invert(1)}
	.no-js .site-header{position:relative}
	.no-js .hero,.no-js .page-hero{padding-top:clamp(18px,3vw,48px)}
	.no-js .site-header__bar{flex-wrap:wrap;height:auto;padding-block:1rem}
	.no-js .nav{order:3;flex-basis:100%}
	.no-js .nav__menu{justify-content:flex-start;flex-wrap:wrap}
}

/* header chiaro sulle intestazioni scure, finché non si scorre */
body:has(.page-hero.surface-ink,.page-hero.mosaico-scope) .site-header:not(.is-scrolled){color:var(--white)}
body:has(.page-hero.surface-ink,.page-hero.mosaico-scope) .site-header:not(.is-scrolled) .ad-wordmark{color:var(--white)}
body:has(.page-hero.surface-ink,.page-hero.mosaico-scope) .site-header:not(.is-scrolled) .ad-wordmark__text b{color:var(--orange)}
body:has(.page-hero.surface-ink,.page-hero.mosaico-scope) .site-header:not(.is-scrolled) .menu-toggle{border-color:var(--white)}
body:has(.page-hero.surface-ink,.page-hero.mosaico-scope) .site-header:not(.is-scrolled) .header-cta{--bg:var(--white);--fg:var(--ink)}
body:has(.page-hero.surface-ink,.page-hero.mosaico-scope) .site-header:not(.is-scrolled) .custom-logo{filter:brightness(0) invert(1)}

/* 8 · Hero ----------------------------------------------------------------- */
.hero{position:relative;padding:calc(var(--header) + clamp(18px,3vw,48px)) 0 clamp(56px,7vw,110px);overflow:clip}
.hero__top{padding-inline:var(--g);margin-bottom:clamp(14px,2vw,30px)}
.hero__title{padding-inline:var(--g);font-size:var(--fs-hero);line-height:.84;letter-spacing:-.055em;font-weight:800;text-wrap:initial}
.hero__l1,.hero__l2{display:block;width:max-content;max-width:100%}
.hero__l1{max-width:min(100%,8.2em)}
.hero__l1 .line>span{text-wrap:balance}
.hero__l2{display:flex;align-items:flex-end;gap:.08em;margin-left:calc((100% - 2 * var(--g)) / 12 * 2 + var(--gap));margin-top:.04em}
.hero__title em{font-style:normal;color:var(--orange-ink)}
.hero__mark{width:.62em;height:.62em;flex:none;margin-bottom:.12em;stroke:var(--orange);stroke-width:14}
.hero__base{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);padding-left:var(--g);margin-top:clamp(28px,4.5vw,80px);align-items:end}
.hero__intro{grid-column:1/5;padding-bottom:clamp(8px,2vw,40px)}
.hero__text{font-size:var(--fs-lead);line-height:1.45;font-weight:500;max-width:30ch;margin-bottom:1.75rem}
.hero__actions{display:flex;flex-wrap:wrap;gap:.75rem}
.hero__visual{grid-column:5/13;position:relative;align-self:stretch}
.hero__photo{position:relative;z-index:1;height:clamp(340px,62vh,760px);overflow:hidden;border-radius:var(--r) 0 0 var(--r)}
.hero__photo img{width:100%;height:100%;object-fit:cover}
.hero__block{position:absolute;z-index:0;left:-6%;bottom:-9%;width:46%;height:72%;background:var(--sky)}
.hero__photo2{position:absolute;z-index:2;left:-16%;bottom:-14%;width:clamp(120px,17vw,280px);aspect-ratio:4/5;overflow:hidden;border:clamp(5px,.6vw,10px) solid var(--paper)}
.hero__photo2 img{width:100%;height:100%;object-fit:cover}
.hero__graphic{position:relative;z-index:1;height:clamp(340px,62vh,760px);background:var(--ink);display:grid;place-items:center;overflow:hidden}
.hero__graphic-mark{width:62%;max-height:84%;stroke:var(--orange);stroke-width:7}
.hero__badge{position:absolute;z-index:3;top:clamp(-70px,-5vw,-40px);right:clamp(24px,8vw,140px);width:clamp(108px,10vw,170px);aspect-ratio:1;border-radius:50%;background:var(--red);color:var(--white);display:grid;place-items:center}
.hero__badge svg:first-child{position:absolute;inset:0;width:100%;height:100%;transform:rotate(var(--spin,0deg))}
.hero__badge text{font:700 15.5px var(--body);letter-spacing:.14em;text-transform:uppercase;fill:currentColor}
.hero__badge-mark{width:32%;stroke-width:14}
.hero__scroll{position:absolute;left:var(--g);bottom:clamp(14px,2vw,28px);display:none;align-items:center;gap:.6rem;font:700 .78rem/1 var(--body);letter-spacing:.09em;text-transform:uppercase;text-decoration:none}
.hero__scroll .ad-icon{transform:rotate(90deg)}

@media (max-width:900px){
	.hero__l2{margin-left:clamp(1.2rem,8vw,4rem);flex-wrap:wrap}
	.hero__mark{display:none}
	.hero__base{grid-template-columns:1fr;padding-left:0;row-gap:clamp(44px,9vw,70px)}
	.hero__visual{grid-column:1;grid-row:1;margin-left:var(--g)}
	.hero__intro{grid-column:1;grid-row:2;padding-inline:var(--g)}
	.hero__photo,.hero__graphic{height:auto;aspect-ratio:5/4}
	.hero__photo2{left:auto;right:calc(100% - 34vw);bottom:-12%;width:30vw}
	.hero__block{left:-4%;width:40%}
	.hero__badge{top:auto;bottom:-10%;right:var(--g);width:clamp(92px,24vw,130px)}
	.hero__badge text{font-size:17px}
}

/* 9 · Sezioni home ---------------------------------------------------------- */

/* Identità: titolo su 10 colonne, foto che esce a sinistra, valori a tutta larghezza */
.about{--cover:var(--white);padding-block:var(--sec) 0;background:var(--white)}
.about__head{row-gap:clamp(24px,3vw,48px);align-items:start}
.about__kicker{grid-column:1/4;grid-row:1}
.about__title{grid-column:3/13;grid-row:1/3;padding-top:clamp(36px,3.4vw,64px)}
.about__title em{font-style:normal;color:inherit;background:linear-gradient(var(--sky),var(--sky)) 0 88%/var(--hl,100%) .3em no-repeat;transition:background-size 1.2s var(--ease) .5s}
.about__body{margin-top:clamp(56px,7vw,120px);grid-template-rows:auto auto;row-gap:var(--gap)}
.about__img{overflow:hidden}
.about__img img{width:100%;height:100%;object-fit:cover}
.about__img--lg{grid-column:1/8;grid-row:1/3;margin-left:calc(var(--g) * -1);aspect-ratio:6/5;border-radius:0 var(--r) var(--r) 0}
.about__text{grid-column:9/13;grid-row:1;align-self:start;padding-top:clamp(0px,2vw,40px)}
.about__text .lead{margin-bottom:2rem}
.about__img--sm{grid-column:10/13;grid-row:2;margin-right:calc(var(--g) * -1);aspect-ratio:4/5;align-self:end;border-radius:var(--r) 0 0 var(--r)}
.values{display:flex;flex-wrap:wrap;align-items:baseline;gap:.05em .55em;margin:clamp(72px,10vw,170px) 0 0;padding:clamp(40px,5vw,80px) var(--g) var(--sec);list-style:none;border-top:1px solid var(--line);font:780 clamp(2.2rem,5.6vw,7rem)/1 var(--display);letter-spacing:-.045em}
.values li{transition:color .5s}
.values li:not(:last-child)::after{content:"/";margin-left:.55em;color:var(--orange);font-weight:400}
.js .values[data-scrub-words] li{color:#C9C9CF}
.js .values[data-scrub-words] li.is-lit{color:var(--ink)}

/* Attività: superficie inchiostro, due attività grandi sfalsate + indice tipografico */
.activities{padding-block:var(--sec)}
.activities__head{row-gap:clamp(20px,2.4vw,40px);align-items:end}
.activities__kicker{grid-column:1/-1}
.activities__title{grid-column:1/9}
.activities__aside{grid-column:9/13;justify-self:end;max-width:30rem}
.activities__aside .lead{color:rgba(255,255,255,.78);margin-bottom:1.6rem}
.activities__featured{margin-top:clamp(56px,7vw,120px);align-items:start}
.feat--a{grid-column:1/8;margin-left:calc(var(--g) * -1)}
.feat--b{grid-column:9/13;margin-right:calc(var(--g) * -1);margin-top:clamp(80px,16vw,280px)}
.feat__link{display:block;text-decoration:none}
.feat__media{overflow:hidden;aspect-ratio:4/3}
.feat--b .feat__media{aspect-ratio:4/5}
.feat__media img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease)}
.feat__link:hover .feat__media img{transform:scale(1.045)}
.feat__body{position:relative;display:grid;grid-template-columns:auto 1fr;align-items:baseline;column-gap:1rem;row-gap:.8rem;padding:clamp(18px,2vw,30px) 0 0 var(--g)}
.feat--b .feat__body{padding-left:0;padding-right:var(--g)}
.feat__num{font:800 1rem/1 var(--display);color:var(--orange)}
.feat__title{font-size:var(--fs-d3);letter-spacing:-.04em}
.feat__body .tag,.feat__text{grid-column:2}
.feat__body .tag{justify-self:start;color:var(--sky)}
.feat__text{color:rgba(255,255,255,.72);max-width:44ch;margin:0}
.feat__arrow{position:absolute;right:var(--g);top:clamp(18px,2vw,30px);display:grid;place-items:center;width:3.2rem;height:3.2rem;border-radius:50%;background:var(--orange);color:var(--ink);transition:transform .5s var(--ease)}
.feat--b .feat__arrow{right:var(--g)}
.feat__arrow svg{width:1.3rem;fill:none;stroke:currentColor;stroke-width:2.2}
.feat__link:hover .feat__arrow{transform:rotate(45deg)}
.feat__body:has(.feat__arrow){padding-right:calc(var(--g) + 4rem)}

.index-list{margin:clamp(72px,9vw,150px) 0 0;padding:0 var(--g);list-style:none;border-bottom:1px solid rgba(255,255,255,.16)}
.index-list__item{border-top:1px solid rgba(255,255,255,.16)}
.index-list__link{position:relative;display:grid;grid-template-columns:4.5rem minmax(0,1fr) minmax(0,22rem) 3rem;align-items:center;gap:var(--gap);padding:clamp(18px,2.2vw,34px) 0;text-decoration:none}
.index-list__num{font:800 1rem/1 var(--display);color:var(--orange)}
.index-list__title{font:780 clamp(2rem,4.8vw,5.6rem)/.95 var(--display);letter-spacing:-.045em;transition:transform .6s var(--ease),color .3s}
.index-list__meta{color:rgba(255,255,255,.66);font-size:var(--fs-small)}
.index-list__arrow{justify-self:end;transition:transform .5s var(--ease)}
.index-list__arrow .ad-icon{width:1.8rem;height:1.8rem}
.index-list__link:hover .index-list__title,.index-list__link:focus-visible .index-list__title{transform:translateX(clamp(10px,1.6vw,28px));color:var(--orange)}
.index-list__link:hover .index-list__arrow{transform:rotate(-45deg)}
.index-list__preview{position:absolute;z-index:2;right:24%;top:50%;width:clamp(180px,16vw,260px);aspect-ratio:4/5;overflow:hidden;pointer-events:none;opacity:0;transform:translate(0,calc(-50% + var(--py,0px))) rotate(-5deg) scale(.85);transition:opacity .3s,transform .6s var(--ease)}
.index-list__preview img{width:100%;height:100%;object-fit:cover}
@media (hover:hover) and (pointer:fine){.index-list__link:hover .index-list__preview{opacity:1;transform:translate(0,calc(-50% + var(--py,0px))) rotate(3deg) scale(1)}}

/* Comunità: collage a tutta larghezza */
.people{padding-block:var(--sec);background:var(--paper)}
.people__head{row-gap:clamp(20px,2.4vw,40px);align-items:end}
.people__kicker{grid-column:1/-1}
.people__title{grid-column:1/9}
.people__text{grid-column:9/13;margin:0;justify-self:end}
.collage{position:relative;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:clamp(34px,5.2vw,96px);gap:clamp(8px,1vw,16px);margin-top:clamp(56px,7vw,120px)}
.collage__item{overflow:hidden}
.collage__item img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.collage__item:hover img{transform:scale(1.04)}
.collage__item--1{grid-column:1/7;grid-row:1/9}
.collage__item--2{grid-column:7/10;grid-row:2/8}
.collage__item--3{grid-column:10/13;grid-row:1/6}
.collage__item--4{grid-column:10/13;grid-row:6/11}
.collage__item--5{grid-column:7/10;grid-row:8/13}
.collage__shape{grid-column:3/6;grid-row:9/12;background:var(--red);border-radius:0 0 0 100%;align-self:stretch}
.collage--1 .collage__item--1{grid-column:2/12;grid-row:1/11}
.collage--1 .collage__shape,.collage--2 .collage__shape{display:none}
.collage--2 .collage__item--1{grid-column:1/8;grid-row:1/10}
.collage--2 .collage__item--2{grid-column:8/13;grid-row:3/11}
.collage--3 .collage__shape{grid-column:7/10;grid-row:8/11}
.collage--3 .collage__item--3{grid-row:1/11}

/* Eventi: superficie celeste, agenda */
.events{padding-block:var(--sec)}
.events__head{row-gap:clamp(20px,2.4vw,40px);align-items:end}
.events__kicker{grid-column:1/-1}
.events__title{grid-column:1/10}
.events__aside{grid-column:10/13;justify-self:end}
.agenda{margin:clamp(48px,6vw,100px) 0 0;padding:0 var(--g);list-style:none}
.agenda__item{border-top:2px solid var(--ink)}
.agenda__item:last-child{border-bottom:2px solid var(--ink)}
.agenda__link{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,6fr) minmax(0,2.4fr) 3.4rem;align-items:center;gap:var(--gap);padding:clamp(16px,2vw,30px) clamp(0px,1vw,16px);text-decoration:none;background:linear-gradient(var(--paper),var(--paper)) 0 0/0 100% no-repeat;transition:background-size .7s var(--ease)}
.agenda__link:hover,.agenda__link:focus-visible{background-size:100% 100%}
.agenda__date{display:flex;align-items:center;gap:1rem}
.agenda__day{font:800 clamp(3.4rem,7.4vw,8.5rem)/.8 var(--display);letter-spacing:-.06em}
.agenda__month{font:700 .82rem/1.25 var(--body);letter-spacing:.08em;text-transform:uppercase}
.agenda__title{display:block;font:760 clamp(1.6rem,2.9vw,3.2rem)/1 var(--display);letter-spacing:-.035em}
.agenda__text{display:block;margin-top:.5rem;max-width:52ch;font-size:var(--fs-small)}
.agenda__info{display:grid;gap:.4rem;font-weight:600;font-size:var(--fs-small)}
.agenda__info span{display:flex;align-items:center;gap:.5rem}
.agenda__arrow{justify-self:end;display:grid;place-items:center;width:3.2rem;height:3.2rem;border-radius:50%;background:var(--ink);color:var(--white);transition:transform .5s var(--ease)}
.agenda__arrow svg{width:1.2rem;fill:none;stroke:currentColor;stroke-width:2.2}
.agenda__link:hover .agenda__arrow{transform:rotate(45deg)}
.agenda__item.is-past{opacity:.6}
.surface-light .agenda__link,.agenda--light .agenda__link{background-image:linear-gradient(var(--sky-50),var(--sky-50))}

/* Partecipa: superficie arancione con titolo-nastro */
.join{position:relative;padding-block:clamp(56px,6vw,100px) var(--sec);overflow:clip}
.join__ticker{display:flex;gap:.4em;white-space:nowrap;font:800 clamp(5rem,15vw,19rem)/1 var(--display);letter-spacing:-.05em;color:transparent;-webkit-text-stroke:1.5px rgba(32,33,42,.38);transform:translateX(var(--tx,0px));margin-bottom:clamp(40px,5vw,90px)}
.join__grid{position:relative;row-gap:clamp(20px,2.4vw,40px);align-items:start}
.join__kicker{grid-column:1/-1}
.join__title{grid-column:1/9}
.join__body{grid-column:1/7}
.join__body .lead{margin-bottom:2rem}
.join__photo{grid-column:9/13;grid-row:2/5;align-self:center;aspect-ratio:4/5;overflow:hidden;transform:rotate(3deg);border:clamp(6px,.7vw,12px) solid var(--paper)}
.join__photo img{width:100%;height:100%;object-fit:cover}
.join__mark{position:absolute;right:var(--g);bottom:0;width:clamp(120px,16vw,280px);stroke:var(--ink);stroke-width:9}
.join__photo~.join__mark{display:none}

.home-editor{padding:var(--sec) var(--g)}

/* 10 · Pagine interne ------------------------------------------------------- */
.page-hero{position:relative;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);align-items:end;min-height:clamp(380px,62vh,680px);padding:calc(var(--header) + clamp(40px,6vw,100px)) 0 clamp(48px,6vw,96px) var(--g);overflow:clip}
.page-hero__text{grid-column:1/9;position:relative;z-index:1}
.page-hero.has-image .page-hero__text{grid-column:1/7}
.page-hero__title{margin:1.4rem 0 0;font-size:clamp(2.9rem,8.4vw,10.5rem);line-height:.88;letter-spacing:-.05em;font-weight:800}
.page-hero__lead{margin-top:1.6rem;max-width:42ch}
.page-hero__lead p:last-child{margin:0}
.page-hero__media{grid-column:7/13;align-self:stretch;margin-bottom:calc(clamp(48px,6vw,96px) * -1);margin-top:calc(clamp(40px,6vw,100px) * -1);overflow:hidden;min-height:320px}
.page-hero__media img{width:100%;height:100%;object-fit:cover}
.page-hero__mark{position:absolute;right:var(--g);bottom:clamp(40px,6vw,96px);width:clamp(110px,18vw,320px);stroke:var(--orange);stroke-width:8}
.surface-orange .page-hero__mark,.surface-sky .page-hero__mark{stroke:var(--ink)}
.surface-ink .page-hero__lead{color:rgba(255,255,255,.8)}
.page-hero .pill-nav,.page-hero .search-form{margin-top:2rem}
.pill-nav{display:flex;flex-wrap:wrap;gap:.5rem}
.pill-nav a{padding:.75rem 1.2rem;border:1.5px solid currentColor;border-radius:99px;font-weight:700;text-decoration:none}
.pill-nav a[aria-current="page"]{background:var(--ink);color:var(--white);border-color:var(--ink)}

.section{padding-block:var(--sec)}
.section--tight{padding-block:clamp(56px,7vw,120px)}

/* contenuto editoriale */
.entry-content{min-width:0}
.ad-page-content{width:min(100% - 2 * var(--ad-page-gutter),var(--ad-content-width));margin-inline:auto}
.ad-page-content > :where(:not(.alignwide):not(.alignfull)){max-width:var(--ad-reading-width);margin-inline:auto}
.ad-page-content > .alignwide{width:100%;max-width:var(--ad-wide-width);margin-inline:auto}
.ad-page-content > .alignfull{width:calc(100% + 2 * var(--ad-page-gutter));max-width:none;margin-inline:calc(-1 * var(--ad-page-gutter))}
.ad-page-content:has(.elementor){width:100%;max-width:none;padding:0}
.ad-page-content > .elementor{max-width:none;width:100%}
.entry-content--full{max-width:none}
.home-editor{max-width:none}
.entry-content>*{margin-block:0 1.25em}
.entry-content h2{font-size:clamp(1.9rem,3.2vw,3rem);margin-top:1.6em}
.entry-content h3{font-size:clamp(1.4rem,2.2vw,2rem);margin-top:1.4em}
.entry-content a{color:#0B6E95;font-weight:600}
.entry-content blockquote{margin-inline:0;padding-left:1.4rem;border-left:4px solid var(--orange);font:600 clamp(1.3rem,2vw,1.8rem)/1.3 var(--display)}
.entry-content img{border-radius:var(--r)}
.entry-content .alignwide,.entry-content .alignfull{max-width:none}
.entry-content .alignfull{max-width:none}
.single-entry__grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,8fr);gap:clamp(32px,6vw,120px);align-items:start}
.single-entry__aside{position:sticky;top:calc(var(--header) + 24px)}
.meta-box{margin:0;padding:clamp(20px,2vw,32px) 0;border-top:2px solid var(--ink);display:grid;gap:.35rem}
.meta-box dt{font:700 .75rem/1 var(--body);letter-spacing:.09em;text-transform:uppercase;color:var(--grey);margin-top:.9rem}
.meta-box dd{margin:0;font-weight:650}
.meta-box__cta{margin-top:1rem!important}
.meta-box__compass{display:none}
.post-navigation{margin-top:clamp(56px,7vw,110px);padding-inline:var(--g)}
.post-navigation .nav-links{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.post-navigation a{display:block;padding:1.6rem 0;text-decoration:none}
.post-navigation .nav-next{text-align:right}
.nav-label{display:block;font:700 .75rem/1 var(--body);letter-spacing:.09em;text-transform:uppercase;color:var(--grey);margin-bottom:.6rem}
.nav-title{font:760 clamp(1.3rem,2.4vw,2.2rem)/1.05 var(--display);letter-spacing:-.03em}
.entry-tags a{display:inline-block;margin:0 .4rem .4rem 0}

/* archivi: attività come griglia sfalsata, articoli come colonne editoriali */
.activity-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(40px,5vw,90px) var(--gap)}
.card-activity{grid-column:span 4}
.card-activity:nth-child(5n+1){grid-column:span 7}
.card-activity:nth-child(5n+2){grid-column:span 5;margin-top:clamp(40px,8vw,160px)}
.card-activity__link,.card-post__link{display:block;text-decoration:none}
.card-activity__media,.card-post__media{aspect-ratio:4/3;overflow:hidden;background:var(--grey-50)}
.card-activity:nth-child(5n+2) .card-activity__media{aspect-ratio:4/5}
.card-activity__media img,.card-post__media img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease)}
.card-activity__link:hover img,.card-post__link:hover img{transform:scale(1.045)}
.card-activity__body,.card-post__body{position:relative;padding-top:1.1rem}
.card-activity__title,.card-post__title{font-size:clamp(1.6rem,2.6vw,2.8rem);letter-spacing:-.04em;margin:.6rem 0}
.card-activity__text,.card-post__text{color:var(--grey);max-width:44ch;margin:0}
.card-activity__go{position:absolute;right:0;top:1.1rem;display:grid;place-items:center;width:2.8rem;height:2.8rem;border-radius:50%;background:var(--orange);transition:transform .5s var(--ease)}
.card-activity__go svg{width:1.1rem;fill:none;stroke:currentColor;stroke-width:2.2}
.card-activity__link:hover .card-activity__go{transform:rotate(45deg)}
.card-post__meta{font:700 .75rem/1 var(--body);letter-spacing:.09em;text-transform:uppercase;color:var(--grey);margin:0}
.news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(40px,4vw,72px) var(--gap)}
.news-grid .card-post:nth-child(3n+2){margin-top:clamp(0px,5vw,90px)}
.agenda--archive{padding:0}
.ad-archive-episodes{padding:0}

.empty-state{display:grid;justify-items:start;gap:1.2rem;padding:clamp(40px,6vw,100px) 0}
.empty-state .ad-mark{width:5rem;stroke:var(--orange)}
.empty-state__text{font:760 clamp(1.8rem,4vw,4rem)/1 var(--display);letter-spacing:-.04em;max-width:20ch;margin:0}

.not-found{min-height:100svh;display:grid;align-items:end;padding:calc(var(--header) + 40px) 0 var(--sec)}
.not-found__code{display:flex;align-items:center;font:800 clamp(7rem,30vw,30rem)/.8 var(--display);letter-spacing:-.07em;margin:0 0 2rem}
.not-found__code .ad-mark{width:.7em;height:.7em;stroke:var(--orange);stroke-width:14;transform:rotate(90deg)}
.not-found .lead{margin:1.5rem 0 2rem}

/* paginazione */
.pagination{margin-top:clamp(48px,6vw,90px)}
.pagination .nav-links{display:flex;flex-wrap:wrap;gap:.5rem}
.page-numbers{display:grid;place-items:center;min-width:3rem;height:3rem;padding:0 .8rem;border:1.5px solid var(--ink);border-radius:99px;font-weight:700;text-decoration:none}
.page-numbers.current{background:var(--ink);color:var(--white)}

/* ricerca e commenti */
.search-form{display:flex;max-width:36rem;border-bottom:2px solid currentColor}
.search-form__input{flex:1;min-width:0;padding:1rem 0;border:0;background:none;font:600 1.3rem var(--body);color:inherit}
.search-form__input:focus{outline:0}
.search-form:focus-within{border-color:var(--orange-ink)}
.search-form__submit{border:0;background:none;padding:0 .4rem;cursor:pointer}
.comments{padding-inline:var(--g)}
.comment-list{list-style:none;padding:0}
.comment-respond input:not([type=submit]):not([type=checkbox]),.comment-respond textarea{width:100%;padding:.9rem 1rem;border:1.5px solid var(--ink);border-radius:var(--r);background:var(--white);font:inherit}
.comment-respond input[type=submit]{min-height:3.2rem;padding:0 1.6rem;border:0;border-radius:99px;background:var(--ink);color:var(--white);font-weight:700;cursor:pointer}

/* tesseramento e contatti */
.membership__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,6vw,120px);align-items:start}
.membership__info{position:sticky;top:calc(var(--header) + 24px)}
.membership__card{padding:clamp(24px,3.4vw,56px);background:var(--white);border-top:6px solid var(--orange)}
.membership__form-title{font-size:var(--fs-d3);margin-bottom:1.6rem}
.help-box{margin-top:2.4rem;padding-top:1.4rem;border-top:2px solid var(--ink)}
.help-box__title{font-size:1.6rem;margin-bottom:.8rem}
.contact-list{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}
.contact-list li{display:flex;gap:.6rem;align-items:flex-start}
.ad-form-unavailable{padding:1.6rem;background:var(--sky-50);border-left:4px solid var(--sky)}
.ad-form-unavailable__title{font:760 1.5rem/1.1 var(--display);margin-bottom:.6rem}
.ad-admin-hint{font-size:var(--fs-small)}
.ad-admin-hint a{color:#B42318}
.contacts__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap)}
.contact-card{grid-column:span 6;display:flex;flex-direction:column;justify-content:space-between;gap:2rem;min-height:clamp(240px,24vw,380px);padding:clamp(22px,2.6vw,40px)}
.contact-card:nth-child(4n+2),.contact-card:nth-child(4n+3){grid-column:span 6}
.contact-card .ad-icon{width:2.2rem;height:2.2rem}
.contact-card__title{font:700 .8rem/1 var(--body);letter-spacing:.09em;text-transform:uppercase}
.contact-card p{font:760 clamp(1.5rem,2.6vw,2.6rem)/1.08 var(--display);letter-spacing:-.03em;margin:0;overflow-wrap:anywhere}
.contact-card a{text-decoration:none}
.contact-card--sky{background:var(--sky)}.contact-card--orange{background:var(--orange)}.contact-card--red{background:var(--ink);color:var(--white)}.contact-card--ink{background:var(--sky-50)}.contact-card--white{background:var(--white)}
.contacts__content{margin-top:clamp(48px,6vw,90px)}

/* 11 · Footer --------------------------------------------------------------- */
.site-footer{padding-top:var(--sec);overflow:clip}
.site-footer__top{row-gap:clamp(48px,6vw,90px)}
.site-footer__brand{grid-column:1/7;display:grid;justify-items:start;gap:2rem;align-content:start}
.site-footer .ad-wordmark{color:var(--white)}
.site-footer .ad-wordmark__text b{color:var(--orange)}
.site-footer .custom-logo{max-height:64px}
.site-footer__claim{font:780 clamp(2rem,4.2vw,4.8rem)/.95 var(--display);letter-spacing:-.045em;margin:0;max-width:14ch}
.site-footer__cols{grid-column:8/13;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(32px,3vw,56px) var(--gap);align-content:start}
.footer-title{font:700 .78rem/1 var(--body);letter-spacing:.09em;text-transform:uppercase;color:var(--orange);margin-bottom:1.1rem}
.site-footer__col p,.contact-list li{color:rgba(255,255,255,.82)}
.site-footer a{text-decoration:none}
.site-footer a:hover{color:var(--orange)}
.footer-widget h2{font:700 .78rem/1 var(--body);letter-spacing:.09em;text-transform:uppercase;color:var(--orange);margin:0 0 1.1rem}
.footer-widget ul{list-style:none;margin:0 0 1.6rem;padding:0;display:grid;gap:.45rem}
.footer-menu{list-style:none;margin:0;padding:0;display:grid;gap:.45rem;font-weight:650}
.site-footer__giant{display:flex;justify-content:center;margin-top:clamp(64px,8vw,140px);padding-inline:calc(var(--g) * .5);font:800 clamp(3rem,14.4vw,22rem)/.78 var(--display);letter-spacing:-.06em;white-space:nowrap;overflow:hidden;padding-bottom:.08em}
.site-footer__giant span{display:inline-block}
.site-footer__giant span:nth-child(n+6){color:var(--orange)}
.site-footer__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem 2rem;padding:1.6rem var(--g) 2rem;border-top:1px solid rgba(255,255,255,.14);font-size:var(--fs-small);color:rgba(255,255,255,.7)}
.site-footer__bottom p{margin:0}
.legal-links{display:flex;flex-wrap:wrap;gap:.4rem 1.6rem;margin:0;padding:0;list-style:none}

/* 12 · Motion ---------------------------------------------------------------
   Gli stati iniziali esistono solo con html.js, movimento consentito e livello ≠ off:
   senza JavaScript (o con "riduci movimento") tutto è subito visibile. */
@media (prefers-reduced-motion:no-preference){
	.js body:not(.ad-motion-off) [data-reveal="up"]{opacity:0;transform:translateY(36px);transition:opacity .9s var(--ease),transform 1.1s var(--ease)}
	.js body:not(.ad-motion-off) [data-reveal="slide"]{opacity:0;transform:translateX(-40px);transition:opacity .8s var(--ease) calc(var(--i,0) * .08s),transform 1s var(--ease) calc(var(--i,0) * .08s)}
	/* Maschere: tendina del colore della superficie (--cover) che si ritira. Niente clip-path sull'immagine,
	   altrimenti il lazy loading del browser non la caricherebbe mai. */
	.js body:not(.ad-motion-off) [data-reveal="wipe"],.js body:not(.ad-motion-off) [data-reveal="zoom"]{position:relative}
	.js body:not(.ad-motion-off) [data-reveal="wipe"]::after,.js body:not(.ad-motion-off) [data-reveal="zoom"]::after{content:"";position:absolute;inset:-1px;z-index:2;background:var(--cover,var(--paper));transform-origin:50% 0;transition:transform 1.25s var(--ease-io) calc(var(--i,0) * .1s);pointer-events:none}
	.js body:not(.ad-motion-off) [data-reveal="wipe"] img,.js body:not(.ad-motion-off) [data-reveal="zoom"] img{transform:scale(1.18);transition:transform 1.8s var(--ease) calc(var(--i,0) * .1s)}
	.js body:not(.ad-motion-off) [data-reveal="lines"] .line,.js body:not(.ad-motion-off) [data-reveal="lines"] .w{display:inline-block;overflow:clip;vertical-align:top;padding-bottom:.1em;margin-bottom:-.1em}
	.js body:not(.ad-motion-off) [data-reveal="lines"] .line>span,.js body:not(.ad-motion-off) [data-reveal="lines"] .w>span{display:inline-block;transform:translateY(108%) rotate(4deg);transform-origin:0 100%;transition:transform 1.1s var(--ease) calc(var(--i,0) * .06s)}
	.js body:not(.ad-motion-off) [data-reveal="letters"] span{transform:translateY(105%);transition:transform 1.2s var(--ease) calc(var(--i,0) * .035s)}
	.js body:not(.ad-motion-off) .about__title:not(.is-in) em{--hl:0%}

	.js body:not(.ad-motion-off) .is-in[data-reveal="up"],.js body:not(.ad-motion-off) .is-in[data-reveal="slide"]{opacity:1;transform:none}
	.js body:not(.ad-motion-off) .is-in[data-reveal="wipe"]::after{transform:scaleY(0)}
	.js body:not(.ad-motion-off) .is-in[data-reveal="zoom"]::after{transform:scaleX(0);transform-origin:100% 50%}
	.js body:not(.ad-motion-off) .is-in[data-reveal="wipe"] img,.js body:not(.ad-motion-off) .is-in[data-reveal="zoom"] img{transform:none}
	.js body:not(.ad-motion-off) .is-in[data-reveal="lines"] .line>span,.js body:not(.ad-motion-off) .is-in[data-reveal="lines"] .w>span{transform:none}
	.js body:not(.ad-motion-off) .is-in[data-reveal="letters"] span{transform:none}

	/* intro della hero: righe che salgono, la seconda arriva da destra (la svolta), il segno si disegna */
	.js body:not(.ad-motion-off) .hero .line{display:inline-block;overflow:clip;padding-bottom:.08em;margin-bottom:-.08em}
	.js body:not(.ad-motion-off) .hero .line>span{display:inline-block;transform:translateY(105%);animation:ad-rise 1.3s var(--ease) .15s forwards}
	.js body:not(.ad-motion-off) .hero__l2 .line>span{transform:translateX(-30%);opacity:0;animation:ad-turn 1.4s var(--ease) .45s forwards}
	.js body:not(.ad-motion-off) .hero__mark path,.js body:not(.ad-motion-off) .hero__badge-mark path,.js body:not(.ad-motion-off) .hero__graphic-mark path{stroke-dasharray:1;stroke-dashoffset:1;animation:ad-draw 1.1s var(--ease-io) 1.1s forwards}
	.js body:not(.ad-motion-off) .hero__mark .ad-mark__head{animation-delay:1.7s;animation-duration:.6s}
	.js body:not(.ad-motion-off) .hero__photo,.js body:not(.ad-motion-off) .hero__graphic{clip-path:inset(0 0 0 100%);animation:ad-unveil 1.5s var(--ease-io) .35s forwards}
	.js body:not(.ad-motion-off) .hero__photo img{transform:scale(1.2);animation:ad-settle 2.2s var(--ease) .35s forwards}
	.js body:not(.ad-motion-off) .hero__block{transform:scaleY(0);transform-origin:bottom;animation:ad-grow 1.1s var(--ease) .9s forwards}
	.js body:not(.ad-motion-off) .hero__photo2,.js body:not(.ad-motion-off) .hero__badge{opacity:0;transform:translateY(40px) rotate(-6deg);animation:ad-pop 1.1s var(--ease) 1.2s forwards}
	.js body:not(.ad-motion-off) .hero__intro,.js body:not(.ad-motion-off) .hero__top{opacity:0;animation:ad-fade 1s var(--ease) .9s forwards}

	.hero__scroll .ad-icon{animation:ad-nudge 2.4s var(--ease) infinite 3s}
	.page-hero__mark path{stroke-dasharray:1;stroke-dashoffset:1;animation:ad-draw 1.4s var(--ease-io) .3s forwards}
	.js .page-hero__title .line{display:inline-block;overflow:clip;padding-bottom:.1em;margin-bottom:-.1em}
	.js .page-hero__title .line>span{display:inline-block;transform:translateY(105%);animation:ad-rise 1.2s var(--ease) .1s forwards}
}
@keyframes ad-rise{to{transform:none}}
@keyframes ad-turn{to{transform:none;opacity:1}}
@keyframes ad-draw{to{stroke-dashoffset:0}}
@keyframes ad-unveil{to{clip-path:inset(0)}}
@keyframes ad-settle{to{transform:scale(1)}}
@keyframes ad-grow{to{transform:none}}
@keyframes ad-pop{to{opacity:1;transform:none}}
@keyframes ad-fade{to{opacity:1}}
@keyframes ad-nudge{0%,100%{transform:rotate(90deg) translateX(0)}50%{transform:rotate(90deg) translateX(6px)}}
.ad-mark path{stroke-dasharray:none}

@media (prefers-reduced-motion:reduce){
	*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
	[data-parallax],[data-drift],.join__ticker{transform:none!important}
}

/* Responsive ---------------------------------------------------------------- */
@media (max-width:1100px){
	.site-footer__brand,.site-footer__cols{grid-column:1/-1}
}
@media (max-width:900px){
	.about__kicker,.about__title{grid-column:1/-1;grid-row:auto;padding-top:0}
	.about__img--lg{grid-column:1/12;grid-row:1}
	.about__text{grid-column:1/-1;grid-row:2;padding-top:clamp(28px,5vw,48px)}
	.about__img--sm{grid-column:6/13;grid-row:3;margin-top:clamp(24px,4vw,40px)}
	.activities__title,.activities__aside,.people__title,.people__text,.events__title,.events__aside,.join__title,.join__body{grid-column:1/-1;justify-self:start}
	.feat--a{grid-column:1/12}
	.feat--b{grid-column:3/13;margin-top:clamp(40px,10vw,80px)}
	.feat__body{padding-left:var(--g);padding-right:calc(var(--g) + 4rem)}
	.index-list__link{grid-template-columns:3rem minmax(0,1fr) 2rem}
	.index-list__meta{display:none}
	.index-list__preview{display:none}
	.collage{grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:16vw}
	.collage__item--1,.collage--2 .collage__item--1,.collage--1 .collage__item--1{grid-column:1/7;grid-row:1/5}
	.collage__item--2,.collage--2 .collage__item--2{grid-column:1/4;grid-row:5/10}
	.collage__item--3,.collage--3 .collage__item--3{grid-column:4/7;grid-row:5/8}
	.collage__item--4{grid-column:4/7;grid-row:8/12}
	.collage__item--5{grid-column:1/4;grid-row:10/13}
	.collage__shape,.collage--3 .collage__shape{grid-column:5/7;grid-row:12/14}
	.agenda__link{grid-template-columns:minmax(0,1fr) 3rem;row-gap:.8rem}
	.agenda__date{grid-column:1/-1}
	.agenda__main{grid-column:1}
	.agenda__info{grid-column:1;display:flex;flex-wrap:wrap;gap:.4rem 1.2rem}
	.agenda__arrow{grid-column:2;grid-row:2/4;align-self:center}
	.join__photo{grid-column:4/12;grid-row:auto;margin-top:2rem}
	
	.page-hero{padding-right:var(--g)}
	.page-hero__text,.page-hero.has-image .page-hero__text{grid-column:1/-1}
	.page-hero__media{grid-column:1/-1;margin:2.5rem calc(var(--g) * -1) calc(clamp(48px,6vw,96px) * -1) 0;aspect-ratio:16/10;min-height:0}
	.page-hero__mark{opacity:.35}
	.single-entry__grid,.membership__grid{grid-template-columns:1fr}
	.single-entry__aside,.membership__info{position:static}
	.card-activity,.card-activity:nth-child(5n+1),.card-activity:nth-child(5n+2){grid-column:1/-1;margin-top:0}
	.card-activity:nth-child(even){grid-column:3/13}
	.news-grid{grid-template-columns:1fr 1fr}
	.contact-card,.contact-card:nth-child(4n+2),.contact-card:nth-child(4n+3){grid-column:1/-1}
}
@media (max-width:560px){
	:root{--gap:12px}
	.btn{min-height:3.1rem}
	.hero__actions .btn{flex:1 1 auto;justify-content:space-between}
	.site-footer__cols{grid-template-columns:1fr}
	.news-grid{grid-template-columns:1fr}
	.news-grid .card-post:nth-child(3n+2){margin-top:0}
	.values{font-size:clamp(2rem,10vw,3rem)}
	.post-navigation .nav-links{grid-template-columns:1fr}
	.post-navigation .nav-next{text-align:left}
}
@media print{.site-header,.hero__badge,.join__ticker{display:none}}

/* Layout v2.1: margini simmetrici, moduli indipendenti dal testo */
:root{--ad-page-gutter:clamp(16px,4vw,64px);--ad-content-width:90rem;--ad-wide-width:110rem;--ad-reading-width:48rem;--ad-form-width:48rem}
.membership__layout{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(32px,5vw,72px);max-width:1100px;margin-inline:auto}
.membership__layout .membership__info{position:static;width:100%;max-width:var(--ad-reading-width);margin-inline:auto}
.membership__layout .membership__form{width:100%;max-width:var(--ad-form-width);margin-inline:auto;min-width:0}
.membership__layout .membership__card{width:100%;min-width:0}
.membership__layout .ad-form,.membership__layout .forminator-ui{max-width:100%;margin-inline:auto}
@media(max-width:767px){.membership__layout .membership__card{padding:clamp(16px,5vw,32px)}}
