/* Zavala & Legal Partners — pagine istituzionali.
   Palette e ruoli tipografici presi dal sito: --accent #6b1a2a, --gold #b69458,
   --paper #fffcf7, display "Libre Caslon Text", body "EB Garamond".
   I woff2 del monolite sono inlinati la' dentro (30 file): qui si prendono gli
   stessi tre volti da Google Fonts, cosi' la pagina resta leggera. */

:root{
  --paper:#fffcf7;
  --paper-warm:#f3eddd;
  --ink:#0d0d0d;
  --ink-soft:#1a1a1a;
  --graphite:#2b2b2b;
  --body-ink:#3a3733;
  --muted:#6f6a61;
  --rule:#e3dccc;
  --accent:#6b1a2a;
  --accent-ink:#6b1a2a;
  --gold:#b69458;
  --display:"Libre Caslon Text","Cormorant Garamond",Georgia,serif;
  --body:"EB Garamond","Cormorant Garamond",Georgia,serif;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --paper:#111010;
    --paper-warm:#1a1815;
    --ink:#f2ede3;
    --ink-soft:#e8e2d6;
    --graphite:#cfc9bc;
    --body-ink:#cbc5b8;
    --muted:#948d80;
    --rule:#2f2c26;
    --accent:#c9647a;
    --accent-ink:#d98a9c;
    --gold:#c9a869;
  }
}
:root[data-theme="dark"]{
  --paper:#111010;
  --paper-warm:#1a1815;
  --ink:#f2ede3;
  --ink-soft:#e8e2d6;
  --graphite:#cfc9bc;
  --body-ink:#cbc5b8;
  --muted:#948d80;
  --rule:#2f2c26;
  --accent:#c9647a;
  --accent-ink:#d98a9c;
  --gold:#c9a869;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--paper);color:var(--body-ink);
  font-family:var(--body);font-size:19px;line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
.wrap{max-width:760px;margin:0 auto;padding:0 26px 110px}

/* barra di testa: wordmark + ritorno al sito */
.top{
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:22px 0;border-bottom:1px solid var(--rule);flex-wrap:wrap;
}
.wm{font-family:var(--display);font-size:19px;letter-spacing:.09em;
    text-transform:uppercase;color:var(--ink);text-decoration:none}
.wm span{color:var(--accent-ink)}
.wm small{display:block;font-family:var(--body);font-size:10.5px;
  letter-spacing:.2em;color:var(--muted);margin-top:3px;text-transform:uppercase}
.back{font-size:14px;letter-spacing:.09em;text-transform:uppercase;
  color:var(--muted);text-decoration:none;border-bottom:1px solid var(--rule);padding-bottom:2px}
.back:hover{color:var(--accent-ink)}
a:focus-visible,.wm:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

.eyebrow{font-size:12px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--accent-ink);margin:56px 0 12px}
h1{font-family:var(--display);font-weight:400;color:var(--ink);
   font-size:clamp(34px,6vw,52px);line-height:1.12;margin:0;text-wrap:balance}
.lede{font-size:21px;color:var(--graphite);margin:22px 0 0;max-width:60ch}
.rule{height:1px;background:var(--rule);margin:44px 0}

h2{font-family:var(--display);font-weight:400;color:var(--ink);
   font-size:27px;margin:46px 0 10px;text-wrap:balance}
p{max-width:66ch;margin:0 0 18px}
strong{color:var(--ink-soft);font-weight:500}

/* elenco di criteri: numerato solo dove l'ordine e' una procedura vera */
ol.steps{counter-reset:s;list-style:none;margin:26px 0;padding:0}
ol.steps li{counter-increment:s;position:relative;padding:0 0 22px 52px}
ol.steps li::before{
  content:counter(s,decimal-leading-zero);position:absolute;left:0;top:2px;
  font-family:var(--display);font-size:14px;letter-spacing:.1em;color:var(--gold);
}
ol.steps b{display:block;font-family:var(--display);font-size:20px;
  color:var(--ink);font-weight:400;margin-bottom:4px}

ul.plain{list-style:none;margin:24px 0;padding:0}
ul.plain li{padding:13px 0 13px 24px;border-bottom:1px solid var(--rule);position:relative}
ul.plain li:first-child{border-top:1px solid var(--rule)}
ul.plain li::before{content:"";position:absolute;left:0;top:23px;
  width:9px;height:1px;background:var(--accent)}

.note{
  border-left:2px solid var(--accent);background:var(--paper-warm);
  padding:20px 24px;margin:34px 0;font-size:17.5px;color:var(--body-ink);
}
.note p{margin:0;max-width:none}
.note p + p{margin-top:12px}

footer{
  margin-top:64px;padding-top:20px;border-top:1px solid var(--rule);
  display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;
  color:var(--muted);font-size:15.5px;
}
footer a{color:var(--accent-ink);text-decoration:none;border-bottom:1px solid var(--rule)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
