/* DepuraHub Italia · Corpi idrici 1.8.7 */
.corpi-hero,.corpi-hero *{box-sizing:border-box}
.corpi-hero{position:relative;margin:0 calc(50% - 50vw) 32px;padding:58px max(18px,calc((100vw - 1180px)/2)) 50px;background:radial-gradient(circle at 84% 20%,rgba(0,166,184,.12),transparent 28%),radial-gradient(circle at 14% 82%,rgba(196,0,24,.075),transparent 30%),linear-gradient(135deg,#fff 0%,#f5f9fc 58%,#fff 100%);border-top:6px solid var(--dh-red);border-bottom:1px solid var(--dh-line);overflow:hidden}
.corpi-hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(0,52,95,.052) 1px,transparent 1px),linear-gradient(90deg,rgba(0,52,95,.052) 1px,transparent 1px);background-size:36px 36px;mask-image:linear-gradient(90deg,transparent 0%,#000 30%,#000 100%);pointer-events:none}
.corpi-hero::after{content:"";position:absolute;right:max(18px,calc((100vw - 1180px)/2));bottom:22px;width:min(560px,55vw);height:1px;background:linear-gradient(90deg,transparent,var(--dh-cyan),var(--dh-red),transparent);opacity:.7}
.corpi-hero-grid{position:relative;z-index:1;display:grid;gap:32px;align-items:center}
.corpi-hero-copy{max-width:890px}
.corpi-hero .eyebrow{color:var(--dh-red);margin-bottom:14px}
.corpi-hero h1{max-width:1040px;color:var(--dh-navy);font-size:clamp(2.12rem,4.45vw,4.25rem);line-height:1.02;letter-spacing:-.06em;margin-bottom:16px}
.corpi-hero .lead{max-width:805px;color:var(--dh-text);font-size:clamp(1.02rem,1.45vw,1.2rem);line-height:1.72}
.corpi-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.corpi-console{position:relative;min-height:400px;background:#fff;border:1px solid var(--dh-line);box-shadow:0 24px 55px rgba(9,29,52,.08);overflow:hidden;padding:24px}
.corpi-console::before{content:"";position:absolute;inset:18px;border:1px solid rgba(0,52,95,.12)}
.corpi-console::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 22% 42%,rgba(0,166,184,.13),transparent 22%),radial-gradient(circle at 82% 64%,rgba(196,0,24,.08),transparent 26%);pointer-events:none}
.corpi-console-head{position:relative;z-index:3;max-width:360px}
.corpi-console-head span{display:inline-flex;color:var(--dh-red);font-size:.74rem;font-weight:860;letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px}
.corpi-console-head strong{display:block;color:var(--dh-navy);font-size:1.24rem;line-height:1.18;letter-spacing:-.025em}
.corpi-radar{position:absolute;inset:86px 28px 80px;z-index:2}
.corpi-radar-ring{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border:1px solid rgba(0,52,95,.15);border-radius:50%}
.ring-1{width:245px;height:245px;background:radial-gradient(circle,rgba(0,166,184,.06),transparent 63%)}
.ring-2{width:345px;height:345px;background:radial-gradient(circle,transparent 58%,rgba(196,0,24,.04) 59%,transparent 67%)}
.corpi-radar-line{position:absolute;left:50%;top:50%;width:1px;height:170px;background:linear-gradient(180deg,transparent,rgba(0,52,95,.24),transparent);transform-origin:top center}
.line-1{transform:rotate(42deg)}
.line-2{transform:rotate(-52deg)}
.corpi-node{position:absolute;display:grid;place-items:center;align-content:center;width:86px;height:86px;border-radius:22px;background:#fff;border:1px solid var(--dh-line);box-shadow:0 14px 28px rgba(9,29,52,.08);color:var(--dh-navy)}
.corpi-node b{font-size:1.2rem;line-height:1;font-weight:900;letter-spacing:-.04em}
.corpi-node small{font-size:.64rem;text-transform:uppercase;letter-spacing:.12em;font-weight:820;color:var(--dh-muted);margin-top:5px}
.node-a{left:4px;top:50%;transform:translateY(-50%);border-radius:50%}
.node-b{left:32%;top:2%;border-color:rgba(0,166,184,.34)}
.node-c{right:28%;bottom:2%;border-color:rgba(196,0,24,.34)}
.node-d{right:0;top:50%;transform:translateY(-50%)}
.corpi-console p{position:absolute;left:24px;right:24px;bottom:18px;margin:0;padding-top:14px;border-top:1px solid var(--dh-line);color:var(--dh-muted);font-size:.94rem;line-height:1.55;z-index:3}
.corpi-kpi{display:grid;gap:14px;margin:0 0 28px}
.corpi-kpi article{position:relative;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:22px;overflow:hidden}
.corpi-kpi article:first-child{border-top-color:var(--dh-red)}
.corpi-kpi article:nth-child(2){border-top-color:#006f8f}
.corpi-kpi article::after{content:"";position:absolute;right:-34px;top:-34px;width:96px;height:96px;border-radius:50%;background:rgba(0,52,95,.045)}
.corpi-kpi span{display:block;color:var(--dh-red);font-size:2.18rem;font-weight:870;line-height:1;letter-spacing:-.06em}
.corpi-kpi strong{display:block;color:var(--dh-navy);font-size:1.04rem;margin-top:8px}
.corpi-kpi p{margin:8px 0 0;color:var(--dh-muted);line-height:1.55}
.corpi-notice{display:grid;grid-template-columns:220px minmax(0,1fr);gap:20px;align-items:start;border-left:5px solid var(--dh-red)}
.corpi-notice strong{color:var(--dh-red);font-size:1.16rem;line-height:1.18}
.corpi-notice p{margin:0;line-height:1.72}
.corpi-map,.corpi-links{padding:38px 0 8px;scroll-margin-top:120px}
.corpi-map .section-heading-row,.corpi-links .section-heading-row{border-top:1px solid var(--dh-line);padding-top:20px;margin-bottom:20px}
.corpi-map h2,.corpi-archive h2,.corpi-lists h2,.corpi-docs h2,.corpi-path h2,.corpi-pressure h2,.corpi-tech h2,.corpi-links h2,.corpi-final-cta h2{color:var(--dh-navy);font-size:clamp(1.65rem,2.8vw,2.5rem)}
.corpi-map-grid{display:grid;gap:16px;position:relative}
.corpi-map-grid article{position:relative;min-height:226px;background:#fff;border:1px solid var(--dh-line);border-top:4px solid var(--dh-navy);padding:22px;box-shadow:0 12px 28px rgba(9,29,52,.05);overflow:hidden}
.corpi-map-grid article::after{content:"";position:absolute;width:86px;height:86px;right:-32px;top:-32px;border-radius:50%;background:rgba(0,52,95,.045)}
.corpi-map-grid article:nth-child(1){border-top-color:var(--dh-red)}
.corpi-map-grid article:nth-child(2){border-top-color:#006f8f}
.corpi-map-grid article:nth-child(3){border-top-color:#173153}
.corpi-map-grid article:nth-child(4){border-top-color:#607086}
.corpi-map-grid article:nth-child(5){border-top-color:#31445f}
.corpi-map-grid article:nth-child(6){border-top-color:#9b2232}
.corpi-map-grid span{display:inline-flex;color:var(--dh-red);font-weight:900;font-size:.9rem;letter-spacing:.1em;margin-bottom:16px}
.corpi-map-grid h3{color:var(--dh-navy);font-size:1.22rem;margin-bottom:10px;letter-spacing:-.025em}
.corpi-map-grid p{color:var(--dh-muted);line-height:1.65;margin:0}
.corpi-archive,.corpi-lists,.corpi-docs,.corpi-path,.corpi-pressure,.corpi-tech{display:grid;gap:22px;padding:32px 0;border-top:1px solid var(--dh-line)}
.corpi-archive-copy,.corpi-lists-copy,.corpi-docs-copy,.corpi-path-copy,.corpi-pressure-copy,.corpi-tech-copy{max-width:640px}
.corpi-archive-copy p:not(.eyebrow),.corpi-lists-copy p:not(.eyebrow),.corpi-docs-copy p:not(.eyebrow),.corpi-path-copy p:not(.eyebrow),.corpi-tech-copy p:not(.eyebrow){color:var(--dh-muted);line-height:1.72}
.corpi-archive-grid{display:grid;gap:14px}
.corpi-archive-grid article{position:relative;background:#fff;border:1px solid var(--dh-line);padding:20px;box-shadow:0 10px 24px rgba(9,29,52,.04);overflow:hidden}
.corpi-archive-grid article::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--dh-red)}
.corpi-archive-grid strong{display:block;color:var(--dh-navy);font-size:2rem;letter-spacing:-.05em;line-height:1;font-weight:900;margin-bottom:9px}
.corpi-archive-grid span{color:var(--dh-muted);line-height:1.55}
.corpi-lists-grid{display:grid;gap:16px}
.corpi-lists-grid article{background:#fff;border:1px solid var(--dh-line);box-shadow:0 12px 28px rgba(9,29,52,.05);padding:22px}
.corpi-lists-grid h3{color:var(--dh-navy);font-size:1.22rem;margin:0 0 16px}
.corpi-lists-grid p{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;margin:0;padding:12px 0;border-top:1px solid var(--dh-line)}
.corpi-lists-grid p:first-of-type{border-top:0}
.corpi-lists-grid strong{color:var(--dh-navy)}
.corpi-lists-grid span{color:var(--dh-muted);font-size:.92rem;text-align:right}
.corpi-docs-grid{display:grid;gap:14px}
.corpi-docs-grid article{position:relative;display:grid;grid-template-columns:170px minmax(0,1fr);gap:16px;align-items:start;background:#fff;border:1px solid var(--dh-line);padding:18px 20px;box-shadow:0 10px 24px rgba(9,29,52,.04)}
.corpi-docs-grid article::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--dh-red)}
.corpi-docs-grid strong{color:var(--dh-navy)}
.corpi-docs-grid span{color:var(--dh-muted);line-height:1.6}
.corpi-path{scroll-margin-top:120px;background:linear-gradient(135deg,#fff,#f7fafc);margin:10px calc(50% - 50vw);padding:42px max(18px,calc((100vw - 1180px)/2));border-top:1px solid var(--dh-line);border-bottom:1px solid var(--dh-line)}
.corpi-path-steps{display:grid;gap:12px;counter-reset:step}
.corpi-path-steps article{position:relative;display:grid;grid-template-columns:52px minmax(0,1fr);gap:14px;align-items:center;background:#fff;border:1px solid var(--dh-line);padding:15px 18px;box-shadow:0 10px 22px rgba(9,29,52,.045);overflow:hidden}
.corpi-path-steps article::after{content:"";position:absolute;right:-28px;top:-28px;width:80px;height:80px;border-radius:50%;background:rgba(196,0,24,.045)}
.corpi-path-steps strong{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--dh-navy);color:#fff;font-weight:900}
.corpi-path-steps article:first-child strong{background:var(--dh-red)}
.corpi-path-steps span{color:var(--dh-text);line-height:1.5;font-weight:680}
.corpi-pressure{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr)}
.corpi-pressure-cards{display:grid;gap:14px}
.corpi-pressure-cards article{background:#fff;border:1px solid var(--dh-line);padding:20px;box-shadow:0 10px 22px rgba(9,29,52,.04)}
.corpi-pressure-cards h3{color:var(--dh-navy);font-size:1.08rem;margin-bottom:8px}
.corpi-pressure-cards p{color:var(--dh-muted);line-height:1.62;margin:0}
.corpi-tech{grid-template-columns:minmax(0,1fr) 330px;align-items:stretch}
.corpi-tech-card{position:relative;background:var(--dh-navy);color:#fff;padding:24px;overflow:hidden;box-shadow:0 18px 38px rgba(9,29,52,.13)}
.corpi-tech-card::after{content:"";position:absolute;right:-44px;top:-44px;width:140px;height:140px;border-radius:50%;border:22px solid rgba(255,255,255,.08)}
.corpi-tech-card span{display:block;font-size:3rem;font-weight:900;line-height:1;color:#fff;letter-spacing:-.07em}
.corpi-tech-card strong{display:block;margin-top:10px;font-size:1.08rem;line-height:1.25}
.corpi-tech-card p{color:rgba(255,255,255,.78);line-height:1.55}
.corpi-tech-card .text-link{color:#fff;text-decoration:underline;text-underline-offset:4px;font-weight:800}
.corpi-links-grid{display:grid;gap:14px}
.corpi-links-grid a{position:relative;display:block;background:#fff;border:1px solid var(--dh-line);padding:20px 20px 20px 24px;color:inherit;text-decoration:none;box-shadow:0 10px 22px rgba(9,29,52,.04);overflow:hidden}
.corpi-links-grid a::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--dh-red)}
.corpi-links-grid a:hover{border-color:rgba(196,0,24,.36);transform:translateY(-1px)}
.corpi-links-grid strong{display:block;color:var(--dh-navy);font-size:1.05rem;margin-bottom:6px}
.corpi-links-grid span{display:block;color:var(--dh-muted);line-height:1.55}
.corpi-final-cta{display:grid;gap:20px;align-items:center;margin:36px 0 12px;padding:28px;background:#fff;border:1px solid var(--dh-line);border-left:6px solid var(--dh-red);box-shadow:0 14px 30px rgba(9,29,52,.06)}
.corpi-final-cta p:not(.eyebrow){color:var(--dh-muted);line-height:1.65;margin-bottom:0}
#strumenti-corpi{scroll-margin-top:120px}
@media(min-width:840px){.corpi-hero-grid{grid-template-columns:minmax(0,1fr) 430px}.corpi-kpi{grid-template-columns:repeat(3,1fr)}.corpi-map-grid{grid-template-columns:repeat(3,1fr)}.corpi-archive{grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr)}.corpi-archive-grid{grid-template-columns:repeat(2,1fr)}.corpi-lists{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr)}.corpi-lists-grid{grid-template-columns:repeat(2,1fr)}.corpi-docs{grid-template-columns:minmax(0,.74fr) minmax(0,1.26fr)}.corpi-links-grid{grid-template-columns:repeat(3,1fr)}.corpi-final-cta{grid-template-columns:minmax(0,1fr) auto}}
@media(max-width:980px){.corpi-pressure,.corpi-tech{grid-template-columns:1fr}.corpi-tech-card{max-width:none}.corpi-docs-grid article{grid-template-columns:1fr}}
@media(max-width:700px){.corpi-hero{padding-top:42px}.corpi-console{min-height:350px}.corpi-radar{inset:86px 22px 92px}.corpi-node{width:72px;height:72px;border-radius:18px}.corpi-node b{font-size:1.05rem}.ring-1{width:210px;height:210px}.ring-2{width:286px;height:286px}.corpi-kpi span{font-size:1.88rem}.corpi-notice{grid-template-columns:1fr}.corpi-map-grid article{min-height:auto}.corpi-path{padding:32px 16px}.corpi-path-steps article{grid-template-columns:46px 1fr}.corpi-lists-grid p{grid-template-columns:1fr}.corpi-lists-grid span{text-align:left}.corpi-final-cta{padding:22px}}
