/* Diritto in tasca - tema condiviso (landing, accesso, piattaforma).
   Riprende la presentazione: fondo teal con onde, titoli Prata, testo Nunito Sans,
   accento azzurro, bottoni sfumati blu->viola, card bianche con barra colorata. */
@font-face{font-family:'Nunito Sans';font-weight:300;font-display:swap;src:url(../fonts/NunitoSans-300.ttf) format('truetype')}
@font-face{font-family:'Nunito Sans';font-weight:400;font-display:swap;src:url(../fonts/NunitoSans-400.ttf) format('truetype')}
@font-face{font-family:'Nunito Sans';font-weight:600;font-display:swap;src:url(../fonts/NunitoSans-600.ttf) format('truetype')}
@font-face{font-family:'Nunito Sans';font-weight:700;font-display:swap;src:url(../fonts/NunitoSans-700.ttf) format('truetype')}
@font-face{font-family:'Prata';font-weight:400;font-display:swap;src:url(../fonts/Prata-400.ttf) format('truetype')}

:root{
  --teal-900:#12303b;--teal-800:#1c4352;--teal-700:#234653;--teal-600:#2c5868;--teal-500:#3d7388;
  --sky:#8ccdf0;--sky-d:#1484ca;--blue:#1484ca;--violet:#6d2a8f;--sage:#a8ba8a;
  --paper:#f3f6f8;--card:#fff;--ink:#17313c;--mut:#5a717d;--line:#dbe4e9;
  --ok:#00953f;--warn:#c25e00;--err:#b3261e;
  --grad:linear-gradient(135deg,#1aa0e8 0%,#4a5fd0 55%,#7b2fa6 100%);
  --rainbow:linear-gradient(90deg,#f29100,#c6007d,#7b2481,#009ee3,#00953f);
  --serif:'Prata',Georgia,'Times New Roman',serif;
  --sans:'Nunito Sans',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --radius:16px;--shadow:0 10px 30px rgba(18,48,59,.12);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.6 var(--sans)}
img{max-width:100%}
a{color:var(--sky-d)}
:focus-visible{outline:3px solid var(--sky);outline-offset:2px;border-radius:6px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
[hidden]{display:none!important}

/* Marchio */
.lockup{display:inline-flex;align-items:center;gap:.7rem;color:#fff;text-decoration:none}
.lockup-shield{width:1.9em;height:2.1em;flex:none;display:block}
.lockup-ild{font:400 2.7em/1 var(--serif);color:var(--sage);letter-spacing:-.02em}
.lockup-bar{width:1px;align-self:stretch;background:rgba(255,255,255,.35);margin:.1em .15em}
.lockup-name{display:flex;flex-direction:column;line-height:1.05}
.lockup-t1{font:400 1.7em/1 var(--serif)}
.lockup-t2{font:700 .72em/1 var(--sans);letter-spacing:.34em;text-transform:uppercase;margin-top:.45em;padding-left:.1em}
.lockup-lg{font-size:1.5rem}.lockup-md{font-size:1rem}
.lockup-sm{font-size:.8rem}.lockup-sm .lockup-t1{font-size:1.5em}.lockup-sm .lockup-t2{font-size:.62em}

/* Eyebrow / titoli */
.eyebrow{display:flex;align-items:center;gap:.9rem;font:600 .78rem/1 var(--sans);letter-spacing:.32em;text-transform:uppercase;color:var(--sky)}
.eyebrow::before{content:"";width:2.4rem;height:1px;background:currentColor;opacity:.7}
.h-serif{font-family:var(--serif);font-weight:400;letter-spacing:.01em;text-transform:uppercase;line-height:1.15;margin:0}
.h-serif em{font-style:normal;color:var(--sky-d)}
.rainbow{display:block;width:3.4rem;height:3px;border-radius:2px;background:var(--rainbow)}

/* Bottoni */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font:700 1rem/1 var(--sans);border:0;border-radius:999px;padding:.95rem 1.6rem;cursor:pointer;text-decoration:none;color:#fff;background:var(--grad);box-shadow:0 6px 18px rgba(74,95,208,.35);transition:transform .15s,box-shadow .15s,filter .15s}
.btn:hover{transform:translateY(-1px);filter:brightness(1.06);box-shadow:0 10px 24px rgba(74,95,208,.4)}
.btn:active{transform:none}
.btn.ghost{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.45);box-shadow:none}
.btn.ghost:hover{background:rgba(255,255,255,.1)}
.btn.outline{background:#fff;color:var(--teal-800);border:1.5px solid var(--line);box-shadow:none}
.btn.outline:hover{border-color:var(--sky-d)}
.btn.sm{padding:.6rem 1.1rem;font-size:.9rem}
.btn[disabled]{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}

/* Pill / chip */
.pill{display:inline-flex;align-items:center;gap:.55rem;font:600 .9rem/1 var(--sans);padding:.5rem .95rem .5rem .55rem;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.22);color:#fff}
.pill .dot{width:1.7rem;height:1.7rem;border-radius:50%;display:grid;place-items:center;flex:none}
.pill .dot svg{width:1rem;height:1rem}

/* Sfondo teal con onde */
.teal{background:var(--teal-800) url(../img/bg-waves.jpg) center/cover;color:#fff;position:relative;isolation:isolate}
.teal::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(160deg,rgba(18,48,59,.55),rgba(28,67,82,.35) 45%,rgba(24,40,70,.7))}
