/* Tokens di temperamento — v1: SANCTUARY (doc 01 §2.3). Gli altri temperamenti aggiungono
   il loro blocco [data-temperament="..."] sopra questo stesso contratto di variabili. */

@font-face {
  font-family: 'Cormorant Garamond';
  src: url('/fonts/CormorantGaramond-500.woff2') format('woff2');
  font-weight: 500; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Cormorant Garamond';
  src: url('/fonts/CormorantGaramond-500-italic.woff2') format('woff2');
  font-weight: 500; font-style: italic; font-display: swap;
}
@font-face {
  font-family: 'Nunito Sans';
  src: url('/fonts/NunitoSans-var.woff2') format('woff2');
  font-weight: 200 1000; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Sora';
  src: url('/fonts/Sora-var.woff2') format('woff2');
  font-weight: 100 800; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Figtree';
  src: url('/fonts/Figtree-var.woff2') format('woff2');
  font-weight: 300 900; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Prata';
  src: url('/fonts/Prata-400.woff2') format('woff2');
  font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Work Sans';
  src: url('/fonts/WorkSans-var.woff2') format('woff2');
  font-weight: 100 900; font-style: normal; font-display: swap;
}

:root {
  /* neutri del canone; accent/accentInk/deep iniettati dal build (node-vibrant, hue del business) */
  --ground: #F3EFE7;
  --ground-alt: #FAF7F0;
  --ink: #2C2820;
  --muted: #7C7362;
  --line: #E2DACA;
  --line-soft: #EBE4D6;
  --on-dark: #F1ECE0;
  --on-dark-muted: #B9B09C;
  --on-accent: #F7F4EC;

  --font-display: 'Cormorant Garamond', Georgia, serif;
  --font-body: 'Nunito Sans', system-ui, sans-serif;

  --radius: 14px;
  --radius-pill: 999px;
  /* device "parola in corsivo": esiste solo dove il display è un serif vero. Un temperamento
     sans lo spegne QUI e i componenti condivisi lo seguono (mai un obliquo sintetico). */
  --italic: italic;
  /* superficie delle card: di default una tinta chiarissima dell'accent sul ground.
     I temperamenti che ne fanno un linguaggio (CLINICA) la spingono più su. */
  --card: color-mix(in srgb, var(--accent) 6%, var(--ground-alt));

  /* distanza del palco hero dai bordi viewport — condiviso da Hero (min-height,
     padding) e Nav (top): la pill deve stare TUTTA dentro il palco, mai a cavallo */
  --hero-inset: clamp(16px, 2.2vw, 30px);

  /* ritmo verticale: UNA scala, tre taglie (design-rules §1).
     [W2-d] La scala è in vh, non in vw: §2.1-bis (c) misura 13-16vh di banda sui siti
     veri, e il ritmo deve scalare con l'ALTEZZA del viewport (una finestra 4:3 non ha
     meno bisogno di respiro di una 16:9). Il gate banda del QA visivo controlla ≥13vh. */
  --spazio-s: clamp(56px, 8.5vh, 92px);
  --spazio-m: clamp(100px, 14vh, 150px);
  --spazio-l: clamp(140px, 20vh, 200px);
  --sez: var(--spazio-m);        /* alias legacy */
  --sez-mezza: var(--spazio-s);  /* alias legacy */
  --misura: 64ch;

  /* scala tipografica: UNA taglia per il titolo di sezione (2026-08-14).
     Prima ogni componente si scriveva il proprio clamp — nove valori diversi da 44 a 64 —
     e misurando il north-star accanto a cgn i titoli di sezione risultavano GRANDI LA METÀ
     (52-64 contro 79-108). Stesso difetto per cui l'hero fu bocciato a 64 contro 132, ma
     nel corpo della pagina, dove il gate P1 non guarda: P1 misura solo l'h1.
     Il valore è quello del north-star approvato (`.testata h2`), non tarato a naso:
     84px a 1440. Il tetto era il problema, non il vw — il template stava già a 6.5vw. */
  --titolo-sezione: clamp(44px, 5.8vw, 104px);

  /* motion QUIETE (doc 04 §1.1) */
  --dur-lenta: 1.1s;
  --dur-media: 0.9s;
  --dur-breve: 0.6s;
  --ease: cubic-bezier(0.22, 0.61, 0.36, 1);
}

/* ── CLINICA (doc 01 T3 · minimal-tech) [T14] ─────────────────────────────
   SANS-ONLY per scelta di doc 01 (il serif qui suona finto-lusso): Sora display
   + Figtree body, gerarchia solo peso+corpo. Ground fisso avorio freddo, card
   tinte a radius XL (la pagina è un impilamento di card), motion da product-site. */
body[data-temperament="CLINICA"] {
  --ground: #FBF9F5;
  --ground-alt: #FFFDFA;
  --ink: #22201E;
  --muted: #797166;
  --line: #E7E0D6;
  --line-soft: #F1ECE4;

  --font-display: 'Sora', system-ui, sans-serif;
  --font-body: 'Figtree', system-ui, sans-serif;

  --radius: 24px;
  --italic: normal;
  /* card tinte: sono la texture della pagina, non un accento occasionale */
  --card: color-mix(in srgb, var(--accent) 11%, var(--ground));
  --card-forte: color-mix(in srgb, var(--accent) 18%, var(--ground));

  /* motion product-site: battute medie, nessun overshoot */
  --dur-lenta: 0.85s;
  --dur-media: 0.6s;
  --dur-breve: 0.4s;
  --ease: cubic-bezier(0.22, 0.61, 0.36, 1);
}
/* display sans: il peso fa la gerarchia, il tracking negativo tiene i titoli compatti */
body[data-temperament="CLINICA"] h1,
body[data-temperament="CLINICA"] h2,
body[data-temperament="CLINICA"] h3 { font-weight: 600; letter-spacing: -0.025em; }
/* l'italic è un device serif: su CLINICA la parola-chiave cambia colore, non stile */
body[data-temperament="CLINICA"] em { font-style: normal; color: var(--accent-ink); }

/* ── BLOOM (doc 01 T4 · fresco-nails) ─────────────────────────────────────
   Prata display + Work Sans body, ground tinto (iniettato dal build quando
   palette.ground esiste), radius pieno, motion POP: battute brevi con overshoot. */
body[data-temperament="BLOOM"] {
  --ink: #3B322E;
  --muted: #8a7a72;
  --line: #eadcd4;
  --line-soft: #f2e8e2;

  --font-display: 'Prata', Georgia, serif;
  --font-body: 'Work Sans', system-ui, sans-serif;

  --radius: 22px;

  /* motion POP (doc 04 §1.2): tre battute rapide e stop */
  --dur-lenta: 0.7s;
  --dur-media: 0.55s;
  --dur-breve: 0.35s;
  --ease: cubic-bezier(0.34, 1.3, 0.5, 1);
}
*, *::before, *::after { box-sizing: border-box; }
/* `clip`, MAI `hidden`: hidden crea un contenitore di scroll e ammazza position:sticky —
   quindi il pin di ScrollTrigger (filmstrip) e la nav sticky. clip taglia e basta.
   Serve perché .scavalca è full-bleed a 100vw, e 100vw include la scrollbar. */
html { scroll-behavior: smooth; overflow-x: clip; }
[id] { scroll-margin-top: 90px; }
body {
  margin: 0; background: var(--ground); color: var(--ink);
  font-family: var(--font-body); font-size: 16px; line-height: 1.65;
  -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;
}
img { max-width: 100%; display: block; }
h1, h2, h3 { font-family: var(--font-display); font-weight: 500; line-height: 1.06; margin: 0; text-wrap: balance; }
p { margin: 0; }
a { color: inherit; }
::selection { background: var(--accent); color: var(--on-accent); }

/* Larghezza: valori del north-star APPROVATO (`.container` 1560 / gutter 5vw), non tarati a
   naso. A 1440 il contenuto passa da 1040px a 1296px (+24,6%): il template impaginava il 39%
   più stretto del north-star, ed è metà della ragione per cui la coda leggeva "da template"
   (l'altra metà è --titolo-sezione). Sotto i 1120 non morde: mobile e tablet invariati. */
.container { max-width: 1560px; margin-inline: auto; padding-inline: clamp(20px, 5vw, 84px); }
/* [pavimento P2, 2026-08-14] scavalcamento del container: il momento fotografico rompe il
   rettangolo (§2.1-bis, smentita 5).
   2026-08-14 sera: era `min(100vw - 32px, 1400px)`, cioè +35% sulla colonna da 1040. Con la
   colonna a 1296 quello stesso valore vale +8% e non rompe più niente: lo scavalcamento
   muore proprio mentre allarghi. Quindi full-bleed VERO, come le statement band del
   north-star, che misurano 100% del viewport. L'overflow lo taglia `overflow-x: clip`. */
.scavalca {
  width: 100vw; max-width: none;
  margin-inline: calc((100vw - 100%) / -2);
}

/* kicker: UNO per pagina è un sistema, uno ovunque è grammatica (craft floor) —
   qui vive solo dove serve davvero, con hairline */
.kicker {
  display: inline-flex; align-items: center; gap: 14px;
  font-size: 11.5px; letter-spacing: 0.22em; text-transform: uppercase;
  color: var(--accent-ink); font-weight: 700;
}
.kicker::before { content: ''; width: 34px; height: 1px; background: var(--accent-ink); }

/* CTA pill composto: pill + cerchio-freccia (canone R8) */
.btn {
  display: inline-flex; align-items: center; gap: 12px;
  background: var(--ink); color: var(--ground);
  border-radius: var(--radius-pill); padding: 15px 8px 15px 28px;
  font-weight: 700; font-size: 15px; text-decoration: none; letter-spacing: 0.01em;
  transition: transform 0.45s var(--ease), box-shadow 0.45s var(--ease);
}
.btn .freccia {
  width: 34px; height: 34px; border-radius: 50%; background: var(--accent);
  display: grid; place-items: center; color: var(--on-accent); font-size: 15px;
  transition: transform 0.45s var(--ease);
}
.btn:hover { transform: translateY(-2px); box-shadow: 0 14px 30px -12px rgb(44 40 32 / 0.45); }
.btn:hover .freccia { transform: translateX(3px); }
.btn:focus-visible, a:focus-visible { outline: 2px solid var(--accent-ink); outline-offset: 3px; }

.btn-testo {
  display: inline-flex; align-items: baseline; gap: 8px;
  color: var(--ink); font-weight: 700; font-size: 15px; text-decoration: none;
  padding-bottom: 3px; border-bottom: 1.5px solid var(--accent);
  transition: border-color 0.3s var(--ease);
}
.btn-testo:hover { border-color: var(--ink); }

/* Touch (HIG/MD): niente delay da doppio-tap; hit area ~44-45px sui link testuali
   senza cambiare il visivo (padding compensato dal margin negativo) */
a, button { touch-action: manipulation; }
.btn-testo { padding-block: 8px; margin-block: -8px; }
.tel { padding-block: 14px; margin-block: -14px; }

/* focus ring leggibile sui fondi scuri (l'accent-ink sparisce sul deep) */
.fine :focus-visible, .hero-scura :focus-visible { outline-color: var(--accent-on-dark); }

/* Reveal on scroll: stati nascosti SOLO sotto html.js (no-JS = tutto visibile) */
html.js [data-reveal] { opacity: 0; transform: translateY(22px); }
html.js [data-reveal].in {
  opacity: 1; transform: none;
  transition: opacity var(--dur-media) var(--ease), transform var(--dur-media) var(--ease);
  transition-delay: var(--rit, 0s);
}
html.js [data-reveal] { animation: reveal-fallback 0s 2.5s forwards; }
@keyframes reveal-fallback { to { opacity: 1; transform: none; } }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  html.js [data-reveal] { opacity: 1 !important; transform: none !important; transition: none !important; }
  * { animation-duration: 0.01ms !important; }
}
/* Libreria motion condivisa [W2] — la metà CSS.
   Regola madre di doc 04 §2.5: lo stato di default nell'HTML è TUTTO VISIBILE.
   Gli stati nascosti vivono solo sotto `html.js`, e `html.motion` (aggiunta da motion.js
   quando GSAP ha davvero preso il controllo) spegne i fallback anti-flash.
   Le primitive sono pilotate da data-attribute: i componenti restano dichiarativi. */

/* ── Marquee ─────────────────────────────────────────────────────────────────
   Estratto da Hero.astro (era scoped, one-off). --dir:-1 lo fa scorrere al
   contrario: due nastri di natura DIVERSA per pagina sono ammessi [§2.1-bis d],
   mai nello stesso viewport. La fade-mask ai bordi è obbligatoria (gate QA). */
.nastro {
  --vel: 36s;
  --dir: 1;
  overflow: hidden;
  padding-block: clamp(16px, 2.2vw, 26px) clamp(24px, 3vw, 40px);
  mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
}
.nastro-track { display: flex; gap: 0; width: max-content; }
.nastro-track span {
  display: inline-flex; align-items: center; gap: clamp(22px, 3vw, 40px); padding-inline: clamp(11px, 1.5vw, 20px);
  font-family: var(--font-display); font-style: var(--italic); font-size: clamp(18px, 2.2vw, 30px);
  color: var(--ink); opacity: 0.82; white-space: nowrap;
}
.nastro-track i { font-style: normal; font-size: clamp(10px, 1vw, 13px); color: var(--accent-ink); opacity: 1; }
@media (prefers-reduced-motion: no-preference) {
  .nastro-track { animation: scorri var(--vel) linear infinite; }
  .nastro[style*="--dir:-1"] .nastro-track,
  .nastro.contro .nastro-track { animation-direction: reverse; }
}
@keyframes scorri { to { transform: translateX(-50%); } }

/* nastro fotografico: stessa meccanica, tessere invece di parole (fregio C10) */
.nastro.foto .nastro-track span { padding-inline: clamp(6px, 0.8vw, 12px); gap: 0; }
.nastro.foto img { height: clamp(120px, 16vh, 190px); width: auto; border-radius: var(--radius); }

/* ── Line-mask sui titoli (RIVISTA, doc 04 §1.3) ─────────────────────────────
   Il markup lo spezza a build time (mai split a runtime: CLS/flash, doc 04 §3).
   Fallback anti-flash a 2,5s come [data-reveal]; `html.motion` lo spegne. */
[data-lines] .riga { display: block; overflow: hidden; }
[data-lines] .riga > span { display: block; }
html.js [data-lines] .riga > span {
  transform: translateY(110%);
  animation: linee-fallback 0s 2.5s forwards;
}
html.motion [data-lines] .riga > span { animation: none; }
@keyframes linee-fallback { to { transform: none; } }

/* ── Clip-reveal delle foto ──────────────────────────────────────────────────
   Stato iniziale gestito da GSAP (gsap.from): niente CSS che nasconda, così
   senza JS la foto è semplicemente già a posto. Qui solo il contenimento. */
[data-zoom] { overflow: hidden; }
[data-zoom] img { width: 100%; height: 100%; object-fit: cover; }

/* ── Parallax interno ────────────────────────────────────────────────────────
   La foto è più alta del contenitore: il movimento avviene DENTRO, senza mai
   scoprire il bordo (e senza toccare il layout: solo transform). */
[data-parallax] { overflow: hidden; position: relative; }
[data-parallax] img { width: 100%; height: 118%; object-fit: cover; position: absolute; inset: -9% 0 auto 0; }

/* ── Carosello ───────────────────────────────────────────────────────────────
   Scroll-snap nativo: senza JS resta uno scroller orizzontale a dito, completo.
   È l'errore dei siti veri da non ereditare (C9: carosello idratato via JS che
   a cattura esce vuoto). Comandi e attenuazione del peek esistono solo con JS. */
.carosello { --caro-w: min(78%, 520px); position: relative; }
.caro-track {
  display: flex; gap: clamp(14px, 2vw, 26px);
  overflow-x: auto; overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory; scroll-padding-inline: 0;
  padding-bottom: 12px; scrollbar-width: none;
}
.caro-track::-webkit-scrollbar { display: none; }
.caro-slide { flex: 0 0 var(--caro-w); scroll-snap-align: start; }
/* peek dichiarato: l'adiacente resta VISIBILE ma attenuata (C3/C4), mai tagliata */
html.motion .caro-slide { opacity: 0.32; transition: opacity var(--dur-media) var(--ease); }
html.motion .caro-slide.attiva { opacity: 1; }

/* i comandi dipendono dal JS (li popola motion.js), non dal motion: in reduced-motion
   frecce e dots servono ancora — sono navigazione, non decorazione */
.caro-comandi { display: none; }
html.js .caro-comandi {
  display: flex; align-items: center; gap: 14px;
  margin-top: clamp(20px, 3vw, 32px);
}
.caro-freccia {
  width: 46px; height: 46px; border-radius: 50%;
  border: 1px solid var(--line); background: transparent; color: var(--ink);
  display: grid; place-items: center; font-size: 16px; cursor: pointer;
  transition: background var(--dur-breve) var(--ease), border-color var(--dur-breve) var(--ease);
}
.caro-freccia:hover { background: var(--accent); border-color: var(--accent); color: var(--on-accent); }
.caro-freccia[disabled] { opacity: 0.3; cursor: default; }
.caro-freccia[disabled]:hover { background: transparent; border-color: var(--line); color: var(--ink); }
.caro-dots { display: flex; gap: 8px; margin-left: auto; }
.caro-dot {
  width: 7px; height: 7px; padding: 0; border: 0; border-radius: 50%;
  background: var(--line); cursor: pointer; transition: background var(--dur-breve) var(--ease);
}
.caro-dot.attivo { background: var(--accent); }
@media (max-width: 680px) { .carosello { --caro-w: min(86%, 380px); } }

/* ── Filmstrip (C9/C5) ───────────────────────────────────────────────────────
   La striscia sanguina oltre i margini e scorre in scrub sullo scroll; con
   `data-filmstrip="pin"` la sezione si pinna e la striscia diventa il movimento
   della pagina. Senza JS resta scrollabile a dito, tagliata ai bordi. */
[data-filmstrip] { overflow: hidden; width: 100%; }
.strip-track { display: flex; gap: clamp(10px, 1.4vw, 18px); width: max-content; will-change: transform; }
/* lo scroller sta sul CONTENITORE: .strip-track è width:max-content, cioè largo quanto il
   suo contenuto, e overflow-x su di lui non scrolla mai (la striscia restava tagliata e
   irraggiungibile). Scrollbar sempre nascosta: quella nativa visibile è bocciatura
   automatica (2026-08-14), stesso trattamento di .caro-track. */
html:not(.motion) [data-filmstrip] {
  overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: none;
}
html:not(.motion) [data-filmstrip]::-webkit-scrollbar { display: none; }
.strip-track img {
  height: clamp(220px, 34vh, 420px); width: auto; aspect-ratio: 3 / 4;
  object-fit: cover; border-radius: var(--radius);
}
/* la striscia pinnata è un momento, non una fascia di provini: tessere alte e in
   formato paesaggio, che è come sono girate le foto del kit */
[data-filmstrip="pin"] .strip-track img {
  height: clamp(320px, 72vh, 640px); aspect-ratio: 4 / 3;
}

/* ── Scroll-assembly sticky (C12) ────────────────────────────────────────────
   La sezione si pinna e i pezzi si assemblano. I pezzi partono già al posto
   giusto: lo scompiglio lo mette GSAP (gsap.from), così senza JS è un collage
   statico corretto e senza pin non c'è nessun buco di layout. */
[data-assembly] { position: relative; }
[data-assembly] .assembly-pezzo { will-change: transform; }

@media (prefers-reduced-motion: reduce) {
  html.js [data-lines] .riga > span { transform: none !important; animation: none !important; }
  .nastro-track { animation: none !important; }
  html.motion .caro-slide { opacity: 1 !important; }
}
.nav[data-astro-cid-wpvy4v7s] {
  position: fixed;
  top: calc(var(--hero-inset) + 16px);
  inset-inline: 0;
  z-index: 60;
  display: flex;
  justify-content: center;
  padding-inline: 16px;
  pointer-events: none;
}

.nav-pill[data-astro-cid-wpvy4v7s] {
  pointer-events: auto;
  display: flex;
  align-items: center;
  gap: clamp(16px, 3vw, 34px);
  background: #1e1a139e;
  backdrop-filter: blur(28px);
  -webkit-backdrop-filter: blur(28px);
  color: var(--on-dark);
  border: 1px solid #ffffff1f;
  border-radius: var(--radius-pill);
  padding: 8px 9px 8px 23px;
  box-shadow: 0 12px 32px -14px #1e1a138c, inset 0 1px #ffffff14;
}

@supports not (backdrop-filter: blur(1px)) {
  .nav-pill[data-astro-cid-wpvy4v7s] {
    background: #1e1a13f0;
  }
}

.marchio[data-astro-cid-wpvy4v7s] {
  font-family: var(--font-display);
  font-style: var(--italic);
  font-size: 19px;
  text-decoration: none;
  letter-spacing: .01em;
}

.marchio-logo[data-astro-cid-wpvy4v7s] {
  display: block;
  height: 26px;
  width: auto;
  max-width: 140px;
  object-fit: contain;
}

.voci[data-astro-cid-wpvy4v7s] {
  display: flex;
  gap: 22px;
}

.voci[data-astro-cid-wpvy4v7s] a[data-astro-cid-wpvy4v7s] {
  font-size: 13.5px;
  font-weight: 600;
  text-decoration: none;
  color: var(--on-dark-muted);
  transition: color .3s var(--ease);
}

.voci[data-astro-cid-wpvy4v7s] a[data-astro-cid-wpvy4v7s]:hover {
  color: var(--on-dark);
}

.nav-cta[data-astro-cid-wpvy4v7s] {
  background: var(--accent);
  color: var(--on-accent);
  font-size: 13.5px;
  font-weight: 700;
  text-decoration: none;
  border-radius: var(--radius-pill);
  padding: 9px 18px;
  transition: filter .3s var(--ease);
}

.nav-cta[data-astro-cid-wpvy4v7s]:hover {
  filter: brightness(1.08);
}

@media (width <= 640px) {
  .voci[data-astro-cid-wpvy4v7s] {
    display: none;
  }

  .nav-pill[data-astro-cid-wpvy4v7s] {
    gap: 14px;
  }
}

@media (prefers-reduced-motion: no-preference) {
  html.js .nav-pill[data-astro-cid-wpvy4v7s] {
    animation: nav-scende .9s var(--ease) .9s both;
  }
}

@keyframes nav-scende {
  from {
    opacity: 0;
    transform: translateY(-14px);
  }

  to {
    opacity: 1;
    transform: none;
  }
}
.hero[data-astro-cid-ge2uvauf] {
  padding: var(--hero-inset) clamp(12px, 2.5vw, 28px) 0;
}

.palco[data-astro-cid-ge2uvauf] {
  position: relative;
  max-width: 1240px;
  margin-inline: auto;
  background: var(--deep);
  color: var(--on-dark);
  border-radius: calc(var(--radius) + 10px);
  padding: clamp(52px, 7vw, 96px) clamp(28px, 6vw, 96px) clamp(60px, 7.5vw, 104px);
  min-height: calc(100vh - var(--hero-inset) * 2);
  min-height: calc(100svh - var(--hero-inset) * 2);
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  container-type: inline-size;
}

.palco-foto[data-astro-cid-ge2uvauf] {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 62%;
  object-fit: cover;
  height: 100%;
  -webkit-mask-image: linear-gradient(to right, #0000, #000 42%);
  mask-image: linear-gradient(to right, #0000, #000 42%);
}

.palco-inner[data-astro-cid-ge2uvauf] {
  position: relative;
  max-width: 640px;
}

.hero-foto[data-astro-cid-ge2uvauf] .palco-inner[data-astro-cid-ge2uvauf] {
  text-shadow: 0 1px 22px #00000059;
}

@media (width <= 800px) {
  .hero-foto[data-astro-cid-ge2uvauf] .palco-foto[data-astro-cid-ge2uvauf] {
    width: 100%;
    height: 46%;
    bottom: auto;
    -webkit-mask-image: linear-gradient(to top, #0000, #000 55%);
    mask-image: linear-gradient(to top, #0000, #000 55%);
    opacity: .85;
  }

  .hero-foto[data-astro-cid-ge2uvauf] .palco[data-astro-cid-ge2uvauf] {
    padding-top: clamp(190px, 46vw, 260px);
    justify-content: flex-end;
  }
}

.hero-split-boxed[data-astro-cid-ge2uvauf] .palco[data-astro-cid-ge2uvauf] {
  background: color-mix(in srgb, var(--accent) 16%, var(--ground-alt));
  color: var(--ink);
  overflow: visible;
}

.hero-split-boxed[data-astro-cid-ge2uvauf] .palco-foto[data-astro-cid-ge2uvauf] {
  -webkit-mask-image: none;
  mask-image: none;
  top: clamp(-22px, -1.4vw, -14px);
  right: clamp(-18px, -1.2vw, -12px);
  bottom: auto;
  width: 40%;
  height: calc(100% + clamp(14px, 1.4vw, 22px));
  border-radius: var(--radius);
  box-shadow: 0 28px 64px -30px #14100a66;
}

.hero-split-boxed[data-astro-cid-ge2uvauf] .palco-inner[data-astro-cid-ge2uvauf] {
  max-width: 54%;
}

.hero-split-boxed[data-astro-cid-ge2uvauf] .titolo[data-astro-cid-ge2uvauf] {
  font-size: clamp(38px, 6.4cqw, 72px);
  color: var(--ink);
}

.hero-split-boxed[data-astro-cid-ge2uvauf] .titolo[data-astro-cid-ge2uvauf] em[data-astro-cid-ge2uvauf] {
  color: var(--accent-ink);
}

.hero-split-boxed[data-astro-cid-ge2uvauf] .sopra[data-astro-cid-ge2uvauf] {
  color: var(--accent-ink);
}

.hero-split-boxed[data-astro-cid-ge2uvauf] .sub[data-astro-cid-ge2uvauf] {
  color: var(--muted);
}

.hero-split-boxed[data-astro-cid-ge2uvauf] .tel[data-astro-cid-ge2uvauf] {
  color: var(--ink);
  border-color: #0000002e;
}

.hero-split-boxed[data-astro-cid-ge2uvauf] .tel[data-astro-cid-ge2uvauf]:hover {
  border-color: var(--ink);
}

@media (width <= 800px) {
  .hero-split-boxed[data-astro-cid-ge2uvauf] .palco[data-astro-cid-ge2uvauf] {
    padding-top: clamp(18px, 3vw, 28px);
  }

  .hero-split-boxed[data-astro-cid-ge2uvauf] .palco-foto[data-astro-cid-ge2uvauf] {
    position: static;
    width: auto;
    height: clamp(210px, 30vh, 300px);
    margin: 0 calc(-1 * clamp(28px, 6vw, 96px) - 6px) clamp(22px, 4vw, 32px);
  }

  .hero-split-boxed[data-astro-cid-ge2uvauf] .palco-inner[data-astro-cid-ge2uvauf] {
    max-width: none;
  }

  .hero-split-boxed[data-astro-cid-ge2uvauf] .sigillo[data-astro-cid-ge2uvauf] {
    bottom: auto;
    top: 84px;
  }
}

.sopra[data-astro-cid-ge2uvauf] {
  font-size: 12px;
  letter-spacing: .26em;
  text-transform: uppercase;
  color: var(--on-dark-muted);
  font-weight: 700;
}

.titolo[data-astro-cid-ge2uvauf] {
  font-size: clamp(44px, 8cqw, 88px);
  margin-top: clamp(18px, 2vw, 26px);
  color: var(--on-dark);
  letter-spacing: -.015em;
}

.hero-foto[data-astro-cid-ge2uvauf] .titolo[data-astro-cid-ge2uvauf] {
  font-size: clamp(38px, 6.2cqw, 68px);
}

.titolo[data-astro-cid-ge2uvauf] .riga[data-astro-cid-ge2uvauf] {
  display: block;
}

.titolo[data-astro-cid-ge2uvauf] em[data-astro-cid-ge2uvauf] {
  font-style: var(--italic);
  color: var(--accent-on-dark);
}

.titolo[data-astro-cid-ge2uvauf] .nome[data-astro-cid-ge2uvauf] {
  color: var(--on-dark);
}

.sub[data-astro-cid-ge2uvauf] {
  margin-top: clamp(20px, 2.2vw, 28px);
  font-size: clamp(16px, 2vw, 18.5px);
  color: var(--on-dark-muted);
  max-width: 46ch;
  line-height: 1.65;
}

.azioni[data-astro-cid-ge2uvauf] {
  margin-top: clamp(30px, 3.2vw, 42px);
  display: flex;
  align-items: center;
  gap: 28px;
  flex-wrap: wrap;
}

.btn-hero[data-astro-cid-ge2uvauf] {
  background: var(--accent);
  color: var(--on-accent);
}

.btn-hero[data-astro-cid-ge2uvauf] .freccia[data-astro-cid-ge2uvauf] {
  background: #00000038;
  color: var(--on-accent);
}

.tel[data-astro-cid-ge2uvauf] {
  color: var(--on-dark);
  font-weight: 600;
  font-size: 15px;
  text-decoration: none;
  border-bottom: 1px solid #ffffff47;
  padding-bottom: 2px;
}

.tel[data-astro-cid-ge2uvauf]:hover {
  border-color: var(--on-dark);
}

.sigillo[data-astro-cid-ge2uvauf] {
  position: absolute;
  right: clamp(20px, 6vw, 84px);
  bottom: clamp(-8px, 1vw, 26px);
  width: 148px;
  height: 148px;
  border-radius: 50%;
  background: var(--ground);
  color: var(--ink);
  display: grid;
  place-content: center;
  text-align: center;
  gap: 2px;
  transform: rotate(7deg);
  box-shadow: 0 18px 40px -18px #14100a80;
}

.s-voto[data-astro-cid-ge2uvauf] {
  font-family: var(--font-display);
  font-size: 44px;
  line-height: 1;
}

.s-stelle[data-astro-cid-ge2uvauf] {
  position: relative;
  color: color-mix(in srgb, var(--accent-ink) 30%, transparent);
  font-size: 12px;
  letter-spacing: 3px;
}

.s-piene[data-astro-cid-ge2uvauf] {
  position: absolute;
  inset: 0;
  width: var(--pct, 100%);
  overflow: hidden;
  white-space: nowrap;
  color: var(--accent-ink);
}

.s-testo[data-astro-cid-ge2uvauf] {
  font-size: 10.5px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 700;
  line-height: 1.45;
}

@media (width <= 720px) {
  .sigillo[data-astro-cid-ge2uvauf] {
    width: 112px;
    height: 112px;
    right: 14px;
    bottom: 16px;
    transform: rotate(7deg);
  }

  .s-voto[data-astro-cid-ge2uvauf] {
    font-size: 30px;
  }

  .hero-foto[data-astro-cid-ge2uvauf] .sigillo[data-astro-cid-ge2uvauf] {
    bottom: auto;
    top: 84px;
  }
}

@media (prefers-reduced-motion: no-preference) {
  html.js .sopra[data-astro-cid-ge2uvauf] {
    animation: h-su .9s var(--ease) both;
  }

  html.js .titolo[data-astro-cid-ge2uvauf] .riga[data-astro-cid-ge2uvauf] {
    animation: h-su 1.1s var(--ease) both;
    animation-delay: calc(.12s + var(--i) * .14s);
  }

  html.js .sub[data-astro-cid-ge2uvauf] {
    animation: h-fade .7s var(--ease) .6s both;
  }

  html.js .sigillo[data-astro-cid-ge2uvauf] {
    animation: h-sigillo 1s var(--ease) .9s both;
  }

  html.js .palco-foto[data-astro-cid-ge2uvauf] {
    animation: 6s linear both h-respiro;
  }
}

@keyframes h-su {
  from {
    opacity: 0;
    transform: translateY(18px);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes h-fade {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes h-sigillo {
  from {
    opacity: 0;
    transform: rotate(7deg) scale(.85);
  }

  to {
    opacity: 1;
    transform: rotate(7deg) scale(1);
  }
}

@keyframes h-respiro {
  from {
    transform: scale(1.06);
  }

  to {
    transform: scale(1);
  }
}

@media (prefers-reduced-motion: no-preference) {
  html.js body[data-temperament="BLOOM"] .palco-foto[data-astro-cid-ge2uvauf] {
    animation: .7s cubic-bezier(.22, .61, .36, 1) both h-pop-zoom;
  }

  html.js body[data-temperament="BLOOM"] .sopra[data-astro-cid-ge2uvauf] {
    animation: .45s cubic-bezier(.34, 1.4, .56, 1) both h-su;
  }

  html.js body[data-temperament="BLOOM"] .titolo[data-astro-cid-ge2uvauf] .riga[data-astro-cid-ge2uvauf] {
    animation: .55s cubic-bezier(.34, 1.4, .56, 1) both h-pop-su;
    animation-delay: calc(.15s + var(--i) * 90ms);
  }

  html.js body[data-temperament="BLOOM"] .titolo[data-astro-cid-ge2uvauf] em[data-astro-cid-ge2uvauf] {
    position: relative;
  }

  html.js body[data-temperament="BLOOM"] .titolo[data-astro-cid-ge2uvauf] em[data-astro-cid-ge2uvauf]:after {
    content: "";
    position: absolute;
    left: -.06em;
    right: -.06em;
    bottom: .02em;
    height: .16em;
    background: var(--accent);
    opacity: .55;
    border-radius: 999px;
    transform-origin: 0;
    animation: .4s cubic-bezier(.22, .61, .36, 1) .5s both h-wipe;
  }

  html.js body[data-temperament="BLOOM"] .sub[data-astro-cid-ge2uvauf] {
    animation: .4s .7s both h-fade;
  }

  html.js body[data-temperament="BLOOM"] .sigillo[data-astro-cid-ge2uvauf] {
    animation: .5s cubic-bezier(.34, 1.4, .56, 1) .8s both h-sigillo;
  }
}

@keyframes h-pop-zoom {
  from {
    transform: scale(1.03);
  }

  to {
    transform: scale(1);
  }
}

@keyframes h-pop-su {
  from {
    opacity: 0;
    transform: translateY(26px);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes h-wipe {
  from {
    transform: scaleX(0);
  }

  to {
    transform: scaleX(1);
  }
}
.barra[data-astro-cid-l3levxyt] {
  display: flex;
  align-items: center;
  gap: clamp(18px, 3vw, 40px);
  background: var(--deep);
  color: var(--on-dark);
  padding: 16px clamp(20px, 4vw, 48px);
}

.marchio[data-astro-cid-l3levxyt] {
  font-family: var(--font-display);
  font-size: 20px;
  text-decoration: none;
  letter-spacing: .02em;
  color: var(--on-dark);
  padding-block: 8px;
  margin-block: -8px;
}

.marchio-logo[data-astro-cid-l3levxyt] {
  display: block;
  height: 28px;
  width: auto;
  max-width: 150px;
  object-fit: contain;
}

.voci[data-astro-cid-l3levxyt] {
  margin-left: auto;
  display: flex;
  gap: clamp(20px, 2.6vw, 34px);
}

.voci[data-astro-cid-l3levxyt] a[data-astro-cid-l3levxyt] {
  font-size: 12px;
  letter-spacing: .14em;
  text-transform: uppercase;
  font-weight: 600;
  text-decoration: none;
  color: var(--on-dark-muted);
  transition: color .3s var(--ease);
  padding-block: 13px;
  margin-block: -13px;
}

.voci[data-astro-cid-l3levxyt] a[data-astro-cid-l3levxyt]:hover {
  color: var(--on-dark);
}

.barra-cta[data-astro-cid-l3levxyt] {
  background: var(--accent);
  color: var(--on-accent);
  font-size: 12px;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-weight: 700;
  text-decoration: none;
  border-radius: 4px;
  padding: 11px 20px;
  transition: filter .3s var(--ease);
}

.barra-cta[data-astro-cid-l3levxyt]:hover {
  filter: brightness(1.1);
}

@media (width <= 640px) {
  .voci[data-astro-cid-l3levxyt] {
    display: none;
  }

  .barra[data-astro-cid-l3levxyt] {
    justify-content: space-between;
  }
}
.hero[data-astro-cid-seovugx7] {
  position: relative;
  overflow: hidden;
  display: grid;
  align-content: center;
  grid-template-columns: 1fr;
  min-height: calc(100vh - 60px);
  min-height: calc(100svh - 60px);
  container-type: inline-size;
}

.hero-chiara[data-astro-cid-seovugx7] {
  background: var(--ground-alt);
  color: var(--ink);
}

.testa[data-astro-cid-seovugx7], .colonna[data-astro-cid-seovugx7] {
  position: relative;
  z-index: 1;
  padding-inline: clamp(20px, 4vw, 48px);
  margin-left: clamp(0px, 50vw - 620px, 999px);
}

.testa[data-astro-cid-seovugx7] {
  padding-top: clamp(48px, 7vw, 90px);
  max-width: 1240px;
}

.colonna[data-astro-cid-seovugx7] {
  max-width: 620px;
  padding-bottom: clamp(90px, 11vw, 140px);
}

.hero-chiara[data-astro-cid-seovugx7].hero-foto {
  grid-template-columns: 1fr 48%;
}

.hero-chiara[data-astro-cid-seovugx7].hero-foto .testa[data-astro-cid-seovugx7] {
  grid-column: 1 / -1;
}

.hero-chiara[data-astro-cid-seovugx7].hero-foto .colonna[data-astro-cid-seovugx7] {
  grid-column: 1;
  grid-row: 2;
}

.hero-chiara[data-astro-cid-seovugx7] .hero-foto-img[data-astro-cid-seovugx7] {
  grid-column: 2;
  grid-row: 2;
  align-self: stretch;
  width: 100%;
  min-height: clamp(380px, 52vh, 540px);
  object-fit: cover;
  margin-bottom: clamp(48px, 6vw, 80px);
}

.eyebrow[data-astro-cid-seovugx7] {
  font-size: 12px;
  letter-spacing: .26em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--accent-ink);
}

.titolo[data-astro-cid-seovugx7] {
  font-size: clamp(44px, 9.2cqw, 132px);
  margin-top: clamp(16px, 2vw, 24px);
  letter-spacing: -.01em;
  line-height: 1.04;
}

.titolo[data-astro-cid-seovugx7] .riga[data-astro-cid-seovugx7] {
  display: block;
}

.titolo[data-astro-cid-seovugx7] em[data-astro-cid-seovugx7] {
  font-style: var(--italic);
  color: var(--accent-ink);
}

.sub[data-astro-cid-seovugx7] {
  margin-top: clamp(18px, 2.2vw, 26px);
  font-size: clamp(16px, 2vw, 18px);
  color: var(--muted);
  max-width: 44ch;
  line-height: 1.65;
}

.azioni[data-astro-cid-seovugx7] {
  margin-top: clamp(28px, 3.2vw, 40px);
  display: flex;
  align-items: center;
  gap: 26px;
  flex-wrap: wrap;
}

.btn-banda[data-astro-cid-seovugx7] {
  background: var(--accent);
  color: var(--on-accent);
  font-size: 13px;
  letter-spacing: .1em;
  text-transform: uppercase;
  font-weight: 700;
  text-decoration: none;
  border-radius: 4px;
  padding: 17px 30px;
  transition: filter .3s var(--ease), transform .45s var(--ease);
}

.btn-banda[data-astro-cid-seovugx7]:hover {
  filter: brightness(1.08);
  transform: translateY(-2px);
}

.tel[data-astro-cid-seovugx7] {
  color: var(--ink);
  font-weight: 600;
  font-size: 15px;
  text-decoration: none;
  border-bottom: 1px solid #00000038;
  padding-bottom: 2px;
}

.tel[data-astro-cid-seovugx7]:hover {
  border-color: var(--ink);
}

.proof[data-astro-cid-seovugx7] {
  margin-top: 22px;
  font-size: 12px;
  letter-spacing: .14em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--muted);
}

.hero-scura[data-astro-cid-seovugx7] {
  background: var(--deep);
  color: var(--on-dark);
}

.hero-scura[data-astro-cid-seovugx7] .hero-foto-img[data-astro-cid-seovugx7] {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .55;
}

.hero-scura[data-astro-cid-seovugx7] .titolo[data-astro-cid-seovugx7], .hero-scura[data-astro-cid-seovugx7] .tel[data-astro-cid-seovugx7] {
  color: var(--on-dark);
}

.hero-scura[data-astro-cid-seovugx7] .titolo[data-astro-cid-seovugx7] em[data-astro-cid-seovugx7] {
  color: var(--accent-on-dark);
}

.hero-scura[data-astro-cid-seovugx7] .sub[data-astro-cid-seovugx7] {
  color: var(--on-dark-muted);
}

.hero-scura[data-astro-cid-seovugx7] .eyebrow[data-astro-cid-seovugx7] {
  color: var(--accent-on-dark);
}

.hero-scura[data-astro-cid-seovugx7] .tel[data-astro-cid-seovugx7] {
  border-color: #ffffff47;
}

@media (width <= 800px) {
  .hero[data-astro-cid-seovugx7] {
    display: block;
    min-height: 0;
  }

  .hero-chiara[data-astro-cid-seovugx7] .hero-foto-img[data-astro-cid-seovugx7], .hero-scura[data-astro-cid-seovugx7] .hero-foto-img[data-astro-cid-seovugx7] {
    position: static;
    width: 100%;
    height: clamp(220px, 34vh, 320px);
    min-height: 0;
    opacity: 1;
    margin-bottom: 0;
  }

  .hero-chiara[data-astro-cid-seovugx7].hero-foto .colonna[data-astro-cid-seovugx7] {
    max-width: none;
  }

  .colonna[data-astro-cid-seovugx7] {
    padding-top: clamp(28px, 5vw, 48px);
  }
}

@media (prefers-reduced-motion: no-preference) {
  html.js .eyebrow[data-astro-cid-seovugx7] {
    animation: b-su .9s var(--ease) both;
  }

  html.js .titolo[data-astro-cid-seovugx7] .riga[data-astro-cid-seovugx7] {
    animation: b-su 1.1s var(--ease) both;
    animation-delay: calc(.12s + var(--i) * .14s);
  }

  html.js .sub[data-astro-cid-seovugx7] {
    animation: b-fade .7s var(--ease) .6s both;
  }

  html.js .hero-foto-img[data-astro-cid-seovugx7] {
    animation: 6s linear both b-respiro;
  }
}

@keyframes b-su {
  from {
    opacity: 0;
    transform: translateY(18px);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes b-fade {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes b-respiro {
  from {
    transform: scale(1.04);
  }

  to {
    transform: scale(1);
  }
}
/* Micro-pattern shell r4-bande (contratto studio/05): card bianche con ombra calda
     e cerchi tinta — scoped sul data-shell, mai condivisi con altre shell.
     (zigzag-foto-testo dichiarato: lo implementa [T04], device dentro questa shell) */
  body[data-shell="r4-bande"] .passi li,
  body[data-shell="r4-bande"] .tema,
  body[data-shell="r4-bande"] .scheggia {
    border-top: 0; background: #fff; border-radius: 12px;
    padding: clamp(22px, 3vw, 30px);
    box-shadow: 0 22px 44px -28px rgb(90 60 30 / 0.35);
  }
  /* numeri/icone dentro cerchi tinta beige (terzo neutro, R4 micro-dettaglio 2) */
  body[data-shell="r4-bande"] .passi .num {
    display: inline-grid; place-items: center;
    width: 52px; height: 52px; border-radius: 50%;
    background: color-mix(in srgb, var(--accent) 12%, var(--ground));
    font-size: 26px;
  }
  /* il CTA pill-freccia è il tell di legacy: qui i bottoni condivisi si squadrano */
  body[data-shell="r4-bande"] .btn { border-radius: 6px; padding: 15px 22px 15px 26px; }
  body[data-shell="r4-bande"] .btn .freccia { border-radius: 8px; }.barra[data-astro-cid-uxiodyqf] {
  position: absolute;
  top: 0;
  inset-inline: 0;
  z-index: 10;
  display: flex;
  align-items: center;
  gap: clamp(18px, 3vw, 40px);
  padding: clamp(18px, 2.4vw, 28px) clamp(20px, 3.5vw, 44px);
  color: var(--on-dark);
}

.wordmark[data-astro-cid-uxiodyqf] {
  font-family: var(--font-display);
  font-size: clamp(18px, 1.6vw, 22px);
  color: currentColor;
  text-decoration: none;
  line-height: 1;
  padding-block: 12px;
  margin-block: -12px;
}

.voci[data-astro-cid-uxiodyqf] {
  margin-left: auto;
  display: flex;
  gap: clamp(20px, 2.6vw, 34px);
}

.voci[data-astro-cid-uxiodyqf] a[data-astro-cid-uxiodyqf] {
  font-size: 11.5px;
  letter-spacing: .16em;
  text-transform: uppercase;
  font-weight: 600;
  text-decoration: none;
  color: var(--on-dark-muted);
  transition: color .3s var(--ease);
  padding-block: 13px;
  margin-block: -13px;
}

.voci[data-astro-cid-uxiodyqf] a[data-astro-cid-uxiodyqf]:hover {
  color: var(--on-dark);
}

.barra-cta[data-astro-cid-uxiodyqf] {
  font-size: 11.5px;
  letter-spacing: .16em;
  text-transform: uppercase;
  font-weight: 700;
  text-decoration: none;
  color: var(--on-dark);
  border-bottom: 2px solid var(--accent-on-dark);
  padding: 17px 0 3px;
  margin-block: -17px 0;
  transition: border-color .3s var(--ease);
}

.barra-cta[data-astro-cid-uxiodyqf]:hover {
  border-color: var(--on-dark);
}

@media (width <= 640px) {
  .voci[data-astro-cid-uxiodyqf] {
    display: none;
  }

  .barra[data-astro-cid-uxiodyqf] {
    justify-content: space-between;
  }
}
.hero[data-astro-cid-5t25wtpi] {
  position: relative;
  display: grid;
  align-items: center;
  min-height: 100vh;
  min-height: 100svh;
  background: var(--deep);
  color: var(--on-dark);
  container-type: inline-size;
}

.hero-foto-img[data-astro-cid-5t25wtpi] {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hero-foto[data-astro-cid-5t25wtpi]:before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(to bottom, color-mix(in srgb, var(--deep) 62%, transparent), transparent 160px),
      linear-gradient(100deg,
        color-mix(in srgb, var(--deep) 86%, transparent) 0%,
        color-mix(in srgb, var(--deep) 52%, transparent) 52%,
        color-mix(in srgb, var(--deep) 14%, transparent) 100%);
}

.contenuto[data-astro-cid-5t25wtpi] {
  position: relative;
  z-index: 2;
  max-width: 640px;
  padding: clamp(96px, 14vh, 150px) clamp(24px, 5vw, 64px) clamp(110px, 16vh, 170px);
  margin-left: clamp(0px, 50vw - 640px, 999px);
}

.eyebrow[data-astro-cid-5t25wtpi] {
  font-size: 11.5px;
  letter-spacing: .24em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--accent-on-dark);
}

.titolo[data-astro-cid-5t25wtpi] {
  font-size: clamp(36px, 4.4cqw, 58px);
  margin-top: clamp(16px, 2vw, 24px);
  color: var(--on-dark);
  text-shadow: 0 1px 26px #00000040;
}

.titolo[data-astro-cid-5t25wtpi] .riga[data-astro-cid-5t25wtpi] {
  display: block;
}

.titolo[data-astro-cid-5t25wtpi] em[data-astro-cid-5t25wtpi] {
  font-style: var(--italic);
  color: var(--accent-on-dark);
}

.sub[data-astro-cid-5t25wtpi] {
  margin-top: clamp(18px, 2.2vw, 26px);
  font-size: clamp(15.5px, 1.8vw, 17px);
  color: var(--on-dark-muted);
  max-width: 44ch;
  line-height: 1.7;
}

.azioni[data-astro-cid-5t25wtpi] {
  margin-top: clamp(28px, 3.2vw, 40px);
  display: flex;
  align-items: center;
  gap: 26px;
  flex-wrap: wrap;
}

.btn-ritratto[data-astro-cid-5t25wtpi] {
  background: var(--accent);
  color: var(--on-accent);
  font-size: 12.5px;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-weight: 700;
  text-decoration: none;
  border-radius: var(--radius-pill);
  padding: 16px 30px;
  transition: filter .3s var(--ease), transform .45s var(--ease);
}

.btn-ritratto[data-astro-cid-5t25wtpi]:hover {
  filter: brightness(1.08);
  transform: translateY(-2px);
}

.tel[data-astro-cid-5t25wtpi] {
  color: var(--on-dark);
  font-weight: 600;
  font-size: 15px;
  text-decoration: none;
  border-bottom: 1px solid #ffffff4d;
  padding-bottom: 2px;
}

.tel[data-astro-cid-5t25wtpi]:hover {
  border-color: var(--on-dark);
}

.badge[data-astro-cid-5t25wtpi] {
  --d: clamp(112px, 10vw, 140px);
  position: absolute;
  right: clamp(28px, 9vw, 130px);
  bottom: calc(var(--d) / -2);
  width: var(--d);
  aspect-ratio: 1;
  border-radius: 50%;
  background: var(--cornice, color-mix(in srgb, var(--accent) 30%, white));
  color: var(--ink);
  z-index: 3;
  display: grid;
  place-content: center;
  text-align: center;
  gap: 4px;
}

.b-voto[data-astro-cid-5t25wtpi] {
  font-family: var(--font-display);
  font-size: clamp(30px, 2.6vw, 36px);
  line-height: 1;
}

.b-testo[data-astro-cid-5t25wtpi] {
  font-size: 10px;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-weight: 700;
  line-height: 1.35;
}

.hero-tipografica[data-astro-cid-5t25wtpi] {
  background: var(--deep);
}

@media (width <= 800px) {
  .hero-foto[data-astro-cid-5t25wtpi]:before {
    background: linear-gradient(to bottom, color-mix(in srgb, var(--deep) 55%, transparent), color-mix(in srgb, var(--deep) 88%, transparent) 82%),
        color-mix(in srgb, var(--deep) 22%, transparent);
  }

  .hero[data-astro-cid-5t25wtpi] {
    align-items: end;
  }

  .contenuto[data-astro-cid-5t25wtpi] {
    padding-bottom: clamp(90px, 14vh, 130px);
  }

  .badge[data-astro-cid-5t25wtpi] {
    right: 18px;
  }
}

@media (prefers-reduced-motion: no-preference) {
  html.js .eyebrow[data-astro-cid-5t25wtpi] {
    animation: c-su .9s var(--ease) both;
  }

  html.js .titolo[data-astro-cid-5t25wtpi] .riga[data-astro-cid-5t25wtpi] {
    animation: c-su 1s var(--ease) both;
    animation-delay: calc(.1s + var(--i) * .12s);
  }

  html.js .sub[data-astro-cid-5t25wtpi] {
    animation: c-fade .7s var(--ease) .55s both;
  }

  html.js .hero-foto-img[data-astro-cid-5t25wtpi] {
    animation: c-fade .9s var(--ease) both;
  }

  html.js .badge[data-astro-cid-5t25wtpi] {
    animation: .5s cubic-bezier(.34, 1.4, .56, 1) .7s both c-pop;
  }
}

@keyframes c-su {
  from {
    opacity: 0;
    transform: translateY(16px);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes c-fade {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes c-pop {
  from {
    opacity: 0;
    transform: scale(.8);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}
/* Micro-pattern shell r3-ritratto (contratto studio/05), scoped su data-shell.
     Bottoni condivisi: pill accent in caps piccolo, il cerchio-freccia (tell di legacy)
     si spegne — one gesture, micro-pattern mai gemelli tra shell. */
  body[data-shell="r3-ritratto"] .btn {
    background: var(--accent); color: var(--on-accent);
    font-size: 12.5px; letter-spacing: 0.12em; text-transform: uppercase;
    padding: 16px 30px;
  }
  body[data-shell="r3-ritratto"] .btn .freccia { display: none; }
  /* focus ring leggibile sul fondo scuro dell'hero (l'accent-ink sparisce) */
  body[data-shell="r3-ritratto"] nav a:focus-visible,
  body[data-shell="r3-ritratto"] header a:focus-visible { outline-color: var(--accent-on-dark); }
  body[data-shell="r3-ritratto"] .btn-chiaro { background: var(--ground); color: var(--ink); }

  /* timeline-dot (R3 micro-dettaglio 2): i passi di PrimaVolta — la conversione,
     seconda sezione su questa shell — diventano una timeline verticale con dot,
     la linea che guida l'occhio dal hero al "come funziona" */
  body[data-shell="r3-ritratto"] .prima { padding-block: var(--spazio-m); }
  body[data-shell="r3-ritratto"] .passi {
    display: block; position: relative; max-width: 620px;
  }
  body[data-shell="r3-ritratto"] .passi::before {
    content: ''; position: absolute; left: 8px; top: 8px; bottom: 8px; width: 2px;
    background: var(--cornice, color-mix(in srgb, var(--accent) 30%, white));
  }
  body[data-shell="r3-ritratto"] .passi li {
    border-top: 0; position: relative; padding: 0 0 clamp(26px, 3.5vw, 36px) 44px;
  }
  body[data-shell="r3-ritratto"] .passi li:last-child { padding-bottom: 0; }
  body[data-shell="r3-ritratto"] .passi li::before {
    content: ''; position: absolute; left: 2px; top: 7px;
    width: 14px; height: 14px; border-radius: 50%; background: var(--accent);
  }
  /* il numero serif grande è grammatica delle altre shell: qui il conteggio lo fa il dot */
  body[data-shell="r3-ritratto"] .passi .num { display: none; }.barra-pill[data-astro-cid-dj2ilmr7] {
  position: relative;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 16px;
  margin: var(--pagina-inset) var(--pagina-inset) 0;
  padding: 10px 12px 10px clamp(16px, 2.4vw, 30px);
  background: var(--ground-alt);
  border: 1px solid var(--line-soft);
  border-radius: var(--radius-pill);
}

.voci[data-astro-cid-dj2ilmr7] {
  display: flex;
  gap: clamp(16px, 2.4vw, 30px);
}

.voci[data-astro-cid-dj2ilmr7] a[data-astro-cid-dj2ilmr7] {
  font-size: 14.5px;
  font-weight: 500;
  text-decoration: none;
  color: var(--ink);
  padding-block: 15px;
  margin-block: -15px;
  transition: color .3s var(--ease);
}

.voci[data-astro-cid-dj2ilmr7] a[data-astro-cid-dj2ilmr7]:hover {
  color: var(--accent-ink);
}

.marchio[data-astro-cid-dj2ilmr7] {
  grid-column: 2;
  justify-self: center;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 19px;
  letter-spacing: -.02em;
  text-decoration: none;
  color: var(--ink);
  padding-block: 12px;
  margin-block: -12px;
}

.marchio-logo[data-astro-cid-dj2ilmr7] {
  height: 26px;
  width: auto;
  max-width: 140px;
  object-fit: contain;
}

.pill-cta[data-astro-cid-dj2ilmr7] {
  grid-column: 3;
  justify-self: end;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  background: var(--card-forte, var(--card));
  color: var(--ink);
  border-radius: var(--radius-pill);
  padding: 12px 20px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transition: background .3s var(--ease);
}

.pill-cta[data-astro-cid-dj2ilmr7]:hover {
  background: var(--accent);
  color: var(--on-accent);
}

.punto[data-astro-cid-dj2ilmr7] {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--accent);
}

.pill-cta[data-astro-cid-dj2ilmr7]:hover .punto[data-astro-cid-dj2ilmr7] {
  background: var(--on-accent);
}

@media (width <= 760px) {
  .barra-pill[data-astro-cid-dj2ilmr7] {
    grid-template-columns: 1fr auto;
  }

  .voci[data-astro-cid-dj2ilmr7] {
    display: none;
  }

  .marchio[data-astro-cid-dj2ilmr7] {
    grid-column: 1;
    justify-self: start;
  }

  .pill-cta[data-astro-cid-dj2ilmr7] {
    grid-column: 2;
  }
}
.hero[data-astro-cid-t7aeu66h] {
  position: relative;
  padding-top: clamp(30px, 5vw, 62px);
  container-type: inline-size;
}

.centro[data-astro-cid-t7aeu66h] {
  max-width: 780px;
  margin-inline: auto;
  text-align: center;
  padding-inline: clamp(20px, 4vw, 40px);
}

.titolo[data-astro-cid-t7aeu66h] {
  margin-top: 18px;
  font-size: clamp(34px, 5.4cqw, 62px);
  letter-spacing: -.03em;
}

.titolo[data-astro-cid-t7aeu66h] .riga[data-astro-cid-t7aeu66h] {
  display: block;
}

.titolo[data-astro-cid-t7aeu66h] em[data-astro-cid-t7aeu66h] {
  color: var(--accent-ink);
}

.sub[data-astro-cid-t7aeu66h] {
  margin-top: clamp(16px, 2vw, 22px);
  margin-inline: auto;
  max-width: 52ch;
  color: var(--muted);
  font-size: clamp(15.5px, 1.8vw, 17.5px);
}

.azioni[data-astro-cid-t7aeu66h] {
  margin-top: clamp(24px, 3vw, 34px);
  display: flex;
  gap: 22px;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}

.pill-primaria[data-astro-cid-t7aeu66h] {
  background: var(--accent);
  color: var(--on-accent);
  border-radius: var(--radius-pill);
  padding: 15px 30px;
  font-weight: 600;
  font-size: 15px;
  text-decoration: none;
  transition: filter .3s var(--ease);
}

.pill-primaria[data-astro-cid-t7aeu66h]:hover {
  filter: brightness(1.08);
}

.tel[data-astro-cid-t7aeu66h] {
  font-weight: 600;
  font-size: 15px;
  text-decoration: none;
  border-bottom: 1.5px solid var(--line);
}

.tel[data-astro-cid-t7aeu66h]:hover {
  border-color: var(--accent);
}

.sat[data-astro-cid-t7aeu66h] {
  background: var(--ground-alt);
  border: 1px solid var(--line-soft);
  border-radius: 20px;
  padding: 14px 18px;
  box-shadow: 0 18px 40px -30px #28201866;
}

.sat-sx[data-astro-cid-t7aeu66h] {
  display: flex;
  align-items: center;
  gap: 12px;
  border-radius: var(--radius-pill);
  padding: 12px 22px 12px 12px;
}

.sat-icona[data-astro-cid-t7aeu66h] {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  flex: none;
  display: grid;
  place-items: center;
  background: var(--card-forte, var(--card));
  color: var(--accent-ink);
  font-size: 15px;
}

.sat-forte[data-astro-cid-t7aeu66h] {
  font-weight: 600;
  font-size: 14px;
  line-height: 1.35;
}

.sat-nota[data-astro-cid-t7aeu66h] {
  font-size: 12.5px;
  color: var(--muted);
}

.sat-dx[data-astro-cid-t7aeu66h] {
  max-width: 300px;
}

.sat-stelle[data-astro-cid-t7aeu66h] {
  color: var(--accent);
  font-size: 12px;
  letter-spacing: 2.5px;
}

.sat-quote[data-astro-cid-t7aeu66h] {
  margin: 8px 0 0;
  font-size: 13.5px;
  line-height: 1.55;
  color: var(--ink);
}

.sat-chi[data-astro-cid-t7aeu66h] {
  margin-top: 10px;
  font-size: 12.5px;
  color: var(--muted);
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.sat-chi[data-astro-cid-t7aeu66h] b[data-astro-cid-t7aeu66h] {
  color: var(--ink);
}

@media (width >= 1000px) {
  .sat[data-astro-cid-t7aeu66h] {
    position: absolute;
    z-index: 2;
  }

  .sat-sx[data-astro-cid-t7aeu66h] {
    top: clamp(96px, 11vw, 150px);
    left: clamp(20px, 4vw, 56px);
  }

  .sat-dx[data-astro-cid-t7aeu66h] {
    top: clamp(180px, 21vw, 290px);
    right: clamp(20px, 4vw, 56px);
  }
}

@media (width <= 999px) {
  .sat[data-astro-cid-t7aeu66h] {
    margin: 16px clamp(20px, 4vw, 40px) 0;
  }

  .sat-dx[data-astro-cid-t7aeu66h] {
    max-width: none;
  }
}

.banda[data-astro-cid-t7aeu66h] {
  position: relative;
  margin: clamp(34px, 5vw, 66px) var(--pagina-inset) 0;
  border-radius: clamp(22px, 2.4vw, 34px);
  overflow: visible;
}

.banda-foto[data-astro-cid-t7aeu66h] {
  width: 100%;
  height: clamp(260px, 46vh, 520px);
  object-fit: cover;
  border-radius: inherit;
}

.tacca[data-astro-cid-t7aeu66h] {
  position: absolute;
  left: 50%;
  bottom: -21px;
  margin-left: -130px;
  width: 260px;
  height: 42px;
  display: grid;
  place-items: center;
  background: var(--ground);
  color: var(--ink);
  border: 1px solid var(--line-soft);
  border-radius: var(--radius-pill);
  font-size: 13.5px;
  font-weight: 600;
  text-decoration: none;
}

.tacca[data-astro-cid-t7aeu66h]:hover {
  background: var(--card-forte, var(--card));
}

.tag[data-astro-cid-t7aeu66h] {
  position: absolute;
  left: clamp(16px, 2vw, 28px);
  bottom: clamp(16px, 2vw, 26px);
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  max-width: 62%;
}

.tag-pill[data-astro-cid-t7aeu66h] {
  rotate: var(--r);
  display: inline-flex;
  align-items: center;
  padding: 8px 16px;
  border-radius: var(--radius-pill);
  background: #ffffffd1;
  backdrop-filter: blur(14px) saturate(1.1);
  -webkit-backdrop-filter: blur(14px) saturate(1.1);
  color: var(--ink);
  font-size: 12.5px;
  font-weight: 600;
}

@media (width <= 860px) {
  .tag[data-astro-cid-t7aeu66h] {
    display: none;
  }
}

.hero-tipografica[data-astro-cid-t7aeu66h] {
  padding-bottom: clamp(40px, 6vw, 80px);
}

@media (prefers-reduced-motion: no-preference) {
  html.js .kicker[data-astro-cid-t7aeu66h] {
    animation: c-fade .6s var(--ease) both;
  }

  html.js .titolo[data-astro-cid-t7aeu66h] .riga[data-astro-cid-t7aeu66h] {
    animation: c-su .85s var(--ease) both;
    animation-delay: calc(80ms + var(--i) * .1s);
  }

  html.js .sub[data-astro-cid-t7aeu66h], html.js .azioni[data-astro-cid-t7aeu66h] {
    animation: c-fade .6s var(--ease) .45s both;
  }

  html.js .sat[data-astro-cid-t7aeu66h] {
    animation: c-fade .6s var(--ease) .7s both;
  }

  html.js .banda-foto[data-astro-cid-t7aeu66h] {
    animation: c-scala 1s var(--ease) both;
  }
}

@keyframes c-su {
  from {
    opacity: 0;
    transform: translateY(16px);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes c-fade {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes c-scala {
  from {
    transform: scale(1.03);
  }

  to {
    transform: none;
  }
}
/* ── Micro-pattern shell c1-satelliti (contratto studio/05) ──────────────
     Scoped su data-shell: mai condivisi con r3/r4. Token di pagina della shell:
     l'inset è l'unità di misura della silhouette (barra, band, cartolina finale). */
  body[data-shell="c1-satelliti"] { --pagina-inset: clamp(14px, 1.8vw, 26px); }

  /* pill-label-dot: l'eyebrow non è più hairline+caps ma una PILL con punto */
  body[data-shell="c1-satelliti"] .kicker {
    background: var(--card); border-radius: var(--radius-pill);
    padding: 7px 16px 7px 13px; gap: 9px;
    font-size: 11px; letter-spacing: 0.14em; color: var(--accent-ink);
  }
  body[data-shell="c1-satelliti"] .kicker::before {
    width: 6px; height: 6px; border-radius: 50%; background: var(--accent);
  }

  /* card-language: le sezioni condivise diventano card tinte a radius XL (niente
     ombra calda: quello è il tell di r4) */
  body[data-shell="c1-satelliti"] .passi li,
  body[data-shell="c1-satelliti"] .tema {
    border-top: 0; background: var(--card); border-radius: var(--radius);
    padding: clamp(22px, 3vw, 30px);
  }
  body[data-shell="c1-satelliti"] .passi .num {
    display: inline-grid; place-items: center;
    width: 46px; height: 46px; border-radius: 50%;
    background: var(--ground-alt); color: var(--accent-ink); font-size: 20px;
  }
  /* il CTA composto pill+cerchio-freccia resta, ma piatto: qui il tondo è dappertutto */
  body[data-shell="c1-satelliti"] .btn { background: var(--accent); color: var(--on-accent); }
  body[data-shell="c1-satelliti"] .btn .freccia { background: rgb(255 255 255 / 0.22); color: var(--on-accent); }

  /* chiusura-cartolina: CTA finale + footer sono UNA sola card inset con la foto
     che sfuma dentro. Ridefinire i tre token "su scuro" ribalta l'intera chiusura
     in chiave chiara senza toccare i componenti condivisi. */
  body[data-shell="c1-satelliti"] .fine,
  body[data-shell="c1-satelliti"] .piede {
    --on-dark: var(--ink);
    --on-dark-muted: var(--muted);
    --accent-on-dark: var(--accent-ink);
    background: var(--card-forte, var(--card));
    margin-inline: var(--pagina-inset);
  }
  body[data-shell="c1-satelliti"] .fine {
    border-radius: clamp(26px, 3vw, 40px) clamp(26px, 3vw, 40px) 0 0;
    padding-block: clamp(70px, 9vw, 120px) clamp(50px, 6vw, 80px);
  }
  body[data-shell="c1-satelliti"] .fine-inner { text-align: left; }
  body[data-shell="c1-satelliti"] .fine .azioni { justify-content: flex-start; }
  /* il testo resta nella metà pulita della cartolina: mai parole sopra la foto */
  body[data-shell="c1-satelliti"] .fine-inner > * { max-width: min(620px, 52%); }
  /* titolo della cartolina: sta in metà pagina, quindi scende di corpo (il clamp condiviso
     è tarato su una chiusura full-bleed) */
  body[data-shell="c1-satelliti"] .fine h2 { font-size: clamp(34px, 4.4vw, 54px); }
  /* la foto della cartolina sta a destra e sfuma: non è un wash grigio di fondo */
  body[data-shell="c1-satelliti"] .fine-foto {
    opacity: 0.9; filter: none;
    left: auto; right: 0; width: 58%;
    mask-image: linear-gradient(to right, transparent, #000 42%);
    -webkit-mask-image: linear-gradient(to right, transparent, #000 42%);
  }
  body[data-shell="c1-satelliti"] .piede {
    border-radius: 0 0 clamp(26px, 3vw, 40px) clamp(26px, 3vw, 40px);
    margin-bottom: var(--pagina-inset);
    padding-block: clamp(36px, 4.4vw, 48px) clamp(40px, 5vw, 56px);
  }
  body[data-shell="c1-satelliti"] .piede-inner { border-top-color: color-mix(in srgb, var(--ink) 14%, transparent); }
  body[data-shell="c1-satelliti"] .piede .nome { font-style: normal; font-weight: 600; }.barra[data-astro-cid-vqgqyk32] {
  border-bottom: 1px solid var(--line);
  background: var(--ground);
}

.barra-inner[data-astro-cid-vqgqyk32] {
  padding-block: clamp(26px, 3.4vw, 44px);
}

.barra-cit[data-astro-cid-vqgqyk32] {
  font-family: var(--font-display);
  font-style: var(--italic);
  font-size: 17.5px;
}

.barra-cit[data-astro-cid-vqgqyk32] span[data-astro-cid-vqgqyk32] {
  font-family: var(--font-body);
  font-style: normal;
  font-size: 13px;
  color: var(--muted);
  white-space: nowrap;
}

.barra-num[data-astro-cid-vqgqyk32] {
  font-size: 15px;
  color: var(--muted);
}

.barra-num[data-astro-cid-vqgqyk32] b[data-astro-cid-vqgqyk32] {
  color: var(--ink);
}
.prima[data-astro-cid-jtfos4v2] {
  padding-block: 0 var(--spazio-m);
}

header + .prima[data-astro-cid-jtfos4v2] {
  padding-top: var(--spazio-l);
}

.prima[data-astro-cid-jtfos4v2] h2[data-astro-cid-jtfos4v2] {
  font-size: var(--titolo-sezione);
  margin-top: 14px;
}

.passi[data-astro-cid-jtfos4v2] {
  list-style: none;
  margin: clamp(32px, 5vw, 56px) 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(24px, 4vw, 48px);
}

@media (width <= 720px) {
  .passi[data-astro-cid-jtfos4v2] {
    grid-template-columns: 1fr;
  }
}

.passi[data-astro-cid-jtfos4v2] li[data-astro-cid-jtfos4v2] {
  border-top: 1px solid var(--line);
  padding-top: 20px;
}

.num[data-astro-cid-jtfos4v2] {
  font-family: var(--font-display);
  font-size: clamp(30px, 4vw, 44px);
  color: var(--accent-ink);
  line-height: 1;
}

.passi[data-astro-cid-jtfos4v2] p[data-astro-cid-jtfos4v2] {
  margin-top: 12px;
  color: var(--muted);
  line-height: 1.65;
  font-size: 15.5px;
}

.prima-cta[data-astro-cid-jtfos4v2] {
  margin-top: 34px;
}

.tessere[data-astro-cid-jtfos4v2] {
  margin-top: clamp(32px, 5vw, 56px);
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(24px, 4vw, 48px);
}

.tessere[data-astro-cid-jtfos4v2] img[data-astro-cid-jtfos4v2] {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: var(--radius);
}

@media (width <= 720px) {
  .tessere[data-astro-cid-jtfos4v2] {
    grid-template-columns: 1fr;
  }
}
.serv[data-astro-cid-dz6gknxj] {
  padding-block: 0 var(--spazio-m);
}

header + .serv[data-astro-cid-dz6gknxj] {
  padding-top: var(--spazio-l);
}

.testata[data-astro-cid-dz6gknxj] {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 24px;
}

.serv[data-astro-cid-dz6gknxj] h2[data-astro-cid-dz6gknxj] {
  font-size: var(--titolo-sezione);
  margin-top: 16px;
}

.nota[data-astro-cid-dz6gknxj] {
  color: var(--muted);
  font-style: var(--italic);
  font-family: var(--font-display);
  font-size: 18px;
}

.lista[data-astro-cid-dz6gknxj] {
  margin-top: clamp(36px, 6vw, 64px);
  border-top: 1px solid var(--line);
}

.categoria[data-astro-cid-dz6gknxj] {
  margin-top: clamp(36px, 5vw, 56px);
  font-size: 13px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 700;
}

.lista[data-astro-cid-dz6gknxj].compatta {
  margin-top: 18px;
}

.lista[data-astro-cid-dz6gknxj].compatta .riga[data-astro-cid-dz6gknxj] {
  padding-block: clamp(18px, 2.6vw, 26px);
}

.riga[data-astro-cid-dz6gknxj] {
  display: grid;
  grid-template-columns: 1fr;
  gap: 22px;
  text-decoration: none;
  padding: clamp(28px, 4.5vw, 46px) 6px;
  border-bottom: 1px solid var(--line);
  transition: background .4s var(--ease);
}

.riga[data-astro-cid-dz6gknxj]:has(.riga-foto) {
  grid-template-columns: 70px minmax(0, .9fr) minmax(0, 1.1fr);
  align-items: center;
}

@media (width <= 680px) {
  .riga[data-astro-cid-dz6gknxj]:has(.riga-foto) {
    grid-template-columns: 1fr;
  }

  .riga-foto[data-astro-cid-dz6gknxj] {
    order: -1;
  }
}

.riga[data-astro-cid-dz6gknxj]:hover {
  background: var(--ground-alt);
}

.riga-num[data-astro-cid-dz6gknxj] {
  font-family: var(--font-display);
  font-style: var(--italic);
  font-size: clamp(22px, 2vw, 32px);
  color: var(--accent-ink);
  opacity: .85;
}

.riga-foto[data-astro-cid-dz6gknxj] {
  border-radius: var(--radius);
  aspect-ratio: 4 / 3;
  object-fit: cover;
  width: 100%;
}

body[data-photo="arco"] .riga[data-astro-cid-dz6gknxj]:has(.riga-foto) {
  grid-template-columns: 70px minmax(0, 1.2fr) minmax(0, .8fr);
}

body[data-photo="arco"] .riga-foto[data-astro-cid-dz6gknxj] {
  border-radius: 999px 999px var(--radius) var(--radius);
  aspect-ratio: 3 / 3.6;
}

.riga-testa[data-astro-cid-dz6gknxj] {
  display: flex;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
}

.riga[data-astro-cid-dz6gknxj] h3[data-astro-cid-dz6gknxj] {
  font-size: clamp(28px, 4.2vw, 40px);
}

.pref[data-astro-cid-dz6gknxj] {
  font-size: 10.5px;
  letter-spacing: .14em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--accent-ink);
  border: 1px solid var(--accent);
  border-radius: var(--radius-pill);
  padding: 5px 12px;
}

.menz[data-astro-cid-dz6gknxj] {
  font-size: 10.5px;
  letter-spacing: .14em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--muted);
  border: 1px solid var(--line);
  border-radius: var(--radius-pill);
  padding: 5px 12px;
}

.beneficio[data-astro-cid-dz6gknxj] {
  margin-top: 8px;
  font-family: var(--font-display);
  font-style: var(--italic);
  font-size: clamp(18px, 2.4vw, 22px);
  color: var(--accent-ink);
}

.desc[data-astro-cid-dz6gknxj] {
  margin-top: 10px;
  color: var(--muted);
  max-width: 56ch;
  font-size: 15.5px;
}

.riga-quote[data-astro-cid-dz6gknxj] {
  margin-top: 12px;
  font-family: var(--font-display);
  font-style: var(--italic);
  font-size: 15.5px;
  color: var(--accent-ink);
  max-width: 52ch;
}

.riga-quote[data-astro-cid-dz6gknxj] span[data-astro-cid-dz6gknxj] {
  font-family: var(--font-body);
  font-style: normal;
  font-size: 12.5px;
  color: var(--muted);
}

.riga-coda[data-astro-cid-dz6gknxj] {
  margin-top: 16px;
  display: flex;
  align-items: center;
  gap: 18px;
}

.pratica[data-astro-cid-dz6gknxj] {
  font-size: 12.5px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 700;
}

.fre[data-astro-cid-dz6gknxj] {
  margin-left: auto;
  margin-right: clamp(6px, 2vw, 22px);
  width: 42px;
  height: 42px;
  border: 1.5px solid var(--line);
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-size: 17px;
  color: var(--accent-ink);
  transition: border-color .35s var(--ease), background .35s var(--ease), transform .35s var(--ease);
}

.riga[data-astro-cid-dz6gknxj]:hover .fre[data-astro-cid-dz6gknxj] {
  border-color: var(--accent);
  background: var(--accent);
  color: var(--on-accent);
  transform: translateX(4px);
}

.acc[data-astro-cid-dz6gknxj] {
  margin-top: clamp(30px, 4.4vw, 52px);
  display: grid;
  gap: 14px;
}

.acc-riga[data-astro-cid-dz6gknxj] {
  background: var(--ground-alt);
  border: 1px solid var(--line-soft);
  border-radius: var(--radius);
  padding: clamp(18px, 2.4vw, 26px) clamp(18px, 2.6vw, 32px);
}

.acc-riga[data-astro-cid-dz6gknxj][open] {
  background: var(--card, var(--ground-alt));
  border-color: #0000;
}

.acc-riga[data-astro-cid-dz6gknxj] summary[data-astro-cid-dz6gknxj] {
  display: grid;
  grid-template-columns: 1.1fr 1fr auto;
  gap: clamp(16px, 3vw, 40px);
  align-items: center;
  cursor: pointer;
  list-style: none;
  padding-block: 6px;
}

.acc-riga[data-astro-cid-dz6gknxj] summary[data-astro-cid-dz6gknxj]::-webkit-details-marker {
  display: none;
}

.acc-nome[data-astro-cid-dz6gknxj] {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}

.acc-riga[data-astro-cid-dz6gknxj] h3[data-astro-cid-dz6gknxj] {
  font-size: clamp(22px, 3.2vw, 34px);
}

.acc-desc[data-astro-cid-dz6gknxj] {
  color: var(--muted);
  font-size: 15px;
  line-height: 1.6;
}

.acc-segno[data-astro-cid-dz6gknxj] {
  position: relative;
  width: 40px;
  height: 40px;
  flex: none;
  border-radius: 50%;
  background: var(--ground-alt);
  border: 1px solid var(--line-soft);
}

.acc-riga[data-astro-cid-dz6gknxj][open] .acc-segno[data-astro-cid-dz6gknxj] {
  background: var(--accent);
  border-color: #0000;
}

.acc-segno[data-astro-cid-dz6gknxj]:before, .acc-segno[data-astro-cid-dz6gknxj]:after {
  content: "";
  position: absolute;
  inset: 50% 12px auto;
  height: 1.5px;
  margin-top: -.75px;
  background: var(--ink);
  transition: opacity .3s var(--ease);
}

.acc-segno[data-astro-cid-dz6gknxj]:after {
  rotate: 90deg;
}

.acc-riga[data-astro-cid-dz6gknxj][open] .acc-segno[data-astro-cid-dz6gknxj]:before, .acc-riga[data-astro-cid-dz6gknxj][open] .acc-segno[data-astro-cid-dz6gknxj]:after {
  background: var(--on-accent);
}

.acc-riga[data-astro-cid-dz6gknxj][open] .acc-segno[data-astro-cid-dz6gknxj]:after {
  opacity: 0;
}

.acc-corpo[data-astro-cid-dz6gknxj] {
  display: grid;
  grid-template-columns: 1fr minmax(200px, 300px);
  gap: clamp(20px, 3vw, 40px);
  align-items: center;
  margin-top: clamp(18px, 2.4vw, 26px);
}

.acc-foto[data-astro-cid-dz6gknxj] {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  max-height: 230px;
  object-fit: cover;
  border-radius: calc(var(--radius) - 6px);
}

.acc-corpo[data-astro-cid-dz6gknxj] .pratica[data-astro-cid-dz6gknxj] {
  margin-top: 14px;
}

.acc-corpo[data-astro-cid-dz6gknxj] .btn-testo[data-astro-cid-dz6gknxj] {
  margin-top: 18px;
}

@media (width <= 760px) {
  .acc-riga[data-astro-cid-dz6gknxj] summary[data-astro-cid-dz6gknxj] {
    grid-template-columns: 1fr auto;
  }

  .acc-desc[data-astro-cid-dz6gknxj] {
    display: none;
  }

  .acc-corpo[data-astro-cid-dz6gknxj] {
    grid-template-columns: 1fr;
  }
}

.coda[data-astro-cid-dz6gknxj] {
  margin-top: 34px;
  color: var(--muted);
  font-size: 15px;
}

@media (width <= 640px) {
  .testata[data-astro-cid-dz6gknxj] {
    flex-direction: column;
    align-items: flex-start;
  }

  .nota[data-astro-cid-dz6gknxj] {
    display: none;
  }
}
.contatore[data-astro-cid-c3jabkmm] {
  margin-top: clamp(44px, 6vw, 72px);
  display: flex;
  align-items: center;
  gap: clamp(18px, 3vw, 34px);
  flex-wrap: wrap;
}

.contatore[data-astro-cid-c3jabkmm].centro {
  justify-content: center;
  text-align: left;
}

.contatore[data-astro-cid-c3jabkmm].sinistra {
  justify-content: flex-start;
}

.voto[data-astro-cid-c3jabkmm] {
  font-family: var(--font-display);
  font-size: clamp(58px, 8vw, 104px);
  line-height: .9;
  letter-spacing: -.03em;
  color: var(--accent-ink);
}

.voto[data-astro-cid-c3jabkmm] .su[data-astro-cid-c3jabkmm] {
  font-size: .36em;
  opacity: .5;
  margin-left: 2px;
}

.dettaglio[data-astro-cid-c3jabkmm] {
  display: grid;
  gap: 8px;
}

.stelle[data-astro-cid-c3jabkmm] {
  color: var(--accent-ink);
  font-size: 12.5px;
  letter-spacing: 3px;
}

.riga-conto[data-astro-cid-c3jabkmm] {
  font-size: 14.5px;
  color: var(--muted);
}

.riga-conto[data-astro-cid-c3jabkmm] [data-astro-cid-c3jabkmm][data-count] {
  font-weight: 700;
  color: var(--ink);
}
.rec[data-astro-cid-tpzsxsj3] {
  padding-block: var(--spazio-m);
}

.voce[data-astro-cid-tpzsxsj3] {
  margin: 0;
  padding-block: clamp(30px, 5vh, 56px);
  border-bottom: 1px solid var(--line);
  display: grid;
  grid-template-columns: clamp(60px, 7vw, 100px) 1fr;
  gap: clamp(12px, 3vw, 40px);
}

.voce[data-astro-cid-tpzsxsj3]:first-of-type {
  margin-top: clamp(28px, 4vw, 44px);
  border-top: 1px solid var(--line);
}

.segno[data-astro-cid-tpzsxsj3] {
  font-family: var(--font-display);
  font-size: clamp(56px, 6vw, 104px);
  line-height: .62;
  color: var(--accent);
  margin-top: .3em;
}

blockquote[data-astro-cid-tpzsxsj3] {
  margin: 0;
  font-family: var(--font-display);
  font-style: var(--italic);
  font-size: clamp(24px, 3.1vw, 46px);
  line-height: 1.18;
  max-width: 26ch;
  text-wrap: balance;
}

figcaption[data-astro-cid-tpzsxsj3] {
  margin-top: 18px;
  font-size: 12.5px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--muted);
}

@media (width <= 680px) {
  .voce[data-astro-cid-tpzsxsj3] {
    grid-template-columns: 1fr;
  }

  .segno[data-astro-cid-tpzsxsj3] {
    display: none;
  }
}
.rec[data-astro-cid-l5arnuoo] {
  padding-block: var(--spazio-m);
}

.testata[data-astro-cid-l5arnuoo] {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
  margin-bottom: clamp(26px, 4vw, 44px);
}

.nota[data-astro-cid-l5arnuoo] {
  font-size: 14px;
  color: var(--muted);
}

.voce[data-astro-cid-l5arnuoo] {
  margin: 0;
  background: var(--card);
  border: 1px solid var(--line-soft);
  border-radius: var(--radius);
  padding: clamp(24px, 3vw, 38px);
  display: grid;
  align-content: start;
  gap: 14px;
}

.stelle[data-astro-cid-l5arnuoo] {
  color: var(--accent-ink);
  font-size: 12.5px;
  letter-spacing: 3px;
}

blockquote[data-astro-cid-l5arnuoo] {
  margin: 0;
  font-family: var(--font-display);
  font-style: var(--italic);
  font-size: clamp(19px, 1.9vw, 27px);
  line-height: 1.32;
}

figcaption[data-astro-cid-l5arnuoo] {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 14px;
  margin-top: 4px;
}

.avatar[data-astro-cid-l5arnuoo] {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  flex: none;
  background: var(--accent);
  color: var(--on-accent);
  display: grid;
  place-items: center;
  font-family: var(--font-display);
  font-size: 15px;
}

.quando[data-astro-cid-l5arnuoo] {
  color: var(--muted);
  font-size: 12.5px;
}
.rec[data-astro-cid-hibw7flk] {
  padding-block: var(--spazio-m);
}

.griglia[data-astro-cid-hibw7flk] {
  display: grid;
  grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr);
  gap: clamp(30px, 5vw, 80px);
  align-items: start;
}

.testa[data-astro-cid-hibw7flk] {
  position: sticky;
  top: clamp(90px, 12vh, 130px);
}

.testa[data-astro-cid-hibw7flk] h2[data-astro-cid-hibw7flk] {
  margin-top: 20px;
  font-size: var(--titolo-sezione);
}

.colonne[data-astro-cid-hibw7flk] {
  position: relative;
  columns: 2;
  column-gap: clamp(14px, 2vw, 24px);
  padding-bottom: clamp(70px, 9vw, 110px);
}

.colonne[data-astro-cid-hibw7flk]:after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: clamp(150px, 20vw, 240px);
  background: linear-gradient(to bottom, transparent, var(--ground) 78%);
  pointer-events: none;
}

.voce[data-astro-cid-hibw7flk] {
  break-inside: avoid;
  margin: 0 0 clamp(14px, 2vw, 24px);
  background: var(--card);
  border: 1px solid var(--line-soft);
  border-radius: var(--radius);
  padding: clamp(20px, 2.4vw, 30px);
  display: grid;
  gap: 12px;
}

.stelle[data-astro-cid-hibw7flk] {
  color: var(--accent-ink);
  font-size: 12px;
  letter-spacing: 3px;
}

blockquote[data-astro-cid-hibw7flk] {
  margin: 0;
  font-size: 15.5px;
  line-height: 1.68;
}

figcaption[data-astro-cid-hibw7flk] {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13.5px;
}

.avatar[data-astro-cid-hibw7flk] {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  flex: none;
  background: var(--accent);
  color: var(--on-accent);
  display: grid;
  place-items: center;
  font-family: var(--font-display);
  font-size: 14px;
}

.quando[data-astro-cid-hibw7flk] {
  color: var(--muted);
  font-size: 12.5px;
}

.pillola[data-astro-cid-hibw7flk] {
  position: absolute;
  z-index: 1;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  background: var(--ink);
  color: var(--ground);
  text-decoration: none;
  border-radius: var(--radius-pill);
  padding: 14px 26px;
  font-weight: 700;
  font-size: 14.5px;
  white-space: nowrap;
}

@media (width <= 900px) {
  .griglia[data-astro-cid-hibw7flk] {
    grid-template-columns: 1fr;
  }

  .testa[data-astro-cid-hibw7flk] {
    position: static;
  }

  .colonne[data-astro-cid-hibw7flk] {
    columns: 1;
  }
}
.rec[data-astro-cid-33nqv5zh] {
  padding-block: var(--spazio-m);
}

.testata[data-astro-cid-33nqv5zh] {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
  margin-bottom: clamp(26px, 4vw, 44px);
}

.nota[data-astro-cid-33nqv5zh] {
  font-size: 14px;
  color: var(--muted);
}

.tris[data-astro-cid-33nqv5zh] {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(14px, 2vw, 26px);
}

.voce[data-astro-cid-33nqv5zh] {
  margin: 0;
  padding: clamp(24px, 2.8vw, 36px);
  border: 1px solid var(--line);
  border-radius: 0;
  background: none;
  display: grid;
  align-content: start;
  gap: 16px;
}

.stelle[data-astro-cid-33nqv5zh] {
  color: var(--accent-ink);
  font-size: 12.5px;
  letter-spacing: 3px;
}

blockquote[data-astro-cid-33nqv5zh] {
  margin: 0;
  font-size: 16px;
  line-height: 1.7;
}

figcaption[data-astro-cid-33nqv5zh] {
  display: flex;
  align-items: baseline;
  gap: 10px;
  font-size: 13.5px;
  margin-top: 4px;
}

.quando[data-astro-cid-33nqv5zh] {
  color: var(--muted);
  font-size: 12.5px;
}

@media (width <= 900px) {
  .tris[data-astro-cid-33nqv5zh] {
    grid-template-columns: 1fr;
  }
}
.rec[data-astro-cid-ugjab25d] {
  padding-block: var(--spazio-m);
}

.collage[data-astro-cid-ugjab25d] {
  margin-top: clamp(30px, 4vw, 50px);
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr) minmax(0, 1fr);
  gap: clamp(20px, 3vw, 54px);
  align-items: center;
}

.lato[data-astro-cid-ugjab25d] {
  display: grid;
  gap: clamp(22px, 3vw, 40px);
}

.perno[data-astro-cid-ugjab25d] {
  margin: 0;
  text-align: center;
}

.perno[data-astro-cid-ugjab25d] blockquote[data-astro-cid-ugjab25d] {
  margin: 0;
  font-family: var(--font-display);
  font-style: var(--italic);
  font-size: clamp(30px, 4vw, 68px);
  line-height: 1.12;
  text-wrap: balance;
}

.perno[data-astro-cid-ugjab25d] figcaption[data-astro-cid-ugjab25d] {
  margin-top: 24px;
  font-size: 12.5px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--muted);
}

.scheggia[data-astro-cid-ugjab25d] {
  margin: 0;
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: clamp(16px, 1.8vw, 24px);
  display: grid;
  gap: 10px;
}

.scheggia[data-astro-cid-ugjab25d] blockquote[data-astro-cid-ugjab25d] {
  margin: 0;
  font-size: 14.5px;
  line-height: 1.6;
}

.scheggia[data-astro-cid-ugjab25d] figcaption[data-astro-cid-ugjab25d] {
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 13px;
}

.stelle[data-astro-cid-ugjab25d] {
  color: var(--accent-ink);
  font-size: 11.5px;
  letter-spacing: 2.5px;
}

.avatar[data-astro-cid-ugjab25d] {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  flex: none;
  background: var(--accent);
  color: var(--on-accent);
  display: grid;
  place-items: center;
  font-family: var(--font-display);
  font-size: 13px;
}

.tessera[data-astro-cid-ugjab25d] {
  margin: 0;
}

.tessera[data-astro-cid-ugjab25d] img[data-astro-cid-ugjab25d] {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  border-radius: var(--radius);
  display: block;
}

.tessera[data-astro-cid-ugjab25d] figcaption[data-astro-cid-ugjab25d] {
  margin-top: 10px;
  font-size: 12px;
  line-height: 1.45;
  color: var(--muted);
  max-width: 30ch;
}

@media (width >= 901px) {
  .sx[data-astro-cid-ugjab25d] > [data-astro-cid-ugjab25d]:nth-child(odd) {
    transform: translate(-6%, -26px);
  }

  .sx[data-astro-cid-ugjab25d] > [data-astro-cid-ugjab25d]:nth-child(2n) {
    transform: translate(4%, 30px);
  }

  .dx[data-astro-cid-ugjab25d] > [data-astro-cid-ugjab25d]:nth-child(odd) {
    transform: translate(8%, 34px);
  }

  .dx[data-astro-cid-ugjab25d] > [data-astro-cid-ugjab25d]:nth-child(2n) {
    transform: translate(-4%, -22px);
  }

  .sx[data-astro-cid-ugjab25d] .tessera[data-astro-cid-ugjab25d] {
    transform: translate(4%, 30px) rotate(1.4deg);
  }

  .dx[data-astro-cid-ugjab25d] .tessera[data-astro-cid-ugjab25d] {
    transform: translate(-4%, 30px) rotate(-1.4deg);
  }
}

@media (width <= 900px) {
  .collage[data-astro-cid-ugjab25d] {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .perno[data-astro-cid-ugjab25d] {
    text-align: left;
    margin-block: 8px;
  }

  .lato[data-astro-cid-ugjab25d] {
    gap: 16px;
  }

  .tessera[data-astro-cid-ugjab25d] {
    max-width: 260px;
  }
}
.rec[data-astro-cid-7gxzdssk] {
  padding-block: var(--spazio-m);
}

.bento[data-astro-cid-7gxzdssk] {
  margin-top: clamp(28px, 4vw, 44px);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(12px, 1.6vw, 18px);
  align-items: stretch;
}

.bento[data-astro-cid-7gxzdssk] > [data-astro-cid-7gxzdssk] {
  margin: 0;
  background: var(--card, var(--ground-alt));
  border-radius: var(--radius);
  padding: clamp(20px, 2.6vw, 28px);
}

.b-foto[data-astro-cid-7gxzdssk] {
  grid-row: span 2;
  padding: 0;
  overflow: hidden;
}

.b-foto[data-astro-cid-7gxzdssk] img[data-astro-cid-7gxzdssk] {
  width: 100%;
  height: 100%;
  min-height: 320px;
  object-fit: cover;
}

.b-stat[data-astro-cid-7gxzdssk] {
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
}

.b-num[data-astro-cid-7gxzdssk] {
  font-family: var(--font-display);
  font-size: clamp(46px, 6vw, 68px);
  line-height: 1;
  font-weight: 600;
  letter-spacing: -.03em;
}

.b-stat[data-astro-cid-7gxzdssk] .stelle[data-astro-cid-7gxzdssk] {
  margin-top: 10px;
}

.b-nota[data-astro-cid-7gxzdssk] {
  margin-top: 8px;
  font-size: 13.5px;
  color: var(--muted);
}

.stelle[data-astro-cid-7gxzdssk] {
  color: var(--accent-ink);
  font-size: 12.5px;
  letter-spacing: 3px;
}

.b-voce[data-astro-cid-7gxzdssk] blockquote[data-astro-cid-7gxzdssk] {
  margin: 12px 0 0;
  font-size: 15px;
  line-height: 1.65;
}

.b-voce[data-astro-cid-7gxzdssk] figcaption[data-astro-cid-7gxzdssk] {
  margin-top: 14px;
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13.5px;
}

.avatar[data-astro-cid-7gxzdssk] {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  flex: none;
  background: var(--accent);
  color: var(--on-accent);
  display: grid;
  place-items: center;
  font-family: var(--font-display);
  font-size: 15px;
}

.quando[data-astro-cid-7gxzdssk] {
  font-size: 12.5px;
  color: var(--muted);
  margin-left: 2px;
}

@media (width <= 900px) {
  .bento[data-astro-cid-7gxzdssk] {
    grid-template-columns: 1fr 1fr;
  }

  .b-foto[data-astro-cid-7gxzdssk] {
    grid-row: span 1;
  }

  .b-foto[data-astro-cid-7gxzdssk] img[data-astro-cid-7gxzdssk] {
    min-height: 240px;
  }
}

@media (width <= 600px) {
  .bento[data-astro-cid-7gxzdssk] {
    grid-template-columns: 1fr;
  }
}

.tutte[data-astro-cid-7gxzdssk] {
  text-align: center;
  margin-top: clamp(44px, 6vw, 64px);
}

.dal[data-astro-cid-7gxzdssk] {
  font-size: 13.5px;
  color: var(--muted);
}
.band[data-astro-cid-ismp6luz] {
  position: relative;
  overflow: hidden;
  background: var(--accent);
  color: var(--on-accent);
  padding-block: var(--spazio-l);
  display: grid;
  align-content: center;
  min-height: clamp(420px, 58vh, 620px);
}

.band-foto[data-astro-cid-ismp6luz] {
  object-fit: cover;
}

.band[data-astro-cid-ismp6luz]:before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: color-mix(in srgb, var(--accent) 68%, transparent);
}

.band-inner[data-astro-cid-ismp6luz] {
  position: relative;
  z-index: 2;
  text-align: center;
}

.frase[data-astro-cid-ismp6luz] {
  font-family: var(--font-display);
  font-style: var(--italic);
  font-size: clamp(28px, 5.4vw, 52px);
  line-height: 1.22;
  max-width: 26ch;
  margin-inline: auto;
  text-wrap: balance;
}

.fonte[data-astro-cid-ismp6luz] {
  margin-top: 30px;
  font-size: 11.5px;
  letter-spacing: .22em;
  text-transform: uppercase;
  font-weight: 700;
  opacity: .75;
}
.numeri[data-astro-cid-hy7gsqjb] {
  background: var(--deep);
  color: var(--on-dark);
  padding-block: clamp(44px, 6vh, 76px);
}

.griglia[data-astro-cid-hy7gsqjb] {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(20px, 3vw, 40px);
}

.voce[data-astro-cid-hy7gsqjb] {
  border-left: 1px solid #ffffff24;
  padding-left: clamp(16px, 1.6vw, 22px);
}

.big[data-astro-cid-hy7gsqjb] {
  font-family: var(--font-display);
  line-height: 1;
  letter-spacing: -.02em;
  font-size: clamp(54px, 6.5vw, 110px);
}

.big[data-astro-cid-hy7gsqjb] em[data-astro-cid-hy7gsqjb] {
  font-style: var(--italic);
  color: var(--accent-on-dark);
}

.did[data-astro-cid-hy7gsqjb] {
  margin-top: 12px;
  font-size: 13.5px;
  line-height: 1.5;
  opacity: .66;
  max-width: 20ch;
}

.verso[data-astro-cid-hy7gsqjb] {
  display: inline-block;
  margin-top: clamp(30px, 4vw, 48px);
  font-size: 13px;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-weight: 700;
  text-decoration: none;
  color: var(--on-dark);
  border-bottom: 1px solid var(--accent-on-dark);
  padding-bottom: 4px;
}

@media (width <= 900px) {
  .griglia[data-astro-cid-hy7gsqjb] {
    grid-template-columns: repeat(2, 1fr);
    row-gap: clamp(34px, 6vw, 48px);
  }
}
.capitolo[data-astro-cid-5wkhd2kr] {
  background: var(--deep);
  color: var(--on-dark);
  padding-block: clamp(18px, 2.4vw, 34px);
}

.capitolo[data-astro-cid-5wkhd2kr] .run[data-astro-cid-5wkhd2kr] {
  display: inline-flex;
  align-items: baseline;
  gap: clamp(14px, 1.6vw, 26px);
  padding-right: clamp(14px, 1.6vw, 26px);
  font-family: var(--font-display);
  font-style: normal;
  opacity: 1;
  line-height: 1;
  font-size: clamp(46px, 7.5vw, 120px);
  white-space: nowrap;
}

.capitolo[data-astro-cid-5wkhd2kr] b[data-astro-cid-5wkhd2kr] {
  font-weight: 500;
}

.capitolo[data-astro-cid-5wkhd2kr] .pieno[data-astro-cid-5wkhd2kr] {
  color: var(--on-dark);
}

.capitolo[data-astro-cid-5wkhd2kr] .vuoto[data-astro-cid-5wkhd2kr] {
  color: #0000;
  -webkit-text-stroke: 1.5px var(--accent-on-dark);
}

.capitolo[data-astro-cid-5wkhd2kr] i[data-astro-cid-5wkhd2kr] {
  font-style: normal;
  font-size: .24em;
  color: var(--accent-on-dark);
}
.chi[data-astro-cid-3aia6wax] {
  padding-block: 0 var(--spazio-m);
}

header + .chi[data-astro-cid-3aia6wax] {
  padding-top: var(--spazio-l);
}

.chi-inner[data-astro-cid-3aia6wax] {
  display: grid;
  grid-template-columns: 5fr 7fr;
  gap: clamp(36px, 7vw, 90px);
  align-items: start;
}

@media (width <= 720px) {
  .chi-inner[data-astro-cid-3aia6wax] {
    grid-template-columns: 1fr;
  }
}

.nome[data-astro-cid-3aia6wax] {
  font-size: clamp(56px, 9vw, 104px);
  margin-top: 18px;
  line-height: .98;
  letter-spacing: -.02em;
}

.nome[data-astro-cid-3aia6wax] em[data-astro-cid-3aia6wax] {
  font-style: var(--italic);
  color: var(--accent-ink);
}

.corpo[data-astro-cid-3aia6wax] img[data-astro-cid-3aia6wax] {
  border-radius: var(--radius);
  margin-bottom: 28px;
}

.testo[data-astro-cid-3aia6wax] {
  font-size: clamp(17px, 2.2vw, 20px);
  line-height: 1.75;
  max-width: var(--misura);
}

.lato[data-astro-cid-3aia6wax] img[data-astro-cid-3aia6wax] {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  border-radius: var(--radius);
  margin-top: clamp(30px, 4vw, 52px);
}

.temi[data-astro-cid-3aia6wax] {
  margin-top: clamp(30px, 4vw, 46px);
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: clamp(20px, 2.6vw, 34px);
}

.tema[data-astro-cid-3aia6wax] {
  margin: 0;
  border-top: 1px solid var(--line);
  padding-top: 16px;
}

.tema[data-astro-cid-3aia6wax] h3[data-astro-cid-3aia6wax] {
  font-size: clamp(19px, 2.2vw, 24px);
  text-transform: lowercase;
}

.tema[data-astro-cid-3aia6wax] h3[data-astro-cid-3aia6wax]:first-letter {
  text-transform: uppercase;
}

.tema[data-astro-cid-3aia6wax] blockquote[data-astro-cid-3aia6wax] {
  margin: 10px 0 0;
  font-family: var(--font-display);
  font-style: var(--italic);
  font-size: 15px;
  line-height: 1.55;
  color: var(--ink);
}

.tema[data-astro-cid-3aia6wax] figcaption[data-astro-cid-3aia6wax] {
  margin-top: 7px;
  font-size: 12px;
  color: var(--muted);
}

.fatti[data-astro-cid-3aia6wax] {
  margin: 28px 0 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.fatti[data-astro-cid-3aia6wax] li[data-astro-cid-3aia6wax] {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .06em;
  color: var(--muted);
  border: 1px solid var(--line);
  border-radius: var(--radius-pill);
  padding: 7px 14px;
}

.firma[data-astro-cid-3aia6wax] {
  margin-top: 34px;
  font-family: var(--font-display);
  font-style: var(--italic);
  font-size: 24px;
  color: var(--accent-ink);
}

.firma[data-astro-cid-3aia6wax]:before {
  content: "— ";
}
.gal[data-astro-cid-rj65ajc3] {
  padding-block: var(--spazio-m) var(--spazio-m);
}

.fotoset[data-astro-cid-rj65ajc3] {
  margin-top: 26px;
  display: grid;
  gap: 14px;
}

.fotoset[data-astro-cid-rj65ajc3] img[data-astro-cid-rj65ajc3] {
  border-radius: var(--radius);
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.gal-strip[data-astro-cid-rj65ajc3] {
  min-height: 100svh;
  padding-block: 0;
  display: grid;
  align-content: center;
  gap: clamp(26px, 3.5vw, 48px);
  grid-template-columns: minmax(0, 1fr);
}

.gal-strip[data-astro-cid-rj65ajc3] .strip-track[data-astro-cid-rj65ajc3] {
  padding-inline: clamp(20px, 4vw, 40px);
}

.gal-strip[data-astro-cid-rj65ajc3] > .container[data-astro-cid-rj65ajc3] {
  width: 100%;
}

@media (width <= 899px) {
  .gal-strip[data-astro-cid-rj65ajc3] {
    min-height: 0;
    padding-block: var(--spazio-m);
  }
}

.sola[data-astro-cid-rj65ajc3] img[data-astro-cid-rj65ajc3] {
  aspect-ratio: 21 / 9;
}

.griglia[data-astro-cid-rj65ajc3] {
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.griglia[data-astro-cid-rj65ajc3] img[data-astro-cid-rj65ajc3] {
  aspect-ratio: 1;
}

.griglia[data-astro-cid-rj65ajc3] img[data-astro-cid-rj65ajc3]:first-child {
  grid-column: span 2;
  aspect-ratio: 2;
}
.faq[data-astro-cid-hemr5th4] {
  padding-block: 0 var(--spazio-m);
}

header + .faq[data-astro-cid-hemr5th4] {
  padding-top: var(--spazio-l);
}

.faq-inner[data-astro-cid-hemr5th4] {
  display: grid;
  grid-template-columns: 5fr 7fr;
  gap: clamp(36px, 6vw, 80px);
  align-items: start;
}

@media (width <= 720px) {
  .faq-inner[data-astro-cid-hemr5th4] {
    grid-template-columns: 1fr;
  }
}

.faq[data-astro-cid-hemr5th4] h2[data-astro-cid-hemr5th4] {
  font-size: var(--titolo-sezione);
  margin-top: 14px;
}

.altro[data-astro-cid-hemr5th4] {
  margin-top: 22px;
  color: var(--muted);
  font-size: 15px;
}

.voci[data-astro-cid-hemr5th4] {
  margin: 0;
}

.voce[data-astro-cid-hemr5th4] {
  padding-block: 22px;
  border-bottom: 1px solid var(--line);
}

.voce[data-astro-cid-hemr5th4]:first-child {
  border-top: 1px solid var(--line);
}

dt[data-astro-cid-hemr5th4] {
  font-family: var(--font-display);
  font-size: 22px;
}

dd[data-astro-cid-hemr5th4] {
  margin: 8px 0 0;
  color: var(--muted);
  font-size: 15.5px;
  max-width: 52ch;
}
.dove[data-astro-cid-6akjcynh] {
  padding-block: 0 var(--spazio-m);
}

header + .dove[data-astro-cid-6akjcynh] {
  padding-top: var(--spazio-l);
}

.griglia[data-astro-cid-6akjcynh] {
  display: grid;
  grid-template-columns: 7fr 5fr;
  gap: clamp(40px, 7vw, 100px);
  align-items: center;
}

@media (width <= 720px) {
  .griglia[data-astro-cid-6akjcynh] {
    grid-template-columns: 1fr;
  }
}

.dove[data-astro-cid-6akjcynh] h2[data-astro-cid-6akjcynh] {
  font-size: var(--titolo-sezione);
  margin-top: 16px;
}

.ind[data-astro-cid-6akjcynh] {
  margin-top: 26px;
  font-family: var(--font-display);
  font-size: clamp(20px, 2.6vw, 26px);
  line-height: 1.4;
}

.nota[data-astro-cid-6akjcynh] {
  color: var(--muted);
  margin-top: 10px;
  font-size: 15px;
}

.stato[data-astro-cid-6akjcynh] {
  margin-top: 14px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--muted);
}

.stato[data-astro-cid-6akjcynh].aperto {
  color: var(--accent-ink);
}

.stato[data-astro-cid-6akjcynh]:before {
  content: "●";
  margin-right: 8px;
  font-size: 9px;
  vertical-align: 2px;
}

.azioni[data-astro-cid-6akjcynh] {
  margin-top: 32px;
  display: flex;
  gap: 26px;
  align-items: center;
  flex-wrap: wrap;
}

.sv[data-astro-cid-6akjcynh] {
  margin-top: 18px;
  font-size: 14px;
}

.sv[data-astro-cid-6akjcynh] a[data-astro-cid-6akjcynh] {
  color: var(--muted);
  display: inline-block;
  padding-block: 14px;
  margin-block: -14px;
}

.doppia[data-astro-cid-6akjcynh] {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(10px, 1.2vw, 18px);
  margin-top: var(--spazio-s);
  aspect-ratio: 32 / 9;
}

.doppia[data-astro-cid-6akjcynh] > [data-astro-cid-6akjcynh]:only-child {
  grid-column: 1 / -1;
}

@media (width <= 720px) {
  .doppia[data-astro-cid-6akjcynh] {
    grid-template-columns: 1fr;
    aspect-ratio: auto;
  }
}

.banda-posto[data-astro-cid-6akjcynh] {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: var(--radius);
}

@media (width <= 720px) {
  .banda-posto[data-astro-cid-6akjcynh] {
    height: auto;
    aspect-ratio: 3 / 2;
  }
}

.mappa[data-astro-cid-6akjcynh] {
  display: block;
  height: 100%;
  border-radius: var(--radius);
  overflow: hidden;
}

.mappa[data-astro-cid-6akjcynh] img[data-astro-cid-6akjcynh] {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.mappa[data-astro-cid-6akjcynh] iframe[data-astro-cid-6akjcynh] {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

@media (width <= 720px) {
  .mappa[data-astro-cid-6akjcynh] iframe[data-astro-cid-6akjcynh] {
    aspect-ratio: 4 / 5;
  }
}

.orari[data-astro-cid-6akjcynh] {
  border-collapse: collapse;
  width: 100%;
  font-size: 15px;
}

.orari[data-astro-cid-6akjcynh] tr[data-astro-cid-6akjcynh] {
  border-bottom: 1px solid var(--line);
}

.orari[data-astro-cid-6akjcynh] tr[data-astro-cid-6akjcynh]:first-child {
  border-top: 1px solid var(--line);
}

.orari[data-astro-cid-6akjcynh] th[data-astro-cid-6akjcynh] {
  text-align: left;
  font-weight: 700;
  padding: 13px 0;
  font-size: 13px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.orari[data-astro-cid-6akjcynh] td[data-astro-cid-6akjcynh] {
  text-align: right;
  font-variant-numeric: tabular-nums;
  font-family: var(--font-display);
  font-size: 18px;
}

.orari[data-astro-cid-6akjcynh] .chiuso[data-astro-cid-6akjcynh] th[data-astro-cid-6akjcynh], .orari[data-astro-cid-6akjcynh] .chiuso[data-astro-cid-6akjcynh] td[data-astro-cid-6akjcynh] {
  color: var(--muted);
}

.orari[data-astro-cid-6akjcynh] .chiuso[data-astro-cid-6akjcynh] td[data-astro-cid-6akjcynh] {
  font-style: var(--italic);
  font-size: 15px;
}
.fine[data-astro-cid-ppdbt67p] {
  position: relative;
  overflow: hidden;
  background: var(--deep);
  color: var(--on-dark);
  padding-block: var(--spazio-l) var(--spazio-m);
}

.fine-foto[data-astro-cid-ppdbt67p] {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .1;
  filter: grayscale();
}

.fine-inner[data-astro-cid-ppdbt67p] {
  position: relative;
  text-align: center;
}

.sopra[data-astro-cid-ppdbt67p] {
  font-size: 11.5px;
  letter-spacing: .24em;
  text-transform: uppercase;
  color: var(--on-dark-muted);
  font-weight: 700;
}

.fine[data-astro-cid-ppdbt67p] h2[data-astro-cid-ppdbt67p] {
  font-size: clamp(46px, 11vw, 158px);
  margin-top: 26px;
  line-height: 1.04;
}

.fine[data-astro-cid-ppdbt67p] h2[data-astro-cid-ppdbt67p] em[data-astro-cid-ppdbt67p] {
  font-style: var(--italic);
  color: var(--accent-on-dark);
}

.azioni[data-astro-cid-ppdbt67p] {
  margin-top: 48px;
  display: flex;
  gap: 30px;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}

.btn-chiaro[data-astro-cid-ppdbt67p] {
  background: var(--ground);
  color: var(--ink);
}

.btn-chiaro[data-astro-cid-ppdbt67p] .freccia[data-astro-cid-ppdbt67p] {
  background: var(--accent);
}

.tel[data-astro-cid-ppdbt67p] {
  color: var(--on-dark);
  font-weight: 600;
  font-size: 16px;
  text-decoration: none;
  border-bottom: 1px solid #ffffff4d;
  padding-bottom: 2px;
}

.nota-app[data-astro-cid-ppdbt67p] {
  margin-top: 26px;
  font-size: 14px;
  color: var(--on-dark-muted);
}

.firma[data-astro-cid-ppdbt67p] {
  margin-top: 44px;
  font-family: var(--font-display);
  font-style: var(--italic);
  font-size: 26px;
  color: var(--on-dark-muted);
}

.firma[data-astro-cid-ppdbt67p]:before {
  content: "— ";
}
.firma[data-astro-cid-mv4gy2gc] {
  padding-block: var(--spazio-m);
}

.firma-griglia[data-astro-cid-mv4gy2gc] {
  display: grid;
  grid-template-columns: minmax(280px, 6fr) 6fr;
  gap: clamp(32px, 5vw, 72px);
  align-items: center;
}

@media (width <= 760px) {
  .firma-griglia[data-astro-cid-mv4gy2gc] {
    grid-template-columns: 1fr;
  }
}

.firma-foto[data-astro-cid-mv4gy2gc] {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  border-radius: var(--radius);
}

body[data-photo="arco"] .firma-foto[data-astro-cid-mv4gy2gc] {
  border-radius: 999px 999px var(--radius) var(--radius);
}

.firma[data-astro-cid-mv4gy2gc] h2[data-astro-cid-mv4gy2gc] {
  font-size: var(--titolo-sezione);
  margin-top: 14px;
}

.firma-beneficio[data-astro-cid-mv4gy2gc] {
  margin-top: 12px;
  font-family: var(--font-display);
  font-style: var(--italic);
  font-size: clamp(19px, 2.6vw, 24px);
  color: var(--accent-ink);
}

.firma-desc[data-astro-cid-mv4gy2gc] {
  margin-top: 14px;
  color: var(--muted);
  max-width: 52ch;
  line-height: 1.7;
}

.firma-quote[data-astro-cid-mv4gy2gc] {
  margin: 26px 0 0;
  padding-left: 18px;
  border-left: 2px solid var(--accent);
}

.firma-quote[data-astro-cid-mv4gy2gc] blockquote[data-astro-cid-mv4gy2gc] {
  margin: 0;
  font-family: var(--font-display);
  font-style: var(--italic);
  font-size: 17.5px;
  line-height: 1.55;
}

.firma-quote[data-astro-cid-mv4gy2gc] figcaption[data-astro-cid-mv4gy2gc] {
  margin-top: 8px;
  font-size: 13px;
  color: var(--muted);
}

.firma[data-astro-cid-mv4gy2gc] .btn[data-astro-cid-mv4gy2gc] {
  margin-top: 26px;
}

.firma-intarsio[data-astro-cid-mv4gy2gc] {
  padding-block: var(--spazio-m);
}

.intarsio[data-astro-cid-mv4gy2gc] {
  position: relative;
}

.in-testo[data-astro-cid-mv4gy2gc] {
  position: relative;
  z-index: 2;
  max-width: 600px;
  margin-inline: auto;
  text-align: center;
}

.firma-intarsio[data-astro-cid-mv4gy2gc] h2[data-astro-cid-mv4gy2gc] {
  font-size: clamp(28px, 4vw, 44px);
  margin-top: 14px;
}

.in-grande[data-astro-cid-mv4gy2gc] {
  margin-top: clamp(18px, 2.4vw, 28px);
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(24px, 3.6vw, 44px);
  line-height: 1.22;
  letter-spacing: -.02em;
  text-wrap: balance;
}

.in-autore[data-astro-cid-mv4gy2gc] {
  margin-top: 14px;
  font-size: 13.5px;
  color: var(--muted);
}

.in-quote[data-astro-cid-mv4gy2gc] {
  display: inline-block;
  margin-top: 24px;
  text-align: left;
}

.in-proof[data-astro-cid-mv4gy2gc] {
  margin-top: clamp(22px, 3vw, 32px);
  display: inline-flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  justify-content: center;
}

.in-bollo[data-astro-cid-mv4gy2gc] {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--accent);
  color: var(--on-accent);
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 16px;
}

.in-proof[data-astro-cid-mv4gy2gc] .stelle[data-astro-cid-mv4gy2gc] {
  color: var(--accent-ink);
  font-size: 12.5px;
  letter-spacing: 3px;
}

.in-nota[data-astro-cid-mv4gy2gc] {
  font-size: 13.5px;
  color: var(--muted);
}

.firma-intarsio[data-astro-cid-mv4gy2gc] .btn[data-astro-cid-mv4gy2gc] {
  margin-top: clamp(24px, 3vw, 34px);
}

.in-tessera[data-astro-cid-mv4gy2gc] {
  border-radius: var(--radius);
  object-fit: cover;
  height: auto;
}

@media (width >= 1000px) {
  .intarsio[data-astro-cid-mv4gy2gc] {
    min-height: 560px;
    display: grid;
    align-items: center;
  }

  .in-tessera[data-astro-cid-mv4gy2gc] {
    position: absolute;
    z-index: 1;
    width: clamp(130px, 13vw, 185px);
    height: auto;
    aspect-ratio: 4 / 5;
  }

  .in-t1[data-astro-cid-mv4gy2gc] {
    top: 0;
    left: 0;
  }

  .in-t2[data-astro-cid-mv4gy2gc] {
    top: 18%;
    right: 0;
    aspect-ratio: 5 / 4;
  }

  .in-t3[data-astro-cid-mv4gy2gc] {
    bottom: 0;
    left: clamp(8px, 2.6vw, 44px);
    aspect-ratio: 1;
    width: clamp(110px, 11vw, 150px);
  }

  .in-t4[data-astro-cid-mv4gy2gc] {
    bottom: 0;
    right: clamp(8px, 3vw, 56px);
  }
}

@media (width <= 999px) {
  .intarsio[data-astro-cid-mv4gy2gc] {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
  }

  .in-tessera[data-astro-cid-mv4gy2gc] {
    width: calc(50% - 5px);
    height: auto;
    aspect-ratio: 4 / 3;
  }

  .in-testo[data-astro-cid-mv4gy2gc] {
    flex: 1 0 100%;
    margin-top: 22px;
  }
}
.piede[data-astro-cid-jo6i4kqk] {
  background: var(--deep);
  color: var(--on-dark-muted);
  padding-block: clamp(40px, 5vw, 48px) 110px;
}

.piede-inner[data-astro-cid-jo6i4kqk] {
  border-top: 1px solid #ffffff1f;
  padding-top: 34px;
  font-size: 13.5px;
}

.piede-inner[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk] {
  display: inline-block;
  padding-block: 14px;
  margin-block: -14px;
}

.nome[data-astro-cid-jo6i4kqk] {
  font-family: var(--font-display);
  font-style: var(--italic);
  font-size: 20px;
  color: var(--on-dark);
}

.dati[data-astro-cid-jo6i4kqk] {
  margin-top: 10px;
  line-height: 1.8;
}

.pratiche[data-astro-cid-jo6i4kqk] {
  margin-top: 8px;
  font-size: 12.5px;
  line-height: 1.8;
}

.credito[data-astro-cid-jo6i4kqk] {
  margin-top: 16px;
  font-size: 12px;
}
.sticky[data-astro-cid-lkmocea4] {
  position: fixed;
  inset-inline: 0;
  bottom: 14px;
  z-index: 50;
  display: none;
  justify-content: center;
  padding-inline: 16px;
  pointer-events: none;
  transform: translateY(calc(100% + 14px));
  transition: transform .35s var(--ease);
}

.sticky[data-astro-cid-lkmocea4].show {
  transform: none;
}

@media (width <= 700px) {
  .sticky[data-astro-cid-lkmocea4] {
    display: flex;
  }
}

.s-tel[data-astro-cid-lkmocea4] {
  pointer-events: auto;
  background: #1e1a13eb;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  color: var(--on-dark);
  font-weight: 700;
  font-size: 15px;
  text-decoration: none;
  border-radius: var(--radius-pill);
  padding: 13px 28px;
  box-shadow: 0 12px 32px -14px #1e1a138c;
}

@media (prefers-reduced-motion: reduce) {
  .sticky[data-astro-cid-lkmocea4] {
    transition: none;
  }
}
.waw[data-astro-cid-zus34vxu] {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 60;
}

@media (width <= 700px) {
  .waw[data-astro-cid-zus34vxu] {
    right: 14px;
    bottom: 14px;
  }
}

summary[data-astro-cid-zus34vxu] {
  list-style: none;
  cursor: pointer;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #1faa55;
  box-shadow: 0 6px 20px #00000038;
}

summary[data-astro-cid-zus34vxu]::-webkit-details-marker {
  display: none;
}

summary[data-astro-cid-zus34vxu]:focus-visible {
  outline: 2px solid var(--deep);
  outline-offset: 3px;
}

.ico-x[data-astro-cid-zus34vxu] {
  display: none;
}

.waw[data-astro-cid-zus34vxu][open] .ico-chat[data-astro-cid-zus34vxu] {
  display: none;
}

.waw[data-astro-cid-zus34vxu][open] .ico-x[data-astro-cid-zus34vxu] {
  display: block;
}

.panel[data-astro-cid-zus34vxu] {
  position: absolute;
  bottom: calc(100% + 12px);
  right: 0;
  width: min(320px, 100vw - 28px);
  background: #fff;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 12px 40px #00000040;
}

@media (prefers-reduced-motion: no-preference) {
  .waw[data-astro-cid-zus34vxu][open] .panel[data-astro-cid-zus34vxu] {
    animation: waw-in .22s var(--ease, ease-out);
  }

  @keyframes waw-in {
    from {
      opacity: 0;
      transform: translateY(8px);
    }
  }
}

.panel[data-astro-cid-zus34vxu] header[data-astro-cid-zus34vxu] {
  background: var(--deep);
  padding: 14px 16px;
  display: grid;
  gap: 2px;
}

.panel[data-astro-cid-zus34vxu] header[data-astro-cid-zus34vxu] strong[data-astro-cid-zus34vxu] {
  color: #fff;
  font-size: 15px;
}

.panel[data-astro-cid-zus34vxu] header[data-astro-cid-zus34vxu] span[data-astro-cid-zus34vxu] {
  color: var(--accent-on-dark);
  font-size: 12.5px;
}

.bolla[data-astro-cid-zus34vxu] {
  margin: 14px 16px;
  padding: 10px 12px;
  background: #f1ede8;
  border-radius: 4px 12px 12px;
  font-size: 14px;
  line-height: 1.45;
  color: var(--ink, #222);
}

.go[data-astro-cid-zus34vxu] {
  display: block;
  margin: 0 16px 16px;
  padding: 12px;
  background: #1faa55;
  color: #fff;
  text-align: center;
  border-radius: 10px;
  font-weight: 700;
  font-size: 14.5px;
  text-decoration: none;
}
