@import url('https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--red:#ed1738;--red2:#be0f2a;--ink:#090a0a;--night:#080909;--paper:#f1efe8;--surface:#e5e1d7;--line:#cfcbc0;--muted:#727a74;--green:#2d9f3a;--gold:#f6c653;--max:1460px;--shadow:0 30px 90px rgba(0,0,0,.14)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif}a{color:inherit}img{max-width:100%}button,input,select,textarea{font:inherit}.serif{font-family:'Instrument Serif',Georgia,serif;font-weight:400;font-style:italic}.section-label{font-size:9px;font-weight:800;letter-spacing:.2em;color:var(--red)}.display{font-size:clamp(48px,5.8vw,84px);line-height:.96;letter-spacing:-.065em;margin:14px 0 26px}.bodycopy{font-size:13px;line-height:1.85;color:var(--muted);max-width:650px}.section{max-width:var(--max);margin:auto;padding:130px 28px}.split{display:grid;grid-template-columns:1.05fr .95fr;gap:90px;align-items:start}.cta{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--red);color:white!important;text-decoration:none;border:0;border-radius:999px;padding:15px 21px;font-size:10px;font-weight:800;cursor:pointer;box-shadow:0 13px 34px rgba(237,23,56,.22);transition:.22s}.cta:hover{transform:translateY(-2px);box-shadow:0 18px 42px rgba(237,23,56,.3)}.cta.dark{background:var(--ink);box-shadow:none}.text-link{display:inline-flex;align-items:center;gap:8px;color:inherit;text-decoration:none;border-bottom:1px solid currentColor;padding:9px 0;font-size:10px;font-weight:800}.progress{position:fixed;left:0;right:0;top:0;height:3px;z-index:3000;background:rgba(255,255,255,.04)}.progress i{display:block;width:100%;height:100%;background:var(--red);transform:scaleX(0);transform-origin:left;box-shadow:0 0 18px rgba(237,23,56,.55)}
/* Brand intro */.brand-intro{position:fixed;inset:0;background:#070808;z-index:5000;display:grid;place-items:center;overflow:hidden;animation:introExit .55s 1.85s cubic-bezier(.7,0,.2,1) forwards}.brand-intro:before{content:"";position:absolute;left:-15%;right:-15%;top:50%;height:1px;background:linear-gradient(90deg,transparent,var(--red),transparent);transform:scaleX(0);animation:sweep 1.05s .25s cubic-bezier(.2,.8,.2,1) forwards}.brand-stage{position:relative;width:min(650px,78vw);height:210px;display:grid;place-items:center}.brand-stage img{width:min(570px,75vw);filter:drop-shadow(0 18px 48px rgba(0,0,0,.35));clip-path:inset(0 100% 0 0);animation:logoReveal .95s .45s cubic-bezier(.25,.8,.2,1) forwards}.brand-stage:after{content:"ENERGY  ·  COMFORT  ·  EFFICIENZA";position:absolute;bottom:5px;left:0;right:0;text-align:center;color:#777f79;font-size:7px;letter-spacing:.28em;opacity:0;animation:captionIn .45s 1.15s forwards}.brand-flare{position:absolute;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(237,23,56,.12),transparent 68%);filter:blur(6px);animation:flare 1.6s ease both}@keyframes sweep{to{transform:scaleX(1)}}@keyframes logoReveal{to{clip-path:inset(0 0 0 0)}}@keyframes captionIn{to{opacity:1;transform:translateY(-8px)}}@keyframes flare{0%{transform:scale(.6);opacity:0}50%{opacity:1}100%{transform:scale(1.4);opacity:.2}}@keyframes introExit{to{opacity:0;visibility:hidden;transform:scale(1.025)}}
/* header */header{position:fixed;z-index:500;left:18px;right:18px;top:14px;pointer-events:none}.nav{max-width:1500px;height:66px;margin:auto;padding:0 10px 0 14px;background:rgba(9,10,10,.78);border:1px solid rgba(255,255,255,.13);border-radius:999px;backdrop-filter:blur(22px) saturate(140%);display:flex;align-items:center;gap:20px;pointer-events:auto;box-shadow:0 15px 50px rgba(0,0,0,.16)}.logo{width:148px;display:flex;align-items:center;flex:none}.logo img{display:block;width:100%;height:auto}.navlinks{display:flex;gap:18px;margin-left:auto;align-items:center}.navlinks a{color:#b7bdb8;text-decoration:none;font-size:9px;font-weight:700;white-space:nowrap}.navlinks a:hover,.navlinks a.active{color:#fff}.nav-actions{display:flex;align-items:center;gap:6px}.round{width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.15);display:grid;place-items:center;color:white;text-decoration:none;background:rgba(255,255,255,.05);font-size:14px}.nav .cta{height:44px;padding:0 18px;font-size:9px}.menu{display:none;background:none;border:0;color:white;font-size:22px;padding:8px}.mobile-menu{display:none;position:absolute;top:75px;left:0;right:0;max-width:700px;margin:auto;background:rgba(8,9,9,.98);border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:12px;backdrop-filter:blur(20px);box-shadow:var(--shadow);pointer-events:auto;z-index:10;max-height:calc(100svh - 96px);overflow:auto;-webkit-overflow-scrolling:touch}.mobile-menu.open{display:block}.mobile-menu a{display:block;color:white;text-decoration:none;padding:14px 10px;border-bottom:1px solid rgba(255,255,255,.08);font-size:12px;font-weight:750}.mobile-menu a:last-child{border:0;background:var(--red);border-radius:12px;margin-top:8px}
/* home hero */.hero{min-height:100svh;position:relative;color:white;background:radial-gradient(circle at 77% 18%,rgba(237,23,56,.18),transparent 20%),linear-gradient(110deg,rgba(5,6,6,.97) 0%,rgba(5,6,6,.76) 48%,rgba(5,6,6,.32) 75%),url('../media/realizzazioni/tetto-fotovoltaico-03.jpg') center/cover no-repeat;display:flex;align-items:flex-end;padding:160px max(28px,calc((100vw - var(--max))/2)) 74px;overflow:hidden}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,4,4,.8),transparent 50%);pointer-events:none}.hero-copy{position:relative;z-index:2;width:min(850px,62vw);padding-bottom:35px}.eyebrow{font-size:9px;font-weight:800;letter-spacing:.2em;color:#ff7184}.hero h1{font-size:clamp(64px,7.4vw,112px);line-height:.88;letter-spacing:-.075em;margin:18px 0 26px}.hero p{max-width:650px;font-size:14px;line-height:1.72;color:#c2c8c3}.hero-actions{display:flex;gap:22px;align-items:center;margin-top:28px}.hero .text-link{color:white}.hero-card{position:absolute;z-index:3;right:max(28px,calc((100vw - var(--max))/2));bottom:70px;width:370px;background:rgba(12,13,13,.74);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(24px);padding:24px;border-radius:22px;box-shadow:0 30px 80px rgba(0,0,0,.28)}.hero-card small{font-size:7px;letter-spacing:.17em;color:#ff8190;font-weight:900}.hero-card h2{font-size:27px;line-height:1.03;letter-spacing:-.045em;margin:15px 0 8px}.hero-card p{font-size:9px;color:#9fa7a0}.address-row{display:grid;grid-template-columns:1fr auto;background:#f6f3eb;border-radius:999px;padding:6px 6px 6px 15px;margin-top:16px}.address-row input{border:0;background:transparent;outline:0;min-width:0}.address-row button{width:40px;height:40px;border:0;border-radius:50%;background:var(--red);color:#fff;cursor:pointer}.hero-topline{position:absolute;z-index:2;top:110px;left:max(28px,calc((100vw - var(--max))/2));right:max(28px,calc((100vw - var(--max))/2));display:flex;justify-content:space-between;color:#aab2ac;font-size:7px;letter-spacing:.22em;font-weight:800}
.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);margin-top:45px}.stats div{padding:22px 18px 5px 0;border-right:1px solid var(--line)}.stats div+div{padding-left:18px}.stats div:last-child{border:0}.stats strong{display:block;font-size:34px;letter-spacing:-.05em}.stats span{font-size:8px;color:var(--muted);line-height:1.45;display:block;margin-top:5px}.callback{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:26px;box-shadow:0 30px 70px rgba(0,0,0,.07)}.quick-form{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:8px;align-items:end}.field label{display:block;font-size:7px;letter-spacing:.12em;text-transform:uppercase;font-weight:800;color:#747b75;margin:0 0 6px 4px}.field input,.field select{width:100%;height:48px;border:1px solid #d3cfc4;background:#f8f6f0;border-radius:999px;padding:0 15px;outline:none}.privacy{font-size:7px;color:var(--muted);display:flex;align-items:flex-start;gap:6px;margin-top:4px}.form-message{font-size:8px;margin-top:6px}.form-message.ok{color:var(--green)}.form-message.err{color:var(--red)}
/* reviews */.reviews{background:#0a0b0b;color:white;padding:120px max(28px,calc((100vw - var(--max))/2))}.reviews-head{display:grid;grid-template-columns:1fr auto;gap:60px;align-items:end}.reviews h2{font-size:clamp(52px,6vw,84px);line-height:.94;letter-spacing:-.065em;margin:14px 0 0}.rating{display:flex;gap:24px;align-items:center;border-left:1px solid rgba(255,255,255,.15);padding-left:35px}.rating>strong{font-size:88px;line-height:.8;letter-spacing:-.08em}.rating b,.rating small{display:block}.rating b{font-size:10px;margin-top:7px}.rating small{font-size:7px;color:#7f8780;margin-top:4px}.stars{color:var(--gold);letter-spacing:.08em;font-size:19px}.review-grid{display:grid;grid-template-columns:1fr 1fr 1.15fr;gap:8px;margin-top:60px}.review{min-height:290px;padding:24px;border:1px solid #292d2a;background:#111312;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden}.review:before{content:"";position:absolute;width:180px;height:180px;border-radius:50%;border:1px solid rgba(255,255,255,.05);right:-70px;top:-70px}.review .top{font-size:31px;font-weight:800;color:var(--gold);margin-bottom:auto}.review h3{font-size:27px;line-height:1;letter-spacing:-.045em;margin:0 0 10px}.review p{font-size:9px;line-height:1.7;color:#858c86;max-width:330px}.review a{font-size:9px;font-weight:800;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.3);padding-bottom:7px;width:max-content;margin-top:15px}
/* service scenes */.services{background:var(--night);color:white;padding:120px max(18px,calc((100vw - 1500px)/2))}.services-head{display:flex;justify-content:space-between;align-items:end;margin:0 18px 45px}.services-head h2{font-size:clamp(50px,5.8vw,80px);line-height:.94;letter-spacing:-.065em;margin:10px 0 0}.service-grid{display:grid;grid-template-columns:1.18fr .91fr .91fr;gap:10px}.service-scene{min-height:620px;position:relative;overflow:hidden;text-decoration:none;color:white;padding:26px;display:flex;flex-direction:column;justify-content:flex-end;background-size:cover;background-position:center;border-radius:8px}.service-scene:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,4,4,.9),rgba(3,4,4,.08) 72%),linear-gradient(90deg,rgba(3,4,4,.3),transparent);transition:.35s}.service-scene:after{content:"";position:absolute;inset:0;background:rgba(237,23,56,.18);opacity:0;transition:.35s}.service-scene:hover:after{opacity:1}.service-scene>*{position:relative;z-index:2}.service-scene .num{position:absolute;top:24px;left:24px;font-size:8px;letter-spacing:.15em}.service-scene small{font-size:7px;letter-spacing:.18em;color:#c3c9c3}.service-scene h3{font-size:clamp(32px,3.1vw,50px);line-height:.95;letter-spacing:-.055em;margin:8px 0 12px}.service-scene p{font-size:10px;line-height:1.6;color:#c3c9c3;max-width:350px}.s1{background-image:url('../media/realizzazioni/tetto-fotovoltaico-03.jpg')}.s2{background-image:linear-gradient(135deg,#20302a,#0b0d0c)}.s3{background-image:linear-gradient(135deg,#1d2831,#0c0d0e)}
.energy{min-height:860px;position:relative;background:linear-gradient(90deg,rgba(3,4,4,.92),rgba(3,4,4,.56) 54%,rgba(3,4,4,.16)),url('../img/energy-system.jpg') center/cover no-repeat;color:white;padding:120px max(28px,calc((100vw - var(--max))/2));display:flex;align-items:center}.energy-copy{max-width:760px}.energy h2{font-size:clamp(58px,6.5vw,94px);line-height:.9;letter-spacing:-.07em;margin:15px 0 24px}.energy p{font-size:13px;line-height:1.8;color:#c2c8c2;max-width:590px}.ecosystem{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid rgba(255,255,255,.22);margin-top:52px}.ecosystem div{padding:14px 12px;border-right:1px solid rgba(255,255,255,.12)}.ecosystem b{display:block;font:500 9px monospace;color:#ff7586}.ecosystem span{font-size:9px}.method-grid{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid var(--line);margin-top:65px}.method-grid article{min-height:205px;padding:24px 18px 30px 0;border-right:1px solid var(--line);position:relative}.method-grid article+article{padding-left:18px}.method-grid small{font:500 9px monospace;color:#808680}.method-grid h3{font-size:20px;margin:55px 0 8px}.method-grid p{font-size:9px;color:var(--muted)}.method-grid article:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--red);position:absolute;left:0;top:-4px}.audience{display:grid;grid-template-columns:1fr 1fr;min-height:560px}.audience a{padding:70px;color:white;text-decoration:none;display:flex;flex-direction:column;justify-content:space-between;background:#111312}.audience a:nth-child(2){background:#ddd8cd;color:var(--ink)}.audience small{font-size:8px;letter-spacing:.18em}.audience h2{font-size:clamp(50px,5vw,74px);line-height:.94;letter-spacing:-.06em;margin:0}.projects{display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:10px;margin-top:48px}.project{position:relative;margin:0;min-height:520px;overflow:hidden;background:#ddd}.project img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:.5s}.project:hover img{transform:scale(1.04)}.project figcaption{position:absolute;left:18px;right:18px;bottom:18px;color:white;background:rgba(8,9,9,.7);backdrop-filter:blur(12px);padding:14px}.project figcaption span,.project figcaption b{display:block}.project figcaption span{font-size:7px;letter-spacing:.16em;color:#ff7d8d}.project figcaption b{font-size:11px;margin-top:4px}.final-cta{background:var(--red);color:white;padding:115px max(28px,calc((100vw - var(--max))/2));text-align:center;position:relative;overflow:hidden}.final-cta:before{content:"";position:absolute;width:700px;height:700px;border:1px solid rgba(255,255,255,.15);border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}.final-cta>*{position:relative}.final-cta h2{font-size:clamp(62px,7.5vw,110px);line-height:.88;letter-spacing:-.075em;margin:18px 0 22px}.final-cta p{color:#ffe5e9}.final-cta .cta{background:#090a0a;box-shadow:none}.final-cta .text-link{color:white;margin-left:20px}
/* interior pages */.page-hero{min-height:820px;background:#0a0b0b;color:white;display:grid;grid-template-columns:.82fr 1.18fr;padding-left:max(28px,calc((100vw - var(--max))/2));overflow:hidden}.page-copy{padding:170px 65px 90px 0;display:flex;flex-direction:column;justify-content:flex-end}.page-copy h1{font-size:clamp(60px,6.8vw,100px);line-height:.88;letter-spacing:-.07em;margin:16px 0 24px}.page-copy p{font-size:12px;line-height:1.8;color:#a0a7a1;max-width:590px}.page-visual{min-height:820px;position:relative;background-size:cover;background-position:center}.page-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,11,11,.42),transparent 40%)}.visual-pv{background-image:url('../media/realizzazioni/tetto-fotovoltaico-03.jpg')}.visual-pdc{background-image:url('../img/energy-pdc.jpg')}.visual-clima{background-image:url('../img/energy-climate.jpg')}.visual-business{background-image:url('../img/energy-business.jpg')}.visual-house{background-image:url('../img/energy-system.jpg')}.benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.benefit-grid article{padding:34px 30px 40px 0;border-right:1px solid var(--line)}.benefit-grid article+article{padding-left:30px}.benefit-grid article:last-child{border:0}.benefit-grid h3{font-size:24px;letter-spacing:-.04em;margin:25px 0 10px}.benefit-grid p{font-size:10px;line-height:1.7;color:var(--muted)}.explainer{background:#ded9ce;padding:120px max(28px,calc((100vw - var(--max))/2));display:grid;grid-template-columns:.85fr 1.15fr;gap:80px}.explainer h2{font-size:clamp(48px,5.5vw,76px);line-height:.96;letter-spacing:-.06em;margin:12px 0}.explainer p{font-size:12px;line-height:1.8;color:#5f655f}.point-list{border-top:1px solid #bdb8ad}.point-list div{display:grid;grid-template-columns:40px 1fr;gap:18px;padding:18px 0;border-bottom:1px solid #bdb8ad}.point-list b{color:var(--red);font:600 9px monospace}.point-list span{font-size:10px;line-height:1.55}.tech-band{background:#0a0b0b;color:white;padding:100px max(28px,calc((100vw - var(--max))/2))}.tech-flow{display:grid;grid-template-columns:repeat(4,1fr);margin-top:45px;border-top:1px solid #343836;border-bottom:1px solid #343836}.tech-flow div{padding:35px 24px;border-right:1px solid #343836}.tech-flow div:last-child{border:0}.tech-flow b{display:block;color:#ff7889;font:600 9px monospace}.tech-flow h3{font-size:21px;margin:35px 0 8px}.tech-flow p{font-size:9px;color:#929a93;line-height:1.6}.faq{max-width:1100px;margin:auto;padding:120px 28px}.faq h2{font-size:54px;letter-spacing:-.055em}.faq details{border-top:1px solid var(--line);padding:18px 0}.faq summary{cursor:pointer;font-size:13px;font-weight:750}.faq p{font-size:10px;color:var(--muted);line-height:1.7;max-width:850px}.contact-band{padding:52px max(28px,calc((100vw - var(--max))/2));display:grid;grid-template-columns:.6fr 1.4fr;gap:50px;align-items:end}.contact-band h2{font-size:32px;letter-spacing:-.045em;margin:8px 0}.contact-band p{font-size:9px;color:var(--muted)}
/* contacts */.contact-hero{background:#0a0b0b;color:white;padding:180px max(28px,calc((100vw - 1420px)/2)) 95px;display:grid;grid-template-columns:.95fr 1.05fr;gap:90px;align-items:end}.contact-hero h1{font-size:clamp(60px,7vw,100px);line-height:.88;letter-spacing:-.075em;margin:15px 0 24px}.contact-hero p{font-size:12px;color:#aeb5af;line-height:1.8}.contact-body{max-width:1420px;margin:auto;padding:120px 28px 140px;display:grid;grid-template-columns:.75fr 1.25fr;gap:90px}.contact-list{border-top:1px solid var(--line)}.contact-list a,.contact-list div{display:flex;gap:14px;padding:19px 0;border-bottom:1px solid var(--line);text-decoration:none}.contact-list small,.contact-list b{display:block}.contact-list small{font-size:7px;color:var(--muted);letter-spacing:.14em}.contact-list b{font-size:11px;margin-top:4px}.full-form{background:var(--surface);padding:34px;border-radius:22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid .full{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea{width:100%;border:1px solid var(--line);background:#f8f6f0;border-radius:12px;padding:14px;outline:none}.form-grid textarea{min-height:140px;resize:vertical}.form-grid label{font-size:8px;font-weight:800;color:#626862}.form-grid label span{display:block;margin-bottom:6px}
/* callback dock */.callback-dock{position:fixed;right:18px;bottom:18px;z-index:800}.callback-trigger{display:flex;align-items:center;gap:10px;background:#090a0a;color:white;border:0;border-radius:999px;padding:7px 17px 7px 7px;cursor:pointer;box-shadow:0 20px 60px rgba(0,0,0,.26)}.callback-trigger i{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--red);font-style:normal;position:relative}.callback-trigger i:after{content:"";position:absolute;inset:-4px;border:1px solid rgba(237,23,56,.45);border-radius:50%;animation:pulse 2s infinite}@keyframes pulse{50%{transform:scale(1.12);opacity:.8}}.callback-trigger small,.callback-trigger b{display:block;text-align:left}.callback-trigger small{font-size:6px;color:#8f968f;letter-spacing:.12em}.callback-trigger b{font-size:10px}.callback-panel{display:none;width:370px;background:var(--paper);border-radius:20px;padding:24px;box-shadow:0 30px 90px rgba(0,0,0,.3);border:1px solid var(--line)}.callback-panel.open{display:block;animation:panelIn .35s ease both}.callback-panel .close{float:right;width:30px;height:30px;border:0;border-radius:50%;background:#dedad0;cursor:pointer}.callback-panel h3{font-size:27px;letter-spacing:-.04em;margin:8px 0}.callback-panel p{font-size:9px;color:var(--muted)}@keyframes panelIn{from{opacity:0;transform:translateY(15px) scale(.97)}to{opacity:1;transform:none}}
/* footer */footer{background:#080909;color:#f1efe8;padding:100px 28px 110px}.footer-grid{max-width:1420px;margin:auto;display:grid;grid-template-columns:1.4fr 1fr .8fr;gap:80px}.footer-logo{width:220px;margin-bottom:22px}.footer-grid p,.footer-grid a{font-size:10px;color:#929992;line-height:1.75}.footer-grid a{display:block;text-decoration:none;margin:7px 0}.footer-grid h3{font-size:11px;text-transform:uppercase;letter-spacing:.1em}.legal{max-width:1420px;margin:55px auto 0;padding-top:22px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;gap:30px;font-size:8px;color:#6f766f}
/* simulator */.sim-page-hero{background:#0a0b0b;color:white;padding:170px max(28px,calc((100vw - 1280px)/2)) 85px;position:relative;overflow:hidden}.sim-page-hero:after{content:"";position:absolute;width:620px;height:620px;border:1px solid rgba(237,23,56,.16);border-radius:50%;right:-180px;top:-260px}.sim-page-hero>*{position:relative;z-index:1}.sim-page-hero h1{font-size:clamp(64px,7vw,104px);line-height:.88;letter-spacing:-.07em;margin:17px 0 22px}.sim-page-hero p{max-width:650px;color:#9fa69f;font-size:12px;line-height:1.8}.sim-wrap{background:#dcd8ce;padding:70px 20px 120px}.simulator{max-width:1120px;margin:auto;background:#0b0c0c;color:#f3f1ea;border:1px solid #282c29;border-radius:24px;overflow:hidden;box-shadow:0 35px 100px rgba(0,0,0,.18)}.sim-top{display:flex;justify-content:space-between;align-items:center;padding:21px 25px;border-bottom:1px solid #292d2a}.sim-top span{display:block;font-size:7px;letter-spacing:.18em;color:#ff7e8e;font-weight:900}.sim-top b{display:block;font-size:16px;margin-top:4px}.sim-reset{border:1px solid #343835;background:#141615;color:white;border-radius:999px;padding:9px 13px;cursor:pointer;font-size:8px}.sim-progress{display:grid;grid-template-columns:repeat(5,1fr);padding:0 25px}.sim-progress div{position:relative;padding:16px 5px 14px;border-bottom:1px solid #303431}.sim-progress i{position:absolute;left:0;bottom:-1px;height:2px;width:0;background:var(--red);transition:.3s}.sim-progress .on i{width:100%}.sim-progress span{font-size:7px;color:#68716a}.sim-progress .on span{color:#fff}.sim-stage{padding:42px 45px 50px}.sim-step{display:none}.sim-step.active{display:block;animation:stepIn .35s ease both}@keyframes stepIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.sim-step header span,.result-intro>span{font-size:8px;letter-spacing:.19em;color:#ff7788;font-weight:900}.sim-step h2,.result-intro h2{font-size:clamp(45px,5vw,68px);line-height:.95;letter-spacing:-.06em;margin:11px 0 12px}.sim-step header p,.result-intro p{font-size:10px;color:#879088;line-height:1.7;max-width:760px}.choice-title{font-size:8px;letter-spacing:.1em;color:#8d968e;text-transform:uppercase;margin:30px 0 10px}.choice-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.choice-grid button,.option-grid button,.future-grid button,.battery-grid button{border:1px solid #303431;background:#121412;color:white;border-radius:12px;padding:16px;text-align:left;cursor:pointer;transition:.2s}.choice-grid button.selected,.option-grid button.selected,.future-grid button.selected,.battery-grid button.selected{border-color:var(--red);background:#271316}.choice-grid b,.battery-grid b{display:block;margin-top:14px}.choice-grid small,.battery-grid p{font-size:8px;color:#7f8880;line-height:1.5}.sim-field{margin-top:24px}.sim-field>label{font-size:8px;color:#939a94;text-transform:uppercase;letter-spacing:.1em}.big-input{display:flex;align-items:center;border-bottom:1px solid #333734;padding:8px 0;margin-top:4px}.big-input input{flex:1;background:transparent;border:0;outline:0;color:white;font-size:54px;font-weight:750;min-width:0}.big-input span{font-size:11px;color:#8d958e}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}.slider-box{margin-top:25px;padding:20px;background:#121412;border:1px solid #2f3330;border-radius:13px}.slider-head{display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:9px}.slider-box input[type=range]{width:100%;accent-color:var(--red);margin-top:18px}.future-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.future-grid button{display:flex;gap:10px;align-items:center}.future-grid button>span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#232724;color:#fff}.future-grid button.selected>span{background:var(--red)}.future-grid b,.future-grid small{display:block}.future-grid b{font-size:10px}.future-grid small{font-size:7px;color:#7c857e;margin-top:3px}.green-preview{margin-top:20px;background:var(--green);color:white;padding:16px;border-radius:12px;display:flex;justify-content:space-between;gap:20px;align-items:center}.green-preview span{font-size:8px}.green-preview strong{font-size:20px}.option-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:7px}.option-grid button{text-align:center;padding:14px 7px}.stack-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:8px}.stack-grid button{border:1px solid #303431;background:#121412;color:white;border-radius:10px;padding:13px;cursor:pointer}.stack-grid button.selected{border-color:var(--red);background:#271316}.select-field select,.select-field input{width:100%;height:48px;border:1px solid #303431;background:#131513;color:white;border-radius:10px;padding:0 12px;margin-top:7px}.battery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:22px}.battery-grid button{min-height:190px}.battery-grid button>span{font:500 8px monospace;color:#777f78}.result-strip{display:grid;grid-template-columns:repeat(4,1fr);background:#2d312e;gap:1px;margin-top:25px}.result-strip div{background:#121412;padding:18px}.result-strip small{font-size:7px;color:#777f78}.result-strip strong{display:block;font-size:25px;color:#ff7283;margin-top:5px}.sim-nav{display:grid;grid-template-columns:auto 1fr auto;gap:25px;align-items:center;padding:18px 25px;background:#dcd8ce;color:#0a0b0b}.sim-nav button{border:0;border-radius:999px;padding:13px 18px;cursor:pointer;font-size:9px;font-weight:800}.sim-prev{background:transparent;border:1px solid #bcb7ab!important}.sim-next{background:var(--red);color:white}.navline{height:2px;background:#bbb6ab;margin-top:7px}.navline i{display:block;height:100%;background:var(--red);transition:.3s}.sim-nav small{font-size:7px;color:#777d77}.lead-gate{margin-top:25px;background:#141615;border:1px solid #303431;border-radius:16px;padding:22px}.lead-gate h3{font-size:25px;letter-spacing:-.04em;margin:4px 0 8px}.lead-gate p{font-size:8px;color:#7e8780}.lead-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:16px}.lead-grid input,.lead-grid select{height:45px;border:1px solid #323632;background:#0f1110;color:white;border-radius:9px;padding:0 11px}.report{display:none;margin-top:28px}.report.unlocked{display:block}.report-hero{display:grid;grid-template-columns:1.7fr .65fr .65fr;border:1px solid #2c302d}.report-hero>div{padding:22px;border-right:1px solid #2c302d}.report-hero>div:last-child{border:0}.report-hero strong{display:block;font-size:56px;color:#ff7284;letter-spacing:-.06em}.report-hero b{font-size:26px;color:#ff7284}.report-hero small,.report-hero span{display:block;font-size:7px;color:#7e8780}.chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.chart-card{background:#121412;border:1px solid #2e322f;border-radius:13px;padding:18px;min-height:310px}.chart-card h3{font-size:21px;margin:5px 0 15px}.bars{height:200px;display:flex;align-items:flex-end;gap:7px;border-bottom:1px solid #3a3e3a;padding:0 5px 18px}.bar-col{flex:1;height:100%;display:flex;align-items:flex-end;justify-content:center;position:relative}.bar-col i{display:block;width:72%;background:linear-gradient(180deg,#54c65f,#2d9f3a);border-radius:6px 6px 0 0;min-height:4px}.bar-col span{position:absolute;bottom:-16px;font-size:6px;color:#737b74}.compare-bars{display:flex;align-items:flex-end;justify-content:center;gap:50px;height:200px}.compare-bars div{width:90px;display:flex;flex-direction:column;justify-content:flex-end;text-align:center;height:100%}.compare-bars i{display:block;background:#575f59;border-radius:8px 8px 0 0}.compare-bars div:last-child i{background:var(--green)}.compare-bars span{font-size:7px;margin-top:7px;color:#818a82}.download-row{background:var(--red);color:white;padding:18px;margin-top:12px;display:flex;align-items:center;justify-content:space-between;gap:20px}.download-row b,.download-row span{display:block}.download-row b{font-size:13px}.download-row span{font-size:8px;color:#ffdce1}.download-row button{background:#0a0b0b;color:white;border:0;border-radius:999px;padding:12px 16px;font-size:8px;font-weight:800;cursor:pointer}
/* gallery */.gallery-hero{background:#0a0b0b;color:white;padding:180px max(28px,calc((100vw - var(--max))/2)) 95px}.gallery-hero h1{font-size:clamp(62px,7vw,104px);line-height:.88;letter-spacing:-.075em;margin:16px 0 24px}.gallery{max-width:1500px;margin:auto;padding:20px 18px 120px;display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:420px;gap:10px}.gallery figure{margin:0;position:relative;overflow:hidden;background:#ddd}.gallery figure.large{grid-column:span 2}.gallery img{width:100%;height:100%;object-fit:cover}.gallery figcaption{position:absolute;left:16px;right:16px;bottom:16px;background:rgba(8,9,9,.7);color:white;padding:13px;backdrop-filter:blur(10px)}.gallery figcaption small,.gallery figcaption b{display:block}.gallery figcaption small{font-size:7px;color:#ff7a8c;letter-spacing:.15em}.gallery figcaption b{font-size:10px;margin-top:3px}
@media(max-width:1100px){.navlinks{display:none}.menu{display:block}.hero-copy{width:100%;padding-bottom:260px}.hero-card{left:max(28px,calc((100vw - var(--max))/2));right:auto}.split,.contact-body,.contact-hero,.page-hero,.explainer{grid-template-columns:1fr}.page-hero{padding-left:0}.page-copy{padding:150px 28px 70px}.page-visual{min-height:520px}.quick-form{grid-template-columns:1fr 1fr}.quick-form .submit-wrap{grid-column:1/-1}.reviews-head{grid-template-columns:1fr}.rating{border-left:0;border-top:1px solid rgba(255,255,255,.15);padding:25px 0 0}.review-grid{grid-template-columns:1fr 1fr}.review-grid .review:last-child{grid-column:1/-1}.service-grid{grid-template-columns:1fr}.service-scene{min-height:500px}.method-grid{grid-template-columns:repeat(3,1fr)}.projects{grid-template-columns:1fr 1fr}.projects .project:first-child{grid-column:1/-1}.audience{grid-template-columns:1fr}.contact-band{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.option-grid{grid-template-columns:repeat(4,1fr)}.gallery{grid-template-columns:1fr 1fr}.gallery figure.large{grid-column:span 2}}
@media(max-width:700px){header{top:8px;left:8px;right:8px}.nav{height:58px}.logo{width:122px}.nav-actions .round,.nav-actions .cta{display:none}.hero{min-height:940px;padding:120px 20px 45px;background-position:60% center}.hero-topline{top:88px;left:20px;right:20px}.hero-topline span:last-child{display:none}.hero-copy{padding-bottom:310px}.hero h1{font-size:58px}.hero-card{left:20px;right:20px;bottom:45px;width:auto}.hero-actions{align-items:flex-start;flex-direction:column}.section{padding:90px 20px}.display{font-size:50px}.stats{grid-template-columns:1fr}.stats div,.stats div+div{border-right:0;border-bottom:1px solid var(--line);padding:17px 0}.quick-form{grid-template-columns:1fr}.reviews{padding:85px 20px}.reviews h2{font-size:50px}.rating>strong{font-size:68px}.review-grid{grid-template-columns:1fr}.review-grid .review:last-child{grid-column:auto}.services{padding:85px 10px}.services-head{display:block}.services-head h2{font-size:50px}.service-scene{min-height:470px}.energy{padding:90px 20px;min-height:790px;background-position:58% center}.energy h2{font-size:56px}.ecosystem{grid-template-columns:1fr 1fr}.method-grid{grid-template-columns:1fr 1fr}.audience a{min-height:420px;padding:35px 24px}.projects{grid-template-columns:1fr}.projects .project:first-child{grid-column:auto}.project{min-height:360px}.final-cta{padding:95px 20px}.final-cta h2{font-size:60px}.final-cta .text-link{margin-left:0;margin-top:12px}.page-copy{padding:130px 20px 60px}.page-copy h1{font-size:58px}.page-visual{min-height:420px}.benefit-grid{grid-template-columns:1fr}.benefit-grid article,.benefit-grid article+article{border-right:0;border-bottom:1px solid var(--line);padding:26px 0}.explainer{padding:90px 20px}.tech-band{padding:80px 20px}.tech-flow{grid-template-columns:1fr 1fr}.faq{padding:90px 20px}.contact-band{padding:45px 20px}.contact-hero{padding:140px 20px 70px}.contact-hero h1{font-size:58px}.contact-body{padding:90px 20px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.footer-grid{grid-template-columns:1fr}.legal{flex-direction:column}.callback-dock{left:10px;right:10px;bottom:10px}.callback-trigger{margin-left:auto}.callback-panel{width:100%}.sim-page-hero{padding:140px 20px 75px}.sim-page-hero h1{font-size:59px}.sim-wrap{padding:35px 8px 100px}.simulator{border-radius:18px}.sim-stage{padding:32px 18px 38px}.sim-progress span{display:none}.choice-grid,.future-grid,.battery-grid{grid-template-columns:1fr 1fr}.option-grid{grid-template-columns:repeat(4,1fr)}.stack-grid{grid-template-columns:1fr 1fr}.two-col{grid-template-columns:1fr}.result-strip{grid-template-columns:1fr 1fr}.sim-nav{grid-template-columns:auto 1fr auto;padding:14px 14px;gap:10px}.sim-nav small{display:none}.lead-grid{grid-template-columns:1fr}.report-hero{grid-template-columns:1fr 1fr}.report-hero>div:first-child{grid-column:1/-1}.chart-grid{grid-template-columns:1fr}.download-row{align-items:flex-start;flex-direction:column}.gallery-hero{padding:140px 20px 75px}.gallery-hero h1{font-size:58px}.gallery{grid-template-columns:1fr;padding:10px 10px 90px;grid-auto-rows:360px}.gallery figure.large{grid-column:auto}}

.skip-intro .brand-intro{display:none!important}

/* Floot parity overrides */
.logo{width:126px;background:#fff;border-radius:9px;padding:3px 7px}
.logo img{width:100%;height:auto}
.footer-logo{width:164px;background:#fff;border-radius:10px;padding:6px 9px}
.hero{background-image:linear-gradient(90deg,rgba(3,4,4,.86) 0%,rgba(3,4,4,.55) 43%,rgba(3,4,4,.12) 72%),linear-gradient(0deg,rgba(3,4,4,.75) 0%,transparent 48%),url('https://04945f20-3be5-4613-ad1f-70fa125e58ae.sandbox.floot.app/_cdn/static/caa983a2-8ad6-4eb0-85f4-6abe1de4c1ec.png');background-position:center;background-size:cover}
.hero-copy{width:min(850px,66vw)}
.hero-card{width:360px}
.s1,.visual-pv{background-image:url('https://04945f20-3be5-4613-ad1f-70fa125e58ae.sandbox.floot.app/_cdn/static/caa983a2-8ad6-4eb0-85f4-6abe1de4c1ec.png')}
.s2,.visual-pdc{background-image:url('../img/energy-pdc.jpg')}
.s3,.visual-clima{background-image:url('../img/energy-climate.jpg')}
.energy,.visual-house{background-image:url('../img/energy-system.jpg')}
.visual-business{background-image:url('../img/energy-business.jpg')}
.page-hero{min-height:860px;grid-template-columns:1fr 1fr}
.page-visual{min-height:860px}
.page-copy{padding-top:170px;padding-bottom:90px}
.brand-intro{animation:introExit .45s 1.05s ease forwards}
.brand-stage img{animation:logoReveal .7s .2s cubic-bezier(.25,.8,.2,1) forwards}
.brand-stage:after{animation:captionIn .35s .65s forwards}
.brand-intro:before{animation:sweep .7s .12s cubic-bezier(.2,.8,.2,1) forwards}
@media(max-width:1100px){.page-hero{grid-template-columns:1fr}.page-visual{min-height:540px}}
@media(max-width:700px){.logo{width:100px}.hero-copy{width:100%}.page-visual{min-height:430px}}

/* Climatizzazione — product comparison + rapid configurator (Floot parity) */
.climate-products{background:#e3ded2;padding:18px max(28px,calc((100vw - 1810px)/2)) 0;display:grid;grid-template-columns:minmax(0,1.72fr) minmax(430px,.92fr);gap:86px;align-items:start}.climate-products-main{padding:0 0 72px}.climate-products-main>.section-label{display:block;margin:4px 0 22px}.climate-products-main>h2{font-size:clamp(58px,5.25vw,96px);line-height:.88;letter-spacing:-.074em;margin:0 0 52px;max-width:1100px}.climate-product-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #bdb8ac}.climate-product{min-height:274px;padding:42px 36px 36px 0;border-bottom:1px solid #bdb8ac;position:relative}.climate-product:nth-child(odd){border-right:1px solid #bdb8ac;padding-right:36px}.climate-product:nth-child(even){padding-left:36px}.climate-product small{display:block;color:#747b75;font-size:8px;font-weight:800;margin-bottom:14px}.climate-product h3{font-size:35px;line-height:1;letter-spacing:-.055em;margin:0 0 24px}.climate-product p{font-size:10px;line-height:1.65;color:#747b75;margin:0;max-width:520px}.product-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.product-tags span{height:46px;padding:0 13px;border:1px solid #bbb6aa;border-radius:999px;display:inline-flex;align-items:center;gap:6px;font-size:8px;font-weight:700;white-space:nowrap}.product-note{font-size:7px;color:#858a85;line-height:1.6;margin:20px 0 0}.climate-config{position:sticky;top:95px;background:#090a0a;color:white;border-radius:22px 22px 0 0;min-height:657px;padding:49px 37px 38px;overflow:hidden}.climate-config:before{content:"";position:absolute;inset:auto -160px -180px auto;width:370px;height:370px;border-radius:50%;border:1px solid rgba(237,23,56,.12);pointer-events:none}.climate-config form{position:relative;z-index:1}.climate-config form>span{display:block;color:var(--red);font-size:8px;letter-spacing:.19em;font-weight:900;margin-bottom:24px}.climate-config h3{font-size:47px;line-height:1.08;letter-spacing:-.06em;margin:0 0 46px;max-width:520px}.room-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:22px}.room-buttons button{height:62px;border-radius:11px;border:1px solid #303431;background:#151716;color:white;font-size:18px;font-weight:800;cursor:pointer;transition:.2s}.room-buttons button:hover{border-color:#666}.room-buttons button.active{background:var(--red);border-color:var(--red);box-shadow:0 10px 30px rgba(237,23,56,.18)}.climate-config label{display:block;font-size:8px;letter-spacing:.07em;color:#838985;font-weight:800;margin-top:19px}.climate-config input,.climate-config select{width:100%;height:50px;margin-top:9px;background:#151716;border:1px solid #313532;border-radius:10px;color:white;padding:0 14px;outline:none;font-size:10px;font-weight:650}.climate-config input:focus,.climate-config select:focus{border-color:#686f69}.climate-config select{appearance:auto}.climate-estimate{width:100%;height:64px;border:0;border-radius:999px;background:var(--red);color:#fff;margin-top:26px;font-size:10px;font-weight:850;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:13px;box-shadow:0 17px 42px rgba(237,23,56,.2);transition:.2s}.climate-estimate:hover{transform:translateY(-2px);box-shadow:0 22px 50px rgba(237,23,56,.28)}.climate-estimate b{font-size:24px;font-weight:400;line-height:1}.config-note{display:block;color:#656c66;font-size:7px;line-height:1.5;text-align:center;margin-top:12px}
@media(max-width:1180px){.climate-products{grid-template-columns:1fr;gap:38px;padding-bottom:80px}.climate-config{position:relative;top:auto;min-height:0;border-radius:22px;max-width:720px;width:100%;justify-self:center}.climate-products-main{padding-bottom:0}}
@media(max-width:700px){.climate-products{padding:80px 20px}.climate-products-main>h2{font-size:52px;margin-bottom:34px}.climate-product-grid{grid-template-columns:1fr}.climate-product,.climate-product:nth-child(odd),.climate-product:nth-child(even){border-right:0;padding:28px 0;min-height:0}.climate-product h3{font-size:31px}.product-tags span{height:40px}.climate-config{padding:34px 20px 26px}.climate-config h3{font-size:39px;margin-bottom:30px}.room-buttons button{height:54px;font-size:16px}.climate-estimate{height:58px}}

/* Floot screenshot parity — header, service hero, trust row */
.logo{width:164px;height:52px;display:flex;align-items:center;overflow:visible;background:transparent;border-radius:0;padding:0}
.logo img{width:100%;height:100%;object-fit:contain;object-position:left center;display:block;filter:drop-shadow(0 4px 14px rgba(0,0,0,.22))}
.footer-logo{width:190px;height:auto;background:transparent;border-radius:0;padding:0;filter:drop-shadow(0 5px 18px rgba(0,0,0,.2))}
.round{padding:0}.nav-icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.menu{width:42px;height:42px;place-items:center}.menu-icon{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.cta-arrow{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}.nav .cta{padding-inline:20px;gap:10px}.hero-actions .cta-arrow{width:18px;height:18px}.text-link .cta-arrow{width:19px;height:19px}.micro-trust{display:flex;align-items:center;flex-wrap:wrap;gap:34px;margin-top:62px;color:#626963;font-size:8px;font-weight:500}.micro-trust span{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.micro-trust i{font-style:normal;color:var(--red);font-size:11px;font-weight:900}.pdc-hero .page-copy p{max-width:760px}.pdc-hero .hero-actions{margin-top:35px;gap:22px}.pdc-hero .page-copy{padding-bottom:83px}
@media(max-width:1100px){.pdc-hero .page-copy{padding-bottom:82px}.micro-trust{margin-top:61px}}
@media(max-width:700px){.logo{width:122px;height:45px;padding:3px 8px}.micro-trust{gap:16px 24px;margin-top:42px}.pdc-hero .page-copy{padding-bottom:62px}}


/* Mobile conversion polish */
@media(max-width:700px){
  header{z-index:1200}
  .nav{padding:0 18px;gap:10px;background:rgba(9,10,10,.9)}
  .logo{width:172px;height:48px;flex:1;max-width:190px}
  .logo img{object-position:left center}
  .menu{display:grid;margin-left:auto;position:relative;z-index:3}
  .mobile-menu{top:66px;left:0;right:0;border-radius:18px;padding:8px 14px 14px}
  .mobile-menu a{padding:14px 8px;font-size:15px;line-height:1.2}
  .mobile-menu a:last-child{padding:15px 16px;margin-top:10px}

  .section.mobile-callback-section{padding-top:72px;padding-bottom:76px}
  .mobile-callback-section .split{gap:28px}
  .mobile-callback-section .display{font-size:clamp(45px,13.5vw,58px);line-height:.88;margin:10px 0 18px}
  .mobile-callback-section .bodycopy{font-size:14px;line-height:1.65;margin-bottom:0}
  .mobile-callback-section .callback{padding:18px 16px 16px;border-radius:18px;box-shadow:0 18px 45px rgba(0,0,0,.06)}
  .mobile-callback-section .quick-form{gap:10px}
  .mobile-callback-section .field label{font-size:8px;margin:0 0 5px 3px}
  .mobile-callback-section .field input,
  .mobile-callback-section .field select{height:48px;border-radius:14px;padding:0 14px;font-size:16px;background:#f8f6f0}
  .mobile-callback-section .submit-wrap{grid-column:1/-1}
  .mobile-callback-section .submit-wrap .cta{width:100%;height:50px;padding:0 18px;font-size:13px}
  .mobile-callback-section .privacy{font-size:10px;line-height:1.45;margin-top:4px;gap:9px;align-items:flex-start}
  .mobile-callback-section .privacy input{width:18px;height:18px;margin:0;flex:none}
  .callback-dock{display:none!important}
}

/* Mobile forms + Safari tap reliability */
@media(max-width:700px){
  .mobile-menu a{pointer-events:auto;touch-action:manipulation;-webkit-tap-highlight-color:rgba(237,23,56,.16)}
  .callback{padding:18px 16px;border-radius:18px}
  .quick-form{gap:10px}
  .quick-form .field input,.quick-form .field select{height:48px;border-radius:14px;padding:0 14px;font-size:16px}
  .quick-form .field label{font-size:8px;margin-bottom:5px}
  .quick-form .submit-wrap{grid-column:1/-1}
  .quick-form .submit-wrap .cta{width:100%;height:50px;font-size:13px}
  .quick-form .privacy{font-size:10px;line-height:1.45;gap:9px;margin-top:3px}
  .quick-form .privacy input{width:18px;height:18px;min-width:18px;margin:0}
  .contact-band{gap:24px}
}


/* Electric-flow signature — supplied SG Clima visual direction */
.energy,.page-visual{isolation:isolate;overflow:hidden}
.energy-copy{position:relative;z-index:4}
.page-visual:after{z-index:1}
.energy-current-svg{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;mix-blend-mode:screen;opacity:.88}
.energy-current-svg .current-track{fill:none;stroke:rgba(61,197,255,.22);stroke-width:4;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 7px rgba(58,201,255,.28))}
.energy-current-svg .current-flow{fill:none;stroke:#51d2ff;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:18 30;animation:energyCurrent 1.45s linear infinite;filter:drop-shadow(0 0 6px #2cc9ff) drop-shadow(0 0 16px rgba(44,201,255,.62))}
.energy-current-svg .current-node{fill:#b9efff;filter:drop-shadow(0 0 8px #38cfff);animation:currentNode 1.8s ease-in-out infinite}
@keyframes energyCurrent{to{stroke-dashoffset:-96}}
@keyframes currentNode{0%,100%{opacity:.4;transform:scale(.85);transform-origin:center}50%{opacity:1;transform:scale(1.3);transform-origin:center}}
.brand-intro:before{background:linear-gradient(90deg,transparent,#52d5ff,transparent);box-shadow:0 0 18px rgba(70,210,255,.7)}

/* iOS fast-tap navigation: keep the real anchor as the tap target until navigation starts */
@media(max-width:1100px){
  .mobile-menu{touch-action:pan-y;overscroll-behavior:contain}
  .mobile-menu a{position:relative;z-index:2;pointer-events:auto;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(237,23,56,.14)}
}
@media(max-width:700px){
  .energy-current-svg{opacity:.72}
  .energy-current-svg .current-track{stroke-width:5}
  .energy-current-svg .current-flow{stroke-width:4;stroke-dasharray:16 28}
  .mobile-callback-section .split{display:block}
  .mobile-callback-section .callback{margin-top:26px}
}
@media(prefers-reduced-motion:reduce){.energy-current-svg .current-flow,.energy-current-svg .current-node{animation:none}}

/* Mobile readability for the new energy-flow imagery */
@media(max-width:700px){
  .energy p{color:#eef3ef;text-shadow:0 1px 14px rgba(0,0,0,.35)}
  .energy h2{text-shadow:0 4px 30px rgba(0,0,0,.28)}
}


/* Energy showcase contrast fix — preserve the photo and electric flow while keeping copy readable */
.energy{background-image:url('../img/energy-system.jpg') !important;background-position:center;background-size:cover;background-repeat:no-repeat}
.energy:before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(3,4,4,.82) 0%,rgba(3,4,4,.68) 38%,rgba(3,4,4,.42) 62%,rgba(3,4,4,.20) 100%),linear-gradient(0deg,rgba(3,4,4,.42) 0%,transparent 55%)}
.energy-copy{position:relative;z-index:4}
.energy-copy p{color:#f0f3f0;text-shadow:0 2px 18px rgba(0,0,0,.52);font-weight:500}
.energy-copy h2{text-shadow:0 5px 34px rgba(0,0,0,.34)}
.energy-copy .section-label{position:relative;text-shadow:0 2px 14px rgba(0,0,0,.55)}
.energy-copy .text-link{color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.62)}
.energy-copy .ecosystem{background:linear-gradient(90deg,rgba(4,5,5,.18),rgba(4,5,5,.06));backdrop-filter:blur(2px)}
@media(max-width:900px){
  .energy:before{background:linear-gradient(180deg,rgba(3,4,4,.66) 0%,rgba(3,4,4,.54) 48%,rgba(3,4,4,.44) 100%)}
  .energy-copy p{color:#fff;text-shadow:0 2px 16px rgba(0,0,0,.65)}
}
@media(max-width:700px){
  .energy{background-image:url('../img/energy-system.jpg') !important}
  .energy:before{background:linear-gradient(180deg,rgba(3,4,4,.74) 0%,rgba(3,4,4,.58) 46%,rgba(3,4,4,.48) 100%)}
}

/* =========================================================
   RESPONSIVE QA CONSOLIDATION — 2026-09-24
   Final overrides intentionally live last so Floot-parity
   rules cannot override mobile/tablet behavior.
   ========================================================= */
html,body{max-width:100%;overflow-x:clip}
body{min-width:0}
main,header,footer,section,article,form,div{min-width:0}
input,select,textarea,button{max-width:100%}
.cta,.text-link{max-width:100%}

/* Compact desktop / tablet navigation */
@media(max-width:1180px){
  header{left:12px;right:12px}
  .nav{max-width:none}
  .mobile-menu{left:0;right:0;width:min(700px,calc(100vw - 24px))}
  .page-copy{padding-right:32px}
  .contact-band{gap:30px}
}

/* Tablet */
@media(max-width:900px){
  .section{padding:100px 28px}
  .display{font-size:clamp(46px,8vw,68px)}
  .hero h1,.page-copy h1,.contact-hero h1,.gallery-hero h1,.sim-page-hero h1{overflow-wrap:anywhere}
  .hero-actions{flex-wrap:wrap}
  .contact-band{padding:48px 28px}
  .quick-form{grid-template-columns:1fr 1fr}
  .quick-form .submit-wrap{grid-column:1/-1}
  .energy{min-height:760px}
  .ecosystem{grid-template-columns:repeat(3,1fr)}
  .method-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .method-grid article:nth-child(3n){border-right:0}
  .method-grid article:nth-child(n+4){border-top:1px solid var(--line)}
  .tech-flow{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tech-flow div:nth-child(2n){border-right:0}
  .tech-flow div:nth-child(n+3){border-top:1px solid #343836}
  .footer-grid{gap:38px}
}

/* Phones */
@media(max-width:700px){
  header{top:8px;left:8px;right:8px}
  .nav{height:58px;padding:0 12px 0 14px;gap:8px}
  .logo{width:148px!important;height:44px!important;max-width:calc(100% - 58px);padding:0!important;flex:0 1 auto!important}
  .logo img{width:100%;height:100%;object-fit:contain;object-position:left center}
  .menu{display:grid!important;flex:0 0 42px;margin-left:auto;touch-action:manipulation}
  .mobile-menu{top:66px;width:100%;max-width:none;left:0;right:0;margin:0;max-height:calc(100dvh - 82px);border-radius:18px;padding:8px 12px 12px}
  .mobile-menu a{min-height:52px;display:flex;align-items:center;padding:13px 10px;font-size:15px;line-height:1.2}
  .mobile-menu a:last-child{min-height:54px;justify-content:space-between;padding:14px 16px}

  .hero{display:block;min-height:0!important;padding:118px 20px 30px!important;background-position:60% center}
  .hero-topline{top:83px;left:20px;right:20px}
  .hero-copy{width:100%!important;padding:0!important;margin:54px 0 0}
  .hero h1{font-size:clamp(44px,14vw,58px);line-height:.9;margin:15px 0 20px;overflow-wrap:normal}
  .hero p{font-size:13px;line-height:1.65}
  .hero-actions{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:22px}
  .hero-actions .cta{width:auto;min-height:48px}
  .hero-card{position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;width:100%!important;margin:30px 0 0;padding:20px;border-radius:18px}
  .hero-card h2{font-size:24px}
  .hero-card p{font-size:10px}
  .address-row{width:100%}

  .section{padding:80px 20px}
  .split{display:grid;grid-template-columns:1fr;gap:30px}
  .display{font-size:clamp(40px,12.6vw,52px);line-height:.94}
  .bodycopy{font-size:13px;line-height:1.7}
  .stats{grid-template-columns:1fr}
  .stats div,.stats div+div{padding:15px 0}

  .mobile-callback-section{padding-top:68px!important;padding-bottom:68px!important}
  .mobile-callback-section .display{font-size:clamp(42px,12.5vw,54px);line-height:.91}
  .mobile-callback-section .callback{margin-top:22px}
  .callback{padding:17px 15px!important}
  .quick-form{grid-template-columns:1fr!important;gap:10px}
  .quick-form .submit-wrap{grid-column:auto!important}
  .quick-form .field input,.quick-form .field select{font-size:16px!important}

  .reviews{padding:78px 20px}
  .reviews-head{gap:34px}
  .reviews h2{font-size:clamp(42px,12.5vw,52px)}
  .rating{gap:16px;padding-top:22px;align-items:flex-start}
  .rating>strong{font-size:62px}
  .review-grid{margin-top:38px}
  .review{min-height:240px;padding:20px}
  .review h3{font-size:24px}

  .services{padding:78px 10px}
  .services-head{margin:0 10px 30px}
  .services-head h2{font-size:clamp(42px,12vw,52px)}
  .service-grid{grid-template-columns:1fr}
  .service-scene{min-height:430px;padding:22px}
  .service-scene h3{font-size:clamp(32px,10vw,44px)}

  .energy{min-height:0!important;display:block;padding:82px 20px!important;background-position:58% center}
  .energy h2{font-size:clamp(45px,13.5vw,58px);line-height:.91}
  .energy p{font-size:12px;line-height:1.75}
  .ecosystem{grid-template-columns:1fr 1fr;margin-top:38px}
  .ecosystem div{min-height:58px;padding:12px 8px}

  .method-grid{grid-template-columns:1fr 1fr;margin-top:45px}
  .method-grid article{min-height:165px;padding:20px 14px 24px 0}
  .method-grid article+article{padding-left:14px}
  .method-grid h3{margin-top:35px}

  .audience a{min-height:360px;padding:30px 22px}
  .audience h2{font-size:clamp(44px,12vw,58px)}
  .projects{gap:8px;margin-top:32px}
  .project{min-height:330px}
  .final-cta{padding:82px 20px}
  .final-cta h2{font-size:clamp(48px,14vw,64px)}

  .page-hero{min-height:0!important;display:grid;grid-template-columns:1fr!important;padding-left:0!important}
  .page-copy{padding:122px 20px 58px!important}
  .page-copy h1{font-size:clamp(44px,13.5vw,58px);line-height:.9;overflow-wrap:normal}
  .page-copy p{font-size:12px;line-height:1.7}
  .page-copy .hero-actions{margin-top:28px}
  .page-visual{min-height:390px!important}
  .micro-trust{gap:14px 18px;margin-top:34px;font-size:8px}

  .benefit-grid{grid-template-columns:1fr}
  .benefit-grid article,.benefit-grid article+article{padding:24px 0!important;border-right:0;border-bottom:1px solid var(--line)}
  .benefit-grid article:last-child{border-bottom:0}
  .explainer{padding:80px 20px;gap:40px}
  .explainer h2{font-size:clamp(42px,12vw,54px)}
  .tech-band{padding:72px 20px}
  .tech-band .display{font-size:clamp(40px,12vw,52px)}
  .faq{padding:78px 20px}
  .faq h2{font-size:46px}
  .contact-band{padding:40px 20px;gap:22px}

  .contact-hero{padding:122px 20px 62px;gap:40px}
  .contact-hero h1{font-size:clamp(46px,13.5vw,58px)}
  .contact-body{padding:78px 20px;gap:48px}
  .full-form{padding:20px;border-radius:18px}
  .form-grid{grid-template-columns:1fr}
  .form-grid input,.form-grid select,.form-grid textarea{font-size:16px}

  .climate-products{padding:72px 20px!important;gap:34px}
  .climate-products-main>h2{font-size:clamp(44px,13vw,54px)!important;line-height:.91;margin-bottom:28px}
  .climate-product-grid{grid-template-columns:1fr}
  .climate-product,.climate-product:nth-child(odd),.climate-product:nth-child(even){min-height:0;padding:25px 0!important;border-right:0}
  .climate-product h3{font-size:31px}
  .climate-config{position:relative;top:auto;min-height:0;padding:30px 18px 24px;border-radius:18px!important}
  .climate-config h3{font-size:clamp(34px,10.5vw,42px);line-height:1.02;margin-bottom:26px}
  .room-buttons{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
  .room-buttons button{height:52px;font-size:15px;padding:0}
  .climate-config input,.climate-config select{font-size:16px}

  .gallery-hero{padding:122px 20px 65px}
  .gallery-hero h1{font-size:clamp(48px,14vw,60px)}
  .gallery{grid-template-columns:1fr;padding:10px 10px 78px;grid-auto-rows:330px}

  .sim-page-hero{padding:122px 20px 65px}
  .sim-page-hero h1{font-size:clamp(48px,14vw,60px)}
  .sim-wrap{padding:28px 8px 80px}
  .simulator{border-radius:16px}
  .sim-top{padding:17px 16px;gap:14px}
  .sim-top>div{min-width:0}
  .sim-top span{font-size:7px}
  .sim-reset{font-size:9px;white-space:nowrap}
  .sim-stage{padding:28px 16px 32px}
  .sim-step header h2,.result-intro h2{font-size:clamp(34px,10vw,44px)}
  .choice-grid,.future-grid,.battery-grid{grid-template-columns:1fr 1fr;gap:8px}
  .result-strip{grid-template-columns:1fr 1fr}
  .sim-nav{grid-template-columns:auto 1fr auto;padding:12px 10px;gap:8px}
  .sim-nav .cta,.sim-nav button{padding:12px 13px;font-size:9px}
  .report-hero{grid-template-columns:1fr 1fr}
  .download-row{gap:18px}

  footer{padding-left:20px;padding-right:20px}
  .footer-grid{grid-template-columns:1fr;gap:32px}
  .legal{gap:8px}
  .callback-dock{display:none!important}
}

/* Very small phones: 320–359px */
@media(max-width:359px){
  .nav{padding-left:10px;padding-right:8px}
  .logo{width:132px!important;height:42px!important}
  .hero{padding-left:16px!important;padding-right:16px!important}
  .hero-topline{left:16px;right:16px}
  .hero h1{font-size:43px}
  .hero-card{padding:17px;margin-top:24px}
  .hero-card h2{font-size:22px}
  .section{padding-left:16px;padding-right:16px}
  .display{font-size:40px}
  .reviews,.final-cta{padding-left:16px;padding-right:16px}
  .rating{display:grid;grid-template-columns:auto 1fr}
  .service-scene{min-height:390px}
  .energy{padding-left:16px!important;padding-right:16px!important}
  .energy h2{font-size:43px}
  .ecosystem{grid-template-columns:1fr}
  .method-grid{grid-template-columns:1fr}
  .method-grid article,.method-grid article+article{padding:18px 0;border-right:0;border-bottom:1px solid var(--line);border-top:0!important;min-height:0}
  .method-grid article:before{display:none}
  .method-grid h3{margin:8px 0 5px}
  .page-copy{padding-left:16px!important;padding-right:16px!important}
  .page-copy h1{font-size:43px}
  .page-visual{min-height:340px!important}
  .tech-band{padding-left:16px;padding-right:16px}
  .tech-flow{grid-template-columns:1fr}
  .tech-flow div,.tech-flow div:nth-child(2n){border-right:0;border-top:1px solid #343836;padding:25px 0}
  .tech-flow div:first-child{border-top:0}
  .contact-band,.contact-body,.contact-hero,.faq,.explainer,.gallery-hero,.sim-page-hero{padding-left:16px;padding-right:16px}
  .climate-products{padding-left:16px!important;padding-right:16px!important}
  .room-buttons{grid-template-columns:1fr 1fr}
  .choice-grid,.future-grid,.battery-grid{grid-template-columns:1fr}
  .option-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .result-strip{grid-template-columns:1fr}
  .report-hero{grid-template-columns:1fr}
  .report-hero>div:first-child{grid-column:auto}
  .sim-nav{grid-template-columns:1fr 1fr}
  .sim-nav>div{display:none}
  .sim-nav button{width:100%}
}

/* Short landscape screens */
@media(max-height:620px) and (min-width:600px){
  header{top:8px}
  .mobile-menu{max-height:calc(100dvh - 78px)}
  .page-copy{padding-top:115px;padding-bottom:50px}
  .page-visual{min-height:420px}
  .hero{padding-top:125px;padding-bottom:45px}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .brand-intro,.brand-intro:before,.brand-stage img,.brand-stage:after,.brand-flare,.callback-trigger i:after{animation:none!important}
  .brand-intro{display:none!important}
  *{transition-duration:.001ms!important}
}

/* QA fix: the global site header selector must never affect simulator step headers */
.sim-step>header{position:static!important;inset:auto!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;z-index:auto!important;pointer-events:auto!important;width:auto!important;height:auto!important}

/* Tablet home hero: keep calculator and CTAs in normal flow instead of overlapping */
@media(min-width:701px) and (max-width:900px){
  .hero{display:block;min-height:0;padding:135px 28px 48px}
  .hero-topline{top:94px;left:28px;right:28px}
  .hero-topline span:last-child{display:none}
  .hero-copy{width:100%;padding:0;margin-top:70px;max-width:690px}
  .hero-card{position:relative;left:auto;right:auto;bottom:auto;width:min(420px,100%);margin-top:34px}
  .hero-actions{margin-top:26px}
}


/* 2026-09-29 update — energy flow cleanup + realizzazioni media */
.energy::before,.page-visual::before{content:"";position:absolute;inset:-16%;background:linear-gradient(115deg,transparent 34%,rgba(255,214,128,.06) 42%,rgba(255,244,211,.22) 50%,rgba(255,214,128,.07) 58%,transparent 68%);mix-blend-mode:screen;pointer-events:none;z-index:1;transform:translateX(-35%) skewX(-18deg);animation:sgSunSweep 11s ease-in-out infinite;opacity:.78}
.page-visual::before{animation-duration:12.5s}
.energy-current-svg{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;mix-blend-mode:screen;opacity:.96}
.energy-current-svg .current-track{fill:none;stroke:rgba(78,214,255,.22);stroke-width:6;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 8px rgba(52,203,255,.22))}
.energy-current-svg .current-flow{fill:none;stroke:#70e7ff;stroke-width:4.8;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:160 1200;animation:sgEnergyPulse 2.3s linear infinite;filter:drop-shadow(0 0 8px #32d0ff) drop-shadow(0 0 24px rgba(50,208,255,.7))}
.energy-current-svg .current-node{fill:#dffbff;filter:drop-shadow(0 0 12px #57d9ff);animation:currentNode 1.55s ease-in-out infinite}
@keyframes sgEnergyPulse{from{stroke-dashoffset:0;opacity:.28}12%{opacity:1}to{stroke-dashoffset:-1380;opacity:.36}}
@keyframes sgSunSweep{0%,100%{transform:translateX(-42%) skewX(-18deg);opacity:.34}45%{opacity:.95}50%{transform:translateX(4%) skewX(-18deg);opacity:.78}}

.gallery-story{background:#0a0b0b;color:#fff;padding:0 max(18px,calc((100vw - 1500px)/2)) 34px}
.story-grid{display:grid;grid-template-columns:1.18fr .82fr;gap:10px}
.story-card{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.1);background:#101111;min-height:430px}
.story-card .media{position:absolute;inset:0}
.story-card img,.story-card video{width:100%;height:100%;object-fit:cover;display:block}
.story-card .media:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,7,7,.84),rgba(6,7,7,.22) 52%,rgba(6,7,7,.08))}
.story-card .copy{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;height:100%;padding:34px}
.story-card .copy h2{font-size:clamp(34px,3.9vw,62px);line-height:.92;letter-spacing:-.06em;margin:12px 0 12px;max-width:670px}
.story-card .copy p{max-width:600px;color:#ccd2cd;font-size:12px;line-height:1.7;margin:0}
.story-card .chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.story-card .chips span{display:inline-flex;align-items:center;height:36px;padding:0 14px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.05);border-radius:999px;font-size:9px;font-weight:800;letter-spacing:.08em}
.story-stack{display:grid;grid-template-rows:1fr 1fr;gap:10px}
.story-card.video-card video{object-position:center center;background:#000}
.story-card.video-card .play-label{display:inline-flex;align-items:center;gap:10px;height:42px;padding:0 16px;border-radius:999px;background:rgba(8,9,9,.75);backdrop-filter:blur(12px);font-size:10px;font-weight:800;width:max-content;margin-top:18px}
.story-card.video-card .play-label i{width:26px;height:26px;border-radius:50%;background:var(--red);display:grid;place-items:center;font-style:normal;box-shadow:0 10px 24px rgba(237,23,56,.28)}
.story-flow{position:absolute;inset:0;z-index:2;pointer-events:none}
.story-flow svg{width:100%;height:100%;display:block}
.story-flow .trace-base{fill:none;stroke:rgba(74,214,255,.22);stroke-width:6;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 8px rgba(74,214,255,.18))}
.story-flow .trace-run{fill:none;stroke:#6ee6ff;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:180 1400;animation:sgEnergyPulse 2.4s linear infinite;filter:drop-shadow(0 0 8px #35d1ff) drop-shadow(0 0 20px rgba(53,209,255,.72))}
.story-flow .trace-node{fill:#e8fdff;filter:drop-shadow(0 0 10px #55d8ff);animation:currentNode 1.5s ease-in-out infinite}
.story-sun{position:absolute;inset:-20%;background:linear-gradient(110deg,transparent 28%,rgba(255,215,137,.08) 42%,rgba(255,244,215,.26) 49%,rgba(255,215,137,.09) 57%,transparent 68%);mix-blend-mode:screen;transform:translateX(-45%) skewX(-18deg);animation:sgSunSweep 10s ease-in-out infinite;z-index:1;pointer-events:none}
.gallery-wrap{padding:18px max(18px,calc((100vw - 1500px)/2)) 120px;background:var(--paper)}
.gallery-head{max-width:900px;margin:0 auto 30px;text-align:center}
.gallery-head h2{font-size:clamp(44px,5vw,78px);line-height:.92;letter-spacing:-.065em;margin:12px 0}
.gallery-head p{font-size:13px;line-height:1.8;color:var(--muted);margin:0 auto;max-width:760px}
.real-gallery{max-width:1500px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:340px;gap:10px}
.real-gallery figure{margin:0;position:relative;overflow:hidden;background:#ddd;min-height:340px}
.real-gallery figure.large{grid-column:span 2;grid-row:span 2}
.real-gallery figure.tall{grid-row:span 2}
.real-gallery img,.real-gallery video{width:100%;height:100%;object-fit:cover;display:block}
.real-gallery figure video{background:#000}
.real-gallery figcaption{position:absolute;left:16px;right:16px;bottom:16px;background:rgba(8,9,9,.72);color:#fff;padding:13px;backdrop-filter:blur(10px)}
.real-gallery figcaption small,.real-gallery figcaption b{display:block}
.real-gallery figcaption small{font-size:7px;color:#ff7a8c;letter-spacing:.15em}
.real-gallery figcaption b{font-size:10px;margin-top:3px}
.real-gallery .video-caption{display:flex;align-items:center;justify-content:space-between;gap:14px}
.real-gallery .video-caption span{display:flex;flex-direction:column}
.real-gallery .video-pill{height:36px;padding:0 14px;border-radius:999px;border:1px solid rgba(255,255,255,.18);display:inline-flex;align-items:center;background:rgba(255,255,255,.06);font-size:9px;font-weight:800;white-space:nowrap}
@media(max-width:1100px){.story-grid{grid-template-columns:1fr}.story-stack{grid-template-columns:1fr 1fr;grid-template-rows:none}.real-gallery{grid-template-columns:1fr 1fr}.real-gallery figure.large{grid-column:span 2;grid-row:span 1}.real-gallery figure.tall{grid-row:span 1}}
@media(max-width:700px){.gallery-story{padding:0 10px 12px}.story-card{min-height:380px}.story-card .copy{padding:22px 18px 20px}.story-card .copy h2{font-size:46px}.story-stack{grid-template-columns:1fr}.gallery-wrap{padding:10px 10px 90px}.gallery-head h2{font-size:56px}.real-gallery{grid-template-columns:1fr;grid-auto-rows:310px}.real-gallery figure,.real-gallery figure.large,.real-gallery figure.tall{grid-column:auto;grid-row:auto;min-height:310px}.real-gallery figcaption{left:12px;right:12px;bottom:12px}}
@media(prefers-reduced-motion:reduce){.energy::before,.page-visual::before,.story-sun,.energy-current-svg .current-flow,.story-flow .trace-run{animation:none}.energy-current-svg .current-node,.story-flow .trace-node{animation:none}}

/* Clean realizzazioni cards: no image-title bars; keep HTML5 video controls reachable */
.story-card.video-card .media:after{pointer-events:none;background:linear-gradient(0deg,rgba(6,7,7,.07),transparent 45%)}
.story-card.video-card video{object-fit:cover}
.real-gallery figcaption{display:none!important}


/* SG Clima · revisione finale 2026-09-30: leggibilità e immagini senza sovrapposizioni */
/* Interrompe lo swoosh aggiuntivo che attraversava la casa. I collegamenti azzurri integrati nella fotografia restano visibili. */
.energy > .energy-current-svg,.visual-house > .energy-current-svg {display:none!important}
.energy::before {display:none!important;animation:none!important}
.energy::after {content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(3,5,8,.79) 0%,rgba(3,5,8,.57) 42%,rgba(3,5,8,.17) 75%,rgba(3,5,8,.07) 100%),linear-gradient(0deg,rgba(3,5,8,.28),transparent 56%)}
.energy .energy-copy {position:relative;z-index:4}
.energy .energy-copy > p {color:#f5f8fa!important;font-size:clamp(16px,1.12vw,19px)!important;line-height:1.78!important;font-weight:600!important;max-width:680px!important;text-shadow:0 2px 12px rgba(0,0,0,.78)}
.energy .energy-copy h2 {text-shadow:0 4px 22px rgba(0,0,0,.57)}
.energy .energy-copy .text-link {font-size:12px;text-shadow:0 2px 12px rgba(0,0,0,.66)}
/* Remove grey veil at the start of the photovoltaic background. Reframe photo to avoid its original left edge. */
.page-hero .page-visual.visual-pv {background-position:78% 50%!important;background-repeat:no-repeat!important;background-size:cover!important;margin-left:0!important;border:0!important}
.page-hero .page-visual.visual-pv::after {display:none!important;background:none!important}
.page-hero .page-visual.visual-pv::before {display:none!important}
.page-hero .page-copy > p {font-size:clamp(16px,1.12vw,19px)!important;line-height:1.75!important;font-weight:500!important;color:#dce4dd!important;max-width:690px!important}
/* Realizzazioni: foto pulite, senza titoli o barrette nere; il video rimane sempre controllabile. */
.projects .project figcaption,.real-gallery figcaption,.story-card > .copy {display:none!important}
.real-gallery video {display:block;object-fit:cover;max-width:100%;background:#090a0a}
.story-card.video-card .media::after,.story-card:not(.video-card) .media::after {display:none!important}
.story-card .media {z-index:1}
.story-card.video-card .media {z-index:3}
.story-card.video-card video {position:relative;z-index:4}
@media(max-width:1100px){
 .page-hero .page-copy > p {font-size:17px!important}
 .energy .energy-copy > p {font-size:17px!important}
}
@media(max-width:700px){
 .energy::after{background:linear-gradient(180deg,rgba(3,5,8,.74) 0%,rgba(3,5,8,.49) 50%,rgba(3,5,8,.62) 100%)}
 .energy .energy-copy > p,.page-hero .page-copy > p {font-size:16px!important;line-height:1.7!important}
 .page-hero .page-visual.visual-pv{background-position:76% center!important}
}
@media(prefers-reduced-motion:reduce){.energy::before{animation:none!important}}


/* 2026-09-30 patch — remove moving light sweep from internal hero visuals, keep energy line */
.page-visual::before{display:none!important;content:none!important;animation:none!important;background:none!important;opacity:0!important}
.page-visual::after{background:linear-gradient(90deg,rgba(6,8,10,.48) 0%,rgba(6,8,10,.12) 34%,rgba(6,8,10,0) 58%)!important}
.page-hero .page-copy>p{color:#eef3f0!important;font-size:clamp(17px,1.16vw,20px)!important;line-height:1.82!important;font-weight:600!important;text-shadow:0 2px 14px rgba(0,0,0,.62)!important;max-width:760px!important}
@media(max-width:700px){.page-hero .page-copy>p{font-size:16px!important;line-height:1.72!important}}


/* SG Clima 2026-09-30 · final image cleanup: no animated overlays on photography */
.energy-current-svg,
.story-flow,
.story-sun{display:none!important;visibility:hidden!important;opacity:0!important;animation:none!important}
.page-visual::before,
.energy::before{display:none!important;content:none!important;animation:none!important;background:none!important;opacity:0!important}
.story-card::before,.story-card::after,
.story-card .media::before{display:none!important;content:none!important;animation:none!important}
.page-visual,.story-card,.real-gallery figure,.project{animation:none!important}
.page-visual *,.story-card *,.real-gallery figure *,.project *{animation-play-state:paused}
/* Keep only a static readability gradient where needed; no moving effect. */
.page-visual::after{content:""!important;display:block!important;position:absolute!important;inset:0!important;pointer-events:none!important;background:linear-gradient(90deg,rgba(7,9,10,.24) 0%,rgba(7,9,10,.06) 24%,transparent 46%)!important;animation:none!important}
/* Climatizzatori: frame the family correctly at every breakpoint. */
.page-visual.visual-clima{background-size:cover!important;background-repeat:no-repeat!important;background-position:12% 50%!important}
@media (min-width:701px) and (max-width:1100px){
  .page-visual.visual-clima{background-position:12% 46%!important;min-height:560px!important}
}
@media (max-width:700px){
  .page-visual.visual-clima{background-position:10% 50%!important;min-height:430px!important}
}
/* Realizzazioni: clean photography/video only, no vector traces on top. */
.gallery-story .story-flow,.gallery-story .story-sun{display:none!important}
.real-gallery img,.story-card img,.story-card video{animation:none!important;transform:none!important}
.project img{transition:none!important}
.project:hover img{transform:none!important}


/* 2026-09-30 lead delivery UI */
.lead-toast{position:fixed;right:24px;top:110px;z-index:10050;width:min(430px,calc(100vw - 32px));display:grid;grid-template-columns:48px 1fr 32px;gap:14px;align-items:start;padding:18px;background:rgba(10,12,12,.96);color:#fff;border:1px solid rgba(255,255,255,.14);border-radius:20px;box-shadow:0 24px 70px rgba(0,0,0,.34);backdrop-filter:blur(20px);transform:translateY(-16px) scale(.98);opacity:0;pointer-events:none;transition:.28s ease}
.lead-toast.show{transform:none;opacity:1;pointer-events:auto}
.lead-toast-icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#27b66f;box-shadow:0 0 0 7px rgba(39,182,111,.12)}
.lead-toast-icon:before{content:'✓';font-size:23px;font-weight:900}
.lead-toast.error .lead-toast-icon{background:var(--red);box-shadow:0 0 0 7px rgba(237,23,56,.12)}
.lead-toast.error .lead-toast-icon:before{content:'!'}
.lead-toast-copy strong{display:block;font-size:18px;line-height:1.15;letter-spacing:-.02em;margin:3px 0 6px}
.lead-toast-copy p{font-size:12px;line-height:1.55;color:#cbd2cc;margin:0}
.lead-toast-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.lead-toast-actions a{height:34px;display:inline-flex;align-items:center;padding:0 12px;border-radius:999px;border:1px solid rgba(255,255,255,.16);color:#fff;text-decoration:none;font-size:9px;font-weight:800}
.lead-toast-actions a:last-child{background:var(--red);border-color:var(--red)}
.lead-toast-close{width:32px;height:32px;border:0;border-radius:50%;background:rgba(255,255,255,.07);color:#fff;font-size:20px;cursor:pointer}
button[disabled]{cursor:wait!important;opacity:.72}
@media(max-width:700px){.lead-toast{top:auto;right:12px;left:12px;bottom:18px;width:auto;grid-template-columns:42px 1fr 30px;padding:15px}.lead-toast-icon{width:42px;height:42px}.lead-toast-copy strong{font-size:16px}.lead-toast-copy p{font-size:11px}}

/* =========================================================
   SIMULATORE — mobile compaction fix
   Makes the simulator readable on phones, including landscape.
   ========================================================= */
@media (max-width:900px){
  .sim-progress{padding:0 18px}
  .sim-progress div{padding:14px 4px 12px}
  .sim-stage{padding:34px 24px 38px}
  .sim-step h2,.result-intro h2{font-size:clamp(32px,6vw,46px);line-height:.96}
  .big-input input{font-size:clamp(34px,6.6vw,48px);line-height:1.04}
  .choice-grid,.future-grid,.battery-grid{grid-template-columns:1fr 1fr}
  .choice-grid button,.future-grid button,.battery-grid button{padding:15px 14px}
}

@media (max-width:700px){
  .sim-progress{padding:0 14px}
  .sim-top b{font-size:14px}
  .sim-stage{padding:26px 14px 30px}
  .sim-step header p,.result-intro p{font-size:11px;line-height:1.65}
  .sim-step h2,.result-intro h2{font-size:clamp(28px,8.8vw,36px);line-height:.98;margin:10px 0 10px}
  .sim-field{margin-top:20px}
  .sim-field>label,.choice-title{font-size:10px}
  .big-input{padding:6px 0}
  .big-input input{font-size:clamp(26px,9.2vw,38px);font-weight:720;line-height:1.06}
  .choice-grid,.future-grid,.battery-grid{grid-template-columns:1fr;gap:8px}
  .choice-grid b,.battery-grid b{margin-top:10px;font-size:18px}
  .choice-grid small,.battery-grid p{font-size:10px;line-height:1.45}
  .choice-grid button,.future-grid button,.battery-grid button{padding:14px}
}

@media (max-width:900px) and (max-height:500px) and (orientation:landscape){
  .sim-page-hero{padding:96px 18px 42px}
  .sim-page-hero h1{font-size:clamp(36px,7vw,52px)}
  .sim-wrap{padding:20px 8px 56px}
  .sim-top{padding:14px 16px}
  .sim-progress{padding:0 12px}
  .sim-stage{padding:22px 14px 26px}
  .sim-step h2,.result-intro h2{font-size:clamp(26px,5vw,34px);margin:8px 0 8px}
  .sim-step header p,.result-intro p{font-size:10px;line-height:1.55;max-width:none}
  .big-input input{font-size:clamp(24px,5.6vw,34px)}
  .choice-grid,.future-grid,.battery-grid{grid-template-columns:1fr 1fr}
  .choice-grid button,.future-grid button,.battery-grid button{padding:12px}
  .sim-nav{padding:10px 12px}
}


/* 2026-09-30 patch — cookie banner + brighter home hero */
.hero{background-image:linear-gradient(90deg,rgba(3,4,4,.72) 0%,rgba(3,4,4,.42) 42%,rgba(3,4,4,.08) 74%),linear-gradient(0deg,rgba(3,4,4,.30) 0%,rgba(3,4,4,.02) 52%,rgba(255,220,150,.08) 100%),url('https://04945f20-3be5-4613-ad1f-70fa125e58ae.sandbox.floot.app/_cdn/static/caa983a2-8ad6-4eb0-85f4-6abe1de4c1ec.png')!important;background-position:center;background-size:cover}
.hero:after{background:linear-gradient(0deg,rgba(3,4,4,.42),transparent 54%)!important}
.hero p{color:#edf2ee;text-shadow:0 2px 14px rgba(0,0,0,.42)}
.hero-copy h1,.hero-topline,.eyebrow{position:relative;z-index:2;text-shadow:0 4px 24px rgba(0,0,0,.28)}
.cookie-banner{position:fixed;left:20px;right:20px;bottom:20px;z-index:10060;max-width:980px;margin:0 auto;background:rgba(10,12,12,.96);color:#fff;border:1px solid rgba(255,255,255,.12);border-radius:24px;box-shadow:0 28px 80px rgba(0,0,0,.38);backdrop-filter:blur(18px);padding:22px 22px 18px;display:grid;grid-template-columns:1fr auto;gap:18px;transform:translateY(24px);opacity:0;pointer-events:none;transition:.26s ease}
.cookie-banner.show{transform:none;opacity:1;pointer-events:auto}
.cookie-copy strong{display:block;font-size:18px;line-height:1.12;letter-spacing:-.02em;margin-bottom:8px}
.cookie-copy p{margin:0;font-size:12px;line-height:1.7;color:#d4dbd5;max-width:680px}
.cookie-copy a{color:#fff;text-decoration:underline;text-underline-offset:2px}
.cookie-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.cookie-btn{height:44px;padding:0 18px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.05);color:#fff;font-size:11px;font-weight:800;letter-spacing:.02em;cursor:pointer}
.cookie-btn.primary{background:var(--red);border-color:var(--red);box-shadow:0 14px 34px rgba(237,23,56,.28)}
.cookie-btn.link{background:transparent;border-color:transparent;padding-inline:8px;color:#cbd2cc}
@media(max-width:700px){.cookie-banner{left:12px;right:12px;bottom:12px;padding:18px 16px 14px;grid-template-columns:1fr;gap:14px;border-radius:20px}.cookie-copy strong{font-size:16px}.cookie-copy p{font-size:11px;line-height:1.6}.cookie-actions{justify-content:flex-start}.cookie-btn{width:100%;justify-content:center}.cookie-btn.link{width:auto;padding:0}}


/* 2026-09-30 hero refinement — narrower left shading */
.hero{
  background-image:
    linear-gradient(90deg,rgba(3,4,4,.44) 0%,rgba(3,4,4,.20) 16%,rgba(3,4,4,.07) 28%,rgba(3,4,4,0) 40%),
    linear-gradient(0deg,rgba(3,4,4,.16) 0%,rgba(3,4,4,.02) 48%,rgba(255,220,150,.07) 100%),
    url('https://04945f20-3be5-4613-ad1f-70fa125e58ae.sandbox.floot.app/_cdn/static/caa983a2-8ad6-4eb0-85f4-6abe1de4c1ec.png')!important;
  background-size:100% 100%,100% 100%,125% auto!important;
  background-position:center,center,60% center!important;
  background-repeat:no-repeat!important;
}
.hero:after{background:linear-gradient(0deg,rgba(3,4,4,.30),transparent 50%)!important}
@media(max-width:900px){
  .hero{background-size:100% 100%,100% 100%,cover!important;background-position:center,center,60% center!important}
}

/* 2026-09-30 hero v3 — remove the baked-in grey strip completely */
@media (min-width:901px){
  .hero{
    background-size:100% 100%,100% 100%,122% auto!important;
    background-position:center,center,right center!important;
    background-repeat:no-repeat!important;
  }
}
@media (max-width:900px){
  .hero{
    background-size:100% 100%,100% 100%,cover!important;
    background-position:center,center,72% center!important;
  }
}

/* 2026-09-30 hero v4 — remove grey side panel completely */
.hero{
  background-image:
    linear-gradient(90deg,rgba(3,4,4,.22) 0%,rgba(3,4,4,.10) 20%,rgba(3,4,4,0) 38%),
    url('https://04945f20-3be5-4613-ad1f-70fa125e58ae.sandbox.floot.app/_cdn/static/caa983a2-8ad6-4eb0-85f4-6abe1de4c1ec.png')!important;
  background-size:100% 100%,165% auto!important;
  background-position:center,right center!important;
  background-repeat:no-repeat!important;
  background-color:#0b1012!important;
}
.hero:after{
  background:linear-gradient(0deg,rgba(3,4,4,.24) 0%,rgba(3,4,4,0) 48%)!important;
}
@media(max-width:900px){
  .hero{
    background-size:100% 100%,cover!important;
    background-position:center,78% center!important;
  }
}


/* =========================================================
   2026-09-30 CLIENT PRODUCTION HOTFIX
   Desktop readability + sharper home hero
   ========================================================= */
/* The previous 165% zoom was causing visible interpolation/softness on large monitors.
   132% still crops the unwanted baked-in left strip while retaining substantially more detail. */
.hero{
  background-size:100% 100%,132% auto!important;
  background-position:center,right center!important;
  background-repeat:no-repeat!important;
}
@media(max-width:900px){
  .hero{background-size:100% 100%,cover!important;background-position:center,78% center!important}
}

@media(min-width:1200px){
  .navlinks a{font-size:12px!important}
  .nav .cta{font-size:12px!important}
  .section-label,.eyebrow{font-size:11px!important}
  .hero-topline{font-size:9px!important}
  .hero p{font-size:17px!important;line-height:1.7!important}
  .bodycopy{font-size:16px!important;line-height:1.75!important}
  .cta,.text-link{font-size:13px!important}

  .hero-card small{font-size:9px!important}
  .hero-card h2{font-size:30px!important}
  .hero-card p{font-size:12px!important;line-height:1.6!important}
  .address-row input{font-size:15px!important}

  .stats span{font-size:12px!important;line-height:1.5!important}
  .field label{font-size:9px!important}
  .field input,.field select{font-size:14px!important}
  .privacy{font-size:9px!important;line-height:1.45!important}
  .form-message{font-size:10px!important}

  .rating b{font-size:12px!important}
  .rating small{font-size:9px!important}
  .review p{font-size:13px!important;line-height:1.65!important;max-width:410px!important}
  .review a{font-size:11px!important}

  .service-scene small{font-size:9px!important}
  .service-scene p{font-size:13px!important;line-height:1.65!important}
  .method-grid small{font-size:10px!important}
  .method-grid p{font-size:11px!important;line-height:1.55!important}
  .ecosystem span{font-size:11px!important}

  .benefit-grid p{font-size:13px!important;line-height:1.65!important}
  .explainer p{font-size:15px!important;line-height:1.75!important}
  .point-list span{font-size:13px!important;line-height:1.55!important}
  .point-list b,.tech-flow b{font-size:10px!important}
  .tech-flow p{font-size:12px!important;line-height:1.6!important}
  .faq summary{font-size:16px!important}
  .faq p{font-size:13px!important;line-height:1.7!important}
  .contact-band p{font-size:12px!important}
  .contact-hero p{font-size:16px!important;line-height:1.75!important}
  .contact-list small{font-size:9px!important}
  .contact-list b{font-size:14px!important}
  .form-grid label{font-size:10px!important}
  .form-grid input,.form-grid select,.form-grid textarea{font-size:14px!important}

  .footer-grid p,.footer-grid a{font-size:14px!important;line-height:1.7!important}
  .footer-grid h3{font-size:13px!important}
  .legal{font-size:10px!important;line-height:1.55!important}

  .climate-product small{font-size:10px!important}
  .climate-product p{font-size:13px!important;line-height:1.65!important}
  .product-tags span{font-size:10px!important}
  .product-note{font-size:10px!important}
  .climate-config form>span,.climate-config label{font-size:10px!important}
  .climate-config input,.climate-config select,.climate-estimate{font-size:13px!important}
  .config-note{font-size:9px!important}

  .sim-top span,.sim-progress span,.sim-step header span,.result-intro>span,.choice-title,.sim-field>label{font-size:10px!important}
  .sim-step header p,.result-intro p{font-size:13px!important;line-height:1.65!important}
  .choice-grid small,.battery-grid p,.future-grid small{font-size:10px!important}
  .slider-head{font-size:11px!important}
  .result-strip small{font-size:9px!important}
  .lead-gate p{font-size:11px!important}
  .report-hero small,.report-hero span{font-size:9px!important}
  .download-row span{font-size:10px!important}
}

@media(min-width:1800px){
  .navlinks a{font-size:13px!important}
  .hero p,.bodycopy{font-size:18px!important}
  .footer-grid p,.footer-grid a{font-size:15px!important}
}
@media(min-width:2200px){
  .hero{background-size:100% 100%,128% auto!important}
}
