@font-face{font-family:'Roboto';font-style:normal;font-weight:100 900;font-display:swap;src:url('../assets/fonts/enginome/Roboto-var-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Roboto';font-style:normal;font-weight:100 900;font-display:swap;src:url('../assets/fonts/enginome/Roboto-var-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+1EF2-1EFF,U+20A0-20AB,U+20AD-20C4,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:300 700;font-display:swap;src:url('../assets/fonts/enginome/SpaceGrotesk-500-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:300 700;font-display:swap;src:url('../assets/fonts/enginome/SpaceGrotesk-500-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+1EF2-1EFF,U+20A0-20AB,U+20AD-20C4,U+2C60-2C7F,U+A720-A7FF;}

/* Ruoli colore del kit Enginome mappati sul brand Plyterm */
:root{
  --primary:#1d1c21;      /* kit #0F0F0F  -> scuro Plyterm */
  --text:#585857;         /* kit #666666  -> grigio logo */
  --accent:#379947;       /* kit #FFD100  -> verde brand */
  --accent-2:#009600;     /* kit #FFEE32 (hover) -> verde CTA del sito */
  --white:#ffffff;
  --border:#e9e9e9;       /* kit #D6D6D6  -> filetti */
  --bg-light:#f5f5f5;     /* kit #F5F5F5, neutro tenuto */
  --container:1280px;
  --f-hero:clamp(2.3125rem, 1.7255rem + 2.6087vw, 3.8125rem);
  --f-h1:clamp(1.9375rem, 1.4973rem + 1.9565vw, 3.0625rem);
  --f-h2:clamp(1.625rem, 1.3071rem + 1.413vw, 2.4375rem);
  --f-h3:clamp(1.375rem, 1.1549rem + .9783vw, 1.9375rem);
  --f-h4:clamp(1.1875rem, 1.0408rem + .6522vw, 1.5625rem);
  --f-h5:clamp(1rem, .9266rem + .3261vw, 1.1875rem);
  --f-h6:clamp(.8125rem, .7636rem + .2174vw, .9375rem);
  --f-medium:clamp(1rem, .9022rem + .4348vw, 1.25rem);
  --f-body:clamp(.875rem, .8261rem + .2174vw, 1rem);
  --f-small:clamp(.75rem, .7011rem + .2174vw, .875rem);
  --f-btn:clamp(.8125rem, .7636rem + .2174vw, .9375rem);
  --f-footer:clamp(.6875rem, .6386rem + .2174vw, .8125rem);
  --shadow:0 10px 40px -10px rgba(0,0,0,.18);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--white);color:var(--text);font-family:'Roboto',Arial,sans-serif;font-size:var(--f-body);line-height:1.5;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:var(--primary);text-decoration:none}
a:hover{color:var(--accent)}
a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
h1,h2,h3,h4,h5{margin:0;color:var(--primary);font-family:'Roboto',Arial,sans-serif}
p{margin:0 0 1em}
p:last-child{margin-bottom:0}

/* tipografia globale del kit */
.t-hero{font-size:var(--f-hero);font-weight:700;line-height:1.12;letter-spacing:-1.5px}
.t-h2{font-size:var(--f-h2);font-weight:700;line-height:1.15;letter-spacing:-1px}
.t-h4{font-size:var(--f-h4);font-weight:500;line-height:1.2;letter-spacing:-.5px}
.t-h5{font-size:var(--f-h5);font-weight:500;line-height:1.3;letter-spacing:-.2px}
.eyebrow{font-family:'Space Grotesk',Arial,sans-serif;font-size:var(--f-h6);font-weight:500;line-height:1;letter-spacing:1.5px;text-transform:uppercase;color:var(--text);margin:0 0 20px}
.eyebrow.on-dark{color:var(--accent)}
.lead{font-size:var(--f-medium);line-height:1.4}

.container{width:100%;max-width:calc(var(--container) + 2em);margin:0 auto;padding:0 1em}
.section{padding:7em 0}

/* pulsanti del kit: pillola raggio 50 */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:'Roboto',Arial,sans-serif;font-size:var(--f-btn);font-weight:500;line-height:1.2;border-radius:50px;padding:16px 32px;background:var(--accent);color:var(--primary);border:1px solid var(--accent);transition:background .2s,color .2s,border-color .2s;cursor:pointer}
.btn:hover{background:var(--accent-2);border-color:var(--accent-2);color:var(--primary)}
.btn.outline{background:transparent;color:var(--white)}
.btn.outline:hover{background:var(--accent);color:var(--primary)}
.btn.sm{padding:12px 24px}

/* triangoli d'angolo, segno del kit */
.tri{position:absolute;width:0;height:0;border-style:solid;pointer-events:none}
.tri.br{right:0;bottom:0;border-width:0 0 28px 28px;border-color:transparent transparent var(--accent) transparent}
.tri.tl{left:0;top:0;border-width:32px 32px 0 0;border-color:var(--accent) transparent transparent transparent}

.ico{display:flex;align-items:center;justify-content:center;flex:none;background:var(--accent);color:var(--primary)}
.ico svg{width:52%;height:52%;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}

/* HEADER */
.site-header{position:fixed;top:0;left:0;right:0;z-index:99;background:rgba(29,28,33,.8);box-shadow:0 5px 30px -10px rgba(0,0,0,.35)}
.site-header .container{display:flex;align-items:center;justify-content:space-between;height:100px}
.logo img{height:52px;width:auto}
.nav{display:flex;align-items:center}
.nav ul{list-style:none;margin:0;padding:0;display:flex;gap:0}
.nav li{position:relative}
.nav ul.sub{display:none;position:absolute;top:100%;left:0;min-width:220px;background:var(--white);box-shadow:0 10px 30px -10px rgba(0,0,0,.3);padding:10px 0;flex-direction:column;z-index:5}
.nav ul.sub li a{height:auto;padding:9px 22px;color:var(--primary);font-weight:400}
.nav ul.sub li a:hover{color:var(--accent)}
.nav li.has-sub:hover > ul.sub,.nav li.has-sub:focus-within > ul.sub{display:flex}
.nav li a{display:flex;align-items:center;gap:6px;color:var(--white);font-size:clamp(.875rem, .8261rem + .2174vw, 1rem);font-weight:500;line-height:1.3;padding:0 19px;height:100px}
.nav li a.active,.nav li a:hover{color:var(--accent)}
.nav li a svg{width:10px;height:10px;stroke:currentColor;fill:none;stroke-width:1.5}
.nav .sep{width:1px;height:26px;background:rgba(255,255,255,.25);margin:0 26px 0 27px}
.social{display:flex;gap:20px}
.social a{color:#9a9a9c;display:flex}
.social a:hover{color:var(--accent)}
.social svg{width:18px;height:18px;fill:currentColor}
.burger{display:none;background:none;border:0;color:var(--white);padding:6px;cursor:pointer}
.burger svg{width:28px;height:28px;stroke:currentColor;stroke-width:2;fill:none}

/* HERO */
.hero{position:relative;min-height:940px;padding:7em 0 0;display:flex;align-items:center;color:var(--white);overflow:hidden;background:var(--primary)}
.hero .slides{position:absolute;inset:0}
.hero .slides div{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;animation:slide 14s infinite}
.hero .slides div:nth-child(1){animation-delay:-1.5s}
.hero .slides div:nth-child(2){animation-delay:5.5s}
@keyframes slide{0%{opacity:0}6%{opacity:1}50%{opacity:1}56%{opacity:0}100%{opacity:0}}
@media (prefers-reduced-motion:reduce){.hero .slides div{animation:none}.hero .slides div:nth-child(2){display:none}}
.hero::after{content:"";position:absolute;inset:0;background:rgba(29,28,33,.68)}
.hero .container{position:relative;z-index:2}
.hero-content{width:46%;padding-bottom:40px}
.hero h1{color:var(--white);margin-bottom:22px}
.hero .lead{color:rgba(255,255,255,.9);margin-bottom:38px}
.hero .btns{display:flex;gap:20px;flex-wrap:wrap}

/* BOX IN SOVRAPPOSIZIONE */
.overlap{position:relative;z-index:3}
.overlap .container{display:flex;justify-content:flex-end}
.overlap-box{position:relative;width:60%;margin-top:-92px;background:var(--white);box-shadow:0 10px 40px -10px rgba(0,0,0,.2);padding:35px;display:flex;gap:30px;align-items:stretch}
.overlap-box .ib{display:flex;gap:25px;flex:1;align-items:flex-start}
.overlap-box .ico{width:84px;height:84px}
.overlap-box .ib:nth-of-type(2) .ico{background:var(--primary);color:var(--accent)}
.overlap-box .div{width:1px;background:var(--border)}
.overlap-box h3{margin:0 0 8px}

/* CHI SIAMO */
.about{padding:6em 0}
.about .container{display:flex;gap:80px;align-items:center}
.about-media{width:50%;display:flex;gap:20px;align-items:flex-start;flex:none}
.about-media .tall{width:45%;aspect-ratio:261/480;object-fit:cover}
.about-media .col{width:55%;position:relative}
.about-media .bar{width:150px;height:20px;background:var(--accent)}
.about-media .col img{width:100%;aspect-ratio:1/1;object-fit:cover}
.counter-box{position:relative;margin-top:-32px;width:85%;background:var(--white);box-shadow:var(--shadow);padding:26px 20px;text-align:center}
.counter-box .num{font-size:clamp(2.6rem,2rem + 2vw,3.75rem);font-weight:700;line-height:1;color:var(--primary);letter-spacing:-1px}
.counter-box .lbl{font-size:var(--f-medium);color:var(--text);margin-top:12px;line-height:1.3}
.about-text{flex:1}
.about-text h2{margin-bottom:30px}
.about-text p{margin-bottom:1.4em}
.about-text .btn{margin-top:10px}

/* CERTIFICAZIONI (al posto dei loghi clienti) */
.certs{padding:0 0 6em}
.certs-box{background:var(--bg-light);padding:3em;text-align:center}
.certs-box h2{margin-bottom:14px}
.certs-box .sub{font-size:var(--f-medium);color:var(--primary);margin:0}
.certs-box .sub strong{font-weight:700}
.hr-accent{width:70px;height:3px;background:var(--accent);margin:22px auto 30px;border:0}
.cert-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;max-width:1180px;margin:0 auto}
.cert{background:var(--white);min-height:66px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:10px 8px;line-height:1.2}
.cert b{font-family:'Space Grotesk',Arial,sans-serif;font-weight:500;letter-spacing:.5px;color:var(--primary);font-size:var(--f-body)}
.cert span{font-size:var(--f-footer);color:var(--text);margin-top:3px}

/* FASCIA CON FOTO */
.band{position:relative;padding:9em 0;text-align:center;color:var(--white);background-size:cover;background-position:center}
.band::before{content:"";position:absolute;inset:0;background:rgba(29,28,33,.6)}
.band .inner{position:relative;max-width:850px;margin:0 auto;padding:0 1em}
.band h2{color:var(--white);font-size:var(--f-h1);font-weight:700;line-height:1.15;letter-spacing:-1px;margin-bottom:26px}
.band p{color:rgba(255,255,255,.88);margin-bottom:34px}

/* PRODOTTI (icon box) */
.sec-head{max-width:650px;margin:0 auto 50px;text-align:center}
.sec-head h2{margin-bottom:24px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.card-ib{position:relative;background:var(--white);box-shadow:var(--shadow);padding:35px 35px 40px;text-align:center;display:flex;flex-direction:column;align-items:center}
.card-ib .ico{width:70px;height:70px;margin-bottom:28px}
.card-ib h3{margin-bottom:16px}
.card-ib p{margin-bottom:26px;flex:1}
.card-ib .btn{min-width:196px}

/* FASCIA SCURA */
.dark-band{position:relative;padding:15em 0 6em;color:var(--white);background-size:cover;background-position:center}
.dark-band::before{content:"";position:absolute;inset:0;background:rgba(29,28,33,.6)}
.dark-band .container{position:relative}
.dark-band .inner{width:52%;border-left:3px solid var(--accent);padding-left:30px}
.dark-band h2{color:var(--white);margin-bottom:20px}
.dark-band p{color:rgba(255,255,255,.88);margin-bottom:30px}

/* PERCHE SCEGLIERE PLYTERM */
.why{background:var(--bg-light)}
.why .container{display:flex;gap:40px;align-items:center}
.why-intro{width:32%;flex:none;position:relative}
.why-intro h2{margin-bottom:30px}
.why-intro .tri-l{position:absolute;left:-50px;bottom:-110px;width:0;height:0;border-style:solid;border-width:50px 50px 0 0;border-color:var(--accent) transparent transparent transparent}
.why-media{width:30%;flex:none;position:relative;padding:15px 15px 0 0}
.why-media::before{content:"";position:absolute;right:0;top:0;width:calc(100% - 15px);height:calc(100% - 15px);background:var(--primary)}
.why-media img{position:relative;width:100%;aspect-ratio:378/470;object-fit:cover}
.why-list{flex:1}
.why-item{display:flex;gap:20px;padding:18px 0;border-bottom:1px dashed var(--border)}
.why-item:first-child{padding-top:0}
.why-item:last-child{border-bottom:0;padding-bottom:0}
.why-item .ico{width:60px;height:60px}
.why-item h3{margin:0 0 8px}

/* SETTORI (card progetto) */
.head-split{display:flex;gap:60px;align-items:flex-start;margin-bottom:50px}
.head-split > div{flex:1}
.head-split .txt{padding-top:20px}
.head-split .txt .hr-accent{margin:30px 0 0}
.card-p{position:relative;background:var(--white);box-shadow:var(--shadow);border-bottom:3px solid var(--accent);display:flex;flex-direction:column}
.card-p img{width:100%;aspect-ratio:406/260;object-fit:cover}
.card-p .body{padding:32px 30px 30px;flex:1;display:flex;flex-direction:column}
.card-p h3{margin-bottom:16px}
.card-p p{margin-bottom:26px;flex:1}
.card-p .btn{align-self:flex-start}
.card-p .tri.br{bottom:0}

/* VALORE / SERVIZI */
.value{display:flex;background:var(--primary)}
.value-media{width:50%;position:relative;background-size:cover;background-position:center;min-height:600px}
.keybar{position:absolute;left:0;bottom:25px;width:min(640px,100%);background:var(--white);display:flex;padding:26px 30px}
.keybar .k{flex:1;padding:0 10px;border-right:1px solid var(--border)}
.keybar .k:last-child{border-right:0}
.keybar .k b{display:block;font-size:var(--f-h4);font-weight:700;letter-spacing:-.5px;color:var(--primary);line-height:1.15}
.keybar .k b i{font-style:normal;color:var(--accent)}
.keybar .k span{display:block;margin-top:6px;color:var(--text);font-size:var(--f-body)}
.value-text{width:50%;padding:7em 80px;color:rgba(255,255,255,.9)}
.value-text .w{max-width:640px}
.value-text h2{color:var(--white);margin-bottom:24px}
.value-text > .w > p{margin-bottom:30px}
.vitem{border-left:3px solid var(--accent);padding-left:20px;margin-bottom:26px}
.vitem:last-child{margin-bottom:0}
.vitem h3{color:var(--white);margin-bottom:10px}

/* LUOGHI (al posto delle testimonianze) */
.places{position:relative;background:var(--bg-light)}
.places::before{content:"";position:absolute;inset:0;background:url('../assets/cliente/Riscaldamento-elettrico-chiesa-10.jpg') center/cover;opacity:.05}
.places .container{position:relative}
.places .sec-head{max-width:700px}
.places .sec-head .hr-accent{margin:26px auto 0}
.card-t{background:var(--white);padding:30px;box-shadow:0 10px 30px -15px rgba(0,0,0,.15);display:flex;flex-direction:column}
.card-t p{flex:1;margin-bottom:24px}
.card-t .who{display:flex;align-items:center;gap:15px}
.card-t .who img{width:74px;height:74px;border-radius:50%;object-fit:cover;border:5px solid var(--bg-light)}
.card-t .who b{display:block;font-weight:500;color:var(--primary);font-size:var(--f-body)}
.card-t .who span{font-size:var(--f-small)}

/* NEWS */
.news-head{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-bottom:50px}
.news-head .l{max-width:725px}
.card-n{position:relative;display:block;aspect-ratio:406/560;overflow:hidden;background:var(--primary)}
.card-n img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.card-n::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(29,28,33,0) 25%,rgba(29,28,33,.7) 55%,rgba(29,28,33,.95) 100%)}
.card-n .c{position:absolute;left:25px;right:25px;bottom:38px;z-index:2}
.card-n .cat{color:var(--accent);font-size:var(--f-body);margin-bottom:10px;display:block}
.card-n h3{color:var(--white);margin-bottom:16px}
.card-n .meta{display:flex;gap:10px;align-items:center;color:rgba(255,255,255,.85);font-size:var(--f-small)}
.card-n .meta svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:1.6;vertical-align:-2px;margin-right:4px}
.card-n .meta .dot{width:4px;height:4px;border-radius:50%;background:currentColor}

/* FOOTER */
.site-footer{position:relative;color:rgba(255,255,255,.85);background:var(--primary)}
.site-footer::before{content:"";position:absolute;inset:0;background:url('../assets/cliente/servizio-produzione-6d20fb78.jpeg') center/cover;opacity:.08}
.site-footer .container{position:relative}
.f-top{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:60px 0 30px;border-bottom:1px solid rgba(255,255,255,.15)}
.f-top .logo img{height:56px}
.f-claim{display:flex;align-items:center;gap:20px;color:var(--white);font-size:var(--f-h4);font-weight:500;letter-spacing:-.5px;line-height:1.2}
.f-claim i{font-style:normal;color:var(--accent);font-size:1.15em}
.f-mid{display:grid;grid-template-columns:1.85fr 1fr 1fr 1fr;gap:30px;padding:55px 0 50px;border-bottom:1px solid rgba(255,255,255,.15)}
.f-title{color:var(--white);font-size:var(--f-h5);font-weight:500;letter-spacing:-.2px;margin-bottom:26px;line-height:1.3}
.f-contact{max-width:480px}
.f-contact p{font-size:var(--f-body);margin-bottom:14px;color:rgba(255,255,255,.85)}
.f-contact a{color:var(--white)}
.f-contact .btn{width:100%;margin-top:12px;color:var(--primary)}
.f-links{list-style:none;margin:0;padding:0}
.f-links li{margin-bottom:12px}
.f-links a{color:rgba(255,255,255,.85);font-size:var(--f-body)}
.f-links a:hover{color:var(--accent)}
.f-bot{display:flex;justify-content:space-between;gap:20px;padding:40px 0;font-size:var(--f-small)}
.f-bot nav{display:flex}
.f-bot nav a{color:rgba(255,255,255,.85);padding:0 15px;border-left:1px solid rgba(255,255,255,.25)}
.f-bot nav a:first-child{border-left:0}

/* TABLET */
@media (max-width:1024px){
  .section{padding:4em 0}
  .container{padding:0 25px}
  .nav ul,.nav .sep{display:none}
  .burger{display:block}
  .site-header .container{height:84px}
  .nav.open ul{display:flex;flex-direction:column;position:absolute;top:84px;left:0;right:0;background:rgba(29,28,33,.97);padding:10px 25px 20px}
  .nav.open ul li a{height:auto;padding:12px 0}
  .nav.open ul.sub{display:flex;position:static;box-shadow:none;background:none;padding:0 0 0 16px;min-width:0}
  .nav.open ul.sub li a{color:rgba(255,255,255,.8);padding:8px 0}
  .social{margin-right:14px}
  .nav{flex-direction:row-reverse}
  .hero{min-height:760px;padding:7em 0 3em}
  .hero-content{width:75%}
  .overlap-box{width:100%;margin-top:-60px}
  .about{padding:4em 0}
  .about .container{flex-direction:column;gap:50px}
  .about-media{width:100%}
  .certs{padding:0 0 4em}
  .cert-grid{grid-template-columns:repeat(4,1fr)}
  .band{padding:5em 0}
  .grid3{grid-template-columns:repeat(2,1fr)}
  .dark-band{padding:11em 0 3em}
  .dark-band .inner{width:80%}
  .why .container{flex-wrap:wrap}
  .why-intro{width:100%}
  .why-intro .tri-l{display:none}
  .why-media{width:42%}
  .head-split{flex-direction:column;gap:10px}
  .value{flex-direction:column}
  .value-media,.value-text{width:100%}
  .value-text{padding:4em 25px}
  .f-mid{grid-template-columns:1fr 1fr 1fr}
  .places .grid3,#news .grid3{grid-template-columns:repeat(3,1fr);gap:20px}
  .card-t{padding:22px}
  .f-contact{grid-column:1/-1;max-width:none}
}
/* MOBILE */
@media (max-width:767px){
  .section{padding:2em 0}
  .container{padding:0 16px}
  .site-header .container{height:72px}
  .nav.open ul{top:72px}
  .logo img{height:40px}
  .social{display:none}
  .hero{min-height:640px;padding:6em 0 4em}
  .hero-content{width:100%}
  .hero .btns{gap:12px}
  .overlap-box{margin-top:-40px;flex-direction:column;padding:25px;gap:20px}
  .overlap-box .div{width:100%;height:1px}
  .overlap-box .ico{width:64px;height:64px}
  .about{padding:2.5em 0 2em}
  .about-media{gap:12px}
  .counter-box{width:100%;padding:18px 10px}
  .certs{padding:0 0 2em}
  .certs-box{padding:2em 16px}
  .cert-grid{grid-template-columns:repeat(2,1fr)}
  .band{padding:4em 0}
  .grid3,.places .grid3,#news .grid3{grid-template-columns:1fr;gap:24px}
  .dark-band{padding:12em 0 2em}
  .dark-band .inner{width:100%;padding-left:20px}
  .why .container{flex-direction:column;align-items:stretch;gap:30px}
  .why-media{width:100%}
  .news-head{flex-direction:column;align-items:flex-start}
  .value-media{min-height:520px}
  .keybar{padding:18px 10px;bottom:0}
  .keybar .k{padding:0 8px}
  .value-text{padding:2.5em 16px}
  .f-top{flex-direction:column;align-items:flex-start}
  .f-mid{grid-template-columns:1fr;gap:30px}
  .f-bot{flex-direction:column}
  .f-bot nav a:first-child{padding-left:0}
}

/* ===== PAGINE INTERNE ===== */
.bg-light{background:var(--bg-light)}
.about-like{display:flex;gap:80px;align-items:center}
.form-band{padding-bottom:6em}
.contact-map{padding:0 0 7em}
/* hero delle pagine interne: min-height 525, scritta in filigrana in basso a destra */
.page-hero{position:relative;min-height:525px;padding:7em 0 0;display:flex;align-items:center;color:var(--white);background-size:cover;background-position:center;overflow:hidden}
.page-hero::before{content:"";position:absolute;inset:0;background:rgba(29,28,33,.6)}
.page-hero .container{position:relative;z-index:2;height:100%}
.page-hero .ph-content{max-width:45%;padding:40px 0 70px}
.page-hero h1{color:var(--white);font-size:var(--f-h1);font-weight:700;line-height:1.15;letter-spacing:-1px;margin-bottom:18px}
.page-hero p{color:rgba(255,255,255,.88);font-size:var(--f-medium);line-height:1.4;margin:0}
.page-hero .watermark{position:absolute;right:1em;bottom:-.2em;font-size:clamp(3.25rem, 2.1984rem + 4.6739vw, 5.9375rem);font-weight:800;line-height:1;color:rgba(255,255,255,.28);letter-spacing:0;pointer-events:none;white-space:nowrap}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:var(--f-small);margin:0 0 18px;padding:0;list-style:none;color:rgba(255,255,255,.75)}
.crumbs a{color:var(--white)}
.crumbs a:hover{color:var(--accent)}
.crumbs li+li::before{content:"/";margin-right:8px;color:var(--accent)}

/* contenuto a due colonne 70/30 */
.split{display:flex;gap:40px;align-items:flex-start}
.split .main{width:calc(70% - 20px)}
.split .aside{width:calc(30% - 20px);display:flex;flex-direction:column;gap:30px}
.t-h3{font-size:var(--f-h3);font-weight:700;line-height:1.15;letter-spacing:-.5px}
.main h2{margin-bottom:22px}
.main h3{margin:44px 0 18px}
.main > p{margin-bottom:1.2em}
.checks{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:30px 0 40px}
.check{display:flex;gap:16px;background:var(--white);box-shadow:0 10px 30px -15px rgba(0,0,0,.2);padding:24px 22px}
.check svg{flex:none;width:26px;height:26px;stroke:var(--accent);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.check h4{margin:0 0 6px}
.main .wide-img{width:100%;aspect-ratio:820/460;object-fit:cover}

.side-box{background:var(--bg-light);padding:30px}
.side-box h2{padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid var(--border)}
.side-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.side-list a{display:flex;align-items:center;gap:12px;background:var(--white);padding:9px 15px 9px 12px;color:var(--primary);font-weight:500}
.side-list a span{width:22px;height:22px;flex:none;background:var(--accent);color:var(--primary);display:flex;align-items:center;justify-content:center}
.side-list a span svg{width:10px;height:10px;stroke:currentColor;fill:none;stroke-width:2}
.side-list a.cur,.side-list a:hover{color:var(--accent)}
.side-cta{position:relative;min-height:320px;padding:30px;display:flex;flex-direction:column;justify-content:center;color:rgba(255,255,255,.88);background-size:cover;background-position:center}
.side-cta::before{content:"";position:absolute;inset:0;background:rgba(29,28,33,.7)}
.side-cta > *{position:relative}
.side-cta .tt{color:var(--white);font-size:var(--f-h4);font-weight:700;letter-spacing:-.5px;line-height:1.2;margin-bottom:12px}
.side-cta p{margin-bottom:22px}
.side-cta .btn{align-self:flex-start}
.btn svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8}

/* modulo e domande frequenti */
.form-band{position:relative;background:var(--bg-light)}
.form-band::before{content:"";position:absolute;left:0;right:0;top:0;bottom:0;background:linear-gradient(rgba(29,28,33,.7),rgba(29,28,33,.7)),var(--band-img) center/cover}
.form-band .container{position:relative;display:flex;gap:0;align-items:stretch}
.form-card{width:45%;flex:none;background:var(--white);padding:3em;margin-top:0;box-shadow:var(--shadow)}
.form-card h2{padding-bottom:18px;margin-bottom:24px;border-bottom:1px solid var(--border)}
.form-side{width:55%;padding:6em 0 6em 60px;color:rgba(255,255,255,.88)}
.form-side h2{color:var(--white);margin-bottom:18px}
.form-side > p{margin-bottom:30px}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px 20px}
.fgrid .full{grid-column:1/-1}
.field label{display:block;font-weight:500;color:var(--primary);margin-bottom:8px;font-size:var(--f-body)}
.field input,.field select,.field textarea{width:100%;font:inherit;font-size:var(--f-body);color:var(--primary);background:var(--bg-light);border:1px solid var(--bg-light);border-radius:50px;padding:12px 20px;appearance:none;-webkit-appearance:none}
.field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M1 3l4 4 4-4' fill='none' stroke='%23585857' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 18px center;background-size:10px}
.field textarea{border-radius:20px;min-height:140px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent);background:var(--white)}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:var(--f-small);line-height:1.5}
.consent input{margin-top:3px;accent-color:var(--accent);width:16px;height:16px;flex:none}
.form-actions{margin-top:22px}
.form-actions .btn{border:0}
.acc{border-top:1px solid rgba(255,255,255,.15)}
.acc details{background:rgba(29,28,33,.55);border-bottom:1px solid rgba(255,255,255,.15)}
.acc summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 20px}
.acc summary::-webkit-details-marker{display:none}
.acc summary h3{color:var(--white);margin:0}
.acc summary svg{flex:none;width:14px;height:14px;stroke:var(--white);fill:none;stroke-width:1.8;transition:transform .2s}
.acc details[open] summary svg{transform:rotate(180deg);stroke:var(--accent)}
.acc .a{padding:0 20px 20px}

/* scheda prodotto */
.present{background:var(--primary);color:rgba(255,255,255,.88);padding:4em 0}
.present .container{display:flex;gap:60px;align-items:center;justify-content:space-between}
.present .lines{border-left:3px solid var(--accent);padding-left:30px;max-width:720px}
.present .l1{color:var(--white);font-size:var(--f-h4);font-weight:500;letter-spacing:-.5px;line-height:1.25;margin-bottom:10px}
.present .l2{font-size:var(--f-medium);line-height:1.4}
.present .btns{display:flex;gap:16px;flex-wrap:wrap;flex:none}
.why-head{text-align:center;max-width:700px;margin:0 auto 50px}
.why-head h2{margin-bottom:20px}
.why3{display:flex;gap:40px;align-items:center}
.why3 .why-list{flex:1}
.why3 .why-media{width:30%;flex:none}
.why3 .why-media img{aspect-ratio:378/470;object-fit:cover}
.two{display:flex;gap:80px;align-items:center}
.two > *{flex:1}
.two h2{margin-bottom:24px}
.blist{list-style:none;margin:24px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px 24px}
.blist li{display:flex;gap:10px;align-items:flex-start;color:var(--primary)}
.blist li svg{flex:none;width:18px;height:18px;margin-top:2px;stroke:var(--accent);fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.thermo{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.thermo img{width:100%;aspect-ratio:4/3;object-fit:cover}
.caption{font-size:var(--f-small);margin-top:14px}
.spec{position:relative;background:var(--white);box-shadow:var(--shadow);padding:35px 30px 34px;border-bottom:3px solid var(--accent)}
.spec h3{margin-bottom:22px;padding-bottom:16px;border-bottom:1px solid var(--border)}
.spec h4{font-size:var(--f-h5);font-weight:500;letter-spacing:-.2px;line-height:1.3;color:var(--accent);margin:22px 0 10px}
.spec h4:first-of-type{margin-top:0}
.spec dl{margin:0;display:grid;grid-template-columns:1fr auto;gap:6px 16px}
.spec dt{color:var(--text)}
.spec dd{margin:0;color:var(--primary);font-weight:500;text-align:right}
.note{max-width:900px;margin:40px auto 0;text-align:center;font-size:var(--f-small)}
.profile-imgs{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:center}
.profile-imgs img{width:100%;aspect-ratio:1/1;object-fit:contain;background:var(--bg-light);padding:20px}
.gal-group + .gal-group{margin-top:60px}
.gal-group h3{margin-bottom:24px}
.gal{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.gal figure{position:relative;margin:0;background:var(--white);box-shadow:var(--shadow);border-bottom:3px solid var(--accent)}
.gal img{width:100%;aspect-ratio:406/300;object-fit:cover}
.gal figcaption{padding:16px 20px 20px;color:var(--primary);font-weight:500}
.cta-final{background:var(--primary);padding:4em 0}
.cta-final .container{display:flex;justify-content:space-between;align-items:center;gap:40px}
.cta-final h2{color:var(--white)}

/* contatti */
.info-card{position:relative;display:flex;gap:20px;align-items:flex-start;background:var(--white);box-shadow:var(--shadow);padding:26px 25px}
.info-card .ico{width:48px;height:48px}
.info-card h2{margin:0 0 8px}
.info-card p{margin:0}
.info-card a{color:var(--text)}
.info-card a:hover{color:var(--accent)}
.info-card .tri{right:0;top:0;border-width:0 22px 22px 0;border-color:transparent var(--primary) transparent transparent}
.info-card.first .tri{border-color:transparent var(--accent) transparent transparent}
.social-box{background:var(--white);box-shadow:var(--shadow);padding:25px;display:flex;justify-content:center;gap:10px}
.social-box a{width:38px;height:38px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);color:var(--text)}
.social-box a:hover{color:var(--accent);border-color:var(--accent)}
.social-box svg{width:16px;height:16px;fill:currentColor}
.map{position:relative;height:450px;background-color:#ecebe8;background-image:linear-gradient(90deg,rgba(255,255,255,.9) 2px,transparent 2px),linear-gradient(rgba(255,255,255,.9) 2px,transparent 2px),linear-gradient(90deg,rgba(255,255,255,.5) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.5) 1px,transparent 1px);background-size:180px 140px,180px 140px,45px 35px,45px 35px;overflow:hidden}
.map .road{position:absolute;left:-5%;right:-5%;top:58%;height:10px;background:#fff;transform:rotate(-8deg);box-shadow:0 0 0 1px #dcdad5}
.map .road.b{top:-10%;bottom:-10%;left:62%;right:auto;width:8px;height:auto;transform:rotate(14deg)}
.map .pin{position:absolute;left:50%;top:50%;transform:translate(-50%,-100%);width:38px;height:52px}
.map .pin svg{width:100%;height:100%}
.map .map-card{position:absolute;left:20px;top:20px;background:var(--white);box-shadow:0 2px 10px rgba(0,0,0,.18);padding:16px 18px;max-width:300px;font-size:var(--f-small);line-height:1.5}
.map .map-card b{display:block;color:var(--primary);font-size:var(--f-body);margin-bottom:4px}
.map .map-card .btn{margin-top:12px}

@media (max-width:1024px){
  .page-hero{min-height:420px}
  .about-like{flex-direction:column;gap:50px}
  .form-band{padding-bottom:0}
  .contact-map{padding:0 0 4em}
  .page-hero .ph-content{max-width:80%}
  .split{flex-direction:column}
  .split .main,.split .aside{width:100%}
  .split .aside{display:grid;grid-template-columns:1fr 1fr;gap:24px}
  .form-band .container{flex-direction:column}
  .form-card,.form-side{width:100%}
  .form-card{margin-top:4em}
  .form-side{padding:3em 0 4em}
  .present .container{flex-direction:column;align-items:flex-start;gap:30px}
  .why3{flex-wrap:wrap}
  .why3 .why-list{flex:1 1 40%}
  .why3 .why-media{order:-1;width:100%;max-width:420px;margin:0 auto}
  .two{flex-direction:column;gap:40px}
  .gal{gap:20px}
  .cta-final .container{flex-direction:column;align-items:flex-start}
  .contact-aside{grid-template-columns:1fr 1fr}
}
@media (max-width:767px){
  .page-hero{min-height:380px;padding-top:72px}
  .contact-map{padding:0 0 2em}
  .page-hero .ph-content{max-width:100%;padding:40px 0 60px}
  .split .aside{display:flex}
  .checks{grid-template-columns:1fr;gap:16px}
  .form-card{padding:2em 18px;margin-top:2em}
  .fgrid{grid-template-columns:1fr}
  .why3{flex-direction:column}
  .why3 .why-list{flex:none;width:100%}
  .blist{grid-template-columns:1fr}
  .thermo,.profile-imgs{grid-template-columns:1fr 1fr;gap:12px}
  .gal{grid-template-columns:1fr 1fr;gap:12px}
  .gal figcaption{padding:10px 12px 14px;font-size:var(--f-small)}
  .present{padding:3em 0}
  .present .lines{padding-left:20px}
  .map{height:380px}
  .map .map-card{left:12px;right:12px;max-width:none}
}
