/* =========================================================
   Valentina Armocromia · Consulente d'immagine
   Design system v1 — basato sulla guida "Abbinare i colori"
   Mobile first
   ========================================================= */

:root{
  /* Base */
  --panna:#F9F5F0;
  --bianco:#FFFFFF;
  --sabbia-chiara:#F1E7DE;
  --sabbia:#EBDED5;
  --cipria:#E8D4D5;
  --linea:#DDD2C8;
  /* Testo */
  --testo:#545454;
  --testo-scuro:#3D3D38;
  --testo-tenue:#6B6B66;
  /* Identità */
  --oliva:#6F7E4E;
  --oliva-scuro:#586440;
  --rosa:#DD497D;
  --rosa-cta:#C73E6F;
  --rosa-bordo:#8E2A4E;
  /* Accenti */
  --rosa-chiaro:#F195B6;
  --blu:#1357DA;
  --giallo:#F5DD73;
  --lime:#AECC24;
  --salvia:#B0BEAE;
  /* Ombre calde */
  --ombra-s:0 1px 2px rgba(61,61,56,.06),0 6px 16px -8px rgba(61,61,56,.18);
  --ombra-m:0 2px 4px rgba(61,61,56,.05),0 18px 36px -16px rgba(88,100,64,.35);
  /* Font */
  --f-titoli:"Poppins","Helvetica Neue",Arial,sans-serif;
  --f-testo:"Raleway","Helvetica Neue",Arial,sans-serif;
  --f-numeri:"Bodoni Moda","Didot","Bodoni 72",Georgia,serif;
  /* Spazi */
  --s1:8px;--s2:16px;--s3:24px;--s4:32px;--s5:48px;--s6:64px;--s7:96px;
  --gutter:20px;
  --max:1160px;
  --header-h:68px;
}
@media (min-width:760px){:root{--gutter:32px}}
@media (min-width:1024px){:root{--header-h:84px}}

/* ---------- Reset essenziale ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 16px)}
body{margin:0;background:var(--panna);color:var(--testo);font-family:var(--f-testo);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
@media (min-width:1024px){body{font-size:18px}}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
button{font:inherit}
:focus-visible{outline:2px solid var(--blu);outline-offset:3px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.salta{position:absolute;left:12px;top:-60px;z-index:100;background:var(--testo-scuro);color:#fff;padding:10px 16px;text-decoration:none}
.salta:focus{top:12px}
body.menu-aperto{overflow:hidden}

.wrap{max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter)}
.sezione{padding-block:var(--s6)}
@media (min-width:1024px){.sezione{padding-block:var(--s7)}}
.sezione--sabbia{background:var(--sabbia-chiara)}
.sezione--bianca{background:var(--bianco)}

/* ---------- Tipografia ---------- */
h1,h2,h3,h4{margin:0;text-wrap:balance}
p{margin:0 0 var(--s2);max-width:38em}
strong{color:var(--testo-scuro);font-weight:700}
.eyebrow{display:inline-block;font-family:var(--f-testo);font-size:13px;font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:var(--testo);margin:0 0 var(--s3)}
.eyebrow::after{content:"";display:block;width:44px;height:2px;background:var(--rosa);margin-top:8px}
.h1{font-family:var(--f-titoli);font-weight:700;font-size:clamp(38px,10vw,68px);line-height:1.04;letter-spacing:-.015em;color:var(--testo-scuro)}
.punto{color:var(--rosa)}
.h2{font-family:var(--f-titoli);font-weight:700;text-transform:uppercase;font-size:clamp(26px,6.6vw,42px);line-height:1.08;color:var(--oliva);margin-bottom:var(--s1)}
.sottotitolo{font-family:var(--f-titoli);font-weight:600;font-size:clamp(18px,4.6vw,24px);line-height:1.3;color:var(--oliva);margin:0 0 var(--s3);max-width:30em}
.h3{font-family:var(--f-titoli);font-weight:600;text-transform:uppercase;font-size:16px;letter-spacing:.03em;line-height:1.3;color:var(--oliva-scuro);margin-bottom:var(--s1)}
.lead{font-size:clamp(17px,4.4vw,20px);line-height:1.6;max-width:32em}
.nota{font-size:14px;color:var(--testo-tenue)}
.evidenzia{background:linear-gradient(transparent 58%,var(--giallo) 58%,var(--giallo) 90%,transparent 90%);padding:0 .06em}
.tris{display:inline-flex;gap:5px;vertical-align:middle}
.tris i{width:9px;height:9px;border-radius:50%;display:block}
.tris i:nth-child(1){background:var(--blu)}.tris i:nth-child(2){background:var(--giallo)}.tris i:nth-child(3){background:var(--rosa)}
.intro{margin-bottom:var(--s5)}
.intro .h2{max-width:18em}

/* ---------- Bottoni e link ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:14px 26px;font-family:var(--f-titoli);font-weight:600;font-size:15px;line-height:1.2;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;text-align:center;border-radius:2px;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background-color .2s ease,color .2s ease,border-color .2s ease}
.btn--primario{background:var(--rosa-cta);color:#fff;border:2px solid var(--rosa-cta);box-shadow:0 4px 0 var(--rosa-bordo)}
.btn--primario:hover{transform:translateY(-1px);box-shadow:0 5px 0 var(--rosa-bordo)}
.btn--primario:active{transform:translateY(3px);box-shadow:0 1px 0 var(--rosa-bordo)}
.btn--secondario{background:var(--panna);color:var(--oliva-scuro);border:2px solid var(--oliva)}
.btn--secondario:hover{background:var(--oliva);color:var(--panna)}
.btn--piccolo{min-height:40px;padding:8px 14px;font-size:12px;box-shadow:0 3px 0 var(--rosa-bordo)}
.btn--piena{width:100%}
@media (min-width:600px){.btn--piena{width:auto}}
.link{font-family:var(--f-testo);font-weight:700;font-size:15px;color:var(--testo-scuro);text-decoration:none;background:linear-gradient(var(--rosa),var(--rosa)) 0 100%/100% 2px no-repeat;padding-bottom:3px;transition:color .2s ease}
.link:hover{color:var(--rosa-cta)}
.link::after{content:" →"}
.azioni{display:flex;flex-direction:column;gap:14px;align-items:stretch}
@media (min-width:600px){.azioni{flex-direction:row;flex-wrap:wrap;align-items:center;gap:var(--s3)}}

/* ---------- Header ---------- */
.header{position:sticky;top:0;z-index:50;background:rgba(249,245,240,.96);-webkit-backdrop-filter:saturate(1.2) blur(8px);backdrop-filter:saturate(1.2) blur(8px);border-bottom:1px solid transparent;transition:border-color .2s ease,box-shadow .2s ease}
.header.scrollato{border-bottom-color:#E3D8CD;box-shadow:0 8px 20px -18px rgba(61,61,56,.5)}
.header__barra{height:var(--header-h);display:flex;align-items:center;justify-content:space-between;gap:var(--s2)}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none;flex-shrink:0}
.logo img{width:50px;height:50px}
.logo__testo{display:none;line-height:1.2}
.logo__testo b{display:block;font-family:var(--f-titoli);font-weight:600;font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:var(--testo-scuro)}
.logo__testo span{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--testo-tenue)}
@media (min-width:420px){.logo__testo{display:block}}
@media (min-width:1024px){.logo img{width:60px;height:60px}}
.header__azioni{display:flex;align-items:center;gap:8px}
.hamburger{width:46px;height:46px;border:0;background:transparent;display:grid;place-content:center;gap:5px;cursor:pointer;padding:0;margin-right:-8px}
.hamburger span{display:block;width:24px;height:2px;background:var(--testo-scuro);transition:transform .25s ease,opacity .2s ease}
.hamburger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamburger[aria-expanded="true"] span:nth-child(2){opacity:0}
.hamburger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* Nav desktop */
.nav{display:none}
@media (min-width:1100px){
  .hamburger{display:none}
  .nav{display:block}
  .nav>ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:26px}
  .nav a,.nav__toggle{font-family:var(--f-titoli);font-weight:500;font-size:14px;letter-spacing:.04em;color:var(--testo-scuro);text-decoration:none;background:none;border:0;padding:8px 0;cursor:pointer;display:inline-flex;align-items:center;gap:6px;position:relative}
  .nav>ul>li>a::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:2px;background:var(--rosa);transform:scaleX(0);transform-origin:left;transition:transform .2s ease}
  .nav>ul>li>a:hover::after,.nav a[aria-current="page"]::after{transform:scaleX(1)}
  .nav__toggle::after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-3px);transition:transform .2s ease}
  .nav__toggle[aria-expanded="true"]::after{transform:rotate(-135deg) translateY(-1px)}
  .nav__percorsi{position:relative}
  .nav__tendina{position:absolute;top:calc(100% + 14px);left:-24px;width:320px;background:var(--bianco);box-shadow:var(--ombra-m);padding:12px 24px 16px;list-style:none;margin:0}
  .nav__tendina li a{display:flex;justify-content:space-between;align-items:baseline;width:100%;padding:12px 0;border-bottom:1px solid var(--linea);font-weight:600;color:var(--oliva);text-transform:uppercase;font-size:14px}
  .nav__tendina li:last-child a{border-bottom:0}
  .nav__tendina small{font-family:var(--f-numeri);font-size:18px;color:var(--rosa);font-weight:400;text-transform:none}
  .nav__tendina a:hover{color:var(--rosa-cta)}
}

/* Menu mobile */
.menu-mobile{position:fixed;inset:var(--header-h) 0 0 0;z-index:49;background:var(--panna);overflow-y:auto;padding:var(--s3) var(--gutter) calc(var(--s5) + env(safe-area-inset-bottom,0px));opacity:0;transform:translateY(-8px);transition:opacity .2s ease,transform .2s ease}
.menu-mobile.aperto{opacity:1;transform:none}
.menu-mobile .eyebrow{margin-bottom:var(--s2)}
.menu-mobile ul{list-style:none;margin:0 0 var(--s4);padding:0}
.menu-mobile li a{display:flex;justify-content:space-between;align-items:center;min-height:52px;padding:12px 0;border-bottom:1px solid var(--linea);text-decoration:none;font-family:var(--f-titoli);font-weight:600;font-size:18px;color:var(--testo-scuro)}
.menu-mobile .menu-mobile__percorsi a{color:var(--oliva);text-transform:uppercase;font-weight:700}
.menu-mobile li a small{font-family:var(--f-numeri);font-size:20px;color:var(--rosa);font-weight:400}
.menu-mobile .btn{width:100%}
.menu-mobile__social{margin-top:var(--s3);font-size:15px}
@media (min-width:1100px){.menu-mobile{display:none!important}}

/* ---------- Hero ---------- */
.hero{padding-bottom:var(--s6)}
.hero__griglia{display:grid;gap:var(--s4)}
.hero__foto{position:relative;margin:0 calc(var(--gutter) * -1)}
.hero__foto img{width:100%;aspect-ratio:4/3.3;object-fit:cover;object-position:42% 30%}
.hero__foto .sticker{left:var(--gutter);bottom:-14px}
.hero__testo .eyebrow{margin-top:var(--s2)}
.hero__testo .lead{margin:var(--s3) 0 var(--s4)}
.hero__modalita{display:flex;align-items:center;gap:12px;margin-top:var(--s4);font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--testo)}
@media (min-width:900px){
  .hero{padding-top:var(--s5)}
  .hero__griglia{grid-template-columns:1fr 1.05fr;align-items:center;gap:var(--s6)}
  .hero__foto{order:2;margin:0}
  .hero__foto::before{content:"";position:absolute;inset:22px -18px -22px 18px;background:var(--rosa-chiaro)}
  .hero__foto img{position:relative;aspect-ratio:4/4.4;box-shadow:var(--ombra-m)}
  .hero__foto .sticker{left:-18px;bottom:40px}
}
.sticker{position:absolute;z-index:2;background:var(--lime);color:var(--testo-scuro);font-family:var(--f-titoli);font-weight:600;font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:8px 13px;transform:rotate(-4deg);box-shadow:var(--ombra-s)}

/* ---------- Problemi ---------- */
.apertura{position:relative}
.numero-sezione{position:absolute;right:-6px;top:-54px;font-family:var(--f-numeri);font-size:clamp(170px,40vw,300px);line-height:1;color:var(--cipria);z-index:0;pointer-events:none;user-select:none}
.apertura>*:not(.numero-sezione){position:relative;z-index:1}
.sezione--sabbia .numero-sezione{color:#E6CFCF}
.problemi{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.problemi li{background:var(--bianco);box-shadow:var(--ombra-s);display:grid;grid-template-columns:36px 1fr;gap:6px 12px;padding:20px 18px}
.problemi .n{font-family:var(--f-titoli);font-weight:600;font-size:28px;line-height:1;color:var(--rosa)}
.problemi h3{font-family:var(--f-titoli);font-weight:600;font-size:15px;text-transform:uppercase;letter-spacing:.02em;color:var(--oliva-scuro);line-height:1.3}
.problemi p{grid-column:2;margin:0;font-size:16px;line-height:1.55}
@media (min-width:760px){.problemi{grid-template-columns:repeat(2,1fr);gap:var(--s3)}}
@media (min-width:1100px){.problemi{grid-template-columns:repeat(4,1fr)}.problemi li{grid-template-columns:1fr;padding:28px 24px}.problemi p{grid-column:1}.problemi .n{margin-bottom:10px}}

/* ---------- Chi sono (anteprima) ---------- */
.duo{display:grid;gap:var(--s5)}
@media (min-width:900px){.duo{grid-template-columns:.9fr 1.1fr;gap:var(--s7);align-items:center}}
.foto-pop{position:relative;margin:0 10px 14px 0}
.foto-pop::before{content:"";position:absolute;inset:14px -10px -14px 10px;background:var(--pop,var(--rosa-chiaro));z-index:0}
.foto-pop>*{position:relative;z-index:1}
.passe{background:var(--sabbia-chiara);padding:12px 12px 0;box-shadow:var(--ombra-m);margin:0}
.passe img{width:100%;aspect-ratio:4/5;object-fit:cover}
.passe figcaption{font-size:12px;letter-spacing:.1em;text-transform:uppercase;text-align:center;padding:10px 0 12px;color:var(--testo-tenue)}
.chi-sono__foto{position:relative;max-width:440px}
.chi-sono__foto .dettaglio{position:absolute;right:-6px;bottom:-40px;width:42%;z-index:2;border:8px solid var(--panna);box-shadow:var(--ombra-m)}
.chi-sono__foto .dettaglio img{aspect-ratio:4/5;object-fit:cover}
@media (min-width:900px){.chi-sono__foto .dettaglio{right:-48px}}
.citazione{font-family:var(--f-titoli);font-weight:600;font-size:clamp(19px,4.8vw,24px);line-height:1.35;color:var(--testo-scuro);margin:var(--s4) 0;padding-left:18px;border-left:3px solid var(--rosa);max-width:24em}
.citazione em{font-style:normal;color:var(--oliva)}

/* ---------- Box "Da ricordare" ---------- */
.callout{display:grid;grid-template-columns:2px 1fr;gap:var(--s2);background:var(--sabbia);padding:var(--s3);box-shadow:var(--ombra-s);max-width:720px}
.callout__barra{background:var(--rosa)}
.callout h3{font-family:var(--f-titoli);font-weight:600;font-size:14px;text-transform:uppercase;letter-spacing:.05em;color:var(--oliva-scuro);margin-bottom:6px}
.callout p{margin:0;font-size:16px;color:var(--testo-scuro)}

/* ---------- Percorsi ---------- */
.percorsi{display:grid;gap:var(--s6)}
@media (min-width:760px){.percorsi{grid-template-columns:repeat(2,1fr);gap:var(--s5) var(--s4)}}
@media (min-width:1100px){.percorsi{grid-template-columns:repeat(3,1fr)}}
.percorso{display:flex;flex-direction:column}
.percorso:nth-child(1){--pop:var(--rosa-chiaro)}
.percorso:nth-child(2){--pop:var(--giallo)}
.percorso:nth-child(3){--pop:var(--salvia)}
.percorso__corpo{padding-top:var(--s3);display:flex;flex-direction:column;flex:1}
.percorso__num{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--rosa);margin-bottom:6px}
.percorso h3{font-family:var(--f-titoli);font-weight:700;text-transform:uppercase;font-size:23px;line-height:1.15;color:var(--oliva);margin-bottom:var(--s1)}
.percorso h3 a{text-decoration:none}
.percorso__per{font-weight:700;color:var(--testo-scuro);margin-bottom:6px;font-size:16px}
.percorso__include{font-size:15px;color:var(--testo-tenue);border-left:2px solid var(--rosa);padding-left:12px;margin:var(--s1) 0 var(--s3)}
.percorso__include b{color:var(--testo-scuro);font-family:var(--f-titoli);font-weight:600}
.percorso .link{margin-top:auto;align-self:flex-start}
.percorsi-aiuto{margin-top:var(--s6);display:flex;flex-direction:column;gap:var(--s2);align-items:flex-start;border-top:2px solid var(--oliva);padding-top:var(--s3)}
@media (min-width:760px){.percorsi-aiuto{flex-direction:row;justify-content:space-between;align-items:center}}
.percorsi-aiuto p{margin:0;font-family:var(--f-titoli);font-weight:600;color:var(--testo-scuro);font-size:18px}

/* ---------- Armonia (prima/dopo) ---------- */
.armonia__foto{margin:0;background:var(--bianco);padding:10px;box-shadow:var(--ombra-m);transform:rotate(-1deg)}
.armonia__foto figcaption{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--testo-tenue);padding:10px 4px 2px;display:flex;justify-content:space-between}
@media (min-width:900px){.armonia .duo{grid-template-columns:1.1fr .9fr}}
.armonia .callout{margin:var(--s4) 0}

/* ---------- Modalità ---------- */
.modalita{display:grid;gap:var(--s5)}
@media (min-width:900px){.modalita{grid-template-columns:repeat(3,1fr);gap:var(--s4)}}
.modo{display:grid;grid-template-columns:112px 1fr;gap:var(--s3);align-items:start;padding-top:var(--s3);border-top:1px solid var(--linea)}
@media (min-width:900px){.modo{grid-template-columns:1fr;border-top:2px solid var(--oliva)}}
.modo__foto{margin:0;box-shadow:var(--ombra-s)}
.modo__foto img{aspect-ratio:4/5;object-fit:cover;width:100%}
.modo__luogo{display:flex;align-items:center;gap:8px;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--testo-tenue);margin-bottom:6px}
.modo__luogo::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--pallino,var(--rosa))}
.modo:nth-child(1){--pallino:var(--rosa)}.modo:nth-child(2){--pallino:var(--giallo)}.modo:nth-child(3){--pallino:var(--blu)}
.modo h3{font-family:var(--f-titoli);font-weight:700;text-transform:uppercase;font-size:18px;line-height:1.2;color:var(--oliva);margin-bottom:var(--s1)}
.modo p{font-size:16px}
@media (max-width:420px){.modo{grid-template-columns:92px 1fr;gap:var(--s2)}}

/* ---------- Recensioni ---------- */
.recensioni{display:grid;gap:var(--s4)}
@media (min-width:900px){.recensioni{grid-template-columns:repeat(3,1fr);gap:var(--s4);align-items:start}}
.recensione{background:var(--bianco);padding:var(--s5) var(--s3) var(--s3);position:relative;margin:0;box-shadow:var(--ombra-m)}
.recensione::before{content:"\201C";position:absolute;top:0;left:18px;font-family:var(--f-numeri);font-size:88px;line-height:1;color:var(--cipria)}
.recensione blockquote{margin:0 0 var(--s3);font-size:16px;line-height:1.6;color:var(--testo-scuro);position:relative}
.recensione blockquote p{margin:0}
.recensione figcaption{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:14px;border-top:1px solid #E6DDD4;padding-top:12px}
.recensione figcaption b{font-family:var(--f-titoli);font-weight:600;color:var(--oliva-scuro)}
.stelle{color:var(--rosa);letter-spacing:2px;font-size:14px}
@media (min-width:900px){.recensione:nth-child(1){transform:rotate(-.6deg)}.recensione:nth-child(2){transform:translateY(24px)}.recensione:nth-child(3){transform:rotate(.6deg)}}
.recensioni-azioni{margin-top:var(--s5);display:flex;flex-wrap:wrap;gap:var(--s2) var(--s4);align-items:center}
.voto{display:flex;align-items:center;gap:12px;margin-bottom:var(--s3)}
.voto b{font-family:var(--f-titoli);font-weight:700;font-size:34px;color:var(--testo-scuro);line-height:1}
.voto span{font-size:14px;color:var(--testo-tenue)}

/* ---------- Scopri anche ---------- */
.scopri{display:grid;gap:0;list-style:none;margin:0;padding:0;border-top:1px solid var(--linea)}
.scopri li a{display:grid;grid-template-columns:1fr auto;gap:var(--s2);align-items:center;padding:var(--s3) 0;border-bottom:1px solid var(--linea);text-decoration:none}
.scopri .num{font-family:var(--f-numeri);font-size:30px;line-height:1;color:var(--rosa)}
.scopri h3{font-family:var(--f-titoli);font-weight:700;text-transform:uppercase;font-size:19px;color:var(--oliva);line-height:1.2}
.scopri p{margin:4px 0 0;font-size:15px;color:var(--testo)}
.scopri .freccia{font-size:22px;color:var(--rosa);transition:transform .2s ease}
.scopri a:hover .freccia{transform:translateX(4px)}
.scopri a:hover h3{color:var(--oliva-scuro)}
@media (min-width:900px){.scopri{grid-template-columns:repeat(3,1fr);gap:var(--s4);border-top:0}.scopri li a{grid-template-columns:1fr;border-top:2px solid var(--oliva);border-bottom:0;align-items:start}.scopri .freccia{display:none}}

/* ---------- Fascia CTA oliva ---------- */
.fascia{background:var(--oliva);color:var(--panna);position:relative;overflow:hidden}
.fascia::after{content:"";position:absolute;right:-70px;bottom:-80px;width:240px;height:240px;border-radius:50%;background:var(--rosa-chiaro)}
.fascia::before{content:"";position:absolute;right:120px;bottom:90px;width:38px;height:38px;border-radius:50%;background:var(--giallo)}
.fascia .wrap{position:relative;z-index:1}
.fascia .eyebrow{color:var(--panna)}
.fascia .eyebrow::after{background:var(--rosa-chiaro)}
.fascia h2{font-family:var(--f-titoli);font-weight:700;text-transform:uppercase;font-size:clamp(28px,7vw,48px);line-height:1.05;color:var(--panna);margin-bottom:var(--s2);max-width:14em}
.fascia p{color:var(--panna);max-width:30em}
.fascia .btn{margin-top:var(--s3)}
@media (max-width:599px){.fascia::before{right:60px;bottom:150px}}

/* ---------- Footer ---------- */
.footer{background:var(--testo-scuro);color:#EDE6DD;padding-block:var(--s6) var(--s4)}
.footer a{text-decoration:none}
.footer a:hover{color:var(--rosa-chiaro)}
.footer__top{display:grid;gap:var(--s5)}
@media (min-width:900px){.footer__top{grid-template-columns:1.2fr 1fr 1fr 1fr}}
.footer__brand{display:flex;align-items:center;gap:14px}
.footer__brand img{width:68px;height:68px;background:var(--panna);border-radius:50%;padding:4px}
.footer__brand b{display:block;font-family:var(--f-titoli);font-weight:600;letter-spacing:.08em;text-transform:uppercase;font-size:14px}
.footer__brand span{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#CFC6BB}
.footer__col h2{font-family:var(--f-titoli);font-weight:600;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:#CFC6BB;margin-bottom:var(--s2)}
.footer__col ul{list-style:none;margin:0;padding:0;display:grid;gap:10px;font-size:15px}
.footer__legale{margin-top:var(--s5);border-top:1px solid #5A5A54;padding-top:var(--s3);display:flex;flex-wrap:wrap;gap:10px 22px;font-size:13px;color:#CFC6BB}
.footer__legale .copy{flex-basis:100%}
@media (min-width:900px){.footer__legale .copy{flex-basis:auto;margin-right:auto}}

/* ---------- Comparsa leggera ---------- */
.js .rivela{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease}
.js .rivela.visibile{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none!important;animation:none!important}
  .js .rivela{opacity:1;transform:none}
}
@media (min-width:1100px) and (max-width:1279px){.header .logo__testo{display:none}}
/* correzioni v1.1 */
.nav a,.nav__toggle{white-space:nowrap}
@media (min-width:1100px){.nav>ul{gap:22px}}
@media (min-width:1100px) and (max-width:1399px){.header .logo__testo{display:none}}
.problemi,.percorsi,.modalita,.recensioni,.scopri{position:relative;z-index:1}
.chi-sono__foto .passe figcaption{text-align:left;padding-left:4px}

/* =========================================================
   Pagine interne
   ========================================================= */
.briciole{font-size:13px;letter-spacing:.04em;color:var(--testo-tenue);padding-top:var(--s3)}
.briciole ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.briciole li+li::before{content:"/";margin-right:6px;color:var(--rosa)}
.briciole a{text-decoration:none}
.briciole a:hover{color:var(--rosa-cta)}
.pagina-hero{padding-block:var(--s4) var(--s6)}
.pagina-hero .h1{font-size:clamp(34px,8.6vw,58px);margin-bottom:var(--s3)}
.pagina-hero__griglia{display:grid;gap:var(--s5)}
@media (min-width:900px){.pagina-hero{padding-block:var(--s5) var(--s7)}.pagina-hero__griglia{grid-template-columns:1.1fr .9fr;align-items:center;gap:var(--s7)}}
.pagina-hero__foto{max-width:460px;width:100%}
.pagina-hero .azioni{margin-top:var(--s4)}

.indice-pagina{position:sticky;top:var(--header-h);z-index:20;background:rgba(249,245,240,.96);border-block:1px solid var(--linea)}
.indice-pagina ul{list-style:none;margin:0;padding:0 var(--gutter);display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;max-width:var(--max);margin-inline:auto}
.indice-pagina ul::-webkit-scrollbar{display:none}
.indice-pagina a{display:inline-flex;align-items:center;min-height:48px;padding:0 12px;white-space:nowrap;font-family:var(--f-titoli);font-weight:500;font-size:14px;color:var(--testo-scuro);text-decoration:none;border-bottom:2px solid transparent}
.indice-pagina a:hover{border-bottom-color:var(--rosa)}

.testo{max-width:42em}
.testo p{max-width:none}
.testo h3{margin-top:var(--s4)}
.elenco{list-style:none;margin:0 0 var(--s3);padding:0;display:grid;gap:10px}
.elenco li{position:relative;padding-left:22px}
.elenco li::before{content:"";position:absolute;left:2px;top:.62em;width:8px;height:8px;border-radius:50%;background:var(--rosa)}
.elenco li b{color:var(--testo-scuro)}
.domanda{font-family:var(--f-titoli);font-weight:600;font-size:clamp(18px,4.6vw,22px);line-height:1.35;color:var(--oliva);margin:var(--s4) 0 var(--s2)}

.dati{display:flex;flex-wrap:wrap;gap:10px;margin:var(--s3) 0}
.dato{display:inline-flex;align-items:center;gap:8px;background:var(--bianco);box-shadow:var(--ombra-s);padding:8px 14px;font-size:14px;color:var(--testo-scuro)}
.dato::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--pallino,var(--rosa))}
.dato:nth-child(2){--pallino:var(--giallo)}.dato:nth-child(3){--pallino:var(--blu)}

/* Tariffe */
.tariffe{display:grid;gap:0;max-width:880px}
.tariffa{display:grid;grid-template-columns:1fr auto;gap:6px var(--s3);padding:var(--s4) 0;border-top:1px solid #CFC4B9}
.tariffa:last-child{border-bottom:1px solid #CFC4B9}
.tariffa__img{grid-column:1/-1;max-width:220px;margin-bottom:var(--s1);box-shadow:var(--ombra-s);background:var(--bianco)}
.tariffa__img img{aspect-ratio:16/9;object-fit:cover;width:100%}
@media (min-width:760px){.tariffa{grid-template-columns:200px 1fr auto;column-gap:var(--s4)}.tariffa__img{grid-column:1;grid-row:1/span 4;margin:0}.tariffa .desc,.tariffa .cosa,.tariffa .azione{grid-column:2/-1}}
.tariffa__nome{font-family:var(--f-titoli);font-weight:600;font-size:17px;text-transform:uppercase;color:var(--oliva-scuro);letter-spacing:.02em;line-height:1.3}
.tariffa__nome span{color:var(--rosa)}
.tariffa__prezzo{font-family:var(--f-titoli);font-weight:700;font-size:24px;color:var(--testo-scuro);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}
.tariffa .cosa{grid-column:1/-1;font-size:14px;color:var(--testo-tenue);margin:0}
.tariffa .desc{grid-column:1/-1;margin:0;font-size:16px}
.tariffa .azione{grid-column:1/-1;margin-top:var(--s2)}
.tag{display:inline-block;background:var(--lime);color:var(--testo-scuro);font-family:var(--f-titoli);font-weight:600;font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:4px 10px;margin-bottom:8px;transform:rotate(-3deg);box-shadow:var(--ombra-s)}

/* Passi */
.passi{list-style:none;margin:0;padding:0;display:grid;gap:0;counter-reset:passo;max-width:880px}
.passo{display:grid;grid-template-columns:56px 1fr;gap:var(--s2);padding-bottom:var(--s5);position:relative}
.passo::before{counter-increment:passo;content:counter(passo);font-family:var(--f-numeri);font-size:48px;line-height:1;color:var(--rosa);text-align:center}
.passo::after{content:"";position:absolute;left:27px;top:62px;bottom:10px;width:1px;background:var(--linea)}
.passo:last-child::after{display:none}
.passo h3{font-family:var(--f-titoli);font-weight:700;font-size:19px;text-transform:uppercase;color:var(--oliva);margin:6px 0 var(--s1)}
.passo p{font-size:16px}
.passo .facoltativo{font-family:var(--f-testo);font-weight:400;text-transform:none;font-size:14px;color:var(--testo-tenue)}

/* Galleria */
.galleria{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s2);margin:var(--s3) 0}
@media (min-width:760px){.galleria{grid-template-columns:repeat(4,1fr)}.galleria--3{grid-template-columns:repeat(3,1fr)}}
.galleria figure{margin:0;background:var(--bianco);padding:8px 8px 0;box-shadow:var(--ombra-s)}
.galleria img{width:100%;aspect-ratio:2/3.3;object-fit:cover;object-position:top}
.galleria figcaption{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--testo-tenue);padding:8px 2px 10px;line-height:1.35}

/* Essenze Kibbe */
.essenze{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s3) var(--s2);list-style:none;margin:var(--s4) 0;padding:0}
@media (min-width:760px){.essenze{grid-template-columns:repeat(5,1fr)}}
.essenze li{margin:0}
.essenze figure{margin:0}
.essenze img{width:100%;aspect-ratio:3/4;object-fit:cover;box-shadow:var(--ombra-s)}
.essenze figcaption{margin-top:10px;font-family:var(--f-titoli);font-weight:600;font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:var(--oliva-scuro);display:flex;align-items:center;gap:8px}
.essenze figcaption::before{content:"";width:14px;height:2px;background:var(--rosa)}

/* Schede corso */
.scheda{display:grid;gap:var(--s3)}
@media (min-width:760px){.scheda{grid-template-columns:repeat(2,1fr)}}
.scheda__box{background:var(--bianco);box-shadow:var(--ombra-s);padding:var(--s4) var(--s3);border-top:3px solid var(--colore,var(--oliva))}
.scheda__box:nth-child(1){--colore:var(--rosa)}
.scheda__box:nth-child(2){--colore:var(--oliva)}
.scheda__box:nth-child(3){--colore:var(--giallo)}
.scheda__box:nth-child(4){--colore:var(--rosa-chiaro)}
.scheda__box h2,.scheda__box h3{font-family:var(--f-titoli);font-weight:700;font-size:16px;text-transform:uppercase;letter-spacing:.04em;color:var(--oliva);margin-bottom:var(--s2)}
.scheda__box p:last-child,.scheda__box .elenco:last-child{margin-bottom:0}
.prezzi{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.prezzi li{display:flex;flex-direction:column;gap:2px;border-bottom:1px solid var(--linea);padding-bottom:10px}
.prezzi li:last-child{border-bottom:0;padding-bottom:0}
.prezzi b{font-family:var(--f-titoli);font-weight:700;font-size:24px;color:var(--testo-scuro);font-variant-numeric:tabular-nums}

/* Corsi elenco */
.corsi{list-style:none;margin:0;padding:0;display:grid;gap:var(--s3)}
@media (min-width:760px){.corsi{grid-template-columns:repeat(2,1fr)}}
.corso a{display:flex;flex-direction:column;height:100%;background:var(--bianco);box-shadow:var(--ombra-s);padding:var(--s4) var(--s3);text-decoration:none;border-top:3px solid var(--colore,var(--oliva));transition:transform .2s ease,box-shadow .2s ease}
.corso a:hover{transform:translateY(-3px);box-shadow:var(--ombra-m)}
.corso:nth-child(1){--colore:var(--rosa)}.corso:nth-child(2){--colore:var(--oliva)}.corso:nth-child(3){--colore:var(--giallo)}.corso:nth-child(4){--colore:var(--rosa-chiaro)}
.corso__num{font-family:var(--f-numeri);font-size:40px;line-height:1;color:var(--rosa);margin-bottom:var(--s2)}
.corso h3{font-family:var(--f-titoli);font-weight:700;font-size:20px;text-transform:uppercase;line-height:1.2;color:var(--oliva);margin-bottom:var(--s1)}
.corso p{font-size:16px;flex:1}
.corso .link{align-self:flex-start}

/* Gift card */
.gift{display:grid;grid-template-columns:1fr;gap:var(--s4)}
@media (min-width:600px){.gift{grid-template-columns:repeat(2,1fr)}}
.gift figure{margin:0;background:var(--bianco);padding:12px;box-shadow:var(--ombra-m)}
.gift figure:nth-child(odd){transform:rotate(-1deg)}
.gift figure:nth-child(even){transform:rotate(1deg)}
.gift img{width:100%;height:auto}

/* Recensioni pagina */
.muro{columns:1;column-gap:var(--s4)}
@media (min-width:760px){.muro{columns:2}}
@media (min-width:1100px){.muro{columns:3}}
.muro .recensione{break-inside:avoid;margin:0 0 var(--s4);display:block}
.muro .recensione:nth-child(n){transform:none}
.recensione__tag{display:inline-block;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--rosa);margin-bottom:var(--s1)}

/* Contatti */
.contatti{display:grid;gap:var(--s3)}
@media (min-width:760px){.contatti{grid-template-columns:repeat(2,1fr)}}
.contatto{background:var(--bianco);box-shadow:var(--ombra-s);padding:var(--s4) var(--s3)}
.contatto h2{font-family:var(--f-titoli);font-weight:700;font-size:18px;text-transform:uppercase;color:var(--oliva);margin-bottom:var(--s1)}
.contatto p{font-size:16px}
.contatto .valore{font-family:var(--f-titoli);font-weight:600;color:var(--testo-scuro);font-size:17px;word-break:break-word}
.contatto--wa{background:var(--oliva);color:var(--panna)}
.contatto--wa h2,.contatto--wa p{color:var(--panna)}

/* Testi legali */
.legale{max-width:46em}
.legale h2{font-family:var(--f-titoli);font-weight:700;font-size:18px;text-transform:uppercase;letter-spacing:.02em;color:var(--oliva);margin:var(--s5) 0 var(--s2)}
.legale h3{font-family:var(--f-titoli);font-weight:600;font-size:16px;color:var(--oliva-scuro);margin:var(--s3) 0 var(--s1)}
.legale p,.legale li{font-size:16px}
.legale p{max-width:none}
.legale ul{padding-left:0}
.legale .indirizzo{background:var(--bianco);box-shadow:var(--ombra-s);padding:var(--s3);font-size:15px;line-height:1.7}
.legale .aggiornato{font-size:14px;color:var(--testo-tenue)}

/* Sezione con foto accanto (alterna) */
.duo--inverti>*:first-child{order:0}
@media (min-width:900px){.duo--inverti>*:first-child{order:2}}
.foto-singola{max-width:460px}
.sezione + .sezione.sezione--panna{border-top:1px solid var(--linea)}
@media (min-width:760px){.tariffa--semplice{grid-template-columns:1fr auto}.tariffa--semplice .desc,.tariffa--semplice .cosa,.tariffa--semplice .azione{grid-column:1/-1}}
.tariffa .azione{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s3);align-items:center}

/* Guida */
.guida-cover{max-width:420px}
.guida-cover img{width:100%;box-shadow:var(--ombra-m)}
.prezzo-guida{display:flex;align-items:baseline;gap:12px;margin:var(--s3) 0 0}
.prezzo-guida b{font-family:var(--f-titoli);font-weight:700;font-size:40px;line-height:1;color:var(--testo-scuro)}
.prezzo-guida span{font-size:14px;color:var(--testo-tenue)}
.tre-domande{list-style:none;margin:var(--s3) 0 var(--s4);padding:0;display:grid;gap:0;counter-reset:d}
.tre-domande li{display:grid;grid-template-columns:44px 1fr;gap:4px 14px;padding:var(--s2) 0;border-bottom:1px solid var(--linea)}
.tre-domande li::before{counter-increment:d;content:counter(d);grid-row:1/span 2;width:40px;height:40px;border-radius:50%;background:var(--c);color:#fff;display:grid;place-content:center;font-family:var(--f-titoli);font-weight:700;font-size:18px}
.tre-domande li:nth-child(2)::before{color:var(--testo-scuro)}
.tre-domande h3{font-family:var(--f-titoli);font-weight:700;text-transform:uppercase;font-size:16px;color:var(--oliva)}
.tre-domande p{margin:0;font-size:16px}
.sommario{list-style:none;margin:0;padding:0;display:grid;gap:0;border-top:1px solid var(--linea)}
@media (min-width:760px){.sommario{grid-template-columns:repeat(2,1fr);column-gap:var(--s5)}}
.sommario li{display:grid;grid-template-columns:48px 1fr;gap:var(--s2);padding:var(--s3) 0;border-bottom:1px solid var(--linea)}
.sommario__n{font-family:var(--f-titoli);font-weight:600;font-size:18px;color:var(--rosa);font-variant-numeric:tabular-nums}
.sommario h3{font-family:var(--f-titoli);font-weight:700;text-transform:uppercase;font-size:16px;color:var(--oliva);margin-bottom:2px}
.sommario p{margin:0;font-size:15px;color:var(--testo-tenue)}
.sfoglia{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s3)}
@media (min-width:760px){.sfoglia{grid-template-columns:repeat(3,1fr)}}
.sfoglia figure{margin:0;box-shadow:var(--ombra-m);background:var(--bianco)}
.sfoglia figure:nth-child(odd){transform:rotate(-.8deg)}
.sfoglia figure:nth-child(even){transform:rotate(.8deg)}
.sfoglia img{width:100%;height:auto}
.novita{display:grid;gap:var(--s5);align-items:center}
@media (min-width:900px){.novita{grid-template-columns:.8fr 1.2fr;gap:var(--s7)}}
.novita__cover{max-width:340px;justify-self:center;width:100%}
.novita__cover img{box-shadow:var(--ombra-m);width:100%}
@media (min-width:900px){.scopri--quattro{grid-template-columns:repeat(2,1fr);column-gap:var(--s5)}}
.lancio{margin:var(--s3) 0 0;font-size:15px;color:var(--testo-scuro);display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}
.lancio .tag{margin:0}
.lancio b{font-family:var(--f-titoli);color:var(--rosa-cta)}
[hidden]{display:none!important}
