/* FAME Academy — livello grafico (rif. motionsites.ai: f1-driver-profile, slam-dunk, scroll-landing).
   Si carica dopo main.css e ne sovrascrive tipografia, logo e sezioni della home. */

:root{
  --font-display:"Outfit","Helvetica Neue",Arial,sans-serif;
  --font-body:"Manrope","Helvetica Neue",Arial,sans-serif;
  --font-cond:"Anton","Impact","Arial Narrow",sans-serif;
  --fame-radius:28px;
}

/* ---------- tipografia generale ---------- */
h1,h2,h3{font-family:var(--font-display);font-weight:600;letter-spacing:-.035em}
h2{font-weight:600;letter-spacing:-.04em}
.eyebrow{display:inline-flex;align-items:center;gap:10px;color:var(--ink-2);letter-spacing:.2em}
.eyebrow::before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px rgba(184,147,90,.18)}
.section-head h2 em,.fh h1 em,.fc h2 em,.fd h2 em{color:var(--accent)}

/* ---------- logo vettoriale in barra ---------- */
.logo{gap:12px}
.logo .logo-img{height:48px;width:auto;overflow:visible}
.nav-centered .logo-img{height:56px}
.logo-word{display:grid;line-height:1;font-family:var(--font-display)}
.logo-word b{font-weight:700;letter-spacing:.34em;font-size:.92rem;color:var(--ink)}
.logo-word small{font-weight:500;letter-spacing:.42em;font-size:.56rem;color:var(--accent);margin-top:6px}
@media (max-width:860px){.nav-centered .logo-img{height:44px}.logo-word{display:none}}

/* ---------- pulsanti ---------- */
.fh-btn{display:inline-flex;align-items:center;gap:14px;height:52px;padding:0 26px;border-radius:999px;font-family:var(--font-display);font-weight:600;font-size:.95rem;letter-spacing:.01em;transition:background .3s,color .3s,border-color .3s,transform .3s cubic-bezier(.2,.8,.2,1);white-space:nowrap}
.fh-btn:hover{transform:translateY(-2px)}
.fh-btn-gold{background:var(--accent);color:#0D0D0D}
.fh-btn-gold:hover{background:var(--accent-2)}
.fh-btn-ghost{border:1px solid rgba(247,243,236,.28);background:rgba(13,13,13,.35);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--ink);padding-right:8px}
.fh-btn-ghost i{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--ink);color:#0D0D0D;font-style:normal;transition:transform .3s}
.fh-btn-ghost:hover{border-color:var(--accent)}
.fh-btn-ghost:hover i{transform:translateX(3px);background:var(--accent)}

/* ---------- loader: solo alla prima visita ---------- */
.fame-intro body{overflow:hidden}
#fameIntro{display:none}
.fame-intro #fameIntro{position:fixed;inset:0;z-index:5000;display:grid;place-items:center;background:#0D0D0D}
.fi-box{display:grid;justify-items:center}
.fi-mark{width:min(46vw,250px);height:auto;overflow:visible}
.fi-mark > *{transform-box:fill-box}
.fi-word{margin-top:30px;font-family:var(--font-display);font-weight:600;font-size:.82rem;letter-spacing:.55em;color:var(--ink-2);text-transform:uppercase;opacity:0;padding-left:.55em}

/* ---------- HERO "driver profile" ---------- */
.fh{padding:12px;position:relative}
.fh-card{position:relative;height:calc(100svh - 24px);min-height:640px;border-radius:var(--fame-radius);overflow:hidden;isolation:isolate;background:radial-gradient(120% 90% at 70% 20%,#2A2016 0%,#0D0D0D 62%)}
.fh-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;filter:saturate(.8) contrast(1.06);transform-origin:50% 40%}
.fh-shade{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:var(--ov,1);
  background:
    linear-gradient(90deg,rgba(13,13,13,.88) 0%,rgba(13,13,13,.45) 45%,rgba(13,13,13,.12) 75%),
    linear-gradient(180deg,rgba(13,13,13,.55) 0%,rgba(13,13,13,0) 28%,rgba(13,13,13,0) 55%,rgba(13,13,13,.9) 100%)}
.fh-tag{position:absolute;z-index:3;top:clamp(96px,11vh,120px);left:clamp(22px,4vw,56px);display:flex;align-items:center;gap:12px;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink)}
.fh-dot{position:relative;width:10px;height:10px;border-radius:50%;background:var(--accent)}
.fh-dot::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:1px solid var(--accent);animation:fhPulse 2.2s ease-out infinite}
@keyframes fhPulse{from{transform:scale(.5);opacity:1}to{transform:scale(1.8);opacity:0}}
.fh-pitch{position:absolute;z-index:3;top:clamp(92px,11vh,118px);right:clamp(22px,4vw,56px);width:clamp(200px,24vw,360px);height:auto;color:rgba(247,243,236,.5);overflow:visible}
.fh-dots circle{fill:var(--ink)}
.fh-dots .is-goal{fill:var(--accent)}
.fh-bottom{position:absolute;z-index:3;left:clamp(22px,4vw,56px);right:clamp(22px,4vw,56px);bottom:clamp(96px,12vh,120px);display:flex;justify-content:space-between;align-items:flex-end;gap:40px}
.fh-left{max-width:760px}
.fh h1{font-size:clamp(3rem,7vw,7.2rem);line-height:.92;letter-spacing:-.05em;font-weight:600;max-width:12ch;margin:0}
#headline .w{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.1em;margin-bottom:-.1em}
#headline .w > *{display:inline-block}
.fh-lead{margin-top:22px;max-width:42ch;color:var(--ink-2);font-size:clamp(1rem,1.2vw,1.12rem)}
.fh-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.fh-stats{display:grid;justify-items:end;gap:14px;margin:0}
.fh-stat{display:flex;flex-direction:column-reverse;align-items:flex-end}
.fh-stat dt{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-2);margin-top:6px}
.fh-stat dd{margin:0;font-family:var(--font-display);font-weight:500;font-size:clamp(3rem,6.6vw,6.6rem);line-height:.86;letter-spacing:-.05em;font-variant-numeric:tabular-nums;background:linear-gradient(180deg,rgba(247,243,236,.96) 30%,rgba(247,243,236,.3));-webkit-background-clip:text;background-clip:text;color:transparent}
.fh-stat dd small{font-size:.45em;margin-left:.08em}
.fh-stat.is-gold dd{background:linear-gradient(180deg,#E3C891 0%,var(--accent) 70%);-webkit-background-clip:text;background-clip:text}
@media (max-width:900px){
  .fh-card{height:auto;min-height:calc(100svh - 24px);display:flex;flex-direction:column;justify-content:flex-end;padding:120px 0 150px}
  .fh-bottom{position:relative;left:auto;right:auto;bottom:auto;flex-direction:column;align-items:flex-start;gap:34px;padding:0 22px}
  .fh-stats{grid-template-columns:repeat(3,auto);justify-items:start;gap:18px}
  .fh-stat{align-items:flex-start}
  .fh-stat dd{font-size:clamp(2.2rem,11vw,3.4rem)}
  .fh-pitch{width:clamp(130px,34vw,200px);top:92px;opacity:.8}
  .fh-tag{top:92px;max-width:52%}
}

/* ---------- SLAM DUNK: parola gigante dietro il pallone ---------- */
.fd{position:relative;overflow:hidden;padding:clamp(90px,12vw,170px) 0 clamp(70px,8vw,120px);background:radial-gradient(55% 45% at 50% 42%,rgba(184,147,90,.2),transparent 70%),var(--ground)}
.fd-stage{position:relative;height:clamp(300px,44vw,640px);display:grid;place-items:center}
.fd-word{position:absolute;left:-10%;right:-10%;top:50%;transform:translateY(-50%);display:flex;justify-content:center;font-family:var(--font-cond);font-size:clamp(6rem,23vw,25rem);line-height:.82;text-transform:uppercase;white-space:nowrap;pointer-events:none;user-select:none}
.fd-word span{display:inline-block;background:linear-gradient(180deg,#46403A 0%,#211E1B 90%);-webkit-background-clip:text;background-clip:text;color:transparent}
.fd-ball{position:relative;z-index:2;display:block;width:clamp(210px,32vw,500px);aspect-ratio:1;filter:drop-shadow(0 50px 60px rgba(0,0,0,.65))}
.fd-ball img{display:block;width:100%;height:auto}
.fd-shadow{position:absolute;z-index:1;left:50%;bottom:2%;width:clamp(170px,26vw,420px);height:34px;transform:translateX(-50%);background:radial-gradient(closest-side,rgba(0,0,0,.8),transparent)}
.fd-foot{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-top:clamp(30px,4vw,56px)}
.fd-copy h2{margin-top:14px;font-size:clamp(1.9rem,3.8vw,3.4rem);max-width:17ch;line-height:1}
.fd-price{display:grid;justify-items:end;gap:10px;text-align:right}
.fd-price-lbl{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3)}
.fd-price-num{font-family:var(--font-cond);font-weight:400;font-size:clamp(2.6rem,5vw,4.4rem);line-height:.9;color:var(--accent)}
@media (max-width:760px){.fd-foot{flex-direction:column;align-items:flex-start}.fd-price{justify-items:start;text-align:left}}

/* ---------- CAMMINO NEL CAMPO (scroll-landing) ---------- */
.fc{padding:0 12px;position:relative}
.fc-pin{height:100svh;display:flex;align-items:center}
.fc-frame{position:relative;width:100%;height:calc(100svh - 24px);border-radius:var(--fame-radius);overflow:hidden;isolation:isolate;background:#141210}
.fc-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform-origin:50% 72%;will-change:transform;filter:saturate(.75) contrast(1.05)}
.fc-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,13,13,.6) 0%,rgba(13,13,13,.15) 35%,rgba(13,13,13,.25) 60%,rgba(13,13,13,.9) 100%)}
.fc-lines{position:absolute;inset:0;opacity:.5;background-image:repeating-linear-gradient(90deg,transparent 0 calc(16.66% - 1px),rgba(247,243,236,.06) calc(16.66% - 1px) 16.66%);pointer-events:none}
.fc-steps{position:absolute;z-index:2;right:clamp(22px,4vw,56px);top:50%;transform:translateY(-50%);width:min(390px,84vw);list-style:none;margin:0;padding:0;display:grid}
.fc-step{grid-area:1/1;padding:28px 30px;border:1px solid rgba(247,243,236,.16);border-radius:22px;background:rgba(13,13,13,.55);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);opacity:0}
.fc-num{display:block;font-family:var(--font-cond);font-size:2.8rem;line-height:1;color:var(--accent);margin-bottom:14px}
.fc-step h3{font-size:1.6rem}
.fc-step p{margin-top:10px;color:var(--ink-2);font-size:.96rem}
.fc-progress{position:absolute;z-index:2;left:clamp(22px,4vw,56px);right:clamp(22px,4vw,56px);bottom:clamp(70px,9vh,86px);height:2px;background:rgba(247,243,236,.14);border-radius:2px;overflow:hidden}
.fc-progress i{display:block;height:100%;background:var(--accent);transform-origin:left center;transform:scaleX(0)}
/* senza animazioni: tutto visibile, niente pin */
.fc.no-pin .fc-pin{height:auto}
.fc.no-pin .fc-frame{height:auto;min-height:calc(100svh - 24px);display:flex;flex-direction:column;justify-content:flex-end;padding:130px clamp(22px,4vw,56px) 110px;gap:28px}
.fc.no-pin .fc-copy,.fc.no-pin .fc-steps{position:relative;inset:auto;transform:none;width:auto}
.fc.no-pin .fc-steps{gap:12px}
.fc.no-pin .fc-step{grid-area:auto;opacity:1}
.fc.no-pin .fc-progress{display:none}
@media (max-width:760px){
}

/* la home non ha più il vecchio hero: niente margine extra sotto */
.home .fh + *{margin-top:0}
.footer-mark{width:92px;height:auto;display:block}

/* numeri hero: etichetta sempre leggibile sotto la cifra (niente sovrapposizioni) */
.fh-stats{gap:18px}
.fh-stat dd{line-height:1;padding-bottom:.02em}
.fh-stat dt{position:relative;z-index:2;white-space:nowrap;margin-top:6px}
.fh-stat dt{color:var(--ink);text-shadow:0 1px 8px rgba(0,0,0,.85)}
.fh-shade{background:
  radial-gradient(60% 70% at 100% 85%,rgba(13,13,13,.75),rgba(13,13,13,0) 70%),
  linear-gradient(90deg,rgba(13,13,13,.88) 0%,rgba(13,13,13,.45) 45%,rgba(13,13,13,.12) 75%),
  linear-gradient(180deg,rgba(13,13,13,.55) 0%,rgba(13,13,13,0) 28%,rgba(13,13,13,0) 55%,rgba(13,13,13,.9) 100%)}

/* cammino nel campo: testi sempre leggibili sopra la foto */
.fc-shade{background:
  linear-gradient(180deg,rgba(13,13,13,.78) 0%,rgba(13,13,13,.35) 26%,rgba(13,13,13,.2) 50%,rgba(13,13,13,.55) 72%,rgba(13,13,13,.95) 100%),
  linear-gradient(90deg,rgba(13,13,13,.55) 0%,rgba(13,13,13,0) 45%)}
.fc-progress{bottom:clamp(92px,12vh,120px)}

/* titolo hero: spazio per le lettere con la "gamba" (g, p, q) dentro la maschera dell'animazione */
#headline .w{padding:.14em .02em .24em;margin:-.14em -.02em -.24em}
.fh h1{line-height:.98}

/* occhiello hero sulla stessa linea delle icone social della barra (desktop) */
@media (min-width:861px){
  .fh-tag{top:24px;left:calc(var(--gutter) - 12px);height:20px}
  .fh-pitch{top:clamp(100px,12vh,130px)}
}

/* numeri hero: il testo "sfumato" (background-clip) tagliava il bordo destro delle cifre */
.fh-stat dd{letter-spacing:-.03em;padding:0 .1em 0 .06em;margin-right:-.1em}
.fh-stat dd small{padding-right:.05em}
/* video "Il percorso": niente ingrandimento (evita di sgranare) */
.fc-video{filter:none;image-rendering:auto}

/* "Il percorso" su telefono: card dei passaggi sotto il testo in alto, mai sopra il titolo */
@media (max-width:760px){
  .fc-step{padding:18px 20px;border-radius:18px}
  .fc-num{font-size:2rem;margin-bottom:8px}
  .fc-step h3{font-size:1.25rem}
  .fc-step p{font-size:.9rem;margin-top:6px}
}

/* telefono: i contenuti in basso restano sopra al pulsante della chat e al menu */
@media (max-width:900px){
  .fh-card{padding-bottom:150px}
}
@media (max-width:760px){
}
@media (max-width:760px) and (max-height:740px){
  .fc-step{padding:14px 18px}
  .fc-step p{display:none}
}

/* telefono: logo e icone un po' più in basso, dentro la card della hero */
@media (max-width:860px){
  .nav-centered{padding-top:26px}
  .nav-centered.is-scrolled{padding-top:10px}
}

/* telefono: tre numeri sempre dentro lo schermo, etichette su due righe; campo disegnato nascosto */
@media (max-width:600px){
  .fh-stats{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:10px}
  .fh-stat{min-width:0}
  .fh-stat dt{white-space:normal;font-size:.58rem;letter-spacing:.12em;line-height:1.3}
  .fh-pitch{display:none}
  .fh-tag{max-width:none}
}

/* desktop: logo più in basso, dentro la card della hero (icone e occhiello restano in linea) */
@media (min-width:861px){
  .nav-centered .logo{transform:translateY(16px);transition:transform .35s cubic-bezier(.2,.8,.2,1)}
  .nav-centered.is-scrolled .logo{transform:none}
}

/* logo originale vettoriale: marchio + lettering */
.logo{gap:14px}
.logo .logo-word{height:20px;width:auto;display:block}
.nav-centered .logo-word{height:24px}
@media (max-width:860px){.logo .logo-word{display:none}}
.fi-word{width:min(52vw,280px);height:auto;margin-top:26px;opacity:0;padding:0}
.footer-mark{width:150px;height:auto;display:block}

/* logo in barra: marchio con il nome sotto (lockup verticale) */
.logo .logo-img{height:70px;width:auto}
.nav-centered .logo-img{height:88px}
.nav-centered.is-scrolled .logo-img{height:54px}
@media (max-width:860px){.nav-centered .logo-img{height:64px}}

/* "Il percorso": occhiello in alto al centro, titolo a sinistra, passaggi a destra,
   frase e pulsante in basso al centro. I passaggi hanno lo stesso stile del titolo. */
.fc-eyebrow{position:absolute;z-index:2;top:clamp(92px,11vh,118px);left:0;right:0;display:flex;justify-content:center;color:var(--ink)}
.fc-copy{position:absolute;z-index:2;left:clamp(22px,4vw,56px);right:clamp(22px,4vw,56px);top:50%;transform:translateY(-50%);width:auto;text-align:center}
.fc-copy h2{font-size:clamp(2.9rem,6vw,5.5rem);font-weight:500;line-height:1;max-width:13ch;margin:0 auto;text-transform:uppercase;letter-spacing:.005em;text-shadow:0 4px 30px rgba(0,0,0,.55)}
.fc-steps{position:absolute;z-index:2;left:clamp(22px,4vw,56px);right:clamp(22px,4vw,56px);top:50%;transform:translateY(-50%);width:auto;list-style:none;margin:0;padding:0;display:grid;text-align:center;justify-items:center}
.fc-step{grid-area:1/1;padding:0;border:0;background:none;-webkit-backdrop-filter:none;backdrop-filter:none;opacity:0;text-shadow:0 4px 30px rgba(0,0,0,.6);display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:0 clamp(14px,1.6vw,24px)}
.fc-num{display:block;font-family:var(--font-cond);font-size:clamp(2.9rem,6vw,5.5rem);line-height:1;color:var(--accent);margin:0}
.fc-step h3{font-family:var(--font-display);font-weight:500;font-size:clamp(2.9rem,6vw,5.5rem);line-height:1;margin:0;text-transform:uppercase;letter-spacing:.005em}
.fc-step p{flex:0 0 100%;margin-top:16px;color:var(--ink-2);font-size:clamp(.88rem,1.05vw,1.02rem);line-height:1.5;white-space:nowrap}
.fc-foot{position:absolute;z-index:2;left:0;right:0;bottom:clamp(132px,17vh,180px);display:grid;justify-items:center;gap:16px;padding:0 clamp(22px,4vw,56px)}
.fc-side{max-width:none;white-space:nowrap;text-align:center;color:var(--ink);font-size:clamp(.8rem,1.06vw,1.05rem);text-shadow:0 2px 14px rgba(0,0,0,.7)}
@media (max-width:900px){
	.fc-eyebrow{top:clamp(84px,11vh,104px)}
	.fc-copy{left:22px;right:22px;top:50%;transform:translateY(-50%);width:auto;text-align:center}
	.fc-copy h2{font-size:clamp(1.75rem,7.4vw,2.5rem);max-width:15ch;margin:0 auto;line-height:1.06}
	.fc-steps{left:22px;right:22px;top:50%;bottom:auto;transform:translateY(-50%);width:auto;text-align:center;justify-items:center}
	.fc-step{justify-content:center;gap:0 12px}
	.fc-num{font-size:clamp(1.75rem,7.4vw,2.5rem)}
	.fc-step h3{font-size:clamp(1.75rem,7.4vw,2.5rem)}
	.fc-step p{white-space:normal;max-width:34ch;margin:12px auto 0;font-size:.9rem}
	.fc-side{display:none}
	.fc-foot{bottom:calc(var(--dock-h,92px) + 78px);gap:0}
	.fc-progress{left:22px;right:22px;bottom:calc(var(--dock-h,92px) + 150px)}
}


/* articoli con video YouTube: player e segnalibro sulle miniature */
.fame-video{position:relative;aspect-ratio:16/9;border-radius:var(--fame-radius,22px);overflow:hidden;background:#0D0D0D;margin:0 0 clamp(22px,3vw,34px);border:2px solid var(--accent);box-shadow:0 0 0 1px rgba(184,147,90,.25),0 30px 70px rgba(0,0,0,.45)}
/* articolo con video: il player apre la pagina, subito sotto la barra col logo,
   largo quanto la card del testo */
.post-video{padding-top:clamp(120px,15vw,168px)}
.post-video .fame-video{margin:0 auto;max-width:820px}
.fame-video:fullscreen,.fame-video:-webkit-full-screen{max-width:none;width:100%;height:100%;aspect-ratio:auto;border:0;border-radius:0}
.page-hero.has-video{padding-top:clamp(28px,4vw,44px)}
.fame-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.tile-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2;display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:rgba(13,13,13,.55);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(247,243,236,.35);color:var(--ink);font-size:1.05rem;padding-left:4px;transition:background .3s,border-color .3s,transform .3s}
.tile:hover .tile-play,.tl-img:hover .tile-play{background:var(--accent);border-color:var(--accent);color:#0D0D0D;transform:translate(-50%,-50%) scale(1.06)}
.tl-img.has-video{position:relative}
@media (max-width:760px){.tile-play{width:46px;height:46px;font-size:.9rem}}

/* scheda articolo: meno aria tra il titolo e la card del testo (la meta di prima) */
.single-post .page-hero{padding-bottom:clamp(20px,3vw,36px)}
.single-post .page-hero + .section{padding-top:clamp(20px,3vw,40px)}

/* Eventi: elenco delle date aperte e archivio */
.ev-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;gap:clamp(18px,2.4vw,28px);align-items:stretch}
.ev-card{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1fr);grid-template-rows:1fr;align-items:stretch;min-height:330px;gap:clamp(18px,2.4vw,32px);padding:clamp(16px,1.8vw,22px);border:1px solid var(--line);border-radius:26px;background:linear-gradient(180deg,rgba(247,243,236,.04),rgba(247,243,236,.012));transition:border-color .35s,transform .35s}
.ev-card:hover{border-color:rgba(184,147,90,.5);transform:translateY(-3px)}
.ev-cover{position:relative;display:block;height:100%;align-self:stretch;min-height:230px;aspect-ratio:auto;border-radius:18px;overflow:hidden;background:var(--gt,#1a1815);background-size:cover;background-position:center}
.ev-day{position:absolute;left:14px;top:14px;display:grid;justify-items:center;padding:8px 12px;border-radius:14px;background:rgba(13,13,13,.72);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(247,243,236,.16);line-height:1}
.ev-day b{font-family:var(--font-cond);font-size:1.7rem;color:var(--accent)}
.ev-day small{font-size:.62rem;letter-spacing:.1em;color:var(--ink-2);margin-top:3px}
.ev-body{display:flex;flex-direction:column;gap:10px;padding:6px 8px 8px 2px;height:100%;align-self:stretch}
.ev-body h2{font-size:clamp(1.25rem,1.6vw,1.65rem);line-height:1.12}
.ev-body h2 a{color:inherit}
.ev-body h2 a:hover{color:var(--accent)}
.ev-body > p{color:var(--ink-2);font-size:.96rem;max-width:62ch}
.ev-facts{list-style:none;margin:2px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px 22px}
.ev-facts li{display:grid;gap:2px}
.ev-facts span{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.ev-facts b{font-size:.96rem;font-weight:600}
.ev-cta{margin-top:auto;padding-top:12px;align-self:flex-end;display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.ev-cta .btn{padding:11px 20px;font-size:.85rem}
.ev-card.is-past{opacity:.72}
.ev-card.is-past:hover{opacity:1}
.tl-tag.is-evento{background:rgba(184,147,90,.16);color:var(--accent)}
.cta-band{display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between;padding:clamp(24px,3vw,40px);border:1px solid var(--line);border-radius:26px;background:linear-gradient(120deg,rgba(184,147,90,.1),rgba(247,243,236,.02))}
.cta-band h2{font-size:clamp(1.6rem,2.6vw,2.3rem)}
.cta-band .lead{margin-top:6px;color:var(--ink-2)}
@media (max-width:1200px){
  .ev-list{grid-template-columns:1fr}
  .ev-card{grid-template-columns:minmax(0,.7fr) minmax(0,1fr)}
}
@media (max-width:760px){
  .ev-card{grid-template-columns:1fr;grid-template-rows:auto 1fr;padding:14px;min-height:0}
  .ev-cover{height:auto;min-height:0;aspect-ratio:16/9}
  .ev-cover{aspect-ratio:16/9}
  .ev-body{padding:0 4px 6px}
  .ev-cta{align-self:stretch;justify-content:stretch;margin-top:10px;gap:8px;flex-wrap:nowrap}
  .ev-cta .btn{width:auto;justify-content:center;white-space:nowrap;padding:11px 14px;font-size:.8rem}
  .ev-cta .btn-ghost{flex:0 0 auto}
  .ev-cta .btn-primary{flex:1 1 auto;min-width:0}
}

/* home: agenda dei prossimi eventi con link all'iscrizione */
.agenda li{position:relative}
.ag-main b a{color:inherit}
.ag-main b a:hover{color:var(--accent)}
.ag-go{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:.85rem;color:var(--accent);white-space:nowrap}
.ag-go:hover{color:var(--ink)}
.ag-go .arrow{transition:transform .35s}
.ag-go:hover .arrow{transform:translateX(4px)}
.agenda-all{margin-top:26px}
@media (max-width:760px){.ag-go{margin-top:6px}}

/* credito del fotografo sotto la fotogallery */
.work-credit{margin-top:18px;font-size:.82rem;letter-spacing:.04em;color:var(--ink-3);text-align:right}
.work-credit b{color:var(--ink-2);font-weight:600}
@media (max-width:760px){.work-credit{text-align:left}}

/* torna su: resta pieno una volta comparso (prima restava a mezza trasparenza) */
.totop{opacity:0;transform:translateY(14px) scale(.92);transition:opacity .35s ease,transform .35s ease,background .3s}
.totop.is-visible{opacity:1 !important;transform:none !important;pointer-events:auto}
.totop{box-shadow:0 14px 34px rgba(0,0,0,.45),0 0 0 1px rgba(13,13,13,.2)}
body.dock-aperto .totop{opacity:0 !important;pointer-events:none}

/* chi siamo: schede staff tutte della stessa altezza, foto sempre quadrata */
.cs-people{grid-auto-rows:1fr}
.cs-person{align-content:start}
.cs-person-ph{width:100%;height:auto;aspect-ratio:1/1;flex:0 0 auto}
.cs-person figcaption{align-self:start}

/* home: pulsanti delle card attivita affiancati anche su telefono */
.panel-btns{display:flex;gap:8px;flex-wrap:wrap}
@media (max-width:760px){
  .panel-btns{flex-wrap:nowrap;gap:8px}
  .panel-btns .btn{white-space:nowrap;justify-content:center;padding:11px 14px;font-size:.8rem}
  .panel-btns .btn-ghost{flex:0 0 auto}
  .panel-btns .btn-primary{flex:1 1 auto;min-width:0}
}

/* Titolo della hero su due righe: il testo porta il suo a capo, quindi niente
   larghezza in caratteri e corpo tarato sulla riga più lunga. */
.fh h1{max-width:none;font-size:clamp(2.2rem,4.6vw,4.8rem)}
.fh-left{max-width:min(1000px,56vw)}
@media (max-width:900px){
  .fh-left{max-width:none}
  .fh h1{font-size:clamp(2rem,8.4vw,3rem)}
}

/* ---------- Pagina Il metodo: schede ---------- */
.met-grid{display:grid;gap:clamp(14px,1.6vw,22px)}
.met-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.met-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.met-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.met-card{position:relative;display:flex;flex-direction:column;gap:10px;padding:clamp(22px,2.4vw,32px);border:1px solid rgba(247,243,236,.12);border-radius:18px;background:rgba(247,243,236,.03);transition:border-color .3s,transform .3s,background .3s}
.met-card:hover{border-color:var(--accent);transform:translateY(-4px);background:rgba(247,243,236,.05)}
.met-card h3{font-size:clamp(1.05rem,1.5vw,1.35rem);line-height:1.15;margin:0}
.met-card p{margin:0;color:var(--ink-2);font-size:.96rem;line-height:1.6}
.met-num{font-family:var(--font-display,inherit);font-size:.72rem;letter-spacing:.2em;color:var(--accent)}
.met-nota{color:var(--accent)!important;font-size:.86rem!important}
.met-card.is-lista ul,.met-card.is-lista ol{margin:4px 0 0;padding-left:1.1em;color:var(--ink-2);display:grid;gap:7px;font-size:.96rem}
.met-card.is-lista ul{list-style:none;padding-left:0}
.met-card.is-lista ul li{position:relative;padding-left:1.1em}
.met-card.is-lista ul li::before{content:"";position:absolute;left:0;top:.62em;width:6px;height:6px;border-radius:50%;background:var(--accent)}
.met-eta{font-size:1.9rem;font-weight:700;line-height:1;color:var(--accent)}
.met-obiettivo{color:var(--ink)!important;font-weight:600}

@media (max-width:1100px){
  .met-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .met-3{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:760px){
  .met-2,.met-3,.met-4{grid-template-columns:1fr}
}
.met-cta{margin-top:clamp(26px,3vw,40px);display:flex;justify-content:center}
