

/* ============================ TOKEN ============================ */
.athena-rd {
  --blue-600: #2B53A0;
  --navy-950: #0B1730;
  --navy-900: #112140;
  --blue-700: #22417f;
  --blue-500: #3f6bc0;
  --blue-100: #dbe6fa;
  --blue-50:  #f4f8ff;

  --gold-600: #a8791a;
  --gold-500: #c9962b;
  --gold-300: #ffd98a;
  --gold-200: #ffe6a3;
  --gold-50:  #fff9e6;

  --rosso-600: #b3261e;
  --rosso-50:  #fdeceb;
  --verde-600: #2e7d32;
  --verde-50:  #eef7ee;

  --ink:      #0a2540;
  --slate-700:#3a4b63;
  --slate-600:#526077;
  --slate-400:#8a97ab;
  --line:     #e3e9f3;
  --line-soft:#eef2f9;
  --paper:    #ffffff;
  --canvas:   #f7f9fd;

  --font-display: "Fraunces", "Roboto Slab", Georgia, serif;
  --font-body: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

  --step--1: clamp(0.82rem, 0.79rem + 0.13vw, 0.89rem);
  --step-0:  clamp(1rem, 0.96rem + 0.19vw, 1.11rem);
  --step-1:  clamp(1.19rem, 1.12rem + 0.34vw, 1.39rem);
  --step-2:  clamp(1.41rem, 1.29rem + 0.58vw, 1.74rem);
  --step-3:  clamp(1.68rem, 1.48rem + 0.95vw, 2.18rem);
  --step-4:  clamp(2rem, 1.69rem + 1.5vw, 2.72rem);
  --step-5:  clamp(2.38rem, 1.9rem + 2.32vw, 3.4rem);

  --sp-1: 0.25rem;  --sp-2: 0.5rem;   --sp-3: 0.75rem;  --sp-4: 1rem;
  --sp-5: 1.5rem;   --sp-6: 2rem;     --sp-7: 3rem;     --sp-8: 4rem;
  --sp-9: 6rem;

  --radius-sm: 6px;
  --radius:    12px;
  --radius-lg: 20px;

  --shadow-sm: 0 1px 2px rgba(10, 37, 64, .06), 0 1px 3px rgba(10, 37, 64, .04);
  --shadow:    0 4px 6px -1px rgba(10, 37, 64, .07), 0 2px 4px -2px rgba(10, 37, 64, .05);
  --shadow-lg: 0 20px 25px -5px rgba(10, 37, 64, .08), 0 8px 10px -6px rgba(10, 37, 64, .04);

  --container: 1320px;
  --lettura: 820px;
}

/* ============================ BASE ============================ */
.athena-rd *, .athena-rd *::before, .athena-rd *::after { box-sizing: border-box; }
.athena-rd { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 110px; }
.athena-rd {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--step-0);
  line-height: 1.7;
  color: var(--slate-700);
  background: var(--paper);
  -webkit-font-smoothing: antialiased;
}
.athena-rd img { max-width: 100%; height: auto; display: block; border: 0; border-radius: 0; }
.athena-rd a { color: var(--blue-600); text-underline-offset: 2px; }
.athena-rd a:hover { color: var(--blue-700); }
.athena-rd h1, .athena-rd h2, .athena-rd h3 {
  font-family: var(--font-display);
  color: var(--ink);
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -0.015em;
  margin: 0 0 var(--sp-4);
  font-variation-settings: "SOFT" 0, "WONK" 0;
}
.athena-rd h1 { font-size: var(--step-5); line-height: 1.15; }
.athena-rd h2 { font-size: var(--step-4); }
.athena-rd h3 { font-size: var(--step-1); }
.athena-rd p { margin: 0 0 var(--sp-4); }
.athena-rd p:last-child, .athena-rd ul:last-child { margin-bottom: 0; }
.athena-rd strong, .athena-rd b { color: var(--ink); font-weight: 600; }
.athena-rd [hidden] { display: none !important; }

.athena-rd .container {
  width: 100%;
  max-width: var(--container);
  margin-inline: auto;
  padding-inline: var(--sp-5);
}
.athena-rd .container--lettura { max-width: calc(var(--lettura) + var(--sp-5) * 2); }
.athena-rd .section { padding-block: var(--sp-9); }
.athena-rd .section--tight { padding-block: var(--sp-8); }
.athena-rd .section--canvas { background: var(--canvas); }
.athena-rd .testa { text-align: center; margin-bottom: var(--sp-7); }
.athena-rd .testa h2 { max-width: 22ch; margin-inline: auto; }
/* i testi introduttivi lunghi: colonna piu' larga e allineati a
   sinistra. Centrati e stretti erano faticosi da leggere, perche'
   l'occhio deve ricercare l'inizio di ogni riga */
/* il ">" conta: senza, questa regola azzerava il margine di OGNI
   paragrafo dentro .testa, e i testi lunghi di .testa--lunga si
   attaccavano l'uno all'altro come fossero un blocco solo */
.athena-rd .testa > p,
.athena-rd .testa .prosa {
  color: var(--slate-600);
  max-width: 82ch;
  margin-inline: auto;
  margin-bottom: 0;
}
.athena-rd .testa--lunga .prosa { text-align: left; font-size: var(--step-0); }

.athena-rd .prosa { color: var(--slate-600); font-size: calc(var(--step-0) * .96); }
.athena-rd .prosa p:last-child { margin-bottom: 0; }

/* ============================ PULSANTI ============================ */
.athena-rd .btn {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--sp-2);
  font-family: var(--font-body);
  font-size: var(--step-1);
  font-weight: 600;
  line-height: 1.2;
  padding: 1em 2em;
  border-radius: var(--radius-sm);
  border: 1px solid transparent;
  text-decoration: none;
  text-align: center;
  transition: background-color .18s ease, color .18s ease, border-color .18s ease, transform .18s ease;
}
.athena-rd .btn:hover { transform: translateY(-1px); }
.athena-rd .btn--gold { background: var(--gold-300); color: var(--navy-900); }
.athena-rd .btn--gold:hover { background: var(--gold-200); color: var(--navy-900); }
.athena-rd .btn--blu { background: var(--blue-600); color: #fff; }
.athena-rd .btn--blu:hover { background: var(--blue-700); color: #fff; }
.athena-rd .btn--contorno { border-color: var(--line); color: var(--ink); background: #fff; font-size: var(--step-0); }
.athena-rd .btn--contorno:hover { border-color: var(--blue-600); color: var(--blue-600); }
.athena-rd .centro { text-align: center; }

/* ============================ HERO ============================ */
.athena-rd .hero {
  position: relative;
  background:
    radial-gradient(1100px 620px at 78% -10%, rgba(63,107,192,.45), transparent 62%),
    linear-gradient(160deg, var(--navy-900) 0%, var(--navy-950) 100%);
  color: rgba(255,255,255,.84);
  overflow: hidden;
  /* aria sopra e sotto il titolo:
     --sp-6 = 2rem, --sp-7 = 3rem, --sp-8 = 4rem, --sp-9 = 6rem */
  padding-block: var(--sp-7) var(--sp-9);
}
.athena-rd .hero::after {
  content: "";
  position: absolute; inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: radial-gradient(70% 70% at 50% 30%, #000 30%, transparent 100%);
  pointer-events: none;
}
.athena-rd .hero > .container { position: relative; z-index: 1; }
.athena-rd .hero h1 { color: #fff; max-width: 20ch; }
/* i grassetti dentro l'hero devono essere chiari: la regola generale
   li fa blu scuro, e su fondo navy sparivano. Vale sia per <strong>
   sia per <b>, che e' quello che usa l'editor di WordPress. */
.athena-rd .hero strong, .athena-rd .hero b { color: #fff; }
.athena-rd .hero__lede {
  font-size: var(--step-1);
  color: rgba(255,255,255,.82);
  max-width: 60ch;
  margin-bottom: var(--sp-6);
}
.athena-rd .hero__lede strong { color: #fff; }

/* ============================ TRASPARENZA NEI COSTI ============================ */
.athena-rd .costi {
  background: var(--paper);
  border: 1px solid var(--line);
  border-top: 3px solid var(--gold-300);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-lg);
  padding: var(--sp-7);
  /* la scheda sale a cavallo del bordo dell'hero, ma solo di 2rem:
     con 4rem finiva addosso al pulsante "Richiedi Informazioni" */
  margin-top: calc(var(--sp-6) * -1);
  position: relative;
  z-index: 2;
}
@media (max-width: 640px) { .athena-rd .costi { padding: var(--sp-5); } }
.athena-rd .costi h2 { font-size: var(--step-3); margin-bottom: var(--sp-4); }
.athena-rd .costi p { color: var(--slate-600); }
.athena-rd .costi small {
  display: block;
  margin-top: var(--sp-4);
  padding-top: var(--sp-4);
  border-top: 1px solid var(--line-soft);
  font-size: var(--step--1);
  line-height: 1.6;
  color: var(--slate-400);
}

/* ============================ FRASI IN EVIDENZA ============================ */
.athena-rd .claim {
  display: flex; gap: var(--sp-4);
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.18);
  border-left: 3px solid var(--gold-300);
  border-radius: 0 var(--radius) var(--radius) 0;
  padding: var(--sp-5) var(--sp-6);
  margin-bottom: var(--sp-4);
  color: rgba(255,255,255,.9);
  font-size: var(--step-1);
  line-height: 1.5;
}
.athena-rd .claim svg { width: 22px; height: 22px; flex: none; color: var(--gold-300); margin-top: 5px; }
.athena-rd .claim b { color: var(--gold-300); font-weight: 600; }

/* ============================ TABELLA DEGLI ISCRITTI ============================ */
.athena-rd .iscritti {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  max-width: 720px;
  margin-inline: auto;
  font-size: calc(var(--step-0) * .96);
}
.athena-rd .iscritti thead th {
  background: var(--navy-900);
  color: #fff;
  font-size: var(--step--1);
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  text-align: left;
  padding: var(--sp-4);
  border-bottom: 2px solid var(--gold-500);
}
.athena-rd .iscritti td { padding: var(--sp-3) var(--sp-4); border-top: 1px solid var(--line-soft); color: var(--slate-700); }
.athena-rd .iscritti tbody tr:hover td { background: var(--blue-50); }
.athena-rd .iscritti td:last-child { text-align: center; width: 1%; white-space: nowrap; }

@media (max-width: 640px) {
  /* sul telefono la tabella diventa un elenco di schede: tre colonne
     su 320px sarebbero illeggibili */
  .athena-rd .iscritti, .athena-rd .iscritti tbody, .athena-rd .iscritti tr, .athena-rd .iscritti td { display: block; }
  .athena-rd .iscritti thead { display: none; }
  .athena-rd .iscritti tr { border-top: 1px solid var(--line-soft); padding: var(--sp-3) var(--sp-4); }
  .athena-rd .iscritti tr:first-child { border-top: 0; }
  .athena-rd .iscritti td { border: 0; padding: 0; display: inline; }
  .athena-rd .iscritti td + td::before { content: " "; }
  .athena-rd .iscritti td:last-child { display: inline; width: auto; margin-left: var(--sp-3); }
}

/* ============================ I TRE DOCUMENTI ============================ */
.athena-rd .documenti {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr));
  gap: var(--sp-6);
  align-items: start;
}
.athena-rd .documenti figure { margin: 0; }
.athena-rd .documenti img {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
  background: var(--paper);
}
.athena-rd .documenti figcaption {
  margin-top: var(--sp-3);
  font-size: var(--step--1);
  color: var(--slate-600);
  line-height: 1.5;
  text-align: center;
}

/* ============================ LA CITAZIONE DI FILIPPO ============================ */
.athena-rd .parola {
  background: var(--canvas);
  border: 1px solid var(--line);
  border-left: 3px solid var(--gold-500);
  border-radius: 0 var(--radius) var(--radius) 0;
  padding: var(--sp-6);
  margin-block: var(--sp-6);
}
.athena-rd .parola p { font-style: italic; color: var(--slate-700); }
.athena-rd .parola__chi { display: flex; align-items: center; gap: var(--sp-4); margin-top: var(--sp-5); }
.athena-rd .parola__chi img {
  width: 56px; height: 56px; flex: none;
  border-radius: 50%; object-fit: cover;
  border: 2px solid var(--paper); box-shadow: var(--shadow-sm);
}
.athena-rd .parola__nome { font-family: var(--font-display); font-weight: 600; color: var(--ink); line-height: 1.2; }
.athena-rd .parola__ruolo { font-size: var(--step--1); color: var(--slate-600); }

/* ============================ IL PODCAST ============================ */
/* la riga sopra gli episodi e' una frase, non un titolo: come <h2> a
   tutta forza diventava un titolone di sette righe sul telefono */
.athena-rd .frase {
  font-family: var(--font-display);
  font-size: var(--step-1);
  line-height: 1.4;
  color: var(--slate-700);
  text-align: center;
  max-width: 62ch;
  margin: 0 auto var(--sp-7);
}
.athena-rd .frase::after {
  content: "";
  display: block;
  width: 64px; height: 3px;
  background: var(--gold-500);
  margin: var(--sp-5) auto 0;
}
.athena-rd .podcast { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr)); gap: var(--sp-4); }
.athena-rd .podcast iframe { width: 100%; border: 0; border-radius: var(--radius); }

/* ============================ LE NOTE "N.B." ============================ */
.athena-rd .nota {
  display: flex; gap: var(--sp-4);
  background: var(--gold-50);
  border: 1px solid var(--gold-200);
  border-left: 3px solid var(--gold-500);
  border-radius: 0 var(--radius) var(--radius) 0;
  padding: var(--sp-5) var(--sp-6);
  color: var(--slate-700);
  line-height: 1.6;
  max-width: 82ch;
  margin-inline: auto;
}
.athena-rd .nota svg { width: 22px; height: 22px; flex: none; color: var(--gold-600); margin-top: 3px; }
.athena-rd .nota p { margin: 0; }
.athena-rd .nota--hero {
  background: rgba(255,255,255,.07);
  border-color: rgba(255,255,255,.18);
  border-left-color: var(--gold-300);
  color: rgba(255,255,255,.86);
  margin-inline: 0;
}
.athena-rd .nota--hero svg { color: var(--gold-300); }
.athena-rd .nota--hero b, .athena-rd .nota--hero strong { color: #fff; }

/* ============================ I VIDEO ============================ */
.athena-rd .filmati { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-5); }
@media (max-width: 860px) { .athena-rd .filmati { grid-template-columns: 1fr; } }
.athena-rd .filmato {
  aspect-ratio: 16 / 9;
  border-radius: var(--radius);
  overflow: hidden;
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
  background: var(--navy-950);
}
.athena-rd .filmato iframe { width: 100%; height: 100%; border: 0; display: block; }

/* ============================ TESTIMONIANZE ============================ */
.athena-rd .testimonianze {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr));
  gap: var(--sp-5);
  max-width: 900px;
  margin-inline: auto;
}
.athena-rd .testimonianze img {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
}

/* ============================ LE DOMANDE LUNGHE ============================ */
.athena-rd .approfondimento { max-width: 82ch; margin-inline: auto; }
.athena-rd .approfondimento + .approfondimento { margin-top: var(--sp-7); }
.athena-rd .approfondimento h3 {
  font-size: var(--step-2);
  margin-bottom: var(--sp-4);
}
.athena-rd .approfondimento h3::after {
  content: "";
  display: block;
  width: 56px; height: 3px;
  background: var(--gold-500);
  margin-top: var(--sp-4);
}
.athena-rd .approfondimento .prosa { font-size: var(--step-0); }

/* ============================ QUANTO VALE ============================ */
.athena-rd .valore {
  max-width: 82ch;
  margin: 0 auto var(--sp-7);
  text-align: center;
}
.athena-rd .valore h3 {
  font-size: var(--step-3);
  margin-bottom: var(--sp-5);
}
.athena-rd .valore h3::after {
  content: "";
  display: block;
  width: 72px; height: 3px;
  background: var(--gold-500);
  margin: var(--sp-5) auto 0;
}
.athena-rd .valore p { color: var(--slate-600); text-align: left; }

/* ============================ PERCHE' LE PERSONE SCELGONO ============================ */
.athena-rd .perche { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-8); align-items: center; }
@media (max-width: 900px) { .athena-rd .perche { grid-template-columns: 1fr; gap: var(--sp-6); } }
.athena-rd .perche img { border-radius: var(--radius); box-shadow: var(--shadow-lg); }
.athena-rd .perche__titolo {
  font-family: var(--font-display);
  font-size: var(--step-3);
  font-weight: 600;
  line-height: 1.25;
  color: var(--ink);
  margin: 0;
}
.athena-rd .perche__titolo::after {
  content: "";
  display: block;
  width: 72px; height: 3px;
  background: var(--gold-500);
  margin-top: var(--sp-5);
}

/* la citazione sotto ogni voce */
.athena-rd .voce-cliente {
  margin-top: var(--sp-4);
  padding: var(--sp-4) var(--sp-5);
  background: var(--gold-50);
  border-left: 3px solid var(--gold-500);
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  font-style: italic;
  font-size: calc(var(--step-0) * .95);
  line-height: 1.6;
  color: var(--slate-700);
}
.athena-rd .voce-cliente p { margin: 0; }
.athena-rd .voce-cliente p + p { margin-top: var(--sp-3); }

/* ============================ BENEFICI ============================ */
/* il min(...) non e' un vezzo: senza, su un telefono da 320-375px le
   schede restano larghe quanto il minimo (fino a 440px) e sbordano
   fuori dallo schermo a destra */
.athena-rd .griglia-3 {
  display: grid;
  gap: var(--sp-5);
  grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr));
}
/* i sei servizi su tre colonne (3+3) e non su quattro (4+2):
   la soglia piu' alta impedisce alla griglia di fare la quarta */
/* qui i servizi sono quattro: due per riga */
.athena-rd .griglia-3--servizi { grid-template-columns: repeat(auto-fit, minmax(min(440px, 100%), 1fr)); }
.athena-rd .beneficio, .athena-rd .servizio, .athena-rd .pilastro, .athena-rd .passo {
  position: relative;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
  padding: var(--sp-6);
  overflow: hidden;
  transition: box-shadow .25s ease, border-color .25s ease, transform .25s ease;
}
/* al passaggio del mouse: la scheda si alza, il bordo si accende e in
   cima compare un filetto blu che si apre da sinistra a destra */
.athena-rd .beneficio::before, .athena-rd .servizio::before,
.athena-rd .pilastro::before, .athena-rd .passo::before {
  content: "";
  position: absolute; top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--blue-600), var(--gold-500));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .3s ease;
}
.athena-rd .beneficio:hover, .athena-rd .servizio:hover,
.athena-rd .pilastro:hover, .athena-rd .passo:hover {
  box-shadow: var(--shadow-lg);
  border-color: var(--blue-100);
  transform: translateY(-4px);
}
.athena-rd .beneficio:hover::before, .athena-rd .servizio:hover::before,
.athena-rd .pilastro:hover::before, .athena-rd .passo:hover::before { transform: scaleX(1); }

/* le icone e i disegni si ingrandiscono appena */
.athena-rd .beneficio img, .athena-rd .pilastro img,
.athena-rd .servizio__ico, .athena-rd .passo__ico {
  transition: transform .3s ease;
}
.athena-rd .beneficio:hover img, .athena-rd .pilastro:hover img,
.athena-rd .servizio:hover .servizio__ico, .athena-rd .passo:hover .passo__ico {
  transform: scale(1.08);
}

/* il titolo della scheda passa al blu */
.athena-rd .beneficio h3, .athena-rd .servizio h3,
.athena-rd .pilastro h3, .athena-rd .passo h3 { transition: color .25s ease; }
.athena-rd .beneficio:hover h3, .athena-rd .servizio:hover h3,
.athena-rd .pilastro:hover h3, .athena-rd .passo:hover h3 { color: var(--blue-600); }

/* la scheda con la foto di Giacomo e le domande frequenti */
.athena-rd .referente { transition: box-shadow .25s ease, transform .25s ease, border-color .25s ease; }
.athena-rd .referente:hover {
  box-shadow: var(--shadow-lg);
  border-color: var(--blue-100);
  transform: translateY(-3px);
}

@media (prefers-reduced-motion: reduce) {
  .athena-rd .beneficio, .athena-rd .servizio, .athena-rd .pilastro,
  .athena-rd .passo, .athena-rd .referente, .athena-rd .colonna-c { transition: none; }
  .athena-rd .beneficio:hover, .athena-rd .servizio:hover, .athena-rd .pilastro:hover,
  .athena-rd .passo:hover, .athena-rd .referente:hover, .athena-rd .colonna-c:hover { transform: none; }
}
.athena-rd .beneficio img, .athena-rd .pilastro img {
  width: 72px; height: auto;
  margin-bottom: var(--sp-4);
}
.athena-rd .pilastro p { color: var(--slate-600); font-size: calc(var(--step-0) * .96); }

/* l'immagine E' gia' una tabella con la sua cornice: incorniciarla di
   nuovo faceva "tabella dentro tabella". Qui solo un'ombra morbida */
.athena-rd .tabella-benefici {
  margin-top: var(--sp-6);
  border-radius: var(--radius);
  overflow: hidden;
  filter: drop-shadow(0 12px 24px rgba(10,37,64,.10));
}
/* l'immagine e' piu' stretta della colonna: senza questo resta
   appoggiata a sinistra invece di stare in mezzo */
.athena-rd .tabella-benefici img { margin-inline: auto; }

/* ============================ SERVIZI INCLUSI ============================ */
.athena-rd .servizio__ico {
  display: block;
  width: 62px; height: 62px;
  margin-bottom: var(--sp-4);
}
.athena-rd .servizio__ico svg { width: 100%; height: 100%; display: block; }

/* ============================ VERRAI RICONTATTATO ============================ */
.athena-rd .referente {
  display: flex; align-items: center; gap: var(--sp-5);
  background: var(--canvas);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: var(--sp-5) var(--sp-6);
  max-width: 560px;
  margin-inline: auto;
}
@media (max-width: 520px) { .athena-rd .referente { flex-direction: column; text-align: center; } }
/* la foto ha una cornice blu disegnata DENTRO l'immagine: ritagliata a
   cerchio si vedevano gli archi blu agli angoli. Si ingrandisce del
   26% dentro la maschera tonda, cosi' la cornice resta fuori */
.athena-rd .referente__foto {
  width: 96px; height: 96px; flex: none;
  border-radius: 50%;
  overflow: hidden;
  border: 3px solid var(--paper);
  box-shadow: var(--shadow);
  background: var(--paper);
}
.athena-rd .referente__foto img {
  width: 100%; height: 100%;
  object-fit: cover;
  transform: scale(1.26);
}
.athena-rd .referente__occhiello {
  font-size: var(--step--1);
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--gold-600);
  margin-bottom: var(--sp-2);
}
.athena-rd .referente__nome {
  font-family: var(--font-display);
  font-size: var(--step-1);
  font-weight: 600;
  color: var(--ink);
  line-height: 1.2;
  margin-bottom: var(--sp-1);
}
.athena-rd .referente__ruolo { font-size: var(--step--1); color: var(--slate-600); margin: 0; }

/* ============================ IL CONFRONTO ============================ */
.athena-rd .confronto__intro {
  text-align: center;
  font-family: var(--font-display);
  font-size: var(--step-3);
  font-weight: 600;
  color: var(--ink);
  line-height: 1.25;
  max-width: 26ch;
  margin: 0 auto var(--sp-7);
}
.athena-rd .confronto__intro::after {
  content: "";
  display: block;
  width: 72px; height: 3px;
  background: var(--gold-500);
  margin: var(--sp-5) auto 0;
}

.athena-rd .confronto {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: var(--sp-5);
  align-items: stretch;
}
@media (max-width: 880px) {
  .athena-rd .confronto { grid-template-columns: 1fr; gap: var(--sp-4); }
}

/* il segno in mezzo alle due colonne: un rombo, non una parola.
   Avevo scritto "vs", ma sarebbe stata una parola in piu' in una
   pagina in cui non se ne deve aggiungere nessuna */
.athena-rd .confronto__segno {
  align-self: center;
  width: 44px; height: 44px;
  display: grid; place-items: center;
  border-radius: 50%;
  background: var(--paper);
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
}
.athena-rd .confronto__segno::before {
  content: "";
  width: 12px; height: 12px;
  background: var(--gold-500);
  transform: rotate(45deg);
  border-radius: 2px;
}
@media (max-width: 880px) {
  .athena-rd .confronto__segno { justify-self: center; }
}

.athena-rd .colonna-c {
  display: flex; flex-direction: column;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  transition: box-shadow .25s ease, transform .25s ease;
}
.athena-rd .colonna-c:hover { box-shadow: var(--shadow-lg); transform: translateY(-3px); }

/* quella indipendente e' la nostra: sta un gradino piu' in evidenza */
.athena-rd .colonna-c--si {
  border-color: rgba(46,125,50,.35);
  box-shadow: 0 12px 28px -10px rgba(46,125,50,.28);
}

.athena-rd .colonna-c__testa {
  display: flex; align-items: center; gap: var(--sp-3);
  padding: var(--sp-5) var(--sp-6);
  color: #fff;
}
.athena-rd .colonna-c--no .colonna-c__testa { background: linear-gradient(135deg, #c33a31, var(--rosso-600)); }
.athena-rd .colonna-c--si .colonna-c__testa { background: linear-gradient(135deg, #3a9440, var(--verde-600)); }
.athena-rd .colonna-c__testa h3 { margin: 0; font-size: var(--step-1); color: #fff; }
.athena-rd .colonna-c__segno {
  width: 34px; height: 34px; flex: none;
  display: grid; place-items: center;
  border-radius: 50%;
  background: rgba(255,255,255,.18);
  border: 1px solid rgba(255,255,255,.3);
}
.athena-rd .colonna-c__segno svg { width: 17px; height: 17px; stroke: #fff; }

.athena-rd .colonna-c ul { list-style: none; margin: 0; padding: var(--sp-4) var(--sp-6) var(--sp-6); }
.athena-rd .colonna-c li {
  position: relative;
  padding: var(--sp-4) 0 var(--sp-4) 2.2rem;
  border-bottom: 1px solid var(--line-soft);
  color: var(--slate-600);
  font-size: calc(var(--step-0) * .96);
  line-height: 1.55;
}
.athena-rd .colonna-c li:last-child { border-bottom: 0; padding-bottom: 0; }
.athena-rd .colonna-c li::before {
  content: "";
  position: absolute; left: 0; top: calc(var(--sp-4) + .18em);
  width: 22px; height: 22px;
  border-radius: 50%;
}
.athena-rd .colonna-c--no li::before {
  background: var(--rosso-50) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b3261e' stroke-width='3.2' stroke-linecap='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'/%3E%3Cline x1='6' y1='6' x2='18' y2='18'/%3E%3C/svg%3E") center / 11px no-repeat;
}
.athena-rd .colonna-c--si li::before {
  background: var(--verde-50) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232e7d32' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center / 12px no-repeat;
}
.athena-rd .colonna-c--si li { color: var(--slate-700); }

/* ============================ COME LAVORIAMO ============================ */
.athena-rd .passo { text-align: center; }
/* NIENTE pallino numerato aggiunto da me: le icone originali dei tre
   passi sono gia' i numeri 1, 2 e 3. Sommandoli il numero compariva
   due volte. */
.athena-rd .passo__ico { display: block; width: 64px; height: 64px; margin: 0 auto var(--sp-4); }
.athena-rd .passo__ico svg { width: 100%; height: 100%; display: block; }
.athena-rd .passo p { color: var(--slate-600); font-size: calc(var(--step-0) * .96); margin: 0; }

/* ============================ DOMANDE FREQUENTI ============================ */
.athena-rd .faq {
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
  margin-bottom: var(--sp-3);
  overflow: hidden;
}
.athena-rd .faq:last-child { margin-bottom: 0; }
.athena-rd .faq[open] { border-color: var(--blue-100); box-shadow: var(--shadow); }
.athena-rd .faq > summary {
  display: flex; align-items: flex-start; justify-content: space-between; gap: var(--sp-4);
  padding: var(--sp-5) var(--sp-6);
  cursor: pointer;
  list-style: none;
  font-weight: 600;
  line-height: 1.5;
  color: var(--ink);
}
.athena-rd .faq > summary::-webkit-details-marker { display: none; }
.athena-rd .faq > summary:hover { color: var(--blue-600); }
.athena-rd .faq > summary::after {
  content: "";
  width: 22px; height: 22px; flex: none; margin-top: 2px;
  border-radius: 50%;
  background: var(--blue-50) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232B53A0' stroke-width='2.6' stroke-linecap='round'%3E%3Cline x1='12' y1='5' x2='12' y2='19'/%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3C/svg%3E") center / 13px no-repeat;
}
.athena-rd .faq[open] > summary::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232B53A0' stroke-width='2.6' stroke-linecap='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3C/svg%3E");
}
.athena-rd .faq__corpo { padding: 0 var(--sp-6) var(--sp-5); color: var(--slate-600); }
.athena-rd .faq__corpo > *:first-child { margin-top: 0; }
.athena-rd .faq__corpo ul, .athena-rd .faq__corpo ol { margin: 0 0 var(--sp-4); padding-left: 1.3rem; }
@media (max-width: 640px) {
  .athena-rd .faq > summary { padding: var(--sp-4) var(--sp-5); }
  .athena-rd .faq__corpo { padding: 0 var(--sp-5) var(--sp-5); }
}

/* ============================ CHIUSURA ============================ */
.athena-rd .cta-band {
  background: linear-gradient(150deg, var(--navy-900), var(--navy-950));
  border-radius: var(--radius-lg);
  padding: var(--sp-8);
  text-align: center;
  color: rgba(255,255,255,.82);
}
.athena-rd .cta-band h2 { color: #fff; font-size: var(--step-3); margin-bottom: var(--sp-6); max-width: 22ch; margin-inline: auto; }

/* rete di sicurezza per il telefono: niente puo' sporgere di lato.
   Le parole lunghissime (URL, "compravendita") vanno a capo invece di
   allargare la pagina */
.athena-rd { overflow-x: hidden; }
.athena-rd h1, .athena-rd h2, .athena-rd h3, .athena-rd p, .athena-rd li, .athena-rd a {
  overflow-wrap: break-word;
}
.athena-rd img, .athena-rd svg { max-width: 100%; }

.athena-rd :focus-visible { outline: 2px solid var(--blue-500); outline-offset: 3px; border-radius: 2px; }

@media (prefers-reduced-motion: reduce) {
  .athena-rd { scroll-behavior: auto; }
  .athena-rd *, .athena-rd *::before, .athena-rd *::after {
    animation-duration: .01ms !important; transition-duration: .01ms !important;
  }
}

/* FIX: il menu deve stare sopra al contenuto della pagina. */
.elementor-location-header { position: relative; z-index: 100; }
.elementor-location-header .elementor-nav-menu--dropdown { z-index: 101; }

/* L'header chiude con una riga di 1px color #e3e9f3: sulle pagine
   bianche serve, qui sotto c'e' il navy dell'hero e si legge come una
   strisciolina chiara. Questo CSS sta solo in questa pagina. */
.athena-hd__bar { border-bottom: 0 !important; }

/* il widget HTML non deve aggiungere margini o padding suoi */
.elementor-7569 .elementor-widget-html:has(.athena-rd) { margin: 0 !important; }
.elementor-7569 .elementor-widget-wrap:has(> .elementor-widget-html > .elementor-widget-container > .athena-rd),
.elementor-7569 .elementor-column:has(> .elementor-widget-wrap > .elementor-widget-html > .elementor-widget-container > .athena-rd) {
  padding: 0 !important;
}

/* ==================================================================
   LA FASCIA SCURA
   .athena-rd si dipinge addosso il bianco: senza questa classe una
   sezione blu resterebbe bianca.
   ================================================================== */
.athena-rd .section--navy {
  background: linear-gradient(165deg, var(--navy-900), var(--navy-950));
  color: rgba(255,255,255,.78);
}
.athena-rd .section--navy h2,
.athena-rd .section--navy h3 { color: #fff; }
.athena-rd .section--navy .testa p,
.athena-rd .section--navy .testa .prosa { color: rgba(255,255,255,.72); }
.athena-rd .section--navy strong,
.athena-rd .section--navy b { color: #fff; }
.athena-rd .section--navy a { color: var(--gold-300); }
.athena-rd .section--navy .testa h2::after { background: var(--gold-300); }

/* ==================================================================
   L'APERTURA
   Il vincolo: deve stare tutta nella prima schermata. Per questo il
   testo lungo che stava qui sotto e' diventato la fascia dei tre punti
   subito sotto - stesse parole, ma fuori dalla piega.
   ================================================================== */
.athena-rd .apertura {
  background:
    radial-gradient(1100px 520px at 78% -8%, rgba(63,107,192,.30), transparent 62%),
    linear-gradient(160deg, var(--navy-900) 0%, var(--navy-950) 62%);
  color: rgba(255,255,255,.8);
  padding-block: var(--sp-6) var(--sp-7);
  position: relative;
  overflow: hidden;
}
.athena-rd .apertura__griglia {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(310px, .85fr);
  gap: var(--sp-7);
  align-items: start;
}
.athena-rd .apertura__occhiello {
  display: flex; align-items: center; gap: var(--sp-3);
  font-size: var(--step--1);
  letter-spacing: .14em; text-transform: uppercase;
  color: var(--gold-300); font-weight: 500;
  margin-bottom: var(--sp-4);
}
.athena-rd .apertura__occhiello::before {
  content: ""; width: 30px; height: 2px; background: var(--gold-300); flex: none;
}
.athena-rd .apertura h1 {
  color: #fff;
  font-size: clamp(1.8rem, 1.35rem + 1.9vw, 2.55rem);
  line-height: 1.08;
  letter-spacing: -.022em;
  max-width: 18ch;
  margin-bottom: var(--sp-4);
  text-wrap: balance;
}
.athena-rd .apertura h1 em { font-style: normal; color: var(--gold-300); }
.athena-rd .apertura__testo { max-width: 62ch; font-size: calc(var(--step-0) * .97); line-height: 1.62; }
.athena-rd .apertura__testo p { color: rgba(255,255,255,.8); margin-bottom: var(--sp-4); }
.athena-rd .apertura__testo strong { color: #fff; }
.athena-rd .apertura__azioni {
  display: flex; flex-wrap: wrap; gap: var(--sp-3);
  margin: var(--sp-5) 0 0;
}
/* nell'apertura i pulsanti sono piu' compatti: quello lungo occupa da
   solo mezza colonna, e alla misura piena l'apertura non ci stava */
.athena-rd .apertura__azioni .btn { padding: .78em 1.5em; font-size: calc(var(--step-0) * .93); }
.athena-rd .apertura__privacy {
  display: flex; gap: var(--sp-4);
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.16);
  border-left: 3px solid var(--gold-300);
  border-radius: 0 var(--radius) var(--radius) 0;
  padding: var(--sp-4) var(--sp-5);
  font-size: calc(var(--step-0) * .93);
  line-height: 1.55;
  color: rgba(255,255,255,.76);
  max-width: 64ch;
}
.athena-rd .apertura__privacy svg { width: 19px; height: 19px; flex: none; color: var(--gold-300); margin-top: 3px; }
.athena-rd .apertura__privacy strong { color: #fff; }

/* i grassetti su fondo scuro: la regola generale li fa blu scuro e qui
   sparirebbero */
.athena-rd .apertura strong, .athena-rd .apertura b { color: #fff; }

/* la riga dei numeri, larga quanto la sezione: in colonna, accanto al
   volto, le tre frasi lunghe da sole facevano 400 pixel e l'apertura
   non stava piu' nello schermo */
.athena-rd .apertura__numeri {
  margin-top: var(--sp-5);
  padding-top: var(--sp-5);
  border-top: 1px solid rgba(255,255,255,.14);
  display: grid;
  grid-template-columns: minmax(0, 240px) minmax(0, 1fr);
  gap: var(--sp-4) var(--sp-6);
  align-items: start;
}
.athena-rd .apertura__numeri-griglia {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr));
  gap: var(--sp-5);
}
.athena-rd .fiducia__etichetta {
  font-family: var(--font-display);
  font-size: var(--step-1);
  font-weight: 600;
  color: #fff;
  line-height: 1.2;
  margin-bottom: var(--sp-2);
}
.athena-rd .fiducia__nota { font-size: var(--step--1); color: rgba(255,255,255,.55); line-height: 1.45; }
@media (max-width: 900px) {
  .athena-rd .apertura__numeri { grid-template-columns: 1fr; }
}

/* la colonna di destra: premio, citazione, volto */
.athena-rd .fiducia {
  background: rgba(255,255,255,.055);
  border: 1px solid rgba(255,255,255,.16);
  border-radius: var(--radius-lg);
  padding: var(--sp-6);
  backdrop-filter: blur(2px);
}
.athena-rd .fiducia__premio {
  display: inline-flex; flex-direction: column; gap: 4px;
  border: 1px solid rgba(255,217,138,.42);
  border-radius: var(--radius-sm);
  padding: var(--sp-3) var(--sp-4);
  margin-bottom: var(--sp-5);
}
.athena-rd .fiducia__stelle { color: var(--gold-300); font-size: 13px; letter-spacing: .18em; }
.athena-rd .fiducia__premio span:last-child {
  font-size: var(--step--1); letter-spacing: .1em; text-transform: uppercase;
  color: rgba(255,255,255,.82); line-height: 1.35;
}
.athena-rd .fiducia__voce {
  font-family: var(--font-display);
  font-size: var(--step-2);
  font-style: italic;
  line-height: 1.32;
  color: #fff;
  margin: 0 0 var(--sp-5);
  position: relative;
  padding-left: var(--sp-5);
}
.athena-rd .fiducia__voce::before {
  content: "\201C";
  position: absolute; left: -4px; top: -.18em;
  font-size: 3.2rem; line-height: 1;
  color: rgba(255,217,138,.42);
}
.athena-rd .fiducia__voce strong { color: var(--gold-300); font-style: normal; }
.athena-rd .fiducia__chi { display: flex; align-items: center; gap: var(--sp-4); }
.athena-rd .fiducia__chi img {
  width: 62px; height: 62px; flex: none;
  border-radius: 50%; object-fit: cover; object-position: 50% 18%;
  border: 2px solid rgba(255,217,138,.5);
}
.athena-rd .fiducia__nome { font-family: var(--font-display); font-weight: 600; color: #fff; line-height: 1.25; }
.athena-rd .fiducia__ruolo {
  font-size: var(--step--1); letter-spacing: .1em; text-transform: uppercase;
  color: rgba(255,255,255,.55);
}
.athena-rd .fiducia__numero b {
  display: block;
  font-family: var(--font-display);
  font-size: clamp(1.6rem, 1.2rem + 1.4vw, 2.1rem);
  font-weight: 600;
  color: var(--gold-300);
  line-height: 1;
  margin-bottom: var(--sp-2);
  font-variant-numeric: tabular-nums;
}
.athena-rd .fiducia__numero span { display: block; font-size: var(--step--1); line-height: 1.45; color: rgba(255,255,255,.7); }
.athena-rd .fiducia__numero strong { color: #fff; }

@media (max-width: 1000px) {
  .athena-rd .apertura__griglia { grid-template-columns: 1fr; gap: var(--sp-6); }
  .athena-rd .apertura h1 { max-width: none; }
}

/* ==================================================================
   I TRE PUNTI SOTTO L'APERTURA
   Erano tre righe di testo dentro l'hero, una sotto l'altra: come
   terzetto si leggono meglio, e l'apertura ci sta nello schermo.
   ================================================================== */
.athena-rd .tris {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr));
  gap: 0;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
}
.athena-rd .tris > div {
  padding: var(--sp-5) var(--sp-6);
  border-left: 1px solid var(--line-soft);
  font-size: calc(var(--step-0) * .96);
  line-height: 1.6;
  color: var(--slate-600);
}
.athena-rd .tris > div:first-child { border-left: 0; }
/* i grassetti restano dentro la frase: mettendoli a capo, la riga
   "Lavoriamo esclusivamente a parcella fissa (flat fee)" lasciava sotto
   una virgola orfana */
.athena-rd .tris strong { color: var(--ink); }
.athena-rd .tris em { color: var(--slate-600); }
@media (max-width: 880px) {
  .athena-rd .tris > div { border-left: 0; border-top: 1px solid var(--line-soft); }
  .athena-rd .tris > div:first-child { border-top: 0; }
}

/* la fascia sotto l'apertura: la riga sulla privacy e i due sigilli */
.athena-rd .sotto-apertura {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
  gap: var(--sp-4);
  margin-top: var(--sp-4);
  align-items: stretch;
}
.athena-rd .sotto-apertura .nota { margin: 0; max-width: none; align-items: flex-start; }
.athena-rd .sigilli {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(160px, 100%), 1fr));
  gap: 0;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
}
.athena-rd .sigilli > div {
  padding: var(--sp-4) var(--sp-5);
  border-left: 1px solid var(--line-soft);
  font-size: calc(var(--step-0) * .92);
  color: var(--slate-600);
  line-height: 1.45;
}
.athena-rd .sigilli > div:first-child { border-left: 0; }
.athena-rd .sigilli strong {
  display: block;
  font-family: var(--font-body);
  font-size: var(--step--1);
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--gold-600);
  margin-bottom: var(--sp-2);
}
@media (max-width: 880px) {
  .athena-rd .sotto-apertura { grid-template-columns: 1fr; }
  .athena-rd .sigilli > div { border-left: 0; border-top: 1px solid var(--line-soft); }
  .athena-rd .sigilli > div:first-child { border-top: 0; }
}

/* ==================================================================
   I LOGHI DELLA STAMPA
   Era un carosello Elementor con Swiper. Qui scorre da solo con una
   animazione CSS, e si ferma se ci passi sopra o se il sistema chiede
   meno movimento. Le due copie servono a far tornare il giro.
   ================================================================== */
.athena-rd .loghi { overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
.athena-rd .loghi__nastro { display: flex; width: max-content; animation: athena-scorri 42s linear infinite; }
.athena-rd .loghi:hover .loghi__nastro, .athena-rd .loghi:focus-within .loghi__nastro { animation-play-state: paused; }
.athena-rd .loghi__gruppo { display: flex; align-items: center; gap: var(--sp-8); padding-right: var(--sp-8); }
.athena-rd .loghi img {
  height: 40px; width: auto; max-width: none;
  object-fit: contain;
  filter: grayscale(1); opacity: .6;
  transition: filter .25s ease, opacity .25s ease;
}
.athena-rd .loghi img:hover { filter: none; opacity: 1; }
@keyframes athena-scorri { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) {
  .athena-rd .loghi__nastro { animation: none; flex-wrap: wrap; width: auto; justify-content: center; gap: var(--sp-6); }
  .athena-rd .loghi__gruppo:last-child { display: none; }
}

/* la riga "collaborazioni: nessuna" */
.athena-rd .zero {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: center;
  gap: var(--sp-3) var(--sp-5);
  margin-top: var(--sp-6);
  padding: var(--sp-4) var(--sp-5);
  background: var(--gold-50);
  border: 1px solid var(--gold-200);
  border-radius: 999px;
  width: fit-content;
  margin-inline: auto;
  text-align: center;
  font-size: calc(var(--step-0) * .96);
  color: var(--slate-700);
}
.athena-rd .zero b { color: var(--ink); }
.athena-rd .zero__sigillo {
  display: inline-flex; align-items: center; gap: var(--sp-2);
  font-weight: 600; color: var(--gold-600);
}
.athena-rd .zero__sigillo svg { width: 18px; height: 18px; }

/* l'occhiello sopra il titolo delle due colonne del confronto */
.athena-rd .colonna-c__occhiello {
  font-size: var(--step--1);
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(255,255,255,.78);
  margin: 0 0 2px;
}

/* ==================================================================
   I NUMERI
   Prima erano due sezioni separate a due schermate di distanza, con gli
   stessi numeri detti due volte: qui stanno insieme.
   ================================================================== */
.athena-rd .numeri {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(250px, 100%), 1fr));
  gap: var(--sp-5);
}
.athena-rd .numero {
  padding: var(--sp-6);
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: var(--radius);
}
.athena-rd .numero b {
  display: block;
  font-family: var(--font-display);
  font-size: clamp(1.9rem, 1.4rem + 1.9vw, 2.7rem);
  font-weight: 600;
  line-height: 1;
  color: var(--gold-300);
  margin-bottom: var(--sp-4);
  font-variant-numeric: tabular-nums;
}
.athena-rd .numero p { font-size: calc(var(--step-0) * .95); line-height: 1.6; color: rgba(255,255,255,.74); margin: 0; }
.athena-rd .numero strong { color: #fff; }

/* la stessa griglia su fondo chiaro: senza questa variante i numeri di
   "Chi siamo" restavano bianchi su bianco */
.athena-rd .numeri--chiaro { margin-top: var(--sp-7); }
.athena-rd .numeri--chiaro .numero {
  background: var(--paper);
  border-color: var(--line);
  box-shadow: var(--shadow-sm);
}
.athena-rd .numeri--chiaro .numero b { color: var(--gold-600); }
.athena-rd .numeri--chiaro .numero p { color: var(--slate-600); }
.athena-rd .numeri--chiaro .numero strong { color: var(--ink); }

/* ==================================================================
   I RENDICONTI VERI
   Si aprono grandi con :target, senza JavaScript: il vecchio blocco
   aveva un visore scritto a mano.
   ================================================================== */
.athena-rd .rendiconti {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr));
  gap: var(--sp-5);
}
.athena-rd .rendiconto {
  display: block;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
  background: var(--paper);
  box-shadow: var(--shadow-sm);
  transition: transform .25s ease, box-shadow .25s ease;
  position: relative;
}
.athena-rd .rendiconto:hover { transform: translateY(-3px); box-shadow: var(--shadow-lg); }
.athena-rd .rendiconto img { width: 100%; display: block; }
.athena-rd .rendiconto::after {
  content: "";
  position: absolute; right: var(--sp-4); bottom: var(--sp-4);
  width: 34px; height: 34px;
  border-radius: 50%;
  background: rgba(11,23,48,.82) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffd98a' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.6-3.6M11 8.4v5.2M8.4 11h5.2'/%3E%3C/svg%3E") center / 19px no-repeat;
}
.athena-rd .lente {
  position: fixed; inset: 0; z-index: 300;
  display: none;
  align-items: center; justify-content: center;
  padding: var(--sp-5);
  background: rgba(6,13,28,.92);
}
.athena-rd .lente:target { display: flex; }
.athena-rd .lente img { max-width: min(1100px, 96vw); max-height: 88vh; width: auto; border-radius: var(--radius-sm); }
.athena-rd .lente__chiudi {
  position: absolute; top: var(--sp-5); right: var(--sp-5);
  width: 44px; height: 44px;
  display: flex; align-items: center; justify-content: center;
  border-radius: 50%;
  background: rgba(255,255,255,.12);
  color: #fff; font-size: 26px; line-height: 1; text-decoration: none;
}
.athena-rd .lente__chiudi:hover { background: rgba(255,255,255,.22); color: #fff; }
.athena-rd .lente__fondo { position: absolute; inset: 0; }

/* ==================================================================
   CHI POSSIAMO AIUTARE
   ================================================================== */
.athena-rd .profilo { overflow: hidden; padding: 0; }
.athena-rd .profilo img { width: 100%; height: 190px; object-fit: cover; display: block; }
.athena-rd .profilo__corpo { padding: var(--sp-5) var(--sp-6) var(--sp-6); }
.athena-rd .profilo__occhiello {
  font-size: var(--step--1); letter-spacing: .12em; text-transform: uppercase;
  color: var(--blue-600); font-weight: 600; margin-bottom: var(--sp-3);
}
.athena-rd .profilo h3 { font-size: var(--step-1); margin-bottom: var(--sp-4); }
.athena-rd .profilo p { font-size: calc(var(--step-0) * .94); color: var(--slate-600); }

.athena-rd .livelli {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(210px, 100%), 1fr));
  gap: 0;
  margin-top: var(--sp-6);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
  background: var(--paper);
}
.athena-rd .livelli > div { padding: var(--sp-5); border-left: 1px solid var(--line-soft); }
.athena-rd .livelli > div:first-child { border-left: 0; }
.athena-rd .livelli b {
  display: block;
  font-family: var(--font-display);
  font-size: var(--step-1);
  color: var(--ink);
  margin-bottom: var(--sp-2);
}
.athena-rd .livelli b::after {
  content: ""; display: block; width: 34px; height: 2px;
  background: var(--gold-500); margin-top: var(--sp-3);
}
.athena-rd .livelli p { font-size: var(--step--1); color: var(--slate-600); margin: var(--sp-3) 0 0; }
@media (max-width: 900px) {
  .athena-rd .livelli > div { border-left: 0; border-top: 1px solid var(--line-soft); }
  .athena-rd .livelli > div:first-child { border-top: 0; }
}

.athena-rd .spunte { list-style: none; padding: 0; margin: var(--sp-4) 0 0; display: flex; flex-wrap: wrap; gap: var(--sp-3) var(--sp-6); }
.athena-rd .spunte li { display: flex; align-items: flex-start; gap: var(--sp-3); font-size: calc(var(--step-0) * .94); }
.athena-rd .spunte li::before {
  content: ""; width: 17px; height: 17px; flex: none; margin-top: 3px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c9962b' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* ==================================================================
   I SERVIZI
   ================================================================== */
.athena-rd .servizio-guida {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--sp-6);
  align-items: center;
  background: var(--canvas);
  border: 1px solid var(--line);
  border-left: 3px solid var(--gold-500);
  border-radius: 0 var(--radius) var(--radius) 0;
  padding: var(--sp-6);
  margin-bottom: var(--sp-6);
}
.athena-rd .servizio-guida h3 { font-size: var(--step-2); margin-bottom: var(--sp-3); }
.athena-rd .servizio-guida p { color: var(--slate-600); font-size: calc(var(--step-0) * .96); margin: 0; }
.athena-rd .servizio-guida__azione { text-align: center; }
.athena-rd .servizio-guida__azione p { font-size: var(--step--1); margin-top: var(--sp-3); }
@media (max-width: 780px) {
  .athena-rd .servizio-guida { grid-template-columns: 1fr; }
  .athena-rd .servizio-guida__azione { text-align: left; }
}

.athena-rd .griglia-servizi { grid-template-columns: repeat(auto-fit, minmax(min(460px, 100%), 1fr)); }
.athena-rd .scheda-servizio { display: flex; flex-direction: column; }
.athena-rd .scheda-servizio h3 { font-size: var(--step-1); margin-bottom: var(--sp-3); }
.athena-rd .scheda-servizio p { color: var(--slate-600); font-size: calc(var(--step-0) * .94); }
.athena-rd .scheda-servizio .pillola {
  display: inline-block;
  align-self: flex-start;
  font-size: var(--step--1);
  font-weight: 600;
  color: var(--blue-700);
  background: var(--blue-50);
  border: 1px solid var(--blue-100);
  border-radius: 999px;
  padding: 3px var(--sp-3);
  margin-bottom: var(--sp-4);
}
.athena-rd .scheda-servizio .vai { margin-top: auto; padding-top: var(--sp-4); }

/* ==================================================================
   IL PROCESSO IN OTTO FASI
   "Versione breve / Approfondisci" e' fatto con due radio e il CSS:
   niente JavaScript, e funziona anche se il codice non parte.
   ================================================================== */
/* Le due radio stanno fuori dal riquadro, sorelle dell'elenco: il CSS le
   raggiunge con il segno ~, che funziona solo fra elementi sorelli.
   Prima erano dentro il riquadro e il pulsante "Approfondisci" si
   accendeva senza aprire niente. */
.athena-rd .fasi__radio { position: absolute; opacity: 0; width: 0; height: 0; pointer-events: none; }
.athena-rd .fasi__scelta { display: inline-flex; border: 1px solid var(--line); border-radius: 999px; padding: 3px; background: var(--paper); margin-bottom: var(--sp-6); }
.athena-rd .fasi__scelta label {
  cursor: pointer;
  padding: var(--sp-3) var(--sp-5);
  border-radius: 999px;
  font-size: calc(var(--step-0) * .93);
  font-weight: 500;
  color: var(--slate-600);
  transition: background .2s ease, color .2s ease;
}
.athena-rd #fasi-breve:checked ~ .centro label[for="fasi-breve"],
.athena-rd #fasi-lunga:checked ~ .centro label[for="fasi-lunga"] { background: var(--blue-600); color: #fff; }
.athena-rd .fasi__radio:focus-visible ~ .centro label { outline: 2px solid var(--gold-500); outline-offset: 2px; }

.athena-rd .fasi { list-style: none; margin: 0; padding: 0; counter-reset: fase; }
.athena-rd .fase {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  gap: var(--sp-5);
  padding: var(--sp-6) 0;
  border-top: 1px solid var(--line);
}
.athena-rd .fase:first-child { border-top: 0; }
.athena-rd .fase__n {
  width: 42px; height: 42px;
  display: flex; align-items: center; justify-content: center;
  border-radius: 50%;
  border: 1px solid var(--line);
  background: var(--paper);
  font-family: var(--font-display);
  font-weight: 600;
  color: var(--blue-600);
}
.athena-rd .fase__testa { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--sp-3); margin-bottom: var(--sp-3); }
.athena-rd .fase h3 { font-size: var(--step-1); margin: 0; }
.athena-rd .fase__tempo {
  font-size: var(--step--1); letter-spacing: .08em; text-transform: uppercase;
  color: var(--slate-400); white-space: nowrap;
}
.athena-rd .fase__breve, .athena-rd .fase__lunga { color: var(--slate-600); font-size: calc(var(--step-0) * .96); }
.athena-rd .fase__lunga ul { margin-block: var(--sp-3) var(--sp-4); }
.athena-rd .fase__lunga { display: none; }
.athena-rd #fasi-lunga:checked ~ .fasi .fase__breve { display: none; }
.athena-rd #fasi-lunga:checked ~ .fasi .fase__lunga { display: block; }

/* ==================================================================
   LA TABELLA "SIAMO DIFFERENTI"
   ================================================================== */
.athena-rd .differenti__giro { overflow-x: auto; border-radius: var(--radius); }
.athena-rd .differenti {
  width: 100%;
  min-width: 720px;
  border-collapse: separate;
  border-spacing: 0;
  background: var(--navy-950);
  color: rgba(255,255,255,.82);
  font-size: calc(var(--step-0) * .92);
}
.athena-rd .differenti caption { caption-side: top; text-align: left; padding: var(--sp-5) var(--sp-5) 0; font-size: var(--step--1); color: rgba(255,255,255,.5); }
.athena-rd .differenti thead th {
  vertical-align: bottom;
  padding: var(--sp-5) var(--sp-4);
  font-size: var(--step--1);
  font-weight: 500;
  line-height: 1.35;
  color: rgba(255,255,255,.68);
  text-align: center;
  border-bottom: 1px solid rgba(255,255,255,.16);
}
.athena-rd .differenti thead th:first-child { text-align: left; width: 32%; }
.athena-rd .differenti thead th.athena {
  background: rgba(63,107,192,.28);
  color: #fff;
  border-bottom-color: var(--gold-300);
}
.athena-rd .differenti .marchio { display: block; font-family: var(--font-display); font-weight: 600; font-size: var(--step-0); letter-spacing: .06em; }
.athena-rd .differenti .marchio small { display: block; font-size: 10px; letter-spacing: .3em; opacity: .75; }
.athena-rd .differenti h2 { color: #fff; font-size: var(--step-2); margin: 0; }
.athena-rd .differenti tbody th {
  text-align: left; font-weight: 400;
  padding: var(--sp-4);
  color: rgba(255,255,255,.82);
  border-top: 1px solid rgba(255,255,255,.07);
}
.athena-rd .differenti tbody td {
  text-align: center;
  padding: var(--sp-4);
  border-top: 1px solid rgba(255,255,255,.07);
}
.athena-rd .differenti tbody td.athena { background: rgba(63,107,192,.2); }
.athena-rd .differenti tbody tr:hover th,
.athena-rd .differenti tbody tr:hover td { background: rgba(255,255,255,.045); }
.athena-rd .differenti tbody tr:hover td.athena { background: rgba(63,107,192,.3); }
.athena-rd .segno { display: inline-block; width: 20px; height: 20px; }
.athena-rd .segno--si { background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237fd39a' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpolyline points='8 12.4 11 15.4 16 9.6'/%3E%3C/svg%3E") center / contain no-repeat; }
.athena-rd .segno--parziale { background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffd98a' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cline x1='8.4' y1='12' x2='15.6' y2='12'/%3E%3C/svg%3E") center / contain no-repeat; }
.athena-rd .segno--no { background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e2879a' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cline x1='9' y1='9' x2='15' y2='15'/%3E%3Cline x1='15' y1='9' x2='9' y2='15'/%3E%3C/svg%3E") center / contain no-repeat; }

/* ==================================================================
   CHI SIAMO
   ================================================================== */
.athena-rd .colonne-2 {
  display: grid;
  /* due colonne fisse, non auto-fit: i capisaldi sono quattro, e con
     l'adattamento automatico ne finivano tre in fila e uno da solo */
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--sp-6) var(--sp-7);
}
@media (max-width: 820px) { .athena-rd .colonne-2 { grid-template-columns: 1fr; } }
.athena-rd .caposaldo { display: grid; grid-template-columns: 40px minmax(0,1fr); gap: var(--sp-4); }
.athena-rd .caposaldo__ico {
  width: 38px; height: 38px;
  display: flex; align-items: center; justify-content: center;
  border-radius: 50%;
  background: var(--blue-50);
  border: 1px solid var(--blue-100);
}
.athena-rd .caposaldo__ico svg { width: 19px; height: 19px; color: var(--blue-600); }
.athena-rd .caposaldo h3 { font-size: var(--step-0); margin-bottom: var(--sp-2); }
.athena-rd .caposaldo p { font-size: calc(var(--step-0) * .93); color: var(--slate-600); margin: 0; }

/* ==================================================================
   I CAROSELLI (case study, rassegna stampa)
   Erano due caroselli scritti a mano con i loro pulsanti. Qui scorrono
   col dito o con la rotella, e si agganciano da soli.
   ================================================================== */
.athena-rd .carosello {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(min(310px, 82%), 340px);
  gap: var(--sp-5);
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  padding-bottom: var(--sp-4);
  scrollbar-width: thin;
}
.athena-rd .carosello > * { scroll-snap-align: start; }
.athena-rd .carosello::-webkit-scrollbar { height: 6px; }
.athena-rd .carosello::-webkit-scrollbar-thumb { background: var(--line); border-radius: 3px; }
.athena-rd .carosello__aiuto {
  display: flex; align-items: center; gap: var(--sp-3);
  font-size: var(--step--1); color: var(--slate-400);
  margin-top: var(--sp-3);
}
.athena-rd .carosello__aiuto svg { width: 22px; height: 22px; }
.athena-rd .carosello__aiuto { justify-content: flex-start; }

.athena-rd .caso { display: flex; flex-direction: column; overflow: hidden; padding: 0; }
.athena-rd .caso img { width: 100%; height: 168px; object-fit: cover; display: block; }
.athena-rd .caso__corpo { padding: var(--sp-5); display: flex; flex-direction: column; flex: 1; }
.athena-rd .caso__occhiello {
  font-size: var(--step--1); letter-spacing: .1em; text-transform: uppercase;
  color: var(--blue-600); font-weight: 600; margin-bottom: var(--sp-3);
}
.athena-rd .caso h3 { font-size: var(--step-0); line-height: 1.35; margin-bottom: var(--sp-3); }
.athena-rd .caso p { font-size: calc(var(--step-0) * .92); color: var(--slate-600); }
.athena-rd .caso .vai { margin-top: auto; padding-top: var(--sp-4); }

.athena-rd .stampa { display: flex; flex-direction: column; padding: var(--sp-5); }
.athena-rd .stampa__fonte {
  font-size: var(--step--1); letter-spacing: .12em; text-transform: uppercase;
  color: var(--gold-600); font-weight: 600; margin-bottom: var(--sp-4);
}
.athena-rd .stampa h3 { font-size: var(--step-0); line-height: 1.35; margin-bottom: var(--sp-4); }
.athena-rd .stampa__piede {
  margin-top: auto; padding-top: var(--sp-4);
  display: flex; align-items: baseline; justify-content: space-between; gap: var(--sp-3);
  border-top: 1px solid var(--line-soft);
  font-size: var(--step--1);
}
.athena-rd .stampa__data { color: var(--slate-400); }

/* il collegamento "vai" con la freccina.
   Nei caroselli la scheda intera E' il collegamento, quindi .vai e' uno
   <span>: va vestito lo stesso, altrimenti resta testo grigio. */
.athena-rd .vai a, .athena-rd a.vai, .athena-rd span.vai {
  display: inline-flex; align-items: center; gap: var(--sp-2);
  font-weight: 600; font-size: calc(var(--step-0) * .93);
  color: var(--blue-600); text-decoration: none;
}
.athena-rd .vai a::after, .athena-rd a.vai::after, .athena-rd span.vai::after {
  content: ""; width: 14px; height: 14px;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='4' y1='12' x2='19' y2='12'/%3E%3Cpolyline points='13 6 19 12 13 18'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='4' y1='12' x2='19' y2='12'/%3E%3Cpolyline points='13 6 19 12 13 18'/%3E%3C/svg%3E") center / contain no-repeat;
  transition: transform .2s ease;
}
.athena-rd .vai a:hover::after, .athena-rd a.vai:hover::after { transform: translateX(3px); }
.athena-rd a.beneficio:hover span.vai::after { transform: translateX(3px); }

/* ==================================================================
   L'EDUCAZIONE FINANZIARIA
   ================================================================== */
.athena-rd .traguardo {
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  padding: var(--sp-5) 0;
  margin: var(--sp-5) 0;
}
.athena-rd .traguardo__etichetta { font-size: var(--step--1); letter-spacing: .12em; text-transform: uppercase; color: var(--slate-400); }
.athena-rd .traguardo__valore {
  font-family: var(--font-display);
  font-size: var(--step-3);
  font-weight: 600;
  color: var(--ink);
  line-height: 1.15;
  margin-top: var(--sp-2);
}

/* ==================================================================
   IL MODULO DI ELEMENTOR
   Resta il widget Form: qui cambia solo l'aspetto. Il widget HTML che
   conteneva 8,6 KB di stile per il modulo va SVUOTATO.
   ================================================================== */
/* Della geometria del modulo non tocco niente: Elementor mette larghezze
   in percentuale e margini negativi che si compensano fra loro, e
   aggiungendoci sopra un mio padding le caselle uscivano dallo schermo
   sui telefoni. Qui cambio solo colori, bordi ed etichette. */
/* ==================================================================
   NIENTE SPAZI FRA UN PEZZO E L'ALTRO
   Ogni blocco sta dentro un widget HTML, dentro una colonna, dentro una
   sezione: e ognuno di questi tre ci mette del suo padding. Sommati,
   fra il blocco 1 e il primo modulo (e agli altri due incroci) restava
   una fascia vuota. Qui li azzero: lo spazio verticale se lo danno gia'
   le mie sezioni, e il modulo se lo da' da solo.
   ================================================================== */
.elementor-20690 .elementor-widget-html:has(> .elementor-widget-container > .athena-rd) {
  margin: 0 !important;
}
.elementor-20690 .elementor-widget-html > .elementor-widget-container:has(> .athena-rd) {
  padding: 0 !important;
}
.elementor-20690 .elementor-widget-wrap:has(> .elementor-widget-html > .elementor-widget-container > .athena-rd),
.elementor-20690 .elementor-column:has(.athena-rd),
.elementor-20690 .elementor-section:has(.athena-rd) > .elementor-container {
  padding: 0 !important;
}
.elementor-20690 .elementor-section:has(.athena-rd) {
  padding: 0 !important;
  margin: 0 !important;
}
/* Le fasce colorate devono arrivare ai bordi dello schermo.
   La sezione di Elementor e' "boxed": il suo contenitore si ferma a
   1140px e centra, e la fascia blu dell'apertura restava un rettangolo
   in mezzo, con il bianco a destra e a sinistra. Il limite di larghezza
   al testo glielo do io qui dentro, con .container. */
.elementor-20690 .elementor-section:has(.athena-rd) > .elementor-container,
.elementor-20690 .e-con:has(.athena-rd) > .e-con-inner {
  max-width: none !important;
  width: 100% !important;
}

/* Elementor nuovo usa i "contenitori" al posto di sezione+colonna */
.elementor-20690 .e-con:has(> .e-con-inner > .elementor-widget-html > .elementor-widget-container > .athena-rd),
.elementor-20690 .e-con:has(> .elementor-widget-html > .elementor-widget-container > .athena-rd) {
  padding: 0 !important; margin: 0 !important; --padding-top: 0; --padding-bottom: 0;
}

/* la sezione che contiene un modulo si dipinge lo stesso fondo chiaro
   dei due blocchi che le stanno sopra e sotto */
.elementor-20690 .elementor-section:has(.elementor-widget-form),
.elementor-20690 .e-con:has(.elementor-widget-form) {
  background-color: #f7f9fd !important;
  padding-block: 0 !important;
  --padding-top: 0; --padding-bottom: 0;
}
.elementor-20690 .elementor-section:has(.elementor-widget-form) > .elementor-container,
.elementor-20690 .elementor-column:has(.elementor-widget-form) > .elementor-widget-wrap {
  padding-block: 0 !important;
}

/* Col padding, senza border-box un 100% sborda. Elementor di suo lo
   mette; se un giorno quel foglio non arriva, la pagina non si rompe. */
.elementor-20690 .elementor-widget-form,
.elementor-20690 .elementor-widget-form * { box-sizing: border-box; }

.elementor-20690 .elementor-widget-form .elementor-field-group { margin-bottom: 1rem !important; }
.elementor-20690 .elementor-widget-form .elementor-field-label {
  font-family: "Roboto", sans-serif !important;
  font-size: .78rem !important;
  font-weight: 600 !important;
  letter-spacing: .09em !important;
  text-transform: uppercase !important;
  color: #526077 !important;
  margin-bottom: .45rem !important;
}
.elementor-20690 .elementor-widget-form .elementor-field-textual {
  box-sizing: border-box;   /* col padding, un 100%% senza questo sborda */
  font-family: "Roboto", sans-serif !important;
  font-size: 1rem !important;
  line-height: 1.5 !important;
  color: #0a2540 !important;
  background: #fff !important;
  border: 1px solid #e3e9f3 !important;
  border-radius: 8px !important;
  padding: .8em 1em !important;
  width: 100% !important;
  height: auto !important;
  box-shadow: none !important;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.elementor-20690 .elementor-widget-form .elementor-field-textual:focus {
  outline: none;
  border-color: #2b53a0 !important;
  box-shadow: 0 0 0 3px rgba(43,83,160,.14) !important;
}
.elementor-20690 .elementor-widget-form .elementor-field-textual::placeholder { color: #8a97ab !important; }
.elementor-20690 .elementor-widget-form textarea.elementor-field-textual { min-height: 130px; resize: vertical; }
.elementor-20690 .elementor-widget-form .elementor-field-type-acceptance .elementor-field-subgroup,
.elementor-20690 .elementor-widget-form .elementor-field-type-acceptance .elementor-field-option {
  display: flex !important; align-items: flex-start; gap: .6rem;
  font-size: .85rem; line-height: 1.5; color: #526077;
}
.elementor-20690 .elementor-widget-form .elementor-acceptance-field {
  appearance: none; -webkit-appearance: none;
  width: 18px !important; height: 18px !important; min-width: 18px;
  flex: none; margin: 2px 0 0 !important;
  border: 1.5px solid #c3cddd !important;
  border-radius: 4px !important;
  background: #fff;
  cursor: pointer;
}
.elementor-20690 .elementor-widget-form .elementor-acceptance-field:checked {
  background: #2b53a0 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center / 11px no-repeat !important;
  border-color: #2b53a0 !important;
}
.elementor-20690 .elementor-widget-form .elementor-button {
  font-family: "Roboto", sans-serif !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  background-color: #2b53a0 !important;
  color: #fff !important;
  border: 1px solid transparent !important;
  border-radius: 8px !important;
  padding: .95em 2.2em !important;
  transition: background-color .18s ease, transform .18s ease;
}
.elementor-20690 .elementor-widget-form .elementor-button:hover { background-color: #22417f !important; transform: translateY(-1px); }
.elementor-20690 .elementor-widget-form select.elementor-field-textual {
  appearance: none; -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23526077' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 1rem center !important;
  background-size: 18px !important;
  padding-right: 2.6rem !important;
}

/* ==================================================================
   PEZZI MINUTI
   ================================================================== */

/* il pulsante col solo contorno, su fondo chiaro */
.athena-rd .btn--contorno-blu {
  background: transparent;
  color: var(--blue-600);
  border: 1px solid var(--blue-100);
}
.athena-rd .btn--contorno-blu:hover { background: var(--blue-50); border-color: var(--blue-500); color: var(--blue-700); }
.athena-rd .btn--contorno-blu svg { width: 18px; height: 18px; }

/* la frase in corsivo che chiude una sezione */
.athena-rd .claim-chiaro {
  margin-top: var(--sp-7);
  padding-top: var(--sp-6);
  border-top: 1px solid var(--line);
  font-family: var(--font-display);
  font-size: var(--step-1);
  line-height: 1.45;
  color: var(--slate-700);
  max-width: 62ch;
}
.athena-rd .claim-chiaro strong, .athena-rd .claim-chiaro b { color: var(--ink); }
.athena-rd .claim-chiaro em { font-style: italic; }

.athena-rd .servizio-piede {
  display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between;
  gap: var(--sp-4);
  margin-top: var(--sp-6);
  padding-top: var(--sp-5);
  border-top: 1px solid var(--line);
  font-size: calc(var(--step-0) * .93);
  color: var(--slate-600);
}
.athena-rd .servizio-piede p { margin: 0; max-width: 62ch; }

/* le due testimonianze video: il filmato parte al clic, non prima.
   Cosi' Vimeo non viene contattato finche' non lo si chiede davvero. */
.athena-rd .filmato-cliente { margin: 0; }
.athena-rd .filmato-cliente__avvio {
  display: flex; align-items: center; justify-content: center;
  width: 100%; aspect-ratio: 9 / 16;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: var(--radius);
  background: linear-gradient(170deg, #14264a, #0a1329);
  color: rgba(255,255,255,.72);
  cursor: pointer;
  transition: color .2s ease, border-color .2s ease, transform .2s ease;
}
.athena-rd .filmato-cliente__avvio { position: relative; overflow: hidden; padding: 0; }
.athena-rd .filmato-cliente__avvio img {
  position: absolute; inset: 0;
  width: 100%; height: 100%; object-fit: cover;
  transition: transform .4s ease, filter .25s ease;
}
.athena-rd .filmato-cliente__avvio::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(11,23,48,.15), rgba(11,23,48,.55));
}
.athena-rd .filmato-cliente__segno {
  position: relative; z-index: 1;
  display: grid; place-items: center;
  width: 62px; height: 62px;
  filter: drop-shadow(0 2px 10px rgba(0,0,0,.45));
}
.athena-rd .filmato-cliente__avvio:hover img { transform: scale(1.04); }
.athena-rd .filmato-cliente__avvio svg { width: 62px; height: 62px; transition: transform .25s ease; }
.athena-rd .filmato-cliente__avvio:hover { color: var(--gold-300); border-color: rgba(255,217,138,.4); }
.athena-rd .filmato-cliente__avvio:hover svg { transform: scale(1.07); }
.athena-rd .filmato-cliente iframe {
  width: 100%; aspect-ratio: 9 / 16; border: 0; display: block;
  border-radius: var(--radius);
}
.athena-rd .filmato-cliente figcaption {
  margin-top: var(--sp-3); text-align: center;
  font-style: italic; font-size: var(--step--1);
  color: rgba(255,255,255,.7);
}

/* le sezioni che stanno attaccate a un widget Form di Elementor: il
   modulo si dipinge lo stesso fondo, cosi' fra i pezzi non resta una
   striscia bianca (stesso trucco del piede del sito) */
.athena-rd .section--sopra-modulo { padding-bottom: var(--sp-6); }
.athena-rd .section--sotto-modulo { padding-top: var(--sp-7); }
.elementor-20690 .elementor-widget-form {
  background: #f7f9fd !important;
  padding: 0 0 3rem !important;
  margin: 0 !important;
}
.elementor-20690 .elementor-widget-form .elementor-form {
  width: 100%; max-width: 820px; margin-inline: auto; padding-inline: 1.5rem;
}

/* l'occhiello che sta sopra un titolo o sopra un elenco */
.athena-rd .occhiello-riga {
  display: flex; align-items: center; gap: var(--sp-3);
  font-size: var(--step--1);
  letter-spacing: .14em; text-transform: uppercase;
  font-weight: 600;
  color: var(--gold-600);
  margin: 0 0 var(--sp-4);
}
.athena-rd .occhiello-riga::before {
  content: ""; width: 26px; height: 2px; background: currentColor; flex: none;
}
.athena-rd .occhiello-riga--centro { justify-content: center; margin-bottom: var(--sp-4); }
.athena-rd .occhiello-riga--centro::after {
  content: ""; width: 26px; height: 2px; background: currentColor; flex: none;
}

/* la nota gialla, versione larga e con un titolino dentro */
.athena-rd .nota--larga { max-width: none; align-items: flex-start; }
.athena-rd .nota--larga > div { min-width: 0; }
.athena-rd .nota__titolo {
  font-family: var(--font-display);
  font-size: var(--step-1);
  font-weight: 600;
  color: var(--ink);
  margin-bottom: var(--sp-3);
}

/* le schede della riservatezza: icona in alto a sinistra, non al centro */
.athena-rd .passo--sinistra { text-align: left; }
.athena-rd .passo--sinistra h3 { font-size: var(--step-0); }
.athena-rd .passo--sinistra p { text-align: left; }
.athena-rd .passo__ico--oro { width: 40px; height: 40px; margin: 0 0 var(--sp-4); color: var(--gold-600); }
.athena-rd .passo__ico--oro svg { stroke: currentColor; }

/* il titolino sopra le otto fasi */
.athena-rd .fasi__titolo {
  font-family: var(--font-display);
  font-size: var(--step-2);
  font-weight: 600;
  color: var(--ink);
  margin-bottom: var(--sp-3);
}

/* la didascalia sotto una figura */
.athena-rd .figura__nota {
  margin-top: var(--sp-4);
  font-size: var(--step--1);
  line-height: 1.55;
  color: var(--slate-600);
  text-align: center;
}
.athena-rd .figura__nota strong { color: var(--ink); }

/* le schede-collegamento dei caroselli: sono <a>, quindi il testo dentro
   va vestito a mano (un <a> non eredita il colore dei paragrafi) */
.athena-rd a.beneficio { text-decoration: none; color: inherit; display: flex; }
.athena-rd .caso__titolo, .athena-rd .stampa__titolo {
  display: block;
  font-family: var(--font-display);
  font-size: var(--step-0);
  font-weight: 600;
  line-height: 1.35;
  color: var(--ink);
  margin-bottom: var(--sp-3);
  transition: color .25s ease;
}
.athena-rd a.beneficio:hover .caso__titolo,
.athena-rd a.beneficio:hover .stampa__titolo { color: var(--blue-600); }
.athena-rd .caso__testo {
  display: block;
  font-size: calc(var(--step-0) * .92);
  line-height: 1.6;
  color: var(--slate-600);
}
.athena-rd .caso__corpo { display: flex; flex-direction: column; flex: 1; }
.athena-rd .stampa__piede { display: flex; }

/* ==================================================================
   DOVE SIAMO
   ================================================================== */
.athena-rd .sede { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr)); gap: var(--sp-6); align-items: center; }
.athena-rd .sede__scheda {
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: var(--sp-6);
  box-shadow: var(--shadow-sm);
  text-align: center;
}
.athena-rd .sede__indirizzo {
  font-family: var(--font-display);
  font-size: var(--step-1);
  color: var(--ink);
  margin-bottom: var(--sp-5);
}

/* ==================================================================
   IL CONFRONTO BANCA / ATHENA
   Prima era un plugin (wp_finance_widgets): React piu' Chart.js, 413 KB
   di JavaScript per un grafico solo. Qui e' un SVG disegnato a mano e
   una manciata di righe di codice. Le parole sono le stesse di prima.
   Senza JavaScript resta comunque disegnato lo scenario di partenza
   (100.000 euro, 7%, 20 anni).
   ================================================================== */
.athena-rd .calc {
  display: grid;
  grid-template-columns: 300px 1fr;
  gap: var(--sp-6);
  align-items: start;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: var(--radius-lg);
  padding: var(--sp-6);
}
@media (max-width: 900px) { .athena-rd .calc { grid-template-columns: 1fr; } }

.athena-rd .calc__istruzione {
  font-size: var(--step--1);
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--gold-300);
  margin-bottom: var(--sp-5);
}
.athena-rd .campo { margin-bottom: var(--sp-5); }
.athena-rd .campo:last-child { margin-bottom: 0; }
.athena-rd .campo__testa {
  display: flex; align-items: baseline; justify-content: space-between;
  gap: var(--sp-3); margin-bottom: var(--sp-3);
}
.athena-rd .campo label { font-size: calc(var(--step-0) * .95); color: rgba(255,255,255,.78); }
.athena-rd .campo__valore {
  display: flex; align-items: baseline; gap: 4px;
  font-family: var(--font-display);
  font-size: var(--step-1);
  font-weight: 600;
  color: #fff;
}
.athena-rd .campo__valore input {
  width: 7.5ch;
  font: inherit;
  color: #fff;
  background: transparent;
  border: 0;
  border-bottom: 1px dashed rgba(255,255,255,.35);
  padding: 0 0 2px;
  text-align: right;
  -moz-appearance: textfield;
}
.athena-rd .campo__valore input::-webkit-outer-spin-button,
.athena-rd .campo__valore input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.athena-rd .campo__valore input:focus { outline: none; border-bottom-color: var(--gold-300); }
.athena-rd .campo__valore input:invalid { border-bottom-color: #ff9d9d; }
.athena-rd .campo__unita { color: rgba(255,255,255,.6); font-size: var(--step-0); }

/* la barra scorrevole, vestita uguale nei due motori */
.athena-rd .campo input[type=range] {
  -webkit-appearance: none; appearance: none;
  width: 100%; height: 4px; margin: 0;
  border-radius: 2px;
  background: rgba(255,255,255,.2);
  cursor: pointer;
}
.athena-rd .campo input[type=range]::-webkit-slider-thumb {
  -webkit-appearance: none; appearance: none;
  width: 18px; height: 18px; border-radius: 50%;
  background: var(--gold-300);
  border: 3px solid var(--navy-950);
  box-shadow: 0 0 0 1px var(--gold-300);
  cursor: pointer;
}
.athena-rd .campo input[type=range]::-moz-range-thumb {
  width: 14px; height: 14px; border-radius: 50%;
  background: var(--gold-300);
  border: 3px solid var(--navy-950);
  box-shadow: 0 0 0 1px var(--gold-300);
  cursor: pointer;
}
.athena-rd .campo input[type=range]:focus-visible { outline: 2px solid var(--gold-300); outline-offset: 4px; }

/* il disegno */
.athena-rd .calc__grafico { min-width: 0; }
.athena-rd .calc__titolo {
  font-size: var(--step--1);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(255,255,255,.55);
  margin-bottom: var(--sp-4);
}
.athena-rd .grafico { width: 100%; height: auto; display: block; overflow: visible; touch-action: pan-y; }
.athena-rd .calc__grafico { --g-testo: 12px; }
.athena-rd .grafico .g-griglia line { stroke: rgba(255,255,255,.10); stroke-width: 1; }
.athena-rd .grafico .g-asse { fill: rgba(255,255,255,.5); font-size: var(--g-testo, 12px); font-family: var(--font-body); }
.athena-rd .grafico .g-asse--y { text-anchor: end; }
.athena-rd .grafico .g-asse--x { text-anchor: middle; }
.athena-rd .grafico .g-area { fill: url(#g-costo); }
.athena-rd .grafico .g-linea { fill: none; stroke-width: 2.5; stroke-linejoin: round; stroke-linecap: round; }
.athena-rd .grafico .g-banca { stroke: #93a7c9; stroke-dasharray: 6 4; }
.athena-rd .grafico .g-athena { stroke: var(--gold-300); }
.athena-rd .grafico .g-mira { stroke: rgba(255,255,255,.45); stroke-width: 1; }
.athena-rd .grafico .g-punto { stroke: var(--navy-950); stroke-width: 2; }

.athena-rd .calc__legenda {
  display: flex; flex-wrap: wrap; gap: var(--sp-3) var(--sp-6);
  margin-top: var(--sp-4);
  font-size: var(--step--1);
  color: rgba(255,255,255,.72);
}
.athena-rd .calc__legenda span { display: inline-flex; align-items: center; gap: 8px; }
.athena-rd .calc__legenda i { width: 18px; height: 3px; border-radius: 2px; display: inline-block; }
.athena-rd .calc__legenda .l-athena { background: var(--gold-300); }
.athena-rd .calc__legenda .l-banca { background: #93a7c9; }
.athena-rd .calc__legenda .l-costo {
  height: 12px; border-radius: 3px;
  background: repeating-linear-gradient(45deg, rgba(255,217,138,.55) 0 2px, rgba(255,217,138,.09) 2px 5px);
}

/* la lettura al passaggio del dito o del mouse */
.athena-rd .calc__lettura {
  min-height: 1.5em;
  margin-top: var(--sp-3);
  font-size: var(--step--1);
  color: rgba(255,255,255,.8);
}
.athena-rd .calc__lettura b { color: #fff; }

/* i tre esiti */
.athena-rd .calc__esiti {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr));
  gap: var(--sp-4);
  margin-top: var(--sp-5);
}
.athena-rd .esito {
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: var(--radius);
  padding: var(--sp-5);
}
.athena-rd .esito h3 {
  font-family: var(--font-body);
  font-size: var(--step--1);
  font-weight: 500;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(255,255,255,.6);
  margin: 0 0 var(--sp-3);
}
.athena-rd .esito p {
  font-family: var(--font-display);
  font-size: clamp(1.5rem, 1.1rem + 1.6vw, 2.1rem);
  font-weight: 600;
  line-height: 1.1;
  color: #fff;
  margin: 0;
}
.athena-rd .esito--athena { border-color: rgba(255,217,138,.45); background: rgba(255,217,138,.08); }
.athena-rd .esito--athena p { color: var(--gold-300); }
.athena-rd .esito--risparmio {
  border-color: rgba(255,217,138,.45);
  background: linear-gradient(140deg, rgba(255,217,138,.16), rgba(255,217,138,.05));
}
.athena-rd .esito--risparmio p { color: var(--gold-200); }

/* il dettaglio anno per anno, al posto della finestrella di prima */
.athena-rd .calc__dettaglio { margin-top: var(--sp-5); }
.athena-rd .calc__dettaglio > summary {
  display: flex; align-items: center; gap: var(--sp-3);
  cursor: pointer; list-style: none;
  font-size: var(--step--1);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--gold-300);
  padding: var(--sp-3) 0;
}
.athena-rd .calc__dettaglio > summary::-webkit-details-marker { display: none; }
.athena-rd .calc__dettaglio > summary::before {
  content: ""; width: 9px; height: 9px; flex: none;
  border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
  transform: rotate(45deg); transition: transform .2s ease;
}
.athena-rd .calc__dettaglio[open] > summary::before { transform: rotate(-135deg); }
.athena-rd .calc__tabella { max-height: 340px; overflow: auto; border-radius: var(--radius); }
.athena-rd .calc__tabella table {
  width: 100%; border-collapse: collapse;
  font-size: calc(var(--step-0) * .9);
  color: rgba(255,255,255,.78);
}
.athena-rd .calc__tabella th {
  position: sticky; top: 0;
  background: var(--navy-950);
  text-align: right; font-weight: 600;
  font-size: var(--step--1); letter-spacing: .06em; text-transform: uppercase;
  color: rgba(255,255,255,.6);
  padding: var(--sp-3) var(--sp-4);
  border-bottom: 1px solid rgba(255,255,255,.16);
}
.athena-rd .calc__tabella th:first-child, .athena-rd .calc__tabella td:first-child { text-align: left; }
.athena-rd .calc__tabella td { text-align: right; padding: var(--sp-3) var(--sp-4); border-bottom: 1px solid rgba(255,255,255,.07); }
.athena-rd .calc__tabella tbody tr:hover td { background: rgba(255,255,255,.05); }
.athena-rd .calc__tabella td:nth-child(2) { color: var(--gold-300); }

.athena-rd .calc__legge {
  margin: 0 0 var(--sp-4);
  font-size: var(--step--1);
  line-height: 1.6;
  color: rgba(255,255,255,.62);
  max-width: 80ch;
}
.athena-rd .calc__legge b { color: var(--gold-300); font-weight: 600; }

.athena-rd .calc__nota {
  margin-top: var(--sp-5);
  font-size: calc(var(--step--1) * .98);
  line-height: 1.6;
  color: rgba(255,255,255,.55);
  max-width: 90ch;
}

/* ============================ PAGINE CITTA' ============================ */
.athena-rd .apertura-citta { padding-block: var(--sp-9) var(--sp-8); }
.athena-rd .apertura-citta__titolo {
  font-size: var(--step-5); line-height: 1.1; text-align: center;
  margin-bottom: var(--sp-6); text-wrap: balance;
}
.athena-rd .apertura-citta__titolo::after {
  content: ""; display: block; width: 84px; height: 3px;
  background: var(--gold-500); margin: var(--sp-6) auto 0;
}
.athena-rd .apertura-citta__prosa p { color: var(--slate-600); line-height: 1.8; margin-bottom: var(--sp-4); }
.athena-rd .apertura-citta__occhiello { color: var(--ink); font-weight: 600; }
.athena-rd .apertura-citta__elenco { list-style: none; margin: 0 0 var(--sp-4); padding: 0; }
.athena-rd .apertura-citta__elenco li {
  position: relative; padding: 0 0 var(--sp-3) 1.7rem;
  color: var(--slate-600); line-height: 1.8;
}
.athena-rd .apertura-citta__elenco li::before {
  content: ""; position: absolute; left: .3rem; top: .78em;
  width: 6px; height: 6px; border-radius: 50%; background: var(--gold-500);
}

/* --- la scheda del consulente --- */
.athena-rd .consulente {
  background: var(--paper); border: 1px solid var(--line);
  border-radius: var(--radius-lg); padding: var(--sp-7);
  box-shadow: var(--shadow-sm);
}
@media (max-width: 640px) { .athena-rd .consulente { padding: var(--sp-5); } }
.athena-rd .consulente__testa {
  display: flex; gap: var(--sp-6); align-items: center;
  padding-bottom: var(--sp-6); margin-bottom: var(--sp-6);
  border-bottom: 1px solid var(--line);
}
@media (max-width: 560px) {
  .athena-rd .consulente__testa { flex-direction: column; text-align: center; gap: var(--sp-4); }
}
.athena-rd .consulente__foto {
  width: 132px; height: 132px; flex: none; object-fit: cover;
  border-radius: 50%; border: 3px solid var(--paper); box-shadow: var(--shadow);
}
.athena-rd .consulente__occhiello {
  font-size: var(--step--1); font-weight: 700; letter-spacing: .08em;
  text-transform: uppercase; color: var(--gold-600); margin: 0 0 var(--sp-2);
}
.athena-rd .consulente__chi h2 { font-size: var(--step-3); margin: 0 0 var(--sp-2); }
.athena-rd .consulente__ruolo { color: var(--slate-600); margin: 0; }
.athena-rd .consulente__voce { margin-bottom: var(--sp-5); }
.athena-rd .consulente__voce:last-child { margin-bottom: 0; }
.athena-rd .consulente__voce h3 {
  font-family: var(--font-body); font-size: calc(var(--step-0) * 1.05);
  font-weight: 700; color: var(--navy-900); margin-bottom: var(--sp-2);
}
.athena-rd .consulente__voce h3::before {
  content: ""; display: block; width: 20px; height: 2px;
  background: var(--gold-500); margin-bottom: var(--sp-3);
}
.athena-rd .consulente__voce p { color: var(--slate-600); line-height: 1.8; margin: 0; }
.athena-rd .consulente__contatti {
  display: flex; flex-wrap: wrap; gap: var(--sp-4) var(--sp-6);
  margin-top: var(--sp-6); padding-top: var(--sp-6);
  border-top: 1px solid var(--line);
}
.athena-rd .consulente__contatto {
  display: inline-flex; align-items: center; gap: var(--sp-3);
  color: var(--slate-600); font-size: calc(var(--step-0) * .96);
  text-decoration: none; word-break: break-word;
}
.athena-rd a.consulente__contatto { color: var(--blue-600); font-weight: 600; }
.athena-rd a.consulente__contatto:hover { text-decoration: underline; }
.athena-rd .consulente__contatto svg { width: 20px; height: 20px; flex: none; color: var(--gold-600); }

/* Stesso inciampo delle pagine profilo: il fondo navy del <video>
   spuntava agli angoli sotto il poster. Niente fondo, e il ritaglio
   lo fa l'arrotondamento con object-fit. */
.athena-rd .consulente__video {
  width: 320px; max-width: 100%; flex: none; display: block;
  aspect-ratio: 16 / 9; height: auto; object-fit: cover;
  border-radius: var(--radius); background: #000;
  box-shadow: var(--shadow); overflow: hidden;
}
@media (max-width: 560px) { .athena-rd .consulente__video { width: 100%; } }

/* ============ LA FASCIA DEL FORM (widget Elementor) ============ */
/* Il form resta un widget Elementor perche' e' quello che manda le
   email. Qui gli do la fascia navy delle altre pagine.
   Il bianco va SOLO ai widget di testo e titolo: dandolo a "strong"
   in generale sparivano i link delle spunte privacy, bianchi su
   bianco, proprio dove il cliente deve capire cosa accetta. */
.elementor-section:has(.elementor-widget-form) {
  background-image: linear-gradient(150deg, #112140, #0B1730) !important;
  background-color: #112140 !important;
}
.elementor-section:has(.elementor-widget-form) .elementor-widget-text-editor,
.elementor-section:has(.elementor-widget-form) .elementor-widget-text-editor p,
.elementor-section:has(.elementor-widget-form) .elementor-widget-text-editor strong,
.elementor-section:has(.elementor-widget-form) .elementor-heading-title {
  color: #ffffff !important;
}
.elementor-widget-form { color: #0a2540 !important; }
.elementor-widget-form .elementor-field-group > label,
.elementor-widget-form .elementor-field-subgroup label,
.elementor-widget-form .elementor-field-option label { color: #0a2540 !important; }
.elementor-widget-form a,
.elementor-widget-form a strong,
.elementor-widget-form label strong {
  color: #2B53A0 !important; text-decoration: underline; font-weight: 600;
}
.elementor-widget-form input:not([type="checkbox"]):not([type="submit"]),
.elementor-widget-form select, .elementor-widget-form textarea {
  border: 1px solid #e3e9f3 !important; border-radius: 8px !important;
}
.elementor-widget-form input:focus, .elementor-widget-form select:focus,
.elementor-widget-form textarea:focus {
  outline: 2px solid #c9962b; outline-offset: 1px; border-color: #c9962b !important;
}
.elementor-widget-form button[type="submit"] {
  background-color: #c9962b !important; color: #112140 !important;
  border-radius: 8px !important; font-weight: 700 !important;
}
.elementor-widget-form button[type="submit"]:hover { background-color: #ffd98a !important; }

/* ============ INNESTO IN ELEMENTOR ============ */
/* Senza queste, il blocco resta dentro il contenitore "boxed" di
   Elementor (1140px) e le fasce colorate si fermano a meta' schermo
   invece di arrivare ai bordi. Ogni regola pretende .athena-rd
   dentro: sul resto della pagina non tocca niente. */
.elementor-section:has(.athena-rd) {
  padding: 0 !important; margin: 0 !important;
}
.elementor-section:has(.athena-rd) > .elementor-container,
.e-con:has(.athena-rd) > .e-con-inner {
  max-width: none !important; width: 100% !important; padding: 0 !important;
}
.elementor-column:has(> .elementor-widget-wrap > .elementor-widget-html > .elementor-widget-container > .athena-rd) > .elementor-widget-wrap,
.elementor-widget-wrap:has(> .elementor-widget-html > .elementor-widget-container > .athena-rd) {
  padding: 0 !important;
}
.elementor-widget-html:has(.athena-rd) { margin: 0 !important; }
.elementor-widget-html:has(.athena-rd) > .elementor-widget-container { padding: 0 !important; }
