/* ==========================================================================
   ES Medical Group — 01-tokens.css
   Design tokens — colori, tipografia, spaziature, ombre.
   Unica fonte di verità: nessun valore hard-coded altrove.
   ========================================================================== */

/* ============ TOKENS ============ */
:root{
  --ink:#0B0B0C;
  --ink-2:#141416;
  --ink-3:#1D1D20;
  --graphite:#757575;
  --slate:#8A8A90;
  --line:rgba(11,11,12,.09);
  --line-dark:rgba(255,255,255,.10);
  --paper:#FBFAF8;
  --paper-2:#F2F1EE;
  --white:#FFFFFF;
  --gold:#FFC107;
  --gold-2:#E0A800;
  --gold-3:#B98600;
  --gold-wash:rgba(255,193,7,.10);

  --f:'Poppins',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --r-lg:20px; --r:14px; --r-sm:10px;
  --ease:cubic-bezier(.22,.61,.36,1);
  --shadow-1:0 1px 2px rgba(11,11,12,.04), 0 8px 24px -12px rgba(11,11,12,.14);
  --shadow-2:0 24px 60px -24px rgba(11,11,12,.32);

  --gut:clamp(20px, 5vw, 40px);
  --max:1240px;
  --sec-y:clamp(64px, 9vw, 118px);
}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:90px;overflow-x:hidden;}
body{
  font-family:var(--f); background:var(--paper); color:var(--ink);
  line-height:1.62; font-size:16px; letter-spacing:-.005em;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img,svg{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;}
button,input,select,textarea{font:inherit;color:inherit;}
button{background:none;border:none;cursor:pointer;}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:4px;}

.wrap{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:var(--gut);}
section{padding-block:var(--sec-y);}

h1,h2,h3,h4{font-weight:600;line-height:1.14;letter-spacing:-.022em;color:var(--ink);}
h1{font-size:clamp(2.15rem,5.4vw,4.05rem);letter-spacing:-.032em;}
h2{font-size:clamp(1.7rem,3.5vw,2.6rem);}
h3{font-size:clamp(1.05rem,1.6vw,1.3rem);}
p{text-wrap:pretty;}
.balance{text-wrap:balance;}
