:root{
  --inchiostro:#052554;
  --petrolio:#0B3670;
  --salvia:#5E7595;
  --nebbia:#A9BACF;
  --terra:#BB8A2E;
  --ocra:#D8AC55;
  --creta:#A85A34;
  --creta-chiara:#DDA98A;
  --carta:#FFFFFF;
  --carta2:#F0F0F0;
  --riga:rgba(5,37,84,.14);
  --riga-chiara:rgba(244,241,234,.2);
  --raggio:12px;
  --raggio-piccolo:6px;
  --ombra:0 18px 34px -22px rgba(5,37,84,.5);
  --serif:"Newsreader",Georgia,serif;
  --sans:"Public Sans",system-ui,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);background:var(--carta);color:var(--inchiostro);font-size:16px;line-height:1.62;-webkit-font-smoothing:antialiased}
.wrap{max-width:1160px;margin:0 auto;padding:0 32px}
a{color:inherit}
img{max-width:100%}

/* testata */
.nav{position:sticky;top:0;z-index:60;background:var(--carta);border-bottom:1px solid var(--riga)}
.nav-in{display:flex;align-items:center;gap:36px;height:96px}
.marchio{display:flex;align-items:center;text-decoration:none}
.marchio img{height:56px;width:auto;display:block}
.nav-voci{display:flex;gap:24px;margin-left:auto;list-style:none}
.nav-voci a{font-size:14px;text-decoration:none;padding-bottom:3px;border-bottom:1px solid transparent;transition:border-color .18s ease,color .18s ease}
.nav-voci a:hover,.nav-voci a[aria-current="page"]{border-bottom-color:var(--creta);color:var(--creta)}
.nav-cta{font-family:var(--mono);font-size:12px;letter-spacing:.05em;text-transform:uppercase;background:var(--inchiostro);color:var(--carta);padding:12px 20px;text-decoration:none;white-space:nowrap;border-radius:var(--raggio-piccolo);transition:background-color .18s ease,color .18s ease}
.nav-cta:hover{background:var(--creta);color:var(--carta)}
.hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;width:30px;height:30px;background:none;border:0;cursor:pointer;margin-left:auto}
.hamburger span{display:block;height:2px;background:var(--inchiostro)}
.hamburger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamburger[aria-expanded="true"] span:nth-child(2){opacity:0}
.hamburger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.menu-mobile{display:none}

/* apertura */
.hero{padding:96px 0 0;border-bottom:1px solid var(--riga)}
.occhiello{font-family:var(--mono);font-size:11.5px;letter-spacing:.17em;text-transform:uppercase;color:var(--creta);margin-bottom:30px}
h1{font-family:var(--serif);font-weight:300;font-size:clamp(38px,5.6vw,68px);line-height:1.06;letter-spacing:-.015em;max-width:17ch}
h1 em{font-style:italic;color:var(--creta)}
.somm{margin-top:28px;max-width:54ch;font-size:18px;color:#2C4468}
.azioni{display:flex;flex-wrap:wrap;gap:14px;margin:38px 0 76px}
.btn{font-family:var(--mono);font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;padding:15px 26px;text-decoration:none;display:inline-block;border:0;cursor:pointer;background:none;border-radius:var(--raggio-piccolo);transition:background-color .18s ease,color .18s ease,border-color .18s ease}
.btn-pieno{background:var(--inchiostro);color:var(--carta)}
.btn-pieno:hover{background:var(--creta);color:var(--carta)}
.btn-vuoto{border:1px solid var(--riga);color:var(--inchiostro)}
.btn-vuoto:hover{border-color:var(--creta);color:var(--creta)}

/* riga dati */
.dati{background:var(--inchiostro);color:var(--carta)}
.dati-in{display:grid;grid-template-columns:repeat(4,1fr)}
.dato{padding:26px 24px;border-left:1px solid var(--riga-chiara)}
.dato:first-child{border-left:0}
.dato dt{font-family:var(--mono);font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--nebbia);margin-bottom:9px}
.dato dd{font-family:var(--mono);font-size:15px}

section{padding:96px 0}
.eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.17em;text-transform:uppercase;color:var(--creta);margin-bottom:18px}
h2{font-family:var(--serif);font-weight:300;font-size:clamp(29px,3.6vw,44px);line-height:1.14;max-width:21ch}
.intro{margin-top:20px;max-width:58ch;font-size:17px;color:#2C4468}

/* testata di pagina interna */
.pagina-testa{background:var(--inchiostro);color:var(--carta);padding:64px 0 56px;position:relative;overflow:hidden}
.pagina-testa .wrap{position:relative;z-index:2}
.pagina-testa .eyebrow{color:var(--creta-chiara)}
.pagina-testa h1{color:var(--carta);font-size:clamp(32px,4.6vw,54px);max-width:22ch}
.pagina-testa .somm{color:rgba(244,241,234,.8);max-width:62ch}
.briciole{font-family:var(--mono);font-size:11.5px;letter-spacing:.05em;color:var(--salvia);margin-bottom:24px}
.briciole a{text-decoration:none;color:var(--salvia)}
.briciole a:hover{color:var(--inchiostro)}
.briciole.chiaro,.briciole.chiaro a{color:var(--nebbia)}
.briciole.chiaro a:hover{color:var(--carta)}

/* contenuto lungo (pagine testuali) */
.contenuto{max-width:74ch}
.contenuto h2{max-width:none;font-size:24px;margin-top:56px;margin-bottom:6px}
.contenuto h2:first-child{margin-top:0}
.contenuto p{margin-top:14px;font-size:16px;color:#2C4468}
.contenuto ul,.contenuto ol{margin-top:14px;padding-left:22px}
.contenuto li{margin-top:8px;font-size:15.5px;color:#2C4468}
.contenuto strong{color:var(--inchiostro)}
.contenuto .eyebrow{margin-top:0}

.avviso-bozza{background:#F3E3D6;border-left:4px solid var(--creta);padding:20px 26px;font-size:14px;line-height:1.75;color:#5C3624;margin:44px 0 0;border-radius:0 var(--raggio) var(--raggio) 0}
.avviso-bozza b{color:#432817}

/* mandanti */
.mandanti{background:var(--carta2)}
.tab{margin-top:52px;border-top:1px solid rgba(5,37,84,.26)}
.tab-capo,.tab-riga{display:grid;grid-template-columns:36px 1.5fr 2fr 130px;gap:20px;padding:16px 14px;border-bottom:1px solid var(--riga);align-items:baseline;border-radius:var(--raggio-piccolo);transition:background-color .18s ease}
.tab-capo{font-family:var(--mono);font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--salvia);padding-bottom:16px}
.tab-riga:hover{background:rgba(255,255,255,.6)}
.tab-riga:hover h3{color:var(--creta)}
.tab-riga .n{font-family:var(--mono);font-size:11.5px;color:var(--creta)}
.tab-riga h3{font-family:var(--serif);font-weight:400;font-size:20px;line-height:1.25;transition:color .18s ease}
.tab-riga p{font-size:14.5px;color:#3C5378}
.tab-riga .reg{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--salvia)}
.nota-tab{margin-top:26px;font-size:13.5px;color:var(--salvia);max-width:70ch}

/* schede mandanti (pagina compagnie) */
.mandanti-schede{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:16px}
.mandante-scheda{background:var(--carta);padding:32px;border:1px solid var(--riga);border-radius:var(--raggio);transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease}
.mandante-scheda:hover{box-shadow:var(--ombra);transform:translateY(-3px);border-color:var(--creta)}
.mandante-scheda .n{font-family:var(--mono);font-size:11px;color:var(--creta)}
.mandante-scheda h3{font-family:var(--serif);font-weight:400;font-size:23px;margin:12px 0 12px}
.mandante-scheda p{font-size:14.5px;color:#3C5378}
.mandante-scheda .reg{display:inline-block;margin-top:16px;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--salvia);border:1px solid var(--riga);padding:5px 10px;border-radius:999px}

/* aree */
.aree{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:52px}
.area{background:var(--carta);padding:32px 28px;text-decoration:none;color:inherit;display:block;border:1px solid var(--riga);border-radius:var(--raggio);transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease}
.area:hover{box-shadow:var(--ombra);transform:translateY(-3px);border-color:var(--creta)}
.area .n{font-family:var(--mono);font-size:11px;color:var(--creta)}
.area h3{font-family:var(--serif);font-weight:400;font-size:24px;margin:12px 0 12px}
.area p{font-size:14.5px;color:#3C5378}
.area ul{list-style:none;margin-top:16px;padding-top:14px;border-top:1px solid var(--riga)}
.area li{font-family:var(--mono);font-size:11.5px;letter-spacing:.02em;color:var(--salvia);padding:4px 0}
.area .vedi{display:inline-block;margin-top:18px;font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--creta)}

/* dettaglio area di protezione */
.rischi{margin-top:16px;border-top:1px solid var(--riga)}
.rischi li{list-style:none;font-family:var(--mono);font-size:13px;padding:15px 4px;border-bottom:1px solid var(--riga);color:var(--inchiostro)}
.a-chi{background:var(--carta2);border:1px solid var(--riga);padding:28px;margin-top:16px;border-radius:var(--raggio)}
.a-chi h3{font-family:var(--serif);font-weight:400;font-size:19px;margin-bottom:10px}
.a-chi p{font-size:14.5px;color:#3C5378}
.due-colonne{display:grid;grid-template-columns:1.3fr 1fr;gap:56px;align-items:start;margin-top:12px}

/* metodo */
.metodo{background:var(--inchiostro);color:var(--carta);position:relative;overflow:hidden}
.metodo .wrap{position:relative;z-index:2}
.filigrana{position:absolute;right:-60px;top:50%;transform:translateY(-50%);height:460px;width:auto;opacity:.07;z-index:1;pointer-events:none}
.metodo h2{color:var(--carta)}
.metodo .intro{color:rgba(244,241,234,.72)}
.passi{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:52px}
.passo{background:rgba(255,255,255,.045);border:1px solid rgba(244,241,234,.16);border-radius:var(--raggio);padding:30px 24px;transition:border-color .2s ease,background-color .2s ease}
.passo:hover{border-color:var(--creta-chiara);background:rgba(255,255,255,.08)}
.passo .n{font-family:var(--mono);font-size:11px;color:var(--creta-chiara);letter-spacing:.1em}
.passo h3{font-family:var(--serif);font-weight:400;font-size:21px;margin:12px 0 10px}
.passo p{font-size:14.5px;color:rgba(244,241,234,.72)}

/* metodo, versione estesa su pagina dedicata */
.passi-estesi{margin-top:16px}
.passo-esteso{display:grid;grid-template-columns:80px 1fr;gap:28px;padding:32px 0;border-bottom:1px solid var(--riga)}
.passo-esteso:first-child{padding-top:0}
.passo-esteso .n{font-family:var(--serif);font-weight:300;font-size:40px;color:var(--creta);line-height:1}
.passo-esteso h3{font-family:var(--serif);font-weight:400;font-size:22px;margin-bottom:10px}
.passo-esteso p{font-size:15.5px;color:#3C5378;max-width:64ch}

/* sinistri */
.sinistri{background:var(--carta2)}
.sin-griglia{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;margin-top:44px;align-items:start}
.sin-box{border:1px solid var(--riga);padding:32px;border-radius:var(--raggio);background:var(--carta)}
.sin-box h3{font-family:var(--serif);font-weight:400;font-size:22px;margin-bottom:14px}
.sin-box dl{font-family:var(--mono);font-size:13px;line-height:2}
.sin-box dt{color:var(--salvia);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;margin-top:14px}
.sin-box dd{color:var(--inchiostro)}

/* rimandi (checklist, cross-link fra pagine) */
.tris{margin-top:44px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.passo-tris{padding:26px 24px;border:1px solid var(--riga);border-radius:var(--raggio);background:var(--carta);transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease}
.passo-tris:hover{box-shadow:var(--ombra);transform:translateY(-3px);border-color:var(--creta)}
.passo-tris .n{font-family:var(--mono);font-size:11px;color:var(--creta)}
.passo-tris h4{font-family:var(--serif);font-weight:400;font-size:18px;margin:10px 0 8px}
.passo-tris p{font-size:14px;color:#3C5378}

/* hub trasparenza: elenco documenti */
.doc-lista{margin-top:16px;display:grid;gap:14px}
.doc-riga{background:var(--carta);display:grid;grid-template-columns:44px 1fr auto;gap:22px;align-items:center;padding:24px 26px;text-decoration:none;color:inherit;border:1px solid var(--riga);border-radius:var(--raggio);transition:box-shadow .2s ease,border-color .2s ease}
.doc-riga:hover{box-shadow:var(--ombra);border-color:var(--creta)}
.doc-riga .n{font-family:var(--mono);color:var(--creta);font-size:12px}
.doc-riga h3{font-family:var(--serif);font-weight:400;font-size:19px}
.doc-riga p{font-size:13.5px;color:var(--salvia);margin-top:4px}
.doc-riga .stato{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;padding:6px 10px;border:1px solid var(--riga);white-space:nowrap;justify-self:end;border-radius:999px}
.stato.ok{color:#3C6E3C;border-color:#3C6E3C}
.stato.attesa{color:var(--creta);border-color:var(--creta)}

/* agenzia: referenti */
.persona-card{border:1px solid var(--riga);background:var(--carta2);padding:30px;border-radius:var(--raggio)}
.persona-card .ruolo{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--creta);margin-bottom:10px}
.persona-card h3{font-family:var(--serif);font-weight:400;font-size:22px;margin-bottom:8px}
.persona-card p{font-size:14.5px;color:#3C5378}

/* contatto */
.contatto{background:var(--petrolio);color:var(--carta)}
.contatto h2{color:var(--carta)}
.contatto p{margin-top:18px;max-width:52ch;font-size:17px;color:rgba(244,241,234,.86)}
.contatto .btn-pieno{margin-top:32px;background:var(--terra);color:var(--inchiostro)}
.contatto .btn-pieno:hover{background:var(--carta)}
.sedi{margin-top:40px}
.sedi span{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:rgba(244,241,234,.75);margin-bottom:8px}
.sedi b{font-family:var(--serif);font-weight:400;font-size:19px;line-height:1.4}
.perimetro{font-family:var(--mono);font-size:12.5px;line-height:1.85;margin-top:30px;padding-top:20px;border-top:1px solid rgba(244,241,234,.35);max-width:62ch;color:rgba(244,241,234,.85)}

/* pagina contatti dedicata */
.contatti-griglia{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:16px;align-items:start}
.contatto-box{border:1px solid var(--riga);padding:32px;border-radius:var(--raggio)}
.contatto-box h3{font-family:var(--serif);font-weight:400;font-size:20px;margin-bottom:14px}
.contatto-box dl{font-family:var(--mono);font-size:13.5px;line-height:2.1}
.contatto-box dt{color:var(--salvia);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;margin-top:14px}
.contatto-box dt:first-child{margin-top:0}
.contatto-box dd a{text-decoration:underline;text-decoration-color:var(--riga)}

/* piede */
footer{background:var(--inchiostro);color:rgba(244,241,234,.72);padding:72px 0 40px}
.f-top{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:36px;padding-bottom:50px}
.f-top h4{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--creta-chiara);margin-bottom:16px;font-weight:500}
.f-top a{display:block;padding:5px 0;font-size:14px;text-decoration:none;color:rgba(244,241,234,.72)}
.f-top a:hover{color:var(--carta)}
.f-top p{font-size:14px;line-height:1.75}
.f-marchio{height:66px;width:auto;display:block;margin-bottom:20px}
.targa{border-top:1px solid var(--riga-chiara);padding-top:28px;font-family:var(--mono);font-size:12.5px;line-height:2;color:rgba(244,241,234,.85)}
.targa .capo{display:block;color:var(--ocra);font-size:10.5px;letter-spacing:.15em;text-transform:uppercase;margin-bottom:12px}
.targa b{color:var(--carta);font-weight:500}
.targa a{color:var(--nebbia)}
.coda{display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-top:32px;font-family:var(--mono);font-size:12px;color:rgba(244,241,234,.45)}

/* banner cookie */
.cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:100;background:var(--inchiostro);color:var(--carta);border-top:1px solid var(--riga-chiara);padding:22px 0;transform:translateY(110%);transition:transform .4s ease}
.cookie-banner.visibile{transform:none}
.cookie-in{display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between}
.cookie-testo{font-size:13.5px;line-height:1.7;color:rgba(244,241,234,.85);max-width:64ch}
.cookie-testo a{color:var(--creta-chiara);text-decoration:underline}
.cookie-azioni{display:flex;gap:12px;flex-wrap:wrap}
.cookie-azioni button{font-family:var(--mono);font-size:11.5px;letter-spacing:.05em;text-transform:uppercase;padding:12px 20px;cursor:pointer;border:1px solid var(--riga-chiara);background:none;color:var(--carta);border-radius:var(--raggio-piccolo);transition:background-color .18s ease,color .18s ease,border-color .18s ease}
.cookie-azioni .accetta{background:var(--creta);border-color:var(--creta);color:var(--carta)}

.sale{opacity:0;transform:translateY(12px);animation:sale .85s cubic-bezier(.22,.61,.36,1) forwards}
.d1{animation-delay:.05s}.d2{animation-delay:.16s}.d3{animation-delay:.27s}.d4{animation-delay:.38s}
@keyframes sale{to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;opacity:1!important;transform:none!important}html{scroll-behavior:auto}}
:focus-visible{outline:2px solid var(--creta);outline-offset:3px}

@media (max-width:980px){
  .dati-in{grid-template-columns:1fr 1fr}
  .dato:nth-child(2){border-left:0}
  .aree{grid-template-columns:1fr}
  .passi{grid-template-columns:1fr 1fr}
  .sin-griglia{grid-template-columns:1fr;gap:32px}
  .due-colonne{grid-template-columns:1fr;gap:32px}
  .contatti-griglia{grid-template-columns:1fr;gap:20px}
  .mandanti-schede{grid-template-columns:1fr}
  .f-top{grid-template-columns:1fr 1fr}
  .tab-capo{display:none}
  .tab-riga{grid-template-columns:30px 1fr;row-gap:8px}
  .tab-riga p,.tab-riga .reg{grid-column:2}
  .tris{grid-template-columns:1fr 1fr}
}
@media (max-width:720px){
  .wrap{padding:0 20px}
  .nav-voci{display:none}
  .nav-in{gap:14px}
  .hamburger{display:flex}
  .menu-mobile.aperto{display:block;position:fixed;inset:96px 0 0 0;background:var(--carta);z-index:59;padding:12px 20px 32px;overflow-y:auto}
  .menu-mobile.aperto ul{list-style:none}
  .menu-mobile.aperto a{display:block;padding:16px 0;font-size:17px;text-decoration:none;border-bottom:1px solid var(--riga)}
  .menu-mobile.aperto .nav-cta{display:inline-block;margin-top:20px}
  section{padding:64px 0}
  .hero{padding-top:56px}
  .pagina-testa{padding:48px 0 40px}
  .passi{grid-template-columns:1fr}
  .passo-esteso{grid-template-columns:1fr;gap:8px}
  .f-top{grid-template-columns:1fr}
  .targa{padding-top:20px;font-size:11.5px;line-height:1.9}
  .tris{grid-template-columns:1fr}
  .doc-riga{grid-template-columns:1fr;text-align:left;justify-items:start}
  .doc-riga .stato{justify-self:start}
  .cookie-in{flex-direction:column;align-items:flex-start}
}
