:root{
  --dh-navy:#00345f;
  --dh-navy-2:#004976;
  --dh-deep:#001f3d;
  --dh-blue:#006fae;
  --dh-cyan:#00a6b8;
  --dh-green:#2fb46c;
  --dh-sky:#eaf5f9;
  --dh-ice:#f4f9fb;
  --dh-ink:#162235;
  --dh-text:#26364a;
  --dh-muted:#66778b;
  --dh-line:#dbe7ee;
  --dh-white:#ffffff;
  --dh-red:#c40018;
  --dh-radius:2px;
  --dh-radius-soft:18px;
  --dh-shadow:0 22px 55px rgba(0,52,95,.12);
  --dh-shadow-soft:0 10px 28px rgba(0,52,95,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;text-size-adjust:100%}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--dh-text);background:#fff;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:var(--dh-navy);text-underline-offset:.18em;text-decoration-thickness:.08em;transition:color .18s ease,background .18s ease,border-color .18s ease,transform .18s ease}
a:hover{color:var(--dh-cyan)}
img{max-width:100%;height:auto}button,input,select,textarea{font:inherit}:focus-visible{outline:3px solid rgba(0,166,184,.55);outline-offset:3px}.container{width:min(1180px,calc(100% - 36px));margin:0 auto}.full-bleed{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}.skip-link{position:absolute;left:16px;top:-80px;background:var(--dh-navy);color:#fff;padding:10px 14px;z-index:100;border-radius:2px}.skip-link:focus{top:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
h1,h2,h3{color:var(--dh-ink);line-height:1.05;letter-spacing:-.035em}h1{font-size:clamp(2.35rem,6.2vw,5.25rem);font-weight:520;margin:0 0 20px}h2{font-size:clamp(1.8rem,3.8vw,3.6rem);font-weight:500;margin:0 0 18px}h3{font-size:clamp(1.18rem,1.7vw,1.55rem);font-weight:560;margin:0 0 12px}p{margin:0 0 16px}.lead{font-size:clamp(1.1rem,2vw,1.5rem);line-height:1.45;color:var(--dh-muted);max-width:820px}.muted,.meta{color:var(--dh-muted)}.eyebrow{margin:0 0 12px;color:var(--dh-cyan);font-size:.78rem;font-weight:760;text-transform:uppercase;letter-spacing:.14em}.eyebrow.light{color:#9eeaf0}.site-main{overflow:hidden}.site-main>.container{padding-top:0;padding-bottom:40px}
/* Header */
.site-header{position:sticky;top:0;z-index:80;background:rgba(255,255,255,.96);border-bottom:1px solid rgba(219,231,238,.94);backdrop-filter:blur(16px);box-shadow:0 8px 24px rgba(0,52,95,.04)}.top-line{background:var(--dh-deep);color:#d8edf5;font-size:.78rem}.top-line-inner{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:16px}.top-line nav{display:flex;gap:18px;align-items:center}.top-line a{color:#d8edf5;text-decoration:none}.top-line a:hover{color:#fff}.header-inner{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{display:flex;align-items:center;text-decoration:none;min-width:0}.brand img{width:232px;max-height:60px;object-fit:contain;display:block}.brand-fallback{display:none;font-weight:780;color:var(--dh-navy);font-size:1.2rem}.nav-toggle{width:48px;height:48px;border:1px solid var(--dh-line);background:#fff;border-radius:2px;display:inline-grid;place-content:center;gap:5px;box-shadow:var(--dh-shadow-soft)}.nav-toggle span:not(.sr-only){width:23px;height:2px;background:var(--dh-navy);display:block}.primary-nav{position:absolute;left:18px;right:18px;top:118px;display:none;flex-direction:column;gap:2px;background:#fff;border:1px solid var(--dh-line);box-shadow:var(--dh-shadow);padding:12px;z-index:90}.primary-nav.is-open{display:flex}.primary-nav a,.nav-more summary{display:block;padding:12px 12px;color:var(--dh-ink);font-weight:650;text-decoration:none;cursor:pointer;border-radius:2px}.primary-nav a:hover,.nav-more summary:hover{background:var(--dh-ice);color:var(--dh-navy)}.nav-cta{background:var(--dh-navy)!important;color:#fff!important;text-align:center}.nav-cta:hover{background:var(--dh-cyan)!important}.nav-more{position:relative}.nav-more summary{list-style:none}.nav-more summary::-webkit-details-marker{display:none}.nav-more-panel{display:grid;gap:2px;padding:6px;background:#fff;border:1px solid var(--dh-line)}
/* Hero */
.dh-home-hero{position:relative;min-height:620px;background:linear-gradient(117deg,rgba(0,31,61,.98) 0%,rgba(0,52,95,.95) 42%,rgba(0,80,124,.60) 68%,rgba(234,245,249,.9) 100%);color:#fff;display:grid;align-items:end;overflow:hidden}.dh-home-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 15%,rgba(0,166,184,.38),transparent 25%),linear-gradient(90deg,rgba(0,31,61,.82),rgba(0,31,61,.24) 55%,rgba(255,255,255,.28));pointer-events:none}.dh-home-hero::after{content:"";position:absolute;right:-190px;top:-250px;width:720px;height:720px;border-radius:50%;border:1px solid rgba(255,255,255,.28);box-shadow:0 0 0 74px rgba(255,255,255,.055),0 0 0 148px rgba(255,255,255,.035)}.dh-home-hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr);gap:32px;padding:86px 0 64px}.dh-hero-copy{max-width:870px}.dh-hero-copy h1{color:#fff;text-wrap:balance}.dh-hero-copy .lead{color:rgba(255,255,255,.82);max-width:720px}.dh-hero-panel{align-self:end;justify-self:start;width:min(430px,100%);background:rgba(255,255,255,.96);color:var(--dh-ink);padding:28px;border-left:6px solid var(--dh-cyan);box-shadow:var(--dh-shadow);display:grid;gap:14px}.dh-hero-panel img{width:72px;height:92px;object-fit:contain}.dh-hero-panel strong{font-size:1.15rem;color:var(--dh-navy);line-height:1.25}.dh-hero-panel span{color:var(--dh-muted);font-size:.96rem}.hero-actions,.button-row{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0 0}.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 18px;background:var(--dh-navy);color:#fff;border:1px solid var(--dh-navy);text-decoration:none;font-weight:720;border-radius:2px;box-shadow:none;cursor:pointer}.button:hover{background:var(--dh-cyan);border-color:var(--dh-cyan);color:#fff;transform:translateY(-1px)}.button.light{background:#fff;color:var(--dh-navy);border-color:#fff}.button.light:hover{background:#dff7fb;color:var(--dh-navy);border-color:#dff7fb}.button.ghost,.button.ghost-light{background:transparent;color:var(--dh-navy);border-color:var(--dh-line)}.button.ghost-light{color:#fff;border-color:rgba(255,255,255,.55)}.button.ghost:hover{background:var(--dh-ice);color:var(--dh-navy)}.button.ghost-light:hover{background:rgba(255,255,255,.14);color:#fff}.button.red{background:var(--dh-red);border-color:var(--dh-red)}
/* Corporate home blocks */
.quick-focus{background:#fff;border-bottom:1px solid var(--dh-line)}.quick-focus-grid{display:grid;grid-template-columns:1fr;gap:0}.quick-focus a{display:grid;gap:8px;padding:26px 0;border-bottom:1px solid var(--dh-line);text-decoration:none;color:var(--dh-ink)}.quick-focus span{font-size:.76rem;color:var(--dh-cyan);font-weight:760;letter-spacing:.13em}.quick-focus strong{font-size:1.35rem;font-weight:560;color:var(--dh-navy);letter-spacing:-.025em}.quick-focus em{font-style:normal;color:var(--dh-muted);font-size:.96rem}.editorial-strip{display:grid;gap:24px;align-items:end;padding:70px 0 56px;border-bottom:1px solid var(--dh-line)}.editorial-strip h2{max-width:680px}.editorial-strip p:last-child{font-size:1.08rem;color:var(--dh-muted);max-width:720px}.news-layout{display:grid;gap:18px;padding:54px 0}.large-card,.image-card{position:relative;overflow:hidden}.large-card{padding:38px;background:#fff;border:1px solid var(--dh-line);min-height:360px;display:grid;align-content:end;box-shadow:var(--dh-shadow-soft)}.dark-card{background:linear-gradient(135deg,var(--dh-deep),var(--dh-navy));color:#fff}.dark-card::after{content:"";position:absolute;right:-90px;top:-120px;width:420px;height:420px;border-radius:50%;border:1px solid rgba(255,255,255,.25);box-shadow:0 0 0 42px rgba(255,255,255,.045)}.dark-card h2,.dark-card h3{color:#fff}.dark-card p{color:rgba(255,255,255,.78)}.side-cards{display:grid;gap:18px}.image-card{min-height:260px;padding:28px;border:1px solid var(--dh-line);display:grid;align-content:end;text-decoration:none;background:#fff;color:var(--dh-ink);box-shadow:var(--dh-shadow-soft)}.image-card::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 82% 12%,rgba(0,166,184,.18),transparent 26%),linear-gradient(180deg,rgba(255,255,255,.2),rgba(255,255,255,.96));z-index:0}.image-card>*{position:relative;z-index:1}.image-card span{font-size:.78rem;text-transform:uppercase;letter-spacing:.14em;color:var(--dh-cyan);font-weight:760}.image-card a{font-weight:760;text-decoration:none}.water-card{background:linear-gradient(140deg,#f4fbfd,#fff)}.light-card{background:linear-gradient(140deg,#fff,#eef8fb)}.systems-section{background:var(--dh-ice);padding:92px 0;position:relative;overflow:hidden}.systems-section::after{content:"";position:absolute;right:-230px;bottom:-260px;width:680px;height:680px;border-radius:50%;border:1px solid rgba(0,111,174,.22);box-shadow:0 0 0 70px rgba(0,111,174,.045)}.systems-inner{position:relative;z-index:1;display:grid;gap:42px}.systems-copy{max-width:720px}.systems-grid{display:grid;gap:14px}.system-card{background:#fff;border:1px solid var(--dh-line);padding:24px;min-height:190px;text-decoration:none;color:var(--dh-ink);box-shadow:var(--dh-shadow-soft);display:grid;align-content:space-between}.system-card span{font-size:.8rem;color:var(--dh-cyan);font-weight:800;letter-spacing:.15em}.system-card strong{display:block;font-size:1.35rem;font-weight:570;color:var(--dh-navy);letter-spacing:-.025em}.system-card small{font-size:.95rem;color:var(--dh-muted);line-height:1.45}.system-card:hover{transform:translateY(-3px);border-color:rgba(0,166,184,.55)}.metrics-band{background:var(--dh-navy);color:#fff;padding:62px 0}.metrics-grid{display:grid;gap:24px;align-items:start}.metrics-grid h2{color:#fff}.metrics-grid article{border-top:1px solid rgba(255,255,255,.28);padding-top:18px}.metrics-grid strong{display:block;font-size:clamp(2.4rem,5vw,4.3rem);font-weight:430;line-height:1;color:#fff}.metrics-grid span{display:block;color:rgba(255,255,255,.74);margin-top:8px}.clean-section{padding:72px 0}.section-heading-row{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:22px}.card-grid,.listing-grid{display:grid;gap:18px}.card,.content-panel,.notice,.filter-box,.data-card{background:#fff;border:1px solid var(--dh-line);padding:24px;box-shadow:none;border-radius:0}.card{min-height:100%;position:relative;overflow:hidden}.article-card{padding-top:30px}.article-card::before{content:"";position:absolute;left:24px;right:24px;top:0;height:4px;background:linear-gradient(90deg,var(--dh-cyan),var(--dh-green))}.card h3,.data-card h2{color:var(--dh-navy)}.text-link{font-weight:760;text-decoration:none;display:inline-flex;gap:7px;align-items:center}.text-link::after{content:"→";color:var(--dh-cyan)}.split-feature{display:grid;gap:34px;padding:80px 0;border-top:1px solid var(--dh-line)}.split-copy{max-width:560px}.term-list{display:grid;gap:0;border-top:1px solid var(--dh-line)}.term-list a{display:grid;gap:6px;padding:18px 0;border-bottom:1px solid var(--dh-line);text-decoration:none;color:var(--dh-ink)}.term-list strong{color:var(--dh-navy);font-size:1.08rem}.term-list span{color:var(--dh-muted)}.final-cta{background:linear-gradient(135deg,var(--dh-deep),var(--dh-navy-2));color:#fff;padding:78px 0;position:relative;overflow:hidden}.final-cta::after{content:"";position:absolute;right:-160px;top:-220px;width:600px;height:600px;border-radius:50%;border:1px solid rgba(255,255,255,.20);box-shadow:0 0 0 62px rgba(255,255,255,.045)}.final-cta-inner{position:relative;z-index:1;max-width:900px}.final-cta h2{color:#fff}.final-cta p{color:rgba(255,255,255,.78);font-size:1.12rem}.notice{margin:26px 0;border-left:5px solid var(--dh-cyan);background:#f8fcfd}.refined-notice{background:#fff}.notice.warning{border-left-color:var(--dh-red);background:#fff8f9}.badge{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:var(--dh-sky);color:var(--dh-navy);font-size:.82rem;font-weight:760}.content-section{padding:56px 0;border-top:1px solid var(--dh-line)}.content-section:first-of-type{border-top:0}.page-hero{position:relative;background:linear-gradient(135deg,var(--dh-navy),var(--dh-blue));color:#fff;margin:0 calc(50% - 50vw) 42px;padding:72px max(18px,calc((100vw - 1180px)/2));overflow:hidden}.page-hero::after{content:"";position:absolute;right:-160px;top:-240px;width:600px;height:600px;border-radius:50%;border:1px solid rgba(255,255,255,.24);box-shadow:0 0 0 64px rgba(255,255,255,.045)}.page-hero h1,.page-hero h2{color:#fff}.page-hero .lead{color:rgba(255,255,255,.84)}.page-hero.compact{padding-top:58px;padding-bottom:58px}.section-band{margin:34px calc(50% - 50vw);padding:64px max(18px,calc((100vw - 1180px)/2));background:var(--dh-ice);border-block:1px solid var(--dh-line)}.feature-grid{display:grid;gap:22px;align-items:stretch}.feature-panel{background:linear-gradient(135deg,var(--dh-deep),var(--dh-navy));color:#fff;padding:34px;position:relative;overflow:hidden}.feature-panel h2,.feature-panel h3{color:#fff}.feature-panel p{color:rgba(255,255,255,.80)}.mini-stat-grid{display:grid;gap:14px}.mini-stat{border:1px solid var(--dh-line);padding:22px;background:#fff}.mini-stat strong{display:block;font-size:2.2rem;color:var(--dh-navy);font-weight:480}.filter-box{display:grid;gap:14px;background:var(--dh-ice);margin:18px 0 26px}.filter-box label,.form-panel label{display:grid;gap:6px;font-weight:700;color:var(--dh-navy)}.filter-box input,.filter-box select,.form-panel input,.form-panel textarea,.form-panel select{width:100%;min-height:44px;border:1px solid var(--dh-line);padding:10px 12px;background:#fff;border-radius:0}.form-panel textarea{min-height:150px;resize:vertical}.form-panel{display:grid;gap:14px;max-width:780px}.form-panel .checkbox{display:flex;align-items:flex-start;gap:10px;font-weight:500}.form-panel .checkbox input{width:auto;min-height:auto;margin-top:6px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{padding:12px;border-bottom:1px solid var(--dh-line);text-align:left;vertical-align:top}th{color:var(--dh-navy)}.alpha-nav{display:flex;flex-wrap:wrap;gap:6px;margin:16px 0}.alpha-nav a{min-width:32px;text-align:center;border:1px solid var(--dh-line);padding:4px 8px;text-decoration:none;font-weight:740;background:#fff}.article-body{max-width:860px}.article-body p{font-size:1.07rem}
/* PWA */
.pwa-install{position:fixed;left:18px;right:18px;bottom:18px;z-index:100;background:#fff;border:1px solid var(--dh-line);border-left:6px solid var(--dh-cyan);box-shadow:var(--dh-shadow);padding:16px;display:grid;gap:12px}.pwa-install[hidden]{display:none}.pwa-install p{margin:4px 0 0;color:var(--dh-muted)}.pwa-actions{display:flex;gap:8px;flex-wrap:wrap}
/* Footer */
.site-footer{background:linear-gradient(180deg,#f7fbfd,#fff);color:var(--dh-text);border-top:1px solid var(--dh-line);font-size:.94rem;line-height:1.48}
.site-footer a{color:var(--dh-navy);text-decoration:none}.site-footer a:hover{text-decoration:underline;color:var(--dh-navy)}
.footer-main{display:grid;gap:26px;padding:30px 0 22px}.footer-about{max-width:520px}.footer-about p{margin:10px 0 14px;color:var(--dh-muted);font-size:.95rem;line-height:1.52}
.footer-brand{display:inline-flex;align-items:center;gap:11px;margin:0;text-decoration:none;color:var(--dh-ink)}.footer-brand:hover{text-decoration:none}.footer-brand span{display:grid;gap:2px}.footer-brand strong{font-size:1.08rem;line-height:1.1;letter-spacing:-.015em;color:var(--dh-ink)}.footer-brand em{font-style:normal;color:var(--dh-muted);font-size:.86rem;line-height:1.25}.footer-logo{background:transparent;padding:0;width:36px;height:46px;object-fit:contain;display:block}
.footer-actions{display:flex;flex-wrap:wrap;gap:8px}.footer-pill{display:inline-flex!important;align-items:center;min-height:34px;border:1px solid var(--dh-line);background:#fff;padding:7px 12px;font-size:.88rem;font-weight:760;text-decoration:none}.footer-pill.primary{background:var(--dh-navy);border-color:var(--dh-navy);color:#fff}.footer-pill.primary:hover{color:#fff;background:var(--dh-deep)}
.footer-links{display:grid;gap:18px}.footer-links nav{display:grid;gap:6px;align-content:start}.site-footer h2{font-size:.72rem;text-transform:uppercase;letter-spacing:.13em;color:var(--dh-muted);margin:0 0 4px;font-weight:850}.footer-links a{display:block;margin:0;padding:2px 0;font-size:.92rem;line-height:1.32}.footer-note{color:var(--dh-muted)}
.footer-notice{display:flex;gap:10px;align-items:flex-start;border-top:1px solid var(--dh-line);padding:13px 0;color:var(--dh-muted);font-size:.88rem}.footer-notice strong{color:var(--dh-red);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;margin-top:2px}.footer-notice span{max-width:980px}
.footer-bottom{border-top:1px solid var(--dh-line);background:#fff}.footer-bottom-inner{min-height:44px;display:flex;justify-content:space-between;gap:12px;align-items:center;color:var(--dh-muted);font-size:.86rem}.footer-bottom-inner a{color:var(--dh-muted);text-decoration:none}.footer-bottom-inner a:hover{color:var(--dh-navy);text-decoration:underline}
@media (min-width:700px){.quick-focus-grid{grid-template-columns:repeat(4,1fr)}.quick-focus a{border-bottom:0;border-right:1px solid var(--dh-line);padding:30px 22px}.quick-focus a:last-child{border-right:0}.editorial-strip{grid-template-columns:1fr 1fr}.news-layout{grid-template-columns:1.1fr .9fr}.systems-inner{grid-template-columns:.85fr 1.15fr}.systems-grid{grid-template-columns:repeat(2,1fr)}.metrics-grid{grid-template-columns:1.4fr repeat(3,.7fr)}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.listing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-box{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}.split-feature{grid-template-columns:.85fr 1.15fr}.footer-main{grid-template-columns:minmax(260px,.92fr) minmax(0,1.45fr)}.footer-links{grid-template-columns:repeat(4,minmax(0,1fr))}.pwa-install{left:auto;width:min(560px,calc(100% - 36px));grid-template-columns:1fr auto;align-items:center}}
@media (min-width:1040px){.nav-toggle{display:none}.primary-nav{position:static;display:flex!important;flex-direction:row;align-items:center;gap:2px;padding:0;border:0;box-shadow:none;background:transparent}.primary-nav a,.nav-more summary{font-size:.92rem;padding:9px 10px}.nav-more-panel{position:absolute;right:0;top:calc(100% + 12px);min-width:250px;box-shadow:var(--dh-shadow);z-index:95}.nav-more:not([open]) .nav-more-panel{display:none}.brand img{width:250px}.dh-home-hero-inner{grid-template-columns:minmax(0,1fr) 390px}.dh-hero-panel{justify-self:end}.card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.listing-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.filter-box{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:620px){.container{width:min(100% - 26px,1180px)}.top-line nav{display:none}.header-inner{min-height:74px}.brand img{width:196px}.primary-nav{top:108px}.dh-home-hero{min-height:620px}.dh-home-hero-inner{padding:64px 0 48px}.dh-hero-panel{padding:22px}.hero-actions .button{width:100%}.section-heading-row{display:grid;align-items:start}.systems-section{padding:70px 0}.metrics-band,.final-cta{padding:58px 0}.clean-section,.split-feature{padding:58px 0}.pwa-install{left:10px;right:10px;bottom:10px}h1{font-size:2.6rem}}

/* Patch 0.7: mantiene grafica corporate 0.5 e aggiunge funzioni contatti/CMS della 0.6 */
.contact-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);gap:28px;align-items:start}.contact-form,.panel{display:grid;gap:16px}.panel{border:1px solid var(--dh-line);background:#fff;padding:26px;box-shadow:var(--dh-shadow-soft)}.form-grid.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.required{font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;color:var(--dh-red);font-weight:800}.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.privacy-check{display:flex!important;align-items:flex-start;gap:10px;font-weight:500!important}.privacy-check input{width:auto!important;min-height:auto!important;margin-top:6px}.contact-form select,.contact-form input,.contact-form textarea{width:100%;min-height:46px;border:1px solid var(--dh-line);padding:10px 12px;background:#fff;border-radius:0}.contact-form textarea{min-height:170px;resize:vertical}.empty-state{border-style:dashed;background:linear-gradient(180deg,#fff,var(--dh-ice));color:var(--dh-muted)}.message-status{display:inline-flex;border:1px solid var(--dh-line);border-radius:999px;padding:.2rem .55rem;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.status-nuovo{border-color:var(--dh-cyan);color:var(--dh-navy);background:var(--dh-sky)}.status-letto{color:var(--dh-muted);background:#fff}.status-archiviato{color:var(--dh-muted);background:#f3f4f6}.site-header .top-line nav a[href*="admin"]{display:none!important}@media (max-width:860px){.contact-layout,.form-grid.two{grid-template-columns:1fr}.panel{padding:20px}}

/* DepuraHub SVG logo variants */

@media (max-width:760px){.footer-main{padding:24px 0 18px;gap:20px}.footer-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px}.footer-notice{display:grid;gap:4px}.footer-bottom-inner{display:grid;justify-content:start;padding:12px 0;min-height:auto}}
@media (max-width:430px){.footer-links{grid-template-columns:1fr}.footer-actions{display:grid}.footer-pill{justify-content:center;width:100%}}
.logo-on-dark img{filter:none}.svg-symbol{display:inline-block;width:1.4em;height:auto;vertical-align:middle}.brand img[src$=".svg"]{height:auto}.footer-logo[src$=".svg"]{height:auto}

/* SEO/brand refinement 0.9 */
.hero-title-line {
  display: block;
  margin: 0.8rem 0 0;
  max-width: 780px;
  font-size: clamp(1.55rem, 3vw, 3rem);
  line-height: 1.08;
  font-weight: 800;
  letter-spacing: -0.035em;
}


/* Patch 1.0: sezione ideatore e profilo editoriale */
.author-compact-section{padding:42px 0 26px;border-top:1px solid var(--dh-line)}
.author-compact-card{display:grid;grid-template-columns:170px minmax(0,1fr);gap:28px;align-items:center;background:#fff;border:1px solid var(--dh-line);box-shadow:var(--dh-shadow-soft);padding:28px;position:relative;overflow:hidden}
.author-compact-card::after{content:"";position:absolute;right:-120px;top:-170px;width:360px;height:360px;border-radius:50%;border:1px solid rgba(0,166,184,.22);box-shadow:0 0 0 52px rgba(0,166,184,.045);pointer-events:none}
.author-compact-photo{position:relative;z-index:1}
.author-compact-photo img,.author-photo-wrap img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:50%;border:8px solid #fff;box-shadow:0 18px 38px rgba(0,52,95,.18)}
.author-compact-copy{position:relative;z-index:1;max-width:880px}
.author-compact-copy h2{font-size:clamp(1.55rem,2.8vw,2.7rem);margin-bottom:12px}
.author-profile-section{padding:34px 0;border-top:1px solid var(--dh-line)}
.author-profile-card{display:grid;grid-template-columns:260px minmax(0,1fr);gap:34px;align-items:center;background:linear-gradient(135deg,#fff,var(--dh-ice));border:1px solid var(--dh-line);padding:34px;box-shadow:var(--dh-shadow-soft);position:relative;overflow:hidden}
.author-profile-card::before{content:"";position:absolute;right:-160px;bottom:-190px;width:420px;height:420px;border-radius:50%;border:1px solid rgba(0,166,184,.20);box-shadow:0 0 0 58px rgba(0,166,184,.04)}
.author-photo-wrap,.author-profile-copy{position:relative;z-index:1}
.author-profile-copy h2{margin-bottom:14px}
.author-profile-copy p:last-child{margin-bottom:0}
@media (max-width:760px){.author-compact-card,.author-profile-card{grid-template-columns:1fr;padding:22px}.author-compact-photo,.author-photo-wrap{width:170px}.author-profile-card{gap:22px}}


/* Patch 1.3: Ricerca, scienza aperta e partecipazione civica */
.research-home-section{padding:34px 0 26px;border-top:1px solid var(--dh-line)}
.research-home-card{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;background:linear-gradient(135deg,#ffffff 0%,#f4f9fb 100%);border:1px solid var(--dh-line);box-shadow:var(--dh-shadow-soft);padding:30px;position:relative;overflow:hidden}
.research-home-card::after{content:"";position:absolute;right:-170px;bottom:-210px;width:460px;height:460px;border-radius:50%;border:1px solid rgba(0,166,184,.18);box-shadow:0 0 0 64px rgba(0,166,184,.035);pointer-events:none}
.research-home-copy,.research-home-points{position:relative;z-index:1}
.research-home-copy h2{font-size:clamp(1.55rem,3vw,2.9rem);max-width:820px}
.research-home-points{display:grid;grid-template-columns:1fr;gap:12px}
.research-home-points article{background:#fff;border:1px solid var(--dh-line);padding:20px;display:grid;gap:8px}
.research-home-points span,.research-three-levels article>span{font-size:.78rem;color:var(--dh-cyan);font-weight:850;letter-spacing:.15em}
.research-home-points strong{color:var(--dh-navy);font-size:1.12rem}
.research-home-points small{color:var(--dh-muted);line-height:1.45}
.research-hero{background:linear-gradient(124deg,var(--dh-deep) 0%,var(--dh-navy) 48%,#005d88 100%)}
.research-intro-panel{display:grid;gap:22px;align-items:end;padding:18px 0 54px;border-bottom:1px solid var(--dh-line)}
.research-intro-panel h2{max-width:760px}
.research-intro-panel p:last-child{font-size:1.08rem;color:var(--dh-muted);max-width:760px}
.research-three-levels{display:grid;grid-template-columns:1fr;gap:18px;padding:54px 0}
.research-three-levels article{background:#fff;border:1px solid var(--dh-line);padding:28px;box-shadow:var(--dh-shadow-soft);position:relative;overflow:hidden}
.research-three-levels article::after{content:"";position:absolute;right:-90px;top:-140px;width:280px;height:280px;border-radius:50%;border:1px solid rgba(0,111,174,.12);box-shadow:0 0 0 38px rgba(0,111,174,.025)}
.research-three-levels h2{font-size:clamp(1.45rem,2.5vw,2.35rem);margin-top:12px}
.research-three-levels p{position:relative;z-index:1}
.research-three-levels .civic-priority{border-left:6px solid var(--dh-cyan);background:linear-gradient(180deg,#fff,#f4f9fb)}
.research-method-band{background:var(--dh-navy);color:#fff;padding:70px 0;margin-top:8px;margin-bottom:54px;position:relative;overflow:hidden}
.research-method-band::after{content:"";position:absolute;right:-190px;top:-240px;width:620px;height:620px;border-radius:50%;border:1px solid rgba(255,255,255,.18);box-shadow:0 0 0 72px rgba(255,255,255,.035)}
.research-method-inner{position:relative;z-index:1;display:grid;gap:30px}
.research-method-inner h2{color:#fff;max-width:720px}
.research-method-steps{display:grid;grid-template-columns:1fr;gap:12px}
.research-method-steps article{display:flex;gap:14px;align-items:flex-start;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);padding:18px;color:rgba(255,255,255,.86)}
.research-method-steps strong{display:grid;place-items:center;flex:0 0 34px;height:34px;background:#fff;color:var(--dh-navy);font-size:1rem}
.research-cards-grid{display:grid;grid-template-columns:1fr;gap:18px;padding:0 0 54px}
.research-card{background:#fff;border:1px solid var(--dh-line);padding:28px;box-shadow:var(--dh-shadow-soft)}
.research-card ul{margin:0;padding-left:1.15rem;color:var(--dh-text)}
.research-card li{margin:.5rem 0}
.warning-card{background:#fff8f9;border-left:6px solid var(--dh-red)}
.research-participation-cta{display:grid;gap:22px;align-items:center;background:linear-gradient(135deg,#f4f9fb,#fff);border:1px solid var(--dh-line);padding:30px;margin:0 0 54px;box-shadow:var(--dh-shadow-soft)}
.research-participation-cta h2{font-size:clamp(1.45rem,2.8vw,2.7rem)}
.research-references{padding:0 0 54px}
.reference-grid{display:grid;grid-template-columns:1fr;gap:14px}
.reference-grid a{display:grid;gap:8px;background:#fff;border:1px solid var(--dh-line);padding:20px;text-decoration:none;color:var(--dh-ink);box-shadow:var(--dh-shadow-soft)}
.reference-grid strong{color:var(--dh-navy);font-size:1.08rem}
.reference-grid span{color:var(--dh-muted);line-height:1.45}
@media (min-width:780px){.research-home-card{grid-template-columns:1.15fr .85fr;padding:38px}.research-home-points{grid-template-columns:1fr}.research-intro-panel{grid-template-columns:1fr 1fr}.research-three-levels{grid-template-columns:repeat(3,minmax(0,1fr))}.research-method-inner{grid-template-columns:.85fr 1.15fr}.research-method-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.research-cards-grid{grid-template-columns:1fr 1fr}.research-participation-cta{grid-template-columns:1fr auto;padding:36px}.reference-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:700px){.research-home-card,.research-three-levels article,.research-card,.research-participation-cta{padding:22px}.research-method-band{padding:58px 0}}

/* Patch 1.4: blocchi editoriali CMS e condivisione */
.dh-block{margin:34px 0}.dh-block h2{margin-bottom:14px}.dh-block-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(260px,.95fr);gap:28px;align-items:center;background:linear-gradient(135deg,var(--dh-deep),var(--dh-navy) 56%,#00647e);color:#fff;padding:42px;box-shadow:var(--dh-shadow);position:relative;overflow:hidden}.dh-block-hero::after{content:"";position:absolute;right:-180px;top:-220px;width:560px;height:560px;border-radius:50%;border:1px solid rgba(255,255,255,.18);box-shadow:0 0 0 70px rgba(255,255,255,.035)}.dh-block-hero>*{position:relative;z-index:1}.dh-block-hero h2,.dh-block-cta h2{color:#fff}.dh-block-hero figure,.dh-block-split figure,.dh-block-image figure{margin:0}.dh-block-hero img,.dh-block-split img,.dh-block-image img{width:100%;height:auto;display:block;object-fit:cover}.dh-block-hero img{border:1px solid rgba(255,255,255,.22);box-shadow:0 22px 50px rgba(0,0,0,.22)}.block-lead p{font-size:1.08rem;color:rgba(255,255,255,.84)}.dh-block-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.85fr);gap:28px;align-items:center;background:#fff;border:1px solid var(--dh-line);box-shadow:var(--dh-shadow-soft);padding:30px}.dh-block-split.invertito .block-copy{order:2}.dh-block-split.invertito figure{order:1}.dh-block-split img,.dh-block-image img{box-shadow:0 18px 40px rgba(0,52,95,.14)}.dh-block-image figcaption{display:grid;gap:4px;padding:12px 0;color:var(--dh-muted)}.dh-block-gallery{background:#fff;border:1px solid var(--dh-line);padding:26px;box-shadow:var(--dh-shadow-soft)}.gallery-track{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}.gallery-track figure{margin:0;background:var(--dh-ice);border:1px solid var(--dh-line);overflow:hidden}.gallery-track img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.gallery-track figcaption{padding:10px;font-size:.92rem;color:var(--dh-muted)}.dh-block-gallery.is-carousel .gallery-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px}.dh-block-gallery.is-carousel .gallery-track figure{flex:0 0 min(78vw,420px);scroll-snap-align:start}.video-frame{position:relative;aspect-ratio:16/9;background:#001d36;box-shadow:var(--dh-shadow-soft)}.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.dh-block-video,.dh-block-faq,.dh-block-sources,.dh-block-timeline{background:#fff;border:1px solid var(--dh-line);padding:28px;box-shadow:var(--dh-shadow-soft)}.dh-block-cta{display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(135deg,var(--dh-navy),#006d82);color:#fff;padding:34px;box-shadow:var(--dh-shadow)}.dh-block-quote{border-left:7px solid var(--dh-cyan);background:#fff;padding:28px;box-shadow:var(--dh-shadow-soft);font-size:1.16rem}.dh-block-quote cite{display:block;margin-top:10px;color:var(--dh-muted);font-size:.95rem}.dh-block-faq details{border-top:1px solid var(--dh-line);padding:14px 0}.dh-block-faq summary{font-weight:850;color:var(--dh-navy);cursor:pointer}.dh-block-sources ol{display:grid;gap:10px}.dh-block-timeline{display:grid;gap:14px}.dh-block-timeline article{border-left:4px solid var(--dh-cyan);padding-left:16px}.dh-block-timeline time{font-weight:850;color:var(--dh-cyan)}.article-featured-image{margin:24px 0}.article-featured-image img{width:100%;height:auto;box-shadow:var(--dh-shadow-soft)}.floating-share{position:fixed;right:18px;bottom:18px;z-index:120}.floating-share-toggle{border:0;background:var(--dh-navy);color:#fff;min-height:52px;border-radius:999px;padding:0 18px;font-weight:900;box-shadow:0 16px 38px rgba(0,43,92,.28);cursor:pointer}.floating-share-panel{position:absolute;right:0;bottom:64px;width:240px;background:#fff;border:1px solid var(--dh-line);box-shadow:var(--dh-shadow);padding:14px;display:grid;gap:8px}.floating-share-panel strong{color:var(--dh-navy)}.floating-share-panel a,.floating-share-panel button{display:block;width:100%;text-align:left;background:#f4f9fb;border:1px solid var(--dh-line);padding:10px 12px;text-decoration:none;color:var(--dh-ink);font:inherit;cursor:pointer}.floating-share-panel small{color:var(--dh-cyan);min-height:1em}@media(max-width:820px){.dh-block-hero,.dh-block-split{grid-template-columns:1fr;padding:24px}.dh-block-split.invertito .block-copy,.dh-block-split.invertito figure{order:initial}.dh-block-cta{display:grid;padding:26px}.floating-share{left:12px;right:12px;bottom:12px;display:flex;justify-content:flex-end}.floating-share-panel{right:0;bottom:64px;width:min(100%,320px)}.floating-share-toggle{min-height:50px}}

/* Patch 1.4.1: condivisione flottante stabile e responsive */
[hidden], .floating-share-panel[hidden]{display:none!important}
.floating-share{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom));z-index:120}
.floating-share-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;background:var(--dh-navy);color:#fff;min-height:52px;border-radius:999px;padding:0 18px;font-weight:900;box-shadow:0 16px 38px rgba(0,43,92,.28);cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.floating-share-toggle:hover,.floating-share-toggle:focus-visible{transform:translateY(-1px);box-shadow:0 18px 42px rgba(0,43,92,.34);outline:3px solid rgba(0,166,184,.22);outline-offset:3px}
.floating-share[data-share-state="open"] .floating-share-toggle{background:#00647e}
.floating-share-panel{position:absolute;right:0;bottom:64px;width:260px;background:#fff;border:1px solid var(--dh-line);box-shadow:var(--dh-shadow);padding:14px;display:grid;gap:8px;border-radius:18px}
.floating-share-panel strong{color:var(--dh-navy);font-size:.96rem}.floating-share-panel a,.floating-share-panel button{display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left;background:#f4f9fb;border:1px solid var(--dh-line);border-radius:12px;padding:11px 12px;text-decoration:none;color:var(--dh-ink);font:inherit;font-weight:750;cursor:pointer}.floating-share-panel a:hover,.floating-share-panel button:hover{background:#eaf5f8}.floating-share-panel small{color:var(--dh-cyan);min-height:1em;font-weight:750}
@media(max-width:820px){.floating-share{left:auto;right:14px;bottom:calc(14px + env(safe-area-inset-bottom));display:block}.floating-share-toggle{min-height:48px;min-width:48px;padding:0 14px}.floating-share-panel{right:0;bottom:60px;width:min(calc(100vw - 28px),340px);max-height:min(70vh,430px);overflow:auto}.pwa-install:not([hidden])~.floating-share{bottom:calc(98px + env(safe-area-inset-bottom))}}

/* Patch 1.6.0 Atlante nazionale depuratori */
.atlante-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.55fr);gap:22px;align-items:stretch;margin:0 0 28px;padding:54px;background:radial-gradient(circle at 84% 10%,rgba(0,166,184,.20),transparent 28%),linear-gradient(135deg,#001f3d 0%,#00345f 55%,#f4f9fb 55.2%,#ffffff 100%);overflow:hidden;box-shadow:var(--dh-shadow-soft);border:1px solid rgba(219,231,238,.95)}
.atlante-hero h1{color:#fff;max-width:880px}.atlante-hero .lead{color:rgba(255,255,255,.82);max-width:860px}.atlante-hero .button.ghost{color:#fff;border-color:rgba(255,255,255,.55)}.atlante-hero .button.ghost:hover{background:rgba(255,255,255,.12);color:#fff}.atlante-hero-panel{position:relative;background:rgba(255,255,255,.96);padding:26px;border-left:6px solid var(--dh-cyan);display:grid;align-content:end;gap:8px;min-height:280px}.atlante-hero-panel span{font-weight:800;text-transform:uppercase;letter-spacing:.13em;color:var(--dh-cyan);font-size:.75rem}.atlante-hero-panel strong{font-size:clamp(3rem,7vw,5.4rem);line-height:.88;color:var(--dh-navy);letter-spacing:-.07em}.atlante-hero-panel p{font-size:1.12rem;color:var(--dh-ink);font-weight:700;margin:0}.atlante-hero-panel small{color:var(--dh-muted);line-height:1.45}.atlante-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:24px 0}.atlante-kpi-grid article{background:#fff;border:1px solid var(--dh-line);padding:22px;box-shadow:var(--dh-shadow-soft)}.atlante-kpi-grid span{display:block;color:var(--dh-cyan);text-transform:uppercase;letter-spacing:.13em;font-weight:800;font-size:.75rem}.atlante-kpi-grid strong{display:block;color:var(--dh-navy);font-size:clamp(2rem,4vw,3.4rem);letter-spacing:-.055em;line-height:1}.atlante-kpi-grid p{margin:8px 0 0;color:var(--dh-muted)}.atlante-notice{border-left:6px solid var(--dh-red)}.atlante-filter{align-items:end}.atlante-map-section{margin:42px 0}.atlante-map-shell{border:1px solid var(--dh-line);background:#fff;box-shadow:var(--dh-shadow);overflow:hidden}.atlante-map-toolbar{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;padding:14px 18px;background:linear-gradient(90deg,var(--dh-deep),var(--dh-navy));color:#fff}.atlante-map-toolbar strong{font-size:1.45rem;line-height:1}.atlante-map-toolbar span{color:rgba(255,255,255,.76);font-weight:700;margin-right:12px}.atlante-map-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;min-height:650px}.atlante-map{min-height:650px;background:#eaf5f9}.atlante-map-shell.single .atlante-map{min-height:440px}.atlante-map-card{padding:24px;border-left:1px solid var(--dh-line);background:linear-gradient(180deg,#fff,#f4f9fb);overflow:auto}.atlante-map-card h3{font-size:1.7rem;margin:12px 0}.atlante-detail-mini{display:grid;gap:12px;margin:18px 0}.atlante-detail-mini div{border-top:1px solid var(--dh-line);padding-top:10px}.atlante-detail-mini dt{font-size:.76rem;color:var(--dh-muted);text-transform:uppercase;letter-spacing:.11em;font-weight:800}.atlante-detail-mini dd{margin:4px 0 0;color:var(--dh-ink);font-weight:680}.atlante-map-error{display:grid;place-items:center;min-height:320px;padding:28px;color:var(--dh-muted);font-weight:700}.atlante-popup{min-width:230px}.atlante-popup strong{display:block;color:var(--dh-ink);font-size:1.02rem;line-height:1.18;margin-bottom:6px}.atlante-popup span{display:block;color:var(--dh-muted);font-size:.9rem;margin-bottom:8px}.atlante-popup dl{display:grid;gap:4px;margin:8px 0}.atlante-popup div{display:grid;grid-template-columns:82px minmax(0,1fr);gap:6px}.atlante-popup dt{font-weight:800;color:var(--dh-muted);font-size:.78rem}.atlante-popup dd{margin:0;color:var(--dh-ink);font-weight:700}.atlante-popup p{font-size:.9rem;margin:8px 0;color:var(--dh-text)}.atlante-popup a{display:inline-flex;margin-top:6px;font-weight:800;color:var(--dh-navy)}.atlante-results{margin:54px 0}.atlante-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:18px}.atlante-card{background:#fff;border:1px solid var(--dh-line);padding:22px;box-shadow:var(--dh-shadow-soft);display:grid;gap:10px}.atlante-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.atlante-card-head small{font-weight:800;color:var(--dh-muted)}.atlante-card h3{font-size:1.35rem;margin:0}.atlante-place{color:var(--dh-muted);margin:0}.atlante-mini-data{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:6px 0}.atlante-mini-data div{background:var(--dh-ice);border:1px solid var(--dh-line);padding:10px}.atlante-mini-data dt{font-size:.72rem;color:var(--dh-muted);text-transform:uppercase;letter-spacing:.1em;font-weight:800}.atlante-mini-data dd{margin:3px 0 0;color:var(--dh-ink);font-weight:800;font-size:.92rem;word-break:break-word}.atlante-detail-hero{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;align-items:stretch;margin-bottom:28px;padding:44px;background:linear-gradient(135deg,#f4f9fb,#fff);border:1px solid var(--dh-line);box-shadow:var(--dh-shadow-soft)}.atlante-detail-hero h1{font-size:clamp(2rem,5vw,4.4rem)}.atlante-detail-badges{display:flex;flex-wrap:wrap;gap:8px}.atlante-detail-summary{background:linear-gradient(135deg,var(--dh-deep),var(--dh-navy));color:#fff;padding:24px;display:grid;align-content:end;gap:8px}.atlante-detail-summary strong{font-size:2.2rem;line-height:1;color:#fff}.atlante-detail-summary span,.atlante-detail-summary p{color:rgba(255,255,255,.78)}.atlante-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:24px 0}.atlante-detail-grid .wide{grid-column:1/-1}.atlante-detail-table dl{display:grid;gap:0;margin:0}.atlante-detail-table div{display:grid;grid-template-columns:minmax(160px,.45fr) minmax(0,1fr);gap:14px;border-bottom:1px solid var(--dh-line);padding:12px 0}.atlante-detail-table dt{font-size:.78rem;color:var(--dh-muted);text-transform:uppercase;letter-spacing:.11em;font-weight:850}.atlante-detail-table dd{margin:0;color:var(--dh-ink);font-weight:650;word-break:break-word}.compact-map{margin-top:0}.leaflet-container{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}.leaflet-popup-content-wrapper{border-radius:2px;box-shadow:0 18px 45px rgba(0,52,95,.20)}.leaflet-popup-content{margin:14px}.leaflet-control-attribution{font-size:.68rem}
@media (max-width:1050px){.atlante-hero,.atlante-detail-hero{grid-template-columns:1fr;padding:34px}.atlante-hero{background:linear-gradient(135deg,#001f3d,#00345f)}.atlante-map-layout{grid-template-columns:1fr}.atlante-map-card{border-left:0;border-top:1px solid var(--dh-line)}.atlante-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.atlante-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.atlante-map,.atlante-map-shell.single .atlante-map{min-height:520px}}
@media (max-width:720px){.atlante-hero,.atlante-detail-hero{padding:24px;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);border-left:0;border-right:0}.atlante-kpi-grid,.atlante-card-grid,.atlante-detail-grid{grid-template-columns:1fr}.atlante-detail-grid .wide{grid-column:auto}.atlante-map-shell{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);border-left:0;border-right:0}.atlante-map{min-height:500px}.atlante-mini-data{grid-template-columns:1fr}.atlante-detail-table div{grid-template-columns:1fr;gap:4px}.atlante-map-toolbar strong{font-size:1.15rem}.atlante-map-toolbar span{font-size:.9rem}.atlante-hero-panel{min-height:220px}}
/* DepuraHub Atlante 1.7.0: correzione mappa Leaflet e responsività */

/* Fallback essenziale se il CSS remoto di Leaflet viene bloccato dal browser o dal CDN. */
.leaflet-container{overflow:hidden;position:relative;outline-offset:1px;background:#d9eef5;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;touch-action:pan-x pan-y;isolation:isolate}
.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}
.leaflet-container img.leaflet-tile,.leaflet-container .leaflet-marker-icon,.leaflet-container .leaflet-marker-shadow{max-width:none!important;max-height:none!important;width:auto;height:auto;padding:0;border:0}
.leaflet-tile{width:256px;height:256px;user-select:none;visibility:inherit}
.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-animated{transform-origin:0 0}.leaflet-interactive{cursor:pointer}.leaflet-control{position:relative;z-index:800;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:10px}.leaflet-right{right:10px}.leaflet-bottom{bottom:10px}.leaflet-left{left:10px}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-control-zoom a{display:block;width:34px;height:34px;line-height:32px;text-align:center;background:#fff;border-bottom:1px solid #d8e5ec;color:#00345f;text-decoration:none;font-weight:800;box-shadow:0 8px 18px rgba(0,52,95,.14)}.leaflet-control-zoom a:first-child{border-radius:2px 2px 0 0}.leaflet-control-zoom a:last-child{border-bottom:0;border-radius:0 0 2px 2px}.leaflet-control-attribution{background:rgba(255,255,255,.88);padding:3px 7px;font-size:.68rem;color:#506174}.leaflet-control-attribution a{color:#00345f}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{background:#fff;border-radius:2px;box-shadow:0 18px 45px rgba(0,52,95,.20);text-align:left}.leaflet-popup-content{margin:14px;line-height:1.35}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;background:#fff;transform:rotate(45deg);box-shadow:0 10px 26px rgba(0,52,95,.18)}.leaflet-popup-close-button{position:absolute;top:0;right:0;padding:8px 8px 0 0;border:0;text-align:center;width:28px;height:28px;font:18px/18px Arial,sans-serif;color:#66778b;text-decoration:none;background:transparent}.leaflet-popup-close-button:hover{color:#00345f}

/* Impaginazione Atlante. */
.atlante-hero{border-radius:0;min-width:0}.atlante-hero-copy,.atlante-hero-panel{min-width:0}.atlante-hero h1,.atlante-detail-hero h1{text-wrap:balance}.atlante-hero .lead{max-width:760px}.atlante-kpi-grid article,.atlante-card,.atlante-map-shell,.atlante-detail-hero,.atlante-detail-grid .content-panel{min-width:0}.atlante-filter{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end}.atlante-filter label{min-width:0}.atlante-filter input,.atlante-filter select{width:100%;min-width:0}.atlante-map-section{position:relative;clear:both}.atlante-map-shell{width:100%;max-width:100%;overflow:hidden;border-radius:0}.atlante-map-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);min-height:0}.atlante-map,.atlas-map{position:relative;width:100%;height:clamp(430px,62vh,680px);min-height:430px;max-height:680px;overflow:hidden;background:#eaf5f9;z-index:1}.atlante-map-shell.single .atlante-map,.atlas-map.single{height:clamp(360px,50vh,500px);min-height:360px;max-height:500px}.atlante-map-card{max-height:680px;overflow:auto}.atlante-map-toolbar{position:relative;z-index:2}.atlante-card h3,.atlante-popup strong,.atlante-detail-mini dd{overflow-wrap:anywhere}.atlante-popup{min-width:min(250px,78vw);max-width:78vw}.atlante-popup dl{margin:8px 0}.atlante-detail-mini{margin-bottom:18px}.atlante-mini-data{min-width:0}.atlante-mini-data div{min-width:0}.atlante-card-grid{align-items:stretch}.atlante-card{height:100%}

/* Compatibilità con la vecchia classe atlas-* usata dalla prima patch Atlante. */
.atlas-map{border:1px solid var(--dh-line);box-shadow:var(--dh-shadow-soft)}.atlas-filter{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end}.atlas-filter label{min-width:0}.atlas-filter input,.atlas-filter select{width:100%;min-width:0}.atlas-table-wrap{max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch}.atlas-table{min-width:900px}

@media (max-width:1100px){.atlante-filter,.atlas-filter{grid-template-columns:repeat(2,minmax(0,1fr))}.atlante-map-layout{grid-template-columns:1fr}.atlante-map-card{max-height:none;border-left:0;border-top:1px solid var(--dh-line)}.atlante-map,.atlas-map{height:560px;max-height:640px}.atlante-hero{grid-template-columns:1fr;padding:34px;background:linear-gradient(135deg,#001f3d,#00345f)}.atlante-hero-panel{min-height:auto}.atlante-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

@media (max-width:760px){html,body{max-width:100%;overflow-x:hidden}.container{width:min(100% - 24px,1180px)}.site-main{overflow:hidden}.atlante-hero,.atlante-detail-hero{padding:22px 18px;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);border-left:0;border-right:0}.atlante-hero h1,.atlante-detail-hero h1{font-size:clamp(2rem,11vw,3.25rem);letter-spacing:-.055em}.atlante-hero .lead{font-size:1.02rem;line-height:1.45}.atlante-hero-panel{padding:20px}.atlante-hero-panel strong{font-size:clamp(2.4rem,18vw,4rem)}.hero-actions{display:grid;grid-template-columns:1fr;gap:8px}.hero-actions .button{width:100%}.atlante-kpi-grid{grid-template-columns:1fr 1fr;gap:8px}.atlante-kpi-grid article{padding:16px;min-height:auto}.atlante-kpi-grid strong{font-size:clamp(1.8rem,10vw,2.8rem)}.atlante-filter,.atlas-filter{grid-template-columns:1fr;padding:14px;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);border-left:0;border-right:0}.atlante-filter .button,.atlante-filter a.button,.atlas-filter .button,.atlas-filter a.button{width:100%}.atlante-map-section{margin-top:28px}.atlante-map-shell{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);width:100vw;max-width:100vw;border-left:0;border-right:0;box-shadow:none}.atlante-map-toolbar{padding:12px 14px;gap:6px 10px}.atlante-map-toolbar strong{font-size:1.05rem}.atlante-map-toolbar span{font-size:.82rem;margin-right:6px}.atlante-map,.atlas-map{height:min(70svh,500px);min-height:380px;max-height:500px;border-left:0;border-right:0}.atlante-map-shell.single .atlante-map,.atlas-map.single{height:min(58svh,420px);min-height:340px;max-height:420px}.atlante-map-card{padding:18px;max-height:none}.atlante-map-card h3{font-size:1.35rem}.atlante-detail-mini div{padding-top:8px}.atlante-card-grid{grid-template-columns:1fr;gap:12px}.atlante-card{padding:18px}.atlante-card-head{display:grid;gap:6px}.atlante-mini-data{grid-template-columns:1fr}.atlante-detail-grid{grid-template-columns:1fr}.atlante-detail-table div{grid-template-columns:1fr;gap:3px}.leaflet-top{top:6px}.leaflet-left{left:6px}.leaflet-right{right:6px}.leaflet-bottom{bottom:6px}.leaflet-control-zoom a{width:38px;height:38px;line-height:36px}.leaflet-popup-content{margin:12px}.leaflet-popup{max-width:86vw}}

@media (max-width:420px){.atlante-kpi-grid{grid-template-columns:1fr}.atlante-map,.atlas-map{height:430px;min-height:360px;max-height:430px}.atlante-map-shell.single .atlante-map,.atlas-map.single{height:340px;min-height:320px}.atlante-map-toolbar{display:grid;grid-template-columns:auto 1fr;align-items:center}.atlante-popup{min-width:220px;max-width:82vw}.leaflet-control-attribution{max-width:70vw;white-space:normal;line-height:1.2}.atlante-detail-summary strong{font-size:1.6rem}}

/* DepuraHub Home redesign 1.6.1 */
.dh-home-hero-redesign{min-height:680px;background:linear-gradient(118deg,rgba(0,31,61,.98) 0%,rgba(0,52,95,.96) 44%,rgba(0,111,174,.72) 72%,rgba(234,245,249,.96) 100%)}
.dh-home-hero-redesign .hero-title-line{font-size:clamp(1.35rem,2.7vw,2.35rem);line-height:1.18;max-width:820px;color:#fff;margin:0 0 18px;letter-spacing:-.035em;font-weight:520}
.dh-hero-panel-redesign ul{list-style:none;margin:2px 0 0;padding:0;display:grid;gap:9px}
.dh-hero-panel-redesign li{position:relative;padding-left:18px;color:var(--dh-muted);font-size:.96rem;line-height:1.4}
.dh-hero-panel-redesign li::before{content:"";position:absolute;left:0;top:.62em;width:7px;height:7px;border-radius:50%;background:var(--dh-cyan)}
.home-intro-strip{padding-top:76px}
.home-kpi-section{padding:10px 0 68px;border-bottom:1px solid var(--dh-line)}
.home-kpi-grid{display:grid;gap:14px;grid-template-columns:1fr}
.home-kpi-grid article{background:#fff;border:1px solid var(--dh-line);padding:24px;box-shadow:var(--dh-shadow-soft);position:relative;overflow:hidden}
.home-kpi-grid article::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(180deg,var(--dh-cyan),var(--dh-blue))}
.home-kpi-grid strong{display:block;color:var(--dh-navy);font-size:clamp(2.05rem,5vw,3.75rem);line-height:1;font-weight:470;letter-spacing:-.045em;margin-bottom:8px}
.home-kpi-grid span{display:block;color:var(--dh-muted);font-size:.98rem;line-height:1.35}
.home-method-section{background:var(--dh-ice);padding:86px 0;border-block:1px solid var(--dh-line);position:relative;overflow:hidden}
.home-method-section::after{content:"";position:absolute;right:-240px;top:-260px;width:680px;height:680px;border-radius:50%;border:1px solid rgba(0,111,174,.18);box-shadow:0 0 0 72px rgba(0,111,174,.04);pointer-events:none}
.home-method-inner{position:relative;z-index:1;display:grid;gap:34px;align-items:start}
.home-method-copy{max-width:680px}
.home-method-grid{display:grid;gap:14px}
.home-method-grid article{background:#fff;border:1px solid var(--dh-line);padding:22px;min-height:170px;box-shadow:var(--dh-shadow-soft);display:grid;gap:8px;align-content:start}
.home-method-grid span{font-size:.78rem;color:var(--dh-cyan);font-weight:850;letter-spacing:.15em}
.home-method-grid strong{font-size:1.18rem;color:var(--dh-navy)}
.home-method-grid small{font-size:.96rem;line-height:1.45;color:var(--dh-muted)}
.home-atlas-feature{padding-top:72px;padding-bottom:72px}
.home-glossary-feature{border-top:0;padding-top:74px}
.home-final-cta .hero-actions{margin-top:24px}
.home-transparency-note{margin-top:34px}
@media (min-width:700px){.home-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.home-method-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1040px){.home-method-inner{grid-template-columns:.82fr 1.18fr}.home-kpi-grid article{min-height:160px}}
@media (max-width:620px){.dh-home-hero-redesign{min-height:700px}.dh-home-hero-redesign .hero-title-line{font-size:1.32rem}.home-kpi-section{padding-bottom:54px}.home-method-section{padding:62px 0}.home-kpi-grid article,.home-method-grid article{padding:20px}}

/* Home 1.6.3 - tipografia più sobria e leggibile */
.dh-home-hero-redesign{min-height:640px}
.dh-home-hero-redesign .dh-home-hero-inner{padding-top:76px;padding-bottom:58px;gap:28px}
.dh-home-hero-redesign .dh-hero-copy h1{font-size:clamp(2.18rem,4.6vw,3.85rem);line-height:1.12;letter-spacing:-.032em;max-width:920px;margin-bottom:16px}
.dh-home-hero-redesign .hero-title-line{font-size:clamp(1.15rem,1.65vw,1.45rem);line-height:1.35;letter-spacing:-.025em;max-width:760px;margin-bottom:14px;font-weight:500}
.dh-home-hero-redesign .dh-hero-copy .lead{font-size:clamp(1.02rem,1.25vw,1.18rem);line-height:1.55;max-width:780px}
.home-intro-strip h2,
.home-method-copy h2,
.home-atlas-feature .large-card h2,
.systems-copy h2,
.clean-section .section-heading-row h2,
.home-glossary-feature h2,
.home-final-cta h2{font-size:clamp(1.65rem,3vw,2.65rem);line-height:1.14;letter-spacing:-.028em}
.editorial-strip p:last-child,
.home-method-copy p,
.systems-copy p,
.home-glossary-feature p,
.home-final-cta p{font-size:1.02rem;line-height:1.58}
.home-kpi-grid strong{font-size:clamp(2rem,3.7vw,3.05rem);letter-spacing:-.035em}
.home-kpi-grid span{font-size:.94rem;line-height:1.4}
.quick-focus strong{font-size:clamp(1.08rem,1.5vw,1.22rem);letter-spacing:-.018em}
.quick-focus em{font-size:.94rem;line-height:1.4}
.home-method-grid strong{font-size:1.08rem;line-height:1.25}
.home-method-grid small{font-size:.94rem;line-height:1.48}
.system-card strong{font-size:1.18rem;line-height:1.28;letter-spacing:-.018em}
.system-card small{font-size:.93rem;line-height:1.48}
.image-card h3,.article-card h3{font-size:clamp(1.12rem,1.55vw,1.35rem);line-height:1.23;letter-spacing:-.022em}
.final-cta{padding-top:68px;padding-bottom:68px}
.clean-section{padding-top:62px;padding-bottom:62px}
.home-method-section{padding-top:74px;padding-bottom:74px}
.home-atlas-feature{padding-top:64px;padding-bottom:64px}
.home-glossary-feature{padding-top:64px}
@media (max-width:760px){
  .dh-home-hero-redesign{min-height:auto}
  .dh-home-hero-redesign .dh-home-hero-inner{padding-top:58px;padding-bottom:44px;gap:22px}
  .dh-home-hero-redesign .dh-hero-copy h1{font-size:clamp(2.05rem,9vw,2.38rem);line-height:1.14;letter-spacing:-.035em;margin-bottom:14px}
  .dh-home-hero-redesign .hero-title-line{font-size:1.08rem;line-height:1.38;margin-bottom:12px}
  .dh-home-hero-redesign .dh-hero-copy .lead{font-size:1rem;line-height:1.52}
  .home-intro-strip h2,
  .home-method-copy h2,
  .home-atlas-feature .large-card h2,
  .systems-copy h2,
  .clean-section .section-heading-row h2,
  .home-glossary-feature h2,
  .home-final-cta h2{font-size:clamp(1.55rem,7vw,1.9rem);line-height:1.18;letter-spacing:-.026em}
  .home-kpi-grid strong{font-size:clamp(1.95rem,11vw,2.55rem)}
  .quick-focus a{padding:20px 0}
  .quick-focus strong{font-size:1.12rem}
  .editorial-strip{padding-top:54px;padding-bottom:42px}
  .home-method-section{padding-top:56px;padding-bottom:56px}
  .home-atlas-feature{padding-top:52px;padding-bottom:52px}
  .clean-section{padding-top:50px;padding-bottom:50px}
  .final-cta{padding-top:56px;padding-bottom:56px}
}


/* Home/Footer 1.6.5 - aggiornamento discreto, orologio e componenti meno invasivi */
.home-live-strip{display:grid;gap:8px;padding:13px 0;border-bottom:1px solid var(--dh-line);color:var(--dh-muted);font-size:.88rem}
.home-live-item{display:flex;flex-wrap:wrap;align-items:baseline;gap:5px 9px;min-width:0}
.home-live-item span{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;font-weight:850;color:var(--dh-muted)}
.home-live-item strong{font-size:.9rem;line-height:1.35;color:var(--dh-ink);font-weight:680;letter-spacing:-.005em}
.home-live-item small{font-size:.82rem;color:var(--dh-muted)}
.home-live-clock small::before{content:"·";margin:0 7px 0 1px;color:var(--dh-line)}
.home-intro-strip{padding-top:58px}
.pwa-install{left:18px;right:auto;bottom:18px;width:min(420px,calc(100% - 36px));border-left:4px solid var(--dh-cyan);padding:12px 13px;gap:10px;box-shadow:0 12px 32px rgba(0,52,95,.12);font-size:.9rem}
.pwa-install strong{font-size:.94rem;color:var(--dh-ink)}
.pwa-install p{font-size:.84rem;line-height:1.35;margin:2px 0 0}
.pwa-actions{gap:6px}.pwa-actions .button{min-height:34px;padding:7px 11px;font-size:.84rem}
.floating-share-toggle{min-height:42px;padding:0 13px;font-size:.86rem;font-weight:780;background:rgba(0,52,95,.96);box-shadow:0 10px 26px rgba(0,43,92,.20)}
.floating-share-panel{bottom:52px;width:230px;padding:11px;border-radius:14px;box-shadow:0 16px 38px rgba(0,52,95,.14)}
.floating-share-panel strong{font-size:.88rem}.floating-share-panel a,.floating-share-panel button{padding:8px 10px;border-radius:9px;font-size:.86rem}
.footer-main{padding-top:26px;padding-bottom:18px}.footer-about p{font-size:.92rem}.footer-links a{font-size:.9rem}.footer-bottom-inner{min-height:40px;font-size:.82rem}.footer-notice{padding:11px 0;font-size:.84rem}
@media (min-width:760px){.home-live-strip{grid-template-columns:1fr 1fr;align-items:center}.home-live-clock{justify-content:flex-end;text-align:right}}
@media (max-width:760px){.home-live-strip{padding:12px 0}.home-live-item{display:grid;gap:2px}.home-live-clock small::before{content:"";margin:0}.pwa-install{left:12px;right:12px;bottom:12px;width:auto}.floating-share-toggle{min-width:42px;min-height:42px}.floating-share-panel{bottom:52px}.pwa-install:not([hidden])~.floating-share{bottom:calc(84px + env(safe-area-inset-bottom))}}

/* DepuraHub 1.6.6 - pagina Progetto */
.content-panel.project-intro{border-left:5px solid var(--dh-red);background:linear-gradient(90deg,#fff,#f7fbfd);padding:30px}.content-panel.project-intro p{font-size:1.07rem;max-width:920px}.content-panel.project-origin{background:#fff;border-top:4px solid var(--dh-cyan)}.dh-block-cards.project-purpose .card,.dh-block-cards.project-method .card,.dh-block-cards.project-next .card{padding-top:28px}.dh-block-cards.project-purpose .card::before,.dh-block-cards.project-method .card::before,.dh-block-cards.project-next .card::before{content:"";position:absolute;left:24px;right:24px;top:0;height:4px;background:linear-gradient(90deg,var(--dh-red),var(--dh-cyan))}.dh-block-cards.project-method .card::before{background:linear-gradient(90deg,var(--dh-cyan),var(--dh-green))}.dh-block-cards.project-next .card::before{background:linear-gradient(90deg,var(--dh-navy),var(--dh-cyan))}.notice.project-limits{border-left:6px solid var(--dh-red);background:linear-gradient(90deg,#fff,#fff7f7)}.dh-block-split.project-beta{background:linear-gradient(135deg,#fff,var(--dh-ice));border-left:5px solid var(--dh-cyan)}.dh-block-faq.project-faq details:first-of-type{border-top:0}.dh-block-cta.project-cta{padding:30px;background:linear-gradient(135deg,var(--dh-deep),var(--dh-navy))}.author-compact-section.project-author{padding-top:24px}.author-compact-section.project-author .author-compact-card{grid-template-columns:140px minmax(0,1fr);padding:24px}.author-compact-section.project-author .author-compact-copy h2{font-size:clamp(1.35rem,2.4vw,2.2rem)}@media(max-width:760px){.content-panel.project-intro{padding:24px}.author-compact-section.project-author .author-compact-card{grid-template-columns:1fr}.author-compact-section.project-author .author-compact-photo{max-width:132px}.dh-block-cards.project-purpose .card::before,.dh-block-cards.project-method .card::before,.dh-block-cards.project-next .card::before{left:20px;right:20px}}

/* Patch 1.6.7: grafica editoriale pagina Progetto */
.project-hero{
  position:relative;
  margin:0 calc(50% - 50vw) 34px;
  padding:64px max(18px,calc((100vw - 1180px)/2)) 56px;
  color:#fff;
  background:
    linear-gradient(118deg,rgba(0,31,61,.98) 0%,rgba(0,52,95,.96) 48%,rgba(0,111,174,.72) 100%),
    radial-gradient(circle at 86% 18%,rgba(0,166,184,.35),transparent 28%);
  overflow:hidden;
}
.project-hero::before{
  content:"";
  position:absolute;
  inset:auto -190px -260px auto;
  width:620px;
  height:620px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.22);
  box-shadow:0 0 0 62px rgba(255,255,255,.045),0 0 0 126px rgba(255,255,255,.026);
  pointer-events:none;
}
.project-hero::after{
  content:"";
  position:absolute;
  left:max(18px,calc((100vw - 1180px)/2));
  right:max(18px,calc((100vw - 1180px)/2));
  bottom:0;
  height:5px;
  background:linear-gradient(90deg,var(--dh-red),var(--dh-cyan),transparent 78%);
  opacity:.95;
}
.project-hero-grid{
  position:relative;
  z-index:1;
  display:grid;
  gap:28px;
  align-items:end;
}
.project-hero-copy{max-width:760px}
.project-hero h1{
  max-width:820px;
  color:#fff;
  font-size:clamp(2.2rem,5.2vw,4.7rem);
  line-height:1.04;
  letter-spacing:-.055em;
  margin-bottom:18px;
}
.project-hero .lead{
  max-width:720px;
  color:rgba(255,255,255,.82);
  font-size:clamp(1.02rem,1.55vw,1.25rem);
}
.project-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.project-hero-card{
  position:relative;
  display:grid;
  gap:12px;
  align-content:end;
  min-height:360px;
  padding:28px;
  color:var(--dh-ink);
  background:rgba(255,255,255,.96);
  border:1px solid rgba(255,255,255,.72);
  border-left:6px solid var(--dh-red);
  box-shadow:0 24px 60px rgba(0,15,35,.22);
  overflow:hidden;
}
.project-hero-card::after{
  content:"";
  position:absolute;
  right:-86px;
  top:-118px;
  width:300px;
  height:300px;
  border-radius:50%;
  border:1px solid rgba(0,166,184,.22);
  box-shadow:0 0 0 42px rgba(0,166,184,.05);
}
.project-hero-card>*{position:relative;z-index:1}
.project-card-kicker{
  color:var(--dh-red);
  font-size:.76rem;
  font-weight:850;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.project-hero-card strong{
  display:block;
  max-width:340px;
  color:var(--dh-navy);
  font-size:clamp(1.35rem,2.3vw,2.15rem);
  line-height:1.08;
  letter-spacing:-.035em;
}
.project-hero-card p{max-width:390px;color:var(--dh-muted);margin-bottom:8px}
.project-mini-stats{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin:10px 0 0;
}
.project-mini-stats div{
  border-top:1px solid var(--dh-line);
  padding-top:10px;
}
.project-mini-stats dt{
  margin:0;
  color:var(--dh-navy);
  font-size:clamp(1.25rem,2.4vw,2.15rem);
  font-weight:620;
  letter-spacing:-.045em;
  line-height:1;
}
.project-mini-stats dd{
  margin:5px 0 0;
  color:var(--dh-muted);
  font-size:.76rem;
  line-height:1.25;
  font-weight:760;
  text-transform:uppercase;
  letter-spacing:.07em;
}
.content-panel.project-intro{
  display:grid;
  grid-template-columns:minmax(0,.55fr) minmax(0,1fr);
  gap:28px;
  align-items:start;
  margin-top:28px;
  padding:34px;
  border:1px solid var(--dh-line);
  border-left:0;
  background:linear-gradient(135deg,#fff 0%,#fff 58%,#f5fafc 100%);
  box-shadow:var(--dh-shadow-soft);
}
.content-panel.project-intro h2{
  position:relative;
  margin:0;
  padding-top:18px;
  font-size:clamp(1.65rem,3vw,2.75rem);
}
.content-panel.project-intro h2::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:74px;
  height:5px;
  background:var(--dh-red);
}
.content-panel.project-intro p{
  max-width:760px;
  font-size:1.04rem;
  color:var(--dh-text);
}
.dh-block-cards.project-purpose,
.dh-block-cards.project-method,
.dh-block-cards.project-next{
  padding:48px 0 20px;
}
.dh-block-cards.project-purpose .section-heading-row,
.dh-block-cards.project-method .section-heading-row,
.dh-block-cards.project-next .section-heading-row{
  margin-bottom:20px;
  border-top:1px solid var(--dh-line);
  padding-top:24px;
}
.dh-block-cards.project-purpose h2,
.dh-block-cards.project-method h2,
.dh-block-cards.project-next h2{
  font-size:clamp(1.8rem,3.2vw,3rem);
}
.dh-block-cards.project-purpose .editorial-cards,
.dh-block-cards.project-method .editorial-cards,
.dh-block-cards.project-next .editorial-cards{
  counter-reset:project-card;
  gap:14px;
}
.dh-block-cards.project-purpose .card,
.dh-block-cards.project-method .card,
.dh-block-cards.project-next .card{
  counter-increment:project-card;
  min-height:245px;
  padding:26px 24px 24px;
  background:#fff;
  border:1px solid var(--dh-line);
  box-shadow:var(--dh-shadow-soft);
  display:grid;
  align-content:space-between;
}
.dh-block-cards.project-purpose .card::before,
.dh-block-cards.project-method .card::before,
.dh-block-cards.project-next .card::before{
  content:"0" counter(project-card);
  position:absolute;
  top:18px;
  right:20px;
  left:auto;
  width:auto;
  height:auto;
  background:transparent;
  color:rgba(0,52,95,.12);
  font-size:3rem;
  line-height:1;
  font-weight:760;
  letter-spacing:-.08em;
}
.dh-block-cards.project-purpose .card:nth-child(1){border-top:5px solid var(--dh-red)}
.dh-block-cards.project-purpose .card:nth-child(2){border-top:5px solid var(--dh-cyan)}
.dh-block-cards.project-purpose .card:nth-child(3){border-top:5px solid var(--dh-navy)}
.dh-block-cards.project-purpose .card:nth-child(4){border-top:5px solid var(--dh-green)}
.dh-block-cards.project-method .card{
  background:linear-gradient(180deg,#fff,#f8fcfd);
  border-top:5px solid var(--dh-cyan);
}
.dh-block-cards.project-next .card{
  border-top:5px solid var(--dh-navy);
}
.dh-block-cards.project-purpose .card h3,
.dh-block-cards.project-method .card h3,
.dh-block-cards.project-next .card h3{
  max-width:78%;
  font-size:1.28rem;
}
.content-panel.project-origin{
  position:relative;
  margin:42px calc(50% - 50vw) 20px;
  padding:62px max(18px,calc((100vw - 1180px)/2));
  color:#fff;
  background:linear-gradient(124deg,var(--dh-deep),var(--dh-navy));
  border:0;
  overflow:hidden;
}
.content-panel.project-origin::before{
  content:"";
  position:absolute;
  right:-190px;
  top:-230px;
  width:590px;
  height:590px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 0 0 62px rgba(255,255,255,.035);
}
.content-panel.project-origin h2,
.content-panel.project-origin p{
  position:relative;
  z-index:1;
  max-width:760px;
  color:#fff;
}
.content-panel.project-origin h2{font-size:clamp(1.9rem,3.5vw,3.25rem)}
.content-panel.project-origin p{color:rgba(255,255,255,.82);font-size:1.06rem}
.notice.project-limits{
  display:grid;
  grid-template-columns:210px minmax(0,1fr);
  gap:24px;
  align-items:start;
  margin:42px 0 22px;
  padding:28px;
  border:1px solid #f0c8ce;
  border-left:8px solid var(--dh-red);
  background:linear-gradient(135deg,#fff,#fff8f9);
  box-shadow:var(--dh-shadow-soft);
}
.notice.project-limits strong{
  color:var(--dh-red);
  text-transform:none;
  letter-spacing:-.02em;
  font-size:1.32rem;
  line-height:1.1;
}
.notice.project-limits p{margin:0;color:var(--dh-text)}
.dh-block-split.project-beta{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) 280px;
  gap:24px;
  align-items:stretch;
  margin:48px 0 22px;
  padding:34px;
  background:#fff;
  border:1px solid var(--dh-line);
  border-left:0;
  box-shadow:var(--dh-shadow-soft);
}
.dh-block-split.project-beta::after{
  content:"Beta";
  display:grid;
  place-items:center;
  min-height:100%;
  color:#fff;
  background:linear-gradient(135deg,var(--dh-red),var(--dh-navy));
  font-size:clamp(2.4rem,5vw,4.2rem);
  font-weight:760;
  letter-spacing:-.07em;
}
.dh-block-split.project-beta .block-copy{max-width:760px}
.author-compact-section.project-author{
  padding:44px 0 28px;
  border-top:1px solid var(--dh-line);
}
.author-compact-section.project-author .author-compact-card{
  grid-template-columns:128px minmax(0,1fr);
  gap:24px;
  padding:26px;
  background:linear-gradient(135deg,#fff,#f6fbfd);
  border-left:6px solid var(--dh-cyan);
  box-shadow:var(--dh-shadow-soft);
}
.author-compact-section.project-author .author-compact-card::after{opacity:.7}
.author-compact-section.project-author .author-compact-photo img{border-width:6px}
.author-compact-section.project-author .author-compact-copy h2{
  font-size:clamp(1.45rem,2.3vw,2.25rem);
  margin-bottom:10px;
}
.dh-block-faq.project-faq{
  margin:46px 0 26px;
  padding:34px;
  background:var(--dh-ice);
  border:1px solid var(--dh-line);
}
.dh-block-faq.project-faq h2{font-size:clamp(1.75rem,3vw,2.75rem)}
.dh-block-faq.project-faq details{
  background:#fff;
  border:1px solid var(--dh-line);
  margin-top:10px;
  padding:16px 18px;
}
.dh-block-faq.project-faq summary{font-weight:780;color:var(--dh-navy);cursor:pointer}
.dh-block-faq.project-faq p{margin:12px 0 0;color:var(--dh-muted)}
.dh-block-cta.project-cta{
  margin:44px 0 18px;
  padding:34px;
  background:linear-gradient(135deg,var(--dh-deep),var(--dh-navy));
  color:#fff;
  border:0;
  box-shadow:var(--dh-shadow);
}
.dh-block-cta.project-cta h2{color:#fff;font-size:clamp(1.7rem,3vw,2.7rem)}
.dh-block-cta.project-cta p{color:rgba(255,255,255,.82)}
@media (min-width:900px){
  .project-hero-grid{grid-template-columns:minmax(0,1fr) minmax(330px,420px)}
  .dh-block-cards.project-purpose .editorial-cards,
  .dh-block-cards.project-method .editorial-cards,
  .dh-block-cards.project-next .editorial-cards{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (max-width:899px){
  .project-hero{padding-top:54px;padding-bottom:48px}
  .project-hero-card{min-height:auto}
  .content-panel.project-intro,
  .notice.project-limits,
  .dh-block-split.project-beta{grid-template-columns:1fr}
  .dh-block-split.project-beta::after{min-height:130px;font-size:3.2rem}
  .project-mini-stats{grid-template-columns:1fr 1fr 1fr}
}
@media (max-width:620px){
  .project-hero{margin-bottom:24px;padding-top:44px;padding-bottom:40px}
  .project-hero h1{font-size:2.35rem;letter-spacing:-.045em}
  .project-hero-card{padding:22px}
  .project-mini-stats{grid-template-columns:1fr;gap:10px}
  .content-panel.project-intro,
  .dh-block-split.project-beta,
  .dh-block-faq.project-faq,
  .dh-block-cta.project-cta{padding:24px}
  .dh-block-cards.project-purpose,
  .dh-block-cards.project-method,
  .dh-block-cards.project-next{padding-top:36px}
  .dh-block-cards.project-purpose .card,
  .dh-block-cards.project-method .card,
  .dh-block-cards.project-next .card{min-height:210px;padding:22px 20px}
  .dh-block-cards.project-purpose .card h3,
  .dh-block-cards.project-method .card h3,
  .dh-block-cards.project-next .card h3{max-width:82%}
  .notice.project-limits{padding:22px}
  .author-compact-section.project-author .author-compact-card{grid-template-columns:1fr;padding:22px}
  .author-compact-section.project-author .author-compact-photo{width:120px}
}


/* Patch 1.7.0: beta pubblica e card contatto autore */
.project-card-kicker{letter-spacing:.10em}
.project-hero-card strong{font-size:clamp(1.22rem,2vw,1.85rem)}
.notice.project-limits strong{font-size:1.18rem}
.author-compact-section.project-author{
  padding:34px 0 20px;
  border-top:1px solid var(--dh-line);
  border-bottom:1px solid var(--dh-line);
}
.author-compact-section.project-author .author-compact-card{
  position:relative;
  display:grid;
  grid-template-columns:104px minmax(0,1fr);
  gap:20px;
  align-items:center;
  padding:22px;
  background:#fff;
  border:1px solid var(--dh-line);
  border-left:5px solid var(--dh-red);
  box-shadow:0 14px 36px rgba(0,52,95,.08);
}
.author-compact-section.project-author .author-compact-photo{width:104px;max-width:104px}
.author-compact-section.project-author .author-compact-photo img{
  width:104px;
  height:104px;
  object-fit:cover;
  border-radius:50%;
  border:4px solid #fff;
  box-shadow:0 8px 22px rgba(0,31,61,.16);
}
.author-compact-section.project-author .author-compact-copy .eyebrow{
  margin-bottom:6px;
  color:var(--dh-red);
}
.author-compact-section.project-author .author-compact-copy h2{
  font-size:clamp(1.28rem,2vw,1.85rem);
  margin-bottom:8px;
}
.author-compact-section.project-author .author-compact-copy p{
  max-width:780px;
  font-size:.98rem;
  line-height:1.65;
}
.author-compact-section.project-author .text-link{margin-top:4px}
@media(max-width:620px){
  .author-compact-section.project-author .author-compact-card{grid-template-columns:72px minmax(0,1fr);gap:14px;padding:18px}
  .author-compact-section.project-author .author-compact-photo,
  .author-compact-section.project-author .author-compact-photo img{width:72px;height:72px}
  .author-compact-section.project-author .author-compact-copy p{font-size:.94rem}
}


/* Patch 1.7.2: progetto più sobrio e istituzionale */
.project-hero{
  position:relative;
  margin:0 calc(50% - 50vw) 38px;
  padding:58px max(18px,calc((100vw - 1180px)/2)) 44px;
  color:var(--dh-text);
  background:linear-gradient(180deg,#ffffff 0%,#fbfcfd 100%);
  border-top:6px solid var(--dh-red);
  border-bottom:1px solid var(--dh-line);
  overflow:hidden;
}
.project-hero::before{
  content:"";
  position:absolute;
  top:26px;
  right:max(18px,calc((100vw - 1180px)/2));
  width:118px;
  height:118px;
  border:1px solid rgba(0,52,95,.08);
  background:linear-gradient(135deg,rgba(196,0,24,.05),rgba(0,52,95,.03));
  box-shadow:none;
  border-radius:0;
}
.project-hero::after{
  content:"";
  position:absolute;
  left:max(18px,calc((100vw - 1180px)/2));
  right:max(18px,calc((100vw - 1180px)/2));
  top:0;
  height:1px;
  background:#eef2f6;
}
.project-hero-grid{position:relative;z-index:1;display:grid;gap:34px;align-items:start}
.project-hero-copy{max-width:740px}
.project-hero .eyebrow{color:var(--dh-red);margin-bottom:14px}
.project-hero h1{max-width:760px;color:var(--dh-navy);font-size:clamp(2.15rem,4.2vw,3.85rem);line-height:1.02;letter-spacing:-.045em;margin-bottom:16px}
.project-hero .lead{max-width:680px;color:var(--dh-text);font-size:clamp(1rem,1.45vw,1.15rem);line-height:1.7}
.project-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.project-hero-card{position:relative;display:grid;gap:14px;align-content:start;min-height:auto;padding:26px;color:var(--dh-text);background:#ffffff;border:1px solid var(--dh-line);border-left:0;box-shadow:0 16px 28px rgba(9,29,52,.06);overflow:hidden}
.project-hero-card::after{content:"";position:absolute;left:0;top:0;width:100%;height:4px;border-radius:0;background:linear-gradient(90deg,var(--dh-red),var(--dh-navy));box-shadow:none}
.project-card-kicker{display:inline-grid;place-items:center;width:74px;height:74px;color:#fff;background:var(--dh-red);font-size:.95rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;border-radius:6px;box-shadow:0 10px 18px rgba(196,0,24,.16)}
.project-hero-card strong{display:block;max-width:320px;color:var(--dh-navy);font-size:clamp(1.35rem,2vw,1.9rem);line-height:1.12;letter-spacing:-.02em}
.project-hero-card p{max-width:360px;color:var(--dh-muted);margin:0;font-size:.98rem;line-height:1.65}
.project-mini-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:8px}
.project-mini-stats div{border-top:1px solid var(--dh-line);padding-top:12px}
.project-mini-stats dt{color:var(--dh-navy);font-size:clamp(1.18rem,2vw,1.65rem);font-weight:760;letter-spacing:-.04em;line-height:1}
.project-mini-stats dd{margin:6px 0 0;color:var(--dh-muted);font-size:.74rem;line-height:1.35;font-weight:760;text-transform:uppercase;letter-spacing:.08em}
.content-panel.project-intro{display:grid;grid-template-columns:minmax(0,.42fr) minmax(0,1fr);gap:28px;align-items:start;margin-top:24px;padding:32px;border:1px solid var(--dh-line);border-left:5px solid var(--dh-red);background:#fff;box-shadow:0 10px 24px rgba(9,29,52,.04)}
.content-panel.project-intro h2{position:relative;margin:0;padding-top:0;font-size:clamp(1.55rem,2.7vw,2.4rem);color:var(--dh-navy)}
.content-panel.project-intro h2::before{display:none}
.content-panel.project-intro p{max-width:760px;font-size:1.01rem;color:var(--dh-text);line-height:1.75}
.dh-block-cards.project-purpose,.dh-block-cards.project-method,.dh-block-cards.project-next{padding:42px 0 12px}
.dh-block-cards.project-purpose .section-heading-row,.dh-block-cards.project-method .section-heading-row,.dh-block-cards.project-next .section-heading-row{margin-bottom:20px;border-top:1px solid var(--dh-line);padding-top:18px}
.dh-block-cards.project-purpose h2,.dh-block-cards.project-method h2,.dh-block-cards.project-next h2{font-size:clamp(1.65rem,2.8vw,2.45rem);color:var(--dh-navy)}
.dh-block-cards.project-purpose .editorial-cards,.dh-block-cards.project-method .editorial-cards,.dh-block-cards.project-next .editorial-cards{counter-reset:project-card;gap:16px}
.dh-block-cards.project-purpose .card,.dh-block-cards.project-method .card,.dh-block-cards.project-next .card{counter-increment:project-card;min-height:230px;padding:70px 22px 22px;background:#fff;border:1px solid var(--dh-line);box-shadow:0 10px 24px rgba(9,29,52,.04);display:grid;align-content:space-between}
.dh-block-cards.project-purpose .card::before,.dh-block-cards.project-method .card::before,.dh-block-cards.project-next .card::before{content:"0" counter(project-card);position:absolute;top:18px;left:20px;right:auto;width:34px;height:34px;display:grid;place-items:center;background:#eef2f6;color:var(--dh-navy);font-size:.8rem;line-height:1;font-weight:800;letter-spacing:.02em;border-radius:6px}
.dh-block-cards.project-purpose .card:nth-child(1),.dh-block-cards.project-purpose .card:nth-child(2),.dh-block-cards.project-purpose .card:nth-child(3),.dh-block-cards.project-purpose .card:nth-child(4),.dh-block-cards.project-method .card,.dh-block-cards.project-next .card{border-top:4px solid var(--dh-navy)}
.dh-block-cards.project-purpose .card h3,.dh-block-cards.project-method .card h3,.dh-block-cards.project-next .card h3{max-width:100%;font-size:1.16rem;color:var(--dh-navy);margin-bottom:8px}
.content-panel.project-origin{position:relative;margin:40px 0 18px;padding:34px;color:var(--dh-text);background:#f6f8fb;border:1px solid var(--dh-line);border-left:5px solid var(--dh-navy);overflow:visible}
.content-panel.project-origin::before{display:none}
.content-panel.project-origin h2,.content-panel.project-origin p{position:relative;z-index:1;max-width:760px;color:inherit}
.content-panel.project-origin h2{font-size:clamp(1.75rem,3vw,2.6rem);color:var(--dh-navy)}
.content-panel.project-origin p{color:var(--dh-text);font-size:1rem;line-height:1.75}
.notice.project-limits{display:grid;grid-template-columns:240px minmax(0,1fr);gap:22px;align-items:start;margin:36px 0 18px;padding:24px;border:1px solid var(--dh-line);border-left:5px solid var(--dh-red);background:#fff;box-shadow:0 10px 24px rgba(9,29,52,.04)}
.notice.project-limits strong{color:var(--dh-navy);text-transform:none;letter-spacing:-.02em;font-size:1.18rem;line-height:1.15}
.notice.project-limits p{margin:0;color:var(--dh-text);line-height:1.7}
.author-compact-section.project-author{padding:34px 0 20px;border-top:1px solid var(--dh-line);border-bottom:1px solid var(--dh-line)}
.author-compact-section.project-author .author-compact-card{position:relative;display:grid;grid-template-columns:96px minmax(0,1fr);gap:18px;align-items:center;padding:22px;background:#fff;border:1px solid var(--dh-line);border-left:5px solid var(--dh-navy);box-shadow:0 10px 24px rgba(9,29,52,.04)}
.author-compact-section.project-author .author-compact-card::after{display:none}
.author-compact-section.project-author .author-compact-photo{width:96px;max-width:96px}
.author-compact-section.project-author .author-compact-photo img{width:96px;height:96px;object-fit:cover;border-radius:50%;border:3px solid #fff;box-shadow:0 6px 16px rgba(9,29,52,.10)}
.author-compact-section.project-author .author-compact-copy .eyebrow{margin-bottom:6px;color:var(--dh-red)}
.author-compact-section.project-author .author-compact-copy h2{font-size:clamp(1.22rem,1.8vw,1.7rem);margin-bottom:8px;color:var(--dh-navy)}
.author-compact-section.project-author .author-compact-copy p{max-width:780px;font-size:.98rem;line-height:1.7;color:var(--dh-text)}
.dh-block-faq.project-faq{margin:42px 0 22px;padding:30px;background:#f8fafc;border:1px solid var(--dh-line);border-top:4px solid var(--dh-red)}
.dh-block-faq.project-faq h2{font-size:clamp(1.65rem,2.7vw,2.35rem);color:var(--dh-navy)}
.dh-block-faq.project-faq details{background:#fff;border:1px solid var(--dh-line);margin-top:10px;padding:15px 16px}
.dh-block-faq.project-faq summary{font-weight:780;color:var(--dh-navy);cursor:pointer}
.dh-block-faq.project-faq p{margin:12px 0 0;color:var(--dh-text);line-height:1.7}
.dh-block-cta.project-cta{margin:40px 0 18px;padding:30px;background:#f6f8fb;color:var(--dh-text);border:1px solid var(--dh-line);border-left:5px solid var(--dh-red);box-shadow:0 10px 24px rgba(9,29,52,.04)}
.dh-block-cta.project-cta h2{color:var(--dh-navy);font-size:clamp(1.6rem,2.7vw,2.3rem)}
.dh-block-cta.project-cta p{color:var(--dh-text)}
@media (min-width:900px){.project-hero-grid{grid-template-columns:minmax(0,1fr) 360px}.dh-block-cards.project-purpose .editorial-cards,.dh-block-cards.project-method .editorial-cards,.dh-block-cards.project-next .editorial-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:899px){.project-hero{padding-top:50px;padding-bottom:40px}.project-hero-grid,.content-panel.project-intro,.notice.project-limits,.author-compact-section.project-author .author-compact-card{grid-template-columns:1fr}.project-hero-card{min-height:auto}.project-mini-stats{grid-template-columns:1fr 1fr 1fr}}
@media (max-width:620px){.project-hero{margin-bottom:24px;padding-top:40px;padding-bottom:34px}.project-hero::before{width:78px;height:78px;top:20px}.project-hero h1{font-size:2.3rem}.project-hero-card,.content-panel.project-intro,.content-panel.project-origin,.notice.project-limits,.dh-block-faq.project-faq,.dh-block-cta.project-cta{padding:22px}.project-mini-stats{grid-template-columns:1fr;gap:10px}.dh-block-cards.project-purpose,.dh-block-cards.project-method,.dh-block-cards.project-next{padding-top:34px}.dh-block-cards.project-purpose .card,.dh-block-cards.project-method .card,.dh-block-cards.project-next .card{min-height:210px;padding:64px 18px 20px}.author-compact-section.project-author .author-compact-photo{width:90px;max-width:90px}.author-compact-section.project-author .author-compact-photo img{width:90px;height:90px}}


/* Patch 1.7.3: pagina Governance */
.content-panel.governance-intro{
  display:grid;
  grid-template-columns:minmax(0,.38fr) minmax(0,1fr);
  gap:28px;
  align-items:start;
  margin-top:26px;
  padding:32px;
  background:#fff;
  border:1px solid var(--dh-line);
  border-left:5px solid var(--dh-red);
  box-shadow:0 10px 24px rgba(9,29,52,.04);
}
.content-panel.governance-intro h2{font-size:clamp(1.55rem,2.8vw,2.45rem);color:var(--dh-navy);margin:0}
.content-panel.governance-intro p{font-size:1.02rem;line-height:1.75;color:var(--dh-text);max-width:790px}
.dh-block-cards.governance-roles,.dh-block-cards.governance-documents{padding:42px 0 14px}
.dh-block-cards.governance-roles .section-heading-row,.dh-block-cards.governance-documents .section-heading-row{border-top:1px solid var(--dh-line);padding-top:20px;margin-bottom:20px}
.dh-block-cards.governance-roles h2,.dh-block-cards.governance-documents h2{font-size:clamp(1.65rem,2.8vw,2.5rem);color:var(--dh-navy)}
.dh-block-cards.governance-roles .editorial-cards,.dh-block-cards.governance-documents .editorial-cards{gap:16px}
.dh-block-cards.governance-roles .card,.dh-block-cards.governance-documents .card{
  min-height:220px;
  background:#fff;
  border:1px solid var(--dh-line);
  border-top:4px solid var(--dh-navy);
  box-shadow:0 10px 24px rgba(9,29,52,.04);
  padding:24px 22px;
}
.dh-block-cards.governance-roles .card h3,.dh-block-cards.governance-documents .card h3{color:var(--dh-navy);font-size:1.16rem;margin-bottom:8px}
.dh-block-cards.governance-roles .card p,.dh-block-cards.governance-documents .card p{line-height:1.65;color:var(--dh-text)}
.dh-block-split.governance-law,.dh-block-split.governance-depurahub{
  margin:40px 0 18px;
  padding:32px;
  background:#f7f9fb;
  border:1px solid var(--dh-line);
  border-left:5px solid var(--dh-navy);
  box-shadow:0 10px 24px rgba(9,29,52,.035);
}
.dh-block-split.governance-law h2,.dh-block-split.governance-depurahub h2{color:var(--dh-navy);font-size:clamp(1.6rem,2.7vw,2.35rem)}
.dh-block-split.governance-law p,.dh-block-split.governance-depurahub p{max-width:820px;line-height:1.75;color:var(--dh-text)}
.notice.governance-warning{
  display:grid;
  grid-template-columns:220px minmax(0,1fr);
  gap:22px;
  align-items:start;
  margin:36px 0 18px;
  padding:24px;
  background:#fff;
  border:1px solid #edd3d7;
  border-left:5px solid var(--dh-red);
  box-shadow:0 10px 24px rgba(9,29,52,.04);
}
.notice.governance-warning strong{color:var(--dh-red);font-size:1.18rem;line-height:1.15;text-transform:none;letter-spacing:-.02em}
.notice.governance-warning p{margin:0;line-height:1.7;color:var(--dh-text)}
.dh-block-numbers.governance-checklist{
  margin:42px 0 18px;
  padding:30px;
  background:#fff;
  border:1px solid var(--dh-line);
  border-top:4px solid var(--dh-red);
  box-shadow:0 10px 24px rgba(9,29,52,.04);
}
.dh-block-numbers.governance-checklist h2{font-size:clamp(1.6rem,2.7vw,2.35rem);color:var(--dh-navy);margin-bottom:18px}
.dh-block-numbers.governance-checklist .metrics-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.dh-block-numbers.governance-checklist article{background:#f7f9fb;border:1px solid var(--dh-line);padding:18px;min-height:132px}
.dh-block-numbers.governance-checklist article strong{color:var(--dh-red);font-size:2rem;line-height:1}
.dh-block-numbers.governance-checklist article span{font-size:.92rem;line-height:1.45;color:var(--dh-text)}
.dh-block-faq.governance-faq{
  margin:42px 0 22px;
  padding:30px;
  background:#f8fafc;
  border:1px solid var(--dh-line);
  border-top:4px solid var(--dh-navy);
}
.dh-block-faq.governance-faq h2{font-size:clamp(1.6rem,2.7vw,2.35rem);color:var(--dh-navy)}
.dh-block-faq.governance-faq details{background:#fff;border:1px solid var(--dh-line);margin-top:10px;padding:15px 16px}
.dh-block-faq.governance-faq summary{font-weight:780;color:var(--dh-navy);cursor:pointer}
.dh-block-faq.governance-faq p{margin:12px 0 0;color:var(--dh-text);line-height:1.7}
.dh-block-sources.governance-sources{
  margin:40px 0 18px;
  padding:30px;
  background:#fff;
  border:1px solid var(--dh-line);
  border-left:5px solid var(--dh-navy);
  box-shadow:0 10px 24px rgba(9,29,52,.04);
}
.dh-block-sources.governance-sources h2{color:var(--dh-navy);font-size:clamp(1.55rem,2.6vw,2.25rem)}
.dh-block-sources.governance-sources ol{margin:18px 0 0;padding-left:22px}
.dh-block-sources.governance-sources li{margin-bottom:12px;line-height:1.65}
.dh-block-cta.governance-cta{
  margin:40px 0 18px;
  padding:30px;
  background:#f6f8fb;
  color:var(--dh-text);
  border:1px solid var(--dh-line);
  border-left:5px solid var(--dh-red);
  box-shadow:0 10px 24px rgba(9,29,52,.04);
}
.dh-block-cta.governance-cta h2{color:var(--dh-navy);font-size:clamp(1.55rem,2.6vw,2.25rem)}
.dh-block-cta.governance-cta p{color:var(--dh-text);max-width:760px}
@media (min-width:900px){
  .dh-block-cards.governance-roles .editorial-cards{grid-template-columns:repeat(3,minmax(0,1fr))}
  .dh-block-cards.governance-documents .editorial-cards{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (max-width:980px){
  .dh-block-numbers.governance-checklist .metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:760px){
  .content-panel.governance-intro,.notice.governance-warning{grid-template-columns:1fr}
  .content-panel.governance-intro,.dh-block-split.governance-law,.dh-block-split.governance-depurahub,.notice.governance-warning,.dh-block-numbers.governance-checklist,.dh-block-faq.governance-faq,.dh-block-sources.governance-sources,.dh-block-cta.governance-cta{padding:22px}
  .dh-block-numbers.governance-checklist .metrics-grid{grid-template-columns:1fr}
}


/* Patch 1.7.4: breadcrumb globale a bottoni */
.breadcrumb{
  max-width:1180px;
  margin:22px auto 26px;
  padding:0 18px;
  font-size:.94rem;
}
.breadcrumb ol{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin:0;
  padding:0;
  list-style:none;
}
.breadcrumb li{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0;
  padding:0;
}
.breadcrumb li::marker{content:""}
.breadcrumb li+li::before{
  content:"›";
  color:#7a8795;
  font-weight:700;
  line-height:1;
}
.breadcrumb a,
.breadcrumb span{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:7px 12px;
  border:1px solid var(--dh-line);
  border-radius:999px;
  background:#fff;
  color:var(--dh-navy);
  text-decoration:none;
  line-height:1.2;
  box-shadow:0 6px 16px rgba(9,29,52,.04);
}
.breadcrumb a:hover,
.breadcrumb a:focus{
  border-color:rgba(196,0,24,.35);
  color:var(--dh-red);
  text-decoration:none;
}
.breadcrumb span[aria-current="page"],
.breadcrumb li:last-child span{
  background:#f6f8fb;
  color:var(--dh-text);
  border-color:#dfe6ee;
  font-weight:700;
}
@media(max-width:620px){
  .breadcrumb{
    margin:16px auto 20px;
    padding:0 14px;
    font-size:.88rem;
  }
  .breadcrumb ol{
    gap:6px;
  }
  .breadcrumb a,
  .breadcrumb span{
    min-height:32px;
    padding:6px 10px;
  }
}


/* Patch 1.7.5: Governance più visiva, sobria e istituzionale */
.governance-hero{
  position:relative;
  margin:0 calc(50% - 50vw) 36px;
  padding:56px max(18px,calc((100vw - 1180px)/2)) 48px;
  background:
    linear-gradient(180deg,#ffffff 0%,#f7f9fc 100%);
  border-top:6px solid var(--dh-red);
  border-bottom:1px solid var(--dh-line);
  overflow:hidden;
}
.governance-hero::before{
  content:"";
  position:absolute;
  right:max(18px,calc((100vw - 1180px)/2));
  top:28px;
  width:210px;
  height:210px;
  background:
    linear-gradient(90deg,rgba(0,52,95,.08) 1px,transparent 1px),
    linear-gradient(180deg,rgba(0,52,95,.08) 1px,transparent 1px);
  background-size:28px 28px;
  opacity:.55;
  pointer-events:none;
}
.governance-hero-grid{
  position:relative;
  z-index:1;
  display:grid;
  gap:32px;
  align-items:stretch;
}
.governance-hero-copy{max-width:760px}
.governance-hero .eyebrow{color:var(--dh-red);margin-bottom:14px}
.governance-hero h1{
  max-width:820px;
  color:var(--dh-navy);
  font-size:clamp(2.2rem,4.4vw,4rem);
  line-height:1.04;
  letter-spacing:-.045em;
  margin-bottom:18px;
}
.governance-hero .lead{
  max-width:700px;
  color:var(--dh-text);
  font-size:clamp(1rem,1.45vw,1.16rem);
  line-height:1.7;
}
.governance-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.governance-hero-panel{
  position:relative;
  display:grid;
  gap:14px;
  align-content:start;
  padding:26px;
  background:#fff;
  border:1px solid var(--dh-line);
  border-left:5px solid var(--dh-red);
  box-shadow:0 18px 34px rgba(9,29,52,.07);
}
.governance-hero-panel span{
  width:max-content;
  padding:7px 10px;
  background:#f6f8fb;
  border:1px solid var(--dh-line);
  color:var(--dh-red);
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.72rem;
  font-weight:800;
}
.governance-hero-panel strong{
  color:var(--dh-navy);
  font-size:clamp(1.3rem,2vw,1.85rem);
  line-height:1.14;
  letter-spacing:-.025em;
}
.governance-hero-panel ul{
  display:grid;
  gap:9px;
  margin:4px 0 0;
  padding:0;
  list-style:none;
}
.governance-hero-panel li{
  position:relative;
  padding:10px 12px 10px 32px;
  background:#f8fafc;
  border:1px solid var(--dh-line);
  color:var(--dh-text);
  font-weight:700;
}
.governance-hero-panel li::before{
  content:"";
  position:absolute;
  left:12px;
  top:50%;
  width:8px;
  height:8px;
  transform:translateY(-50%);
  background:var(--dh-red);
}
.content-panel.governance-intro{
  display:grid;
  grid-template-columns:minmax(0,.38fr) minmax(0,1fr);
  gap:28px;
  align-items:start;
  padding:30px;
  background:#fff;
  border:1px solid var(--dh-line);
  border-left:5px solid var(--dh-navy);
  box-shadow:0 12px 28px rgba(9,29,52,.05);
}
.content-panel.governance-intro h2{
  margin:0;
  color:var(--dh-navy);
  font-size:clamp(1.55rem,2.8vw,2.35rem);
  line-height:1.1;
}
.content-panel.governance-intro p{
  color:var(--dh-text);
  line-height:1.76;
  font-size:1.01rem;
}
.dh-block-cards.governance-map{
  margin-top:44px;
  padding:34px 0 18px;
  border-top:1px solid var(--dh-line);
}
.dh-block-cards.governance-map .section-heading-row{
  margin-bottom:22px;
  border:0;
  padding:0;
}
.dh-block-cards.governance-map h2,
.dh-block-cards.governance-documents h2{
  color:var(--dh-navy);
  font-size:clamp(1.65rem,2.9vw,2.55rem);
}
.dh-block-cards.governance-map .editorial-cards{
  position:relative;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.dh-block-cards.governance-map .editorial-cards::before{
  content:"";
  position:absolute;
  left:7%;
  right:7%;
  top:50%;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--dh-line),transparent);
  pointer-events:none;
}
.dh-block-cards.governance-map .card{
  position:relative;
  z-index:1;
  min-height:245px;
  padding:22px;
  background:#fff;
  border:1px solid var(--dh-line);
  border-top:4px solid var(--dh-navy);
  box-shadow:0 14px 30px rgba(9,29,52,.055);
  display:grid;
  align-content:space-between;
}
.dh-block-cards.governance-map .card::before{
  content:"";
  width:38px;
  height:38px;
  margin-bottom:18px;
  display:block;
  background:#f6f8fb;
  border:1px solid var(--dh-line);
  box-shadow:inset 0 0 0 10px #fff;
}
.dh-block-cards.governance-map .card:nth-child(1){border-top-color:var(--dh-red)}
.dh-block-cards.governance-map .card:nth-child(2){border-top-color:#31445f}
.dh-block-cards.governance-map .card:nth-child(3){border-top-color:#006f8f}
.dh-block-cards.governance-map .card:nth-child(4){border-top-color:#173153}
.dh-block-cards.governance-map .card:nth-child(5){border-top-color:#607086}
.dh-block-cards.governance-map .card:nth-child(6){border-top-color:#0b7285}
.dh-block-cards.governance-map .card h3{
  color:var(--dh-navy);
  font-size:1.18rem;
  margin-bottom:9px;
}
.dh-block-cards.governance-map .card p{line-height:1.62}
.dh-block-numbers.governance-flow{
  margin:46px calc(50% - 50vw) 26px;
  padding:46px max(18px,calc((100vw - 1180px)/2));
  background:linear-gradient(180deg,#0e1c33 0%,#152a4d 100%);
  color:#fff;
}
.dh-block-numbers.governance-flow h2{
  max-width:680px;
  color:#fff;
  font-size:clamp(1.65rem,3vw,2.6rem);
  margin-bottom:24px;
}
.dh-block-numbers.governance-flow .metrics-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:0;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.04);
}
.dh-block-numbers.governance-flow .metrics-grid article{
  position:relative;
  min-height:190px;
  padding:24px 18px;
  border:0;
  border-right:1px solid rgba(255,255,255,.18);
  background:transparent;
  color:#fff;
  box-shadow:none;
}
.dh-block-numbers.governance-flow .metrics-grid article:last-child{border-right:0}
.dh-block-numbers.governance-flow .metrics-grid article::after{
  content:"";
  position:absolute;
  top:32px;
  right:-7px;
  width:13px;
  height:13px;
  transform:rotate(45deg);
  border-top:1px solid rgba(255,255,255,.28);
  border-right:1px solid rgba(255,255,255,.28);
  background:#152a4d;
  z-index:2;
}
.dh-block-numbers.governance-flow .metrics-grid article:last-child::after{display:none}
.dh-block-numbers.governance-flow strong{
  display:block;
  margin-bottom:32px;
  color:#fff;
  font-size:1rem;
  letter-spacing:.08em;
}
.dh-block-numbers.governance-flow span{
  color:rgba(255,255,255,.82);
  font-size:.96rem;
  line-height:1.55;
}
.dh-block-split.governance-law,
.dh-block-split.governance-depurahub{
  display:grid;
  grid-template-columns:minmax(0,.42fr) minmax(0,1fr);
  gap:28px;
  margin:42px 0 22px;
  padding:32px;
  background:#f8fafc;
  border:1px solid var(--dh-line);
  border-left:5px solid var(--dh-navy);
  box-shadow:0 12px 28px rgba(9,29,52,.045);
}
.dh-block-split.governance-depurahub{background:#fff;border-left-color:var(--dh-red)}
.dh-block-split.governance-law .block-copy,
.dh-block-split.governance-depurahub .block-copy{display:contents}
.dh-block-split.governance-law h2,
.dh-block-split.governance-depurahub h2{
  margin:0;
  color:var(--dh-navy);
  font-size:clamp(1.55rem,2.7vw,2.4rem);
  line-height:1.1;
}
.dh-block-split.governance-law p,
.dh-block-split.governance-depurahub p{max-width:760px;line-height:1.75;color:var(--dh-text)}
.notice.governance-warning{
  display:grid;
  grid-template-columns:250px minmax(0,1fr);
  gap:22px;
  align-items:start;
  margin:36px 0 22px;
  padding:24px;
  background:#fff9fa;
  border:1px solid #efd1d6;
  border-left:5px solid var(--dh-red);
  box-shadow:0 12px 28px rgba(9,29,52,.045);
}
.notice.governance-warning strong{color:var(--dh-red);font-size:1.22rem;line-height:1.15;letter-spacing:-.02em;text-transform:none}
.notice.governance-warning p{margin:0;color:var(--dh-text);line-height:1.72}
.dh-block-cards.governance-documents{
  margin-top:42px;
  padding:30px;
  background:#fff;
  border:1px solid var(--dh-line);
  box-shadow:0 12px 28px rgba(9,29,52,.045);
}
.dh-block-cards.governance-documents .section-heading-row{border:0;padding:0;margin-bottom:20px}
.dh-block-cards.governance-documents .editorial-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.dh-block-cards.governance-documents .card{
  min-height:210px;
  padding:22px;
  background:#f8fafc;
  border:1px solid var(--dh-line);
  border-top:4px solid var(--dh-red);
  box-shadow:none;
}
.dh-block-cards.governance-documents .card h3{font-size:1.08rem;color:var(--dh-navy)}
.dh-block-faq.governance-faq,
.dh-block-sources.governance-sources{
  margin:42px 0 22px;
  padding:30px;
  background:#f8fafc;
  border:1px solid var(--dh-line);
  border-top:4px solid var(--dh-navy);
}
.dh-block-faq.governance-faq h2,
.dh-block-sources.governance-sources h2{color:var(--dh-navy);font-size:clamp(1.55rem,2.7vw,2.35rem)}
.dh-block-faq.governance-faq details{background:#fff;border:1px solid var(--dh-line);padding:15px 16px;margin-top:10px}
.dh-block-faq.governance-faq summary{font-weight:780;color:var(--dh-navy);cursor:pointer}
.dh-block-faq.governance-faq p{color:var(--dh-text);line-height:1.7}
.dh-block-sources.governance-sources ol{display:grid;gap:12px;margin:18px 0 0;padding-left:22px}
.dh-block-sources.governance-sources li{padding:12px 14px;background:#fff;border:1px solid var(--dh-line)}
.dh-block-cta.governance-cta{
  margin:42px 0 20px;
  padding:30px;
  background:#fff;
  color:var(--dh-text);
  border:1px solid var(--dh-line);
  border-left:5px solid var(--dh-red);
  box-shadow:0 14px 30px rgba(9,29,52,.055);
}
.dh-block-cta.governance-cta h2{color:var(--dh-navy);font-size:clamp(1.55rem,2.7vw,2.35rem)}
.dh-block-cta.governance-cta p{color:var(--dh-text)}
.dh-block-cta.governance-cta .button.light{background:var(--dh-navy);color:#fff}
@media(min-width:900px){
  .governance-hero-grid{grid-template-columns:minmax(0,1fr) 380px}
}
@media(max-width:1020px){
  .dh-block-cards.governance-map .editorial-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dh-block-cards.governance-documents .editorial-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dh-block-numbers.governance-flow .metrics-grid{grid-template-columns:1fr}
  .dh-block-numbers.governance-flow .metrics-grid article{min-height:auto;border-right:0;border-bottom:1px solid rgba(255,255,255,.18)}
  .dh-block-numbers.governance-flow .metrics-grid article:last-child{border-bottom:0}
  .dh-block-numbers.governance-flow .metrics-grid article::after{display:none}
  .dh-block-numbers.governance-flow strong{margin-bottom:10px}
}
@media(max-width:760px){
  .governance-hero{padding-top:42px;padding-bottom:34px}
  .governance-hero::before{width:120px;height:120px;background-size:22px 22px}
  .governance-hero h1{font-size:2.3rem}
  .governance-hero-grid,
  .content-panel.governance-intro,
  .dh-block-split.governance-law,
  .dh-block-split.governance-depurahub,
  .notice.governance-warning{grid-template-columns:1fr}
  .governance-hero-panel,
  .content-panel.governance-intro,
  .dh-block-split.governance-law,
  .dh-block-split.governance-depurahub,
  .notice.governance-warning,
  .dh-block-cards.governance-documents,
  .dh-block-faq.governance-faq,
  .dh-block-sources.governance-sources,
  .dh-block-cta.governance-cta{padding:22px}
  .dh-block-cards.governance-map .editorial-cards,
  .dh-block-cards.governance-documents .editorial-cards{grid-template-columns:1fr}
  .dh-block-cards.governance-map .editorial-cards::before{display:none}
}


/* Patch 1.7.6: stile DepuraHub per pagina Progetto, coordinato alla Governance */
.project-hero{
  position:relative;
  margin:0 calc(50% - 50vw) 38px;
  padding:58px max(18px,calc((100vw - 1180px)/2)) 44px;
  background:linear-gradient(180deg,#fff 0%,#f7f9fb 100%);
  border-top:6px solid var(--dh-red);
  border-bottom:1px solid var(--dh-line);
  overflow:hidden;
  color:var(--dh-text);
}
.project-hero::before{
  content:"";
  position:absolute;
  right:max(18px,calc((100vw - 1180px)/2));
  top:28px;
  width:180px;
  height:180px;
  opacity:.5;
  background-image:linear-gradient(rgba(0,52,95,.10) 1px,transparent 1px),linear-gradient(90deg,rgba(0,52,95,.10) 1px,transparent 1px);
  background-size:28px 28px;
}
.project-hero::after{display:none}
.project-hero-grid{
  position:relative;
  z-index:1;
  display:grid;
  gap:34px;
  align-items:start;
}
.project-hero-copy{max-width:760px}
.project-hero .eyebrow{color:var(--dh-red);margin-bottom:14px}
.project-hero h1{
  max-width:800px;
  color:var(--dh-navy);
  font-size:clamp(2.1rem,4.4vw,4rem);
  line-height:1.02;
  letter-spacing:-.045em;
  margin-bottom:16px;
}
.project-hero .lead{max-width:700px;color:var(--dh-text);font-size:clamp(1rem,1.45vw,1.15rem);line-height:1.7}
.project-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.project-hero-panel{
  position:relative;
  display:grid;
  gap:14px;
  align-content:start;
  padding:26px;
  background:#fff;
  border:1px solid var(--dh-line);
  border-top:4px solid var(--dh-red);
  box-shadow:0 16px 32px rgba(9,29,52,.06);
}
.project-beta-mark{
  display:inline-grid;
  place-items:center;
  width:74px;
  height:74px;
  background:var(--dh-red);
  color:#fff;
  font-size:.95rem;
  font-weight:820;
  letter-spacing:.12em;
  border-radius:6px;
}
.project-hero-panel strong{display:block;color:var(--dh-navy);font-size:clamp(1.28rem,2vw,1.75rem);line-height:1.15;letter-spacing:-.02em}
.project-hero-panel p{margin:0;color:var(--dh-muted);line-height:1.65}
.project-mini-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:8px 0 0}
.project-mini-stats div{border-top:1px solid var(--dh-line);padding-top:12px}
.project-mini-stats dt{color:var(--dh-navy);font-size:clamp(1.12rem,1.9vw,1.55rem);font-weight:780;line-height:1;letter-spacing:-.04em}
.project-mini-stats dd{margin:6px 0 0;color:var(--dh-muted);font-size:.72rem;line-height:1.35;text-transform:uppercase;letter-spacing:.08em;font-weight:760}
.content-panel.project-intro{
  display:grid;
  grid-template-columns:minmax(0,.36fr) minmax(0,1fr);
  gap:28px;
  align-items:start;
  margin-top:24px;
  padding:32px;
  border:1px solid var(--dh-line);
  border-left:5px solid var(--dh-red);
  background:#fff;
  box-shadow:0 10px 24px rgba(9,29,52,.04);
}
.content-panel.project-intro h2{font-size:clamp(1.55rem,2.8vw,2.45rem);color:var(--dh-navy);margin:0;padding:0}
.content-panel.project-intro h2::before{display:none}
.content-panel.project-intro p{font-size:1.02rem;line-height:1.75;color:var(--dh-text);max-width:800px}
.dh-block-cards.project-map{padding:46px 0 16px}
.dh-block-cards.project-map .section-heading-row{border-top:1px solid var(--dh-line);padding-top:20px;margin-bottom:20px}
.dh-block-cards.project-map h2,.dh-block-cards.project-rules h2,.dh-block-cards.project-users h2{font-size:clamp(1.65rem,2.8vw,2.5rem);color:var(--dh-navy)}
.dh-block-cards.project-map .editorial-cards{position:relative;display:grid;gap:16px}
.dh-block-cards.project-map .editorial-cards::before{
  content:"";
  position:absolute;
  left:24px;
  top:28px;
  bottom:28px;
  width:2px;
  background:linear-gradient(var(--dh-red),var(--dh-navy));
  opacity:.18;
}
.dh-block-cards.project-map .card{
  position:relative;
  padding:24px 24px 24px 72px;
  min-height:190px;
  background:#fff;
  border:1px solid var(--dh-line);
  border-top:4px solid var(--dh-navy);
  box-shadow:0 10px 24px rgba(9,29,52,.04);
}
.dh-block-cards.project-map .card::before{
  content:"";
  position:absolute;
  left:22px;
  top:28px;
  width:18px;
  height:18px;
  border-radius:50%;
  background:#fff;
  border:5px solid var(--dh-red);
  z-index:1;
}
.dh-block-cards.project-map .card:nth-child(1){border-top-color:var(--dh-red)}
.dh-block-cards.project-map .card:nth-child(2){border-top-color:#31445f}
.dh-block-cards.project-map .card:nth-child(3){border-top-color:#006f8f}
.dh-block-cards.project-map .card:nth-child(4){border-top-color:#173153}
.dh-block-cards.project-map .card h3{font-size:1.16rem;color:var(--dh-navy);margin-bottom:8px}
.dh-block-cards.project-map .card p{line-height:1.62;color:var(--dh-text)}
.dh-block-numbers.project-flow{
  margin:44px calc(50% - 50vw) 26px;
  padding:42px max(18px,calc((100vw - 1180px)/2));
  background:linear-gradient(135deg,var(--dh-deep),var(--dh-navy));
  color:#fff;
}
.dh-block-numbers.project-flow h2{color:#fff;font-size:clamp(1.65rem,2.9vw,2.55rem);margin-bottom:22px}
.dh-block-numbers.project-flow .metrics-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;border:1px solid rgba(255,255,255,.18)}
.dh-block-numbers.project-flow .metrics-grid article{position:relative;background:transparent;border:0;border-right:1px solid rgba(255,255,255,.18);padding:22px;min-height:155px}
.dh-block-numbers.project-flow .metrics-grid article:last-child{border-right:0}
.dh-block-numbers.project-flow .metrics-grid article::after{content:"";position:absolute;right:-7px;top:50%;width:12px;height:12px;transform:translateY(-50%) rotate(45deg);background:var(--dh-navy);border-top:1px solid rgba(255,255,255,.18);border-right:1px solid rgba(255,255,255,.18);z-index:2}
.dh-block-numbers.project-flow .metrics-grid article:last-child::after{display:none}
.dh-block-numbers.project-flow strong{display:block;color:#fff;font-size:1.85rem;line-height:1;margin-bottom:18px}
.dh-block-numbers.project-flow span{display:block;color:rgba(255,255,255,.84);font-size:.94rem;line-height:1.5}
.dh-block-split.project-why{
  display:grid;
  grid-template-columns:minmax(0,.36fr) minmax(0,1fr);
  gap:28px;
  padding:34px;
  background:#f6f8fb;
  border:1px solid var(--dh-line);
  border-left:5px solid var(--dh-navy);
  box-shadow:0 10px 24px rgba(9,29,52,.04);
}
.dh-block-split.project-why .block-copy{display:contents}
.dh-block-split.project-why h2{color:var(--dh-navy);font-size:clamp(1.6rem,2.7vw,2.35rem)}
.dh-block-split.project-why p{max-width:800px;line-height:1.75;color:var(--dh-text)}
.notice.project-beta,.notice.project-limits{
  display:grid;
  grid-template-columns:240px minmax(0,1fr);
  gap:22px;
  align-items:start;
  margin:36px 0 18px;
  padding:24px;
  background:#fff;
  border:1px solid var(--dh-line);
  border-left:5px solid var(--dh-red);
  box-shadow:0 10px 24px rgba(9,29,52,.04);
}
.notice.project-beta strong,.notice.project-limits strong{color:var(--dh-red);font-size:1.2rem;line-height:1.15;text-transform:none;letter-spacing:-.02em}
.notice.project-beta p,.notice.project-limits p{margin:0;color:var(--dh-text);line-height:1.72}
.author-compact-section.project-author{padding:34px 0 20px;border-top:1px solid var(--dh-line);border-bottom:1px solid var(--dh-line)}
.author-compact-section.project-author .author-compact-card{
  display:grid;
  grid-template-columns:112px minmax(0,1fr);
  gap:22px;
  align-items:center;
  padding:24px;
  background:#fff;
  border:1px solid var(--dh-line);
  border-left:5px solid var(--dh-navy);
  box-shadow:0 10px 24px rgba(9,29,52,.04);
}
.author-compact-section.project-author .author-compact-card::after{display:none}
.author-compact-section.project-author .author-compact-photo{width:112px;max-width:112px}
.author-compact-section.project-author .author-compact-photo img{width:112px;height:112px;object-fit:cover;border-radius:50%;border:3px solid #fff;box-shadow:0 8px 18px rgba(9,29,52,.12)}
.author-compact-section.project-author .author-compact-copy .eyebrow{margin-bottom:6px;color:var(--dh-red)}
.author-compact-section.project-author .author-compact-copy h2{font-size:clamp(1.25rem,1.9vw,1.8rem);margin-bottom:8px;color:var(--dh-navy)}
.author-compact-section.project-author .author-compact-copy p{max-width:780px;font-size:.98rem;line-height:1.7;color:var(--dh-text)}
.dh-block-cards.project-rules,.dh-block-cards.project-users{padding:42px 0 14px}
.dh-block-cards.project-rules .section-heading-row,.dh-block-cards.project-users .section-heading-row{border-top:1px solid var(--dh-line);padding-top:20px;margin-bottom:20px}
.dh-block-cards.project-rules .editorial-cards,.dh-block-cards.project-users .editorial-cards{display:grid;gap:14px}
.dh-block-cards.project-rules .card,.dh-block-cards.project-users .card{background:#fff;border:1px solid var(--dh-line);border-top:4px solid var(--dh-navy);padding:22px;box-shadow:0 10px 24px rgba(9,29,52,.04);min-height:180px}
.dh-block-cards.project-rules .card h3,.dh-block-cards.project-users .card h3{font-size:1.08rem;color:var(--dh-navy)}
.dh-block-faq.project-faq{
  margin:42px 0 22px;
  padding:30px;
  background:#f8fafc;
  border:1px solid var(--dh-line);
  border-top:4px solid var(--dh-red);
}
.dh-block-faq.project-faq h2{font-size:clamp(1.55rem,2.7vw,2.35rem);color:var(--dh-navy)}
.dh-block-faq.project-faq details{background:#fff;border:1px solid var(--dh-line);margin-top:10px;padding:15px 16px}
.dh-block-faq.project-faq summary{font-weight:780;color:var(--dh-navy);cursor:pointer}
.dh-block-faq.project-faq p{color:var(--dh-text);line-height:1.7}
.dh-block-cta.project-cta{
  margin:40px 0 18px;
  padding:30px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:22px;
  background:#fff;
  color:var(--dh-text);
  border:1px solid var(--dh-line);
  border-left:5px solid var(--dh-red);
  box-shadow:0 10px 24px rgba(9,29,52,.04);
}
.dh-block-cta.project-cta h2{color:var(--dh-navy);font-size:clamp(1.55rem,2.7vw,2.35rem)}
.dh-block-cta.project-cta p{color:var(--dh-text);max-width:760px}
.dh-block-cta.project-cta .button.light{background:var(--dh-navy);color:#fff}
@media (min-width:900px){
  .project-hero-grid{grid-template-columns:minmax(0,1fr) 380px}
  .dh-block-cards.project-map .editorial-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dh-block-cards.project-rules .editorial-cards,.dh-block-cards.project-users .editorial-cards{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (max-width:899px){
  .dh-block-numbers.project-flow .metrics-grid{grid-template-columns:1fr}
  .dh-block-numbers.project-flow .metrics-grid article{min-height:auto;border-right:0;border-bottom:1px solid rgba(255,255,255,.18)}
  .dh-block-numbers.project-flow .metrics-grid article:last-child{border-bottom:0}
  .dh-block-numbers.project-flow .metrics-grid article::after{display:none}
  .dh-block-numbers.project-flow strong{margin-bottom:10px}
}
@media (max-width:620px){
  .project-hero{padding-top:42px;padding-bottom:34px}
  .project-hero::before{width:120px;height:120px;background-size:22px 22px}
  .project-hero h1{font-size:2.3rem}
  .project-hero-grid,.content-panel.project-intro,.dh-block-split.project-why,.notice.project-beta,.notice.project-limits,.author-compact-section.project-author .author-compact-card{grid-template-columns:1fr}
  .project-hero-panel,.content-panel.project-intro,.dh-block-split.project-why,.notice.project-beta,.notice.project-limits,.dh-block-faq.project-faq,.dh-block-cta.project-cta{padding:22px}
  .dh-block-cards.project-map .editorial-cards,.dh-block-cards.project-rules .editorial-cards,.dh-block-cards.project-users .editorial-cards{grid-template-columns:1fr}
  .dh-block-cards.project-map .editorial-cards::before{display:none}
  .dh-block-cards.project-map .card{padding-left:22px}
  .dh-block-cards.project-map .card::before{display:none}
  .dh-block-cta.project-cta{display:block}
}


/* Patch 1.7.7: ancore interne Progetto e Governance */
html{scroll-behavior:smooth;}
.dh-block[id],
section[id]{scroll-margin-top:132px;}
@media (max-width:760px){
  .dh-block[id],
  section[id]{scroll-margin-top:104px;}
}

/* Patch 1.7.9: Ricerca e partecipazione, grafica più innovativa ma sobria */
.participation-hero{
  position:relative;
  margin:0 calc(50% - 50vw) 36px;
  padding:58px max(18px,calc((100vw - 1180px)/2)) 48px;
  background:
    radial-gradient(circle at 82% 18%,rgba(196,0,24,.10),transparent 24%),
    linear-gradient(180deg,#ffffff 0%,#f6f8fb 100%);
  border-top:6px solid var(--dh-red);
  border-bottom:1px solid var(--dh-line);
  overflow:hidden;
}
.participation-hero::before{
  content:"";
  position:absolute;
  right:max(18px,calc((100vw - 1180px)/2));
  top:30px;
  width:230px;
  height:230px;
  background:
    linear-gradient(90deg,rgba(0,52,95,.07) 1px,transparent 1px),
    linear-gradient(180deg,rgba(0,52,95,.07) 1px,transparent 1px);
  background-size:26px 26px;
  opacity:.62;
  pointer-events:none;
}
.participation-hero::after{
  content:"";
  position:absolute;
  right:calc(max(18px,calc((100vw - 1180px)/2)) + 74px);
  top:112px;
  width:92px;
  height:92px;
  border:1px solid rgba(196,0,24,.30);
  background:#fff;
  box-shadow:0 18px 36px rgba(9,29,52,.08);
  transform:rotate(45deg);
  opacity:.72;
}
.participation-hero-grid{
  position:relative;
  z-index:1;
  display:grid;
  gap:32px;
  align-items:stretch;
}
.participation-hero-copy{max-width:780px}
.participation-hero .eyebrow{color:var(--dh-red);margin-bottom:14px}
.participation-hero h1{
  max-width:850px;
  color:var(--dh-navy);
  font-size:clamp(2.2rem,4.45vw,4.05rem);
  line-height:1.04;
  letter-spacing:-.048em;
  margin-bottom:18px;
}
.participation-hero .lead{
  max-width:720px;
  color:var(--dh-text);
  font-size:clamp(1rem,1.45vw,1.16rem);
  line-height:1.7;
}
.participation-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.participation-hero-panel{
  position:relative;
  display:grid;
  gap:14px;
  align-content:start;
  padding:26px;
  background:#fff;
  border:1px solid var(--dh-line);
  border-left:5px solid var(--dh-red);
  box-shadow:0 18px 34px rgba(9,29,52,.07);
  overflow:hidden;
}
.participation-hero-panel::before{
  content:"";
  position:absolute;
  right:-42px;
  top:-42px;
  width:130px;
  height:130px;
  border:1px solid rgba(0,52,95,.10);
  background:linear-gradient(135deg,rgba(196,0,24,.08),rgba(0,52,95,.04));
  transform:rotate(45deg);
}
.participation-hero-panel>*{position:relative;z-index:1}
.participation-hero-panel span{
  width:max-content;
  padding:7px 10px;
  background:#f6f8fb;
  border:1px solid var(--dh-line);
  color:var(--dh-red);
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.72rem;
  font-weight:800;
}
.participation-hero-panel strong{
  color:var(--dh-navy);
  font-size:clamp(1.3rem,2vw,1.85rem);
  line-height:1.14;
  letter-spacing:-.025em;
}
.participation-hero-panel ul{
  display:grid;
  gap:9px;
  margin:4px 0 0;
  padding:0;
  list-style:none;
}
.participation-hero-panel li{
  position:relative;
  padding:10px 12px 10px 34px;
  background:#f8fafc;
  border:1px solid var(--dh-line);
  color:var(--dh-text);
  font-weight:700;
}
.participation-hero-panel li::before{
  content:"";
  position:absolute;
  left:12px;
  top:50%;
  width:9px;
  height:9px;
  transform:translateY(-50%) rotate(45deg);
  background:var(--dh-red);
}
.content-panel.participation-intro{
  display:grid;
  grid-template-columns:minmax(0,.38fr) minmax(0,1fr);
  gap:28px;
  align-items:start;
  padding:30px;
  background:#fff;
  border:1px solid var(--dh-line);
  border-left:5px solid var(--dh-navy);
  box-shadow:0 12px 28px rgba(9,29,52,.05);
}
.content-panel.participation-intro h2{
  margin:0;
  color:var(--dh-navy);
  font-size:clamp(1.55rem,2.8vw,2.35rem);
  line-height:1.1;
}
.content-panel.participation-intro p{color:var(--dh-text);line-height:1.76;font-size:1.01rem}
.dh-block-cards.participation-map{
  margin-top:44px;
  padding:34px 0 18px;
  border-top:1px solid var(--dh-line);
}
.dh-block-cards.participation-map .section-heading-row{margin-bottom:22px;border:0;padding:0}
.dh-block-cards.participation-map h2,
.dh-block-cards.participation-tools h2{
  color:var(--dh-navy);
  font-size:clamp(1.65rem,2.9vw,2.55rem);
}
.dh-block-cards.participation-map .editorial-cards{
  position:relative;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.dh-block-cards.participation-map .editorial-cards::before{
  content:"";
  position:absolute;
  left:8%;
  right:8%;
  top:50%;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(196,0,24,.22),var(--dh-line),transparent);
  pointer-events:none;
}
.dh-block-cards.participation-map .card{
  position:relative;
  z-index:1;
  min-height:238px;
  padding:22px;
  background:#fff;
  border:1px solid var(--dh-line);
  border-top:4px solid var(--dh-navy);
  box-shadow:0 14px 30px rgba(9,29,52,.055);
  display:grid;
  align-content:space-between;
}
.dh-block-cards.participation-map .card::before{
  content:"";
  width:40px;
  height:40px;
  margin-bottom:18px;
  display:block;
  background:#f6f8fb;
  border:1px solid var(--dh-line);
  box-shadow:inset 0 0 0 10px #fff;
  transform:rotate(45deg);
}
.dh-block-cards.participation-map .card:nth-child(1){border-top-color:var(--dh-red)}
.dh-block-cards.participation-map .card:nth-child(2){border-top-color:#31445f}
.dh-block-cards.participation-map .card:nth-child(3){border-top-color:#006f8f}
.dh-block-cards.participation-map .card:nth-child(4){border-top-color:#173153}
.dh-block-cards.participation-map .card:nth-child(5){border-top-color:#607086}
.dh-block-cards.participation-map .card:nth-child(6){border-top-color:#0b7285}
.dh-block-cards.participation-map .card h3{color:var(--dh-navy);font-size:1.18rem;margin-bottom:9px}
.dh-block-cards.participation-map .card p{line-height:1.62;color:var(--dh-text)}
.dh-block-numbers.participation-flow{
  margin:46px calc(50% - 50vw) 26px;
  padding:46px max(18px,calc((100vw - 1180px)/2));
  background:linear-gradient(180deg,#0e1c33 0%,#152a4d 100%);
  color:#fff;
  position:relative;
  overflow:hidden;
}
.dh-block-numbers.participation-flow::before{
  content:"";
  position:absolute;
  right:max(18px,calc((100vw - 1180px)/2));
  top:28px;
  width:150px;
  height:150px;
  border:1px solid rgba(255,255,255,.14);
  transform:rotate(45deg);
}
.dh-block-numbers.participation-flow h2{
  position:relative;
  max-width:740px;
  color:#fff;
  font-size:clamp(1.65rem,3vw,2.6rem);
  margin-bottom:24px;
}
.dh-block-numbers.participation-flow .metrics-grid{
  position:relative;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:0;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.04);
}
.dh-block-numbers.participation-flow .metrics-grid article{
  position:relative;
  min-height:188px;
  padding:24px 18px;
  border:0;
  border-right:1px solid rgba(255,255,255,.18);
  background:transparent;
  color:#fff;
  box-shadow:none;
}
.dh-block-numbers.participation-flow .metrics-grid article:last-child{border-right:0}
.dh-block-numbers.participation-flow .metrics-grid article::after{
  content:"";
  position:absolute;
  top:32px;
  right:-7px;
  width:13px;
  height:13px;
  transform:rotate(45deg);
  border-top:1px solid rgba(255,255,255,.28);
  border-right:1px solid rgba(255,255,255,.28);
  background:#152a4d;
  z-index:2;
}
.dh-block-numbers.participation-flow .metrics-grid article:last-child::after{display:none}
.dh-block-numbers.participation-flow strong{display:block;margin-bottom:32px;color:#fff;font-size:1rem;letter-spacing:.08em}
.dh-block-numbers.participation-flow span{display:block;color:rgba(255,255,255,.82);font-size:.96rem;line-height:1.55}
.dh-block-split.participation-ai,
.dh-block-split.participation-privacy{
  display:grid;
  grid-template-columns:minmax(0,.42fr) minmax(0,1fr);
  gap:28px;
  margin:42px 0 22px;
  padding:32px;
  background:#f8fafc;
  border:1px solid var(--dh-line);
  border-left:5px solid var(--dh-navy);
  box-shadow:0 12px 28px rgba(9,29,52,.045);
}
.dh-block-split.participation-privacy{background:#fff;border-left-color:var(--dh-red)}
.dh-block-split.participation-ai .block-copy,
.dh-block-split.participation-privacy .block-copy{display:contents}
.dh-block-split.participation-ai h2,
.dh-block-split.participation-privacy h2{
  margin:0;
  color:var(--dh-navy);
  font-size:clamp(1.55rem,2.7vw,2.4rem);
  line-height:1.1;
}
.dh-block-split.participation-ai p,
.dh-block-split.participation-privacy p{max-width:760px;line-height:1.75;color:var(--dh-text)}
.notice.participation-warning{
  display:grid;
  grid-template-columns:240px minmax(0,1fr);
  gap:22px;
  align-items:start;
  margin:36px 0 22px;
  padding:24px;
  background:#fff9fa;
  border:1px solid #efd1d6;
  border-left:5px solid var(--dh-red);
  box-shadow:0 12px 28px rgba(9,29,52,.045);
}
.notice.participation-warning strong{color:var(--dh-red);font-size:1.22rem;line-height:1.15;letter-spacing:-.02em;text-transform:none}
.notice.participation-warning p{margin:0;color:var(--dh-text);line-height:1.72}
.dh-block-cards.participation-tools{
  margin-top:42px;
  padding:30px;
  background:#fff;
  border:1px solid var(--dh-line);
  box-shadow:0 12px 28px rgba(9,29,52,.045);
}
.dh-block-cards.participation-tools .section-heading-row{border:0;padding:0;margin-bottom:20px}
.dh-block-cards.participation-tools .editorial-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.dh-block-cards.participation-tools .card{
  min-height:205px;
  padding:22px;
  background:#f8fafc;
  border:1px solid var(--dh-line);
  border-top:4px solid var(--dh-red);
  box-shadow:none;
}
.dh-block-cards.participation-tools .card h3{font-size:1.08rem;color:var(--dh-navy)}
.dh-block-faq.participation-faq{
  margin:42px 0 22px;
  padding:30px;
  background:#f8fafc;
  border:1px solid var(--dh-line);
  border-top:4px solid var(--dh-navy);
}
.dh-block-faq.participation-faq h2{color:var(--dh-navy);font-size:clamp(1.55rem,2.7vw,2.35rem)}
.dh-block-faq.participation-faq details{background:#fff;border:1px solid var(--dh-line);padding:15px 16px;margin-top:10px}
.dh-block-faq.participation-faq summary{font-weight:780;color:var(--dh-navy);cursor:pointer}
.dh-block-faq.participation-faq p{color:var(--dh-text);line-height:1.7}
.dh-block-cta.participation-cta{
  margin:42px 0 20px;
  padding:30px;
  background:#fff;
  color:var(--dh-text);
  border:1px solid var(--dh-line);
  border-left:5px solid var(--dh-red);
  box-shadow:0 14px 30px rgba(9,29,52,.055);
}
.dh-block-cta.participation-cta h2{color:var(--dh-navy);font-size:clamp(1.55rem,2.7vw,2.35rem)}
.dh-block-cta.participation-cta p{color:var(--dh-text)}
.dh-block-cta.participation-cta .button.light{background:var(--dh-navy);color:#fff}
@media (min-width:980px){
  .participation-hero-grid{grid-template-columns:minmax(0,1fr) 380px}
}
@media (max-width:1060px){
  .dh-block-cards.participation-tools .editorial-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:899px){
  .dh-block-cards.participation-map .editorial-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dh-block-cards.participation-map .editorial-cards::before{display:none}
  .dh-block-numbers.participation-flow .metrics-grid{grid-template-columns:1fr}
  .dh-block-numbers.participation-flow .metrics-grid article{min-height:auto;border-right:0;border-bottom:1px solid rgba(255,255,255,.18)}
  .dh-block-numbers.participation-flow .metrics-grid article:last-child{border-bottom:0}
  .dh-block-numbers.participation-flow .metrics-grid article::after{display:none}
  .dh-block-numbers.participation-flow strong{margin-bottom:10px}
}
@media (max-width:620px){
  .participation-hero{padding-top:42px;padding-bottom:34px}
  .participation-hero::before{width:120px;height:120px;background-size:22px 22px}
  .participation-hero::after{display:none}
  .participation-hero h1{font-size:2.3rem}
  .participation-hero-grid,
  .content-panel.participation-intro,
  .dh-block-split.participation-ai,
  .dh-block-split.participation-privacy,
  .notice.participation-warning{grid-template-columns:1fr}
  .participation-hero-panel,
  .content-panel.participation-intro,
  .dh-block-split.participation-ai,
  .dh-block-split.participation-privacy,
  .notice.participation-warning,
  .dh-block-faq.participation-faq,
  .dh-block-cta.participation-cta{padding:22px}
  .dh-block-cards.participation-map .editorial-cards,
  .dh-block-cards.participation-tools .editorial-cards{grid-template-columns:1fr}
}


/* Castalia metadata box 1.8.8 */
.castalia-publication-box{margin:28px 0;background:linear-gradient(135deg,#061426,#0a3458);color:#fff;border-radius:28px;padding:26px;display:grid;grid-template-columns:minmax(240px,.7fr) 1fr;gap:22px;box-shadow:0 20px 60px rgba(7,28,50,.16)}
.castalia-publication-box h2{margin:.1rem 0 .6rem;color:#fff}.castalia-publication-box p{color:rgba(255,255,255,.82);line-height:1.55}.castalia-publication-box dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}.castalia-publication-box dl div{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:16px;padding:12px}.castalia-publication-box dt{font-weight:800;color:rgba(255,255,255,.68);font-size:.78rem;text-transform:uppercase;letter-spacing:.07em}.castalia-publication-box dd{margin:4px 0 0;font-weight:800}.castalia-publication-box a{color:#fff;text-decoration:underline}.castalia-tags,.castalia-citation{grid-column:1 / -1}.castalia-citation{background:rgba(255,255,255,.1);border-radius:18px;padding:14px}.castalia-mini{display:inline-flex;align-items:center;gap:6px;background:#071c32;color:#fff;border-radius:999px;padding:7px 11px;font-size:.78rem;font-weight:800;margin:.1rem 0 .65rem}@media (max-width:900px){.castalia-publication-box{grid-template-columns:1fr}.castalia-publication-box dl{grid-template-columns:1fr}}

/* Patch 1.9.4: footer mobile più leggibile */
@media (max-width:760px){
  .site-footer{
    background:#06192f!important;
    color:#dbe8f5!important;
    border-top:0!important;
  }
  .site-footer a{color:#f4fbff!important;text-decoration:none!important}
  .site-footer a:hover{color:#ffffff!important;text-decoration:underline!important}
  .footer-main{display:block;padding:32px 0 22px!important}
  .footer-about{max-width:none;margin-bottom:28px}
  .footer-brand strong{color:#ffffff!important}.footer-brand em,.footer-about p{color:#c6d6e6!important}
  .footer-actions{display:grid!important;grid-template-columns:1fr;gap:10px;margin-top:16px}
  .footer-pill{justify-content:center!important;width:100%;min-height:46px;border-color:rgba(255,255,255,.28)!important;background:rgba(255,255,255,.08)!important;color:#fff!important;border-radius:0!important}
  .footer-pill.primary{background:#ffffff!important;color:#06192f!important;border-color:#ffffff!important}
  .footer-links{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:22px 18px!important;margin-top:24px}
  .footer-links nav{background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.10);border-radius:18px;padding:16px;gap:8px!important}
  .site-footer h2{color:#8fd2e7!important;font-size:.72rem!important;letter-spacing:.16em!important;margin-bottom:8px!important}
  .footer-links a{font-size:.98rem!important;line-height:1.35!important;padding:4px 0!important;color:#edf8ff!important}
  .footer-notice{display:grid!important;background:rgba(255,255,255,.055);border-top:1px solid rgba(255,255,255,.10)!important;border-bottom:1px solid rgba(255,255,255,.10);padding:16px!important;margin:8px 0 0;color:#c6d6e6!important;border-radius:18px}
  .footer-notice strong{color:#ffb9c3!important}.footer-notice span{max-width:none;color:#c6d6e6!important}
  .footer-bottom{background:#041426!important;border-top:0!important}
  .footer-bottom-inner{display:grid!important;gap:8px;padding:16px 0 84px!important;color:#c6d6e6!important;font-size:.9rem!important}
  .footer-bottom-inner a{color:#e9f7ff!important}
}
@media (max-width:430px){
  .footer-links{grid-template-columns:1fr!important}
}


/* Patch 1.9.9: footer mobile più compatto e valido */
@media (max-width:760px){
  .site-footer .container{width:min(100% - 28px,1180px)!important}
  .footer-main{padding-top:30px!important}
  .footer-links{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
  .footer-links nav{border-radius:14px!important;padding:13px 14px!important}
  .footer-links a{font-size:.94rem!important;padding:3px 0!important}
  .footer-notice{border-radius:14px!important;margin-top:10px!important}
}
@media (max-width:460px){
  .footer-links{grid-template-columns:1fr!important}
  .footer-links nav{padding:14px!important}
  .footer-bottom-inner{padding-bottom:74px!important}
}

/* DepuraHub 2.1.8 · menu pubblico settoriato e responsivo */
.site-header{z-index:120}.header-inner{position:relative}.primary-nav{font-size:.94rem}.primary-nav .nav-direct{white-space:nowrap}.nav-more summary{display:flex;align-items:center;gap:7px;user-select:none}.nav-more summary::after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin-left:3px;margin-top:-4px;opacity:.65}.nav-more[open] summary::after{transform:rotate(225deg);margin-top:3px}.nav-mega a{display:grid!important;gap:2px;align-content:start;min-width:0;border-radius:10px;padding:11px 12px!important;line-height:1.2}.nav-mega a span{font-weight:760;color:var(--dh-ink)}.nav-mega a small{display:block;color:var(--dh-muted);font-size:.78rem;font-weight:560;line-height:1.35}.nav-mega a:hover span{color:var(--dh-navy)}
@media (min-width:1040px){.header-inner{min-height:78px;gap:14px}.brand img{width:218px}.primary-nav{margin-left:auto;gap:4px;flex-wrap:nowrap}.primary-nav>a,.primary-nav>.nav-more>summary{font-size:.9rem;padding:10px 11px}.nav-cta{padding-left:14px!important;padding-right:14px!important}.nav-more-panel.nav-mega{position:absolute;left:0;right:auto;top:calc(100% + 12px);display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:4px;width:min(640px,calc(100vw - 36px));padding:10px;border-radius:16px;border:1px solid var(--dh-line);background:#fff;box-shadow:0 24px 55px rgba(9,29,52,.13)}.nav-align-right .nav-more-panel.nav-mega{left:auto;right:0}.nav-more:not([open]) .nav-more-panel{display:none}.nav-more:hover>.nav-more-panel,.nav-more:focus-within>.nav-more-panel{display:grid}.nav-more:hover>summary{background:var(--dh-ice);color:var(--dh-navy)}}
@media (min-width:1040px) and (max-width:1220px){.brand img{width:190px}.primary-nav>a,.primary-nav>.nav-more>summary{font-size:.84rem;padding:9px 8px}.nav-cta{padding-left:10px!important;padding-right:10px!important}}
@media (max-width:1039px){.primary-nav{top:calc(100% + 8px);left:18px;right:18px;max-height:calc(100vh - 125px);overflow:auto;border-radius:18px;padding:10px}.primary-nav a,.nav-more summary{border-radius:12px}.nav-more{border-top:1px solid var(--dh-line)}.nav-more:first-of-type{border-top:0}.nav-more-panel.nav-mega{display:grid;gap:2px;border:0;border-radius:0;padding:4px 0 8px 10px;box-shadow:none;background:#fff}.nav-more:not([open]) .nav-more-panel{display:none}.nav-mega a{padding:10px 12px!important}.nav-mega a small{font-size:.76rem}.nav-cta{margin-top:4px;border-radius:12px!important}.top-line-inner{min-height:32px}.top-line span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}
@media (max-width:620px){.brand img{width:174px}.primary-nav{left:13px;right:13px;top:calc(100% + 6px)}.top-line{font-size:.72rem}.header-inner{min-height:70px}.nav-mega a small{display:none}}
