/* ===== Font self-hosted (OFL) — privacy-friendly, nessun CDN esterno (GDPR) ===== */
@font-face{font-family:'Libre Baskerville';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/libre-baskerville-400.woff2) format('woff2')}
@font-face{font-family:'Libre Baskerville';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/libre-baskerville-700.woff2) format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/inter-400.woff2) format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/inter-500.woff2) format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/inter-600.woff2) format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/inter-700.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/ibm-plex-mono-400.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/ibm-plex-mono-500.woff2) format('woff2')}
:root{
  /* Palette guida — REGOLE/Guida_Web_Design.md (contrasti WCAG verificati) */
  --blu:#17233F; --blu2:#1E4E9A; --acc:#C9A84C; --yellow:#C9A84C; --ink:#20242A; --muted:#5b6b7a;
  --bg:#F7F6F2; --soft:#EFEDE5; --line:#D9DEE7; --ok:#1d7a55; --radius:12px;
  --btn:#1E4E9A; --btn-hover:#173B73;
  --maxw:1120px; --shadow:0 6px 24px rgba(23,35,63,.10);
  --font:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --font-head:'Libre Baskerville',Georgia,'Times New Roman',serif;
  --font-mono:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--font);color:var(--ink);background:var(--bg);line-height:1.65;font-size:17px}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px}
a{color:var(--blu2);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3{font-family:var(--font-head);line-height:1.25;color:var(--blu);font-weight:700}
h1{font-size:2.05rem;margin:.2em 0 .4em}
h2{font-size:1.5rem;margin:1.8em 0 .5em}
h3{font-size:1.18rem;margin:1.4em 0 .4em}
img{max-width:100%;height:auto}
.skip{position:absolute;left:-999px;top:0;background:var(--blu);color:#fff;padding:10px 16px;z-index:200}
.skip:focus{left:8px;top:8px}
/* header */
.site-head{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);backdrop-filter:blur(6px);border-top:3px solid var(--acc);border-bottom:1px solid var(--line)}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:68px}
.brand{display:flex;align-items:center;gap:11px;line-height:1.1}
.brand img.logo{width:48px;height:48px;display:block;flex:0 0 auto}
.brand .bt{display:flex;flex-direction:column}
.brand .bt b{color:var(--blu);font-size:1.08rem;text-transform:none}
.brand .bt span{color:var(--muted);font-size:.7rem;letter-spacing:.4px;text-transform:uppercase}
nav.main{display:flex;gap:18px;flex-wrap:wrap;align-items:center}
nav.main a{color:var(--ink);font-weight:600;font-size:.95rem;padding:6px 2px}
nav.main a.cta{background:var(--btn);color:#fff;padding:9px 16px;border-radius:999px}
nav.main a.cta:hover{background:var(--btn-hover);text-decoration:none}
nav.main details.nd summary.strumenti,nav.main a.cta-yellow{background:var(--soft);color:var(--blu);border:1px solid var(--acc);padding:8px 15px;border-radius:999px;font-weight:600}
nav.main details.nd summary.strumenti:hover,nav.main a.cta-yellow:hover{background:#fff;border-color:var(--blu2);color:var(--blu2);text-decoration:none}
.menu-toggle{display:none}
/* hero */
.hero{background:linear-gradient(135deg,var(--blu),var(--blu2));color:#fff;padding:54px 0 48px}
.hero h1{color:#fff;max-width:20ch}
.hero p.sub{font-size:1.18rem;max-width:62ch;color:#dfeaf3;margin:.4em 0 1.4em}
.hero .tag{display:inline-block;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);color:#eaf2f8;padding:5px 13px;border-radius:999px;font-size:.8rem;margin-bottom:14px}
.btn{display:inline-block;background:var(--btn);color:#fff;padding:13px 24px;border-radius:999px;font-weight:700;border:0;cursor:pointer}
.btn:hover{background:var(--btn-hover);text-decoration:none}
.btn.ghost{background:transparent;border:1.5px solid rgba(255,255,255,.6);margin-left:8px}
/* ghost su sfondo chiaro (band/cta-final): testo e bordo blu per contrasto WCAG */
.band .btn.ghost,.cta-final .btn.ghost{color:var(--blu2);border-color:var(--blu2);background:transparent}
.band .btn.ghost:hover,.cta-final .btn.ghost:hover{background:var(--btn);color:#fff;border-color:var(--btn);text-decoration:none}
/* breadcrumb */
.crumbs{font-size:.85rem;color:var(--muted);padding:14px 0;border-bottom:1px solid var(--line)}
.crumbs a{color:var(--muted)}
/* main */
main{padding:8px 0 10px}
.content{padding:18px 0 40px}
.content p,.content li{font-size:1.04rem}
.content ul{padding-left:1.2em}
.content h2{clear:both}
.lead{font-size:1.15rem;color:var(--muted)}
.clear{clear:both}
/* cards / grid */
.grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin:22px 0}
.card{background:var(--soft);border:1px solid var(--line);border-radius:var(--radius);padding:20px;transition:.18s}
.card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}
.card h3{margin-top:0}
.card .ico{font-size:1.6rem}
.card .thumb{width:100%;height:172px;object-fit:cover;border-radius:9px;margin-bottom:12px;display:block}
/* Banner SVG: mostra il banner intero senza ritagli (rapporti misti), sfondo bianco come il banner */
.card .thumb.thumb-svg{object-fit:contain;background:#fff;border:1px solid var(--line)}
.card.article .meta{font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.4px}
.card.article a.more{font-weight:700}
/* band */
.band{background:var(--soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:38px 0;margin-top:30px}
.band h2{margin-top:0}
.section-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}
.section-title a{font-size:.9rem;font-weight:700}
/* FAQ */
.faq details{border:1px solid var(--line);border-radius:10px;margin:10px 0;background:#fff;overflow:hidden}
.faq summary{cursor:pointer;padding:14px 18px;font-weight:700;color:var(--blu);list-style:none;display:flex;justify-content:space-between;gap:10px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--blu2);font-size:1.3rem;line-height:1}
.faq details[open] summary::after{content:"\2013"}
.faq .ans{padding:0 18px 16px;color:var(--ink)}
/* callout */
.callout{border-left:4px solid var(--acc);background:#fff7ec;padding:14px 18px;border-radius:0 10px 10px 0;margin:20px 0}
/* callout con copertina libro + bottone Amazon */
.libro-callout{display:flex;gap:20px;align-items:flex-start}
.libro-callout .libro-testo{flex:1 1 auto;min-width:0}
.libro-callout .libro-testo>p:first-child{margin-top:0}
.libro-cover{flex:0 0 auto;display:block;line-height:0;position:relative}
.libro-cover>img{display:block;width:120px;height:auto;border-radius:6px;box-shadow:0 6px 18px rgba(0,0,0,.20);transition:transform .25s ease,box-shadow .25s ease}
.libro-cover:hover>img{transform:translateY(-3px) rotate(-1.5deg);box-shadow:0 10px 26px rgba(0,0,0,.28)}
.libro-zoom{position:absolute;top:50%;right:calc(100% + 18px);transform:translateY(-50%) scale(.9);transform-origin:center right;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .28s ease,transform .28s ease;z-index:60}
.libro-zoom img{display:block;width:320px;max-width:44vw;height:auto;border-radius:10px;box-shadow:0 22px 55px rgba(0,0,0,.45)}
.libro-cover:hover .libro-zoom,.libro-cover:focus-visible .libro-zoom{opacity:1;visibility:visible;transform:translateY(-50%) scale(1)}
.libro-amazon{display:inline-block;line-height:0;margin:14px 0 2px}
.libro-amazon img{display:block;width:170px;height:auto;transition:transform .2s ease,filter .2s ease}
.libro-amazon:hover img{transform:scale(1.04);filter:brightness(1.04)}
@media(max-width:560px){.libro-callout{flex-direction:column-reverse;align-items:center}.libro-callout .libro-testo{width:100%}.libro-cover>img{width:140px}.libro-zoom{display:none}.libro-amazon{display:block;text-align:center}.libro-amazon img{margin:0 auto}}
.targets-cta{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}
.targets-cta a{background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 15px;font-weight:600;color:var(--blu)}
/* footer */
footer{background:var(--ink);color:#cdd8e2;padding:42px 0 26px;margin-top:36px;font-size:.92rem}
footer h4{color:#fff;font-size:.95rem;margin:0 0 12px;text-transform:uppercase;letter-spacing:.5px}
footer a{color:#9fc2dd}
.fgrid{display:grid;gap:28px;grid-template-columns:1.4fr 1fr 1fr}
.fgrid ul{list-style:none;padding:0;margin:0}
.fgrid li{margin:6px 0}
.legal{border-top:1px solid #2c3947;margin-top:26px;padding-top:16px;font-size:.8rem;color:#8696a6;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.verify{background:#fff3cd;color:#7a5b00;border:1px dashed #d8b24a;padding:2px 7px;border-radius:5px;font-size:.85em}
/* footer brand (blocco aree/recapiti tipo starchetipo.it) */
.fbrand-head{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.flogo{width:64px;height:64px;border-radius:50%;flex:0 0 auto}
.fbrand-name{margin:0;font-family:var(--font-head);font-size:1.15rem;text-transform:none;letter-spacing:0}
.fbrand-name a{color:#fff}
.fclaim{margin:3px 0 0;color:var(--acc);font-size:.78rem;text-transform:uppercase;letter-spacing:.6px;font-weight:600}
.foperiamo{color:var(--acc);font-size:.8rem;text-transform:uppercase;letter-spacing:.5px;font-weight:700;margin:14px 0 8px}
.faree{list-style:none;padding:0;margin:0 0 14px;font-size:.86rem;line-height:1.5}
.faree li{margin:5px 0}
.faree strong{color:#fff}
.ftel{margin:10px 0 4px}
.fmail{margin:4px 0}
.fwa{margin:6px 0 0}
.fwa a{display:inline-flex;align-items:center;gap:6px;font-weight:600}
@media(max-width:820px){
  nav.main{display:none;position:absolute;top:68px;left:0;right:0;background:#fff;flex-direction:column;padding:14px 20px;border-bottom:1px solid var(--line);gap:10px}
  nav.main.open{display:flex}
  .nav-search{width:100%}
  .nav-search-form{flex:1 1 auto}
  .nav-search input[type=search]{width:100%;max-width:none}
  .nav-search input[type=search]:focus{width:100%}
  .nav-results{position:absolute;left:0;right:0;width:auto}
  .menu-toggle{display:inline-flex;background:var(--blu);color:#fff;border:0;border-radius:8px;padding:10px 14px;font-size:1rem;cursor:pointer}
  .fgrid{grid-template-columns:1fr}
  h1{font-size:1.7rem}
}
/* ===== Form contatti ===== */
.form-wrap{display:grid;grid-template-columns:1.55fr 1fr;gap:34px;align-items:start;margin:10px 0 8px}
@media(max-width:880px){.form-wrap{grid-template-columns:1fr}}
.ctp-form{background:var(--soft);border:1px solid var(--line);border-radius:var(--radius);padding:22px}
.ctp-form .row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:560px){.ctp-form .row{grid-template-columns:1fr}}
.field{display:flex;flex-direction:column;margin:10px 0}
.field label{font-weight:600;font-size:.9rem;color:var(--blu);margin-bottom:5px}
.field .req{color:#b3261e}
.ctp-form input[type=text],.ctp-form input[type=tel],.ctp-form input[type=email],
.ctp-form select,.ctp-form textarea{font:inherit;padding:11px 12px;border:1px solid #cdd8e2;border-radius:9px;background:#fff;color:var(--ink);width:100%}
.ctp-form textarea{min-height:120px;resize:vertical}
.ctp-form input:focus,.ctp-form select:focus,.ctp-form textarea:focus{outline:2px solid var(--blu2);border-color:var(--blu2)}
.radio-row{display:flex;gap:18px;flex-wrap:wrap;margin-top:4px}
.radio-row label{display:flex;align-items:center;gap:6px;font-weight:500;color:var(--ink)}
.consent{display:flex;gap:10px;align-items:flex-start;margin:14px 0;font-size:.92rem}
.consent input{margin-top:4px}
.ctp-form .submit{margin-top:6px}
.ctp-form button[type=submit]{background:var(--btn);color:#fff;border:0;border-radius:999px;padding:13px 26px;font-weight:700;font-size:1rem;cursor:pointer}
.ctp-form button[type=submit]:hover{background:var(--btn-hover)}
.reassure{display:flex;gap:16px;flex-wrap:wrap;color:var(--ok);font-size:.88rem;font-weight:600;margin-top:12px}
.hp{position:absolute;left:-9999px}
.contact-aside{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px}
.contact-aside h3{margin-top:0}
.contact-list{list-style:none;padding:0;margin:0}
.contact-list li{padding:9px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:10px;font-size:.95rem}
.contact-list li:last-child{border-bottom:0}
.contact-list .lbl{color:var(--muted)}
.steps{counter-reset:s;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin:18px 0}
.steps .step{background:var(--soft);border:1px solid var(--line);border-radius:10px;padding:18px 18px 18px 56px;position:relative}
.steps .step::before{counter-increment:s;content:counter(s);position:absolute;left:16px;top:16px;width:28px;height:28px;background:var(--blu);color:#fff;border-radius:50%;display:grid;place-items:center;font-weight:700;font-family:var(--font-mono)}
.steps .step b{color:var(--blu);display:block;margin-bottom:3px}
/* ===== Steps "fx": sfondo alternato chiaro/scuro + glow che segue il mouse =====
   Usato dove serve enfasi (es. pagina Per avvocati). Contrasti WCAG verificati:
   avorio su blu notte 14.40:1; oro su blu notte 6.81:1. */
.steps-fx .step{overflow:hidden;isolation:isolate;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.steps-fx .step b,.steps-fx .step .d{position:relative;z-index:1}
.steps-fx .step .d{display:block}
.steps-fx .step::before{z-index:2}
.steps-fx .step::after{content:"";position:absolute;left:var(--mx,50%);top:var(--my,30%);width:240px;height:240px;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(30,78,154,.20),rgba(30,78,154,0) 70%);opacity:0;transition:opacity .3s ease;pointer-events:none;z-index:0}
.steps-fx .step:hover{transform:translateY(-5px);box-shadow:0 14px 32px rgba(23,35,63,.20);border-color:var(--acc)}
.steps-fx .step:hover::after{opacity:1}
/* card pari = scure (blu notte): testo avorio, titolo e badge oro */
.steps-fx .step:nth-child(even){background:var(--blu);border-color:#2c3d63;color:var(--bg)}
.steps-fx .step:nth-child(even) b{color:var(--acc)}
.steps-fx .step:nth-child(even)::before{background:var(--acc);color:var(--blu)}
.steps-fx .step:nth-child(even)::after{background:radial-gradient(circle,rgba(201,168,76,.30),rgba(201,168,76,0) 70%)}
@media (prefers-reduced-motion:reduce){
  .steps-fx .step{transition:none}
  .steps-fx .step:hover{transform:none}
  .steps-fx .step::after{display:none}
}
.foot-albi{border-top:1px solid #2c3947;margin-top:22px;padding-top:16px;font-size:.85rem;color:#9fc2dd}
/* ===== Carosello articoli (card) ===== */
.carousel{position:relative;overflow:hidden;padding:10px 0}
.carousel.static{overflow-x:auto}
.carousel-track{display:flex;gap:18px;width:max-content;animation:scrollx 60s linear infinite}
.carousel:hover .carousel-track{animation-play-state:paused}
@keyframes scrollx{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.slide{flex:0 0 300px;position:relative;display:block;border-radius:12px;overflow:hidden;background:#fff;border:1px solid var(--line);color:var(--ink);text-decoration:none;animation:floaty 6s ease-in-out infinite;animation-delay:var(--fd,0s)}
.slide:hover{text-decoration:none;box-shadow:var(--shadow);border-color:hsla(var(--hue,40),70%,55%,.6)}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
.slide img{width:100%;height:175px;object-fit:cover;display:block}
.slide .cap{display:block;padding:12px 14px}
.slide .cap .meta{font-size:.72rem;text-transform:uppercase;letter-spacing:.4px;color:var(--muted)}
.slide .cap h3{margin:.25em 0 0;font-size:1rem;color:var(--blu);line-height:1.3}
.slide .glow{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .25s;background:radial-gradient(240px circle at var(--mx,50%) var(--my,50%), hsla(var(--hue,40),90%,60%,.45), transparent 60%);mix-blend-mode:screen}
.slide:hover .glow{opacity:1}
/* ===== Immagini negli articoli (float + glow) ===== */
.art-fig{position:relative;max-width:330px;margin:6px 0 16px;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff;transition:transform .3s ease,box-shadow .3s ease;will-change:transform}
.art-fig.art-left{float:left;margin-right:24px}
.art-fig.art-right{float:right;margin-left:24px}
.art-fig img{display:block;width:100%;height:auto}
.art-fig figcaption{font-size:.8rem;color:var(--muted);padding:8px 12px;background:var(--soft);border-top:1px solid var(--line);line-height:1.4}
.art-fig .glow2{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .25s;background:radial-gradient(220px circle at var(--mx,50%) var(--my,50%), hsla(var(--hue,40),90%,60%,.42), transparent 60%);mix-blend-mode:screen}
.art-fig:hover .glow2{opacity:1}
.art-fig:hover{transform:translate(var(--rx,0),var(--ry,0)) rotate(var(--rot,0deg)) scale(1.02);box-shadow:var(--shadow);z-index:3}
@media(max-width:600px){.art-fig{float:none!important;max-width:100%;margin:14px 0}}
@media(prefers-reduced-motion:reduce){.art-fig{transition:none}.art-fig:hover{transform:none}.slide{animation:none}}
/* ===== Hero carosello (in cima, larghezza contenuto) ===== */
.hero-carousel{position:relative;overflow:hidden;width:100%;background:#0c1f2e;border-radius:12px;border:1px solid var(--line);margin:6px 0 26px}
.hc-track{display:flex;transition:transform .8s cubic-bezier(.4,0,.2,1)}
.hslide{position:relative;flex:0 0 100%;display:block;height:300px;color:#fff;text-decoration:none}
.hslide img{width:100%;height:100%;object-fit:cover;display:block}
.hslide .hcap{position:absolute;left:0;right:0;bottom:0;padding:22px 26px 20px;background:linear-gradient(to top,rgba(8,24,40,.92),rgba(8,24,40,.35) 55%,transparent)}
.hslide .hmeta{display:inline-block;font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;color:#fff;background:var(--btn);padding:3px 11px;border-radius:999px}
.hslide .hcap h2{color:#fff;margin:.4em 0 0;font-size:1.5rem;line-height:1.2;max-width:24ch;text-shadow:0 2px 14px rgba(0,0,0,.5)}
.hslide:hover .hcap h2{text-decoration:underline}
.hc-dots{position:absolute;bottom:16px;right:7%;display:flex;gap:8px}
.hc-dot{width:11px;height:11px;border-radius:50%;border:0;background:rgba(255,255,255,.45);cursor:pointer;padding:0}
.hc-dot.on{background:var(--acc)}
@media(max-width:700px){.hslide{height:220px}.hslide .hcap h2{font-size:1.15rem}}

/* ===== Hero home a 2 colonne (servizi + logo) ===== */
.hero-grid{display:grid;grid-template-columns:1fr 300px;gap:34px;align-items:center}
.hero-col-left{min-width:0}
.hero-col-left h1{color:#fff;max-width:18ch}
/* H1 ridotta e discreta sopra lo scroll servizi nella home */
.hero-col-left h1.h1-mini{font-size:1.5rem;line-height:1.25;font-weight:700;max-width:26ch;margin:0 0 4px;letter-spacing:.1px}
.hero-col-right{display:flex;justify-content:center}
.hero-logo{width:260px;height:260px;max-width:100%;background:#fff;border-radius:18px;padding:16px;box-shadow:0 8px 30px rgba(0,0,0,.22)}
.svc-carousel{overflow:hidden;margin-top:20px}
.svc-track{display:flex;gap:12px;width:max-content;animation:scrollx 38s linear infinite}
.svc-carousel:hover .svc-track{animation-play-state:paused}
.svc-item{flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.28);color:#fff;padding:10px 16px;border-radius:999px;font-weight:600;font-size:.92rem;text-decoration:none;white-space:nowrap}
.svc-item:hover{background:rgba(255,255,255,.22);text-decoration:none}
.svc-item .ico{font-size:1.05rem}
@media(max-width:820px){.hero-grid{grid-template-columns:1fr}.hero-col-right{order:-1}.hero-logo{width:170px;height:170px}}
/* Carosello articoli in alto: altezza doppia */
.hslide{height:600px}
@media(max-width:700px){.hslide{height:360px}}

/* --- Menu a temi (dropdown) --- */
nav.main details.nd{position:relative}
nav.main details.nd>summary{list-style:none;cursor:pointer;color:var(--ink);font-weight:600;font-size:.95rem;padding:6px 2px;display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
nav.main details.nd>summary::-webkit-details-marker{display:none}
nav.main details.nd>summary::after{content:"\25be";font-size:.7em;color:var(--blu2);transition:transform .15s}
nav.main details.nd[open]>summary::after{transform:rotate(180deg)}
nav.main details.nd>summary:hover{color:var(--blu2)}
nav.main .dd{position:absolute;top:calc(100% + 10px);left:0;min-width:264px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:8px;display:flex;flex-direction:column;z-index:120}
nav.main details.nd:nth-of-type(4) .dd,nav.main details.nd:nth-of-type(5) .dd{left:auto;right:0}
nav.main .dd a{padding:9px 12px;border-radius:8px;font-weight:600;font-size:.9rem;color:var(--ink)}
nav.main .dd a:hover{background:var(--soft);color:var(--blu);text-decoration:none}
@media(max-width:820px){
  nav.main details.nd{width:100%}
  nav.main details.nd>summary{width:100%;justify-content:space-between;padding:8px 0}
  nav.main .dd,nav.main details.nd:nth-of-type(4) .dd,nav.main details.nd:nth-of-type(5) .dd{position:static;left:auto;right:auto;box-shadow:none;border:0;border-left:2px solid var(--line);border-radius:0;margin:2px 0 8px 4px;padding:2px 0 2px 12px;min-width:0}
}
/* ===== Ricerca nel menu (icona-lente -> /cerca/ + casella live) ===== */
.nav-search{position:relative;display:flex;align-items:center;gap:6px}
.nav-search-go{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:999px;color:var(--blu2);background:var(--soft);border:1px solid var(--line);transition:background .15s,border-color .15s,color .15s}
.nav-search-go:hover{background:#fff;border-color:var(--blu2);color:var(--blu);text-decoration:none}
.nav-search-go:focus-visible{outline:3px solid var(--acc);outline-offset:2px}
.nav-search-form{margin:0;display:flex;align-items:center}
.nav-search input[type=search]{width:170px;max-width:42vw;border:1px solid var(--line);border-radius:999px;padding:8px 14px;font:inherit;font-size:.9rem;color:var(--ink);background:var(--soft);transition:width .2s,box-shadow .2s,background .2s;-webkit-appearance:none}
.nav-search input[type=search]:focus{outline:none;width:230px;background:#fff;box-shadow:0 0 0 3px rgba(31,90,134,.15)}
.nav-search input[type=search]::-webkit-search-cancel-button{display:none}
.nav-results{position:absolute;top:calc(100% + 8px);right:0;width:360px;max-width:86vw;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:6px;z-index:130;max-height:70vh;overflow:auto}
.nav-results .nr-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 12px;border-radius:8px;color:var(--ink)}
.nav-results .nr-item:hover,.nav-results .nr-item.on{background:var(--soft);text-decoration:none}
.nav-results .nr-body{min-width:0;display:flex;flex-direction:column}
.nav-results .nr-area{order:-1;font-family:var(--font-mono);font-size:.6rem;letter-spacing:.05em;text-transform:uppercase;color:var(--blu2);margin-bottom:1px}
.nav-results .nr-go{flex:0 0 auto;color:var(--blu2);font-size:1.2rem;line-height:1;opacity:.55;transition:transform .15s,opacity .15s}
.nav-results .nr-item:hover .nr-go,.nav-results .nr-item.on .nr-go{opacity:1;transform:translateX(2px)}
.nav-results .nr-t{display:block;font-weight:700;color:var(--blu);font-size:.92rem;line-height:1.3}
.nav-results .nr-d{color:var(--muted);font-size:.8rem;line-height:1.35;margin-top:2px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.nav-results .nr-all{display:block;padding:10px 12px;margin-top:4px;border-top:1px solid var(--line);font-weight:600;font-size:.85rem;color:var(--blu2)}
.nav-results .nr-empty{padding:12px;color:var(--muted);font-size:.9rem}
/* ===== Pagina /cerca/ ===== */
.cerca-form{margin:.4em 0 .2em}
.cerca-form input[type=search]{width:100%;border:1px solid var(--line);border-radius:10px;padding:14px 16px;font:inherit;font-size:1.05rem;background:var(--soft);-webkit-appearance:none}
.cerca-form input[type=search]:focus{outline:none;background:#fff;box-shadow:0 0 0 3px rgba(31,90,134,.15)}
/* contatore risultati: pillola/etichetta */
.cerca-count{color:var(--muted);font-size:.95rem;margin:1.1em 0 1em;padding-left:.1em}
.cerca-count strong{color:var(--blu)}
.cerca-count.has-res{padding:.5em .9em;background:var(--soft);border:1px solid var(--line);border-left:4px solid var(--blu2);border-radius:8px;display:inline-block}
.cerca-count.no-res{padding:.5em .9em;background:#fff7ec;border:1px solid var(--acc);border-radius:8px;display:inline-block;color:var(--ink)}
/* risultati: schede con hover, badge area, freccia, termine evidenziato */
.cerca-results{display:grid;gap:14px;margin-top:6px}
.cr-item{margin:0}
.cr-link{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fff;border:1px solid var(--line);border-left:4px solid var(--blu2);border-radius:var(--radius);padding:15px 18px;text-decoration:none;color:var(--ink);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.cr-link:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-left-color:var(--acc);text-decoration:none}
.cr-link:focus-visible{outline:3px solid var(--acc);outline-offset:2px}
.cr-main{min-width:0;display:flex;flex-direction:column;gap:.18em}
.cr-area{align-self:flex-start;font-family:var(--font-mono);font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;color:var(--blu2);background:var(--soft);border:1px solid var(--line);border-radius:999px;padding:.12em .65em}
.cr-title{font-family:var(--font-head);font-weight:700;font-size:1.1rem;line-height:1.3;color:var(--blu)}
.cr-desc{color:var(--muted);font-size:.95rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cr-go{flex:0 0 auto;color:var(--blu2);font-size:1.4rem;line-height:1;transition:transform .16s ease}
.cr-link:hover .cr-go{transform:translateX(4px)}
/* stato "nessun risultato" */
.cr-empty{text-align:center;padding:34px 22px;background:var(--soft);border:1px dashed var(--line);border-radius:var(--radius);color:var(--muted)}
.cr-empty-ico{display:inline-flex;color:var(--blu2);opacity:.7}
.cr-empty-t{margin:.4em 0 .2em;color:var(--ink);font-size:1.05rem}
.cr-empty-s{margin:0 auto;max-width:46ch;font-size:.95rem}
/* termine cercato evidenziato (oro come accento, testo invariato per contrasto) */
mark.hl{background:rgba(201,168,76,.32);color:inherit;border-radius:3px;padding:0 .12em}
@media(prefers-reduced-motion:reduce){.cr-link,.cr-go{transition:none}.cr-link:hover{transform:none}}
/* pagina /cerca/: banda hero (riusa .faq-stage) ma NON sticky */
.cerca-stage{position:static;top:auto}
/* pagina /strumenti/: banda hero (riusa .faq-stage, sticky come FAQ) + filtro
   live delle webapp; [hidden] deve vincere sulle regole con display esplicito */
.strumenti-grid [hidden]{display:none!important}
/* ===== /strumenti/: indice categorie (chip) + barre-categoria con freccia "torna su" =====
   MKD Guida_Web_Design: barra blu notte->blu reale, testo avorio (14.4:1); filetto e
   freccia oro come accento SOLO su fondo scuro (oro su blu notte = 6.81:1, conforme AA);
   chip indice in blu reale su bianco, oro solo a bordo; animazioni leggere. */
.strum-indice{margin:1.8rem 0 1.6rem;scroll-margin-top:90px}
.strum-indice .si-title{font-family:var(--font-head);color:var(--blu);font-size:1.05rem;font-weight:700;margin:0 0 .6rem}
.strum-indice .si-list{display:flex;flex-wrap:wrap;gap:.5rem .55rem;list-style:none;margin:0;padding:0}
.strum-indice li{margin:0}
.strum-indice li[hidden]{display:none}
.strum-indice a{display:inline-flex;align-items:center;gap:.45em;background:#fff;border:1px solid var(--line);border-radius:999px;padding:.42em .9em;color:var(--blu2);font-weight:600;line-height:1.25;text-decoration:none;transition:border-color .15s,background .15s,transform .15s,box-shadow .15s}
.strum-indice a:hover{border-color:var(--acc);background:var(--soft);text-decoration:none;transform:translateY(-1px);box-shadow:var(--shadow)}
.strum-indice a:focus-visible{outline:3px solid var(--acc);outline-offset:2px}
.strum-indice .si-n{font-family:var(--font-mono);font-size:.72em;font-weight:500;color:var(--muted)}
.strum-indice .si-ico{flex:0 0 auto;font-size:1.05em;line-height:1}
/* barra-categoria: H2 con classe .strum-cat (in /strumenti/ e nelle pagine con indice di sezione) */
h2.strum-cat{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:2.2em 0 1em;padding:.62em .85em .62em 1em;color:#F7F6F2;background:linear-gradient(120deg,var(--blu),var(--blu2));border-left:5px solid var(--acc);border-radius:10px;box-shadow:var(--shadow);scroll-margin-top:90px}
h2.strum-cat:first-of-type{margin-top:1.2em}
h2.strum-cat .sc-head{display:inline-flex;align-items:center;gap:.55em;min-width:0}
h2.strum-cat .sc-ico{flex:0 0 auto;font-size:1.15em;line-height:1}
h2.strum-cat .sc-name{font-size:1.3rem;line-height:1.25;color:#F7F6F2}
h2.strum-cat .faqx-count{font-family:var(--font-mono);font-weight:500;font-size:.66em;color:var(--acc);opacity:.92}
/* freccia "torna su": oro su blu (accento leggibile, 6.81:1) */
.strum-up{flex:0 0 auto;display:inline-flex;align-items:center;gap:.35em;color:var(--acc);background:rgba(247,246,242,.06);border:1px solid rgba(201,168,76,.55);border-radius:999px;padding:.28em .7em;font-family:var(--font);font-size:.78rem;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s,transform .15s,color .15s}
.strum-up:hover{background:rgba(201,168,76,.18);border-color:var(--acc);color:#F2E4BD;text-decoration:none;transform:translateY(-2px)}
.strum-up:focus-visible{outline:3px solid var(--acc);outline-offset:2px}
.strum-up svg{display:block}
@media(max-width:560px){h2.strum-cat{padding:.55em .65em;gap:.5rem}h2.strum-cat .sc-name{font-size:1.1rem}.strum-up .su-t{display:none}.strum-up{padding:.32em .5em}}
@media(prefers-reduced-motion:reduce){.strum-indice a,.strum-up{transition:none}.strum-indice a:hover,.strum-up:hover{transform:none}}
/* ===== Export riepilogo calcolo (PDF/DOCX/XLSX) nelle pagine-strumento =====
   MKD: card avorio, pulsanti bianchi con testo/icona blu reale, bordo oro solo in hover (accento). */
.tool-export{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem 1.1rem;margin:1.4rem 0 .4rem;padding:1rem 1.15rem;background:var(--soft);border:1px solid var(--line);border-radius:var(--radius)}
.tool-export .te-lbl{font-weight:700;color:var(--blu);font-size:.98rem}
.tool-export .te-btns{display:flex;flex-wrap:wrap;gap:.55rem}
.te-btn{display:inline-flex;align-items:center;gap:.45em;background:#fff;border:1px solid var(--line);border-radius:999px;padding:.5em 1em;color:var(--blu2);font:inherit;font-weight:600;font-size:.92rem;cursor:pointer;transition:border-color .15s,background .15s,transform .15s,box-shadow .15s}
.te-btn svg{color:var(--blu2);flex:0 0 auto}
.te-btn:hover{border-color:var(--acc);transform:translateY(-2px);box-shadow:var(--shadow)}
.te-btn:focus-visible{outline:3px solid var(--acc);outline-offset:2px}
@media(max-width:560px){.tool-export{flex-direction:column;align-items:flex-start;gap:.6rem}}
@media(prefers-reduced-motion:reduce){.te-btn{transition:none}.te-btn:hover{transform:none}}
.cerca-intro{color:var(--muted);font-size:1.05rem;margin:.2em 0 1.2em;max-width:70ch}
/* nuvola "Argomenti più cercati" */
.cerca-tags-wrap{margin:1.4rem 0 1.8rem}
.cerca-tags-title{margin:0 0 .2em}
.cerca-tags-help{color:var(--muted);font-size:.95rem;margin:.2em 0 1em}
.cerca-tags{display:flex;flex-wrap:wrap;gap:.5rem .55rem;align-items:center}
.cerca-tag{display:inline-flex;align-items:baseline;gap:.35em;background:#fff;border:1px solid var(--line);border-radius:999px;padding:.4em .9em;color:var(--blu2);font-weight:600;line-height:1.25;text-decoration:none;transition:border-color .15s,background .15s,transform .15s,box-shadow .15s}
.cerca-tag:hover{border-color:var(--blu2);background:var(--soft);text-decoration:none;transform:translateY(-1px);box-shadow:var(--shadow)}
.cerca-tag:focus-visible{outline:3px solid var(--acc);outline-offset:2px}
.cerca-tag .ct-n{font-family:var(--font-mono);font-size:.66em;color:var(--muted);font-weight:500}
.cerca-results:empty{min-height:0}

/* Esito invio form contatti */
#form-esito{margin:14px 0;padding:12px 16px;border-radius:8px;font-weight:600}
#form-esito.form-ok{background:#e8f5e9;color:#1b5e20;border:1px solid #a5d6a7}
#form-esito.form-err{background:#fdecea;color:#b71c1c;border:1px solid #ef9a9a}

/* Hero image pagine strumenti / webapp */
.hero-img{display:block;margin:0 0 2em;border-radius:var(--radius);overflow:hidden;line-height:0}
.hero-img img{width:100%;height:auto;display:block;border-radius:var(--radius)}

/* Pulsante "← Torna ai Strumenti" nelle webapp */
.btn-torna-strumenti{display:inline-flex;align-items:center;gap:.4em;margin-top:2em;padding:.75em 1.6em;background:var(--blu,#17233F);color:#fff!important;text-decoration:none;border-radius:8px;font-weight:700;font-size:1rem;letter-spacing:.01em;box-shadow:0 2px 10px rgba(20,58,90,.20);transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1),background .2s}
.btn-torna-strumenti:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 8px 28px rgba(23,35,63,.38),0 0 18px rgba(30,78,154,.28);background:var(--blu2);color:#fff!important;text-decoration:none}


/* ===== FAQ hub banner (link a /domande-frequenti/) ===== */
.faq-hub-banner{display:flex;align-items:center;gap:1rem;margin:2.4rem 0 1.1rem;padding:1rem 1.25rem;text-decoration:none;border-radius:var(--radius);background:linear-gradient(120deg,var(--blu),var(--blu2));color:#F7F6F2;border:1px solid rgba(201,168,76,.45);box-shadow:var(--shadow);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.faq-hub-banner:hover{transform:translateY(-3px);box-shadow:0 10px 30px rgba(23,35,63,.32),0 0 16px rgba(201,168,76,.22);border-color:var(--acc);text-decoration:none}
.faq-hub-banner:focus-visible{outline:3px solid var(--acc);outline-offset:2px}
.faq-hub-banner .fhb-ico{flex:0 0 auto;display:flex;align-items:center}
.faq-hub-banner .fhb-txt{flex:1 1 auto;display:flex;flex-direction:column;gap:.12rem;min-width:0}
.faq-hub-banner .fhb-t{font-weight:700;font-size:1.05rem;color:#fff;line-height:1.25}
.faq-hub-banner .fhb-s{font-size:.9rem;color:#D9DEE7}
.faq-hub-banner .fhb-cta{flex:0 0 auto;font-weight:700;color:#fff;white-space:nowrap;border-bottom:2px solid var(--acc);padding-bottom:1px}
@media(max-width:560px){.faq-hub-banner{flex-wrap:wrap;gap:.7rem}.faq-hub-banner .fhb-cta{flex-basis:100%}}

/* ===== Pagina indice FAQ (/domande-frequenti/) ===== */
/* l'indice temi FAQ riusa le chip di .strum-indice (.si-list); qui solo il wrap */
.faqx-toc{display:flex;flex-wrap:wrap;gap:.5rem .55rem;margin:0;padding:0;list-style:none}
.faqx-theme{margin:2.6rem 0}
.faqx-theme>h2:not(.strum-cat){color:var(--blu);border-bottom:2px solid var(--line);padding-bottom:.35rem;scroll-margin-top:84px}
.faqx-count{color:var(--muted);font-size:.9rem;font-weight:400}
.faqx-art{margin:1.1rem 0 1.5rem}
.faqx-art>h3{font-size:1.06rem;margin:.7rem 0 .45rem;display:flex;align-items:baseline;gap:.45em}
.faqx-art>h3 .fx-ico{flex:0 0 auto;font-size:1.05em;line-height:1;font-style:normal}
.faqx-art>h3 a{color:var(--blu2);text-decoration:none}
.faqx-art>h3 a:hover{text-decoration:underline}
.faqx-art details{border:1px solid var(--line);border-radius:10px;margin:8px 0;background:#fff;overflow:hidden}
.faqx-art summary{cursor:pointer;padding:12px 16px;font-weight:600;color:var(--blu);list-style:none;display:flex;justify-content:space-between;gap:10px}
.faqx-art summary::-webkit-details-marker{display:none}
.faqx-art summary::after{content:"+";color:var(--blu2);font-size:1.25rem;line-height:1}
.faqx-art details[open] summary::after{content:"\2013"}
.faqx-art .ans{padding:0 16px 14px;color:var(--ink)}


/* ===== Banda hero FAQ (/domande-frequenti/): titolo FAQ + ricerca live ===== */
/* clip dell'overflow orizzontale generato dalla banda full-bleed (100vw) */
main{overflow-x:hidden;overflow-x:clip}
.vh{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.faq-stage{position:sticky;top:var(--faq-top,72px);z-index:80;
  width:100vw;margin-left:50%;transform:translateX(-50%);
  margin-top:.4rem;margin-bottom:2rem;overflow:hidden;border-top:3px solid var(--acc);
  border-bottom:1px solid rgba(201,168,76,.40);
  background:linear-gradient(120deg,#17233F 0%,#1E4E9A 68%,#17233F 100%);
  transition:box-shadow .2s ease}
.faq-stage-inner{transition:padding .22s ease}
.faq-stage-title .fst-big{transition:font-size .2s ease,padding-bottom .2s ease}
/* stato compatto quando la fascia e' agganciata in alto durante lo scroll */
.faq-stage.is-stuck{box-shadow:0 7px 24px rgba(23,35,63,.32)}
.faq-stage.is-stuck .faq-stage-inner{padding-top:9px;padding-bottom:9px}
.faq-stage.is-stuck .faq-eyebrow,.faq-stage.is-stuck .fst-sub,
.faq-stage.is-stuck .fst-wm,.faq-stage.is-stuck .fst-wmtext{display:none}
.faq-stage.is-stuck .fst-big{font-size:1.5rem;padding-bottom:.04em;border-bottom-width:3px}
.faq-stage-bg{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.fst-sheen{position:absolute;inset:-60% -25%;
  background:linear-gradient(120deg,transparent 32%,rgba(255,255,255,.10) 47%,
    rgba(201,168,76,.16) 51%,rgba(255,255,255,.08) 55%,transparent 70%);
  transform:translateX(-35%);animation:fstSheen 8s ease-in-out infinite}
@keyframes fstSheen{0%{transform:translateX(-38%)}50%{transform:translateX(38%)}100%{transform:translateX(-38%)}}
.fst-glow{position:absolute;inset:0;
  background:radial-gradient(440px circle at var(--mx,26%) var(--my,42%),
    rgba(201,168,76,.22),rgba(30,78,154,.12) 42%,transparent 72%);
  transition:background .12s ease-out}
.fst-wm{position:absolute;right:-26px;top:50%;transform:translateY(-50%);
  width:300px;max-width:44%;opacity:.07;filter:grayscale(1) brightness(2.4) contrast(.8)}
.fst-wmtext{position:absolute;left:50%;bottom:-.34em;transform:translateX(-50%);
  font-family:var(--font-head);font-weight:700;font-size:clamp(3.5rem,15vw,10rem);
  line-height:1;color:#fff;opacity:.045;white-space:nowrap;letter-spacing:.02em}
.faq-stage-inner{position:relative;z-index:2;max-width:var(--maxw);margin:0 auto;padding:42px 20px 40px;
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.1rem 2.2rem}
.faq-stage-head{flex:1 1 320px;min-width:0}
.faq-eyebrow{margin:0 0 .35rem;color:#EAD9A6;font-family:var(--font-mono);font-size:.74rem;
  font-weight:500;letter-spacing:.22em;text-transform:uppercase}
.faq-stage-title{margin:0;color:#fff;display:flex;flex-direction:column;gap:.15rem}
.faq-stage-title .fst-big{font-family:var(--font-head);font-weight:700;line-height:1;
  font-size:clamp(2.6rem,7vw,4.4rem);letter-spacing:.05em;color:#fff;
  width:max-content;padding-bottom:.12em;border-bottom:4px solid var(--acc)}
.faq-stage-title .fst-sub{font-family:var(--font);font-weight:400;font-size:1.05rem;color:#dfeaf3;letter-spacing:.01em}
.faq-search{flex:1 1 320px;max-width:440px;display:flex;align-items:center;gap:.5rem;
  background:#fff;border:1px solid var(--line);border-radius:999px;padding:.55rem .85rem;
  box-shadow:0 8px 26px rgba(23,35,63,.28)}
.faq-search:focus-within{outline:3px solid var(--acc);outline-offset:2px;border-color:#fff}
.faq-search-ico{flex:0 0 auto;display:flex;color:var(--blu2)}
.faq-search input{flex:1 1 auto;min-width:0;border:0;outline:0;background:transparent;
  font-family:var(--font);font-size:1rem;color:var(--ink);padding:.25rem .1rem}
.faq-search input::placeholder{color:var(--muted)}
.faq-search input::-webkit-search-cancel-button{display:none}
.faq-search-clear{flex:0 0 auto;border:0;background:var(--soft);color:var(--blu);
  width:26px;height:26px;border-radius:50%;font-size:1.1rem;line-height:1;cursor:pointer}
.faq-search-clear:hover{background:var(--line)}
.faq-search-status{position:relative;z-index:2;max-width:var(--maxw);margin:0 auto;
  padding:0 20px 18px;color:#D9DEE7;font-size:.92rem;min-height:1.2em}
.faq-search-status:empty{display:none}
@media(prefers-reduced-motion:reduce){.fst-sheen{animation:none}.fst-glow{transition:none}}
/* Badge contatore strumenti (banda /strumenti/): numero mono in oro su blu
   (6.81:1, WCAG AA) come da Guida §2; label avorio. Auto-aggiornato dal build. */
.strum-counter{display:inline-flex;align-items:baseline;gap:.45rem;margin:.1rem 0 .6rem;
  padding:.28rem .8rem;border:1px solid rgba(201,168,76,.55);border-radius:999px;
  background:rgba(23,35,63,.42);line-height:1;white-space:nowrap}
.strum-counter .sc-n{font-family:var(--font-mono);font-weight:500;font-size:1.55rem;
  color:var(--acc);letter-spacing:.02em;font-variant-numeric:tabular-nums}
.strum-counter .sc-tot{font-family:var(--font-mono);font-size:.95rem;color:#EAD9A6;opacity:.85}
.strum-counter .sc-l{font-family:var(--font);font-size:.8rem;font-weight:500;
  letter-spacing:.16em;text-transform:uppercase;color:#dfeaf3}
.faq-stage.is-stuck .strum-counter{display:none}
@media(max-width:680px){.fst-wm{display:none}.faq-stage-inner{padding:30px 20px 26px}
  .faq-search{max-width:none}}
/* visibilita filtro: [hidden] vince anche su regole con display esplicito */
.faqx-results [hidden],.faq-search-clear[hidden]{display:none!important}
.faqx-toc a[hidden]{display:none!important}

/* ===== Caroselli: mostra l'intero banner-immagine (no taglio) + watermark logo ===== */
/* Hero carousel in cima: banner 1600x520 intero, didascalia tolta dalla vista
   (resta nel DOM per SEO/screen reader), pallini leggibili su fondo chiaro. */
.hero-carousel{background:#eef2f7}
.hero-carousel .hslide{height:auto;aspect-ratio:1600/520;
  background:linear-gradient(120deg,#eef2f7,#f7f6f2)}
.hero-carousel .hslide img{object-fit:contain}
.hero-carousel .hcap{position:absolute;width:1px;height:1px;padding:0;margin:0;
  overflow:hidden;clip:rect(0 0 0 0);background:none}
.hero-carousel .hslide::after{content:"";position:absolute;top:14px;right:16px;
  width:50px;height:50px;background:url(../img/NewLogo-CTP-150x150.png) center/contain no-repeat;
  opacity:.55;pointer-events:none;filter:drop-shadow(0 1px 3px rgba(23,35,63,.25))}
.hero-carousel .hc-dots{bottom:12px;right:50%;transform:translateX(50%);
  background:rgba(12,31,46,.42);padding:6px 9px;border-radius:999px}
.hero-carousel .hc-dot{background:rgba(255,255,255,.75)}
.hero-carousel .hc-dot.on{background:var(--acc)}
@media(max-width:700px){.hero-carousel .hslide{aspect-ratio:1600/520}}
/* Carosello "Articoli in evidenza" (card): stessa logica, didascalia resta sotto */
.band .slide img{height:auto;aspect-ratio:1600/520;object-fit:contain;
  background:linear-gradient(120deg,#eef2f7,#f7f6f2)}
.band .slide::after{content:"";position:absolute;top:8px;right:8px;width:34px;height:34px;
  background:url(../img/NewLogo-CTP-150x150.png) center/contain no-repeat;opacity:.5;
  pointer-events:none;z-index:2;filter:drop-shadow(0 1px 2px rgba(23,35,63,.22))}

/* === Articoli correlati (fondo articolo) — palette guida: oro solo accento === */
.related{margin:40px 0 8px;padding-top:24px;border-top:2px solid var(--acc)}
.related>h2{margin:0 0 16px;color:var(--blu)}
.rel-grid{list-style:none;margin:0;padding:0;display:grid;gap:16px;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.rel-card{margin:0}
.rel-card a{display:flex;flex-direction:column;height:100%;background:var(--soft);
  border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;
  text-decoration:none;transition:.18s}
.rel-card a:hover{box-shadow:var(--shadow);transform:translateY(-2px);
  border-color:var(--blu2);text-decoration:none}
.rel-thumb{display:block;width:100%;aspect-ratio:16/10;background:#fff;
  border-bottom:1px solid var(--line)}
.rel-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.rel-thumb.thumb-svg img{object-fit:contain;padding:6px;background:#fff}
.rel-title{display:block;padding:11px 13px;color:var(--blu2);font-weight:600;
  font-size:.92rem;line-height:1.35}
.rel-card a:hover .rel-title{color:var(--blu)}
@media(max-width:560px){
  .rel-grid{grid-template-columns:repeat(2,1fr);gap:12px}
  .rel-title{font-size:.86rem;padding:9px 10px}
}

/* --- Strumenti: dropdown con sottocategorie --- */
nav.main details.nd-strumenti .dd{left:auto;right:0;min-width:300px;max-height:74vh;overflow:auto}
nav.main .dd .dd-sub{display:block;padding:9px 12px 3px;font-size:.7rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--blu2);border-top:1px solid var(--line);margin-top:5px}
nav.main .dd a+.dd-sub{margin-top:6px}
nav.main .dd>a:first-child+.dd-sub{border-top:0}
@media(max-width:820px){nav.main details.nd-strumenti .dd{max-height:none;overflow:visible;right:auto;left:auto}}
/* --- Icona Strumenti (link rapido a /strumenti/) --- */
nav.main details.nd summary.strumenti .su-lbl{display:inline-flex;align-items:center;gap:6px}
nav.main details.nd summary.strumenti .strumenti-go{display:inline-flex;align-items:center;justify-content:center;color:var(--blu2);line-height:0;border-radius:6px;transition:color .15s,transform .15s}
nav.main details.nd summary.strumenti .strumenti-go:hover{color:var(--blu);transform:translateY(-1px);text-decoration:none}
nav.main details.nd summary.strumenti .strumenti-go:focus-visible{outline:3px solid var(--acc);outline-offset:2px}
nav.main details.nd summary.strumenti .strumenti-go svg{display:block}

/* --- Blocco "Strumenti utili" a fondo articolo/pagina (MKD: Guida_Web_Design) ---
   Icone lineari blu reale; oro SOLO come filetto/bordo (mai testo/icona su chiaro);
   hover leggero; contrasti WCAG AA. */
.tools-cta{margin:2.4em 0 1.2em;padding:20px 22px;background:var(--soft);
  border:1px solid var(--line);border-left:4px solid var(--acc);border-radius:var(--radius)}
.tools-cta-eyebrow{margin:0 0 .15em;font-family:var(--font-mono);font-size:.72rem;
  letter-spacing:.6px;text-transform:uppercase;color:var(--muted)}
.tools-cta-title{margin:.1em 0 .7em;font-size:1.22rem;color:var(--blu)}
.tools-cta-list{list-style:none;margin:0;padding:0;display:grid;gap:10px;
  grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.tool-link{display:flex;align-items:center;gap:12px;padding:11px 14px;background:#fff;
  border:1px solid var(--line);border-radius:10px;color:var(--ink);font-weight:600;
  transition:border-color .15s,box-shadow .15s,transform .15s}
.tool-link:hover{border-color:var(--blu2);box-shadow:var(--shadow);transform:translateY(-1px);
  text-decoration:none}
.tool-link:focus-visible{outline:3px solid var(--acc);outline-offset:2px}
.tool-ico{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;
  width:38px;height:38px;border-radius:9px;background:rgba(30,78,154,.08);color:var(--blu2)}
.tool-link:hover .tool-ico{background:rgba(30,78,154,.14)}
.tool-ico svg{display:block}
.tool-txt{flex:1 1 auto;line-height:1.3;color:var(--blu)}
.tool-go{flex:0 0 auto;color:var(--blu2);font-weight:700;opacity:.55;
  transition:opacity .15s,transform .15s}
.tool-link:hover .tool-go{opacity:1;transform:translateX(2px)}
@media(max-width:560px){.tools-cta{padding:16px 15px}
  .tools-cta-list{grid-template-columns:1fr}}
