:root{--navy:#112f3e;--navy2:#183e4c;--ink:#1a3440;--muted:#546a75;--teal:#1f8a94;--cyan:#79ccd1;--blue:#386e90;--paper:#f8faf9;--border:#d9e5e7;--white:#fff;--max:1160px;--shadow:0 18px 55px rgba(17,47,62,.07)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.72 system-ui,-apple-system,'Segoe UI',Arial,sans-serif}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.16;letter-spacing:-.028em}h1{font-size:clamp(2.4rem,5vw,4.65rem);font-weight:660;max-width:820px}h2{font-size:clamp(1.9rem,3vw,3rem);font-weight:640}h3{font-size:1.2rem}a{color:inherit;text-decoration:none}a:hover{color:#007d89}img,svg{max-width:100%}.container{width:min(var(--max),calc(100% - 48px));margin:auto}.skip{position:absolute;left:-999px;top:0}.skip:focus{left:12px;z-index:10;background:white;padding:12px}.topline{height:5px;background:linear-gradient(90deg,#174f76,#39b2b5 53%,#9bd7ca)}.site-header{background:rgba(255,255,255,.97);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}.bar{min-height:84px;display:flex;justify-content:space-between;align-items:center;gap:25px}.brand{display:flex;gap:11px;align-items:center;color:var(--navy)}.brand-mark{width:45px;height:45px;display:grid;place-items:center}.brand-name{font-weight:800;letter-spacing:.12em;font-size:1.28rem;line-height:1}.brand-sub{font-size:.61rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-top:7px}.nav{display:flex;align-items:center;gap:23px}.nav a{font-size:.88rem;font-weight:600;color:#405a65}.nav a:hover,.nav a[aria-current="page"]{color:#007d89}.nav a[aria-current="page"]{text-decoration:underline;text-decoration-color:#31adb4;text-underline-offset:10px;text-decoration-thickness:2px}.menu-button{display:none;background:white;border:1px solid var(--border);padding:9px 12px;border-radius:7px;color:var(--navy);font-size:1rem}.hero{position:relative;isolation:isolate;background:var(--navy);color:#fff;overflow:hidden}.hero:before{content:"";inset:0;position:absolute;background:radial-gradient(ellipse at 75% 47%,#276278 0,transparent 53%),linear-gradient(115deg,#0e2635 0%,#143b4a 90%);z-index:-2}.hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:35px;min-height:580px;align-items:center;padding:95px 0 88px}.hero h1{margin-bottom:25px}.hero p{max-width:660px;color:#d5e4e7;font-size:1.11rem;line-height:1.8}.eyebrow{display:flex;gap:12px;align-items:center;color:var(--teal);text-transform:uppercase;font-size:.72rem;letter-spacing:.21em;font-weight:750;margin-bottom:20px}.eyebrow:before{content:"";width:27px;height:2px;background:currentColor}.hero .eyebrow{color:#9ce3dc}.actions{display:flex;flex-wrap:wrap;gap:13px;margin-top:35px}.btn{display:inline-flex;align-items:center;gap:10px;padding:12px 21px;border-radius:4px;font-weight:700;font-size:.91rem;transition:background .2s,transform .2s;border:1px solid transparent}.btn:hover{transform:translateY(-2px)}.btn-primary{background:#a5dfdb;color:#123944}.btn-primary:hover{background:#d2eeeb;color:#123944}.btn-outline{border:1px solid #7895a0;color:white}.btn-outline:hover{border-color:#fff;color:#fff}.btn-dark{background:#176575;color:white}.btn-dark:hover{background:#0c4a58;color:white}.hero-art{display:grid;place-items:center;min-height:410px;position:relative}.hero-art svg{width:100%;max-width:530px;filter:drop-shadow(0 22px 25px rgba(0,0,0,.12))}.hero-caption{position:absolute;right:2%;bottom:6%;font-size:.68rem;color:#b4d7dc;letter-spacing:.13em;text-transform:uppercase}.strip{background:#f0f6f5;border-bottom:1px solid var(--border)}.strip-inner{display:flex;flex-wrap:wrap;justify-content:space-between;gap:15px;padding:19px 0;font-size:.79rem;color:#4a6570;font-weight:700;letter-spacing:.095em;text-transform:uppercase}.strip-inner span:before{content:'·';color:#369fab;margin-right:10px}.section{padding:95px 0}.section-tight{padding:72px 0}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:37px}.section-heading p{max-width:410px;color:var(--muted);margin:0}.lead{font-size:1.17rem;max-width:810px;color:#475f68}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.card{background:white;border:1px solid var(--border);padding:32px;border-radius:5px;box-shadow:0 8px 28px rgba(24,62,76,.025)}.card:hover{border-color:#b4d7d7}.num{font-size:.69rem;letter-spacing:.15em;color:#2f8794;font-weight:800}.card h3{margin:15px 0 11px;color:var(--navy)}.card p{font-size:.94rem;color:var(--muted);margin:0}.tag{display:inline-block;padding:5px 10px;border:1px solid #c5dbdf;border-radius:3px;font-size:.71rem;letter-spacing:.045em;font-weight:700;color:#296978;background:#f0f7f7;margin:4px 6px 4px 0}.split{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}.technical{background:#eaf3f2;padding:43px;border:1px solid #d6e7e5;border-radius:6px;position:relative;overflow:hidden}.technical:after{content:"";position:absolute;right:-90px;bottom:-90px;width:240px;height:240px;border:1px solid rgba(22,118,130,.2);border-radius:50%;box-shadow:0 0 0 35px rgba(22,118,130,.05),0 0 0 70px rgba(22,118,130,.04)}.tech-label{font-size:.75rem;color:#44808b;letter-spacing:.15em;text-transform:uppercase;font-weight:750}.technical strong{display:block;color:#143c4a;font-size:1.75rem;line-height:1.25;margin:14px 0}.technical p{color:#4b6f77;max-width:340px;margin:0}.list-clean{padding:0;list-style:none}.list-clean li{border-bottom:1px solid var(--border);padding:11px 0}.list-clean li:before{content:'↗';margin-right:12px;color:var(--teal)}.section-dark{background:#123646;color:white}.section-dark h2{color:#fff}.section-dark p{color:#c5dae0}.section-dark .eyebrow{color:#95d9d8}.cta{display:flex;justify-content:space-between;align-items:center;gap:40px}.cta p{max-width:680px;margin-bottom:0}.page-hero{background:linear-gradient(115deg,#123747,#1e5663);color:#fff;padding:78px 0 76px;position:relative;overflow:hidden}.page-hero:after{content:"";position:absolute;right:-10%;top:-140px;width:500px;height:500px;border-radius:50%;border:1px solid rgba(255,255,255,.13);box-shadow:0 0 0 60px rgba(255,255,255,.025),0 0 0 125px rgba(255,255,255,.022)}.page-hero h1{font-size:clamp(2.5rem,4.5vw,4.2rem);margin-bottom:18px}.page-hero p{max-width:740px;color:#d5e5e8;font-size:1.12rem;margin:0}.page-hero .eyebrow{color:#9de0db}.prose{max-width:800px}.prose p{color:#4d636c}.service{display:grid;grid-template-columns:66px 1fr;gap:23px;padding:34px 0;border-bottom:1px solid var(--border)}.service h2{font-size:1.55rem}.service p{color:var(--muted)}.small-index{color:#238596;font-weight:800;font-size:.85rem;letter-spacing:.12em}.callout{padding:27px 31px;border-left:3px solid #21919e;background:#e9f4f3;margin:27px 0;color:#365867}.feature{padding:35px;border:1px solid var(--border);background:#fff;border-radius:5px}.feature h3{font-size:1.45rem}.feature p{color:var(--muted)}.meta{color:#488090;letter-spacing:.09em;text-transform:uppercase;font-size:.74rem;font-weight:750}.contact-panel{background:#fff;border:1px solid var(--border);border-radius:5px;padding:36px}.contact-panel strong{display:block;margin-bottom:7px}.contact-panel a{color:#087989;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.contact-panel p{color:var(--muted)}.foot{background:#0e2936;color:#c7d7de;padding:55px 0 24px}.foot-top{display:flex;justify-content:space-between;align-items:start;gap:30px}.foot .brand{color:white}.foot .brand-sub{color:#aac6ce}.foot p{max-width:420px;font-size:.9rem;color:#9db7c0;margin-top:20px}.footnav{display:flex;gap:45px;flex-wrap:wrap}.footnav div{display:flex;flex-direction:column;gap:8px}.footnav strong{font-size:.79rem;color:#fff;margin-bottom:6px}.footnav a{font-size:.86rem;color:#b1cad1}.footnav a:hover{color:white}.bottom{border-top:1px solid #2c4b57;margin-top:50px;padding-top:19px;display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;font-size:.77rem;color:#a5bcc4}.bottom a{text-decoration:underline}.muted{color:var(--muted)}.small{font-size:.87rem}.breadcrumbs{font-size:.8rem;color:#b0d1d8;margin-bottom:20px}.breadcrumbs a{text-decoration:underline;text-underline-offset:4px}a:focus-visible,button:focus-visible{outline:3px solid #3bacb5;outline-offset:3px}@media(max-width:950px){.bar{flex-wrap:wrap;min-height:75px}.menu-button{display:block}.nav{display:none;width:100%;padding:10px 0 20px;gap:0;align-items:stretch;flex-direction:column}.nav.is-open{display:flex}.nav a{padding:10px 2px}.hero .wrap{grid-template-columns:1fr;gap:0;padding:75px 0 45px}.hero-art{min-height:290px}.hero-art svg{max-width:440px}.hero-caption{bottom:0}.grid3{grid-template-columns:repeat(2,1fr)}.split{gap:30px}.cta{align-items:start;flex-direction:column}.foot-top{flex-direction:column}}@media(max-width:650px){.container{width:min(var(--max),calc(100% - 34px))}.brand-name{font-size:1.13rem}.brand-sub{font-size:.55rem}.hero .wrap{padding-top:55px}.hero-art{min-height:240px}.hero h1{font-size:2.55rem}.hero p{font-size:1rem}.hero-caption{font-size:.52rem}.section{padding:61px 0}.section-tight{padding:50px 0}.section-heading,.split{display:block}.section-heading p{margin-top:15px}.grid3,.grid2{grid-template-columns:1fr}.section-heading{margin-bottom:23px}.card,.technical{padding:25px}.strip-inner{gap:5px}.strip-inner span{width:46%;font-size:.7rem}.page-hero{padding:58px 0}.service{grid-template-columns:44px 1fr;gap:8px}.footnav{gap:45px}.contact-panel{padding:23px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}.btn:hover{transform:none}}

/* Logo ufficiale HYDROLOGOS: immagine fornita dallo studio, senza alterazioni grafiche. */
.site-header .bar{min-height:114px;gap:24px}
.site-header .brand{display:block;flex:0 0 auto;line-height:0}
.brand-logo{display:block;width:250px;height:auto;max-width:100%;object-fit:contain}
.site-header .nav{gap:22px}
.foot .brand{display:inline-block;padding:9px 13px;background:#fff;border-radius:3px;line-height:0}
.foot .brand-logo{width:250px}
@media(max-width:950px){.site-header .bar{min-height:94px}.site-header .brand-logo{width:220px}}
@media(max-width:650px){.site-header .bar{min-height:83px}.site-header .brand-logo{width:185px}.foot .brand-logo{width:205px}}

/* Revisione istituzionale 24 ottobre 2026 */
.hero .wrap{grid-template-columns:1.2fr .8fr;gap:26px}
.hero .hero-heading{font-size:clamp(2.45rem,4.25vw,4.15rem);line-height:1.15;max-width:760px;text-wrap:balance}
.hero .hero-heading + p{max-width:650px}
.section .split{align-items:center}
.section .split p:last-child{margin-bottom:0}
.article-link{color:var(--navy);text-decoration:none}
.article-link:hover{color:#007d89;text-decoration:underline;text-underline-offset:4px}
.article-hero h1{max-width:1020px;font-size:clamp(2.1rem,3.8vw,3.6rem)}
.article-body{max-width:800px;margin:0 auto;font-size:1.035rem}
.article-body h2,.legal h2{font-size:clamp(1.4rem,2.25vw,1.95rem);margin:2.2rem 0 .85rem}
.article-body p,.legal p,.article-body li,.legal li{line-height:1.85;color:#435f69}
.article-body ul,.legal ul{padding-left:1.4rem}
.article-body li,.legal li{margin:.5rem 0}
.article-note{border-left:3px solid #2396a1;background:#eaf4f3;padding:20px 24px;margin-top:30px}
.article-footer{margin-top:35px}
.article-footer a,.legal a{color:#067f8d;text-decoration:underline;text-underline-offset:3px}
.legal{margin:0 auto;max-width:820px}
.legal h2:first-of-type{margin-top:1.25rem}
.contact-panel p{margin-bottom:19px}
.contact-panel strong{color:var(--navy)}
.foot .brand{padding:8px 12px}
.foot .brand-logo{width:225px}
@media(max-width:950px){.hero .wrap{grid-template-columns:1fr}.hero .hero-heading{max-width:780px}}
@media(max-width:650px){.hero .hero-heading{font-size:clamp(2.15rem,8vw,3.15rem)}.article-hero h1{font-size:2.2rem}.page-hero{padding:51px 0}.hero .wrap{padding:61px 0 42px}}

/* Illustrazione idraulica approvata - sostituisce l'SVG iniziale */
.hero-art{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:0;gap:12px}
.hero-art .hero-illustration{display:block;width:100%;height:auto;max-width:540px;aspect-ratio:1/1;object-fit:contain;border-radius:10px;box-shadow:0 16px 45px rgba(0,15,25,.17)}
.hero-art .hero-caption{position:static;align-self:flex-end;margin-right:5px;bottom:auto;right:auto;font-size:.61rem;text-align:right;line-height:1.5}
@media(max-width:950px){.hero-art .hero-illustration{width:min(100%,490px)}.hero-art .hero-caption{align-self:center;margin-right:0}}
@media(max-width:650px){.hero-art{margin-top:20px;gap:9px}.hero-art .hero-illustration{max-width:390px}.hero-art .hero-caption{font-size:.55rem}}
