/* Sito Dott.ssa Elena Viviani — foglio di stile unico.
   PER CAMBIARE VERSIONE GRAFICA: sostituire il blocco :root qui sotto
   con quello della versione desiderata (A istituzionale, B calda, C essenziale).
   I blocchi alternativi sono in fondo a questo file, commentati. */

:root{
  --ground:#FFFFFF; --soft:#F5F7FA; --band:#10202E; --band-ink:#C9D6E3; --band-key:#7FA3C8;
  --ink:#10202E; --ink-2:#43596E; --ink-3:#7589A0;
  --line:#DCE3EB; --line-2:#EDF1F5;
  --accent:#1552A0; --accent-ink:#FFFFFF; --accent-soft:#E8EFF7;
  --radius:16px; --pill:999px;
  --font-display:Archivo,system-ui,sans-serif;
  --font-body:"Public Sans",system-ui,sans-serif;
  --display-weight:600; --display-track:-.025em; --brand-transform:uppercase;
  --maxw:1120px;
}

*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0;background:var(--ground);color:var(--ink);
  font-family:var(--font-body);font-size:17px;line-height:1.62;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block;}
a{color:var(--accent);}
a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:3px;}
.skip{position:absolute;left:-9999px;}
.skip:focus{left:12px;top:12px;z-index:50;background:var(--accent);color:var(--accent-ink);padding:10px 16px;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px;}

/* ---------- testata ---------- */
.site-head{border-bottom:1px solid var(--line);background:var(--ground);}
.site-head .wrap{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px 22px;padding-top:16px;padding-bottom:16px;}
.brand{
  font-family:var(--font-display);font-weight:700;font-size:15.5px;
  text-transform:var(--brand-transform);letter-spacing:-.01em;color:var(--ink);
  text-decoration:none;margin-right:auto;
}
.site-head nav{display:flex;flex-wrap:wrap;gap:8px 20px;}
.site-head nav a{font-size:13.5px;color:var(--ink-2);text-decoration:none;}
.site-head nav a:hover{color:var(--accent);}
.site-head nav a[aria-current=page]{color:var(--accent);font-weight:600;}

/* ---------- tipografia ---------- */
h1,h2,h3{font-family:var(--font-display);letter-spacing:var(--display-track);text-wrap:balance;}
h1{font-weight:var(--display-weight);font-size:clamp(28px,4.4vw,41px);line-height:1.1;margin:0 0 14px;max-width:26ch;}
h2{font-weight:var(--display-weight);font-size:clamp(23px,3.1vw,31px);line-height:1.16;margin:0 0 12px;}
h3{font-weight:600;font-size:18.5px;line-height:1.3;margin:0 0 6px;letter-spacing:-.01em;}
p{margin:0 0 15px;}
.lead{font-size:17.5px;color:var(--ink-2);max-width:60ch;}
.eyebrow{
  font-family:var(--font-display);font-size:11px;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:var(--accent);margin:0 0 13px;
}
.muted{color:var(--ink-3);font-size:13.5px;}
ul.plain{margin:0 0 15px;padding-left:20px;}
ul.plain li{margin-bottom:8px;}
ul.plain li::marker{color:var(--ink-3);}

/* ---------- blocchi ---------- */
.hero{background:var(--soft);border-bottom:1px solid var(--line);}
.hero .wrap{padding-top:44px;padding-bottom:38px;}
.hero p.sub{font-size:16.5px;color:var(--ink-2);max-width:56ch;margin:0 0 24px;font-weight:300;}
.btns{display:flex;flex-wrap:wrap;gap:10px;}
.btn{
  display:inline-block;background:var(--accent);color:var(--accent-ink);
  padding:14px 24px;font-weight:700;font-size:15px;text-decoration:none;border-radius:var(--pill);
}
.btn.ghost{background:transparent;color:var(--accent);border:1px solid var(--accent);}
.micro{font-size:13px;color:var(--ink-3);margin:16px 0 0;max-width:70ch;}

.band{background:var(--band);color:var(--band-ink);border-bottom:1px solid var(--line);}
.band .wrap{padding-top:22px;padding-bottom:24px;}
.band b{color:#FFFFFF;}
.band .head{margin:0 0 18px;font-size:14.5px;}
.chs{display:grid;gap:16px;}
.ch{border-top:1px solid rgba(255,255,255,.18);padding-top:12px;}
.ch .k{display:block;font-family:var(--font-display);font-size:10.5px;font-weight:700;
  letter-spacing:.13em;text-transform:uppercase;color:var(--band-key);margin-bottom:7px;}
.ch .v{display:block;font-family:var(--font-display);font-size:18px;font-weight:600;
  color:#FFFFFF;letter-spacing:-.015em;text-decoration:none;}
.ch .v:hover{text-decoration:underline;}
.ch .hr{display:block;margin-top:4px;font-size:13.5px;color:var(--band-ink);}

section.sec{border-bottom:1px solid var(--line);}
section.sec .wrap{padding-top:34px;padding-bottom:34px;}
.lab{font-family:var(--font-display);font-size:11px;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ink-3);margin:0 0 16px;}

.cards{display:grid;gap:14px;}
.card{
  display:block;background:var(--ground);border:1px solid var(--line);
  border-radius:var(--radius);padding:17px 19px;text-decoration:none;color:var(--ink);
}
a.card:hover{border-color:var(--accent);}
.card .n{display:block;font-family:var(--font-display);font-weight:600;font-size:16.5px;
  letter-spacing:-.01em;margin-bottom:3px;}
.card .d{display:block;font-size:14px;color:var(--ink-2);font-weight:300;}

/* --- home: sedi in evidenza, riquadro videoconsulto, scorciatoie illustrate --- */
.sedi{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px;padding:0;list-style:none;}
.sedi li{display:inline-flex;align-items:center;gap:7px;background:var(--ground);
  border:1px solid var(--line);border-radius:999px;padding:6px 14px 6px 11px;
  font-size:14px;font-weight:600;color:var(--ink);}
.sedi li span{font-weight:300;color:var(--ink-2);}
.sedi svg{width:15px;height:15px;flex:none;color:var(--accent);}

.avviso{display:flex;gap:14px;align-items:flex-start;background:#DCEAFB;
  border-radius:18px;padding:17px 22px;margin:0 0 24px;max-width:56ch;}
.avviso svg{width:23px;height:23px;flex:none;color:#1D5FA8;margin-top:1px;}
.avviso p{margin:0;font-size:15px;color:var(--ink-2);font-weight:300;}
.avviso strong{color:var(--ink);font-weight:600;}

.scorciatoie{display:grid;grid-template-columns:repeat(2,1fr);gap:18px 8px;margin-top:6px;}
.scorciatoie a{display:flex;flex-direction:column;align-items:center;text-align:center;
  gap:11px;padding:4px 2px;text-decoration:none;color:var(--ink);
  font-size:13.5px;line-height:1.32;font-weight:600;}
.scorciatoie .ic{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;
  transition:transform .15s ease;}
.scorciatoie svg{width:28px;height:28px;}
.scorciatoie a:hover .ic{transform:translateY(-3px);}
.scorciatoie a:hover .et{text-decoration:underline;text-underline-offset:3px;}

.btn.grande{font-size:16.5px;padding:15px 28px;display:inline-flex;align-items:center;gap:10px;}
.btn.grande svg{width:19px;height:19px;}

.tablewrap{overflow-x:auto;}
table{border-collapse:collapse;width:100%;font-size:15px;}
th,td{text-align:left;padding:12px 14px 12px 0;border-bottom:1px solid var(--line-2);vertical-align:top;}
th{font-family:var(--font-display);font-size:10.5px;font-weight:700;letter-spacing:.13em;
  text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid var(--line);}
td.o{color:var(--ink-2);font-variant-numeric:tabular-nums;}
tr:last-child td{border-bottom:none;}

.callout{background:var(--accent-soft);border-radius:var(--radius);padding:24px;display:grid;gap:16px;}
.callout h2{margin-bottom:6px;}
.callout p{margin:0;color:var(--ink-2);font-size:15px;}

.note{border-left:3px solid var(--accent);background:var(--soft);padding:16px 20px;
  border-radius:var(--radius);margin:0 0 18px;}
.note p{margin:0;font-size:15.5px;color:var(--ink-2);}

dl.spec{margin:0;}
dl.spec div{display:grid;gap:2px;padding:12px 0;border-bottom:1px solid var(--line-2);}
dl.spec dt{font-family:var(--font-display);font-size:10.5px;font-weight:700;letter-spacing:.13em;
  text-transform:uppercase;color:var(--ink-3);}
dl.spec dd{margin:0;color:var(--ink);}

.site-foot{padding:26px 0 40px;font-size:12.5px;color:var(--ink-3);line-height:1.6;}
.site-foot a{color:var(--ink-3);}
.site-foot .legal{margin-top:10px;}

@media(min-width:620px){
  .cards{grid-template-columns:repeat(2,1fr);}
  .scorciatoie{grid-template-columns:repeat(4,1fr);}
}
@media(min-width:700px){
  .chs{grid-template-columns:repeat(3,1fr);}
  .callout{grid-template-columns:1.5fr .5fr;align-items:center;}
}
@media(min-width:900px){
  .cards{grid-template-columns:repeat(3,1fr);}
  .scorciatoie{grid-template-columns:repeat(7,1fr);}
  .hero .wrap{padding-top:56px;padding-bottom:48px;}
}

/* =======================================================================
   BLOCCHI :root ALTERNATIVI — sostituire quello in cima per cambiare versione
   -----------------------------------------------------------------------
   VERSIONE B
:root{
  --ground:#F7F4EF; --soft:#EFE9E1; --band:#2E3A33; --band-ink:#D4DCD5; --band-key:#9BB3A3;
  --ink:#2B2F2B; --ink-2:#5D6159; --ink-3:#8A8D82;
  --line:#E3DCD1; --line-2:#E8E2D8;
  --accent:#3F6B5C; --accent-ink:#F7F4EF; --accent-soft:#E4EDE6;
  --radius:14px; --pill:999px;
  --font-display:Petrona,Georgia,serif;
  --font-body:Karla,system-ui,sans-serif;
  --display-weight:500; --display-track:-.015em; --brand-transform:none;
}

   VERSIONE C
:root{
  --ground:#FCFCFB; --soft:#F0EEE9; --band:#F0EEE9; --band-ink:#4A4A47; --band-key:#8A8A85;
  --ink:#131313; --ink-2:#4A4A47; --ink-3:#8A8A85;
  --line:#E2DED6; --line-2:#EAE6DE;
  --accent:#C2410C; --accent-ink:#FCFCFB; --accent-soft:#F0EEE9;
  --radius:0px; --pill:0px;
  --font-display:Newsreader,Georgia,serif;
  --font-body:"IBM Plex Sans",system-ui,sans-serif;
  --display-weight:400; --display-track:-.03em; --brand-transform:none;
}

   ======================================================================= */
