/* CSS per guide.php */
:root{
  --paper:#FFFFFF; --ink:#141210; --graphite:#6E6862;
  --red:#C8341E; --red-soft:#F4E2DC;
  --grid-fine:#F6E7E1; --edge:#D8D2CB; --tint:#FAF8F6;
  --green:#1F6F4A;
}
*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;}
html,body{margin:0;padding:0;}
body{
  background:var(--paper); color:var(--ink);
  font-family:'Public Sans',system-ui,sans-serif; font-size:15.5px; line-height:1.65;
  -webkit-font-smoothing:antialiased;
  background-image:
    repeating-linear-gradient(to right, var(--grid-fine) 0 1px, transparent 1px 19px),
    repeating-linear-gradient(to bottom, var(--grid-fine) 0 1px, transparent 1px 19px);
}
h1,h2,h3{font-family:'Archivo',sans-serif;font-variation-settings:'wdth' 112;margin:0;letter-spacing:-.015em;line-height:1.08;}
a{color:inherit;}
:focus-visible{outline:2px solid var(--red);outline-offset:3px;}
.wrap{max-width:860px;margin:0 auto;padding:0 24px;}

.masthead{border-bottom:1px solid var(--edge);background:rgba(255,255,255,.9);backdrop-filter:blur(6px);position:sticky;top:0;z-index:40;}
.mast-in{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 24px;max-width:1180px;margin:0 auto;flex-wrap:wrap;}
.wordmark{display:flex;align-items:center;gap:11px;text-decoration:none;}
.wordmark img{height:40px;width:auto;display:block;flex:none;}
.wm-txt{display:flex;flex-direction:column;line-height:1.18;}
.wordmark b{font-family:'Archivo',sans-serif;font-variation-settings:'wdth' 118;font-weight:800;font-size:16px;letter-spacing:-.02em;text-transform:uppercase;}
.wm-sub{font-family:'Azeret Mono',monospace;font-size:9px;color:var(--graphite);letter-spacing:.11em;text-transform:uppercase;margin-top:3px;}
.mast-nav{display:flex;gap:4px;flex-wrap:wrap;}
.mast-nav a{font-size:13.5px;text-decoration:none;color:var(--graphite);padding:7px 11px;}
.mast-nav a:hover{color:var(--ink);background:var(--tint);}
.sheet{background:var(--paper);border:1.5px solid var(--ink);margin:38px 0 0;box-shadow:0 1px 0 var(--edge),0 14px 34px -22px rgba(20,18,16,.5);}
.sheet-inner{border:.5px solid var(--edge);margin:7px;padding:34px 34px 30px;}
.stamp{font-family:'Azeret Mono',monospace;font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--red);margin-bottom:16px;}
h1{font-size:clamp(27px,4.2vw,42px);font-weight:800;font-variation-settings:'wdth' 108;}
.lede{margin:18px 0 0;color:var(--graphite);font-size:16px;max-width:56ch;}
.acts{display:flex;gap:8px;margin-top:24px;flex-wrap:wrap;}
.btn{display:inline-block;background:var(--ink);color:#fff;text-decoration:none;font-size:14px;font-weight:600;padding:11px 18px;border:1px solid var(--ink);}
.btn:hover{background:#000;}
.btn-ghost{background:transparent;color:var(--ink);}
.btn-ghost:hover{background:var(--tint);}

section{padding:40px 0 4px;}
section h2{font-size:clamp(21px,3vw,28px);margin-bottom:14px;}
section p{margin:0 0 15px;}
.rule{height:1px;background:var(--edge);margin-top:36px;}

.kinds{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:6px;}
@media(max-width:760px){.kinds{grid-template-columns:1fr;}}
.kind{border:1px solid var(--edge);background:var(--tint);padding:18px 18px 20px;}
.kind h3{font-size:16.5px;margin-bottom:8px;}
.kind p{font-size:14.5px;color:var(--graphite);margin:0;}

.steps{counter-reset:st;margin-top:6px;}
.step{display:grid;grid-template-columns:46px 1fr;gap:14px;padding:16px 0;border-top:1px solid var(--edge);}
.step i{font-family:'Azeret Mono',monospace;font-style:normal;font-size:12px;color:var(--red);letter-spacing:.08em;padding-top:3px;}
.step h3{font-size:16.5px;margin-bottom:6px;}
.step p{margin:0;color:var(--graphite);font-size:14.8px;}

.faq{margin-top:6px;border-top:1px solid var(--edge);}
.faq details{border-bottom:1px solid var(--edge);}
.faq summary{cursor:pointer;padding:15px 2px;font-weight:600;font-size:15.5px;list-style:none;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::before{content:'+';color:var(--red);font-family:'Azeret Mono',monospace;margin-right:10px;}
.faq details[open] summary::before{content:'–';}
.faq p{padding:0 2px 16px;margin:0;color:var(--graphite);font-size:14.8px;max-width:70ch;}

.cta{border:1.5px solid var(--ink);background:var(--tint);padding:26px 26px 28px;margin:34px 0 10px;}
.cta h2{margin-bottom:8px;}
.cta p{color:var(--graphite);margin-bottom:18px;}

/* Il selettore della lingua (.langpick/.langlist/.lgcode) sta in
   assets/common.css: e' identico su tutte le pagine che lo usano. */
.langs{margin:38px 0 0;border-top:1px solid var(--edge);padding-top:18px;}
.langs i{font-family:'Azeret Mono',monospace;font-style:normal;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--graphite);display:block;margin-bottom:10px;}
.langs a{display:inline-block;font-size:14px;text-decoration:none;border:1px solid var(--edge);padding:7px 12px;margin:0 6px 6px 0;background:#fff;}
.langs a:hover{border-color:var(--ink);}
.langs a[aria-current]{background:var(--ink);color:#fff;border-color:var(--ink);}

footer{border-top:1px solid var(--edge);margin-top:44px;padding:22px 0 40px;font-size:13px;color:var(--graphite);}
footer .foot{display:flex;flex-wrap:wrap;gap:8px 22px;}
