.elementor-kit-7{--e-global-color-primary:#0F2233;--e-global-color-secondary:#DE6E1E;--e-global-color-text:#556574;--e-global-color-accent:#EFAD41;--e-global-color-spbg:#F1F3F1;--e-global-color-spblue:#2E597F;--e-global-color-spsky:#4DACD4;--e-global-color-sphero:#0E2131;--e-global-color-spline:#CBD3D6;--e-global-typography-primary-font-family:"Archivo";--e-global-typography-primary-font-weight:800;--e-global-typography-secondary-font-family:"IBM Plex Mono";--e-global-typography-secondary-font-weight:500;--e-global-typography-text-font-family:"Barlow";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"IBM Plex Mono";--e-global-typography-accent-font-weight:600;background-color:#F1F3F1;color:#0F2233;font-family:"Barlow", Sans-serif;}.elementor-kit-7 e-page-transition{background-color:#FFBC7D;}.elementor-kit-7 a{color:#0F2233;}.elementor-kit-7 a:hover{color:#DE6E1E;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1180px;}.e-con{--container-max-width:1180px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* ===== Sarracco Pietro — stili globali del sito ===== */
:root{--bg:#F1F3F1;--surface:#FFFFFF;--sunk:#E4E8E6;--ink:#0F2233;--muted:#556574;--line:#CBD3D6;--orange:#DE6E1E;--amber:#EFAD41;--blue:#2E597F;--sky:#4DACD4;--on-accent:#10202E;--module:#E3E5E0;--module-ink:#1E2A33;--module-edge:#B9BDB6;--hero:#0E2131;--hero-ink:#F3F1EA;--glow:rgba(239,173,65,.55);
--f-display:"Archivo","Arial Black","Helvetica Neue",Arial,sans-serif;--f-body:"Barlow","Helvetica Neue",Arial,sans-serif;--f-mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;--r:6px;--wrap:1180px;--gut:max(16px,env(safe-area-inset-left,0px))}
@media(min-width:700px){:root{--gut:32px}}
body{background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body a{color:inherit}
.sp-sec h1,.sp-sec h2,.sp-sec h3,.sp-sec h4,.sp-ft h4{font-family:var(--f-display);font-stretch:125%;line-height:1.02;margin:0;text-wrap:balance;letter-spacing:-.01em;color:inherit}
.sp-sec p{margin:0}
.sp-sec .elementor-widget-text-editor p+p{margin-top:16px}
:focus-visible{outline:3px solid var(--amber);outline-offset:3px}
/* contenitori */
.e-con.sp-sec{--padding-top:clamp(64px,9vw,120px);--padding-bottom:clamp(64px,9vw,120px);--padding-left:0px;--padding-right:0px;--gap:0px;--row-gap:0px;--column-gap:0px;position:relative}
.e-con.sp-sec--surface{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.e-con.sp-sec--dark{background:var(--hero);color:var(--hero-ink);overflow:hidden;isolation:isolate}
.e-con.sp-sec--band{background:var(--amber);color:var(--on-accent);overflow:hidden;--padding-top:clamp(48px,6vw,80px);--padding-bottom:clamp(48px,6vw,80px)}
.e-con.sp-sec--hero{--padding-top:clamp(56px,8vw,104px);--padding-bottom:0px}
.e-con.sp-sec--svchero{--padding-top:clamp(48px,7vw,96px);--padding-bottom:clamp(40px,5vw,64px)}
.e-con.sp-wrap{max-width:var(--wrap);margin-left:auto;margin-right:auto;--padding-left:var(--gut);--padding-right:var(--gut);--padding-top:0px;--padding-bottom:0px;--gap:0px;--row-gap:0px;--column-gap:0px;width:100%}
.e-con.sp-stack{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--gap:16px;--row-gap:16px;--column-gap:16px;min-width:0}
.e-con.sp-grid2{--display:grid;display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,72px);align-items:center}
.e-con.sp-head{--display:grid;display:grid;grid-template-columns:1fr 1fr;gap:24px 40px;align-items:end;margin-bottom:36px}
.e-con.sp-head--btn{grid-template-columns:1fr auto}
@media(max-width:860px){.e-con.sp-grid2,.e-con.sp-head{grid-template-columns:1fr}}
.sp-sec .elementor-widget{margin:0}
/* tipografia */
.sp-eyebrow .elementor-heading-title{font-family:var(--f-mono)!important;font-stretch:100%!important;font-size:.76rem!important;letter-spacing:.14em!important;text-transform:uppercase;color:var(--orange)!important;display:flex;gap:.6em;align-items:center;font-weight:500!important;line-height:1.4!important}
.sp-eyebrow .elementor-heading-title::before{content:"";width:22px;height:2px;background:currentColor;flex:none}
.sp-sec--dark .sp-eyebrow .elementor-heading-title{color:var(--amber)!important}
.sp-h2 .elementor-heading-title{font-size:clamp(2rem,4.6vw,3.6rem);font-weight:850;color:inherit}
.sp-h2s .elementor-heading-title{font-size:clamp(1.9rem,3.4vw,2.9rem);font-weight:850;color:inherit}
.sp-lead,.sp-lead p{font-size:1.15rem;color:var(--muted);max-width:60ch}
.sp-h1 .elementor-heading-title{font-size:clamp(2.5rem,7vw,6.4rem);font-weight:900;letter-spacing:-.02em;line-height:.92;color:var(--hero-ink)}
.sp-h1 .lit{color:var(--amber);text-shadow:0 0 24px var(--glow),0 0 60px rgba(243,132,46,.35);display:inline-block;white-space:nowrap}
.sp-h1 .nw{white-space:nowrap}
.sp-hero.off .sp-h1 .lit{color:#2A3B4B;text-shadow:none}
.sp-hero.flick .sp-h1 .lit{animation:spFlicker 1.1s steps(1) both}
@keyframes spFlicker{0%{opacity:.15}8%{opacity:1}12%{opacity:.2}20%{opacity:.9}24%{opacity:.25}40%{opacity:1}44%{opacity:.5}52%,100%{opacity:1}}
.sp-sub,.sp-sub p{font-size:1.2rem;max-width:44ch;color:rgba(243,241,234,.78)}
.sp-hint .elementor-heading-title{font-family:var(--f-mono);font-stretch:100%;font-size:.72rem;letter-spacing:.08em;color:rgba(243,241,234,.55);font-weight:400;line-height:1.4;min-height:1.4em}
.sp-hero.off .sp-hint .elementor-heading-title{color:var(--amber)}
.sp-h1s .elementor-heading-title{font-size:clamp(2.6rem,7vw,6rem);font-weight:900;color:var(--hero-ink)}
.sp-tag .elementor-heading-title{font-family:var(--f-display);font-stretch:112%;font-size:clamp(1.2rem,2.4vw,1.7rem);color:var(--amber);font-weight:700;max-width:30ch;line-height:1.2}
.sp-crumbs,.sp-crumbs p{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.1em;color:rgba(243,241,234,.6)}
.sp-crumbs a{text-decoration:none}.sp-crumbs a:hover{color:var(--amber)}
.sp-h3 .elementor-heading-title{font-size:1.2rem;font-weight:800;font-stretch:112%;color:inherit}
.sp-mono,.sp-mono p{font-family:var(--f-mono);font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
/* pulsanti */
.sp-btns.e-con{--flex-direction:row;flex-direction:row;flex-wrap:wrap;--gap:12px;gap:12px}
.sp-btn.elementor-widget .elementor-button{display:inline-flex;align-items:center;gap:.6em;font-family:var(--f-mono);font-weight:600;font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;padding:1em 1.4em;border-radius:var(--r);border:2px solid transparent;line-height:1.2;transition:transform .15s,box-shadow .2s,background .2s}
.sp-btn-hot.elementor-widget .elementor-button{background:var(--amber);color:var(--on-accent)}
.sp-btn-hot.elementor-widget .elementor-button:hover{transform:translateY(-2px);box-shadow:0 8px 30px -6px var(--glow);background:var(--amber);color:var(--on-accent)}
.sp-btn-line.elementor-widget .elementor-button{background:transparent;border-color:currentColor;color:inherit}
.sp-btn-line.elementor-widget .elementor-button:hover{background:rgba(127,127,127,.12);color:inherit}
.sp-sec--dark .sp-btn-line.elementor-widget .elementor-button{color:var(--hero-ink)}
.sp-btn-dark.elementor-widget .elementor-button{background:var(--on-accent);color:#FFE7B8}
.sp-btn-dark.elementor-widget .elementor-button:hover{background:#000;color:#FFE7B8}
.sp-btn-full.elementor-widget .elementor-button{width:100%;justify-content:center}
.sp-btn-full.elementor-widget{width:100%}
/* hero */
.sp-sec--dark::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.5;background-image:linear-gradient(rgba(77,172,212,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(77,172,212,.09) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:radial-gradient(ellipse at 70% 40%,#000 20%,transparent 75%);mask-image:radial-gradient(ellipse at 70% 40%,#000 20%,transparent 75%)}
.e-con.sp-herogrid{--display:grid;display:grid;grid-template-columns:1.25fr .75fr;gap:40px;align-items:center;padding-bottom:40px}
.sp-herogrid>.sp-stack{--gap:26px;gap:26px}
@media(max-width:860px){.e-con.sp-herogrid{grid-template-columns:1fr}}
.sp-x button{font:inherit;color:inherit;background:none;border:0;padding:0;border-radius:0;text-transform:none;letter-spacing:normal}
.sp-x button:hover,.sp-x button:focus{background:none;color:inherit}
.sp-scene{display:grid;justify-items:center;gap:26px}
.sp-bulb{width:min(230px,52vw);aspect-ratio:1/1.35;max-width:100%}
.sp-bulb svg{width:100%;height:100%;overflow:visible}
.sp-bulb .glass{fill:rgba(255,236,190,.16);stroke:rgba(255,236,190,.5);stroke-width:2;transition:fill .3s}
.sp-bulb .fil{stroke:var(--amber);stroke-width:3;fill:none;filter:drop-shadow(0 0 6px var(--amber));transition:stroke .3s,filter .3s}
.sp-bulb .halo{fill:url(#spHalo);transition:opacity .4s}
.sp-hero.off .sp-bulb .glass{fill:rgba(255,255,255,.03)}
.sp-hero.off .sp-bulb .fil{stroke:#46596b;filter:none}
.sp-hero.off .sp-bulb .halo{opacity:0}
.sp-x .sp-switch{width:116px;height:172px;border-radius:14px;background:linear-gradient(160deg,#F5F5F1,#D6D8D2);box-shadow:inset 0 0 0 1px #fff,0 20px 40px -12px rgba(0,0,0,.6);display:grid;place-items:center;cursor:pointer;position:relative}
.sp-x .sp-switch:hover,.sp-x .sp-switch:focus{background:linear-gradient(160deg,#F5F5F1,#D6D8D2)}
.sp-switch::after{content:"";position:absolute;inset:14px 20px;border-radius:8px;background:#C9CCC5;box-shadow:inset 0 2px 6px rgba(0,0,0,.25)}
.sp-switch span{position:relative;z-index:1;width:60px;height:110px;border-radius:7px;background:linear-gradient(#FBFBF8,#E2E3DE);box-shadow:0 8px 0 -2px #B9BCB4,0 10px 18px rgba(0,0,0,.25);transition:transform .18s cubic-bezier(.3,1.6,.6,1),box-shadow .18s;transform:perspective(300px) rotateX(14deg)}
.sp-switch span::after{content:"";position:absolute;left:50%;top:14px;width:8px;height:8px;margin-left:-4px;border-radius:50%;background:var(--orange);box-shadow:0 0 8px var(--orange)}
.sp-hero.off .sp-switch span{transform:perspective(300px) rotateX(-14deg);box-shadow:0 -8px 0 -2px #B9BCB4,0 -4px 14px rgba(0,0,0,.2)}
.sp-hero.off .sp-switch span::after{background:#8C948E;box-shadow:none}
@media(max-width:860px){.sp-scene{grid-template-columns:auto auto;align-items:center;justify-content:start}.sp-bulb{width:140px}.sp-bulb .cord{display:none}.sp-x .sp-switch{width:90px;height:132px}.sp-switch span{width:46px;height:84px}}
.sp-ticker{border-top:1px solid rgba(255,255,255,.1);overflow:hidden;white-space:nowrap;font-family:var(--f-mono);font-size:.82rem;letter-spacing:.16em;color:var(--amber);padding-block:16px}
.sp-ticker div{display:inline-flex;animation:spTick 40s linear infinite;width:max-content}
.sp-ticker span{margin-right:2.4em}.sp-ticker span::before{content:"⏚";margin-right:1em;color:var(--sky)}
@keyframes spTick{to{transform:translateX(-50%)}}
/* quadro */
.sp-quadro{background:linear-gradient(180deg,var(--module) 0%,#CBCDC8 100%);border-radius:14px;padding:22px clamp(14px,3vw,30px) 30px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.6),0 30px 60px -30px rgba(15,34,51,.45);color:var(--module-ink)}
.sp-quadro .plate{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-family:var(--f-mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:#56615F;padding:0 4px 14px;border-bottom:1px dashed var(--module-edge)}
.sp-quadro .plate b{color:var(--module-ink)}
.sp-rail{margin-top:22px;position:relative;padding:18px 0;display:grid;grid-template-columns:1.2fr repeat(8,1fr);gap:4px}
.sp-rail::before{content:"";position:absolute;left:0;right:0;top:50%;height:36px;margin-top:-18px;background:repeating-linear-gradient(90deg,#9EA39C 0 10px,#B6BAB2 10px 12px);border-radius:2px;opacity:.7}
@media(max-width:980px){.sp-rail{grid-template-columns:repeat(4,1fr);gap:10px}.sp-rail::before{display:none}.sp-mod.main{grid-column:1/-1}}
@media(max-width:520px){.sp-rail{grid-template-columns:repeat(2,1fr)}}
.sp-x .sp-mod{position:relative;background:linear-gradient(180deg,#FBFBF8,#E9EAE5);border-radius:5px;box-shadow:0 1px 0 #fff inset,0 0 0 1px var(--module-edge),0 10px 18px -10px rgba(0,0,0,.35);padding:10px 10px 12px;display:flex;flex-direction:column;gap:8px;text-align:left;cursor:pointer;color:var(--module-ink);min-width:0;transition:transform .2s;text-decoration:none;font-family:var(--f-body)}
.sp-x .sp-mod:hover{transform:translateY(-3px);background:linear-gradient(180deg,#FBFBF8,#E9EAE5);color:var(--module-ink)}
.sp-mod .lbl{font-family:var(--f-mono);font-size:.62rem;letter-spacing:.06em;display:flex;justify-content:space-between;align-items:center;color:#6A736E}
.sp-mod .lbl b{color:var(--module-ink)}
.sp-mod .led{width:7px;height:7px;border-radius:50%;background:#9BA29E;transition:.2s}
.sp-mod.on .led{background:#3BD07A;box-shadow:0 0 8px #3BD07A}
.sp-mod .slot{height:74px;background:#2A3238;border-radius:4px;box-shadow:inset 0 3px 8px rgba(0,0,0,.6);position:relative;overflow:hidden;display:block}
.sp-mod .lever{position:absolute;left:18%;right:18%;height:44%;border-radius:3px;background:var(--lev,#E2741E);bottom:6px;transition:bottom .28s cubic-bezier(.3,1.5,.5,1);box-shadow:0 3px 0 rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.4)}
.sp-mod.on .lever{bottom:calc(56% - 6px)}
.sp-mod .lever::after{content:"";position:absolute;left:20%;right:20%;top:40%;height:2px;background:rgba(0,0,0,.25)}
.sp-mod .slot i{position:absolute;right:5px;font-family:var(--f-mono);font-style:normal;font-size:.55rem;color:#7F8A90}
.sp-mod .slot i.t{top:4px}.sp-mod .slot i.b{bottom:4px}
.sp-mod .nm{font-family:var(--f-display);font-stretch:112%;font-size:.94rem;font-weight:800;line-height:1.1;display:block}
.sp-mod .ds{font-size:.78rem;line-height:1.35;color:#56615F;display:block}
.sp-mod .go{font-family:var(--f-mono);font-size:.62rem;letter-spacing:.1em;color:var(--orange);margin-top:auto}
.sp-x .sp-mod.main{background:linear-gradient(180deg,#F4F4F0,#DCDDD7)}
.sp-mod.main .slot{height:94px}.sp-mod.main .lever{--lev:#C62F2F}.sp-mod.main .nm{font-size:1.05rem}
.sp-note{display:flex;gap:10px;align-items:center;margin-top:18px;font-family:var(--f-mono);font-size:.72rem;letter-spacing:.06em;color:var(--muted)}
/* perché */
.e-con.sp-why{--display:grid;display:grid;grid-template-columns:repeat(4,1fr);border-top:2px solid var(--ink);margin-top:44px}
.sp-why>.e-con{--padding-top:28px;--padding-right:24px;--padding-bottom:8px;--padding-left:24px;--gap:12px;gap:12px;border-right:1px solid var(--line)}
.sp-why>.e-con:first-child{--padding-left:0px}.sp-why>.e-con:last-child{border-right:0}
.sp-why svg{width:46px;height:46px;stroke:var(--orange);fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;display:block}
.sp-why .sym{font-family:var(--f-mono);font-size:.66rem;letter-spacing:.1em;color:var(--muted);display:block;margin-top:12px}
.sp-why .elementor-widget-text-editor{color:var(--muted);font-size:.98rem}
@media(max-width:900px){.e-con.sp-why{grid-template-columns:1fr 1fr}.sp-why>.e-con{border-bottom:1px solid var(--line)}.sp-why>.e-con:nth-child(2n){border-right:0}.sp-why>.e-con:nth-child(3){--padding-left:0px}}
@media(max-width:540px){.e-con.sp-why{grid-template-columns:1fr}.sp-why>.e-con{border-right:0;--padding-left:0px}}
/* calcolatore */
.sp-calc{background:var(--surface);border:1px solid var(--line);border-radius:14px;display:grid;grid-template-columns:.9fr 1.1fr;overflow:hidden}
.sp-calc .in{padding:clamp(22px,4vw,42px);display:grid;gap:26px;align-content:start;border-right:1px solid var(--line);min-width:0}
.sp-calc .out{padding:clamp(22px,4vw,42px);background:linear-gradient(160deg,var(--blue),#163651);color:#EAF4FA;display:grid;gap:22px;align-content:start;min-width:0}
@media(max-width:860px){.sp-calc{grid-template-columns:1fr}.sp-calc .in{border-right:0;border-bottom:1px solid var(--line)}}
.sp-calc label{display:flex;justify-content:space-between;align-items:baseline;font-weight:600;gap:12px}
.sp-calc label output{font-family:var(--f-mono);font-size:1.25rem;font-weight:600;color:var(--orange)}
.sp-calc small{display:block;color:var(--muted);font-size:.86rem;margin-top:4px}
.sp-calc input[type=range]{width:100%;margin-top:14px;accent-color:var(--orange);height:28px;padding:0;border:0}
.sp-seg{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.sp-x .sp-seg button{border:1.5px solid var(--line);background:transparent;padding:.55em .9em;border-radius:999px;cursor:pointer;font-weight:600;font-size:.92rem;color:var(--ink)}
.sp-x .sp-seg button[aria-pressed="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.sp-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.sp-kpis div{border-top:1px solid rgba(255,255,255,.25);padding-top:10px}
.sp-kpis b{display:block;font-family:var(--f-display);font-stretch:112%;font-size:clamp(1.6rem,3.4vw,2.4rem);font-weight:850;font-variant-numeric:tabular-nums;line-height:1.05}
.sp-kpis.sm b{font-size:1.5rem}
.sp-kpis span{font-family:var(--f-mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;opacity:.75}
@media(max-width:480px){.sp-kpis{grid-template-columns:1fr 1fr}}
.sp-roof{display:grid;grid-template-columns:repeat(12,1fr);gap:4px;padding:14px;background:rgba(0,0,0,.18);border-radius:8px;min-height:120px;align-content:start}
.sp-roof i{aspect-ratio:1/1.55;border-radius:2px;background:linear-gradient(160deg,#5BB9E0,#2A5D85);box-shadow:inset 0 0 0 1px rgba(255,255,255,.35);animation:spPanel .35s both}
@keyframes spPanel{from{transform:scale(.4);opacity:.2}}
.sp-calc .disc{font-size:.8rem;opacity:.75;line-height:1.45}
/* metodo */
.sp-steps{list-style:none;padding:0;margin:48px 0 0;display:grid;grid-template-columns:repeat(5,1fr);counter-reset:s;position:relative}
.sp-steps::before{content:"";position:absolute;left:0;right:0;top:21px;height:3px;background:repeating-linear-gradient(90deg,var(--orange) 0 14px,transparent 14px 22px);background-size:22px 3px;animation:spFlow 1.2s linear infinite}
@keyframes spFlow{to{background-position:22px 0}}
.sp-steps li{position:relative;padding-right:22px;counter-increment:s}
.sp-steps li::before{content:counter(s);display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--surface);border:3px solid var(--orange);font-family:var(--f-mono);font-weight:600;position:relative;margin-bottom:18px}
.sp-steps h3{font-size:1.06rem;font-weight:800;font-stretch:112%;margin:0 0 6px}
.sp-steps p{font-size:.95rem;color:var(--muted);margin:0}
.sp-steps .doc{font-family:var(--f-mono);font-size:.66rem;letter-spacing:.08em;color:var(--blue);margin-top:8px;display:block}
@media(max-width:900px){.sp-steps{grid-template-columns:1fr;gap:26px}.sp-steps::before{left:21px;right:auto;top:0;bottom:0;width:3px;height:auto;background:repeating-linear-gradient(180deg,var(--orange) 0 14px,transparent 14px 22px);animation:none}.sp-steps li{padding-left:66px;padding-right:0}.sp-steps li::before{position:absolute;left:0;top:-4px}}
/* zona */
.sp-radar{position:relative;aspect-ratio:1;max-width:520px;width:100%;margin:0 auto}
.sp-radar svg{width:100%;height:100%;overflow:visible}
.sp-radar .ring{fill:none;stroke:var(--line);stroke-width:1}
.sp-radar .sweep{transform-origin:250px 250px;animation:spSpin 6s linear infinite}
@keyframes spSpin{to{transform:rotate(360deg)}}
.sp-radar text{font-family:var(--f-mono);font-size:11px;fill:var(--muted);letter-spacing:.04em}
.sp-radar .town circle{fill:var(--blue)}.sp-radar .town.home circle{fill:var(--orange)}
.sp-radar .town.home text{fill:var(--ink);font-weight:600;font-size:12.5px}
.sp-radar .km{font-size:9.5px;opacity:.8}
.sp-towns{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.sp-towns span{border:1px solid var(--line);border-radius:999px;padding:.3em .8em;font-size:.9rem}
/* foto segnaposto */
.sp-ph{position:relative;border-radius:10px;overflow:hidden;background:repeating-linear-gradient(135deg,var(--sunk) 0 14px,#EBEEEC 14px 28px);border:1px dashed var(--line);display:flex;align-items:flex-end;min-height:180px;margin:0}
.sp-ph figcaption{margin:12px;background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:.5em .75em;font-size:.84rem;line-height:1.35;max-width:calc(100% - 24px)}
.sp-ph figcaption b{display:block;font-family:var(--f-mono);font-size:.62rem;letter-spacing:.12em;color:var(--orange);text-transform:uppercase;margin-bottom:2px}
.sp-bento{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:170px;gap:12px}
.sp-bento .a{grid-column:span 3;grid-row:span 2}.sp-bento .b{grid-column:span 3}.sp-bento .c{grid-column:span 2}.sp-bento .d{grid-column:span 1}.sp-bento .e{grid-column:span 4}.sp-bento .f{grid-column:span 2}
@media(max-width:760px){.sp-bento{grid-template-columns:1fr 1fr;grid-auto-rows:150px}.sp-bento .a,.sp-bento .b,.sp-bento .e,.sp-bento .f{grid-column:span 2}.sp-bento .c,.sp-bento .d{grid-column:span 1}}
/* FAQ (widget Interruttore/toggle) */
.e-con.sp-faq{--display:grid;display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(24px,5vw,64px);align-items:start}
@media(max-width:860px){.e-con.sp-faq{grid-template-columns:1fr}}
.sp-toggle .elementor-toggle-item{border-bottom:1px solid var(--line)}
.sp-toggle .elementor-toggle-item:first-child{border-top:1px solid var(--line)}
.sp-toggle .elementor-tab-title{border:0!important;padding:20px 40px 20px 0!important;font-family:var(--f-body)!important;font-weight:600!important;font-size:1.1rem!important;color:var(--ink)!important;position:relative}
.sp-toggle .elementor-tab-title a{color:var(--ink)!important;text-decoration:none}
.sp-toggle .elementor-toggle-icon{display:none!important}
.sp-toggle .elementor-tab-title::after{content:"";position:absolute;right:6px;top:50%;width:14px;height:14px;margin-top:-10px;border-right:2.5px solid var(--orange);border-bottom:2.5px solid var(--orange);transform:rotate(45deg);transition:.2s}
.sp-toggle .elementor-tab-title.elementor-active::after{transform:rotate(225deg);margin-top:-3px}
.sp-toggle .elementor-tab-content{border:0!important;padding:0 0 22px!important;color:var(--muted);max-width:62ch}
/* band */
.e-con.sp-bandgrid{--display:grid;display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center}
.sp-sec--band .elementor-heading-title{font-size:clamp(2rem,5vw,4rem);font-weight:900;color:var(--on-accent)}
.sp-sec--band::after{content:"";position:absolute;right:-40px;top:-60px;width:340px;height:340px;opacity:.12;background:var(--on-accent);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13 2 4 14h7l-1 8 9-12h-7z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13 2 4 14h7l-1 8 9-12h-7z'/%3E%3C/svg%3E") center/contain no-repeat;pointer-events:none}
@media(max-width:760px){.e-con.sp-bandgrid{grid-template-columns:1fr}}
/* pagine servizio */
.e-con.sp-svchead{--display:grid;display:grid;grid-template-columns:1fr auto;gap:40px;align-items:end}
.sp-bigmod{width:150px;pointer-events:none}
@media(max-width:760px){.e-con.sp-svchead{grid-template-columns:1fr}.sp-bigmod{display:none}}
.e-con.sp-svcbody{--display:grid;display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(28px,5vw,72px);align-items:start}
@media(max-width:900px){.e-con.sp-svcbody{grid-template-columns:1fr}}
.sp-intro,.sp-intro p{font-size:1.25rem;line-height:1.55}
.sp-spec{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--surface);margin-top:20px}
.sp-spec h3{font-family:var(--f-mono)!important;font-stretch:100%!important;font-size:.74rem!important;letter-spacing:.14em!important;text-transform:uppercase;padding:14px 18px!important;background:var(--sunk);border-bottom:1px solid var(--line);font-weight:600!important;display:flex;justify-content:space-between;margin:0}
.sp-spec ul{list-style:none;margin:0;padding:0}
.sp-spec li{display:grid;grid-template-columns:52px 1fr;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line);align-items:baseline}
.sp-spec li:last-child{border-bottom:0}
.sp-spec li code{font-family:var(--f-mono);font-size:.72rem;color:var(--orange);background:none;padding:0}
.e-con.sp-card{background:var(--surface);border:1px solid var(--line);border-radius:10px;--padding-top:22px;--padding-bottom:22px;--padding-left:22px;--padding-right:22px;--gap:12px;gap:12px}
.sp-card h4.elementor-heading-title{font-size:1rem;font-weight:800;font-stretch:112%;color:var(--ink)}
.sp-card .elementor-widget-text-editor{color:var(--muted)}
.sp-quote .elementor-heading-title{font-family:var(--f-display);font-stretch:112%;font-weight:800;font-size:1.3rem;line-height:1.2;border-left:4px solid var(--orange);padding-left:16px;color:var(--ink)}
.sp-pairs{display:flex;flex-wrap:wrap;gap:8px}
.sp-pairs a{text-decoration:none;font-weight:600;font-size:.92rem;border:1.5px solid var(--line);border-radius:999px;padding:.4em .9em;display:inline-flex;gap:.5em;align-items:center;color:var(--ink)}
.sp-pairs a:hover{border-color:var(--orange);color:var(--ink)}
.sp-pairs a i{width:8px;height:8px;border-radius:2px;background:var(--c)}
.sp-svclist a{display:grid;grid-template-columns:80px 1fr auto;gap:24px;align-items:center;padding:28px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}
.sp-svclist .cd{font-family:var(--f-mono);font-weight:600;font-size:.9rem}
.sp-svclist .nm{display:block;font-family:var(--f-display);font-stretch:125%;font-weight:850;font-size:clamp(1.4rem,3.4vw,2.4rem);line-height:1.05}
.sp-svclist .tg{display:block;color:var(--muted);margin-top:6px}
.sp-svclist .ar{font-family:var(--f-mono);color:var(--orange);transition:transform .2s}
.sp-svclist a:hover .ar{transform:translateX(6px)}
@media(max-width:600px){.sp-svclist a{grid-template-columns:44px 1fr auto;gap:14px}}
/* chi siamo */
.sp-big .elementor-heading-title{font-family:var(--f-display);font-stretch:125%;font-size:clamp(1.6rem,3.2vw,2.5rem);font-weight:850;line-height:1.1;color:var(--ink)}
.sp-big em{font-style:normal;color:var(--orange)}
.sp-uniform{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px}
.sp-uniform div{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:14px 12px;font-size:.86rem}
.sp-uniform b{display:block;font-family:var(--f-mono);font-size:.62rem;letter-spacing:.1em;color:var(--muted);text-transform:uppercase}
.sp-uniform svg{width:34px;height:34px;fill:#1F3A5F;margin-bottom:6px;display:block}
@media(max-width:520px){.sp-uniform{grid-template-columns:1fr 1fr}}
.e-con.sp-values{--display:grid;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:56px}
.sp-values>.e-con{border-top:3px solid var(--ink);--padding-top:14px;--gap:6px;gap:6px}
.sp-values .elementor-widget-text-editor{color:var(--muted);font-size:.96rem}
@media(max-width:760px){.e-con.sp-values{grid-template-columns:1fr}}
/* contatti */
.e-con.sp-contact{--display:grid;display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(24px,4vw,48px);align-items:start}
@media(max-width:900px){.e-con.sp-contact{grid-template-columns:1fr}}
.e-con.sp-formcard{background:var(--surface);border:1px solid var(--line);border-radius:14px;--padding-top:clamp(20px,4vw,36px);--padding-bottom:clamp(20px,4vw,36px);--padding-left:clamp(20px,4vw,36px);--padding-right:clamp(20px,4vw,36px);--gap:14px;gap:14px}
.sp-form .elementor-field-group>label,.sp-form .elementor-field-label{font-weight:600;font-size:.92rem;color:var(--ink);margin-bottom:6px}
.sp-form .elementor-field-textual,.sp-form select.elementor-field{font-family:var(--f-body)!important;font-size:1rem!important;padding:.75em .9em!important;border:1.5px solid var(--line)!important;border-radius:8px!important;background:var(--bg)!important;color:var(--ink)!important;min-height:48px}
.sp-form .elementor-field-textual:focus{border-color:var(--orange)!important;outline:none;box-shadow:none}
.sp-form .elementor-field-type-checkbox .elementor-field-subgroup{display:flex;flex-wrap:wrap;gap:8px}
.sp-form .elementor-field-type-checkbox .elementor-field-option{margin:0}
.sp-form .elementor-field-type-checkbox .elementor-field-option label{display:inline-flex;align-items:center;gap:.5em;border:1.5px solid var(--line);background:var(--bg);border-radius:8px;padding:.6em .95em;font-weight:600;cursor:pointer}
.sp-form .elementor-field-type-checkbox input{accent-color:var(--orange)}
.sp-form .elementor-field-type-checkbox .elementor-field-option:has(input:checked) label{border-color:var(--orange);background:#FBEADF}
.sp-form .elementor-button,.sp-form .e-form__buttons__wrapper__button{font-family:var(--f-mono)!important;font-weight:600!important;font-size:.82rem!important;letter-spacing:.1em!important;text-transform:uppercase;border-radius:var(--r)!important;padding:1em 1.4em!important;min-height:0}
.sp-form .elementor-button[type=submit],.sp-form .e-form__buttons__wrapper__button-next{background:var(--amber)!important;color:var(--on-accent)!important;border:0!important}
.sp-form .e-form__buttons__wrapper__button-previous{background:transparent!important;color:var(--ink)!important;border:2px solid var(--ink)!important}
.sp-form .e-form__indicators{margin-bottom:22px}
.sp-form .e-form__indicators__indicator__progress{background:var(--line)}
.sp-form .e-form__indicators__indicator__progress__meter{background:var(--orange);color:var(--on-accent);font-family:var(--f-mono);font-size:.7rem}
.sp-form .elementor-field-type-acceptance label{font-size:.88rem;color:var(--muted)}
.sp-info{display:grid;gap:12px}
.sp-info .row{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:16px 18px;display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;text-decoration:none;color:var(--ink)}
.sp-info svg{width:22px;height:22px;stroke:var(--orange);fill:none;stroke-width:2}
.sp-info small{display:block;font-family:var(--f-mono);font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.sp-info span{font-weight:600;overflow-wrap:anywhere}
.sp-info em{font-style:normal;font-family:var(--f-mono);font-size:.66rem;letter-spacing:.08em;border:1px solid var(--line);border-radius:6px;padding:.45em .6em}
.sp-info a.row:hover em{border-color:var(--orange)}
.sp-map iframe{border-radius:10px;border:1px solid var(--line)!important;filter:saturate(.7)}
/* header */
.e-con.sp-hd{position:sticky;top:0;z-index:50;background:rgba(241,243,241,.88);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line);--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px}
body.admin-bar .e-con.sp-hd{top:32px}
.e-con.sp-hdrow{max-width:var(--wrap);margin:0 auto;width:100%;--flex-direction:row;flex-direction:row;align-items:center;--gap:20px;gap:20px;min-height:72px;--padding-left:var(--gut);--padding-right:var(--gut);--padding-top:0px;--padding-bottom:0px;flex-wrap:nowrap}
.sp-logo img{width:38px!important;height:auto;display:block}
.sp-brand .elementor-heading-title{font-family:var(--f-display);font-stretch:125%;font-weight:900;font-size:1.02rem;line-height:.95;letter-spacing:.06em;color:var(--ink)}
.sp-brand .elementor-heading-title a{color:var(--ink)}
.sp-nav{margin-left:auto!important}
.sp-nav .elementor-nav-menu--main .elementor-item{font-family:var(--f-body);font-weight:600;font-size:.95rem;color:var(--ink);padding:.5em .8em;border-radius:var(--r)}
.sp-nav .elementor-nav-menu--main .elementor-item:hover,.sp-nav .elementor-nav-menu--main .elementor-item.elementor-item-active{color:var(--orange)}
.sp-nav .elementor-nav-menu--dropdown{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 20px 40px -20px rgba(15,34,51,.35)}
.sp-nav .elementor-nav-menu--dropdown a{color:var(--ink)!important;font-family:var(--f-body);font-weight:500;padding:12px 18px!important}
.sp-nav .elementor-nav-menu--dropdown a:hover,.sp-nav .elementor-nav-menu--dropdown a.elementor-item-active{background:var(--sunk)!important;color:var(--orange)!important}
.sp-nav .elementor-menu-toggle{background:transparent;border:1px solid var(--line);border-radius:var(--r);color:var(--ink);font-size:22px;padding:10px}
.sp-tel{font-family:var(--f-mono);font-size:.82rem;white-space:nowrap}
.sp-tel a{text-decoration:none;color:var(--ink);display:flex;align-items:center;gap:.5em}
.sp-tel i{width:8px;height:8px;border-radius:50%;background:#3BB273;box-shadow:0 0 0 3px rgba(59,178,115,.25);animation:spPulse 2s infinite;display:inline-block}
@keyframes spPulse{50%{box-shadow:0 0 0 7px transparent}}
@media(max-width:1024px){.sp-tel,.sp-hdcta{display:none!important}}
/* footer */
.e-con.sp-ft{background:var(--hero);color:var(--hero-ink);--padding-top:64px;--padding-bottom:32px;--padding-left:0px;--padding-right:0px;overflow:hidden}
.e-con.sp-ftgrid{--display:grid;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:28px}
@media(max-width:860px){.e-con.sp-ftgrid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.e-con.sp-ftgrid{grid-template-columns:1fr}}
.sp-ft .e-con{--gap:12px;gap:12px}
.sp-ft h4.elementor-heading-title{font-family:var(--f-mono)!important;font-stretch:100%!important;font-size:.7rem!important;letter-spacing:.14em;text-transform:uppercase;color:var(--amber)!important;font-weight:600!important}
.sp-ft .elementor-widget-text-editor,.sp-ft .elementor-widget-text-editor p{color:rgba(243,241,234,.72);font-size:.95rem;margin:0}
.sp-ft a{color:rgba(243,241,234,.82);text-decoration:none}.sp-ft a:hover{color:var(--amber)}
.sp-ft .elementor-icon-list-text{color:rgba(243,241,234,.82)!important;font-size:1rem}
.sp-ft .elementor-icon-list-item:hover .elementor-icon-list-text{color:var(--amber)!important}
.sp-ftlogo img{width:56px!important}
.sp-mega svg{display:block;width:100%;height:auto;margin-top:40px;overflow:visible}
.sp-mega text{font-family:var(--f-display);font-stretch:125%;font-weight:900;font-size:168px}
.sp-legal{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;border-top:1px solid rgba(255,255,255,.12);margin-top:20px;padding-top:20px;font-family:var(--f-mono);font-size:.7rem;letter-spacing:.06em;color:rgba(243,241,234,.55)}
.sp-wa{position:fixed;right:18px;bottom:18px;z-index:60;width:58px;height:58px;border-radius:50%;background:#25D366;display:grid;place-items:center;box-shadow:0 10px 30px -8px rgba(0,0,0,.4)}
.sp-wa svg{width:30px;height:30px;fill:#fff}
#spSparks{position:fixed;inset:0;pointer-events:none;z-index:90}
.sp-wire{position:fixed;left:10px;top:96px;bottom:24px;width:4px;z-index:40;pointer-events:none}
.sp-wire::before{content:"";position:absolute;inset:0;border-radius:4px;background:var(--line)}
.sp-wire b{position:absolute;left:0;right:0;top:0;height:var(--p,0%);border-radius:4px;background:linear-gradient(var(--amber),var(--orange));box-shadow:0 0 12px var(--glow)}
.sp-wire b::after{content:"";position:absolute;left:50%;bottom:-6px;width:12px;height:12px;margin-left:-6px;border-radius:50%;background:#fff;box-shadow:0 0 0 3px var(--amber),0 0 18px 4px var(--glow)}
.sp-wire em{position:absolute;left:12px;top:calc(var(--p,0%) - 8px);font-family:var(--f-mono);font-style:normal;font-size:.62rem;color:var(--muted);white-space:nowrap}
@media(max-width:1300px){.sp-wire{display:none}}
@media(prefers-reduced-motion:reduce){.sp-sec *,.sp-sec *::before,.sp-sec *::after{animation:none!important;transition:none!important}}





/* ===== AGGIUNTE ===== */
.elementor-location-header{position:sticky;top:0;z-index:50}
body.admin-bar .elementor-location-header{top:32px}
@media(max-width:782px){body.admin-bar .elementor-location-header{top:0}}
.e-con.sp-hd{position:relative;top:auto}
.sp-mt{margin-top:14px!important}
.sp-radar .town text{paint-order:stroke;stroke:var(--bg);stroke-width:4px}
.sp-mt64{margin-top:64px!important}
.e-con.sp-grid2.sp-top{align-items:start}
.sp-form{--e-form-steps-indicator-inactive-primary-color:#CBD3D6;--e-form-steps-indicator-active-primary-color:#DE6E1E;--e-form-steps-indicator-completed-primary-color:#DE6E1E;--e-form-steps-indicator-completed-secondary-color:#fff;--e-form-steps-indicator-inactive-secondary-color:#fff;--e-form-steps-indicator-active-secondary-color:#fff;--e-form-steps-divider-color:#CBD3D6}
.sp-form .e-form__indicators__indicator__label{font-family:var(--f-mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}
.sp-form .elementor-field-type-checkbox .elementor-field-option{position:relative}
.sp-form .elementor-field-type-checkbox .elementor-field-option input{position:absolute;opacity:0;pointer-events:none}
.sp-form .elementor-field-type-checkbox .elementor-field-option input:checked+label{border-color:var(--orange);background:#FBEADF}
.sp-form .elementor-field-type-checkbox .elementor-field-option label::before{content:"";width:10px;height:10px;border-radius:2px;border:1.5px solid var(--muted)}
.sp-form .elementor-field-type-checkbox .elementor-field-option input:checked+label::before{background:var(--orange);border-color:var(--orange)}
.sp-form .elementor-field-type-checkbox .elementor-field-option input:focus-visible+label{outline:3px solid var(--amber);outline-offset:2px}
.sp-form .e-form__buttons{gap:12px}
.sp-form .elementor-message-success{background:#E8F6EE;color:#1D6B42;padding:14px 16px;border-radius:8px;font-weight:600}
#spSparks{width:100%;height:100%;left:0;top:0}
html,body{max-width:100%;overflow-x:clip}
.sp-sec--dark a:not(.elementor-button),.sp-crumbs a{color:inherit!important}
.sp-crumbs a:hover{color:var(--amber)!important}

/* comuni */
.sp-comuni{margin-top:48px;border-top:1px solid var(--line);padding-top:28px}
.sp-comuni h3{font-family:var(--f-mono)!important;font-stretch:100%!important;font-size:.74rem!important;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:500!important;margin:0 0 18px!important}
.sp-comuni ul{list-style:none;margin:0;padding:0;columns:5 170px;column-gap:28px}
.sp-comuni li{font-size:.92rem;padding:3px 0;break-inside:avoid;display:flex;gap:8px;align-items:center;color:var(--ink);transition:color .15s}
.sp-comuni li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--blue);flex:none}
.sp-comuni li.home{font-weight:600}.sp-comuni li.home::before{background:var(--orange)}
.sp-comuni li.hi{color:var(--orange)}.sp-comuni li.hi::before{background:var(--orange)}
.sp-comuni .oltre{margin-top:22px!important;font-weight:600;font-size:1.05rem}
.sp-radar .town{cursor:default}
.sp-radar .town circle{transition:fill .15s}
.sp-radar .town.hi circle{fill:var(--orange)}
.sp-radar .town.hi text{fill:var(--orange)}
.sp-radar .tip{font-size:13px;fill:var(--orange);font-weight:600;font-family:var(--f-mono)}

/* targa dati */
.sp-targa{position:relative;margin-top:12px;border-radius:10px;padding:22px 26px 16px;background:linear-gradient(135deg,#E9ECEA 0%,#D3D8D6 45%,#EEF0EE 60%,#CDD2D0 100%);box-shadow:inset 0 1px 0 #fff,inset 0 0 0 1px #B9BFBC,0 18px 40px -24px rgba(15,34,51,.5);color:var(--ink);font-family:var(--f-mono)}
.sp-targa .rv{position:absolute;width:10px;height:10px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff,#9AA19D 70%);box-shadow:inset 0 0 0 1px #8B928E}
.sp-targa .rv.a{top:10px;left:10px}.sp-targa .rv.b{top:10px;right:10px}.sp-targa .rv.c{bottom:10px;left:10px}.sp-targa .rv.d{bottom:10px;right:10px}
.sp-targa .th{display:flex;justify-content:space-between;align-items:baseline;gap:12px;border-bottom:2px solid var(--ink);padding:0 8px 10px}
.sp-targa .th b{font-family:var(--f-display);font-stretch:125%;font-weight:900;font-size:1.15rem;letter-spacing:.04em;text-transform:uppercase}
.sp-targa .th span{font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--orange)}
.sp-targa dl{margin:0;padding:0 8px}
.sp-targa dl div{display:grid;grid-template-columns:96px 1fr;gap:14px;padding:10px 0;border-bottom:1px dashed #A9B0AC}
.sp-targa dt{font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:#56615F;padding-top:3px}
.sp-targa dd{margin:0;font-family:var(--f-body);font-size:.98rem;font-weight:500;line-height:1.45}
.sp-targa dd a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--orange)}
.sp-targa .tf{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:10px 8px 0;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:#56615F}
@media(max-width:520px){.sp-targa dl div{grid-template-columns:1fr;gap:2px}}

/* ===== RESPONSIVE v2 ===== */
/* header */
.e-con.sp-hdrow{gap:14px}
.sp-nav.elementor-widget{flex:1 1 auto;margin-left:auto!important;display:flex;justify-content:flex-end}
.sp-nav .elementor-menu-toggle{margin:0 0 0 auto!important;background:var(--surface)!important;border:1px solid var(--line)!important;border-radius:8px!important;color:var(--ink)!important;padding:10px!important}
.sp-nav .elementor-menu-toggle svg{fill:var(--ink)}
@media(max-width:1024px){
 .e-con.sp-hdrow{min-height:64px}
 .sp-nav nav.elementor-nav-menu--dropdown.elementor-nav-menu__container{margin-top:12px!important;border-radius:0 0 10px 10px}
 .sp-nav .elementor-nav-menu--dropdown a{font-size:1.05rem!important;padding:14px 22px!important;border-bottom:1px solid var(--sunk)}
}
/* sezioni piu compatte su mobile */
@media(max-width:767px){
 .e-con.sp-sec{--padding-top:56px;--padding-bottom:56px}
 .e-con.sp-sec--hero{--padding-top:28px;--padding-bottom:0px}
 .e-con.sp-sec--svchero{--padding-top:36px;--padding-bottom:32px}
 .e-con.sp-head{margin-bottom:26px;gap:14px}
 .sp-lead,.sp-lead p{font-size:1.05rem}
 .sp-sub,.sp-sub p{font-size:1.05rem}
 .sp-h1s .elementor-heading-title{font-size:clamp(2.3rem,11vw,3.4rem)}
 .sp-btns.e-con{flex-direction:column;align-items:stretch}
 .sp-btns .sp-btn.elementor-widget,.sp-btns .sp-btn .elementor-button{width:100%;justify-content:center}
 .sp-sec--band .sp-btn .elementor-button{width:100%;justify-content:center}
 .sp-sec--band .sp-btn.elementor-widget{width:100%}
 .sp-wa{width:52px;height:52px;right:14px;bottom:14px}
 .sp-wa svg{width:26px;height:26px}
}
/* hero: lampadina subito dopo il titolo su tablet verticale e mobile */
@media(max-width:860px){
 .e-con.sp-herogrid{grid-template-columns:1fr;gap:18px;padding-bottom:28px}
 .sp-herogrid>.sp-stack{display:contents}
 .sp-herogrid .sp-eyebrow{order:1}
 .sp-herogrid .sp-h1{order:2}
 .sp-herogrid>.elementor-widget-html{order:3}
 .sp-herogrid .sp-hint{order:4;text-align:center}
 .sp-herogrid .sp-hint .elementor-heading-title{text-align:center}
 .sp-herogrid .sp-sub{order:5}
 .sp-herogrid .sp-btns{order:6;margin-top:6px}
 .sp-scene{grid-template-columns:auto auto;justify-content:center;align-items:center;gap:36px;padding:6px 0}
 .sp-bulb{width:118px}
 .sp-bulb .cord{display:none}
 .sp-x .sp-switch{width:88px;height:128px}
 .sp-switch span{width:46px;height:82px}
}
@media(min-width:861px) and (max-width:1100px){
 .e-con.sp-herogrid{grid-template-columns:1.4fr .6fr}
 .sp-bulb{width:170px}
}
/* quadro: binario DIN scorrevole su mobile */
@media(max-width:760px){
 .sp-quadro{padding:18px 14px 20px}
 .sp-quadro .plate{font-size:.62rem;gap:4px 12px}
 .sp-rail{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;padding:16px 2px 14px;margin:14px -2px 0;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
 .sp-rail::before{display:block;left:0;right:auto;width:calc(8 * 146px + 60px);top:68px;margin-top:0}
 .sp-x .sp-mod,.sp-x .sp-mod.main{flex:0 0 138px;scroll-snap-align:start;grid-column:auto}
 .sp-mod .ds{font-size:.74rem}
 .sp-note{font-size:.66rem}
 .sp-note::after{content:"Scorri il quadro →";margin-left:auto;color:var(--orange);white-space:nowrap}
}
/* perché */
@media(max-width:767px){.sp-why>.e-con{--padding-top:22px;--padding-bottom:18px}}
/* calcolatore */
@media(max-width:600px){
 .sp-calc .in,.sp-calc .out{padding:20px}
 .sp-roof{grid-template-columns:repeat(10,1fr);padding:10px}
 .sp-kpis b{font-size:1.7rem}
}
/* radar: solo etichette essenziali su schermi piccoli */
@media(max-width:600px){
 .sp-radar .town:not(.home):not([data-t="Benevento"]) text{display:none}
 .sp-radar .town text{font-size:15px}
 .sp-radar .town.home text{font-size:16px}
 .sp-radar .tip{font-size:18px}
 .sp-radar .km{font-size:13px}
}
/* lavori */
@media(max-width:600px){.sp-bento{grid-auto-rows:130px;gap:8px}.sp-ph figcaption{font-size:.76rem;margin:8px}}
/* faq */
@media(max-width:767px){.sp-toggle .elementor-tab-title{font-size:1rem!important;padding:16px 34px 16px 0!important}}
/* schede servizio */
@media(max-width:900px){.e-con.sp-svcbody{gap:28px}.sp-intro,.sp-intro p{font-size:1.1rem}}
@media(max-width:600px){.sp-spec li{grid-template-columns:44px 1fr;padding:12px 14px}.sp-spec h3{padding:12px 14px!important;font-size:.66rem!important}}
/* contatti */
@media(max-width:600px){.sp-form .elementor-field-group{width:100%!important;max-width:100%!important}.e-con.sp-formcard{--padding-left:18px;--padding-right:18px}}
/* footer */
@media(max-width:767px){.e-con.sp-ft{--padding-top:48px}.sp-legal{flex-direction:column;gap:6px}}
/* tablet */
@media(min-width:768px) and (max-width:1024px){
 .e-con.sp-why{grid-template-columns:1fr 1fr}
 .e-con.sp-ftgrid{grid-template-columns:1fr 1fr}
 .e-con.sp-grid2{gap:36px}
}

/* tablet fix */
@media(min-width:761px) and (max-width:980px){.sp-x .sp-mod.main{grid-column:auto}.sp-mod.main .slot{height:74px}}
@media(min-width:600px) and (max-width:860px){.sp-bulb{width:150px}.sp-x .sp-switch{width:104px;height:152px}.sp-switch span{width:54px;height:98px}.sp-scene{gap:56px}}

/* quadro mobile v3: interruttori in colonna */
@media(max-width:760px){
 .sp-quadro{padding:16px 12px 14px}
 .sp-quadro .plate{display:grid;grid-template-columns:1fr;gap:2px;padding:0 4px 12px}
 .sp-rail{display:grid;grid-template-columns:1fr;gap:8px;overflow:visible;padding:0;margin:14px 0 0;scroll-snap-type:none}
 .sp-rail::before{display:none}
 .sp-x .sp-mod,.sp-x .sp-mod.main{flex:none;display:grid;grid-template-columns:42px 1fr auto;grid-template-rows:auto auto;column-gap:14px;row-gap:2px;align-items:center;padding:10px 14px 10px 10px;scroll-snap-align:none}
 .sp-mod .slot,.sp-mod.main .slot{grid-column:1;grid-row:1 / 3;width:42px;height:58px}
 .sp-mod .slot i{display:none}
 .sp-mod .lever{left:14%;right:14%;height:40%;bottom:5px}
 .sp-mod.on .lever{bottom:calc(60% - 5px)}
 .sp-mod .nm,.sp-mod.main .nm{grid-column:2;grid-row:1;font-size:1.02rem;align-self:end}
 .sp-mod .ds{grid-column:2;grid-row:2;font-size:.82rem;align-self:start}
 .sp-mod .lbl{grid-column:3;grid-row:1 / 3;flex-direction:column;align-items:flex-end;justify-content:center;gap:6px;font-size:.6rem}
 .sp-mod .lbl span:last-child{display:none}
 .sp-mod .go{display:none}
 .sp-x .sp-mod:hover{transform:none}
 .sp-note{font-size:.7rem;align-items:flex-start;line-height:1.5}
 .sp-note::after{content:none}
}

/* nota quadro staccata */
.sp-note{margin-top:40px!important;padding-left:2px}
@media(max-width:760px){.sp-note{margin-top:28px!important}}

/* quadro 9 moduli */
@media(min-width:981px) and (max-width:1200px){.sp-mod .ds{font-size:.72rem}.sp-mod .nm{font-size:.86rem}}
@media(min-width:761px) and (max-width:980px){.sp-rail{grid-template-columns:repeat(3,1fr)!important}}

/* nomi moduli */
@media(min-width:981px){.sp-rail{grid-template-columns:1.1fr repeat(8,1fr)!important;gap:5px}.sp-x .sp-mod{padding:9px 8px 11px}}
@media(min-width:761px){.sp-mod .nm{font-stretch:100%;font-size:.86rem;letter-spacing:-.01em;hyphens:auto;-webkit-hyphens:auto;overflow-wrap:normal;word-break:normal}.sp-mod.main .nm{font-size:1rem}.sp-mod .ds{hyphens:auto;-webkit-hyphens:auto}}
@media(min-width:981px) and (max-width:1200px){.sp-mod .nm{font-size:.78rem}}

/* bento fix */
.sp-bento .sp-ph{min-height:0;height:100%}
@media(max-width:600px){.sp-bento{grid-template-columns:1fr 1fr;grid-auto-rows:120px;gap:8px}.sp-bento .a{grid-column:span 2;grid-row:span 2}.sp-bento .b,.sp-bento .e{grid-column:span 2;grid-row:span 1}.sp-bento .c,.sp-bento .d{grid-column:span 1;grid-row:span 1}.sp-bento .f{grid-column:span 2;grid-row:span 1}.sp-ph figcaption{font-size:.74rem;padding:.4em .6em}}

/* mappa statica */
.sp-mapcard{position:relative;display:block;min-height:200px;border-radius:10px;overflow:hidden;border:1px solid var(--line);background:#E6ECEA;text-decoration:none;color:var(--ink)}
.sp-mapcard .grid{position:absolute;inset:0;width:100%;height:100%}
.sp-mapcard .grid path{fill:none;stroke:#fff;stroke-width:9;stroke-linecap:round}
.sp-mapcard .grid path.th{stroke:#F3D9A8;stroke-width:12}
.sp-mapcard .pin{position:absolute;left:50%;top:38%;transform:translate(-50%,-50%);width:46px;height:46px;border-radius:50%;background:var(--orange);display:grid;place-items:center;box-shadow:0 0 0 8px rgba(222,110,30,.18),0 10px 20px -6px rgba(0,0,0,.4)}
.sp-mapcard .pin svg{width:24px;height:24px;fill:none;stroke:#fff;stroke-width:2}
.sp-mapcard .lbl{position:absolute;left:12px;right:12px;bottom:12px;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:10px 12px;display:grid;gap:2px}
.sp-mapcard small{font-family:var(--f-mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.sp-mapcard b{font-size:.95rem}
.sp-mapcard em{font-style:normal;font-family:var(--f-mono);font-size:.72rem;color:var(--orange)}
.sp-mapcard:hover .pin{transform:translate(-50%,-56%)}
.sp-mapcard .pin{transition:transform .2s}
/* testi legali */
.e-con.sp-legalwrap{max-width:860px}
.sp-legal-text{font-size:1.02rem;line-height:1.7;color:var(--ink)}
.sp-legal-text h2{font-family:var(--f-display)!important;font-stretch:112%!important;font-size:1.35rem!important;font-weight:800!important;margin:44px 0 12px!important;padding-top:20px;border-top:1px solid var(--line);color:var(--ink)}
.sp-legal-text h2:first-child{margin-top:0!important;border-top:0;padding-top:0}
.sp-legal-text h3{font-family:var(--f-body)!important;font-stretch:100%!important;font-size:1.05rem!important;font-weight:600!important;margin:22px 0 8px!important}
.sp-legal-text p,.sp-legal-text ul{margin:0 0 14px}
.sp-legal-text ul{padding-left:20px}
.sp-legal-text li{margin-bottom:6px}
.sp-legal-text a{color:var(--orange);text-decoration:underline}
.sp-legal-text table{width:100%;border-collapse:collapse;font-size:.92rem;margin:10px 0 18px;display:block;overflow-x:auto}
.sp-legal-text th,.sp-legal-text td{border:1px solid var(--line);padding:9px 10px;text-align:left;vertical-align:top}
.sp-legal-text th{background:var(--sunk);font-family:var(--f-mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}
.sp-legal-text .box{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--orange);border-radius:8px;padding:16px 18px;margin:0 0 18px}/* End custom CSS */