/* CSPM, prototipo del sito (5/11/2026). Un solo foglio per tutte le pagine. */

/* Jost (SIL OFL 1.1), sul sito: niente chiamate a Google Fonts */
/* latin-ext */
@font-face {
  font-family: 'Jost';
  font-style: italic;
  font-weight: 300 500;
  font-display: swap;
  src: url(../fonts/jost/jost-italic-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Jost';
  font-style: italic;
  font-weight: 300 500;
  font-display: swap;
  src: url(../fonts/jost/jost-italic-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 300 600;
  font-display: swap;
  src: url(../fonts/jost/jost-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 300 600;
  font-display: swap;
  src: url(../fonts/jost/jost-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Norman e Filson Pro arrivano dal progetto web Adobe Fonts eps0nhc (account di EM):
   nel kit Filson Book ha peso 300, Norman è variabile 400-800. */

:root{
  /* verdi misurati sulla Cover Facebook e sui post Instagram */
  --verde-notte:#14261A;
  --verde:#1E3522;
  --verde-medio:#284730;
  --verde-luce:#325738;
  --carta:#F2EEE3;
  --carta-2:#E6E0CF;
  --inchiostro:#1B2E1F;
  --salvia:#A9C7AA;
  --muto:rgba(242,238,227,.68);
  --linea:rgba(242,238,227,.16);
  --sole:#FDCD72;
  /* Maestrale */
  --cielo:#1CA3CE; --turchese:#24B8CE; --petrolio:#13636E; --petrolio-scuro:#0F5862; --abisso:#0B3F47;

  --font:"Jost","Futura PT",Futura,system-ui,sans-serif;
  --norman:"norman-variable","Jost",Georgia,serif;
  --filson:"filson-pro","Jost",system-ui,sans-serif;

  --max:1240px;
  --g:clamp(20px,5vw,64px);
  --r:22px;

  /* tre curve, personalità Physical */
  --spring-snappy:linear(0,.009,.035 2.1%,.141 4.4%,.723 12.9%,.938 16.7%,1.017 19.4%,1.067 22.5%,1.089 26%,1.079 30.3%,1.049 36%,1.024 42.6%,1.011 50.3%,1.004 59.2%,1.001 69.3%,1);
  --spring-smooth:linear(0,.004,.016 2.3%,.063 4.7%,.141 7.2%,.25 9.9%,.601 16.5%,.815 21%,.929 25.2%,.987 29%,1.025 33.5%,1.042 38%,1.04 43.5%,1.027 50%,1.013 57.5%,1.005 67%,1.001 79%,1);
  --ease-snap:cubic-bezier(.22,1,.36,1);
}

@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:.32s;animation-timing-function:var(--ease-snap)}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;background:var(--verde);color:var(--carta);font:400 1.0625rem/1.65 var(--font);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
p{margin:0 0 1em}
h1,h2,h3,h4{margin:0;font-weight:400;line-height:1.05;letter-spacing:-.02em;text-wrap:balance}
strong{font-weight:500;color:#fff}
::selection{background:var(--sole);color:var(--inchiostro)}
:focus-visible{outline:2px solid var(--sole);outline-offset:3px;border-radius:4px}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.salta{position:absolute;left:12px;top:-60px;z-index:200;background:var(--sole);color:var(--inchiostro);padding:10px 16px;border-radius:999px;text-decoration:none;font-weight:500}
.salta:focus{top:12px}

/* ---------- atmosfera: luce, ombra d'ulivo, grana ---------- */
.atmo{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden;background:var(--verde)}
.atmo__luce{position:absolute;inset:-20%;background:
  radial-gradient(60% 50% at 18% 12%,rgba(78,124,84,.55),transparent 70%),
  radial-gradient(50% 60% at 85% 95%,rgba(50,87,56,.45),transparent 70%),
  linear-gradient(118deg,transparent 42%,rgba(10,22,13,.38) 58%,transparent 76%);
  animation:respira 38s linear infinite alternate}
@keyframes respira{to{transform:translate3d(3%,-2%,0) rotate(2deg)}}
.ramo{position:absolute;width:min(74vw,980px);opacity:.34;filter:blur(13px);mix-blend-mode:multiply;transform-origin:var(--ox,0%) var(--oy,100%);will-change:transform}
.ramo--1{right:-14vw;top:-18vh;--ox:88%;--oy:6%}
.ramo--2{right:6vw;top:-30vh;width:min(48vw,640px);opacity:.22;filter:blur(18px);--ox:70%;--oy:0%}
.ramo--3{left:-18vw;bottom:-34vh;width:min(60vw,760px);opacity:.18;filter:blur(20px);--ox:10%;--oy:100%}
body::after{content:"";position:fixed;inset:0;z-index:150;pointer-events:none;opacity:.2;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .5  0 0 0 0 .5  0 0 0 0 .5  0 0 0 1.6 -.35'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23n)'/%3E%3C/svg%3E")}

/* ---------- struttura ---------- */
.wrap{width:100%;max-width:calc(var(--max) + var(--g)*2);margin:0 auto;padding:0 var(--g)}
.sez{position:relative;padding:clamp(80px,12vw,150px) 0}
.sez--medio{background:linear-gradient(180deg,rgba(40,71,48,0),rgba(40,71,48,.72) 14%,rgba(40,71,48,.72) 86%,rgba(40,71,48,0))}
.sez--notte{background:rgba(14,28,18,.55)}
.sez--carta{background:var(--carta);color:var(--inchiostro)}
.sez--carta strong{color:var(--inchiostro)}
.eyebrow{display:inline-flex;align-items:center;gap:.7em;margin:0 0 1.4rem;font-size:.78rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--salvia)}
.eyebrow::before{content:"";width:28px;height:1px;background:currentColor;opacity:.7}
.sez--carta .eyebrow{color:var(--verde-luce)}
.titolo-sez{font-size:clamp(2.2rem,4.6vw,4rem);font-weight:300;max-width:18ch}
.titolo-sez em{font-style:normal;font-weight:500}
.lead{font-size:clamp(1.25rem,2vw,1.6rem);font-weight:300;line-height:1.45;color:var(--carta);max-width:34ch}
.testo{max-width:62ch;color:var(--muto)}
.testo strong{color:var(--carta)}
.sez--carta .testo{color:#3d4d40}

/* ---------- pulsanti e link ---------- */
.btn{position:relative;display:inline-flex;align-items:center;gap:.7em;min-height:48px;padding:.85rem 1.6rem;border-radius:999px;font:500 .9rem/1 var(--font);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;overflow:hidden;isolation:isolate;
  transition:transform .5s var(--ease-snap),box-shadow .5s var(--ease-snap),background-color .4s var(--ease-snap),color .4s var(--ease-snap)}
.btn--sole{background:var(--sole);color:var(--inchiostro)}
.btn--chiaro{background:var(--carta);color:var(--inchiostro)}
.btn--linea{border:1px solid rgba(242,238,227,.35);color:var(--carta)}
.btn--verde{background:var(--verde);color:var(--carta)}
.btn .freccia{transition:transform .5s var(--ease-snap)}
@media (hover:hover) and (pointer:fine){
  .btn:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(0,0,0,.22)}
  .btn:hover .freccia{transform:translateX(4px)}
  .btn--linea:hover{background:rgba(242,238,227,.08)}
}
.btn:active{transform:translateY(0) scale(.97);transition-duration:.16s}
.onda{position:absolute;border-radius:50%;width:12px;height:12px;margin:-6px 0 0 -6px;background:rgba(255,255,255,.45);pointer-events:none;z-index:-1;animation:onda .6s var(--ease-snap) forwards}
@keyframes onda{from{transform:scale(1);opacity:1}to{transform:scale(28);opacity:0}}
.link{position:relative;text-decoration:none;background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .5s var(--ease-snap),color .3s var(--ease-snap);padding-bottom:2px}
@media (hover:hover){.link:hover{background-size:100% 1px}}
.link--sempre{background-size:100% 1px}
@media (hover:hover){.link--sempre:hover{background-size:0 1px;background-position:100% 100%}}
.freccia{display:inline-block}

/* ---------- navigazione ---------- */
.nav{position:fixed;inset:0 0 auto;z-index:100;transition:background-color .5s var(--ease-snap),box-shadow .5s var(--ease-snap),transform .6s var(--spring-smooth)}
.nav__in{display:flex;align-items:center;justify-content:space-between;gap:24px;height:84px}
.nav.su{background:rgba(22,40,27,.82);-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2);box-shadow:0 1px 0 var(--linea)}
.nav.su .nav__in{height:70px}
.nav__logo{display:block;width:clamp(150px,16vw,196px);transition:transform .5s var(--ease-snap),opacity .3s}
.nav__logo img{width:100%}
@media (hover:hover){.nav__logo:hover{transform:scale(1.03)}}
.nav__menu{display:flex;align-items:center;gap:clamp(18px,2.4vw,36px);margin:0;padding:0;list-style:none;font-size:.95rem}
.nav__menu a{text-decoration:none;color:var(--muto);transition:color .3s var(--ease-snap)}
.nav__menu a:hover,.nav__menu a[aria-current="page"]{color:var(--carta)}
.nav__menu a[aria-current="page"]{background-size:100% 1px}
.nav__maestrale{display:inline-flex;align-items:center;gap:.5em}
.nav__maestrale::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--sole);box-shadow:0 0 0 0 rgba(253,205,114,.6);animation:polso 2.6s var(--ease-snap) infinite}
@keyframes polso{70%{box-shadow:0 0 0 10px rgba(253,205,114,0)}100%{box-shadow:0 0 0 0 rgba(253,205,114,0)}}
.nav__btn{display:none;width:48px;height:48px;border:1px solid var(--linea);border-radius:50%;background:transparent;color:var(--carta);cursor:pointer;position:relative}
.nav__btn span{position:absolute;left:14px;right:14px;height:1.5px;background:currentColor;transition:transform .5s var(--spring-smooth),opacity .2s}
.nav__btn span:nth-child(1){top:19px}.nav__btn span:nth-child(2){top:27px}
.menu-aperto .nav__btn span:nth-child(1){transform:translateY(4px) rotate(45deg)}
.menu-aperto .nav__btn span:nth-child(2){transform:translateY(-4px) rotate(-45deg)}
.tendina{position:fixed;inset:0;z-index:90;background:var(--verde-notte);display:flex;flex-direction:column;justify-content:center;padding:100px var(--g) 48px;opacity:0;visibility:hidden;transition:opacity .4s var(--ease-snap),visibility 0s .4s}
.menu-aperto .tendina{opacity:1;visibility:visible;transition:opacity .4s var(--ease-snap)}
.tendina ul{list-style:none;margin:0;padding:0}
.tendina li{overflow:hidden}
.tendina li a{display:block;padding:.18em 0;font-size:clamp(2.2rem,9vw,3.4rem);font-weight:300;letter-spacing:-.02em;text-decoration:none;transform:translateY(105%);transition:transform .6s var(--spring-snappy)}
.menu-aperto .tendina li a{transform:none;transition-delay:calc(60ms + var(--i)*70ms)}
.tendina__piede{margin-top:40px;color:var(--muto);font-size:1rem}
.tendina__piede a{text-decoration:none}
@media (max-width:900px){.nav__menu{display:none}.nav__btn{display:block}}
@media (min-width:901px){.tendina{display:none}}

/* ---------- hero della home ---------- */
.hero{position:relative;min-height:100dvh;display:flex;flex-direction:column;justify-content:center;padding:120px 0 150px;text-align:center}
.hero__in{display:flex;flex-direction:column;align-items:center}
.hero .eyebrow::after{content:"";width:28px;height:1px;background:currentColor;opacity:.7}
.hero__titolo{font-size:clamp(2.7rem,6.6vw,6.9rem);font-weight:300;letter-spacing:-.035em;line-height:.98;max-width:15ch}
.hero__titolo b{font-weight:500}
.hero__sub{margin:1.8rem auto 2.4rem;max-width:44ch;font-size:clamp(1.05rem,1.3vw,1.25rem);color:var(--muto)}
/* parole che salgono dalla maschera */
.parola{display:inline-block;overflow:hidden;vertical-align:top;padding:.04em .02em .12em;margin:-.04em -.02em -.12em}
.parola>span{display:inline-block;}
.js .parola>span{transform:translateY(108%);transition:transform .9s var(--spring-snappy);transition-delay:calc(140ms + var(--w)*55ms)}
.js .pronto .parola>span{transform:none}
.js [data-split]:not([aria-label]){visibility:hidden}
.js .entra{opacity:0;transform:translateY(24px);filter:blur(6px);transition:opacity .7s var(--ease-snap),transform .8s var(--spring-snappy),filter .7s var(--ease-snap);transition-delay:var(--d,0ms)}
.js .pronto .entra{opacity:1;transform:none;filter:none}

/* striscia del prossimo appuntamento */
.prossimo{position:absolute;left:0;right:0;margin:0 auto;bottom:28px;width:min(calc(100% - var(--g)*2),920px);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:12px 14px 12px 20px;border:1px solid var(--linea);border-radius:999px;background:rgba(18,34,22,.5);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-decoration:none;text-align:left;
  transition:border-color .4s var(--ease-snap),background-color .4s var(--ease-snap)}
.prossimo[hidden]{display:none}
.prossimo:hover{border-color:rgba(253,205,114,.6);background:rgba(18,34,22,.7)}
.prossimo__quando{display:flex;align-items:center;gap:10px;font-size:.78rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--sole);white-space:nowrap}
.prossimo__quando::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--sole);animation:polso 2.6s var(--ease-snap) infinite}
.prossimo__cosa{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--carta)}
.prossimo__cosa small{color:var(--muto);font-size:.92em;margin-left:.5em}
.prossimo__vai{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--sole);color:var(--inchiostro);transition:transform .5s var(--ease-snap)}
.prossimo:hover .prossimo__vai{transform:translateX(3px)}
@media (max-width:640px){.prossimo{grid-template-columns:1fr auto;border-radius:20px;bottom:16px}.prossimo__quando{grid-column:1/-1}.prossimo__cosa{white-space:normal}}

/* ---------- testata delle pagine interne ---------- */
.testata{padding:clamp(150px,20vw,230px) 0 clamp(50px,7vw,90px)}
.testata__titolo{font-size:clamp(3rem,9vw,8.4rem);font-weight:300;letter-spacing:-.045em;line-height:.92}
.testata__lead{margin-top:2rem}
.testata--centro{text-align:center}
.testata--centro .lead,.testata--centro .testata__titolo{margin-left:auto;margin-right:auto}

/* ---------- comparse allo scroll ---------- */
.js [data-reveal]{opacity:0;transform:translateY(24px);filter:blur(6px);transition:opacity .7s var(--ease-snap),transform .8s var(--spring-snappy),filter .7s var(--ease-snap);transition-delay:calc(var(--i,0)*90ms)}
.js [data-reveal].in{opacity:1;transform:none;filter:none}
.filo{height:1px;background:var(--linea);transform-origin:left}
.js .filo{transform:scaleX(0);transform-origin:left;transition:transform 1.1s var(--ease-snap);transition-delay:calc(var(--i,0)*90ms)}
.js .filo.in{transform:none}
.sez--carta .filo{background:rgba(27,46,31,.18)}

/* ---------- home: il centro ---------- */
.centro{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(40px,7vw,120px);align-items:end}
.centro__lead{font-size:clamp(1.3rem,2.1vw,1.85rem);font-weight:300;line-height:1.42;letter-spacing:-.01em;margin:0}
.centro__lead strong{font-weight:400}
.missione{padding-top:28px;border-top:1px solid var(--linea)}
.missione p{color:var(--muto);font-size:1.08rem}
@media (max-width:860px){.centro{grid-template-columns:1fr}}

/* obiettivi: righe numerate */
.obiettivi{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:clamp(30px,6vw,100px)}
.obiettivi__lista{list-style:none;margin:0;padding:0;counter-reset:ob}
.obiettivi__lista li{counter-increment:ob;display:grid;grid-template-columns:4.2rem 1fr;gap:20px;align-items:baseline;padding:28px 0;position:relative}
.obiettivi__lista li::before{content:"0" counter(ob);font-size:.85rem;font-weight:500;letter-spacing:.14em;color:var(--sole)}
.obiettivi__lista li span{font-size:clamp(1.3rem,2.2vw,1.9rem);font-weight:300;line-height:1.25;transition:transform .5s var(--ease-snap),color .3s var(--ease-snap)}
.obiettivi__lista .filo{position:absolute;left:0;right:0;bottom:0}
@media (hover:hover){.obiettivi__lista li:hover span{transform:translateX(8px);color:#fff}}
@media (max-width:860px){.obiettivi{grid-template-columns:1fr}.obiettivi__lista li{grid-template-columns:3rem 1fr}}

/* ---------- finestra Maestrale (home e attività) ---------- */
.finestra{position:relative;display:flex;flex-direction:column;justify-content:flex-end;border-radius:var(--r);overflow:hidden;isolation:isolate;color:#fff;
  background:linear-gradient(180deg,var(--cielo) 0%,var(--turchese) 52%,#7fcfdb 84%,#f3e5b6 100%);
  box-shadow:0 40px 80px -30px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.06) inset}
/* il mare cresce con il testo: l'orizzonte sta sempre sopra il titolo */
.finestra__testo{position:relative;padding:clamp(34px,4.5vw,64px)}
.finestra__testo::before{content:"";position:absolute;inset:0 0 -2px;z-index:-1;
  background:linear-gradient(180deg,var(--petrolio) 0,var(--petrolio-scuro) 55%,var(--abisso));
  box-shadow:0 -1px 0 rgba(255,246,214,.75)}
.finestra__sole{position:absolute;right:18%;top:0;width:min(46vw,560px);aspect-ratio:1;border-radius:50%;z-index:-2;transform:translate(50%,-50%);
  background:radial-gradient(circle,rgba(253,205,114,.95) 0,rgba(253,205,114,.5) 20%,rgba(253,205,114,0) 62%);animation:sole 9s linear infinite alternate}
@keyframes sole{to{transform:translate(50%,-50%) scale(1.08)}}
.finestra__nave{position:absolute;right:-3%;bottom:34%;width:min(48%,600px);will-change:transform;filter:drop-shadow(0 18px 18px rgba(11,63,71,.35))}
.finestra__nave img{width:100%;transform-origin:50% 90%;animation:dondola 7s linear infinite}
@keyframes dondola{0%,100%{transform:translateY(0) rotate(-1.2deg)}25%{transform:translateY(-6px) rotate(0deg)}50%{transform:translateY(-2px) rotate(1.2deg)}75%{transform:translateY(-8px) rotate(0deg)}}
.finestra__corpo{position:relative;max-width:60%}
@media (max-width:760px){
  .finestra{padding-top:min(78vw,440px)}
  .finestra__nave{bottom:calc(100% - 26px);right:-12%;width:82%}
  .finestra__corpo{max-width:none}
}
.finestra__marchio{font:400 clamp(3.6rem,10vw,9.5rem)/.82 var(--norman);color:var(--sole);letter-spacing:-.01em;margin:0}
.finestra__marchio small{display:block;font-size:.34em;line-height:1.05;color:var(--sole);margin-top:.08em}
.finestra__pre{display:flex;align-items:center;gap:12px;font:500 .74rem/1 var(--filson);letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.9);margin-bottom:22px}
.finestra__pre img{width:150px}

.mae-home{display:grid;grid-template-columns:1fr;gap:0}
.mae-home .finestra{min-height:min(92vh,800px)}
.mae-home__tappe{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:clamp(20px,3vw,34px);border-top:1px solid rgba(255,255,255,.28)}
.mae-home__tappa{padding:18px 18px 4px 0;font:300 1rem/1.35 var(--filson);color:rgba(255,255,255,.88);text-decoration:none}
.mae-home__tappa b{display:block;font:400 1.55rem/1 var(--norman);color:var(--sole);margin-bottom:6px}
.mae-home__tappa i{font-style:normal;display:block;font-size:.82rem;opacity:.75;margin-top:4px}
.mae-home__cta{display:flex;flex-wrap:wrap;gap:16px 24px;align-items:center;margin-top:28px}
@media (max-width:760px){.mae-home__tappe{grid-template-columns:1fr}}

/* ---------- archivio in home: Capire l'IA ---------- */
.ia-home{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(36px,7vw,110px);align-items:center}
.cornice{position:relative;border-radius:16px;overflow:hidden;box-shadow:0 30px 60px -28px rgba(0,0,0,.6)}
.cornice img{width:100%;transition:transform 1.4s var(--ease-snap)}
@media (hover:hover){.cornice:hover img{transform:scale(1.04)}}
.js .svela{clip-path:inset(0 0 100% 0);transition:clip-path 1.1s var(--ease-snap)}
.js .svela.in{clip-path:inset(0 0 0 0)}
.meta{display:flex;flex-wrap:wrap;gap:8px 22px;margin:1.4rem 0 2rem;font-size:.92rem;color:var(--salvia)}
.meta span::before{content:"· ";color:var(--sole)}
.meta span:first-child::before{content:none}
@media (max-width:860px){.ia-home{grid-template-columns:1fr}.ia-home .cornice{max-width:420px}}

/* ---------- invito ai contatti (carta) ---------- */
.scrivici{text-align:center}
.scrivici__mail{display:inline-block;margin:.5em 0 .9em;font-size:clamp(1.25rem,2vw,1.6rem);font-weight:400;letter-spacing:0;line-height:1.3;color:var(--inchiostro);text-decoration:none;word-break:break-word}
.scrivici__mail span{background:linear-gradient(var(--verde-luce),var(--verde-luce)) 0 100%/100% 1px no-repeat;transition:background-size .6s var(--ease-snap)}
@media (hover:hover){.scrivici__mail:hover span{background-size:0 1px;background-position:100% 100%}}
.social{display:flex;justify-content:center;gap:14px;margin-top:22px}
.social a{display:inline-flex;align-items:center;gap:.6em;min-height:48px;padding:.7rem 1.3rem;border-radius:999px;border:1px solid currentColor;text-decoration:none;font-size:.9rem;letter-spacing:.06em;transition:transform .5s var(--ease-snap),background-color .4s var(--ease-snap),color .4s var(--ease-snap)}
.social svg{width:18px;height:18px}
@media (hover:hover){.social a:hover{transform:translateY(-2px);background:var(--inchiostro);color:var(--carta)}}
.sez:not(.sez--carta) .social a:hover{background:var(--carta);color:var(--inchiostro)}

/* ---------- piede ---------- */
.piede{position:relative;background:var(--verde-notte);padding:clamp(70px,9vw,110px) 0 36px;color:var(--muto);font-size:.95rem}
.piede__griglia{display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:40px}
.piede__marchio img{width:118px;margin-bottom:22px}
.piede__marchio p{max-width:28ch}
.piede h3{font-size:.76rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--salvia);margin:0 0 18px}
.piede ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.piede a{text-decoration:none;color:var(--carta)}
.piede__fondo{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;margin-top:70px;padding-top:26px;border-top:1px solid var(--linea);font-size:.82rem}
.piede__fondo nav{display:flex;gap:22px}
@media (max-width:860px){.piede__griglia{grid-template-columns:1fr 1fr}.piede__marchio{grid-column:1/-1}}

/* ---------- chi siamo ---------- */
.chi{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:clamp(40px,7vw,120px)}
.chi__stemma{position:sticky;top:120px;align-self:start;width:min(100%,340px);opacity:.92}
.chi__stemma img{width:100%;animation:galleggia 9s linear infinite}
@keyframes galleggia{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.chi__testo p{font-size:1.18rem;line-height:1.7;color:var(--muto)}
.chi__testo p strong{color:var(--carta);font-weight:500}
.chi__testo .citazione{display:block;margin:.6em 0 .5em;padding:0;font-size:clamp(1.6rem,3vw,2.5rem);font-weight:300;line-height:1.22;letter-spacing:-.015em;color:var(--carta)}


@media (max-width:860px){.chi{grid-template-columns:1fr}.chi__stemma{position:relative;top:0;width:160px}}
.direttivo{list-style:none;margin:40px 0 0;padding:0}
.direttivo li{position:relative;display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:20px;padding:30px 0}
.direttivo .nome{font-size:clamp(2rem,4.4vw,3.8rem);font-weight:300;letter-spacing:-.03em;line-height:1;transition:transform .6s var(--ease-snap)}
.direttivo .ruolo{font-size:.8rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--sole)}
.direttivo .filo{position:absolute;left:0;right:0;bottom:0}
@media (hover:hover){.direttivo li:hover .nome{transform:translateX(10px)}}

/* ---------- attività ---------- */
.aree{list-style:none;margin:0;padding:0}
.area{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(20px,5vw,80px);padding:clamp(34px,4.5vw,56px) 0;align-items:baseline}
.area h3{font-size:clamp(2rem,4.2vw,3.6rem);font-weight:300;letter-spacing:-.03em;display:flex;gap:.5em;align-items:baseline}
.area h3 small{font-size:.8rem;font-weight:500;letter-spacing:.14em;color:var(--sole)}
.area p{font-size:1.15rem;color:var(--muto);margin:0;max-width:44ch}
.area .filo{position:absolute;left:0;right:0;top:0}
@media (max-width:760px){.area{grid-template-columns:1fr}}

.appuntamenti{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:clamp(18px,2.4vw,28px)}
.scheda{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:540px;border-radius:var(--r);overflow:hidden;text-decoration:none;isolation:isolate;
  transition:transform .55s var(--ease-snap),box-shadow .55s var(--ease-snap)}
@media (hover:hover){.scheda:hover{transform:translateY(-4px);box-shadow:0 34px 60px -30px rgba(0,0,0,.7)}}
.scheda__corpo{padding:clamp(24px,3vw,40px)}
.scheda__stato{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:999px;font-size:.72rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;background:rgba(255,255,255,.16);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);margin-bottom:18px}
.scheda__stato--vivo::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--sole);animation:polso 2.6s var(--ease-snap) infinite}
.scheda h3{font-size:clamp(2.2rem,4vw,3.4rem);font-weight:300;letter-spacing:-.03em}
.scheda p{margin:.8rem 0 0;max-width:40ch;color:rgba(255,255,255,.82)}
.scheda--mae{background:linear-gradient(180deg,var(--cielo),var(--turchese) 48%,#a9dce0 66%,var(--petrolio) 66.2%,var(--abisso));}
.scheda--mae h3{font-family:var(--norman);color:var(--sole);font-weight:400;font-size:clamp(3rem,6vw,5.4rem);letter-spacing:0;line-height:.9}
.scheda--mae .scheda__nave{position:absolute;right:-6%;top:6%;width:56%;z-index:-1;transition:transform .9s var(--ease-snap)}
@media (hover:hover){.scheda--mae:hover .scheda__nave{transform:translateX(-14px) rotate(-1deg)}}
.scheda--ia{background:#2a2e33}
.scheda--ia img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 20%;z-index:-2;opacity:.55;transition:transform 1.2s var(--ease-snap),opacity .5s}
.scheda--ia::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(20,24,28,0) 30%,rgba(16,20,24,.92))}
@media (hover:hover){.scheda--ia:hover img{transform:scale(1.04);opacity:.68}}
@media (max-width:860px){.appuntamenti{grid-template-columns:1fr}.scheda{min-height:440px}}

.comunicazioni{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--linea)}
.comunicazioni a{display:flex;justify-content:space-between;align-items:center;padding:34px 0;border-bottom:1px solid var(--linea);font-size:clamp(1.6rem,3.2vw,2.6rem);font-weight:300;letter-spacing:-.02em;text-decoration:none;transition:color .3s var(--ease-snap),padding .5s var(--ease-snap)}
.comunicazioni a:first-child{border-right:1px solid var(--linea);padding-right:30px}
.comunicazioni a:last-child{padding-left:30px}
.comunicazioni .freccia{font-size:1.4rem;color:var(--sole);transition:transform .5s var(--ease-snap)}
@media (hover:hover){.comunicazioni a:hover .freccia{transform:translate(4px,-4px)}}
@media (max-width:640px){.comunicazioni{grid-template-columns:1fr}.comunicazioni a:first-child{border-right:0;padding-right:0}.comunicazioni a:last-child{padding-left:0}}

/* ---------- pagina Maestrale ---------- */
.m-testata{padding:110px 0 0}
.m-testata .finestra{min-height:min(90vh,860px)}

.m-sotto{display:flex;flex-wrap:wrap;gap:10px 28px;margin-top:22px;font:500 .82rem/1.3 var(--filson);letter-spacing:.14em;text-transform:uppercase}
.m-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(36px,7vw,110px);align-items:start}
.m-intro .lead{max-width:none;font-size:clamp(1.4rem,2.5vw,2.2rem);line-height:1.3}
@media (max-width:860px){.m-intro{grid-template-columns:1fr}}

/* la rotta */
.rotta{position:relative;margin:clamp(30px,5vw,60px) 0 0;padding:120px 0 0}
.rotta__linea{position:relative;height:2px;background:repeating-linear-gradient(90deg,rgba(242,238,227,.35) 0 6px,transparent 6px 14px)}
.rotta__fatta{position:absolute;left:0;top:0;height:2px;width:100%;background:var(--sole);transform-origin:left;transform:scaleX(0)}
.rotta__nave{position:absolute;left:0;bottom:-6px;width:118px;margin-left:-59px;transform:translateX(0);will-change:transform}
.rotta__nave img{width:100%;transform-origin:50% 90%;animation:dondola 6s linear infinite}
.rotta__tappe{list-style:none;margin:0;padding:0;position:relative;height:96px}
.rotta__tappa{position:absolute;top:-7px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;text-align:center;width:150px}
.rotta__tappa::before{content:"";width:12px;height:12px;border-radius:50%;border:2px solid var(--carta);background:var(--verde);transition:background-color .4s var(--ease-snap),transform .5s var(--spring-snappy)}
.rotta__tappa b{margin-top:14px;font:400 1.35rem/1 var(--norman);color:var(--carta)}
.rotta__tappa span{margin-top:6px;font-size:.78rem;letter-spacing:.06em;color:var(--muto)}
.rotta__tappa.fatta::before{background:var(--sole);border-color:var(--sole)}
.rotta__tappa.qui::before{background:var(--sole);border-color:var(--sole);transform:scale(1.35)}
.rotta__tappa.qui b{color:var(--sole)}
.rotta__tappa--fine{opacity:.55}
@media (max-width:640px){.rotta__tappa{width:96px}.rotta__tappa b{font-size:1.05rem}.rotta__nave{width:80px;margin-left:-40px}}

/* le tappe */
.tappe{list-style:none;margin:0;padding:0;display:grid;gap:clamp(16px,2vw,24px)}
.tappa{position:relative;display:grid;grid-template-columns:200px minmax(0,1fr) 260px;gap:clamp(20px,3.4vw,48px);padding:clamp(24px,3vw,40px);border-radius:var(--r);background:rgba(14,28,18,.42);border:1px solid var(--linea);
  transition:transform .55s var(--ease-snap),border-color .4s var(--ease-snap),background-color .4s var(--ease-snap)}
@media (hover:hover){.tappa:hover{transform:translateY(-4px);border-color:rgba(242,238,227,.3)}}
.tappa--prossima,.tappa--oggi{background:linear-gradient(135deg,rgba(19,99,110,.55),rgba(11,63,71,.6));border-color:rgba(253,205,114,.45)}
.tappa--conclusa{opacity:.72}
.tappa__data{font-family:var(--filson);font-weight:300}
.tappa__giorno{font-size:.95rem;color:var(--muto)}
.tappa__num{font:400 clamp(4.4rem,8vw,6.6rem)/.85 var(--norman);color:var(--sole);display:block}
.tappa__mese{font:400 1.9rem/1 var(--norman);color:var(--sole);display:block;margin-top:4px}
.tappa__ora{display:block;margin-top:10px;font-weight:500}
.tappa__stato{display:inline-flex;align-items:center;gap:8px;margin-bottom:14px;padding:6px 12px;border-radius:999px;font:500 .7rem/1 var(--filson);letter-spacing:.16em;text-transform:uppercase;border:1px solid var(--linea);color:var(--muto)}
.tappa--prossima .tappa__stato,.tappa--oggi .tappa__stato{border-color:var(--sole);color:var(--sole)}
.tappa--oggi .tappa__stato::before,.tappa--prossima .tappa__stato::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--sole);animation:polso 2.6s var(--ease-snap) infinite}
.tappa h3{font:400 clamp(2.2rem,4vw,3.4rem)/.95 var(--norman);letter-spacing:0;color:#fff}
.tappa__sotto{margin:.5rem 0 1.2rem;font:400 1.2rem/1.3 var(--norman);color:var(--sole)}
.tappa__persone{list-style:none;margin:0 0 1.2rem;padding:0;display:grid;gap:8px;font-family:var(--filson);font-weight:300}
.tappa__persone b{font-weight:500;color:#fff}
.tappa__persone span{color:var(--muto)}
.tappa__etichetta{display:block;font:500 .7rem/1 var(--filson);letter-spacing:.18em;text-transform:uppercase;color:var(--salvia);margin:0 0 10px}
.tappa__dove{font-family:var(--filson);font-weight:300;color:var(--carta)}
.tappa__dove a{color:var(--carta)}
.tappa__note{margin-top:1rem;font:300 .92rem/1.5 var(--filson);color:var(--muto)}
.tappa__lato{display:flex;flex-direction:column;gap:14px;align-items:stretch}
.tappa__locandina{display:block;border:0;padding:0;background:none;cursor:zoom-in;border-radius:12px;overflow:hidden;box-shadow:0 18px 36px -20px rgba(0,0,0,.7);transition:transform .55s var(--ease-snap)}
.tappa__locandina img{width:100%;aspect-ratio:1100/1555;object-fit:cover}
@media (hover:hover){.tappa__locandina:hover{transform:rotate(-1.2deg) scale(1.02)}}
.tappa__lato .btn{justify-content:center}
.tappa--conclusa .btn--sole{display:none}
.tappa__segnaposto{display:grid;place-items:end center;aspect-ratio:1;border-radius:12px;overflow:hidden;padding:18px 12px 0;background:linear-gradient(180deg,var(--cielo),var(--turchese) 62%,#f3e5b6 78%,var(--petrolio) 78.4%,var(--abisso))}
.tappa__segnaposto img{width:86%;margin-bottom:6%;animation:dondola 7s linear infinite;transform-origin:50% 90%}
@media (max-width:1000px){.tappa{grid-template-columns:150px minmax(0,1fr)}.tappa__lato{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;align-items:center}.tappa__locandina,.tappa__segnaposto{width:150px}}
@media (max-width:600px){.tappa{grid-template-columns:1fr}.tappa__data{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.tappa__num{font-size:4rem}.tappa__mese{font-size:1.6rem}}

.ingresso{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--linea);border-bottom:1px solid var(--linea)}
.ingresso div{padding:30px 26px 30px 0}
.ingresso div+div{padding-left:26px;border-left:1px solid var(--linea)}
.ingresso b{display:block;font:400 1.6rem/1.1 var(--norman);color:var(--sole);margin-bottom:8px}
.ingresso p{margin:0;color:var(--muto);font-family:var(--filson);font-weight:300}
@media (max-width:760px){.ingresso{grid-template-columns:1fr}.ingresso div+div{padding-left:0;border-left:0;border-top:1px solid var(--linea)}}
.contributo{display:flex;flex-wrap:wrap;align-items:center;gap:18px 26px;font:500 .72rem/1.3 var(--filson);letter-spacing:.18em;text-transform:uppercase;color:var(--muto)}
.contributo img{width:220px}

/* lightbox locandine */
dialog.lb{border:0;padding:0;background:transparent;max-width:min(92vw,620px);max-height:92vh;overflow:visible;opacity:0;transform:scale(.95);transition:opacity .35s var(--ease-snap),transform .55s var(--spring-smooth),overlay .35s allow-discrete,display .35s allow-discrete}
dialog.lb[open]{opacity:1;transform:none}
@starting-style{dialog.lb[open]{opacity:0;transform:scale(.95)}}
dialog.lb::backdrop{background:rgba(8,16,10,.82);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
dialog.lb img{max-height:88vh;width:auto;border-radius:10px}
dialog.lb button{position:absolute;top:-18px;right:-18px;width:44px;height:44px;border-radius:50%;border:0;background:var(--carta);color:var(--inchiostro);font-size:1.4rem;cursor:pointer}

/* ---------- Capire l'IA ---------- */
.ia-testata{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:clamp(30px,6vw,90px);align-items:end}
.ia-testata .testata__titolo{font-size:clamp(3.2rem,10vw,9rem)}
.ia-testata .cornice{transform:rotate(2deg)}
@media (max-width:860px){.ia-testata{grid-template-columns:1fr}.ia-testata .cornice{max-width:360px}}
.parte{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(30px,6vw,100px)}
.parte__intesta{position:sticky;top:110px;align-self:start}
.parte__num{font-size:.8rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--sole)}
.parte__intesta h2{font-size:clamp(2rem,3.8vw,3.2rem);font-weight:300;margin:.6rem 0 1rem}
.parte__intesta p{color:var(--muto)}
.relatori{list-style:none;margin:0;padding:0}
.relatore{position:relative;padding:30px 0}
.relatore .filo{position:absolute;left:0;right:0;top:0}
.relatore h3{font-size:clamp(1.6rem,2.6vw,2.2rem);font-weight:400;letter-spacing:-.02em}
.relatore__ruolo{margin:.35rem 0 1rem;color:var(--salvia);font-size:.98rem}
.relatore__titolo{display:block;margin-bottom:.4rem;font-weight:500;color:var(--carta)}
.relatore p{color:var(--muto);max-width:58ch}
.relatore blockquote{margin:1rem 0 0;padding-left:18px;border-left:2px solid var(--sole);font-size:1.05rem;color:var(--carta)}
@media (max-width:860px){.parte{grid-template-columns:1fr}.parte__intesta{position:relative;top:0}}
.frase{text-align:center;padding:clamp(90px,14vw,190px) 0}
.frase blockquote{margin:0 auto;max-width:18ch;font-size:clamp(2.4rem,6.4vw,6rem);font-weight:300;line-height:1;letter-spacing:-.04em}
.frase cite{display:block;margin-top:2rem;font-style:normal;color:var(--salvia);font-size:.9rem;letter-spacing:.14em;text-transform:uppercase}

/* ---------- elenchi: news e archivio ---------- */
.elenco{list-style:none;margin:0;padding:0}
.elenco li{position:relative}
.elenco .filo{position:absolute;left:0;right:0;top:0}
.voce{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:28px;align-items:baseline;padding:30px 0;text-decoration:none}
.voce time{font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;color:var(--salvia)}
.voce h3{font-size:clamp(1.5rem,2.8vw,2.3rem);font-weight:300;letter-spacing:-.02em;transition:transform .55s var(--ease-snap)}
.voce p{margin:.5rem 0 0;color:var(--muto);max-width:60ch}
.voce .freccia{color:var(--sole);font-size:1.3rem;transition:transform .5s var(--ease-snap)}
@media (hover:hover){a.voce:hover h3{transform:translateX(8px)}a.voce:hover .freccia{transform:translate(4px,-4px)}}
.voce__tipo{display:inline-block;margin-bottom:.6rem;font-size:.72rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--sole)}
@media (max-width:640px){.voce{grid-template-columns:1fr auto}.voce time{grid-column:1/-1}}
.anno{font-size:clamp(3rem,7vw,6rem);font-weight:300;letter-spacing:-.04em;color:rgba(242,238,227,.22);margin:0 0 10px}

/* ---------- lettera (convocazione) ---------- */
.lettera{max-width:820px;margin:0 auto;background:var(--carta);color:var(--inchiostro);border-radius:6px;padding:clamp(28px,6vw,80px);box-shadow:0 50px 90px -40px rgba(0,0,0,.7)}
.lettera__intesta{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:40px}
.lettera__intesta img{width:170px}
.lettera h1{font-size:clamp(1.8rem,3.6vw,2.7rem);font-weight:400;line-height:1.1;margin:0 0 .6rem}
.lettera h2{font-size:.82rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--verde-luce);margin:0 0 2rem}
.lettera p,.lettera li{font-size:1.06rem;line-height:1.7}
.lettera ol{padding-left:1.4em}
.lettera ul{padding-left:1.2em}
.lettera__firma{margin-top:2.6rem;text-align:right}
.lettera time{color:var(--verde-luce);font-size:.9rem}

/* ---------- contatti ---------- */
.contatti{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(40px,7vw,110px);align-items:end}
.contatti .scrivici__mail{color:var(--carta)}
.contatti .scrivici__mail span{background-image:linear-gradient(var(--sole),var(--sole))}
.contatti .social{justify-content:flex-start}
.contatti__lato p{color:var(--muto)}
@media (max-width:860px){.contatti{grid-template-columns:1fr}}

/* nota per EM nel prototipo */
.nota-em{display:inline-block;margin-left:.6em;padding:3px 9px;border-radius:6px;background:rgba(253,205,114,.18);border:1px dashed rgba(253,205,114,.7);color:var(--sole);font:500 .7rem/1.3 var(--font);letter-spacing:.06em;vertical-align:middle;text-transform:none}

@media (max-width:760px){.m-testata .finestra,.mae-home .finestra{min-height:0}.m-testata{padding-top:96px}}

/* anteprime a pagina intera (?cattura) */
.cattura *,.cattura *::before,.cattura *::after{transition:none!important;animation:none!important}
@media (min-width:761px){.cattura .hero{min-height:900px}.cattura .m-testata .finestra{min-height:780px}.cattura .mae-home .finestra{min-height:720px}}
@media (max-width:480px){.btn{font-size:.8rem;letter-spacing:.05em;padding:.85rem 1.2rem}.hero .eyebrow::before,.hero .eyebrow::after{display:none}}

/* ---------- movimento ridotto ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important}
  [data-reveal],.entra{transform:none!important;filter:none!important;transition:opacity .4s linear!important}
  .parola>span{transform:none!important;transition:none!important}
  .filo{transform:none!important}
  .svela{clip-path:none!important}
  .ramo{display:none}
  .btn:hover,.scheda:hover,.tappa:hover{transform:none}
  ::view-transition-old(root),::view-transition-new(root){animation:none}
}

/* ---------- privacy e cookie ---------- */
.legale{max-width:68ch}
.legale h2{margin:2.4rem 0 .8rem;font-size:clamp(1.35rem,2.2vw,1.75rem);font-weight:400;color:var(--carta)}
.legale h2:first-child{margin-top:0}
.legale__data{margin-top:2.6rem;font-size:.9rem;color:var(--salvia)}
.chi__testo .citazione strong{color:var(--sole);font-weight:400}
