/* Revna, proposta alternativa ispirata a Brandnamic: si carica solo su home-v2 e sulle pagine nuove */

/* ---------- 1. hero: mosaico di foto che sale dopo l'intro ---------- */
.hmz { position: relative; margin: 0 calc(50% - 50vw); padding: clamp(40px, 6vh, 72px) 0 clamp(28px, 4vh, 48px); overflow: clip; }
.hmz-row { display: flex; gap: 14px; width: max-content; padding-inline: 4vw; transform: translate3d(var(--mx, 0px), 0, 0); will-change: transform; }
.hmz-t { position: relative; flex: none; margin: 0; width: var(--w, 22vw); height: clamp(240px, 34vh, 380px); border-radius: 8px; overflow: clip; background: var(--color-paper-2); translate: 0 var(--oy, 0px); clip-path: inset(100% 0 0 0 round 8px); transition: clip-path 1100ms var(--ease-out) calc(var(--k) * 90ms); }
.hmz-t img { position: absolute; inset: -10% 0; width: 100%; height: 120%; object-fit: cover; transform: translate3d(0, var(--py, 0px), 0) scale(1.12); transition: transform 1400ms var(--ease-out) calc(var(--k) * 90ms); }
.hmz-t figcaption { position: absolute; left: 12px; bottom: 12px; z-index: 1; padding: 6px 10px; border-radius: 999px; background: rgba(14, 11, 10, .62); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); color: #fff; font-size: var(--text-xs); letter-spacing: .02em; opacity: 0; transform: translateY(8px); transition: opacity 600ms var(--ease-out) calc(600ms + var(--k) * 90ms), transform 600ms var(--ease-out) calc(600ms + var(--k) * 90ms); }
.hmz.on .hmz-t { clip-path: inset(0 0 0 0 round 8px); }
.hmz.on .hmz-t img { transform: translate3d(0, var(--py, 0px), 0) scale(1); }
.hmz.on .hmz-t figcaption { opacity: 1; transform: none; }
.hmz-t.tall { height: clamp(280px, 40vh, 440px); }
@media (max-width: 44rem) {
  .hmz { padding-bottom: var(--space-xl); }
  .hmz-row { gap: 10px; padding-inline: 20px; }
  .hmz-t { width: var(--wm, 58vw); height: 220px; }
  .hmz-t.tall { height: 250px; }
}

/* ---------- 2. pausa fotografica a tutta larghezza ---------- */
.pbreak { position: relative; height: 92svh; min-height: 520px; margin-top: var(--section-gap); overflow: clip; isolation: isolate; display: grid; align-items: end; }
.pbreak-img { position: absolute; inset: 0; z-index: -2; }
.pbreak-img img { position: absolute; inset: -12% 0; width: 100%; height: 124%; object-fit: cover; transform: translate3d(0, var(--py, 0px), 0) scale(var(--sc, 1.08)); will-change: transform; }
.pbreak::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(14, 11, 10, .55) 0%, rgba(14, 11, 10, .05) 35%, rgba(14, 11, 10, .25) 60%, rgba(14, 11, 10, .9) 100%); }
.pbreak .container { padding-bottom: clamp(48px, 9vh, 110px); }
.pbreak-say { margin: 0; font-family: var(--font-display); font-weight: 500; font-size: clamp(2rem, 5.2vw, 4.8rem); line-height: 1.04; letter-spacing: -.03em; color: #fff; max-width: 18ch; }
.pbreak-say span { display: block; opacity: calc(.22 + var(--l, 0) * .78); transform: translateY(calc((1 - var(--l, 0)) * 18px)); }
.pbreak-say .a { color: var(--color-accent-2); }
.pbreak-cap { margin-top: var(--space-lg); color: rgba(255, 255, 255, .8); font-size: var(--text-sm); }

/* ---------- 3. dal campo ---------- */
.campo { padding-block: var(--section-gap) 0; }
.campo-g { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--space-3xl); align-items: center; }
.campo-ph { position: relative; aspect-ratio: 4 / 5; border-radius: 10px; overflow: clip; background: var(--color-paper-2); clip-path: inset(0 0 100% 0 round 10px); transition: clip-path 1200ms var(--ease-out); }
.campo-ph img { position: absolute; inset: -5% 0; width: 100%; height: 110%; object-fit: cover; object-position: 50% 30%; transform: translate3d(0, var(--py, 0px), 0); }
.campo.in .campo-ph { clip-path: inset(0 0 0 0 round 10px); }
.campo-tx .eyebrow { margin-bottom: var(--space-md); }
.campo-tx h2 { font-size: var(--text-section); line-height: 1.05; max-width: 16ch; }
.campo-tx > p { margin-top: var(--space-lg); color: var(--color-ink-2); font-size: var(--text-lead); max-width: 46ch; }
.campo-path { list-style: none; margin: var(--space-xl) 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.campo-path li { padding: 8px 14px; border-radius: 999px; border: 1px solid var(--color-rule); font-size: var(--text-sm); color: var(--color-muted); transition: color 400ms var(--ease-out), border-color 400ms var(--ease-out), background-color 400ms var(--ease-out); }
.campo-path li.lit { color: var(--color-ink); border-color: var(--color-accent); }
.campo-path li.last.lit { background: var(--color-accent); color: var(--color-accent-ink); }
.campo-sig { display: flex; align-items: center; gap: var(--space-md); margin-top: var(--space-xl); }
.campo-sig b { display: block; font-family: var(--font-display); font-weight: 500; }
.campo-sig span { color: var(--color-muted); font-size: var(--text-sm); }
.campo-sig .link { margin-left: auto; }
@media (max-width: 64rem) { .campo-g { grid-template-columns: minmax(0, 1fr); gap: var(--space-xl); } .campo-ph { aspect-ratio: 4 / 5; max-height: 72svh; } }

/* ---------- 4. CTA con le persone (il modulo resta) ---------- */
.ppl { display: flex; align-items: center; gap: var(--space-md); margin-top: var(--space-xl); padding: var(--space-md) var(--space-lg) var(--space-md) var(--space-md); border: 1px solid var(--color-rule); border-radius: 14px; background: var(--color-paper); max-width: 460px; }
.ppl-f { display: flex; flex: none; }
.ppl-f img { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; object-position: 50% 18%; border: 2px solid var(--color-paper-2); }
.ppl-f img + img { margin-left: -16px; }
.ppl p { margin: 0; font-size: var(--text-sm); color: var(--color-ink-2); line-height: 1.45; }
.ppl p b { color: var(--color-ink); font-weight: 600; }
.ppl p a { color: var(--color-ink); }
.ppl .dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: #3fbf6f; margin-right: 6px; box-shadow: 0 0 0 0 rgba(63, 191, 111, .6); animation: pplp 2.4s infinite; }
@keyframes pplp { 0% { box-shadow: 0 0 0 0 rgba(63, 191, 111, .55); } 70% { box-shadow: 0 0 0 8px rgba(63, 191, 111, 0); } 100% { box-shadow: 0 0 0 0 rgba(63, 191, 111, 0); } }

/* ---------- 5. glossario: teaser in home ---------- */
.azt { padding-block: var(--section-gap) 0; }
.azt-card { position: relative; overflow: clip; border: 1px solid var(--color-rule); border-radius: 14px; background: var(--color-paper-2); padding: clamp(28px, 4vw, 56px); display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--space-2xl); align-items: center; }
.azt-card h2 { font-size: var(--text-section); line-height: 1.05; }
.azt-card p { margin-top: var(--space-md); color: var(--color-ink-2); }
.azt-card .btn { margin-top: var(--space-lg); }
.azt-l { display: grid; grid-template-columns: repeat(9, minmax(0, 1fr)); gap: 6px; }
.azt-l a { display: grid; place-items: center; aspect-ratio: 1; border-radius: 8px; border: 1px solid var(--color-rule); font-family: var(--font-display); font-size: clamp(1rem, 1.6vw, 1.5rem); color: var(--color-ink); text-decoration: none; transition: background-color 250ms var(--ease-out), color 250ms var(--ease-out), border-color 250ms var(--ease-out), transform 250ms var(--ease-out); }
.azt-l a:hover, .azt-l a:focus-visible { background: var(--color-accent); border-color: var(--color-accent); color: var(--color-accent-ink); transform: translateY(-3px); }
.azt-l a.off { color: var(--color-rule); pointer-events: none; }
.azt-ex { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 8px; margin-top: 4px; }
.azt-ex a { font-size: var(--text-sm); color: var(--color-ink-2); text-decoration: none; padding: 6px 12px; border-radius: 999px; background: var(--color-paper); border: 1px solid var(--color-rule); }
.azt-ex a:hover { color: var(--color-ink); border-color: var(--color-accent); }
@media (max-width: 64rem) { .azt-card { grid-template-columns: minmax(0, 1fr); } .azt-l { grid-template-columns: repeat(7, minmax(0, 1fr)); } }

/* ---------- 7. sedi, newsletter, partner ---------- */
.sedi { padding-block: var(--section-gap); }
.sedi-g { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-md); }
.sede { position: relative; display: grid; gap: var(--space-sm); align-content: start; padding: var(--space-lg); border-radius: 14px; border: 1px solid var(--color-rule); background: var(--color-paper-2); overflow: clip; }
.sede .k { font-size: var(--text-xs); letter-spacing: .14em; text-transform: uppercase; color: var(--color-accent); }
.sede h3 { font-size: var(--text-xl); }
.sede p { margin: 0; color: var(--color-ink-2); }
.sede .link { margin-top: var(--space-xs); }
.sede-map { position: relative; height: 140px; margin: calc(var(--space-lg) * -1) calc(var(--space-lg) * -1) var(--space-xs); background: radial-gradient(circle at var(--px, 50%) var(--pyy, 55%), var(--color-glow) 0 8%, transparent 9%), repeating-linear-gradient(0deg, transparent 0 23px, var(--color-line-soft) 23px 24px), repeating-linear-gradient(90deg, transparent 0 23px, var(--color-line-soft) 23px 24px), var(--color-paper-3); }
.sede-map i { position: absolute; left: var(--px, 50%); top: var(--pyy, 55%); width: 14px; height: 14px; margin: -7px 0 0 -7px; border-radius: 50%; background: var(--color-accent); box-shadow: 0 0 0 6px rgba(226, 96, 63, .25); }
.sede-map i::after { content: ""; position: absolute; inset: -6px; border-radius: 50%; border: 1px solid var(--color-accent); animation: sedep 2.6s var(--ease-out) infinite; }
@keyframes sedep { from { transform: scale(.6); opacity: 1; } to { transform: scale(3); opacity: 0; } }
.nlb { margin-top: var(--space-2xl); display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: var(--space-xl); align-items: center; padding: clamp(24px, 3.5vw, 44px); border-radius: 14px; background: radial-gradient(ellipse at 100% 0%, var(--color-glow), transparent 60%), var(--color-paper-2); border: 1px solid var(--color-rule); }
.nlb h3 { font-size: var(--text-2xl); line-height: 1.1; }
.nlb p { margin-top: var(--space-xs); color: var(--color-ink-2); }
.nlb form { display: flex; gap: var(--space-xs); }
.nlb input { flex: 1; min-width: 0; min-height: 48px; padding: 0 var(--space-md); border-radius: var(--radius-pill); border: 1px solid var(--color-rule); background: var(--color-paper); color: var(--color-ink); font: inherit; }
.nlb .msg { grid-column: 1 / -1; margin: 0; min-height: 1em; font-size: var(--text-sm); color: var(--color-ink-2); }
.prt { margin-top: var(--space-2xl); display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--space-xl); align-items: center; padding-top: var(--space-xl); border-top: 1px solid var(--color-rule); }
.prt > p { margin: 0; font-size: var(--text-xs); letter-spacing: .14em; text-transform: uppercase; color: var(--color-muted); }
.prt ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-xl) clamp(24px, 4vw, 56px); }
.prt img { height: 26px; width: auto; filter: grayscale(1) brightness(1.8); opacity: .7; transition: opacity 250ms, filter 250ms; }
.prt img:hover { opacity: 1; filter: none; }
@media (max-width: 64rem) { .sedi-g, .nlb { grid-template-columns: minmax(0, 1fr); } .prt { grid-template-columns: minmax(0, 1fr); gap: var(--space-md); } }

/* ---------- 6. menu per aree con effetto discesa ---------- */
.mega.mega2 { opacity: 1; transform: none; visibility: hidden; clip-path: inset(0 0 100% 0); transition: clip-path 560ms cubic-bezier(.7, 0, .2, 1), visibility 0s linear 560ms; background: var(--color-paper-2); }
.mega.mega2.open { visibility: visible; clip-path: inset(0 0 0 0); transition: clip-path 620ms cubic-bezier(.7, 0, .2, 1), visibility 0s; }
.mega2::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--color-accent); transform: scaleX(0); transform-origin: 0 50%; transition: transform 500ms var(--ease-out); }
.mega2.open::after { transform: scaleX(1); transition: transform 900ms var(--ease-out) 300ms; }
.mg2 { display: grid; grid-template-columns: minmax(0, 1fr) 250px; gap: var(--space-lg) var(--space-xl); padding-block: var(--space-xl) var(--space-lg); }
.mg2-cols { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-md); }
.mg2-col { display: grid; align-content: start; gap: 2px; }
.mg2-col .mg-lab, .mega2 .mg-t, .mg2-foot > * , .mega2 .mg-side { opacity: 0; transform: translateY(-16px); transition: opacity 200ms ease, transform 200ms ease; }
.mega2.open .mg2-col .mg-lab, .mega2.open .mg-t, .mega2.open .mg2-foot > *, .mega2.open .mg-side { opacity: 1; transform: none; transition: opacity 500ms var(--ease-out) calc(180ms + var(--c, 0) * 70ms + var(--r, 0) * 45ms), transform 700ms var(--ease-out) calc(180ms + var(--c, 0) * 70ms + var(--r, 0) * 45ms); }
.mega2 .mg-side { --c: 4; }
.mg2-col .mg-lab { display: flex; align-items: center; gap: 8px; padding-bottom: var(--space-xs); margin-bottom: var(--space-xs); border-bottom: 1px solid var(--color-rule); color: var(--color-accent-2); }
.mg2-col .mg-lab::before { content: ""; width: 6px; height: 6px; background: var(--color-accent); transform: rotate(45deg); }
.mega2 .mg-t { display: grid; grid-template-columns: minmax(0, 1fr) 16px; gap: 2px 8px; padding: 10px 10px 10px 12px; border: 0; border-radius: 8px; }
.mega2 .mg-t:last-child { border: 0; }
.mega2 .mg-t b { font-size: 1rem; line-height: 1.25; grid-column: 1; }
.mg2-col .mg-lab { letter-spacing: .1em; white-space: nowrap; }
.mega2 .mg-t .mg-d { grid-column: 1; font-size: var(--text-xs); }
.mega2 .mg-t .mg-ar { grid-column: 2; grid-row: 1 / span 2; align-self: center; }
.mega2 .mg-t::before { top: 10px; bottom: 10px; }
.mega2 .mg-t.new b::after { content: "nuovo"; margin-left: 8px; padding: 2px 7px; border-radius: 999px; background: var(--color-accent); color: var(--color-accent-ink); font-family: var(--font-body); font-size: 10px; font-weight: 600; letter-spacing: .04em; vertical-align: 2px; }
.mega2 .mg-shot { aspect-ratio: 4 / 3; }
.mg2-foot { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-xs) var(--space-md); padding-top: var(--space-md); border-top: 1px solid var(--color-rule); --c: 5; }
.mg2-foot .mg-lab { margin: 0 var(--space-xs) 0 0; }
.mg2-foot a { color: var(--color-ink-2); text-decoration: none; font-size: var(--text-sm); padding: 6px 12px; border-radius: 999px; border: 1px solid var(--color-rule); }
.mg2-foot a:hover { color: var(--color-ink); border-color: var(--color-accent); }
.msub .ms-grp { margin: var(--space-sm) 0 2px; font-size: var(--text-xs); letter-spacing: .14em; text-transform: uppercase; color: var(--color-accent-2); }
@media (prefers-reduced-motion: reduce) { .mega.mega2, .mega.mega2.open { clip-path: none; transition: visibility 0s; } }

/* ---------- pagine nuove ---------- */
.v2-intro { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--space-2xl); align-items: start; }
.v2-intro h2 { font-size: var(--text-section); line-height: 1.05; }
.v2-intro .tx p { color: var(--color-ink-2); font-size: var(--text-lead); }
.v2-intro .tx p + p { margin-top: var(--space-md); }
.vs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-md); }
.vs > div { padding: var(--space-xl); border-radius: 14px; border: 1px solid var(--color-rule); background: var(--color-paper-2); }
.vs > div.hi { background: radial-gradient(ellipse at 100% 0%, var(--color-glow), transparent 65%), var(--color-paper-2); border-color: var(--color-accent); }
.vs .k { font-size: var(--text-xs); letter-spacing: .14em; text-transform: uppercase; color: var(--color-muted); }
.vs .hi .k { color: var(--color-accent-2); }
.vs h3 { margin-top: var(--space-xs); font-size: var(--text-2xl); }
.vs ul { list-style: none; margin: var(--space-lg) 0 0; padding: 0; display: grid; gap: var(--space-sm); }
.vs li { position: relative; padding-left: 22px; color: var(--color-ink-2); }
.vs li::before { content: ""; position: absolute; left: 2px; top: .55em; width: 7px; height: 7px; background: var(--color-accent); transform: rotate(45deg); }
.geo-ask { margin-top: var(--space-2xl); border-radius: 14px; border: 1px solid var(--color-rule); background: var(--color-paper); overflow: clip; }
.geo-ask .q { display: flex; gap: var(--space-sm); align-items: center; padding: var(--space-md) var(--space-lg); border-bottom: 1px solid var(--color-rule); color: var(--color-ink); }
.geo-ask .q::before { content: ""; flex: none; width: 28px; height: 28px; border-radius: 50%; background: var(--color-paper-3); }
.geo-ask .a { padding: var(--space-lg); color: var(--color-ink-2); min-height: 7.5em; }
.geo-ask .a b { color: var(--color-ink); }
.geo-ask .a mark { background: none; color: var(--color-accent-2); font-weight: 600; }
.geo-ask .cur { display: inline-block; width: 8px; height: 1.1em; vertical-align: -2px; background: var(--color-accent); animation: blink 1s steps(2) infinite; }
@keyframes blink { 50% { opacity: 0; } }
.geo-ask .src { display: flex; flex-wrap: wrap; gap: 6px; padding: 0 var(--space-lg) var(--space-lg); }
.geo-ask .src span { font-size: var(--text-xs); padding: 4px 10px; border-radius: 999px; border: 1px solid var(--color-rule); color: var(--color-muted); }
.steps3 { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-md); counter-reset: s; }
.steps3 li { counter-increment: s; padding: var(--space-xl) var(--space-lg); border-radius: 14px; border: 1px solid var(--color-rule); background: var(--color-paper-2); display: grid; gap: var(--space-sm); align-content: start; }
.steps3 li::before { content: "0" counter(s); font-family: var(--font-display); font-size: var(--text-figure); line-height: 1; color: var(--color-accent); }
.steps3 h3 { font-size: var(--text-xl); }
.steps3 p { color: var(--color-ink-2); margin: 0; }
.faq { border-top: 1px solid var(--color-rule); }
.faq details { border-bottom: 1px solid var(--color-rule); }
.faq summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: var(--space-md); padding: var(--space-lg) 0; font-family: var(--font-display); font-size: var(--text-xl); }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; color: var(--color-accent); transition: transform 300ms var(--ease-out); }
.faq details[open] summary::after { transform: rotate(45deg); }
.faq details p { margin: 0 0 var(--space-lg); color: var(--color-ink-2); max-width: 70ch; }
@media (max-width: 64rem) { .v2-intro, .vs, .steps3 { grid-template-columns: minmax(0, 1fr); } }

/* glossario */
.gl-bar { position: sticky; top: 72px; z-index: 20; background: color-mix(in oklch, var(--color-paper) 92%, transparent); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); border-block: 1px solid var(--color-rule); }
.gl-bar .container { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-sm) var(--space-lg); padding-block: var(--space-sm); min-height: 0; }
.gl-letters { display: flex; flex-wrap: wrap; gap: 2px; }
.gl-letters a { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 6px; color: var(--color-ink); text-decoration: none; font-family: var(--font-display); }
.gl-letters a:hover, .gl-letters a.on { background: var(--color-accent); color: var(--color-accent-ink); }
.gl-letters a.off { color: var(--color-rule); pointer-events: none; }
.gl-search { margin-left: auto; min-width: 220px; min-height: 40px; padding: 0 var(--space-md); border-radius: 999px; border: 1px solid var(--color-rule); background: var(--color-paper-2); color: var(--color-ink); font: inherit; }
.gl-sec { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: var(--space-xl); padding-block: var(--space-xl); border-bottom: 1px solid var(--color-rule); scroll-margin-top: 150px; }
.gl-sec > h2 { font-size: clamp(3rem, 6vw, 5rem); line-height: .9; color: var(--color-accent); position: sticky; top: 140px; align-self: start; }
.gl-sec dl { margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-md); }
.gl-t { padding: var(--space-lg); border-radius: 12px; border: 1px solid var(--color-rule); background: var(--color-paper-2); display: grid; gap: var(--space-xs); align-content: start; scroll-margin-top: 150px; transition: border-color 300ms; }
.gl-t:target { border-color: var(--color-accent); }
.gl-t dt { font-family: var(--font-display); font-size: var(--text-xl); }
.gl-t dt small { font-family: var(--font-body); font-size: var(--text-xs); color: var(--color-muted); margin-left: 6px; }
.gl-t dd { margin: 0; color: var(--color-ink-2); }
.gl-t dd .link { display: inline-block; margin-top: var(--space-xs); }
.gl-none { padding: var(--space-xl) 0; color: var(--color-muted); }
@media (max-width: 64rem) { .gl-sec { grid-template-columns: minmax(0, 1fr); gap: var(--space-md); } .gl-sec > h2 { position: static; } .gl-sec dl { grid-template-columns: minmax(0, 1fr); } .gl-search { margin-left: 0; width: 100%; } .gl-bar { top: 64px; } }

/* eventi */
.ev { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-md); }
.ev li { display: grid; grid-template-columns: 180px minmax(0, 1fr) 320px; gap: var(--space-xl); align-items: center; padding: var(--space-lg); border-radius: 14px; border: 1px solid var(--color-rule); background: var(--color-paper-2); }
.ev .when { font-family: var(--font-display); }
.ev .when b { display: block; font-size: var(--text-2xl); line-height: 1.05; }
.ev .when span { font-size: var(--text-sm); color: var(--color-accent-2); }
.ev h3 { font-size: var(--text-xl); }
.ev p { margin: var(--space-xs) 0 0; color: var(--color-ink-2); }
.ev .tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: var(--space-sm); }
.ev .tags span { font-size: var(--text-xs); padding: 4px 10px; border-radius: 999px; border: 1px solid var(--color-rule); color: var(--color-muted); }
.ev .img { aspect-ratio: 16 / 10; border-radius: 10px; overflow: clip; }
.ev .img img { width: 100%; height: 100%; object-fit: cover; transition: transform 900ms var(--ease-out); }
.ev li:hover .img img { transform: scale(1.05); }
@media (max-width: 64rem) { .ev li { grid-template-columns: minmax(0, 1fr); gap: var(--space-md); } .ev .img { order: -1; } }

/* ritocchi */
.campo .eyebrow, .azt .eyebrow { font-size: var(--text-xs); letter-spacing: .16em; text-transform: uppercase; color: var(--color-accent-2); }
.nlb { row-gap: 0; }
.nlb .msg { margin-top: var(--space-xs); }

/* inner pages v2: no numbers on the cards, grid adapts to 4 or 5 items */
.steps3 li::before { content: ""; width: 10px; height: 10px; background: var(--color-accent); transform: rotate(45deg); font-size: 0; }
.steps3.st-n4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.steps3.st-n5 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.steps3.st-n5 li { grid-column: span 2; }
.steps3.st-n5 li:nth-child(4) { grid-column: 2 / span 2; }
@media (max-width: 64rem) { .steps3.st-n4, .steps3.st-n5 { grid-template-columns: minmax(0, 1fr); } .steps3.st-n5 li, .steps3.st-n5 li:nth-child(4) { grid-column: auto; } }
.faq p .link { color: var(--color-accent-2); }
