
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/barlow-condensed-600.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/barlow-condensed-700.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/barlow-condensed-800.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Figtree';font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/figtree-400-700.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Figtree';font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/figtree-400-700-2.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

#preventivo.pp-dark{background:#0a0d14;color:#eef2fa}
#preventivo.pp-dark .head h2{color:#eef2fa}
#preventivo.pp-dark .head p{color:#97a3bd}
#preventivo.pp-dark .note{color:#eef2fa}
#preventivo.pp-dark .note a{color:#e1ff2b}
#pp-host{scroll-margin-top:calc(env(safe-area-inset-top,0px) + 76px)}

.works picture{display:block;width:100%;height:100%}
.hero-ph{margin:30px 0 0;aspect-ratio:4/3;overflow:hidden;background:#0b1430}
.hero-ph picture,.hero-ph img{display:block;width:100%;height:100%}
.hero-ph img{object-fit:cover;object-position:55% 38%}
@media(min-width:900px){.hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:48px;align-items:center}.hero-ph{margin:0;aspect-ratio:4/5}.hero-ph img{object-position:50% 50%}}
.me-card{display:grid;grid-template-columns:96px minmax(0,1fr);gap:16px;align-items:center;margin:4px 0 18px}
.me-card picture{display:block;width:96px;height:120px;overflow:hidden;background:#0b1430}
.me-card img{width:100%;height:100%;object-fit:cover;object-position:68% 32%;display:block}
.me-card p{margin:0}


:root{
  --bg:#ffffff; --surface:#f1f4f9; --ink:#0f1b3d; --muted:#4b5878; --line:#d5dbe8;
  --lime:#e1ff2b; --on-lime:#10265e; --accent:#c8102e;
  --display:'Barlow Condensed','Arial Narrow','Helvetica Neue',Arial,sans-serif;
  --body:'Figtree','Segoe UI',system-ui,-apple-system,Arial,sans-serif;
  box-sizing:border-box; padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){--bg:#0b1430;--surface:#131f44;--ink:#eef1f8;--muted:#aab4d0;--line:#27345f;--accent:#ff6b81}
}
:root[data-theme="dark"]{--bg:#0b1430;--surface:#131f44;--ink:#eef1f8;--muted:#aab4d0;--line:#27345f;--accent:#ff6b81}
*,*::before,*::after{box-sizing:inherit}
html{scroll-padding-top:calc(env(safe-area-inset-top,0px) + 70px);scroll-behavior:smooth;height:100%}
body{margin:0;min-height:100%;background:var(--bg);color:var(--ink);font:400 17px/1.6 var(--body);padding-bottom:0}
img,svg{max-width:100%}
a{color:inherit}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.wrap{width:min(1080px,100% - 40px);margin-inline:auto}
h1,h2,h3{font-family:var(--display);line-height:1;margin:0;letter-spacing:.005em}
h1{font-size:clamp(3.2rem,12vw,6.6rem);font-weight:800;text-transform:uppercase}
h2{font-size:clamp(2.1rem,6vw,3.2rem);font-weight:700;text-transform:uppercase}
h3{font-size:1.5rem;font-weight:700}
p{margin:0 0 1em;max-width:62ch}

header{position:sticky;top:env(safe-area-inset-top,0px);z-index:10;background:var(--bg);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;justify-content:space-between;padding:10px 0}
.logo{display:block;line-height:0}
.logo img{height:48px;width:auto;display:block}
nav{display:none;gap:26px;font-weight:500}
nav a{text-decoration:none}
nav a:hover{text-decoration:underline}
@media(min-width:760px){nav{display:flex}}

.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 26px;font:700 1rem var(--body);text-decoration:none;border:2px solid var(--ink);color:var(--ink);background:transparent;cursor:pointer}
.btn.primary{background:var(--lime);color:var(--on-lime);border-color:var(--lime)}
.btn:hover{filter:brightness(.95)}
.row{display:flex;flex-wrap:wrap;gap:12px}

.hero{padding:54px 0 64px;border-bottom:1px solid var(--line)}
.hero h1{margin-bottom:22px}
.hero .lead{font-size:1.2rem;color:var(--muted);margin-bottom:28px}
.hero small{display:block;margin-top:22px;color:var(--muted)}

section{padding:64px 0}
.alt{background:var(--surface)}
.head{margin-bottom:30px}
.head p{color:var(--muted);margin-top:12px}

.sizes{border:0;margin:0 0 8px;padding:0}
.sizes legend{font-weight:700;margin-bottom:10px;padding:0}
.seg{display:flex;flex-wrap:wrap;gap:8px}
.seg label{cursor:pointer}
.seg input{position:absolute;opacity:0;width:1px;height:1px}
.seg span{display:inline-flex;align-items:center;min-height:48px;padding:0 18px;font-weight:700;border:2px solid var(--line)}
.seg input:checked+span{background:var(--lime);color:var(--on-lime);border-color:var(--lime)}
.seg input:focus-visible+span{outline:3px solid var(--accent);outline-offset:3px}
#ex{color:var(--muted);margin:10px 0 0;font-size:.97rem}
.note{margin-top:22px;padding:16px 18px;background:var(--surface);border-left:6px solid var(--lime);font-size:.97rem}
.alt .note{background:var(--bg)}
#req{margin:18px 0 0}
#req[hidden]{display:none}
#req .btn{margin-top:10px}

.cmp{display:grid;gap:18px;margin:30px 0}
@media(min-width:760px){.cmp{grid-template-columns:1fr 1fr}}
.cmp div{border-top:6px solid var(--lime);padding-top:12px}
.cmp p{margin:6px 0 0;color:var(--muted)}

.tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.tab{min-height:48px;padding:0 20px;font:700 1rem var(--body);background:transparent;color:var(--ink);border:2px solid var(--line);cursor:pointer}
.tab[aria-selected="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.tabs.main .tab{font:700 1.5rem var(--display);text-transform:uppercase;min-height:56px;padding:0 30px}
.panel[hidden]{display:none}
.panel>p{color:var(--muted)}
.sub{font:700 1.35rem var(--display);text-transform:uppercase;margin:34px 0 6px}
.lvl{display:grid;grid-template-columns:1fr auto;gap:4px 20px;padding:18px 0;border-top:1px solid var(--line)}
.lvl:last-child{border-bottom:1px solid var(--line)}
.lvl h3{margin:0}
.meta{display:block;color:var(--muted);font-size:.93rem;margin-top:4px}
.lvl p{margin:4px 0 0;color:var(--muted);grid-column:1}
.price{font:700 1.7rem var(--display);white-space:nowrap;align-self:start;text-align:right}
.price.quote{font:500 .95rem var(--body);color:var(--muted)}

.two{display:grid;gap:28px}
@media(min-width:760px){.two{grid-template-columns:1fr 1fr}}
.two p{color:var(--muted)}

.steps{list-style:none;margin:0;padding:0;display:grid;gap:0;counter-reset:s}
.steps li{counter-increment:s;display:grid;grid-template-columns:56px 1fr;gap:16px;padding:20px 0;border-top:1px solid var(--line)}
.steps li::before{content:counter(s);font:800 2.6rem/1 var(--display);color:var(--ink)}
.steps b{display:block;font-size:1.1rem}
.steps span{color:var(--muted)}
@media(min-width:760px){.steps{grid-template-columns:repeat(4,1fr);gap:24px}.steps li{grid-template-columns:1fr;padding:20px 0 0}}

.gal{display:grid;gap:14px}
@media(min-width:760px){.gal{grid-template-columns:repeat(3,1fr)}}
.ph{display:grid;place-items:center;text-align:center;aspect-ratio:4/3;padding:20px;border:2px dashed var(--line);color:var(--muted);font-size:.95rem}


.works{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
@media(min-width:760px){.works{grid-template-columns:repeat(3,1fr);gap:16px}}
.works figure{position:relative;margin:0;aspect-ratio:3/4;overflow:hidden;background:#0b1430}
.works img,.works video{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.works img{cursor:zoom-in}
.works figure:hover img,.works figure:hover video{transform:scale(1.04)}
.works figcaption{position:absolute;left:0;right:0;bottom:0;padding:34px 12px 12px;color:#fff;font-size:.88rem;line-height:1.3;background:linear-gradient(to top,rgba(5,10,30,.85),rgba(5,10,30,0));pointer-events:none}
#lb{border:0;padding:0;background:transparent;max-width:96vw;max-height:94vh}
#lb::backdrop{background:rgba(5,10,30,.88)}
#lb img{display:block;max-width:92vw;max-height:88vh;margin:auto;cursor:zoom-out}
@media(prefers-reduced-motion:reduce){.works img,.works video{transition:none}}
.badge{display:inline-block;font:700 .68rem var(--body);letter-spacing:.08em;text-transform:uppercase;background:var(--lime);color:var(--on-lime);padding:3px 8px;margin-left:8px;vertical-align:middle}
.tag{display:block;font:600 .78rem var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.cmp ul{margin:10px 0 0;padding-left:1.1em;color:var(--muted)}
.cmp li{margin-bottom:4px}
.choose{border-top:1px solid var(--line);margin-bottom:8px}
.choose div{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid var(--line)}
.choose span{color:var(--muted)}
.choose b{white-space:nowrap}
.tabs .tab{flex:0 1 auto}
.bq{display:grid;gap:22px}
@media(min-width:900px){.bq{grid-template-columns:1.4fr 1fr;align-items:start;gap:30px}.bq-side{position:sticky;top:calc(env(safe-area-inset-top,0px) + 84px)}}
.card{background:var(--bg);border:1px solid var(--line);padding:26px;margin-bottom:18px}
.stp{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.stp b{display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:50%;background:var(--lime);color:var(--on-lime);font:700 1.35rem var(--display)}
.stp h3{margin:0;font-size:1.7rem}
.hint{color:var(--muted);font-size:.95rem;margin:-4px 0 8px}
.i-demo{display:inline-grid;place-items:center;width:20px;height:20px;border:1.5px solid var(--muted);font:italic 700 .85rem Georgia,serif;vertical-align:middle}
.grp{border:0;border-top:1px solid var(--line);margin:0;padding:20px 0 6px}
.grp legend{font:700 1.3rem var(--display);text-transform:uppercase;letter-spacing:.02em;padding:0 12px 0 0}
.gn{color:var(--muted);font-size:.9rem;margin:0 0 8px}
.opt{display:grid;grid-template-columns:minmax(0,1fr) 46px;gap:8px;margin:8px 0;align-items:stretch}
.opt label{min-width:0;display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 14px;min-height:54px;border:1.5px solid var(--line);background:var(--bg);cursor:pointer;transition:border-color .15s,background .15s}
.opt label:hover{border-color:var(--muted)}
.opt.on label{border-color:var(--ink);background:var(--surface)}
.opt input{position:absolute;opacity:0;width:1px;height:1px}
.mk{display:grid;place-items:center;width:22px;height:22px;border:2px solid var(--muted)}
.opt input[type=radio]+.mk{border-radius:50%}
.opt input[type=checkbox]+.mk{border-radius:5px}
.opt.on .mk{background:var(--lime);border-color:var(--lime)}
.opt.on .mk::after{content:"";width:6px;height:11px;border:solid var(--on-lime);border-width:0 2.5px 2.5px 0;transform:rotate(45deg) translate(-1px,-1px)}
.opt input:focus-visible+.mk{outline:3px solid var(--accent);outline-offset:3px}
.opt .nm{line-height:1.3;overflow-wrap:anywhere}
.opt.on .nm{font-weight:700}
.opt em{font-style:normal;color:var(--muted);white-space:nowrap;font-size:.95rem}
.opt.on em{color:var(--ink);font-weight:700}
@media(max-width:520px){.opt label{grid-template-columns:24px minmax(0,1fr);gap:4px 12px;padding:12px}.opt em{grid-column:2;white-space:normal}}
.opt .lock{grid-column:1/-1;margin:-2px 0 0;padding:9px 14px;background:var(--surface);font-size:.85rem;line-height:1.4;color:var(--muted);border-left:4px solid var(--line)}
.opt.off label{opacity:.5;cursor:not-allowed;background:var(--surface)}
.opt.off label:hover{border-color:var(--line)}
.opt.off .mk{border-style:dashed}
.bq-msg{margin:0 0 14px;padding:12px 14px;background:var(--surface);border-left:6px solid var(--lime);font-size:.93rem}
.bq-msg[hidden]{display:none}
.i{width:46px;min-height:54px;padding:0;border:1.5px solid var(--line);background:var(--bg);color:var(--ink);font:italic 700 1.25rem Georgia,'Times New Roman',serif;cursor:pointer}
.i:hover{background:var(--lime);color:var(--on-lime);border-color:var(--lime)}
#info{border:0;padding:0;background:var(--bg);color:var(--ink);width:min(440px,92vw);box-shadow:0 20px 60px rgba(5,10,30,.45)}
#info::backdrop{background:rgba(5,10,30,.7)}
#info .in{padding:28px 26px 24px;border-top:8px solid var(--lime)}
#info h3{font-size:1.9rem;margin-bottom:6px}
#info .tm{color:var(--muted);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;margin:0 0 14px}
#info p.d{color:var(--ink);margin:0 0 16px}
#info .pr{display:block;font:700 1.5rem var(--display);margin-bottom:18px}
#info .btn{width:100%}
.bq-side{background:#10265e;color:#fff;padding:28px}
.bq-side h3{color:#fff;margin-bottom:16px}
.bq-side label{display:block;font-weight:700;font-size:.9rem;margin-bottom:14px;color:#dfe6f7}
.bq-side input[type=text]{display:block;width:100%;min-height:50px;margin-top:6px;padding:0 14px;font:400 1rem var(--body);color:#fff;background:rgba(255,255,255,.08);border:1.5px solid rgba(255,255,255,.28)}
.bq-side input[type=text]::placeholder{color:rgba(255,255,255,.5)}
.bq-side input[type=text]:focus-visible{outline:3px solid var(--lime);outline-offset:2px}
.total{border-top:1px solid rgba(255,255,255,.25);border-bottom:1px solid rgba(255,255,255,.25);padding:18px 0;margin:8px 0 20px}
.total span{display:block;color:#dfe6f7;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase}
.total b{display:block;font:700 3.2rem var(--display);line-height:1.1;margin:6px 0;color:var(--lime)}
.total small{display:block;color:#dfe6f7;font-size:.85rem;line-height:1.4}
#bq-send{width:100%}
#bq-err{color:#ffb4c0;min-height:1.4em;margin:10px 0 0;font-size:.92rem}
.bq-side .small{color:#c3cde6;font-size:.82rem;margin:8px 0 0}
.bq-chip{position:fixed;left:50%;bottom:calc(12px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);width:min(1080px,100% - 24px);z-index:15;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#10265e;color:#fff;padding:12px 16px;box-shadow:0 8px 24px rgba(5,10,30,.35);transition:opacity .2s ease,transform .2s ease}
.bq-chip.off{opacity:0;pointer-events:none;transform:translate(-50%,24px)}
.bq-chip span{min-width:0;line-height:1.3}
#preventivo{padding-bottom:120px}
.bq-chip b{color:var(--lime);font:700 1.4rem var(--display)}
.bq-chip a{color:var(--on-lime);background:var(--lime);padding:8px 14px;font-weight:700;text-decoration:none;font-size:.9rem}
.rate{display:flex;align-items:center;gap:16px;margin-bottom:24px}
.rate b{font:800 3.8rem/1 var(--display)}
.stars{color:var(--ink);letter-spacing:3px;font-size:1.15rem}
.revs{display:grid;gap:14px;margin-bottom:24px}
@media(min-width:760px){.revs{grid-template-columns:1fr 1fr}}
.rcard{border:1px solid var(--line);background:var(--bg);padding:24px}
.rcard p{margin:10px 0 14px}
.rcard .by{color:var(--muted);font-size:.9rem}
.gd{border-top:1px solid var(--line)}
.gd:last-of-type{border-bottom:1px solid var(--line)}
.gd summary{display:grid;grid-template-columns:64px minmax(0,1fr) 24px;gap:12px;align-items:start;padding:22px 0;cursor:pointer;list-style:none}
.gd summary::after{content:"+";font-size:1.6rem;line-height:1}
.gd[open] summary::after{content:"\2212"}
.gd .gnum{font:800 2.8rem/1 var(--display);color:var(--line)}
.gd .gt{display:block;font:800 1.7rem/1.05 var(--display);text-transform:uppercase}
.gd .tz{display:block;color:var(--muted);font-size:.95rem;margin-top:6px}
.gbody{padding:0 0 26px 76px;max-width:760px}
@media(max-width:560px){.gbody{padding-left:0}.gd summary{grid-template-columns:44px minmax(0,1fr) 24px}.gd .gnum{font-size:2.2rem}}
.gbody .lead2{background:var(--surface);border-left:6px solid var(--lime);padding:14px 16px;margin:0 0 6px}
.gbody h4{font:700 .78rem var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:20px 0 8px}
.gbody ul{margin:0;padding:0;list-style:none}
.gbody li{display:flex;gap:10px;margin-bottom:8px}
.gbody li::before{content:"\2022";font-weight:800}
.gbody .cmpr{border-top:1px solid var(--line);padding:12px 0}
.gbody .cmpr small{display:block;font:700 .72rem var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.gbody .cmpr div{margin-bottom:5px}
.gbody .cmpr .me{background:var(--surface);padding:8px 10px}
.gbody .gnote{border-left:6px solid var(--line);padding:10px 14px;color:var(--muted);margin-top:16px}
.gbody .btn{margin-top:20px}
.dcards{display:grid;gap:16px;margin:26px 0}
@media(min-width:900px){.dcards{grid-template-columns:1.4fr 1fr;align-items:start}}
.dcard{border-top:5px solid var(--lime);background:var(--surface);padding:24px}
.dcard h3{margin:6px 0 12px;font-size:2rem}
.dcard h4{font:700 .78rem var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--ink);margin:20px 0 8px}
.dcard .tg{font:700 .78rem var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.dcard p{margin:0 0 10px}
.ck{list-style:none;margin:0 0 10px;padding:0}
.ck li{display:flex;gap:10px;margin-bottom:8px}
.ck li::before{content:"\2713";font-weight:800;flex:none}
.dsmall{color:var(--muted);font-size:.85rem;margin:2px 0 6px}
.trial{background:var(--lime);color:var(--on-lime);padding:26px;margin-top:6px}
.trial h3{margin:0 0 14px;font-size:2rem}
.trial .btn{background:var(--on-lime);color:#fff;border-color:var(--on-lime);margin-top:12px}
.dark{background:#10265e;color:#fff}
.dark h2{color:#fff}
.dark .tg2{font:700 .78rem var(--body);letter-spacing:.18em;text-transform:uppercase;color:var(--lime)}
.dark p{color:#dfe6f7}
.dsteps{counter-reset:s;list-style:none;margin:22px 0;padding:0;max-width:640px}
.dsteps li{counter-increment:s;display:flex;gap:14px;align-items:center;padding:12px 0;border-top:1px solid #3a5290}
.dsteps li::before{content:counter(s);display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:50%;background:var(--lime);color:var(--on-lime);font:800 1.2rem var(--display)}
.vwrap{display:grid;gap:28px}
@media(min-width:900px){.vwrap{grid-template-columns:1fr 1fr;align-items:start}}
.vch{position:relative;box-shadow:0 12px 32px rgba(15,27,61,.2);max-width:460px}
.vtop{background:#10265e;color:#fff;padding:24px}
.vtop .row2{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}
.vlogo{background:var(--lime);color:var(--on-lime);font:800 1.5rem var(--display);letter-spacing:.08em;padding:6px 12px}
.vtop .tg2{font:700 .78rem var(--body);letter-spacing:.18em;text-transform:uppercase;color:var(--lime)}
.vamt{font:800 5rem/1 var(--display);color:var(--lime);margin:6px 0 8px}
.vsub{color:#dfe6f7}
.vsep{position:relative;border-top:2px dashed #b8c0d2;background:#fff}
.vsep::before,.vsep::after{content:"";position:absolute;top:-12px;width:22px;height:22px;border-radius:50%;background:var(--surface)}
.vsep::before{left:-11px}.vsep::after{right:-11px}
.vbot{background:#fff;color:#0f1b3d;padding:22px 24px}
.vf{display:flex;gap:10px;align-items:flex-end;margin-bottom:14px;color:#4b5878;font-size:.9rem}
.vf span{flex:1;border-bottom:1px dashed #9aa5bf;height:1px}
.vnote{font-size:.8rem;color:#4b5878}
.chips{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:10px 0 24px}
.chip{min-height:56px;border:2px solid var(--line);background:var(--bg);color:var(--ink);font:800 1.6rem var(--display);cursor:pointer}
.chip[aria-pressed="true"]{background:#10265e;border-color:#10265e;color:#fff}
.chip.wide{grid-column:span 3}
@media(min-width:420px){.chip.wide{grid-column:span 3}}
.ba-wrap{max-width:420px}
.ba{position:relative;max-width:420px;aspect-ratio:3/4;overflow:hidden;background:#0b1430}
.ba img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;user-select:none;-webkit-user-drag:none}
.ba .bef{clip-path:inset(0 calc(100% - var(--p,50%)) 0 0)}
.ba .hd{position:absolute;top:0;bottom:0;left:var(--p,50%);width:3px;background:var(--lime);transform:translateX(-50%);pointer-events:none}
.ba .hd::after{content:"\2039  \203a";position:absolute;top:50%;left:50%;width:46px;height:46px;border-radius:50%;background:var(--lime);color:var(--on-lime);transform:translate(-50%,-50%);display:grid;place-items:center;font:800 1.3rem/1 var(--body);box-shadow:0 2px 12px rgba(0,0,0,.45);white-space:pre}
.ba input[type=range]{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;cursor:ew-resize;touch-action:pan-y}
.ba .lb{position:absolute;top:12px;padding:5px 10px;background:rgba(5,10,30,.78);color:#fff;font:700 .72rem var(--body);letter-spacing:.14em;text-transform:uppercase;pointer-events:none}
.ba .lb.l{left:12px}.ba .lb.r{right:12px}
.works.two{grid-template-columns:repeat(2,1fr);max-width:640px}
.acc{border:1.5px solid var(--line);background:var(--bg);margin-bottom:10px}
.acc[open]{border-color:var(--ink)}
.acc.locked{background:var(--surface)}
.acc summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:minmax(0,1fr) 22px;gap:4px 12px;padding:16px;align-items:center}
.acc summary::-webkit-details-marker{display:none}
.acc summary::after{content:"";grid-column:2;grid-row:1/3;width:9px;height:9px;border-right:2.5px solid currentColor;border-bottom:2.5px solid currentColor;transform:rotate(45deg);justify-self:center;margin-top:-4px}
.acc[open] summary::after{transform:rotate(-135deg);margin-top:4px}
.acc .at{font:800 1.3rem/1.05 var(--display);text-transform:uppercase}
.acc.locked .at{color:var(--muted)}
.acc .as{grid-column:1;color:var(--muted);font-size:.9rem;line-height:1.35}
.acc.has .as{color:var(--ink);font-weight:700}
.acc .ab{padding:0 16px 16px}
.bq-side select{display:block;width:100%;min-height:50px;margin-top:6px;padding:0 40px 0 14px;font:400 1rem var(--body);color:#fff;background:rgba(255,255,255,.08) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='white' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 14px center;border:1.5px solid rgba(255,255,255,.28);-webkit-appearance:none;appearance:none;border-radius:0}
.bq-side select option{color:#0f1b3d;background:#fff}
.bq-side select:focus-visible{outline:3px solid var(--lime);outline-offset:2px}
.ast{background:var(--lime);color:#10265e;border:0;padding:14px 16px;font-size:.95rem;line-height:1.5;margin-top:14px;font-weight:500}.total .ast b{display:inline;font:800 .95rem/1.5 var(--body);color:#10265e;margin:0}
.sit{border-top:1px solid var(--line)}
.sit:last-of-type{border-bottom:1px solid var(--line)}
.sit summary{display:grid;grid-template-columns:minmax(0,1fr) 24px;gap:12px;align-items:start;padding:20px 0;cursor:pointer;list-style:none}
.sit summary::-webkit-details-marker{display:none}
.sit summary::after{content:"+";font-size:1.7rem;line-height:1}
.sit[open] summary::after{content:"\2212"}
.sit .st{display:block;font:800 1.6rem/1.05 var(--display);text-transform:uppercase}
.sit .ss{display:block;color:var(--muted);margin-top:6px}
.sbody{padding:0 0 24px;max-width:640px}
.sbody p{margin:0 0 14px}
.sbody h4{font:700 .78rem var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0 0 8px}
.sbody .chips2{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.sbody .chips2 span{border:1.5px solid var(--line);background:var(--surface);padding:7px 11px;font-size:.9rem}
.sbody .dsmall{margin:0 0 14px}
.ctc{max-width:640px}
.ctc .wa{display:flex;align-items:center;justify-content:center;min-height:58px;font-size:1.05rem}
.crow{display:flex;align-items:center;gap:14px;padding:16px 0;border-top:1px solid var(--line)}
.crow:last-of-type{border-bottom:1px solid var(--line)}
.crow .cl{flex:1;min-width:0}
.crow .ck2{display:block;font:700 .78rem var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.crow .cv{display:block;overflow-wrap:anywhere}
.crow a.ca{flex:none;font-weight:700;text-decoration:none;border-bottom:3px solid var(--lime)}
.where{background:var(--surface);padding:24px;margin-top:28px}
.where h3{font-size:2rem;margin:6px 0 10px}
.where p{margin:0 0 4px}
.where .sm{color:var(--muted);font-size:.92rem;margin-bottom:16px}
.sitefoot{background:#10265e;color:#fff;padding:40px 0 30px}
.sitefoot .fl{display:flex;align-items:center;gap:16px;margin-bottom:28px}
.sitefoot .flogo{background:var(--lime);color:var(--on-lime);font:800 2rem var(--display);letter-spacing:.08em;padding:8px 14px;text-decoration:none}
.sitefoot .fs{color:#dfe6f7;line-height:1.35}
.sitefoot .fcols{display:grid;grid-template-columns:1fr 1fr;gap:20px}
@media(min-width:760px){.sitefoot .fcols{grid-template-columns:1fr 1fr 1.4fr}}
.sitefoot h4{font:700 .78rem var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--lime);margin:0 0 10px}
.sitefoot a{display:block;color:#fff;text-decoration:none;padding:8px 0}
.sitefoot a:hover{text-decoration:underline}
.sitefoot .fadd{grid-column:1/-1;border-top:1px solid #3a5290;padding-top:20px;color:#dfe6f7;line-height:1.6}
@media(min-width:760px){.sitefoot .fadd{grid-column:auto;border-top:0;padding-top:0}}
.sitefoot .fbot{border-top:1px solid #3a5290;margin-top:26px;padding-top:16px;font-size:.82rem;color:#aab6d6}
.cmpt{width:100%;border-collapse:collapse;margin:8px 0 6px}
.cmpt th,.cmpt td{padding:12px 6px;border-top:1px solid var(--line);vertical-align:top;text-align:center}
.cmpt th:first-child,.cmpt td:first-child{text-align:left;padding-left:0;font-weight:500}
.cmpt thead th{border-top:0;font:800 1.15rem/1.05 var(--display);text-transform:uppercase;vertical-align:bottom;padding-bottom:10px}
.cmpt thead th small{display:block;font:700 .62rem var(--body);letter-spacing:.12em;color:var(--muted);margin-bottom:4px}
.cmpt td.y{font-weight:800;color:var(--ink)}
.cmpt td.n{color:var(--line)}
.cmpt tr.tot td{font-weight:700;background:var(--surface)}
.cmpt tr.tot td:first-child{padding-left:8px}
.cmpt tr.tot td:not(:first-child){white-space:nowrap;font-size:.88rem}
@media(max-width:520px){.cmpt{font-size:.9rem}.cmpt th,.cmpt td{padding:11px 3px}}
.fl{display:block;font-weight:700;font-size:.92rem;margin:16px 0 6px}
.fl>select,.fl>input[type=text]{display:block;width:100%;min-height:50px;margin-top:6px;padding:0 14px;font:400 1rem var(--body);color:var(--ink);background-color:var(--bg);border:1.5px solid var(--line);border-radius:0;-webkit-appearance:none;appearance:none}
.fl>select{padding-right:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%234b5878' stroke-width='2'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}
.fl>select:focus-visible,.fl>input[type=text]:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.fl small{font-weight:400;color:var(--muted)}
.msel{border:1.5px solid var(--line);background:var(--bg);margin-top:6px}
.msel[open]{border-color:var(--ink)}
.msel summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;min-height:50px;font-weight:400;font-size:1rem;line-height:1.3;margin:0}
.msel summary::-webkit-details-marker{display:none}
.msel summary::after{content:"";flex:none;width:9px;height:9px;border-right:2.5px solid currentColor;border-bottom:2.5px solid currentColor;transform:rotate(45deg);margin-top:-4px}
.msel[open] summary::after{transform:rotate(-135deg);margin-top:4px}
.msel .ml{border-top:1px solid var(--line);max-height:330px;overflow:auto}
.msel .ml label{display:flex;align-items:center;gap:12px;padding:12px 14px;border-top:1px solid var(--line);cursor:pointer;font-weight:400;margin:0;font-size:1rem}
.msel .ml label:first-child{border-top:0}
.msel .ml input{width:20px;height:20px;flex:none;accent-color:var(--ink)}.msel .ml .mh{margin:0;padding:10px 14px 6px;border-top:1px solid var(--line);font:700 .78rem var(--body);letter-spacing:.06em;text-transform:uppercase;color:var(--muted,#666)}.msel .ml .mh:first-child{border-top:0}.msel .ml .mh+label{border-top:0}
.sugg{margin-top:14px;background:var(--surface);border-left:5px solid var(--lime);padding:12px 14px}
.sugg h4{font:700 .78rem var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0 0 8px}
.sugg span{display:inline-block;border:1.5px solid var(--line);background:var(--bg);padding:6px 10px;font-size:.88rem;margin:0 6px 6px 0}
.sugg p{margin:4px 0 0;color:var(--muted);font-size:.82rem}
.restore{border:1.5px solid var(--ink);background:var(--bg);padding:16px 18px;margin-bottom:18px}
.restore[hidden]{display:none}
.restore b{display:block}
.restore span{display:block;color:var(--muted);font-size:.9rem;margin:4px 0 12px}
.acts2{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}
.acts2 button{min-height:46px;border:1.5px solid rgba(255,255,255,.4);background:transparent;color:#fff;font:700 .82rem var(--body);cursor:pointer}
.acts2 button[hidden]{display:none}
.tmrow{color:#fff;font-size:.95rem;margin-top:6px}
#bq-print{display:none}
/* PDF del preventivo: foglio A4 "scheda di lavoro" */
@page{size:A4;margin:11mm 14mm}
@media print{html,body{background:#fff!important;overflow:visible!important;height:auto!important}body>*{display:none!important}body>#bq-print{display:block!important}}
.pv{width:182mm;min-height:274mm;padding:0;box-sizing:border-box;display:flex;flex-direction:column;background:#fff;color:#0f1b3d;font:10pt/1.45 var(--body);-webkit-print-color-adjust:exact;print-color-adjust:exact}
.pv *{box-sizing:border-box}
.pv-hd{display:grid;grid-template-columns:auto 1fr auto;gap:6mm;align-items:center;padding-bottom:6mm;border-bottom:.6mm solid #10265e}
.pv-lg{width:26mm;height:auto;display:block}
.pv-hd h1{margin:0;font:800 22pt/1 var(--display);text-transform:uppercase;letter-spacing:.03em;color:#10265e}
.pv-hd h1 small{display:block;font:500 9pt var(--body);text-transform:none;letter-spacing:0;color:#5b6680;margin-top:1.5mm}
.pv-n{text-align:right;font-size:8.5pt;color:#5b6680;font-variant-numeric:tabular-nums}
.pv-hero{margin:6mm 0;display:grid;grid-template-columns:1.3fr 1fr;gap:4mm}
.pv-auto{background:#10265e;color:#fff;padding:5mm 6mm}
.pv small{font-size:7.5pt;letter-spacing:.14em;text-transform:uppercase;color:#5b6680}
.pv-auto small{color:#aeb9d6}
.pv-auto b{display:block;font:800 24pt/1 var(--display);text-transform:uppercase;margin:1.5mm 0 3mm}
.pv-chips{display:flex;gap:1.5mm;flex-wrap:wrap}
.pv-chips span{border:.3mm solid #3b5296;padding:.6mm 2mm;font-size:8pt;color:#dfe6f7}
.pv-chips span.k{background:#e1ff2b;border-color:#e1ff2b;color:#10265e;font-weight:700}
.pv-tm{border:.3mm solid #d5dbe8;padding:4mm 5mm;display:grid;gap:2.5mm;align-content:start}
.pv-tm div{display:grid}
.pv-tm b{font:800 17pt/1.05 var(--display)}
.pv-tm span{font-weight:600;font-size:9pt}
.pv-steps{counter-reset:pv;display:grid}
.pv-st{display:grid;grid-template-columns:11mm 1fr auto;gap:4mm;padding:3.5mm 0;border-bottom:.3mm solid #e3e7ef;align-items:start;break-inside:avoid}
.pv-st:before{counter-increment:pv;content:counter(pv,decimal-leading-zero);font:800 15pt/1 var(--display);color:#10265e;background:#e1ff2b;width:11mm;height:11mm;display:grid;place-items:center}
.pv-st b{font-size:10.5pt}
.pv-st small{display:block;font-size:8.5pt;letter-spacing:0;text-transform:none;margin-top:.8mm;line-height:1.4}
.pv-p{font:700 13pt var(--display);white-space:nowrap;font-variant-numeric:tabular-nums}
.pv-ex{margin:4mm 0 0;padding-left:4mm;font-size:8.5pt;color:#3d4866}
.pv-bt{display:grid;grid-template-columns:1fr auto;gap:5mm;margin-top:6mm;align-items:stretch;break-inside:avoid}
.pv-tot{background:#e1ff2b;padding:4mm 6mm;display:flex;justify-content:space-between;align-items:center;gap:4mm}
.pv-tot span{font:700 9pt var(--body);letter-spacing:.14em;text-transform:uppercase;color:#10265e}
.pv-tot b{font:800 28pt/1 var(--display);color:#10265e;font-variant-numeric:tabular-nums;white-space:nowrap}
.pv i{font-style:normal;color:#c8102e;font-weight:800;margin-left:1mm}
.pv-qr{border:.3mm solid #d5dbe8;padding:2.5mm;display:grid;justify-items:center;gap:1mm;font-size:7.5pt;color:#5b6680;text-align:center;width:32mm}
.pv-qrc{width:24mm;height:24mm;display:block}
.pv-ft{margin-top:auto;padding-top:8mm;font-size:8.5pt;color:#5b6680;display:flex;justify-content:space-between;gap:6mm}
.pv-ft i{margin:0 1mm 0 0}
.pv-c{text-align:right;white-space:nowrap}
.pv-c b{color:#10265e}
.mgl{display:block;font:700 .78rem var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);padding:16px 0 4px}
.mpanel{max-height:calc(100vh - 78px);overflow:auto}
.gl .gh{display:inline-block;font:700 .78rem var(--body);letter-spacing:.16em;text-transform:uppercase;background:var(--lime);color:var(--on-lime);padding:5px 10px;margin:30px 0 6px}
.gl .tm{border-top:1px solid var(--line);padding:14px 0}
.gl .tm b{display:block;font:800 1.35rem/1.05 var(--display);text-transform:uppercase;margin-bottom:5px}
.gl .tm span{color:var(--muted)}
.pills{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 6px}
.pills span{border:1.5px solid var(--ink);padding:10px 14px;font-weight:700}
.season{border-top:5px solid var(--line);background:var(--surface);padding:24px;margin-bottom:20px;max-width:760px}
.season.now{border-top-color:var(--lime)}
.season h3{font-size:2.2rem;margin-bottom:10px}
.season .nowtag{display:none;font:700 .72rem var(--body);letter-spacing:.14em;text-transform:uppercase;background:#10265e;color:#e1ff2b;padding:4px 9px;margin-left:10px;vertical-align:middle}
.season.now .nowtag{display:inline-block}
.season h4{font:700 .78rem var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:18px 0 8px}
.season ul{margin:0;padding:0;list-style:none}
.season li{display:flex;gap:10px;margin-bottom:8px}
.season li::before{content:"\2022";font-weight:800}
.season .chips2{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.season .chips2 span{border:1.5px solid var(--line);background:var(--bg);padding:7px 11px;font-size:.9rem}
[hidden]{display:none!important}
.catbox{display:flex;align-items:center;gap:6px 14px;flex-wrap:wrap;margin-top:14px;padding:12px 14px;background:var(--surface);border-left:5px solid var(--lime)}
.catbox[hidden]{display:none}
.catbox small{flex-basis:100%;color:var(--muted)}
.lnk{border:0;background:none;font:inherit;font-weight:700;color:var(--ink);border-bottom:3px solid var(--lime);padding:0;cursor:pointer}
#situazioni{padding:22px 0}
.sitmenu{border:1.5px solid var(--ink);background:var(--bg);max-width:760px}
.sitmenu>summary{display:grid;grid-template-columns:minmax(0,1fr) 24px;gap:12px;align-items:center;padding:16px 18px;cursor:pointer;list-style:none}
.sitmenu>summary::-webkit-details-marker{display:none}
.sitmenu>summary::after{content:"";width:9px;height:9px;border-right:2.5px solid currentColor;border-bottom:2.5px solid currentColor;transform:rotate(45deg);justify-self:center;margin-top:-4px}
.sitmenu[open]>summary::after{transform:rotate(-135deg);margin-top:4px}
.sitmenu>summary .st{display:block;font:800 1.45rem/1.05 var(--display);text-transform:uppercase}
.sitmenu>summary .ss{display:block;color:var(--muted);margin-top:4px;font-size:.95rem}
.sitlist{padding:0 18px 8px;border-top:1px solid var(--line)}
.sitlist .sit:first-child{border-top:0}
.sitlist .sit:last-of-type{border-bottom:0}
.ba{aspect-ratio:1/1!important}
.why{display:grid;gap:28px}
@media(min-width:760px){.why{grid-template-columns:repeat(3,1fr)}}
.why h3{margin-bottom:8px}
.why p{color:var(--muted);margin:0}

details{border-top:1px solid var(--line);padding:18px 0}
details:last-of-type{border-bottom:1px solid var(--line)}
summary{cursor:pointer;font-weight:700;list-style:none;display:flex;justify-content:space-between;gap:16px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-size:1.4rem;line-height:1}
details[open] summary::after{content:"\2212"}
details p{margin:12px 0 0;color:var(--muted)}

.contact{display:grid;gap:30px}
@media(min-width:760px){.contact{grid-template-columns:1.2fr 1fr}}
address{font-style:normal;line-height:1.8}
footer{padding:28px 0 36px;border-top:1px solid var(--line);color:var(--muted);font-size:.9rem}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.bar .acts{display:flex;gap:10px;align-items:center}
.bar .acts .btn{display:none}
@media(min-width:600px){.bar .acts .btn{display:inline-flex}}

.mbtn{display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:0 14px;border:2px solid var(--ink);background:transparent;color:var(--ink);font:700 .95rem var(--body);cursor:pointer}
.mbtn .bars{position:relative;width:18px;height:12px;border-top:2px solid currentColor;border-bottom:2px solid currentColor}
.mbtn .bars::after{content:"";position:absolute;left:0;right:0;top:3px;border-top:2px solid currentColor}
.mpanel{position:absolute;left:0;right:0;top:100%;background:var(--bg);border-bottom:1px solid var(--line);box-shadow:0 18px 40px rgba(5,10,30,.2);padding-bottom:8px}
.mpanel[hidden]{display:none}
.mpanel a{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-top:1px solid var(--line);text-decoration:none;font:800 1.5rem var(--display);text-transform:uppercase}
.mpanel a::after{content:"\2192"}
.back{display:inline-block;margin:26px 0 0;font-weight:700;text-decoration:none;border-bottom:3px solid var(--lime)}
.page[hidden],#home[hidden]{display:none}
.trust{margin-top:18px;color:var(--muted);font-size:.95rem}
.trust a{text-decoration:none;border-bottom:2px solid var(--line)}
.vd{display:grid;gap:20px;margin:22px 0 14px}
@media(min-width:760px){.vd{grid-template-columns:1fr 1fr}}
.vd div{border-top:5px solid var(--lime);padding-top:12px}
.vd h3{margin-bottom:4px}
.vd .tg{display:block;font:700 .78rem var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.vd p{margin:0;color:var(--muted)}
.areas{list-style:none;margin:24px 0 0;padding:0}
.areas li{display:grid;grid-template-columns:140px minmax(0,1fr);gap:14px;padding:15px 0;border-top:1px solid var(--line)}
.areas li:last-child{border-bottom:1px solid var(--line)}
.areas b{font:800 1.35rem/1.1 var(--display);text-transform:uppercase}
.areas span{color:var(--muted)}
@media(max-width:520px){.areas li{grid-template-columns:1fr;gap:4px}}
.quote{border-top:1px solid var(--line);padding:22px 0}
.quote:last-of-type{border-bottom:1px solid var(--line)}
.quote p{margin:0 0 10px}
.quote .by{color:var(--muted);font-size:.9rem}
.rev-links{display:flex;gap:22px;flex-wrap:wrap;margin-top:20px}
.rev-links a{font-weight:700;text-decoration:none;border-bottom:3px solid var(--lime)}
.foot2{padding:34px 0;border-top:1px solid var(--line);color:var(--muted);font-size:.95rem;line-height:1.7}
.foot2 a{color:var(--ink)}

/* Popup foto lavori */
#lb{overflow:visible}
#lb img{cursor:default}
#lb .lbx{position:fixed;top:calc(14px + env(safe-area-inset-top,0px));right:14px;width:48px;height:48px;border-radius:50%;border:0;background:var(--lime);color:var(--on-lime);font:800 1.7rem/1 var(--body);cursor:pointer;box-shadow:0 4px 16px rgba(0,0,0,.4)}
.works figure{cursor:zoom-in}

/* Promo di lancio */
.promo{background:#10265e;color:#fff}
.promo h2{color:#fff;margin:8px 0 12px}
.promo p{color:#dfe6f7}
.ptag{display:inline-block;font:700 .72rem var(--body);letter-spacing:.16em;text-transform:uppercase;background:var(--lime);color:var(--on-lime);padding:5px 10px}
.pladder{list-style:none;margin:22px 0 14px;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;max-width:640px}
.pladder li{background:var(--lime);color:var(--on-lime);text-align:center;padding:12px 4px 10px}
.pladder b{display:block;font:800 clamp(1.4rem,6vw,2.3rem)/1 var(--display)}
.pladder span{display:block;font-size:.72rem;font-weight:700;margin-top:6px;line-height:1.2}
.pladder li.taken{background:transparent;color:#8d9bc4;border:1.5px dashed #3a5290}
.pladder li.taken b{text-decoration:line-through}
.pladder li.next{outline:3px solid #fff;outline-offset:2px}
.pleft{font-weight:700;color:#fff!important;margin-bottom:18px}
.promo .btn.primary{margin-bottom:16px}
.promo .dsmall{color:#aab6d6}
.pchk{display:flex!important;gap:10px;align-items:flex-start;font-weight:700}
.pchk input{flex:none;width:20px;height:20px;margin:2px 0 0;accent-color:var(--lime)}
.pchk span{font-weight:400}

/* Banda fissa Porta un amico (solo smartphone) */
.refbar{display:none}
@media(max-width:759px){
  .refbar{position:fixed;left:0;right:0;bottom:0;z-index:20;display:flex;align-items:center;gap:10px;padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));background:var(--lime);color:var(--on-lime);box-shadow:0 -6px 20px rgba(5,10,30,.25);transition:transform .25s ease}
  .refbar.hide{transform:translateY(120%)}
  .refbar .rt{flex:1;min-width:0;text-decoration:none;color:var(--on-lime);line-height:1.2}
  .refbar .rt b{display:block;font:800 1.2rem/1.05 var(--display);text-transform:uppercase}
  .refbar .rt span{display:block;font-size:.84rem;margin-top:2px}
  .refbar .rb{flex:none;display:inline-flex;align-items:center;min-height:46px;padding:0 14px;background:var(--on-lime);color:#fff;font-weight:700;font-size:.92rem;text-decoration:none;white-space:nowrap}
  body{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}
}

/* Popup di benvenuto */
#wel{border:0;padding:0;width:min(440px,92vw);background:var(--lime);color:var(--on-lime);box-shadow:0 20px 60px rgba(5,10,30,.5)}
#wel::backdrop{background:rgba(5,10,30,.7)}
#wel .win{position:relative;padding:30px 24px 22px}
#wel .wx{position:absolute;top:8px;right:8px;width:44px;height:44px;border:0;background:transparent;color:var(--on-lime);font:800 1.8rem/1 var(--body);cursor:pointer}
#wel .wk{font:700 .72rem var(--body);letter-spacing:.16em;text-transform:uppercase}
#wel h3{font-size:2.3rem;text-transform:uppercase;margin:8px 0 10px;line-height:.95}
#wel p{margin:0 0 14px;color:var(--on-lime)}
#wel .wpromo{background:#10265e;color:#fff;padding:14px 16px;margin:4px 0 18px}
#wel .wpromo b{display:block;color:var(--lime);font:800 1.3rem var(--display);text-transform:uppercase}
#wel .wpromo span{display:block;font-size:.92rem;color:#dfe6f7;margin-top:4px}
#wel .btn{width:100%;background:var(--on-lime);color:#fff;border-color:var(--on-lime)}
#wel .wl{display:block;text-align:center;margin-top:12px;font-weight:700;color:var(--on-lime)}
/* Foto principale della galleria */
.works figure.feat{grid-column:1/-1;aspect-ratio:16/10}
.works figure.feat img{object-position:50% 55%}
/* Tabella trasferta: tutto su una riga */
.cmpt.trasf{font-size:.95rem}
.cmpt.trasf th,.cmpt.trasf td{white-space:nowrap;padding-left:4px;padding-right:4px}
.cmpt.trasf thead th{font-size:1.05rem}
.cmpt.trasf tr.tot td{font-size:.95rem}@media(max-width:360px){.cmpt.trasf,.cmpt.trasf tr.tot td{font-size:.8rem}.cmpt.trasf thead th{font-size:.88rem}.cmpt.trasf th,.cmpt.trasf td{padding-left:2px;padding-right:2px}}
/* Sezione Il Laboratorio */
.lab-grid{display:grid;gap:10px;grid-template-columns:repeat(2,1fr);margin-top:6px}
.lab-grid figure{position:relative;margin:0;overflow:hidden;background:#0b1430;aspect-ratio:4/3;cursor:pointer}
.lab-grid figure.big{grid-column:1/-1;aspect-ratio:16/9}
@media(min-width:760px){.lab-grid{grid-template-columns:repeat(4,1fr);grid-auto-rows:1fr}.lab-grid figure{aspect-ratio:auto}.lab-grid figure.big{grid-column:span 2;grid-row:span 2}}
.lab-grid img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}
.lab-grid figure:hover img{transform:scale(1.05)}
.lab-grid figcaption{position:absolute;left:0;right:0;bottom:0;padding:26px 12px 10px;color:#fff;font-size:.86rem;font-weight:600;background:linear-gradient(to top,rgba(5,10,30,.85),rgba(5,10,30,0))}
.lab-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:inline-flex;align-items:center;gap:10px;background:var(--lime);color:var(--on-lime);font:700 1rem var(--body);padding:14px 20px;border:0;box-shadow:0 8px 30px rgba(5,10,30,.45);cursor:pointer;white-space:nowrap}
.lab-play svg{width:18px;height:18px}

/* Giro virtuale */
#tour{position:fixed;inset:0;z-index:60;background:#05070d;color:#fff;display:none;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none}
#tour.open{display:block}
#tour .stage{position:absolute;left:0;top:0;transform-origin:0 0;will-change:transform;cursor:grab}
#tour .stage.drag{cursor:grabbing}
#tour .stage img{display:block;width:100%;height:100%;pointer-events:none}
#tour .fade{position:absolute;inset:0;background:#05070d;opacity:0;pointer-events:none;transition:opacity .35s ease}
#tour .fade.on{opacity:1}
.hs{position:absolute;transform:translate(-50%,-50%);width:34px;height:34px;border:0;padding:0;background:transparent;cursor:pointer}
.hs::before{content:"";position:absolute;inset:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 3px rgba(16,38,94,.85)}
.hs::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--lime);animation:hsPulse 1.8s ease-out infinite}
@keyframes hsPulse{0%{transform:scale(.6);opacity:1}100%{transform:scale(1.6);opacity:0}}
.hs-nav{position:absolute;transform:translate(-50%,-50%);display:inline-flex;align-items:center;gap:8px;background:rgba(16,38,94,.92);color:#fff;border:2px solid var(--lime);font:700 .95rem var(--body);padding:10px 16px;cursor:pointer;white-space:nowrap;box-shadow:0 6px 24px rgba(0,0,0,.4)}
.hs-nav b{color:var(--lime);font-size:1.1rem;line-height:1}
#tour .top{position:absolute;left:0;right:0;top:0;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:calc(12px + env(safe-area-inset-top,0px)) 16px 26px;background:linear-gradient(to bottom,rgba(5,7,13,.8),rgba(5,7,13,0));pointer-events:none}
#tour .top > *{pointer-events:auto}
#tour .ttl small{display:block;font:700 .7rem var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--lime)}
#tour .ttl b{display:block;font:800 1.7rem/1 var(--display);text-transform:uppercase}
#tour .x{width:46px;height:46px;border:2px solid #fff;background:rgba(5,7,13,.5);color:#fff;font-size:1.6rem;line-height:1;cursor:pointer}
#tour .bot{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:30px 16px calc(14px + env(safe-area-inset-bottom,0px));background:linear-gradient(to top,rgba(5,7,13,.85),rgba(5,7,13,0))}
#tour .arr{width:48px;height:48px;border:0;background:var(--lime);color:var(--on-lime);font:800 1.4rem var(--body);cursor:pointer}
#tour .arr:disabled{opacity:.3;cursor:default}
#tour .dots{display:flex;gap:8px;align-items:center}
#tour .dots button{width:10px;height:10px;border-radius:50%;border:0;padding:0;background:rgba(255,255,255,.4);cursor:pointer}
#tour .dots button.on{background:var(--lime);width:26px;border-radius:5px}
#tour .hint{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:rgba(5,7,13,.72);padding:12px 18px;font-weight:600;pointer-events:none;transition:opacity .4s ease;white-space:nowrap}
#tour .hint.off{opacity:0}
#tour .card{position:absolute;left:16px;right:16px;bottom:92px;max-width:420px;margin:0 auto;background:#fff;color:#0f1b3d;padding:16px 18px;border-top:5px solid var(--lime);box-shadow:0 10px 40px rgba(0,0,0,.5);display:none}
#tour .card.on{display:block}
#tour .card b{display:block;font:800 1.3rem var(--display);text-transform:uppercase;margin-bottom:4px}
#tour .card p{margin:0;color:#4b5878;font-size:.95rem}
#tour .card .cx{position:absolute;right:8px;top:6px;border:0;background:none;font-size:1.4rem;cursor:pointer;color:#4b5878}
#tour .end{display:none;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:12px}
#tour .card.final .end{display:flex}
@media(prefers-reduced-motion:reduce){.hs::after{animation:none}}
#tour .card .btn{color:#0f1b3d;border-color:#0f1b3d;background:transparent}#tour .card .btn.primary{background:var(--lime);border-color:var(--lime);color:var(--on-lime)}
.lab-grid picture{display:block;width:100%;height:100%}
@media(pointer:coarse){.hs{width:44px;height:44px}.hs::before{inset:11px}.hs-nav{padding:12px 18px;font-size:1rem}}
@media(max-width:759px){.lab-grid figure.big{aspect-ratio:4/3}.lab-grid figure{aspect-ratio:1/1}.lab-play{font-size:.95rem;padding:12px 16px}#tour .ttl b{font-size:1.4rem}#tour .card{bottom:84px}}
/* Home più leggera */
.band{padding:30px 0}
.band-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;padding:16px 0;border-top:1px solid var(--line)}
.band-row:last-child{border-bottom:1px solid var(--line)}
.band-row p{margin:0;max-width:62ch}
.mini-cards{display:grid;gap:12px;margin-top:22px}
@media(min-width:620px){.mini-cards{grid-template-columns:1fr 1fr}}
.mini-cards a{display:block;text-decoration:none;color:inherit}
.mini-cards h3{font-size:1.45rem}
.mini-cards span{display:block;margin-top:10px;font-weight:700}
.lab-grid.solo{grid-template-columns:1fr}
.lab-grid.solo figure.big{grid-column:auto;grid-row:auto;aspect-ratio:16/9}
@media(max-width:759px){.lab-grid.solo figure.big{aspect-ratio:4/3}}
/* Calcolatore di diluizione */
.dil{display:grid;gap:16px}
@media(min-width:900px){.dil{grid-template-columns:1fr 1fr}.dil .res{grid-column:1/-1}}
.dil .card{margin:0}
.dil .stp h3{font-size:1.5rem}
.dil .seg{margin-bottom:14px}
.dil .seg span{min-height:44px;padding:0 16px}
.num{display:grid;grid-template-columns:52px minmax(0,1fr) 52px;gap:8px;align-items:stretch}
.num button{border:2px solid var(--line);background:var(--bg);color:var(--ink);font:700 1.6rem/1 var(--body);cursor:pointer}
.num button:active{background:var(--lime);border-color:var(--lime);color:var(--on-lime)}
.num label{position:relative;display:block}
.num input{width:100%;height:64px;border:2px solid var(--ink);background:var(--bg);color:var(--ink);font:800 2.2rem var(--display);text-align:center;padding:0 52px 0 12px;-moz-appearance:textfield}
.num input::-webkit-outer-spin-button,.num input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.num .u{position:absolute;right:12px;top:50%;transform:translateY(-50%);font:700 1rem var(--body);color:var(--muted);pointer-events:none}
.chips3{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.chips3 button{min-height:40px;padding:0 14px;border:1.5px solid var(--line);background:var(--bg);color:var(--ink);font:600 .92rem var(--body);cursor:pointer}
.chips3 button.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.dil .tip{display:flex;gap:8px;align-items:flex-start;color:var(--muted);font-size:.92rem;margin:0 0 12px}
.dil .tip b{color:var(--ink)}
.res{background:#10265e;color:#fff;padding:26px;display:grid;gap:22px;align-items:center}
@media(min-width:700px){.res{grid-template-columns:150px 1fr}}
.res .vals{display:grid;gap:14px}
@media(min-width:520px){.res .vals{grid-template-columns:1fr 1fr}}
.res .v span{display:block;font:700 .78rem var(--body);letter-spacing:.14em;text-transform:uppercase;color:#dfe6f7}
.res .v b{display:block;font:800 3rem/1.05 var(--display);color:#fff}
.res .v.p b{color:var(--lime)}
.res .v small{display:block;color:#aab4d0;font-size:.88rem}
.res .sum{grid-column:1/-1;color:#dfe6f7;font-size:.95rem;border-top:1px solid rgba(255,255,255,.2);padding-top:14px}
.res .sum b{color:#fff}
.res .acts{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:10px}
.res .acts .btn:not(.primary){color:#fff;border-color:#fff}
.bottle{width:120px;margin:0 auto}
.bottle svg{display:block;width:100%;height:auto}
/* A domicilio */
.dove{margin:0 0 6px}
#bq-dom{margin-top:6px}
#bq-dom .opt{grid-template-columns:minmax(0,1fr)}
#bq-dom .gn{margin-top:10px}
#bq-tras{margin-top:8px;color:var(--lime);font-weight:700}
/* Per aziende e flotte */
.b2b-hero{background:#0b1430;color:#fff;padding:60px 0 56px}
.b2b-hero h1,.b2b-hero h1.pt,.b2b-hero h2{font-size:clamp(2.7rem,10vw,5rem);font-weight:800;color:#fff;margin-bottom:20px}
.b2b-hero h1 span,.b2b-hero h2 span{color:var(--lime)}
.b2b-hero p{color:#dfe6f7;font-size:1.15rem;max-width:56ch}
.b2b-hero .btn:not(.primary){color:#fff;border-color:#fff}
.b2b-kick{display:inline-block;font:700 .78rem var(--body);letter-spacing:.16em;text-transform:uppercase;background:var(--lime);color:var(--on-lime);padding:6px 10px;margin-bottom:20px}
.b2b-points{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.18);margin-top:38px}
@media(min-width:760px){.b2b-points{grid-template-columns:repeat(4,1fr)}}
.b2b-points div{background:#0b1430;padding:18px 16px}
.b2b-points b{display:block;font:800 1.7rem/1 var(--display);text-transform:uppercase;color:var(--lime)}
.b2b-points span{display:block;color:#dfe6f7;font-size:.92rem;margin-top:6px}
.b2b-grid{display:grid;gap:16px}
@media(min-width:760px){.b2b-grid{grid-template-columns:repeat(3,1fr)}}
.b2b-card{border:1px solid var(--line);border-top:6px solid var(--lime);padding:22px 20px;background:var(--bg)}
.b2b-card h3{margin:0 0 8px;font-size:1.5rem}
.b2b-card p{margin:0;color:var(--muted)}
.b2b-who{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0}
.b2b-who li{border:2px solid var(--line);padding:10px 14px;font-weight:700}
.b2b-who a{text-decoration:none;border-bottom:3px solid var(--lime)}
.b2b-form{display:grid;gap:0 18px}
@media(min-width:760px){.b2b-form{grid-template-columns:1fr 1fr}}
.b2b-form .full{grid-column:1/-1}
.b2b-chk{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.b2b-chk label{display:inline-flex;gap:8px;align-items:center;border:1.5px solid var(--line);padding:10px 14px;font-weight:500;cursor:pointer;background:var(--bg)}
.b2b-chk input{accent-color:#10265e;width:18px;height:18px}
#fl-err{color:var(--accent);font-weight:700;margin:10px 0 0}
.b2b-cta{background:var(--lime);color:var(--on-lime)}
.b2b-cta h2{color:var(--on-lime)}
.b2b-cta p{color:var(--on-lime)}
.b2b-cta .btn{border-color:var(--on-lime);color:var(--on-lime)}
.b2b-cta .btn.primary{background:var(--on-lime);color:var(--lime);border-color:var(--on-lime)}

/* SEO: riga con parole chiave sopra il titolo, titoli delle pagine interne */
.h1k{display:block;font:600 clamp(.82rem,2.6vw,1rem)/1.35 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:16px}
h1.pt{font-size:clamp(2.1rem,6vw,3.2rem);font-weight:700}
.hero-grid picture{display:block}
/* Preventivatore a schermo intero */
.ppov{position:fixed;inset:0;z-index:2000;background:#0a0d14;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.ppov[hidden]{display:none}
html.pp-open,html.pp-open body{overflow:hidden}
#preventivo{padding-bottom:72px}
#preventivo .pp-cta{min-height:56px;font-size:1.1rem;width:100%;max-width:420px}
/* Prezzi di partenza: invitano a usare il preventivatore */
.pz{margin-top:34px;display:grid;gap:18px}
.pz-i{margin:0;color:#eef2fa;font-size:1.05rem;max-width:62ch}
.pz-g{display:grid;gap:12px}
@media(min-width:700px){.pz-g{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1050px){.pz-g{grid-template-columns:repeat(3,1fr)}}
.pz-c{display:grid;grid-template-rows:auto 1fr auto;gap:8px;border:1px solid #2a3449;background:#121824;border-radius:16px;padding:18px}
.pz-c h3{margin:0;color:#eef2fa;font:800 1.35rem var(--display);text-transform:uppercase;letter-spacing:.02em}
.pz-c p{margin:0;color:#97a3bd;font-size:.93rem;line-height:1.45}
.pz-f{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px;flex-wrap:wrap}
.pz-p{color:#eef2fa;font:800 1.7rem/1 var(--display);white-space:nowrap}
.pz-p small{font:600 .85rem var(--body);color:#97a3bd;text-transform:none;margin-right:2px}
.pz-b{min-height:44px;padding:0 16px;border-radius:12px;border:1px solid #e1ff2b;background:transparent;color:#e1ff2b;font:700 .95rem var(--body);cursor:pointer}
.pz-b:hover{background:#e1ff2b;color:#0f1d40}
.pz-n{margin:0;color:#97a3bd;font-size:.88rem}

/* Ultimi post di Instagram, con i colori di Instagram */
.ig{--igg:linear-gradient(45deg,#feda75 0%,#fa7e1e 25%,#d62976 50%,#962fbf 75%,#4f5bd5 100%)}
.ig-box{border:1px solid var(--line);background:var(--bg);border-radius:18px;padding:20px;display:grid;gap:18px;max-width:100%}
.ig-prof{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center}
.ig-av{display:block;width:68px;height:68px;border-radius:50%;padding:3px;background:var(--igg);text-decoration:none}
.ig-av span{display:grid;place-items:center;width:100%;height:100%;border-radius:50%;background:#e1ff2b;border:3px solid #fff;overflow:hidden}
.ig-av img{width:84%;height:auto;display:block}
.ig-id{display:grid;gap:2px;min-width:0}
.ig-id b{font-size:1.05rem;overflow-wrap:anywhere}
.ig-id span{color:var(--muted);font-size:.88rem;line-height:1.35}
.ig-id .ig-lbl{font-weight:700;color:var(--ink);font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;margin-top:4px}
.ig-btn{display:flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:12px;background:var(--igg);color:#fff;font-weight:700;text-decoration:none;text-align:center;box-shadow:0 6px 18px rgba(214,41,118,.25)}
.ig-btn.sm{min-height:40px;padding:0 18px;border-radius:10px;font-size:.95rem}
.ig-btn:hover{filter:brightness(1.06)}
.ig-btn:focus-visible{outline:3px solid #962fbf;outline-offset:3px}
.ig-row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(190px,62%);gap:6px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px;scrollbar-width:thin;overscroll-behavior-x:contain}
@media(min-width:620px){.ig-row{grid-auto-columns:calc((100% - 12px)/3)}}
@media(min-width:1000px){.ig-row{grid-auto-columns:calc((100% - 30px)/6)}}
.ig-c{position:relative;display:block;aspect-ratio:4/5;max-width:100%;overflow:hidden;border-radius:6px;background:#0b1430;scroll-snap-align:start;color:#fff;text-decoration:none}
.ig-c img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s}
.ig-c:hover img{transform:scale(1.04)}
.ig-cap{position:absolute;left:0;right:0;bottom:0;padding:22px 10px 9px;font-size:.82rem;font-weight:700;line-height:1.2;background:linear-gradient(transparent,rgba(0,0,0,.65));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ig-ic{position:absolute;top:8px;right:8px;width:22px;height:22px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.5))}
.ig-ic.car::before,.ig-ic.car::after{content:"";position:absolute;width:14px;height:14px;border:2px solid #fff;border-radius:3px}
.ig-ic.car::before{right:0;top:0}
.ig-ic.car::after{left:1px;bottom:1px;background:rgba(255,255,255,.25)}
.ig-ic.vid::after{content:"";position:absolute;left:6px;top:3px;border-left:13px solid #fff;border-top:8px solid transparent;border-bottom:8px solid transparent}
@media(max-width:480px){.ig-box{padding:16px;border-radius:14px}.ig-prof{grid-template-columns:auto minmax(0,1fr)}.ig-prof .ig-btn.sm{display:none}.ig-av{width:58px;height:58px}}
@media (prefers-reduced-motion:reduce){.ig-c img{transition:none}}

/* Telefono: aree da toccare comode e niente testo troppo piccolo */
a.back,.rev-links a,.crow a.ca{display:inline-flex;align-items:center;min-height:44px}
.rev-links{gap:6px 22px}
details>summary{min-height:44px;align-items:center}
.ptag,.ba .lb{font-size:.8rem}
.pladder span{font-size:.8rem}
.cmpt thead th small{font-size:.76rem}
.b2b-points{grid-template-columns:repeat(2,minmax(0,1fr))}
.b2b-points b{overflow-wrap:anywhere}
@media(max-width:400px){
  .b2b-points b{font-size:1.4rem}
  .cmpt{table-layout:fixed;font-size:.84rem}
  .cmpt th:first-child,.cmpt td:first-child{width:34%}
  .cmpt thead th{font-size:.95rem;overflow-wrap:anywhere}
  .cmpt th,.cmpt td{padding:10px 2px}
}
.gbody .cmpr small,.season .nowtag{font-size:.8rem}

/* Pulsanti verso Instagram, con la sfumatura di Instagram */
.btn.btn-ig{background:linear-gradient(45deg,#feda75 0%,#fa7e1e 25%,#d62976 50%,#962fbf 75%,#4f5bd5 100%);color:#fff;border-color:transparent;background-origin:border-box;text-align:center;padding:12px 22px;text-shadow:0 1px 2px rgba(0,0,0,.25)}
.btn.btn-ig:hover{filter:brightness(1.06);color:#fff}
.btn.btn-ig:focus-visible{outline:3px solid #962fbf;outline-offset:3px}
