/* Edil Professional — base del design system.
   Un solo posto per token (colore, forma, misura, tipo), azzeramenti e primitive.
   Si carica insieme a sito.css (intestazione, piede, barra contatti) e al foglio
   sottile della singola pagina, che da qui prende ogni valore.
   Regola della casa: hero, sezioni-media e chiusure di contatto sono scure;
   il contenuto è sempre su fondo chiaro. Spigolo netto: 6px, 4px sui dettagli. */

:root{
  /* colore — verde di marca */
  --ep-verde:#14532d;--ep-verde-chiaro:#1a6b3a;--ep-verde-scuro:#0d3a1f;--ep-menta:#8fd6ab;
  /* colore — inchiostro e carta */
  --ep-inchiostro:#18181b;--ep-grigio:#52525b;--ep-grigio-tenue:#71717a;
  --ep-carta:#fff;--ep-avorio:#f7f6f3;--ep-linea:#e4e4e7;
  /* colore — superfici scure */
  --ep-notte:#0b0d0c;--ep-notte-2:#0e1210;--ep-piede:#111311;
  --ep-linea-chiara:rgba(255,255,255,.14);
  --ep-testo-chiaro:#e9ebea;--ep-testo-chiaro-tenue:#a3ada7;
  /* colore — urgenza */
  --ep-urgente:#b91c1c;
  /* forma */
  --ep-r:6px;--ep-r-s:4px;--ep-pill:999px;
  /* misura */
  --ep-larghezza:80rem;--ep-lettura:44rem;--ep-testa-h:64px;
  /* profondità */
  --ep-ombra:0 1px 2px rgba(24,24,27,.05);
  --ep-ombra-alta:0 14px 34px -20px rgba(20,83,45,.4);
  /* tipo */
  --ep-font:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
}

/* ---- azzeramenti ---- */
*{box-sizing:border-box;scrollbar-width:none;-ms-overflow-style:none}
*::-webkit-scrollbar{display:none;width:0;height:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--ep-carta);color:var(--ep-inchiostro);font-family:var(--ep-font);font-size:1rem;line-height:1.5;letter-spacing:-.011em;-webkit-font-smoothing:antialiased}
img,canvas,video,svg{display:block;max-width:100%}
h1,h2,h3,h4,h5,h6,p,figure,blockquote,ul,ol,dl,dd{margin:0}
button,input,select,textarea{font:inherit;letter-spacing:inherit;color:inherit}
button{background:none;border:0;cursor:pointer}
summary{display:list-item}
table{border-collapse:collapse}
a{color:inherit}
a:not([class]){color:var(--ep-verde);text-underline-offset:3px}
a:not([class]):hover{color:var(--ep-verde-chiaro)}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--ep-verde-chiaro);outline-offset:3px;border-radius:var(--ep-r-s)}

/* ---- ritmo delle sezioni ---- */
.ep-sez{padding:4.5rem 0}
@media(min-width:1024px){.ep-sez{padding:6.5rem 0}}
.ep-sez.avorio{background:var(--ep-avorio);border-top:1px solid var(--ep-linea)}
.ep-sez.chiara{background:var(--ep-carta);border-top:1px solid var(--ep-linea)}
.ep-sez.scura{position:relative;background:var(--ep-notte);color:var(--ep-testo-chiaro)}
.ep-sez.scura .ep-occhiello{color:var(--ep-menta)}
.ep-sez.scura .ep-h1,.ep-sez.scura .ep-h2{color:#fff}
.ep-sez.scura .ep-lead{color:var(--ep-testo-chiaro-tenue)}
.ep-sez.scura a:not([class]){color:var(--ep-menta)}
.ep-sez.scura a:not([class]):hover{color:#fff}

/* ---- bottoni: modificatori sopra .ep-btn (sito.css) ---- */
.ep-btn.grande{min-height:56px;padding:0 1.75rem;font-size:1.0625rem}
.ep-btn.inv{background:var(--ep-carta);color:var(--ep-inchiostro);border:0}
.ep-btn.inv:hover{background:#dfe4e1}
.ep-btn.fantasma{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.34)}
.ep-btn.fantasma:hover{background:rgba(255,255,255,.1);border-color:#fff}
.ep-btns{display:flex;flex-wrap:wrap;gap:.65rem}
@media(max-width:560px){.ep-btns{width:100%}.ep-btns>.ep-btn{flex:1 1 100%}}

/* ---- primitive di contenuto ---- */
.ep-cornice{position:relative;overflow:hidden;border-radius:var(--ep-r);border:1px solid var(--ep-linea);background:var(--ep-avorio)}
.ep-sez.scura .ep-cornice{border-color:var(--ep-linea-chiara);background:var(--ep-notte-2)}
.ep-dati{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:1.5rem 3rem}
.ep-dati b{display:block;font-size:1.3rem;font-weight:700;letter-spacing:-.02em;color:var(--ep-inchiostro);font-variant-numeric:tabular-nums}
.ep-dati span{display:block;margin-top:.2rem;font-size:.8125rem;line-height:1.4;color:var(--ep-grigio-tenue)}
.ep-sez.scura .ep-dati b{color:#fff}
.ep-sez.scura .ep-dati span{color:var(--ep-testo-chiaro-tenue)}
.ep-griglia-filo{display:grid;gap:1px;background:var(--ep-linea);border-top:1px solid var(--ep-linea);border-bottom:1px solid var(--ep-linea)}
.ep-griglia-filo>*{background:var(--ep-carta);margin:0}
.ep-avanti{display:inline-flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:700;color:var(--ep-verde);text-decoration:none}
.ep-avanti:hover{color:var(--ep-verde-chiaro);text-decoration:underline;text-underline-offset:4px}
.ep-sez.scura .ep-avanti{color:var(--ep-menta)}
.ep-sez.scura .ep-avanti:hover{color:#fff}
.ep-etichetta{display:inline-block;padding:.3rem .7rem;border-radius:var(--ep-pill);background:rgba(11,13,12,.72);font-size:.6875rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#fff}

/* ---- movimento: rivelazione a scorrimento ---- */
.nh-ready .nh-up{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s cubic-bezier(.22,.61,.36,1)}
.nh-ready .nh-up.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.nh-ready .nh-up{opacity:1;transform:none}}
