/* Sezione "La citta che si accende": video scrubbed dallo scroll, per paese.
   Wrapper alto 300vh, video sticky: lo scroll pilota currentTime (stile Apple). */
.rd-city-scroll { position: relative; height: 300vh; background: #02040a; }
.rd-city-sticky { position: -webkit-sticky; position: sticky; top: 0; height: 100vh; height: 100svh; overflow: hidden; }
.rd-city-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.rd-city-shade { position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(180deg, rgba(2,4,10,0.55) 0%, rgba(2,4,10,0.06) 32%, rgba(2,4,10,0.06) 64%, rgba(2,4,10,0.66) 100%); }
.rd-city-overlay { position: absolute; inset: 0; display: grid; place-items: center; text-align: center; padding: 0 24px; }
/* Scrim locale dietro il testo (stile Apple): alone scuro radiale al centro,
   il video resta vivo ai bordi */
.rd-city-overlay::before { content: ''; position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(ellipse 62% 44% at 50% 50%, rgba(2,4,10,0.52) 0%, rgba(2,4,10,0.22) 55%, transparent 78%); }
.rd-city-panel { position: relative; }
.rd-city-panel { grid-area: 1 / 1; opacity: 0; will-change: opacity, transform; max-width: 900px; }
.rd-city-panel h2 { font-size: clamp(2.2rem, 5.4vw, 4.6rem); font-weight: 700; letter-spacing: -0.03em;
  line-height: 1.06; color: #f4f9ff; text-shadow: 0 2px 24px rgba(0,0,0,0.55); margin: 0; }
.rd-city-panel p { margin: 16px auto 0; font-size: clamp(1.15rem, 2vw, 1.5rem);
  font-weight: 600; letter-spacing: -0.01em; line-height: 1.4;
  color: rgba(255,255,255,0.94); text-shadow: 0 1px 16px rgba(0,0,0,0.7); max-width: 640px; }
/* Touch: piu' pista per lo scrub. Un flick con inerzia su telefono percorre
   ~2500px (l'intera pista da 300vh): i pannelli lampeggiavano. Con 460vh la
   storia richiede 3-4 swipe; la dissolvenza segue il progresso, non i px. */
@media (pointer: coarse) {
  .rd-city-scroll { height: 460vh; }
}

/* Fallback statico: reduced motion -> un solo schermo col poster e la frase finale */
.rd-city-scroll.is-static { height: 100vh; height: 100svh; }
.rd-city-scroll.is-static .rd-city-panel[data-panel="2"] { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .rd-city-panel { transition: none; } }

/* ── Panel 2: titolo CENTRATO di default (IT/BE); split SOLO in Francia (torre Eiffel) ── */
.rd-city-panel[data-panel="2"] { justify-self: center; align-self: center; text-align: center; max-width: 920px; }
.rd-city-panel[data-panel="2"]::before { content: none; }
.rd-city-panel[data-panel="2"] .rd-city-brand,
.rd-city-panel[data-panel="2"] .rd-city-pred {
  display: inline; font-size: clamp(2.2rem, 5.4vw, 4.6rem); font-weight: 700; letter-spacing: -0.03em;
  line-height: 1.08; color: #f4f9ff; text-shadow: 0 2px 24px rgba(0,0,0,0.55); margin: 0; }
.rd-city-panel[data-panel="2"] .rd-city-brand::after { content: '\00a0'; }
.rd-city-panel[data-panel="2"] p { text-align: center; margin: 16px auto 0; max-width: 640px;
  font-size: clamp(1.15rem, 2vw, 1.5rem); font-weight: 600; color: rgba(255,255,255,0.94); text-shadow: 0 1px 16px rgba(0,0,0,0.7); }

/* SOLO Francia: "Rentadomus" a SINISTRA della torre, predicato a DESTRA, niente aura */
.rd-city--fr .rd-city-panel[data-panel="2"] { position: absolute; inset: 0; max-width: none; margin: 0; justify-self: stretch; text-align: left; }
.rd-city--fr .rd-city-panel[data-panel="2"] .rd-city-brand,
.rd-city--fr .rd-city-panel[data-panel="2"] .rd-city-pred {
  display: block; position: absolute; top: 50%; transform: translateY(-50%); max-width: 46vw;
  text-shadow: 0 2px 30px rgba(0,0,0,0.72), 0 1px 10px rgba(0,0,0,0.5); }
.rd-city--fr .rd-city-panel[data-panel="2"] .rd-city-brand { right: 55%; text-align: right; white-space: nowrap; }
.rd-city--fr .rd-city-panel[data-panel="2"] .rd-city-brand::after { content: none; }
.rd-city--fr .rd-city-panel[data-panel="2"] .rd-city-pred { left: 55%; text-align: left; }
.rd-city--fr .rd-city-panel[data-panel="2"] p {
  position: absolute; right: 55%; top: calc(50% + clamp(2.8rem, 5.4vw, 4.6rem)); text-align: right; max-width: 30ch; margin: 0; }

@media (max-width: 720px){
  .rd-city--fr .rd-city-panel[data-panel="2"] { position: relative; inset: auto; text-align: center; justify-self: center; }
  .rd-city--fr .rd-city-panel[data-panel="2"] .rd-city-brand, .rd-city--fr .rd-city-panel[data-panel="2"] .rd-city-pred { position: static; transform: none; display: inline; text-align: center; white-space: normal; max-width: 90%; }
  .rd-city--fr .rd-city-panel[data-panel="2"] .rd-city-brand::after { content: '\00a0'; }
  .rd-city--fr .rd-city-panel[data-panel="2"] p { position: static; right: auto; top: auto; text-align: center; margin: 14px auto 0; }
}
