:root{
  --ink:#0B1D26; --petrolio:#173744; --petrolio-2:#24596B; --ambra:#C68B2C;
  --carta:#F1F3F2; --bianco:#FFFFFF; --linea:#C9D3D3; --linea-2:#E2E8E7;
  --testo:#22333A; --muted:#5C6E75;
  --display:Georgia,"Times New Roman",serif;
  --body:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;
  --wrap:1080px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--carta);color:var(--testo);font-family:var(--body);
  font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
img,svg{max-width:100%;height:auto}
a{color:var(--petrolio-2)}
a:focus-visible,button:focus-visible{outline:3px solid var(--ambra);outline-offset:2px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}

/* ---------- header ---------- */
.top{background:var(--petrolio);color:#fff}
.top .wrap{display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;padding-top:14px;padding-bottom:14px}
.top .wrap>*{margin:5px 0}
.brand{display:flex;align-items:center;text-decoration:none;color:#fff}
.brand .mono-ar{margin-right:12px}
.mono-ar{width:38px;height:38px;flex:0 0 38px;border:1.5px solid rgba(255,255,255,.55);
  display:flex;align-items:center;justify-content:center;font-family:var(--display);
  font-size:15px;letter-spacing:.06em;color:#fff}
.brand b{font-family:var(--display);font-weight:400;font-size:19px;line-height:1.15;display:block}
.brand span{font-size:12.5px;letter-spacing:.09em;text-transform:uppercase;color:#B9CBD2}
.nav{display:flex;flex-wrap:wrap;align-items:center}
.nav>*{margin:4px 0 4px 22px}
.nav>*:first-child{margin-left:0}
.nav a{color:#DCE7EA;text-decoration:none;font-size:15px}
.nav a:hover{color:#fff;text-decoration:underline}
.nav .tel{font-family:var(--mono);font-size:14.5px;color:#fff;border:1px solid rgba(255,255,255,.4);
  padding:6px 12px}
.nav .tel:hover{background:rgba(255,255,255,.1);text-decoration:none}

/* ---------- hero ---------- */
.hero{background:var(--petrolio);color:#fff;padding:14px 0 56px;
  border-bottom:6px solid var(--ambra)}
.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:44px;align-items:center}
.eyebrow{font-family:var(--mono);font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--ambra);margin:0 0 16px}
.hero h1{font-family:var(--display);font-weight:400;font-size:40px;line-height:1.18;
  margin:0 0 20px;color:#fff}
.hero p.lead{font-size:18px;line-height:1.62;color:#D3E0E4;margin:0 0 26px;max-width:52ch}
.btns{display:flex;flex-wrap:wrap}
.btns>*{margin:0 14px 12px 0}
.btn{display:inline-block;text-decoration:none;padding:13px 22px;font-size:16px;
  border:1.5px solid var(--ambra);background:var(--ambra);color:#241701;font-weight:600}
.btn:hover{background:#B47C22;border-color:#B47C22}
.btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}
.btn.ghost:hover{background:rgba(255,255,255,.1)}

/* ---------- sezioni ---------- */
section{padding:60px 0}
section.alt{background:var(--bianco)}
h2{font-family:var(--display);font-weight:400;font-size:29px;line-height:1.25;
  color:var(--petrolio);margin:0 0 10px}
h3{font-family:var(--display);font-weight:400;font-size:21px;color:var(--petrolio);margin:0 0 8px}
.sec-intro{max-width:64ch;color:var(--muted);margin:0 0 32px;font-size:17px}
p{margin:0 0 16px}
.lbl{font-family:var(--mono);font-size:12px;letter-spacing:.15em;text-transform:uppercase;
  color:var(--ambra);display:block;margin-bottom:10px}

/* ---------- livelli di controllo ---------- */
.livelli{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:0;
  border-top:1px solid var(--linea)}
.liv{border-bottom:1px solid var(--linea);border-right:1px solid var(--linea);padding:24px 22px}
.liv:last-child{border-right:none}
.liv .num{font-family:var(--mono);font-size:12px;color:var(--muted);letter-spacing:.12em}
.liv h3{margin:6px 0 6px;font-size:19px}
.liv .freq{font-family:var(--mono);font-size:12.5px;color:var(--ambra);
  text-transform:uppercase;letter-spacing:.1em;margin-bottom:10px}
.liv p{font-size:15.5px;color:var(--muted);margin:0}

/* ---------- schede servizi ---------- */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}
.card{background:var(--bianco);border:1px solid var(--linea-2);border-left:3px solid var(--petrolio);
  padding:22px 22px 20px;text-decoration:none;color:var(--testo);display:block}
section.alt .card{background:var(--carta)}
.card:hover{border-left-color:var(--ambra);box-shadow:0 2px 14px rgba(11,29,38,.08)}
.card .norma{font-family:var(--mono);font-size:12px;color:var(--muted);letter-spacing:.08em}
.card h3{margin:8px 0 8px;font-size:20px}
.card p{font-size:15.5px;color:var(--muted);margin:0}
.card .more{display:inline-block;margin-top:14px;font-size:14.5px;color:var(--petrolio-2)}

/* ---------- liste ---------- */
ul.check{list-style:none;padding:0;margin:0 0 18px}
ul.check li{position:relative;padding-left:26px;margin-bottom:11px;font-size:16.5px}
ul.check li::before{content:"";position:absolute;left:0;top:.62em;width:11px;height:1.5px;
  background:var(--ambra)}
ul.plain{padding-left:22px;margin:0 0 18px}
ul.plain li{margin-bottom:9px}

/* ---------- box norme ---------- */
.norme{background:var(--petrolio);color:#D3E0E4;padding:26px 28px;border-left:4px solid var(--ambra)}
.norme h3{color:#fff;font-size:19px;margin-bottom:14px}
.norme ul{list-style:none;padding:0;margin:0}
.norme li{font-family:var(--mono);font-size:14px;line-height:1.5;padding:7px 0;
  border-bottom:1px solid rgba(255,255,255,.14)}
.norme li:last-child{border-bottom:none}
.norme li b{color:#fff;font-weight:600}
.norme li span{display:block;font-family:var(--body);font-size:14.5px;color:#AFC4CB;margin-top:3px}

/* ---------- due colonne ---------- */
.two{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:start}
.panel{background:var(--bianco);border:1px solid var(--linea-2);padding:26px 28px}
section.alt .panel{background:var(--carta)}

/* ---------- destinatari ---------- */
.tags{display:flex;flex-wrap:wrap;margin:0;padding:0;list-style:none}
.tags li{margin:0 10px 10px 0}
.tags li{border:1px solid var(--linea);padding:8px 15px;font-size:15px;background:var(--bianco);
  color:var(--petrolio)}

/* ---------- contatti ---------- */
.contatti{background:var(--ink);color:#CBD9DE;padding:60px 0}
.contatti h2{color:#fff}
.contatti .sec-intro{color:#9FB4BB}
.crow{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:26px;margin-top:26px}
.crow div{border-top:1px solid rgba(255,255,255,.2);padding-top:16px}
.crow .k{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ambra);margin-bottom:7px}
.crow a{color:#fff;text-decoration:none;font-size:16.5px;word-break:break-word}
.crow a:hover{text-decoration:underline}

/* ---------- footer ---------- */
footer{background:var(--petrolio);color:#AFC4CB;padding:44px 0 34px;font-size:14.5px}
footer a{color:#DCE7EA;text-decoration:none}
footer a:hover{text-decoration:underline}
.fgrid{display:grid;grid-template-columns:1.15fr 1.1fr 1fr 1fr;gap:30px}
.fgrid h4{font-family:var(--display);font-weight:400;color:#fff;font-size:17px;margin:0 0 12px}
.fgrid ul{list-style:none;padding:0;margin:0}
.fgrid li{margin-bottom:8px;line-height:1.45}
.fbot{border-top:1px solid rgba(255,255,255,.18);margin-top:34px;padding-top:18px;
  display:flex;justify-content:space-between;flex-wrap:wrap;font-size:13.5px}
.fbot>*{margin:3px 16px 3px 0}

/* ---------- pagina interna ---------- */
.page-head{background:var(--petrolio);color:#fff;padding:16px 0 46px;border-bottom:6px solid var(--ambra)}
.page-head h1{font-family:var(--display);font-weight:400;font-size:34px;line-height:1.2;
  margin:0 0 16px;max-width:22ch}
.page-head p{font-size:18px;color:#D3E0E4;max-width:60ch;margin:0}
.crumb{font-family:var(--mono);font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;
  margin:0 0 18px;color:#9FB4BB}
.crumb a{color:#9FB4BB;text-decoration:none}
.crumb a:hover{color:#fff}

.cta-strip{background:var(--bianco);border:1px solid var(--linea-2);border-top:3px solid var(--ambra);
  padding:28px 30px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap}
.cta-strip>*{margin:8px 0}
.cta-strip p{margin:0;font-size:17px;max-width:56ch}
.cta-strip h3{margin-bottom:6px}

.altri{display:flex;flex-wrap:wrap;list-style:none;padding:0;margin:0}
.altri li{margin:0 10px 10px 0}
.altri a{display:inline-block;border:1px solid var(--linea);padding:9px 15px;font-size:15px;
  text-decoration:none;color:var(--petrolio);background:var(--bianco)}
.altri a:hover{border-color:var(--ambra)}

.legal h2{font-size:23px;margin-top:34px}
.legal p,.legal li{font-size:16px}

/* ---------- fotografie ---------- */
figure{margin:0}
.banda{margin:0}
.banda img{display:block;width:100%;height:360px;object-fit:cover;object-position:center}
.banda figcaption,.foto figcaption{font-family:var(--mono);font-size:12.5px;color:var(--muted);
  padding:10px 24px 0;max-width:var(--wrap);margin:0 auto;line-height:1.5}
.foto{margin:0 0 30px}
.foto img{display:block;width:100%;height:300px;object-fit:cover;object-position:center;
  border:1px solid var(--linea-2)}
.foto figcaption{padding:9px 0 0}
.ritratto{width:118px;height:118px;object-fit:cover;border:1px solid var(--linea);
  margin:0 0 16px;display:block}
.foto-piccola{max-width:500px;margin:0 0 30px}
.foto-piccola img{display:block;width:100%;height:auto;border:1px solid var(--linea-2)}
.foto-intera{margin:0 0 30px;max-width:560px}
.foto-intera img{display:block;width:100%;height:auto;border:1px solid var(--linea-2)}

/* ---------- responsive ---------- */
/* ---------- aggiunte 23/09/2026 ---------- */
.hero-foto{margin:0;justify-self:end;max-width:400px;width:100%}
.hero-foto img{display:block;width:100%;height:auto;border:1px solid rgba(255,255,255,.28)}
.hero-foto figcaption{font-size:13.5px;line-height:1.5;color:#AFC4CB;margin-top:10px}
.liv h3 a{color:inherit;text-decoration:none;border-bottom:1px solid var(--ambra)}
.liv h3 a:hover{color:var(--petrolio-2)}
.libro-mini{display:flex;gap:18px;align-items:flex-start;margin-top:22px}
.libro-mini img{width:110px;height:auto;flex:0 0 110px;border:1px solid var(--linea)}
.libro-mini h3{font-size:18px}
.libro-mini p{font-size:15px;color:var(--muted)}
.libro{display:grid;grid-template-columns:minmax(200px,300px) 1fr;gap:44px;align-items:start}
.libro-cop{display:block;width:100%;height:auto;border:1px solid var(--linea);
  box-shadow:0 8px 24px rgba(11,29,38,.18)}
.btn.ghost.scuro{color:var(--petrolio);border-color:var(--petrolio)}
.btn.ghost.scuro:hover{background:var(--petrolio);color:#fff}
.traduzioni{display:grid;grid-template-columns:repeat(3,minmax(0,220px));gap:28px}
.traduzioni img{display:block;width:100%;height:auto;border:1px solid var(--linea);
  box-shadow:0 6px 18px rgba(11,29,38,.14)}
.norme li a{text-decoration:underline;text-decoration-color:var(--ambra)}

@media (max-width:900px){
  .hero-foto{justify-self:start}
  .libro{grid-template-columns:1fr;gap:28px}
  .libro-cop{max-width:260px}
  .hero-grid,.two{grid-template-columns:1fr;gap:32px}
  .fgrid{grid-template-columns:1fr 1fr}
  .hero h1{font-size:33px}
  .page-head h1{font-size:28px}
  .liv{border-right:none}
}
@media (max-width:560px){
  body{font-size:16.5px}
  .banda img{height:230px}
  .foto img{height:210px}
  .wrap{padding:0 18px}
  .hero h1{font-size:28px}
  h2{font-size:25px}
  .fgrid{grid-template-columns:1fr}
  .traduzioni{grid-template-columns:repeat(3,1fr);gap:12px}
  .nav{gap:0}
  .nav>*,.nav>*:first-child{margin:4px 18px 4px 0}
  .nav a{font-size:14.5px}
  .cta-strip{flex-direction:column;align-items:flex-start}
  section{padding:46px 0}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media print{.top,.hero svg,footer{}}

/* ---------- aggiunte 02/10/2026: guide ---------- */
.guida h3{font-size:19px;margin:26px 0 10px}
.inbreve{background:#E3EAEA;border-left:4px solid var(--ambra);padding:22px 26px 10px;margin:0 0 30px}
.inbreve h2{font-size:21px;margin:0 0 12px}
ul.punti{list-style:none;padding:0;margin:0}
ul.punti li{font-size:16px;padding:0 0 12px}
.tab-scroll{overflow-x:auto;margin:0 0 22px;border:1px solid var(--linea)}
table.tab{border-collapse:collapse;width:100%;min-width:460px;font-size:15.5px;line-height:1.5;background:#F8FAF9}
table.tab th{background:var(--petrolio);color:#fff;text-align:left;font-weight:600;padding:10px 14px;font-size:14.5px}
table.tab td{padding:11px 14px;border-top:1px solid var(--linea);vertical-align:top}
table.tab tbody tr:nth-child(even) td{background:#EDF1F0}
table.tab td:first-child{font-weight:600;color:var(--petrolio)}
ul.check.num{counter-reset:none}
.guida{counter-reset:punto}
ul.check.num li{counter-increment:punto;padding-left:38px}
ul.check.num li::before{content:counter(punto);background:none;width:auto;height:auto;top:.05em;
  font-family:var(--mono);font-size:14.5px;color:#9A6A1C;font-weight:700}
.faq details{border:1px solid var(--linea);border-left:3px solid var(--petrolio);background:#EDF1F0;margin:0 0 10px;padding:0 18px}
.faq summary{cursor:pointer;font-weight:600;color:var(--petrolio);padding:14px 0;font-size:16.5px;list-style-position:outside}
.faq details[open]{border-left-color:var(--ambra)}
.faq details p{margin:0 0 16px;font-size:16px}
.panel.guide ul{list-style:none;padding:0;margin:0}
.panel.guide li{padding:6px 0;border-bottom:1px solid var(--linea-2);font-size:15.5px}
.panel.guide li:last-child{border-bottom:none}
section.alt .panel.guide,.panel.guide{background:#E3EAEA}
.two>div{min-width:0}
.two .panel{background:#E3EAEA}
@media (max-width:560px){
  table.tab{min-width:0;font-size:14.5px}
  table.tab th,table.tab td{padding:9px 9px}
  table.tab th{font-size:13.5px}
  .inbreve{padding:18px 18px 6px}
}
.guida .foto img{height:320px}
