/* casa-rugiada · giardiniere. Scuro verde bosco, grano come accento, forme a foglia.
   Caratteri: Hedvig Letters Serif (titoli, dritto, niente corsivi) + Rethink Sans (testo).
   Forme: angoli «a foglia» (due tondi, due quasi vivi) su foto e schede, bottoni a foglia. */
@font-face{font-family:'Hedvig Letters Serif';src:url('../_font/hedvig-letters-serif/hedvig-letters-serif-var.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Rethink Sans';src:url('../_font/rethink-sans/rethink-sans-var.woff2') format('woff2');font-weight:400 800;font-display:swap}

:root{
  --p:#e3c565;   /* grano: bottoni e accenti */
  --s:#15291f;   /* verde bosco: superficie */
  --t:#eef0e2;   /* paglia chiara: testo */
  --a:#9bbf8a;   /* salvia: dettagli */
  --f-titoli:'Hedvig Letters Serif', Georgia, serif;
  --f-testo:'Rethink Sans', system-ui, sans-serif;

  --su-p:var(--s);
  --tenue:color-mix(in oklab, var(--t) 72%, var(--s));
  --linea:color-mix(in oklab, var(--t) 16%, var(--s));
  --s2:color-mix(in oklab, var(--t) 7%, var(--s));
  --s3:color-mix(in oklab, var(--t) 12%, var(--s));
  /* tinte delle stagioni: sempre mescolate alla superficie, quindi reggono qualsiasi palette */
  --ton-primavera:color-mix(in oklab, #6fae4b 24%, var(--s));
  --ton-estate:color-mix(in oklab, #d9b23c 22%, var(--s));
  --ton-autunno:color-mix(in oklab, #b8642b 26%, var(--s));
  --ton-inverno:color-mix(in oklab, #7d9bb0 26%, var(--s));
  --foglia:44px 6px 44px 6px;
  --foglia-p:22px 4px 22px 4px;
  --gut:clamp(16px, 4vw, 60px);
  --largo:max(var(--gut), calc((100% - 1440px) / 2));
  --ease:cubic-bezier(.22,1,.36,1);
  --alto:78px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--s);color:var(--t);font-family:var(--f-testo);font-size:17px;line-height:1.6;overflow-x:clip;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3,p,ul,ol,figure,blockquote{margin:0}
ul,ol{padding:0;list-style:none}
button,input,textarea{font:inherit;color:inherit}
fieldset{border:0;margin:0;padding:0;min-width:0}
:focus-visible{outline:2px solid var(--p);outline-offset:3px}
.sprite{position:absolute;width:0;height:0;overflow:hidden}
.ico{width:1.15em;height:1.15em;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.salta{position:absolute;left:12px;top:-60px;z-index:200;background:var(--p);color:var(--su-p);padding:10px 16px}
.salta:focus{top:12px}
.visivamente-nascosto{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
[hidden]{display:none !important}

/* ---------- bottoni ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border-radius:var(--foglia-p);font-weight:600;font-size:1rem;text-decoration:none;white-space:nowrap;border:1.5px solid transparent;cursor:pointer;transition:background .4s var(--ease),color .4s var(--ease),border-color .4s var(--ease),border-radius .5s var(--ease)}
.btn:hover{border-radius:4px 22px 4px 22px}
.btn .ico{transition:translate .4s var(--ease)}
.btn:hover .ico{translate:4px 0}
.btn--pieno{background:var(--p);color:var(--su-p)}
.btn--pieno:hover{background:var(--t);color:var(--s)}
.btn--vuoto{border-color:color-mix(in oklab, var(--t) 50%, transparent);color:var(--t)}
.btn--vuoto:hover{border-color:var(--t);background:color-mix(in oklab, var(--t) 12%, transparent)}
.btn--piccolo{min-height:44px;padding:0 18px;font-size:.95rem}
.btn--largo{width:100%}

/* ---------- testata ---------- */
.testata{position:fixed;inset:0 0 auto;z-index:80;height:var(--alto);display:flex;align-items:center;gap:32px;padding-inline:var(--largo);transition:background .5s var(--ease),transform .6s var(--ease),height .5s var(--ease)}
.testata::before{content:"";position:absolute;inset:0 0 -60px;z-index:-1;pointer-events:none;background:linear-gradient(to bottom, color-mix(in oklab, var(--s) 70%, transparent), transparent);transition:opacity .5s}
.testata.solida{background:color-mix(in oklab, var(--s) 94%, transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);height:66px}
.testata.solida::before{opacity:0}
.testata.nascosta{transform:translateY(-100%)}
.logo{display:flex;align-items:center;gap:10px;margin-right:auto;text-decoration:none;font-family:var(--f-titoli);font-size:1.55rem;letter-spacing:-.02em;min-width:0}
.logo span{line-height:1.05;max-width:16ch;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:normal}
.logo__foglia{color:var(--p);width:26px;height:26px}
.nav{display:flex;gap:30px}
.nav a{white-space:nowrap;text-decoration:none;font-weight:500;font-size:.98rem;position:relative;padding:6px 0}
.nav a::after{content:"";position:absolute;left:50%;bottom:0;width:6px;height:6px;border-radius:50% 0;background:var(--p);transform:translateX(-50%) scale(0);transition:transform .4s var(--ease)}
.nav a:hover::after{transform:translateX(-50%) scale(1)}
.burger{display:none;width:48px;height:48px;border-radius:var(--foglia-p);border:1.5px solid color-mix(in oklab, var(--t) 40%, transparent);background:transparent;position:relative;cursor:pointer}
.burger span{position:absolute;left:13px;right:13px;height:1.5px;background:var(--t);transition:transform .5s var(--ease),top .5s var(--ease)}
.burger span:first-child{top:19px}.burger span:last-child{top:27px}
.burger[aria-expanded="true"] span:first-child{top:23px;transform:rotate(45deg)}
.burger[aria-expanded="true"] span:last-child{top:23px;transform:rotate(-45deg)}
.pannello{position:fixed;inset:0;z-index:70;background:var(--s);padding:calc(var(--alto) + 40px) var(--gut) 32px;display:flex;flex-direction:column;justify-content:space-between;gap:30px}
.pannello__nav{display:flex;flex-direction:column;gap:4px}
.pannello__nav a{font-family:var(--f-titoli);font-size:clamp(2.2rem, 10vw, 3.4rem);line-height:1.15;text-decoration:none}

/* ---------- hero: sequenza con zoom lento ---------- */
.hero{position:relative;min-height:min(100svh, 980px);display:flex;flex-direction:column;justify-content:center;align-items:center;overflow:hidden;isolation:isolate;text-align:center}
.hero__sfondo{position:absolute;inset:0;z-index:-2;background:var(--s2)}
.scatto{position:absolute;inset:0;opacity:0}
.scatto.attivo{opacity:1}
.scatto img{width:100%;height:100%;object-fit:cover}
.hero__velo{position:absolute;inset:0;z-index:-1;background:
  radial-gradient(ellipse 58% 48% at 50% 50%, color-mix(in oklab, var(--s) 62%, transparent), color-mix(in oklab, var(--s) 12%, transparent) 78%),
  linear-gradient(to top, color-mix(in oklab, var(--s) 85%, transparent), transparent 28%)}
.hero__testo{display:flex;flex-direction:column;align-items:center;gap:24px;padding:calc(var(--alto) + 30px) var(--gut) 150px;max-width:1100px}
.hero__sopra{display:flex;align-items:center;gap:10px;font-weight:600;font-size:.95rem;letter-spacing:.02em}
.hero__sopra .ico{color:var(--p)}
.hero__titolo{text-shadow:0 2px 30px color-mix(in oklab, var(--s) 70%, transparent);font-family:var(--f-titoli);font-weight:400;font-size:clamp(3rem, 7.2vw, 7.8rem);line-height:.98;letter-spacing:-.03em;max-width:13ch;text-wrap:balance}
.hero__sotto{font-size:clamp(1.05rem, 1.35vw, 1.28rem);max-width:40ch;color:color-mix(in oklab, var(--t) 90%, var(--s))}
.hero__cta{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:6px}
.hero__didascalie{position:absolute;left:var(--largo);right:var(--largo);bottom:30px;display:grid;grid-template-columns:repeat(3, 1fr);gap:24px;text-align:left;font-size:.9rem;color:color-mix(in oklab, var(--t) 85%, var(--s))}
.hero__didascalie li{display:flex;flex-direction:column;gap:10px;transition:color .4s}
.hero__didascalie li.attiva{color:var(--t)}
.barra{height:2px;background:color-mix(in oklab, var(--t) 25%, transparent);border-radius:2px;overflow:hidden}
.barra span{display:block;height:100%;background:var(--p);transform-origin:left;transform:scaleX(0)}
.hero__didascalie li.attiva .barra span{transform:scaleX(1)}

/* ---------- titoli ---------- */
.titolo-sez{font-family:var(--f-titoli);font-weight:400;font-size:clamp(2.4rem, 4.6vw, 4.8rem);line-height:1.02;letter-spacing:-.03em;text-wrap:balance}

/* ---------- servizi: bento ---------- */
.servizi{padding:clamp(100px, 11vw, 170px) var(--largo) clamp(80px, 9vw, 140px)}
.servizi__testa{display:grid;grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);gap:24px 60px;align-items:end;margin-bottom:clamp(40px, 5vw, 70px)}
.servizi__testa p{color:var(--tenue);font-size:1.12rem;max-width:44ch}
.bento{display:grid;grid-template-columns:1.05fr 1fr 1fr;grid-template-areas:"f a b" "f c d" "e e g";gap:14px}
.bento__foto{grid-area:f;border-radius:var(--foglia);overflow:hidden;min-height:420px}
.bento__foto img{width:100%;height:100%;object-fit:cover}
.tessera{background:var(--s2);border-radius:var(--foglia);padding:30px 28px 32px;display:flex;flex-direction:column;gap:12px;transition:background .45s var(--ease)}
.tessera:hover{background:var(--s3)}
.bento > article:nth-of-type(1){grid-area:a}.bento > article:nth-of-type(2){grid-area:b}.bento > article:nth-of-type(3){grid-area:c}.bento > article:nth-of-type(4){grid-area:d}
.tessera > .ico{width:48px;height:48px;padding:12px;border-radius:50% 50% 50% 8px;background:color-mix(in oklab, var(--p) 16%, var(--s2));color:var(--p);margin-bottom:8px}
.tessera h3{font-family:var(--f-titoli);font-weight:400;font-size:1.6rem;line-height:1.1;letter-spacing:-.02em}
.tessera p{color:var(--tenue)}
.tessera--larga{grid-area:e;flex-direction:row;align-items:flex-start;gap:24px}
.tessera--larga > .ico{margin:0}
.tessera--invito{grid-area:g;background:var(--p);color:var(--su-p);text-decoration:none;justify-content:space-between;font-family:var(--f-titoli);font-size:1.6rem;line-height:1.15}
.tessera--invito:hover{background:var(--t);color:var(--s)}
.tessera__freccia{align-self:flex-end;width:52px;height:52px;border-radius:50%;border:1.5px solid currentColor;display:grid;place-items:center;transition:transform .5s var(--ease)}
.tessera--invito:hover .tessera__freccia{transform:rotate(-45deg)}

/* ---------- stagioni: colore di fondo che cambia ---------- */
.stagioni{padding:clamp(90px, 10vw, 150px) 0 clamp(40px, 5vw, 80px);transition:background-color .1s}
.stagioni__testa{padding:0 var(--largo);text-align:center;display:flex;flex-direction:column;align-items:center;gap:18px;margin-bottom:clamp(40px, 6vw, 90px)}
.stagioni__testa p{color:var(--tenue);font-size:1.12rem}
.stagione{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(30px, 6vw, 110px);align-items:center;min-height:min(88svh, 860px);padding:clamp(40px, 5vw, 70px) var(--largo)}
.stagione[data-stagione="primavera"]{background:var(--ton-primavera)}
.stagione[data-stagione="estate"]{background:var(--ton-estate)}
.stagione[data-stagione="autunno"]{background:var(--ton-autunno)}
.stagione[data-stagione="inverno"]{background:var(--ton-inverno)}
.stagioni.colore-vivo .stagione{background:transparent}
.stagione:nth-of-type(even) .stagione__testo{order:2}
.stagione__mesi{font-weight:600;font-size:.95rem;letter-spacing:.04em;color:var(--p)}
.stagione h3{font-family:var(--f-titoli);font-weight:400;font-size:clamp(4rem, 10vw, 10.5rem);line-height:.92;letter-spacing:-.045em;margin:12px 0 30px}
.stagione ul{display:grid;gap:12px;max-width:40ch}
.stagione li{display:flex;gap:14px;align-items:baseline;font-size:1.12rem;padding-bottom:12px;border-bottom:1px solid color-mix(in oklab, var(--t) 18%, transparent)}
.stagione li::before{content:"";width:9px;height:9px;flex:none;border-radius:50% 0;background:var(--p);transform:translateY(-2px)}
.stagione__foto{border-radius:var(--foglia);overflow:hidden;max-height:74svh;aspect-ratio:4/5;justify-self:center;width:100%;max-width:520px}
.stagione__foto img{width:100%;height:100%;object-fit:cover}

/* ---------- prima e dopo: velina che si alza con il rotolo ---------- */
.prima-dopo{padding:clamp(90px, 10vw, 150px) var(--largo)}
.prima-dopo__testa{display:grid;grid-template-columns:minmax(0, 1.1fr) minmax(0, .9fr);gap:24px 60px;align-items:end;margin-bottom:clamp(36px, 4vw, 60px)}
.prima-dopo__testa p{color:var(--tenue);font-size:1.1rem;max-width:44ch}
.velina{position:relative;aspect-ratio:3/2;max-height:82svh;width:100%;border-radius:var(--foglia);overflow:hidden;background:var(--s2)}
.velina img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.velina__dopo{clip-path:inset(0 0 0 0)}
.velina figcaption{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;gap:20px;padding:18px 24px;font-weight:600;font-size:.95rem;background:linear-gradient(to top, color-mix(in oklab, var(--s) 80%, transparent), transparent)}
.velina figcaption span{padding:6px 12px;border-radius:var(--foglia-p);background:color-mix(in oklab, var(--s) 70%, transparent)}

/* ---------- canone ---------- */
.canone{padding:clamp(40px, 5vw, 80px) var(--largo) clamp(90px, 10vw, 150px)}
.canone__testa{text-align:center;display:flex;flex-direction:column;align-items:center;gap:16px;margin-bottom:clamp(40px, 5vw, 70px)}
.canone__testa p{color:var(--tenue);max-width:52ch}
.piani{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:16px;align-items:stretch}
.piano{background:var(--s2);border-radius:var(--foglia);padding:36px 32px;display:flex;flex-direction:column;gap:18px;position:relative;transition:translate .5s var(--ease)}
.piano:hover{translate:0 -6px}
.piano h3{font-family:var(--f-titoli);font-weight:400;font-size:2rem;letter-spacing:-.02em}
.piano__prezzo{color:var(--tenue)}
.piano__prezzo strong{display:block;font-family:var(--f-titoli);font-weight:400;font-size:clamp(2.6rem, 4vw, 3.6rem);line-height:1;color:var(--t);letter-spacing:-.03em}
.piano ul{display:grid;gap:10px;border-top:1px solid var(--linea);padding-top:20px}
.piano li{display:flex;gap:12px;align-items:baseline}
.piano li::before{content:"";width:8px;height:8px;flex:none;border-radius:50% 0;background:var(--a);transform:translateY(-2px)}
.piano--scelto{background:var(--p);color:var(--su-p)}
.piano--scelto .piano__prezzo,.piano--scelto .piano__prezzo strong{color:var(--su-p)}
.piano--scelto ul{border-color:color-mix(in oklab, var(--su-p) 25%, transparent)}
.piano--scelto li::before{background:var(--su-p)}
.piano__segno{position:absolute;top:-14px;right:28px;background:var(--t);color:var(--s);font-size:.85rem;font-weight:700;padding:5px 12px;border-radius:var(--foglia-p)}

/* ---------- recensioni ---------- */
.recensioni{padding:clamp(80px, 9vw, 140px) var(--largo);text-align:center;border-top:1px solid var(--linea)}
.giostra{display:grid;gap:40px;justify-items:center}
.giostra--viva{gap:0}
.giostra--viva .detto{grid-area:1 / 1}
.giostra--viva .detto:not(.attivo){opacity:0;visibility:hidden}
.detto{display:flex;flex-direction:column;align-items:center;gap:22px;transition:opacity .8s var(--ease),visibility .8s}
.detto blockquote{font-family:var(--f-titoli);font-size:clamp(1.7rem, 3.3vw, 3.1rem);line-height:1.2;letter-spacing:-.02em;max-width:26ch}
.detto figcaption{color:var(--tenue);font-weight:500}
.recensioni__voto{margin-top:36px;display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap;color:var(--tenue)}
.stelle{display:inline-flex;gap:3px;color:var(--p)}
.stelle .ico{fill:currentColor;stroke:none;width:18px;height:18px}

/* ---------- sopralluogo ---------- */
.sopralluogo{padding:clamp(90px, 10vw, 150px) var(--largo);display:grid;grid-template-columns:minmax(0, .9fr) minmax(0, 1.1fr);gap:clamp(40px, 6vw, 100px);align-items:start;background:var(--s2)}
.sopralluogo__testo{display:flex;flex-direction:column;gap:22px;position:sticky;top:110px}
.sopralluogo__testo > p{color:var(--tenue);font-size:1.12rem;max-width:40ch}
.sopralluogo__tel{font-weight:500}
.sopralluogo__tel a{color:var(--p);text-decoration:none;font-weight:700;white-space:nowrap}
.zone{margin-top:20px;padding-top:24px;border-top:1px solid var(--linea)}
.zone h3{font-weight:700;font-size:1rem;margin-bottom:14px}
.zone__elenco{display:flex;flex-wrap:wrap;gap:8px}
.zone__elenco li{padding:6px 14px;border-radius:var(--foglia-p);background:var(--s3);font-size:.95rem}
.modulo{background:var(--s);border-radius:var(--foglia);padding:clamp(24px, 3.4vw, 48px);display:grid;gap:26px}
.misura{display:grid;gap:14px}
.misura__testa{display:flex;justify-content:space-between;gap:16px;font-weight:600}
.misura output{white-space:nowrap;font-family:var(--f-titoli);font-weight:400;font-size:1.6rem;color:var(--p);line-height:1}
.misura input{width:100%;accent-color:var(--p);height:28px;cursor:pointer}
.scelte legend{font-weight:600;margin-bottom:12px;padding:0}
.scelte{display:flex;flex-wrap:wrap;gap:8px}
.scelte label{position:relative;cursor:pointer}
.scelte input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}
.scelte span{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:var(--foglia-p);border:1.5px solid var(--linea);font-weight:500;transition:background .3s,border-color .3s,color .3s}
.scelte input:checked + span{background:var(--p);border-color:var(--p);color:var(--su-p)}
.scelte input:focus-visible + span{outline:2px solid var(--p);outline-offset:2px}
.modulo__campi{display:grid;grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);gap:16px}
.campo{display:flex;flex-direction:column;gap:6px;min-width:0}
.campo > span{font-weight:600;font-size:.92rem;color:var(--tenue)}
.campo input{width:100%;min-width:0;background:var(--s2);border:1.5px solid transparent;border-radius:12px;padding:12px 14px;min-height:50px;transition:border-color .3s}
.campo input:focus{outline:none;border-color:var(--p)}
.campo--largo{grid-column:1 / -1}
.allega{position:relative;display:flex;align-items:center;gap:14px;min-height:60px;padding:0 20px;border-radius:var(--foglia-p);border:1.5px dashed var(--linea);cursor:pointer;font-weight:500}
.allega .ico{color:var(--p);width:24px;height:24px}
.allega input{position:absolute;inset:0;opacity:0;cursor:pointer}
.allega:hover{border-color:var(--p)}

/* ---------- piede ---------- */
.piede{padding:clamp(70px, 8vw, 120px) var(--largo) 100px}
.piede__alto{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;padding-bottom:40px;border-bottom:1px solid var(--linea)}
.piede__nome{display:flex;align-items:center;gap:16px;font-family:var(--f-titoli);font-size:clamp(2.6rem, 7vw, 7rem);line-height:1;letter-spacing:-.04em;overflow-wrap:anywhere;min-width:0}
.piede__nome .ico{color:var(--p);width:.7em;height:.7em;flex:none}
.piede__tel{font-family:var(--f-titoli);font-size:clamp(1.6rem, 2.6vw, 2.4rem);text-decoration:none;color:var(--p)}
.piede__righe{margin-top:30px;display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:24px;color:var(--tenue);font-size:.95rem}
.piede__righe a{text-decoration:none}
.piede__righe a:hover{color:var(--t)}

/* ---------- whatsapp e barra mobile ---------- */
.wa{position:fixed;right:20px;bottom:20px;z-index:60;display:flex;align-items:center;gap:10px;min-height:54px;padding:0 20px 0 16px;border-radius:var(--foglia-p);background:var(--t);color:var(--s);font-weight:600;text-decoration:none;box-shadow:0 14px 34px -14px color-mix(in oklab, var(--s) 60%, black);transition:opacity .45s var(--ease),translate .45s var(--ease),background .3s}
.wa .ico{width:22px;height:22px}
.wa:hover{background:var(--p);color:var(--su-p)}
.wa-attesa .wa{opacity:0;translate:0 24px;pointer-events:none}
.barra-mobile{display:none}

/* ---------- responsive ---------- */
@media (min-width:1700px){ body{font-size:18px} }
@media (max-width:1100px){
  .nav{gap:20px}
  .testata{gap:22px}
  .bento{grid-template-columns:1fr 1fr;grid-template-areas:"f a" "f b" "c d" "e e" "g g"}
  .piani{grid-template-columns:1fr;max-width:560px;margin-inline:auto;gap:28px}
}
@media (max-width:899px){
  :root{--alto:64px;--foglia:30px 5px 30px 5px}
  .nav,.testata > .btn{display:none}
  .burger{display:block}
  .logo{font-size:1.35rem;max-width:calc(100vw - 110px)}
  .hero{min-height:min(100svh, 820px)}
  .hero__testo{padding-bottom:130px}
  .hero__titolo{font-size:clamp(2.6rem, 12vw, 4.4rem)}
  .hero__cta{flex-direction:column;align-items:stretch;width:100%;max-width:380px}
  .hero__didascalie{grid-template-columns:repeat(3, 1fr);gap:10px;font-size:.8rem;bottom:20px}
  .hero__didascalie .didascalia{display:none}
  .hero__didascalie li{gap:0}
  .servizi__testa,.prima-dopo__testa{grid-template-columns:1fr}
  .bento{grid-template-columns:1fr;grid-template-areas:"f" "a" "b" "c" "d" "e" "g"}
  .bento__foto{min-height:0;aspect-ratio:4/3}
  .tessera--larga{flex-direction:column}
  .stagione{grid-template-columns:1fr;min-height:0;gap:26px;padding-block:56px}
  .stagione:nth-of-type(even) .stagione__testo{order:0}
  .stagione__foto{max-height:none;aspect-ratio:4/3;max-width:none;order:-1}
  .stagione h3{margin:6px 0 20px}
  .velina{aspect-ratio:4/5}
  .velina figcaption{flex-direction:column;align-items:flex-start;gap:8px}
  .sopralluogo{grid-template-columns:1fr}
  .sopralluogo__testo{position:static}
  .modulo__campi{grid-template-columns:1fr}
  .piede__righe{grid-template-columns:1fr}
  .barra-mobile{display:grid;grid-template-columns:auto 1fr;gap:8px;position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:65}
  .barra-mobile a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:54px;padding:0 20px;border-radius:var(--foglia-p);font-weight:600;text-decoration:none;background:var(--t);color:var(--s)}
  .barra-mobile a:last-child{background:var(--p);color:var(--su-p)}
  body:has(.barra-mobile:not([hidden])){padding-bottom:74px}
  body:has(.barra-mobile:not([hidden])) .wa{bottom:80px}
  .wa span{display:none}
  .wa{width:54px;padding:0;justify-content:center}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition-duration:.01ms !important;animation-duration:.01ms !important}
}

/* ---------- apertura: la chioma cresce e il vento la porta via ---------- */
.apertura{background:var(--s)}
.apertura__chioma{position:absolute;inset:0}
.apertura__foglia{position:absolute;width:var(--l);height:calc(var(--l) * .55);left:var(--x);top:var(--y);will-change:transform}
.apertura__foglia svg{width:100%;height:100%;display:block}
.apertura__foglia path{fill:var(--c)}
.apertura__foglia path + path{fill:none;stroke:color-mix(in oklab, var(--s) 55%, transparent);stroke-width:1.2}
.apertura__nome{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);margin:0;padding:.2em .5em;border-radius:var(--foglia);background:color-mix(in oklab, var(--s) 82%, transparent);font-family:var(--f-titoli);font-size:clamp(2.2rem, 7vw, 5.6rem);line-height:1.1;letter-spacing:-.03em;color:var(--t);width:max-content;max-width:calc(100vw - 32px);text-align:center}
