/* geotobler.com · v2 (ottobre 2026)
   Dal 30/10 sistema visivo vicino all'app e ai volantini, con meno riferimenti a intuoconsulting.com:
   Lato per titoli e testi, Raleway per le etichette (dal 02/11 niente monospaziato), blu dell'app, schede con filetto sottile.
   Dentro le sezioni, le schede dati dell'app (chiave in mono, valore in grassetto, rampa calda). */
:root{
  --bg:#ffffff;--bg2:#f6f8fa;--ink:#17222f;--ink50:rgba(23,34,47,.6);--ink70:rgba(23,34,47,.78);
  --blue:#2f7ff0;--blue-dark:#1f66d1;--blue-soft:#eaf3fe;--blue-line:rgba(47,127,240,.18);--line:#e4e8ef;--b900:#123f7f;--pru:#a52252;--ros:#dd3f3a;
  --seq:linear-gradient(90deg,#fff0b8,#fdd38a,#fba85f,#f4713f,#dd3f3a,#a52252);
  --disp:Lato,"Helvetica Neue",Arial,sans-serif;--body:Raleway,Lato,"Helvetica Neue",Arial,sans-serif;--mono:Raleway,Lato,"Helvetica Neue",Arial,sans-serif;
  --gutter:max(16px,env(safe-area-inset-left,0px));
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:400 18px/1.55 var(--body)}
a{color:inherit;text-decoration:none}
h1,h2,h3,p{margin:0}h1,h2,h3{text-wrap:balance}
img{max-width:100%;height:auto}
.wrap{max-width:1200px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.sec{padding-block:clamp(64px,7vw,104px);position:relative}
.sec.tight{padding-block:clamp(48px,6vw,80px)}
.sec.grey{background:var(--bg2);color:var(--ink)}
.hdr{padding-block:clamp(56px,7vw,96px) 32px;display:flex;flex-direction:column;gap:18px;align-items:flex-start}
.pb{padding-bottom:clamp(64px,7vw,104px)}
.mt{margin-top:22px}.mt2{margin-top:56px}
.h1{font:900 clamp(42px,5.2vw,72px)/1.06 var(--disp);letter-spacing:-.025em}
.h2{font:900 clamp(30px,3vw,42px)/1.12 var(--disp);letter-spacing:-.02em}
.h3{font:700 22px/1.25 var(--disp);letter-spacing:-.01em}
.b{font-weight:inherit}.h1 .b{color:inherit}
.lead{font-size:22px;line-height:1.5;max-width:34ch}
.p{font-size:18px;line-height:1.5;max-width:48ch}
.p.nota{font-size:15px;color:var(--ink50);margin-top:-6px}
.p.mid{align-self:center}
.grey{color:var(--ink50)}
.note{margin-top:28px;font-size:14px;color:var(--ink50);max-width:70ch}
.tag{display:inline-block;font:700 13px/1 var(--mono);letter-spacing:0;text-transform:none;color:var(--b900);background:var(--blue-soft);border-radius:5px;padding:7px 10px}
.tag.muted{background:var(--bg2);color:var(--ink50)}
.chips{display:flex;gap:10px;flex-wrap:wrap}
.pill{display:inline-flex;align-items:center;gap:12px;background:var(--blue);color:#fff;font:700 17px/1 var(--body);padding:15px 24px;border-radius:9px;white-space:nowrap;border:1.5px solid var(--blue);cursor:pointer;transition:background .15s,border-color .15s}
.pill:hover{background:var(--blue-dark);border-color:var(--blue-dark)}
.pill i{display:none}
.pill.ghost{background:#fff;color:var(--blue)}
.pill.ghost:hover{background:var(--blue-soft);border-color:var(--blue)}
.pill.ghost i{background:var(--blue)}
.link{color:var(--blue);font-weight:500}
.link:hover{text-decoration:underline}
.btns{display:flex;flex-direction:column;gap:12px}
.btns.row{flex-direction:row;flex-wrap:wrap}

/* nav */
.nav{position:sticky;top:0;z-index:9;background:#fff;border-bottom:1px solid var(--line)}
.nav .in{display:flex;align-items:center;gap:36px;padding-left:max(24px,env(safe-area-inset-left,0px));min-height:72px}
.wm{display:flex;align-items:center;gap:9px;font:400 22px var(--disp);letter-spacing:-.01em;color:var(--ink)}
.wm svg{color:var(--blue)}.wm b{color:var(--blue)}
.menu{display:flex;gap:30px;font:700 16px var(--body);margin-left:12px}
.menu a{display:inline-flex;gap:6px;align-items:baseline;transition:color .15s}
.menu a sup{font:700 11px var(--mono);color:var(--blue)}
.menu a:hover,.menu a.on{color:var(--blue)}
.menu .block-m{display:none}
.block{margin-left:auto;margin-right:max(24px,env(safe-area-inset-right,0px));display:flex;align-items:center;background:var(--blue);color:#fff;font:700 16px var(--body);padding:11px 18px;border-radius:9px;transition:background .15s}
.block:hover{background:var(--blue-dark)}
.burger{display:none;margin-left:auto;margin-right:var(--gutter);width:44px;height:44px;border:0;background:transparent;cursor:pointer;flex-direction:column;justify-content:center;gap:5px;align-items:center}
.burger span{display:block;width:22px;height:2px;background:var(--ink);transition:transform .2s,opacity .2s}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* hero */
.hero{overflow:hidden}
.rings{display:none}
.rings i{position:absolute;border-radius:50%;border:1.5px solid var(--blue-line);background:radial-gradient(circle,rgba(16,118,197,.06),rgba(16,118,197,0) 65%)}
.hero .wrap{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center}
.checks{display:flex;flex-direction:column;gap:12px;margin-top:28px;font-size:19px}
.checks div{display:flex;gap:12px;align-items:center}
.checks i{width:22px;height:22px;border-radius:50%;background:var(--blue);display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:13px;flex:none;font-style:normal}
.search{display:flex;align-items:center;gap:14px;margin-top:40px;background:#fff;border:1.5px solid var(--blue-line);border-radius:40px;padding:8px 8px 8px 24px;max-width:560px;box-shadow:0 12px 40px rgba(16,118,197,.10)}
.search .ico{color:var(--blue);font-size:22px}
.search .q{flex:1;font:400 20px var(--disp);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.search .cur{display:inline-block;width:2px;height:1.1em;background:var(--blue);vertical-align:-.15em;margin-left:2px;animation:blink 1s steps(2) infinite}
@keyframes blink{50%{opacity:0}}
.scroll{display:flex;gap:14px;align-items:center;margin-top:56px;color:var(--ink50);font-size:16px}
.scroll b{font-weight:400;font-size:26px;animation:nudge 1.8s ease-in-out infinite}
@keyframes nudge{50%{transform:translateY(6px)}}
.scene{position:relative;border-radius:24px;overflow:hidden;aspect-ratio:1/1;max-width:100%;background:var(--bg2);box-shadow:0 30px 80px rgba(50,63,93,.14)}
.scene img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 45%;transform:scale(1.04);animation:drift 26s ease-in-out infinite alternate}
@keyframes drift{to{transform:scale(1.12) translate(-2%,-2%)}}
.scene .pin{position:absolute;left:46%;top:44%;width:26px;height:26px;border-radius:50%;background:var(--blue);border:4px solid #fff;box-shadow:0 4px 12px rgba(16,24,40,.35);transform:translate(-50%,-50%)}
.scene .pin::after{content:"";position:absolute;inset:-14px;border-radius:50%;border:2px solid var(--blue);opacity:0;animation:ping 2.4s ease-out infinite}
@keyframes ping{0%{transform:scale(.4);opacity:.8}100%{transform:scale(1.6);opacity:0}}
.fc{position:absolute;width:min(230px,43%);background:#fff;border-radius:14px;padding:14px 16px;box-shadow:0 14px 34px rgba(50,63,93,.18);opacity:0;transform:translateY(12px);transition:opacity .5s,transform .5s;font-family:var(--disp)}
.fc.on{opacity:1;transform:none}
.fc .k{font:700 12px var(--mono);letter-spacing:0;text-transform:none;color:var(--ink50)}
.fc .v{font:700 20px/1.15 var(--disp);letter-spacing:-.01em;margin-top:4px}
.fc .s{font:400 13px/1.3 var(--body);color:var(--ink50);margin-top:2px}
.fc .bar{height:5px;border-radius:3px;background:var(--seq);margin-top:8px}

/* sezioni */
.head{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:48px;align-items:end;margin-bottom:56px}
.head .left{display:flex;flex-direction:column;gap:22px;align-items:flex-start}
.statement{text-align:center;position:relative}
.statement p{font:400 clamp(25px,2.9vw,36px)/1.32 var(--disp);letter-spacing:-.015em;color:var(--ink70);max-width:30ch;margin:0 auto;position:relative}
.statement p b{color:var(--ink);font-weight:900}
.shape{display:none;position:absolute;left:50%;top:50%;width:min(680px,80vw);height:min(360px,40vw);transform:translate(-50%,-50%) skewX(-18deg);border:1.5px solid var(--blue-line);border-radius:40px;pointer-events:none}
.cards{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.card{background:#fff;border-radius:10px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 2px 24px rgba(50,63,93,.06);transition:transform .2s,box-shadow .2s}
a.card:hover{transform:translateY(-3px);box-shadow:0 12px 36px rgba(50,63,93,.12)}
.card .body{padding:30px 28px 26px;display:flex;flex-direction:column;gap:14px;flex:1}
.card .ic{width:44px;height:44px;border-radius:50%;background:var(--blue-soft);display:flex;align-items:center;justify-content:center;color:var(--blue)}
.card .txt{font-size:16px;line-height:1.55;color:var(--ink50);font-weight:500}
.card .chip{color:var(--blue);margin-top:auto}
.card .go{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);color:var(--blue);font:700 16px var(--body);padding:15px 20px}
.rounds{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:40px}
.round .img{width:min(280px,100%);aspect-ratio:1;border-radius:50%;overflow:hidden;background:var(--blue-soft)}
.round .img img{width:100%;height:100%;object-fit:cover}
.round h3{margin-top:22px}
.round p{margin-top:8px;color:var(--ink50);font-size:16px;font-weight:500;max-width:38ch}
.list{display:flex;flex-direction:column;font-family:var(--disp)}
.list>div{display:grid;grid-template-columns:170px 1fr auto;gap:16px;align-items:center;padding:14px 0;border-top:1px solid var(--line)}
.list>div:first-child{border-top:0}
.list .k{font:700 14px var(--mono);letter-spacing:0;text-transform:none;color:var(--blue)}
.list .v{font:700 17px/1.35 var(--disp)}
.list .c{font:700 13px var(--mono);color:var(--ink50);white-space:nowrap}
.panel{background:#fff;border-radius:16px;padding:28px 32px;box-shadow:0 2px 24px rgba(50,63,93,.06);min-width:0}
.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:start}
.photo{border-radius:20px;overflow:hidden;background:var(--bg2)}
.photo img{display:block;width:100%;height:auto}
.photo.cmp{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:12px;background:#fff;box-shadow:0 2px 24px rgba(50,63,93,.06)}
.photo.cmp img{border-radius:12px}
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}
.tile{background:#fff;border-radius:10px;padding:14px 16px;box-shadow:0 2px 16px rgba(50,63,93,.05);font-family:var(--disp)}
.tile .n{font:700 11px var(--mono);letter-spacing:0;text-transform:none;color:var(--ink50)}
.tile .v{font:700 20px var(--disp);margin-top:4px}
.tile i{display:block;height:4px;border-radius:2px;margin-top:10px}
.steps{display:flex;flex-direction:column;gap:28px}
.steps .k{font:700 12px var(--mono);letter-spacing:0;text-transform:none;color:var(--blue)}
.steps h3{margin-top:6px}
.steps .grey{font-size:15px;margin-top:4px}
.ul{margin:10px 0 0;padding-left:20px;font-size:16px;color:var(--ink70)}
.ul li{margin:6px 0}
.cta{background:var(--bg2);border-radius:20px;padding:48px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:center}
.cta .tag{margin-bottom:18px}
.cta .p{margin-top:14px}

/* moduli */
.form{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.form label{display:flex;flex-direction:column;gap:6px;font:500 15px var(--body);color:var(--ink70);min-width:0}
.form input,.form select,.form textarea{font:400 17px var(--body);padding:13px 14px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);min-width:0;width:100%}
.form input:focus,.form select:focus,.form textarea:focus{outline:2px solid var(--blue);outline-offset:1px;border-color:var(--blue)}
.form .full{grid-column:1/-1}
.form .chk{flex-direction:row;align-items:flex-start;gap:10px;font-size:14px}
.form .chk input{width:18px;height:18px;margin-top:2px;flex:none}
.form .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.form button{border:0}
.form button[disabled]{opacity:.6;cursor:wait}
.ok,.err{padding:14px 16px;border-radius:8px;font-weight:500;font-size:16px}
.ok{background:var(--blue-soft);color:var(--blue)}
.err{background:#fdecec;color:#a52252}
[hidden]{display:none!important}

/* testo lungo */
.prose{max-width:76ch;font-size:16px;line-height:1.6}
.prose h2{font:900 24px/1.2 var(--disp);letter-spacing:-.01em;margin:40px 0 12px}
.prose h3{font:700 17px/1.3 var(--disp);margin:22px 0 8px}
.prose p{margin:0 0 12px}.prose ul{padding-left:22px;margin:0 0 12px}.prose li+li{margin-top:6px}
.prose a{color:var(--blue)}.prose code{font:500 14px var(--mono)}
.table{width:100%;border-collapse:collapse;margin:14px 0;font-size:15px}
.table th,.table td{text-align:left;padding:10px 12px;border:1px solid var(--line);vertical-align:top}
.table th{background:var(--bg2);font-weight:700}

/* footer */
footer{background:var(--bg2);padding-block:72px 40px;font:500 15px var(--body);color:var(--ink70)}
footer .cols{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}
footer .cols div{display:flex;flex-direction:column;gap:10px;align-items:flex-start}
footer h4{margin:0 0 6px;font:700 16px var(--disp);color:var(--ink)}
footer .cols a:hover{color:var(--blue)}
footer .bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:56px;color:var(--ink50);font-size:14px}

@media (max-width:1040px){.menu{gap:20px;font-size:16px}.block{padding:0 20px;font-size:16px}.nav .in{gap:20px}}
@media (max-width:900px){
  .hero .wrap,.head,.two,.cta{grid-template-columns:1fr}
  .list>div{grid-template-columns:1fr;gap:4px}
  footer .cols{grid-template-columns:1fr}
  .block{display:none}
  .burger{display:flex}
  .menu{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line);flex-direction:column;gap:0;margin:0;padding:8px 0 16px}
  .menu.open{display:flex}
  .menu a{padding:12px var(--gutter);font-size:18px}
  .menu .block-m{display:block;margin:10px var(--gutter) 0;background:var(--blue);color:#fff;border-radius:30px;text-align:center}
  .scene{aspect-ratio:4/3}
  .cta{padding:32px 24px}
  .hero .h1{font-size:clamp(36px,9.6vw,56px)}
  .search{flex-wrap:wrap;border-radius:28px;padding:10px 12px 12px 20px;gap:10px}
  .search .ico{display:none}
  .search .q{flex:1 1 100%;font-size:18px}
  .search .pill{width:100%;justify-content:center}
  .checks{font-size:18px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .scene img,.scene .pin::after,.scroll b,.search .cur{animation:none}
  .fc{opacity:1;transform:none;transition:none}
}

/* ── 29/10: «where.» sfumato, barra a schede, fascia Forum, strati, metodo, mosaico ── */
.grad{font-style:normal;background:linear-gradient(90deg,#f4a259,#f4713f,#dd3f3a,#a52252);-webkit-background-clip:text;background-clip:text;color:transparent}
.subnav{position:sticky;top:72px;z-index:8;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.subnav .wrap{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 56px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 56px),transparent)}
.subnav .wrap::-webkit-scrollbar{display:none}
.subnav a{flex:none;font:500 15px/1 var(--body);color:var(--ink70);padding:16px 14px;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s,border-color .15s}
.subnav a:hover,.subnav a.on{color:var(--blue);border-color:var(--blue)}
.band{position:relative;overflow:hidden;min-height:clamp(480px,52vw,640px);display:flex;align-items:center;background:var(--bg2)}
.band>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.band .wrap{position:relative;width:100%;padding-block:56px}
.glass{max-width:560px;background:rgba(255,255,255,.78);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.7);border-radius:22px;padding:40px 44px;display:flex;flex-direction:column;gap:20px;align-items:flex-start;box-shadow:0 30px 80px rgba(50,63,93,.18)}
.glass .p{max-width:42ch}
.layers{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:start}
.layers .sticky{position:sticky;top:132px}
.layers .frame{position:relative;aspect-ratio:1;border-radius:24px;overflow:hidden;background:var(--bg2);box-shadow:0 30px 80px rgba(50,63,93,.14)}
.layers .frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .6s}
.layers .frame img.on{opacity:1}
.layers .legend{display:flex;align-items:center;gap:12px;margin-top:14px;font:700 13px var(--mono);color:var(--ink50)}
.layers .legend i{flex:1;height:6px;border-radius:3px;background:var(--seq)}
.steps-l{display:flex;flex-direction:column}
.steps-l .step{padding:clamp(48px,8vh,96px) 0;border-top:1px solid var(--line);opacity:.4;transition:opacity .4s}
.steps-l .step:first-child{border-top:0;padding-top:8px}
.steps-l .step.on{opacity:1}
.steps-l .k{font:700 12px var(--mono);letter-spacing:0;text-transform:none;color:var(--blue)}
.steps-l h3{margin-top:10px;font-size:30px}
.steps-l p{margin-top:12px;color:var(--ink70);max-width:40ch}
.method{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px}
.method>div{background:#fff;border-radius:14px;padding:28px;box-shadow:0 2px 24px rgba(50,63,93,.06);display:flex;flex-direction:column;gap:10px}
.method .n{width:36px;height:36px;border-radius:50%;background:var(--blue-soft);color:var(--blue);display:inline-flex;align-items:center;justify-content:center;font:700 15px var(--disp)}
.method h3{font-size:22px}
.method p{font-size:16px;color:var(--ink70);line-height:1.5}
.mosaic{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.mtile{display:flex;flex-direction:column;border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 2px 24px rgba(50,63,93,.06);transition:transform .2s,box-shadow .2s}
.mtile:hover{transform:translateY(-3px);box-shadow:0 14px 40px rgba(50,63,93,.14)}
.mtile .img{position:relative;aspect-ratio:1000/690;background:var(--bg2);overflow:hidden}
.mtile .img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.mtile:hover .img img{transform:scale(1.04)}
.mtile .plus{position:absolute;right:16px;bottom:16px;width:40px;height:40px;border-radius:50%;background:#fff;color:var(--blue);display:flex;align-items:center;justify-content:center;font:400 24px/1 var(--disp);box-shadow:0 6px 18px rgba(50,63,93,.2)}
.mtile .body{padding:22px 26px 26px;display:flex;flex-direction:column;gap:8px}
.mtile .k{font:700 12px var(--mono);letter-spacing:0;text-transform:none;color:var(--blue);display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.mtile .k em{font-style:normal;color:var(--ink50);border:1px solid var(--line);border-radius:6px;padding:3px 7px;letter-spacing:.04em}
@media (max-width:900px){
  .subnav{top:72px}
  .layers{grid-template-columns:1fr;gap:28px}
  .layers .sticky{top:124px;z-index:1;background:var(--bg2);padding-bottom:10px}
  .layers .frame{aspect-ratio:4/3}
  .steps-l .step{padding:28px 0;opacity:1}
  .mosaic{grid-template-columns:1fr}
  .glass{padding:28px 24px}
  .band{min-height:0}
}

/* ── 30/10: schede con filetto come nell'app, logo del Forum, animazioni delle soluzioni ── */
.card,.panel,.method>div,.mtile,.tile,.fc{box-shadow:0 1px 3px rgba(16,24,40,.06);border:1px solid var(--line)}
.card,.mtile,.panel,.method>div{border-radius:12px}
.scene,.layers .frame{border-radius:14px;box-shadow:0 10px 30px rgba(16,24,40,.1)}
.photo{border-radius:12px}.cta{border-radius:12px}
.method .n{border-radius:7px;font:700 14px var(--mono)}
.card .ic{border-radius:8px}
.band .pill{align-self:flex-start}
.glass{border-radius:14px}
.evrow{display:flex;align-items:center;gap:12px}
.evlogo{display:block;height:64px;width:auto;border-radius:8px}
.hdr .evlogo{height:84px}

.mtile{position:relative}
.mtile .plus{top:auto;right:18px;bottom:20px;box-shadow:none;border:1px solid var(--line)}
.mtile .body{padding-right:70px}
.demo{container-type:inline-size;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;font:400 13px/1.3 var(--body);color:var(--ink);min-height:380px}
.mtile .demo{border:0;border-bottom:1px solid var(--line);border-radius:0}
.demo .d-bar{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:10px 14px;border-bottom:1px solid var(--line)}
.demo .d-bar b{font:900 14px var(--disp)}
.demo .d-bar span{font:700 11px var(--mono);letter-spacing:0;text-transform:none;color:var(--ink50)}
.demo .d-body{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);aspect-ratio:16/10}
.demo .d-body.lc{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;aspect-ratio:16/10}
.demo .d-map{position:relative;overflow:hidden;background:var(--bg2);min-height:0}
.demo .d-map img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.demo .d-map svg{position:absolute;inset:0;width:100%;height:100%}
.demo .d-map em{position:absolute;left:8px;bottom:6px;font:700 10px var(--mono);letter-spacing:.04em;color:var(--ink50);background:rgba(255,255,255,.75);padding:2px 5px;border-radius:3px}
.demo .d-side{position:relative;padding:12px 14px;border-left:1px solid var(--line);min-width:0;overflow:hidden;display:flex;flex-direction:column;gap:6px}
.demo .d-k{font:700 11px var(--mono);letter-spacing:0;text-transform:none;color:var(--ink50);margin-top:4px}
.demo .d-steps{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 14px;border-top:1px solid var(--line);background:var(--bg2)}
.demo .d-lab{font:700 13px var(--disp);min-width:0}
.demo .d-tk{display:flex;gap:4px;flex:none}
.demo .d-tk i{width:18px;height:3px;border-radius:2px;background:var(--line);transition:background .3s}
.demo .d-tk i.on{background:var(--blue)}
.demo .f{opacity:0;transition:opacity .5s ease var(--d,0ms),transform .5s ease var(--d,0ms)}
.demo .f.in{opacity:1}
.demo.reset .f{opacity:0!important;transition:opacity .35s}
.demo .bar{height:6px;border-radius:3px;background:var(--bg2);position:relative;overflow:visible}
.demo .bar.f{opacity:1}
.demo .bar>i{display:block;height:100%;width:0;border-radius:3px;background:var(--blue);transition:width .9s cubic-bezier(.2,.7,.2,1) var(--d,0ms)}
.demo .bar.f.in>i,.demo .f.in .bar>i{width:var(--w)}
.demo.reset .bar>i{width:0!important;transition:none}
/* mappa */
.demo .hex{opacity:0;stroke:#fff;stroke-width:.4}
.demo .hex.in{opacity:.78}
.demo .hex.cov{transition:opacity .5s ease var(--d,0ms)}
.demo.s2 .hex.cov{opacity:.1;transition-delay:0ms}
.demo .cvr{fill:rgba(47,127,240,.06);stroke:rgba(47,127,240,.45);stroke-width:1;stroke-dasharray:3 3}
.demo .dot{fill:var(--blue);stroke:#fff;stroke-width:2.5;transform-box:fill-box;transform-origin:center;transform:scale(.3)}
.demo .dot.in{transform:none}
.demo .dot.wh{fill:#fff;stroke:var(--blue)}
.demo .rg{transform-box:fill-box;transform-origin:center;transform:scale(.5)}
.demo .rg.in{transform:none}
.demo .rg>circle:first-child{fill:rgba(255,255,255,.14);stroke:var(--pru);stroke-width:3}
.demo .rg .nb{fill:var(--pru)}
.demo .rg text{font:900 14px var(--disp);fill:#fff}
.demo .rg.ds>circle:first-child{stroke-dasharray:7 5;animation:dsh 8s linear infinite}
@keyframes dsh{to{stroke-dashoffset:-96}}
/* classifica e righe */
.demo .ln{display:flex;gap:6px;align-items:baseline;font-size:12.5px}
.demo .ln i{font-style:normal;color:var(--blue);font-weight:900}
.demo .rk{display:grid;grid-template-columns:18px minmax(0,1fr) auto;gap:7px;align-items:center;transform:translateX(8px)}
.demo .rk.in{transform:none}
.demo .rk .n{width:18px;height:18px;border-radius:50%;background:var(--pru);color:#fff;font:900 10px/18px var(--disp);text-align:center}
.demo .rk small{display:block;font-size:10.5px;color:var(--ink50);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.demo .rk strong{font:900 15px var(--disp)}
.demo .rk .bar{margin-top:3px;height:4px}.demo .rk .bar>i{background:var(--seq)}
/* confronto */
.demo .d-two{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);min-height:0}
.demo .d-ph{position:relative;overflow:hidden;min-height:0}
.demo .d-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.demo .d-ph .iso{position:absolute;left:50%;top:50%;width:62%;aspect-ratio:1;border-radius:50%;border:2.5px solid var(--c);background:color-mix(in srgb,var(--c) 16%,transparent);transform:translate(-50%,-50%) scale(.2);transition:opacity .4s,transform 1.3s cubic-bezier(.2,.7,.2,1)}
.demo .d-ph .iso.in{transform:translate(-50%,-50%) scale(1)}
.demo .d-ph .pin{position:absolute;left:50%;top:50%;width:13px;height:13px;margin:-6.5px;border-radius:50%;background:var(--c);border:2.5px solid #fff}
.demo .d-ph .cap{position:absolute;left:8px;top:8px;display:flex;gap:6px;align-items:center;background:#fff;border-radius:5px;padding:3px 8px 3px 3px;font:700 12px var(--disp);box-shadow:0 1px 4px rgba(16,24,40,.2)}
.demo .d-ph .cap b{color:#fff;width:17px;height:17px;border-radius:4px;text-align:center;font:900 11px/17px var(--disp)}
.demo .lc .d-side{border-left:0;border-top:1px solid var(--line);gap:3px;padding:8px 14px}
.demo .cr{display:grid;grid-template-columns:minmax(0,130px) minmax(0,1fr) minmax(0,1fr);gap:10px;align-items:center;font-size:12px;transition:opacity .4s}
.demo .cr .bar.b>i{background:var(--pru)}
.demo.s3 .cr{opacity:.35}
.demo.s3 .cr.key{opacity:1;font-weight:900}
/* clienti */
.demo .swap{position:absolute;inset:12px 14px;display:flex;flex-direction:column;gap:6px;transition:opacity .45s}
.demo .swap.b2{opacity:0}
.demo.s2 .swap.a2{opacity:0}
.demo.s2 .swap.b2{opacity:1}
.demo .cp{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:4px 0;font:700 13px var(--mono)}
.demo .pr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;font-size:11.5px;line-height:1.2}
.demo .pr .bar{grid-column:1/2;grid-row:2;height:4px}.demo .pr b{grid-row:1/3;grid-column:2;font:900 14px var(--disp);align-self:center}
.demo .nt{font-size:11.5px;color:var(--pru);font-weight:700;margin-top:2px}
/* performance */
.demo .chart{position:relative;flex:1;min-height:150px}
.demo .st{position:absolute;left:0;right:0;height:16.66%;top:calc(var(--a)*16.66%);display:grid;grid-template-columns:minmax(0,1fr) 38px;gap:0 6px;align-content:center;font-size:11px;transition:top .9s cubic-bezier(.2,.7,.2,1),opacity .4s}
.demo.s2 .st{top:calc(var(--o)*16.66%)}
.demo .st .bar{grid-column:1;height:7px}
.demo .st b{grid-row:1/3;grid-column:2;font:900 12px var(--disp);text-align:right;align-self:center;opacity:0;transition:opacity .4s}
.demo.s2 .st b{opacity:1}
.demo .st .bar>i{background:#b9c4d2;transition:width .9s cubic-bezier(.2,.7,.2,1) var(--d,0ms),background .5s}
.demo.s2 .st.up .bar>i{background:var(--blue)}.demo.s2 .st.dn .bar>i{background:var(--ros)}
.demo.s2 .st.up b{color:var(--blue)}.demo.s2 .st.dn b{color:var(--ros)}
.demo .st u{position:absolute;top:-3px;bottom:-3px;width:0;border-left:2px dashed var(--ink);transform:none}
.demo.s3 .st{opacity:.35}.demo.s3 .st.sel{opacity:1}
.demo .dot.sc{fill:#8d9bab;transition:opacity .5s ease var(--d,0ms),transform .5s ease var(--d,0ms),fill .5s}
.demo.s2 .dot.sc.up{fill:var(--blue)}.demo.s2 .dot.sc.dn{fill:var(--ros)}
.demo .vd{position:absolute;left:10px;right:10px;bottom:24px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:8px 10px;box-shadow:0 4px 14px rgba(16,24,40,.16);display:flex;flex-direction:column;gap:1px;transform:translateY(8px)}
.demo .vd.in{transform:none}.demo .vd b{font:900 13px var(--disp)}.demo .vd span{font-size:12px;color:var(--ink70)}
@container (max-width:460px){
  .demo .d-body{grid-template-columns:minmax(0,1fr);aspect-ratio:auto}
  .demo .d-map{aspect-ratio:16/10}
  .demo .d-side{border-left:0;border-top:1px solid var(--line);min-height:206px}
  .demo .d-body.lc{aspect-ratio:auto;grid-template-rows:auto auto}
  .demo .d-two{aspect-ratio:2/1}
  .demo .lc .d-side{min-height:0}
  .demo .cr{grid-template-columns:minmax(0,110px) minmax(0,1fr) minmax(0,1fr);gap:7px}
  .demo .d-lab{font-size:12px}
}
@media (prefers-reduced-motion:reduce){.demo .f,.demo .bar>i,.demo .st{transition:none}.demo .rg.ds>circle:first-child{animation:none}}
/* scheda del luogo (prova) */
.demo .iso{fill:rgba(47,127,240,.08);stroke:var(--blue);stroke-width:2;transform-box:fill-box;transform-origin:center;transform:scale(.2);transition:opacity .4s,transform 1.4s cubic-bezier(.2,.7,.2,1)}
.demo .iso.in{transform:none}
.demo .addr{display:flex;gap:8px;align-items:center;border:1px solid var(--line);border-radius:20px;padding:8px 12px;font:600 13px var(--body);transform:translateY(6px)}
.demo .addr.in{transform:none}.demo .addr i{font-style:normal;color:var(--blue)}
.demo .sr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 8px;padding:5px 0;border-top:1px solid var(--line);font-size:11px;line-height:1.25;transform:translateX(8px)}
.demo .sr.in{transform:none}
.demo .sr span{color:var(--ink50);font:700 11px var(--mono);letter-spacing:0;text-transform:none}
.demo .sr b{font:900 12.5px var(--disp)}
.demo .sr em{grid-row:1/3;grid-column:2;align-self:center;font:900 12px var(--disp);color:var(--pru);text-align:right;display:flex;flex-direction:column}
.demo .sr em small{font:700 10px var(--mono);color:var(--ink50)}
/* hero video (30/10) */
.scene.vid{aspect-ratio:5/4;background:#061330}
.scene.vid video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
@media (max-width:900px){.scene.vid{aspect-ratio:4/3}}

/* ── 30/10 sera: la variante D (mix Maps + Editoriale) diventa il sito ── */
.vhdr{padding-block:clamp(56px,7vw,96px) 40px}
.vhdr .wrap{display:flex;flex-direction:column;gap:20px;align-items:flex-start}
.vhdr.center .wrap{align-items:center;text-align:center}
.vhdr.center .lead{max-width:46ch}
.vhero{overflow:hidden;background:radial-gradient(55% 75% at 0% 0%,rgba(47,127,240,.15),transparent 70%),radial-gradient(40% 60% at 100% 8%,rgba(251,168,95,.16),transparent 70%),radial-gradient(50% 55% at 55% 100%,rgba(131,180,246,.16),transparent 70%),linear-gradient(180deg,#f4f8fe,#fff)}
.vhero .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center;padding-block:clamp(56px,7vw,104px)}
.vhero .txt{display:flex;flex-direction:column;gap:22px;align-items:flex-start}
.vhero .media img{display:block;width:100%;height:auto}
.mono{font:700 13px var(--mono);letter-spacing:0;text-transform:none;color:var(--blue)}
.st3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:22px}
.st3 .k{display:block;font:700 12px var(--mono);letter-spacing:0;text-transform:none;color:var(--blue);margin-bottom:6px}
.st3 .grey{font-size:14px;margin:0 0 4px}
.st3 .ul{margin-top:4px;font-size:15px}
.progs{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:22px}
.ptile{display:flex;flex-direction:column;gap:10px;padding:26px 28px;border-radius:14px;background:var(--bg2);border:1px dashed var(--line)}
.ptile .k{font:700 12px var(--mono);letter-spacing:0;text-transform:none;color:var(--ink50)}
.ptile .k em{font-style:normal;border:1px solid var(--line);border-radius:5px;padding:3px 6px;margin-left:8px}
.vtiles{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-content:start}
.vt{background:var(--bg2);border-radius:16px;padding:22px 24px;display:flex;flex-direction:column;gap:8px}
.vt .k,.ns .k,.mlist .k{font:700 12px var(--mono);letter-spacing:0;text-transform:none;color:var(--blue)}
.vt p,.ns p{font-size:15px;line-height:1.5;color:var(--ink70)}
.provA{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:40px;align-items:start}
.nsteps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:40px}
.ns{background:var(--bg2);border-radius:20px;padding:24px;display:flex;flex-direction:column;gap:8px}
.ns b{width:34px;height:34px;border-radius:50%;background:var(--ink);color:#fff;display:inline-flex;align-items:center;justify-content:center;font:700 14px var(--disp)}
.provC{max-width:720px;margin:0 auto}
.mlist{display:flex;flex-direction:column;gap:0;width:100%;margin-top:8px}
.mlist>div{display:grid;grid-template-columns:120px 1fr;gap:16px;padding:12px 0;border-top:1px solid rgba(255,255,255,.15);font-size:15px}
.subnav a{font-size:14px}
.solA{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:40px;align-items:center;padding:40px;border-radius:28px;background:var(--bg2);margin-top:28px}
.solA.alt .dm{order:2}
.solA .tx{display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.solA .tx .k{font:700 12px var(--mono);letter-spacing:0;text-transform:none;color:var(--ink50)}
.solA .st3{grid-template-columns:1fr;gap:14px;margin-top:6px}
.solB{display:grid;grid-template-columns:260px minmax(0,1fr);gap:40px;align-items:start}
.solB .side{position:sticky;top:96px;display:flex;flex-direction:column;background:#17222f;border-radius:14px;padding:10px;gap:2px}
.solB .side a{display:grid;grid-template-columns:34px 1fr;gap:0 8px;align-items:center;padding:10px 12px;border-radius:9px;color:rgba(255,255,255,.8);font:600 14px var(--body)}
.solB .side a b{font:700 13px var(--mono);color:#83b4f6}
.solB .side a em{grid-column:2;font:700 11px var(--mono);letter-spacing:0;text-transform:none;color:rgba(255,255,255,.45);font-style:normal}
.solB .side a.on{background:#2f7ff0;color:#fff}.solB .side a.on b,.solB .side a.on em{color:#fff}
.solB .main{display:flex;flex-direction:column;gap:28px;min-width:0}
.blk{background:#fff;border:1px solid var(--line);border-radius:14px;padding:28px;display:flex;flex-direction:column;gap:20px;align-items:flex-start}
.blk header{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center}
.blk header .k{font:700 12px var(--mono);letter-spacing:0;text-transform:none;color:var(--ink50)}
.blk header .h2{flex-basis:100%;font-size:28px}
.blk .demo{width:100%}
.blk.prog{background:var(--bg2);border-style:dashed}
.solC{display:grid;grid-template-columns:200px minmax(0,1fr);gap:40px;align-items:start}
.solC .idx{position:sticky;top:96px;display:flex;flex-direction:column;gap:4px}
.solC .idx a{display:flex;gap:12px;align-items:baseline;padding:10px 12px;border-radius:12px;font:600 14px var(--body);color:var(--ink50)}
.solC .idx a b{font:700 13px var(--mono)}
.solC .idx a.on{background:var(--ink);color:#fff}
.solC .main{display:flex;flex-direction:column;gap:32px;min-width:0}
.ccard{background:#fff;border-radius:28px;overflow:hidden;box-shadow:0 2px 24px rgba(23,34,47,.06)}
.ccard .demo{border:0;border-radius:0;border-bottom:1px solid var(--line)}
.ccard .cbody{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:32px;padding:32px}
.ccard .cbody>div:first-child{display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.ccard .cbody .k{font:700 12px var(--mono);letter-spacing:0;text-transform:none;color:var(--ink50)}
.ccard .st3{grid-template-columns:1fr;gap:12px;margin-top:0}

/* ═══ A · Maps ═══ */
html[data-stile=a]{--bg2:#f1f3f4;--line:#e3e6ea;--ink:#1f2328;--blue:#1a73e8;--blue-dark:#1557b0;--blue-soft:#e8f0fe;--disp:Lato,"Helvetica Neue",Arial,sans-serif;--body:Raleway,Lato,sans-serif}
html[data-stile=a] .vh1{font:400 clamp(44px,5.6vw,80px)/1.06 var(--disp);letter-spacing:-.025em;color:var(--ink)}
html[data-stile=a] .h2{font-weight:400;letter-spacing:-.02em}
html[data-stile=a] .h3{font-weight:700}
html[data-stile=a] .lead{font-size:20px;color:var(--ink70);max-width:40ch}
html[data-stile=a] .pill{border-radius:24px;font-weight:600;padding:14px 26px}
html[data-stile=a] .block{border-radius:24px}
html[data-stile=a] .tag{background:var(--bg2);color:var(--ink70);border-radius:16px;text-transform:none;letter-spacing:0;font:600 13px var(--body);padding:7px 14px}
html[data-stile=a] .vhero .media{border-radius:28px;overflow:hidden;box-shadow:0 20px 60px rgba(31,35,40,.14)}
html[data-stile=a] .card,html[data-stile=a] .mtile,html[data-stile=a] .method>div,html[data-stile=a] .panel,html[data-stile=a] .demo,html[data-stile=a] .vt{border:0;border-radius:24px;background:var(--bg2);box-shadow:none}
html[data-stile=a] .mtile .demo{background:#fff;border-radius:0}
html[data-stile=a] .demo{background:#fff;border:1px solid var(--line)}
html[data-stile=a] .sec.grey{background:#fff}
html[data-stile=a] .layers .frame,html[data-stile=a] .scene,html[data-stile=a] .photo{border-radius:28px}
html[data-stile=a] .band{border-radius:28px;margin:0 auto;max-width:1200px;overflow:hidden}
html[data-stile=a] .subnav{background:#fff}
html[data-stile=a] .subnav a{font:600 14px var(--body)}
html[data-stile=a] .cta{background:var(--blue-soft);border-radius:28px}
html[data-stile=a] .vtiles .vt .k{color:var(--blue)}
html[data-stile=a] .provA form{border-radius:24px;background:#fff;border:1px solid var(--line)}
html[data-stile=a] .form input,html[data-stile=a] .form select,html[data-stile=a] .form textarea{border-radius:8px;background:#fff}

/* ═══ B · Board ═══ */
html[data-stile=b]{--bg2:#f6f8fa;--ink:#17222f;--blue:#2f7ff0;--blue-soft:#eaf3fe;--disp:Lato,"Helvetica Neue",Arial,sans-serif;--body:Raleway,Lato,sans-serif}
html[data-stile=b] .vh1{font:900 clamp(40px,5vw,68px)/1.06 var(--disp);letter-spacing:-.025em}
html[data-stile=b] .h2{font-weight:900;letter-spacing:-.02em}
html[data-stile=b] .vhero{background:#0f1b2d;color:#fff}
html[data-stile=b] .vhero .lead{color:rgba(255,255,255,.75)}
html[data-stile=b] .vhero .mono{color:#83b4f6}
html[data-stile=b] .vhero .pill.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.35)}
html[data-stile=b] .vhero .pill.ghost:hover{background:rgba(255,255,255,.08)}
html[data-stile=b] .board{background:#16243a;border:1px solid rgba(255,255,255,.1);border-radius:14px;overflow:hidden;display:grid;grid-template-rows:auto auto 1fr}
html[data-stile=b] .bbar{display:flex;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.1)}
html[data-stile=b] .bbar .mono{color:rgba(255,255,255,.6)}
html[data-stile=b] .bimg{aspect-ratio:16/7;overflow:hidden}
html[data-stile=b] .bimg img{width:100%;height:100%;object-fit:cover;object-position:50% 45%}
html[data-stile=b] .blist{padding:6px 16px 10px}
html[data-stile=b] .blist>div{grid-template-columns:150px 1fr auto;padding:9px 0;border-color:rgba(255,255,255,.1)}
html[data-stile=b] .blist .k{color:#83b4f6}html[data-stile=b] .blist .v{font-size:15px;color:#fff}html[data-stile=b] .blist .c{color:rgba(255,255,255,.5)}
html[data-stile=b] .subnav{top:72px}
html[data-stile=b] .tag{color:var(--b900,#123f7f)}
html[data-stile=b] .card,html[data-stile=b] .mtile,html[data-stile=b] .panel,html[data-stile=b] .method>div{border-radius:12px;border:1px solid var(--line);box-shadow:0 1px 3px rgba(16,24,40,.06)}
html[data-stile=b] .pill{border-radius:9px;font-weight:700}
html[data-stile=b] .vhero.prov{align-items:start}
html[data-stile=b] .vhero.prov .wrap{align-items:start;grid-template-columns:minmax(0,1fr) minmax(0,.95fr)}
html[data-stile=b] .vhero.prov form{background:#fff;color:var(--ink);border-radius:14px;border:0}
html[data-stile=b] .mlist .k{color:#83b4f6}

/* ═══ C · Editoriale ═══ */
html[data-stile=c]{--bg:#fbfaf7;--bg2:#f3f1ea;--line:#e7e3d9;--ink:#1b1f24;--ink50:rgba(27,31,36,.55);--ink70:rgba(27,31,36,.75);--blue:#1b1f24;--blue-dark:#000;--blue-soft:#ece9ff;--disp:Raleway,Lato,sans-serif;--body:Raleway,Lato,sans-serif}
html[data-stile=c] body{background:var(--bg)}
html[data-stile=c] .nav{background:var(--bg)}
html[data-stile=c] .wm svg,html[data-stile=c] .wm b{color:#2f7ff0}
html[data-stile=c] .vh1{font:700 clamp(44px,6vw,86px)/1.04 var(--disp);letter-spacing:-.035em}
html[data-stile=c] .h2{font:700 clamp(30px,3.2vw,44px)/1.1 var(--disp);letter-spacing:-.03em}
html[data-stile=c] .h3{font:700 22px/1.25 var(--disp)}
html[data-stile=c] .vhero .wrap{display:flex;flex-direction:column;align-items:center;text-align:center;gap:26px}
html[data-stile=c] .vhero .lead{max-width:44ch;font-size:21px}
html[data-stile=c] .vhero .search{margin-top:4px;border-radius:40px;border:1.5px solid var(--line);background:#fff}
html[data-stile=c] .vhero .scene{width:100%;max-width:1100px;aspect-ratio:16/8;border-radius:32px;margin-top:18px}
html[data-stile=c] .pill{background:#1b1f24;border-color:#1b1f24;border-radius:40px;font-weight:600;padding:16px 28px}
html[data-stile=c] .pill:hover{background:#000}
html[data-stile=c] .pill.ghost{background:#fff;color:#1b1f24}
html[data-stile=c] .block{background:#1b1f24;border-radius:40px}
html[data-stile=c] .menu a:hover,html[data-stile=c] .menu a.on{color:#2f7ff0}
html[data-stile=c] .tag{background:#fff;border:1px solid var(--line);color:var(--ink70);text-transform:none;letter-spacing:0;font:600 13px var(--body);border-radius:20px;padding:7px 14px}
html[data-stile=c] .card,html[data-stile=c] .mtile,html[data-stile=c] .method>div,html[data-stile=c] .panel,html[data-stile=c] .vt,html[data-stile=c] .ns{border-radius:28px;border:0;background:#fff;box-shadow:0 2px 24px rgba(27,31,36,.05)}
html[data-stile=c] .ns{background:var(--bg2)}
html[data-stile=c] .mtile .demo{border-radius:0}
html[data-stile=c] .demo{border-radius:20px;border-color:var(--line)}
html[data-stile=c] .sec.grey{background:var(--bg2)}
html[data-stile=c] .layers .frame,html[data-stile=c] .photo,html[data-stile=c] .band{border-radius:32px}
html[data-stile=c] .band{max-width:1200px;margin:0 auto;overflow:hidden}
html[data-stile=c] .subnav{background:rgba(251,250,247,.92)}
html[data-stile=c] .subnav a:hover,html[data-stile=c] .subnav a.on{color:#1b1f24;border-color:#1b1f24}
html[data-stile=c] .cta{background:#1b1f24;color:#fff;border-radius:32px}
html[data-stile=c] .cta .p{color:rgba(255,255,255,.75)}
html[data-stile=c] .cta .pill{background:#fff;color:#1b1f24;border-color:#fff}
html[data-stile=c] .cta .tag{background:transparent;color:#fff;border-color:rgba(255,255,255,.3)}
html[data-stile=c] .provC form{border-radius:28px;background:#fff;border:0;box-shadow:0 2px 24px rgba(27,31,36,.05)}
html[data-stile=c] .form input,html[data-stile=c] .form select,html[data-stile=c] .form textarea{border-radius:12px;background:var(--bg)}
html[data-stile=c] .demo .d-tk i.on,html[data-stile=c] .mtile .k,html[data-stile=c] .st3 .k,html[data-stile=c] .ccard .cbody .k{color:#2f7ff0}
html[data-stile=c] .demo .d-tk i.on{background:#2f7ff0}
@media (max-width:900px){
  .vhero .wrap,.solA,.solB,.solC,.provA,.ccard .cbody{grid-template-columns:1fr}
  .solA.alt .dm{order:0}
  .st3,.nsteps{grid-template-columns:1fr}
  .solB .side,.solC .idx{position:static;flex-direction:row;overflow-x:auto}
  .solB .side a{grid-template-columns:auto 1fr;white-space:nowrap}
  .solB .side a em,.solC .idx a span{display:none}
  .solA{padding:20px;border-radius:20px}
  html[data-stile=b] .vhero.prov .wrap{grid-template-columns:1fr}
  .vsw{font-size:12px;gap:2px}
}
html[data-stile=c] .demo{--blue:#2f7ff0;--blue-soft:#eaf3fe}
/* ═══ D · Mix A+C ═══ */
:root{--bg2:#f2f4f6;--line:#e4e7eb;--ink:#1b1f24;--ink50:rgba(27,31,36,.55);--ink70:rgba(27,31,36,.75);--blue:#2f7ff0;--blue-dark:#1f66d1;--blue-soft:#eaf3fe;--disp:Raleway,Lato,sans-serif;--body:Raleway,Lato,sans-serif}
.vh1{font:600 clamp(44px,5.8vw,82px)/1.04 var(--disp);letter-spacing:-.035em}
.h2{font:600 clamp(30px,3.2vw,44px)/1.1 var(--disp);letter-spacing:-.03em}
.h3{font:700 22px/1.25 var(--disp)}
.lead{font-size:20px;color:var(--ink70);max-width:40ch}
.vhero .wrap{gap:64px}
.vhero .search{margin-top:6px;border-radius:40px;max-width:520px}
.pill{border-radius:40px;font-weight:600;padding:15px 26px}
.block{border-radius:40px}
.tag{background:var(--bg2);color:var(--ink70);border-radius:20px;text-transform:none;letter-spacing:0;font:600 13px var(--body);padding:7px 14px}
.card,.mtile,.method>div,.panel,.vt,.ns,.ptile{border:0;border-radius:28px;background:var(--bg2);box-shadow:none}
.mtile .demo{background:#fff;border-radius:0}
.demo{background:#fff;border:1px solid var(--line);border-radius:20px}
.ns b{background:var(--blue)}
.sec.grey{background:#fff}
.layers .frame,.scene,.photo,.band{border-radius:32px}
.band{margin:0 auto;max-width:1200px;overflow:hidden}
.subnav{background:rgba(255,255,255,.92)}
.subnav a{font:600 14px var(--body)}
.cta{background:var(--blue-soft);border-radius:32px}
.solA{border-radius:32px}
.provC form{border-radius:28px;background:#fff;border:1px solid var(--line)}
.form input,.form select,.form textarea{border-radius:12px}
/* D · meno spazio bianco (30/10, founder) */
.sec{padding-block:clamp(44px,5vw,72px)}
.pb{padding-bottom:clamp(44px,5vw,72px)}
.vhero .wrap{padding-block:clamp(36px,4.5vw,64px);gap:48px}
.vhdr{padding-block:clamp(40px,5vw,64px) 24px}
.head{margin-bottom:36px}
.mt2{margin-top:36px}
.band{min-height:clamp(400px,42vw,520px)}
.steps-l .step{padding:clamp(32px,5vh,56px) 0}
.solA{padding:28px;margin-top:20px;gap:32px}
.nsteps{margin-bottom:28px}
.subnav a{padding:13px 14px}
.mosaic,.method,.cards{gap:18px}
footer{padding-block:48px 28px}
.provD{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:28px;align-items:start;margin-bottom:28px}
.provD .nsteps{grid-template-columns:1fr 1fr;margin:0}
@media (max-width:900px){.provD,.provD .nsteps{grid-template-columns:1fr}}

.vhero .scene{aspect-ratio:1}
.vhero .scene.vid{aspect-ratio:5/4}
/* scheda di Via Dante 7: foto che respira, righe che entrano a scorrimento */
.photo.live{position:relative}
.photo.live img{animation:drift 26s ease-in-out infinite alternate;transform:scale(1.04)}
.photo.live .pin{position:absolute;left:50%;top:50%;width:22px;height:22px;border-radius:50%;background:var(--blue);border:4px solid #fff;box-shadow:0 4px 12px rgba(16,24,40,.35);transform:translate(-50%,-50%)}
.photo.live .pin::after{content:"";position:absolute;inset:-14px;border-radius:50%;border:2px solid var(--blue);opacity:0;animation:ping 2.4s ease-out infinite}
.list.reveal>div{opacity:0;transform:translateX(10px);transition:opacity .5s ease var(--d,0ms),transform .5s ease var(--d,0ms)}
.list.reveal.in>div{opacity:1;transform:none}
.list .bar{grid-column:1/-1;height:4px;border-radius:2px;background:var(--bg2);overflow:hidden;margin-top:-6px}
.list .bar i{display:block;height:100%;width:0;background:var(--seq);transition:width 1s cubic-bezier(.2,.7,.2,1) calc(var(--d,0ms) + 250ms)}
.list.reveal.in .bar i{width:var(--w)}
/* strati: lo strato nuovo entra con un leggero zoom, l'anello del bacino pulsa */
.layers .frame img{transform:scale(1.06);transition:opacity .7s,transform 1.6s cubic-bezier(.2,.7,.2,1)}
.layers .frame img.on{transform:scale(1)}
.layers .frame .ring{position:absolute;left:50%;top:50%;width:46%;aspect-ratio:1;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 2px rgba(47,127,240,.35),0 0 30px rgba(255,255,255,.6);transform:translate(-50%,-50%);pointer-events:none;animation:ringpulse 3.2s ease-in-out infinite}
@keyframes ringpulse{50%{box-shadow:0 0 0 10px rgba(47,127,240,.12),0 0 30px rgba(255,255,255,.6)}}
.layers .legend i{position:relative;overflow:hidden}
.layers .legend i::after{content:"";position:absolute;top:-2px;bottom:-2px;width:3px;background:#fff;box-shadow:0 0 0 1px var(--ink);left:var(--x,60%);transition:left 1s cubic-bezier(.2,.7,.2,1)}
@media (prefers-reduced-motion:reduce){.photo.live img,.photo.live .pin::after,.layers .frame .ring{animation:none}.list.reveal>div{opacity:1;transform:none}}

/* ── 31/10: dati, soluzioni e personas ridisegnate ── */
body{font-variant-numeric:lining-nums}
/* dati: la cella si apre in sette categorie */
.cella{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(24px,5vw,72px);align-items:center}
.flower{width:100%;height:auto;display:block;overflow:visible}
.hx{cursor:pointer;outline:none}
.hx polygon{fill:var(--bg2);transition:fill .35s,transform .35s cubic-bezier(.2,.7,.2,1);transform-box:fill-box;transform-origin:center}
.hx:hover polygon{fill:#e6ebf1}
.hx:focus-visible polygon{stroke:var(--blue);stroke-width:2}
.hx.on polygon{fill:url(#gcell);transform:scale(1.05)}
.hx text{transition:fill .3s;pointer-events:none}
.hx .nm{font:600 15px/1.2 var(--body);fill:var(--ink70)}
.hx .vl{font:900 18px Lato,sans-serif;fill:var(--ink)}
.hx.on .nm,.hx.on .vl{fill:#fff}
.panes{display:grid;min-width:0}
.dp{grid-area:1/1;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .4s,transform .4s,visibility .4s;min-width:0}
.dp.on{opacity:1;visibility:visible;transform:none}
.dp .k{font:700 13px var(--mono);letter-spacing:0;text-transform:none;color:var(--blue)}
.dp .big{font:900 clamp(46px,6vw,76px)/1.02 Lato,sans-serif;letter-spacing:-.03em;margin-top:10px}
.dp .ds{font-size:19px;color:var(--ink70);margin-top:8px}
.vs{position:relative;display:flex;flex-direction:column;gap:10px;margin-top:26px;padding-right:96px}
.vs>div{display:grid;grid-template-columns:88px minmax(0,1fr);gap:12px;align-items:center;font:500 13px var(--body);color:var(--ink70)}
.vs i{display:block;height:12px;border-radius:6px;background:var(--bg2);overflow:hidden}
.vs b{display:block;height:100%;width:0;border-radius:6px;background:var(--seq);transition:width 1s cubic-bezier(.2,.7,.2,1) .15s}
.vs .ml b{background:#b9c4d2}
.dp.on .vs b{width:var(--w)}
.vs em{position:absolute;right:0;top:50%;transform:translateY(-50%);font:900 22px Lato,sans-serif;font-style:normal;color:var(--pru,#a52252);text-align:right;max-width:92px;line-height:1.1}
.sb{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:24px;padding-top:18px;border-top:1px solid var(--line);font-size:13px;color:var(--ink50)}
.sb b{display:block;font:900 19px Lato,sans-serif;color:var(--ink)}
/* soluzioni: una domanda alla volta */
.sec.dark{background:#0d1b33;color:#fff}
.sec.dark .h2{color:#fff}
.sec.dark .p{color:rgba(255,255,255,.72)}
.sec.dark .tag{background:rgba(255,255,255,.1);color:#fff}
.sec.dark .pill.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.35)}
.sec.dark .pill.ghost:hover{background:rgba(255,255,255,.08)}
.sx{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:clamp(24px,4vw,56px);align-items:center}
.sxl{display:flex;flex-direction:column}
.sxq{position:relative;padding:18px 0 20px;border-top:1px solid rgba(255,255,255,.14);cursor:pointer;outline:none}
.sxq:last-child{border-bottom:1px solid rgba(255,255,255,.14)}
.sxq .k{font:700 12px var(--mono);letter-spacing:0;text-transform:none;color:rgba(255,255,255,.55);display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.sxq .k em{font-style:normal;border:1px solid rgba(255,255,255,.22);border-radius:5px;padding:2px 6px}
.sxq .h3{margin-top:8px;font:600 21px/1.25 var(--disp);color:rgba(255,255,255,.62);transition:color .25s}
.sxq:hover .h3,.sxq.on .h3{color:#fff}
.sxq:focus-visible .h3{text-decoration:underline}
.sxq .more{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s}
.sxq.on .more{grid-template-rows:1fr}
.sxq .more>div{overflow:hidden}
.sxq .more p{font-size:15px;line-height:1.5;color:rgba(255,255,255,.72);margin-top:8px}
.sxq .link{display:inline-block;margin-top:8px;color:#83b4f6;font-size:15px;font-weight:600}
.sxq .prog{position:absolute;left:0;bottom:-1px;height:2px;width:0;background:#83b4f6}
.sxq.on .prog{animation:sxp var(--dur,0ms) linear forwards}
@keyframes sxp{to{width:100%}}
.sxr{display:grid;min-width:0}
.sxr .demo{grid-area:1/1;opacity:0;visibility:hidden;transition:opacity .45s,visibility .45s;border:0;box-shadow:0 24px 60px rgba(0,0,0,.35);color:var(--ink);min-width:0}
.sxr .demo.on{opacity:1;visibility:visible}
/* personas: le 100 famiglie */
.pers{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,72px);align-items:center}
.pfig{margin:0}
.wf{width:100%;height:auto;display:block}
.wf polygon{fill:#e9edf2;opacity:0;transform-box:fill-box;transform-origin:center;transform:scale(.3);transition:opacity .4s ease var(--d,0ms),transform .4s ease var(--d,0ms),fill .5s}
.wf.in polygon{opacity:1;transform:none}
.wf polygon.gB{fill:var(--blue)}
.wf polygon.gE{fill:#a52252}
.wf polygon.gC{fill:#fba85f}
.wf[data-g=B] polygon.gE,.wf[data-g=B] polygon.gC,.wf[data-g=E] polygon.gB,.wf[data-g=E] polygon.gC,.wf[data-g=C] polygon.gB,.wf[data-g=C] polygon.gE{opacity:.22;transition-delay:0ms}
.pfig figcaption{margin-top:12px;font-size:14px;color:var(--ink50)}
.fams{display:flex;flex-direction:column;min-width:0}
.fams>.k,.ppl>.k{font:700 12px var(--mono);letter-spacing:0;text-transform:none;color:var(--ink50);margin-bottom:8px}
.fam{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:12px;align-items:center;padding:7px 10px;border-radius:10px;font:500 16px var(--body);color:var(--ink50);transition:background .25s,color .25s}
.fam.has{color:var(--ink);font-weight:600;cursor:pointer}
.fam b{width:26px;height:26px;border-radius:7px;background:#e9edf2;color:var(--ink70);display:flex;align-items:center;justify-content:center;font:700 13px Lato,sans-serif}
.fam b.cB{background:var(--blue);color:#fff}.fam b.cE{background:#a52252;color:#fff}.fam b.cC{background:#fba85f;color:var(--ink)}
.fam em{font:900 19px Lato,sans-serif;font-style:normal}
.fam.on{background:var(--bg2)}
.fnote{min-height:1.5em;margin:10px 10px 0;font-size:15px;color:var(--ink70)}
.ppl{margin-top:36px;overflow:hidden}
.mq{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.mq .tr{display:flex;gap:10px;width:max-content;animation:mq 60s linear infinite}
.mq:hover .tr{animation-play-state:paused}
.mq span{display:inline-flex;gap:8px;align-items:center;background:var(--bg2);border-radius:20px;padding:8px 14px;font:500 14px var(--body);white-space:nowrap}
.mq b{font:700 12px var(--mono);color:var(--blue)}
@keyframes mq{to{transform:translateX(-50%)}}
@media (max-width:900px){
  .cella,.pers,.sx{grid-template-columns:1fr}
  .sxr{order:-1}
  .flower{width:100%;max-width:480px;align-self:center}
  .hx .nm{font-size:16px}
  .hx .vl{font-size:20px}
  .vs{padding-right:76px}
  .vs em{font-size:18px;max-width:72px}
}
@media (prefers-reduced-motion:reduce){.mq .tr{animation:none;flex-wrap:wrap;width:auto}.sxq.on .prog{animation:none;width:100%}.wf polygon{transition:none}}
#soluzioni .head{grid-template-columns:minmax(0,7fr) minmax(0,5fr);margin-bottom:32px}
#soluzioni .head .left{flex-direction:column;gap:16px}


/* ── 02/11: note del founder sulla copia commentabile ─────────────────────── */
/* fascia Forum: logo Intuo e stand più evidenti */
.evrow{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.evrow .evint{height:30px;width:auto}
.tag.big{font-size:17px;padding:10px 18px;background:var(--blue);color:#fff}
#forum .glass{max-width:640px}
/* soluzioni in home: la demo dentro un riquadro con l'aspetto dell'app */
.sxr .appf{grid-area:1/1;opacity:0;visibility:hidden;transition:opacity .45s,visibility .45s;border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 24px 60px rgba(0,0,0,.35);min-width:0;color:var(--ink)}
.sxr .appf.on{opacity:1;visibility:visible}
.sxr .appf .demo{grid-area:auto;opacity:1;visibility:visible;box-shadow:none;border-radius:0;flex:1;min-width:0}
.appb{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line);font:800 14px var(--body);color:var(--ink)}
.appb svg{width:18px;height:18px;color:var(--blue)}
.appb b{color:var(--blue)}
.appb em{font-style:normal;font-weight:600;color:var(--ink50);padding-left:10px;border-left:1px solid var(--line)}
.appb i{margin-left:auto;font:700 11px var(--body);font-style:normal;color:var(--ink70);background:var(--bg2);border-radius:20px;padding:4px 10px}
.appc{display:flex;min-width:0}
.apps{display:flex;flex-direction:column;gap:10px;padding:12px 8px;border-right:1px solid var(--line);background:#fafbfc}
.apps b{width:22px;height:22px;border-radius:7px;background:var(--bg2)}
.apps b.on{background:var(--blue-soft);box-shadow:inset 0 0 0 2px var(--blue)}
/* pagina soluzioni: esempio, come funziona, ingressi */
.solA .ex{font-size:14px;color:var(--ink70);display:flex;gap:10px;align-items:baseline}
.solA .ex b,.howx b{font:700 12px var(--body);color:var(--blue);white-space:nowrap}
.howc{background:#fff;border-radius:22px;padding:28px 30px;display:flex;flex-direction:column;gap:14px;box-shadow:0 2px 24px rgba(50,63,93,.06)}
.howc .k,.in3 .k,.panel>.k,.steps .k{font:700 13px var(--body);color:var(--blue)}
.howc ol,.ol{margin:0;padding:0;list-style:none;counter-reset:n;display:flex;flex-direction:column;gap:10px}
.howc li,.ol li{counter-increment:n;display:grid;grid-template-columns:28px 1fr;gap:10px;font-size:15px;line-height:1.45;color:var(--ink70)}
.howc li::before,.ol li::before{content:counter(n);width:24px;height:24px;border-radius:50%;background:var(--blue-soft);color:var(--blue);font:700 12px/24px var(--disp);text-align:center}
.howx{display:flex;flex-direction:column;gap:4px;font-size:14px;color:var(--ink70);border-top:1px solid var(--line);padding-top:14px;margin:0}
.howx em{color:var(--ink50)}
.in3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.in3>div{background:var(--bg2);border-radius:22px;padding:24px;display:flex;flex-direction:column;gap:8px}
.in3 p{font-size:15px;line-height:1.5;color:var(--ink70);margin:0}
.sumisura{margin-top:16px;font-size:16px;line-height:1.55;color:var(--ink70);max-width:72ch}.sumisura b{color:var(--ink)}
.panel .qq{font-size:17px;line-height:1.5;color:var(--ink)}
.panel .ol{margin-top:12px}
@media (max-width:900px){.in3{grid-template-columns:1fr}#soluzioni .head{grid-template-columns:1fr}}
@media (max-width:600px){.lval{top:auto;bottom:12px}.scene .fc:nth-of-type(n+3){display:none}}
/* prova: i quattro passi come elenco pieno, numero a sinistra */
.provD .nsteps{grid-template-columns:1fr;gap:0;background:var(--bg2);border-radius:28px;padding:8px 26px}
.provD .ns{flex-direction:row;align-items:flex-start;gap:18px;background:none;border-radius:0;padding:20px 0;border-bottom:1px solid var(--line)}
.provD .ns:last-child{border-bottom:0}
.provD .ns b{flex:none;width:40px;height:40px;font-size:16px}
.provD .ns .k{font:800 17px var(--body);color:var(--ink)}
.provD .ns p{margin:4px 0 0}
/* home: la prova come fascia con immagine */
#prova.band .glass{max-width:600px}
#prova .btns{display:flex;gap:10px;flex-wrap:wrap}
/* chi siamo */
.card .intuo{height:34px;width:auto;margin-bottom:6px}
/* privacy più piccola */
.prose.small{font-size:15px;line-height:1.6}
.prose.small h2{font-size:21px}
.prose.small h3{font-size:16px}
.appf .demo .d-bar{display:none}
.evrow .evlogo{height:76px;width:auto}
.evrow .evint{height:36px}
.demo .isop{fill:rgba(47,127,240,.14);stroke-width:3.5;stroke-linejoin:round}

/* personas: dal target alle personas */
.tflow{display:grid;grid-template-columns:minmax(0,1fr) 40px minmax(0,1.1fr) 40px minmax(0,1.15fr);align-items:stretch;gap:0}
.tf{background:var(--bg2);border-radius:24px;padding:24px;display:flex;flex-direction:column;gap:14px;opacity:.35;transition:opacity .5s;min-width:0}
.tflow.s1 .t1,.tflow.s2 .t2,.tflow.s3 .t3{opacity:1}
.tflow.rs .tf{opacity:.35}
.tf .k{font:700 13px var(--body);color:var(--blue)}
.tq{font:600 19px/1.4 var(--body);color:var(--ink);margin:0}
.tchips{display:flex;flex-wrap:wrap;gap:8px}
.tchips span{background:#fff;border:1px solid var(--blue-line);color:var(--b900);border-radius:20px;padding:7px 13px;font:600 14px var(--body);opacity:0;transform:translateY(6px);transition:opacity .4s ease var(--d),transform .4s ease var(--d)}
.tflow.s1:not(.rs) .tchips span{opacity:1;transform:none}
.tar{align-self:center;justify-self:center;width:22px;height:22px;border-top:3px solid var(--blue);border-right:3px solid var(--blue);transform:rotate(45deg);opacity:.25;transition:opacity .4s}
.tflow.s2 .tar:nth-of-type(1),.tflow.s3 .tar{opacity:1}
.tflow .fams{gap:2px}
.tflow .fam{font-size:15px;padding:5px 8px;transition:background .4s,opacity .4s}
.tflow.s2:not(.rs) .fam:not(.match){opacity:.4}
.tflow.s2:not(.rs) .fam.match{background:#fff;box-shadow:inset 0 0 0 2px var(--blue)}
.tcap{font-size:13px;color:var(--ink50);margin:0}
@media (max-width:900px){.tflow{grid-template-columns:1fr;gap:10px}.tar{transform:rotate(135deg);margin:4px 0}}
@media (prefers-reduced-motion:reduce){.tf,.tchips span{transition:none}}
/* strato personas di Via Dante 7, interattivo */
.layers .frame{position:relative}
.pov{position:absolute;left:16px;bottom:16px;right:16px;max-width:340px;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:4px;opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity .4s,transform .4s;box-shadow:0 10px 30px rgba(16,24,40,.18)}
.frame[data-l="3"] .pov{opacity:1;pointer-events:auto;transform:none}
.pov .k{font:700 12px var(--body);color:var(--ink50);margin-bottom:4px}
.pov button{all:unset;cursor:pointer;display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:10px;align-items:center;padding:6px 8px;border-radius:10px;position:relative;font:600 14px var(--body);color:var(--ink70)}
.pov button b{width:24px;height:24px;border-radius:7px;display:flex;align-items:center;justify-content:center;font:700 12px Lato,sans-serif;color:#fff}
.pov b.cB{background:var(--blue)}.pov b.cE{background:#a52252}.pov b.cC{background:#fba85f;color:var(--ink)}
.pov button em{font:900 16px Lato,sans-serif;font-style:normal;color:var(--ink)}
.pov button i{grid-column:2/4;height:4px;border-radius:2px;background:var(--bg2);position:relative;overflow:hidden}
.pov button i::after{content:"";position:absolute;inset:0 auto 0 0;width:calc(var(--w) * 3);max-width:100%;background:var(--blue);border-radius:2px}
.pov button.on{background:var(--blue-soft);color:var(--ink)}
.pov .pd{font-size:13px;color:var(--ink70);margin:4px 8px 0;min-height:2.6em}
/* la cella: di quale luogo sono i numeri */
.flw{display:flex;flex-direction:column;gap:10px;min-width:0}
.flw .cap{align-self:center;font:700 14px var(--body);color:var(--b900);background:var(--blue-soft);border-radius:20px;padding:7px 14px}
.pov button:focus-visible{outline:2px solid var(--blue);outline-offset:2px}

/* 02/11 sera: strati con le schede sopra la mappa */
.lsw{position:absolute;left:12px;right:12px;top:12px;z-index:3;display:flex;gap:6px;flex-wrap:wrap}
.lsw button{all:unset;cursor:pointer;font:700 13px var(--body);color:var(--ink70);background:rgba(255,255,255,.88);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:20px;padding:7px 12px;box-shadow:0 2px 8px rgba(16,24,40,.12);transition:background .3s,color .3s}
.lsw button.on{background:var(--blue);color:#fff}
.lsw button:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.lval{position:absolute;right:12px;top:58px;z-index:3;background:rgba(255,255,255,.92);border-radius:14px;padding:10px 14px;display:flex;flex-direction:column;gap:2px;box-shadow:0 6px 18px rgba(16,24,40,.16);max-width:60%}
.lval b{font:900 22px Lato,sans-serif;color:var(--ink)}
.lval span{font-size:12.5px;color:var(--ink70)}
.frame[data-l="3"] .lval{display:none}
.frame.swp::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);transform:translateX(-100%);animation:swp .9s ease}
@keyframes swp{to{transform:translateX(100%)}}
.photo.live video{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover}
@media (prefers-reduced-motion:reduce){.frame.swp::after{animation:none}}
.provD .appf{border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 18px 50px rgba(50,63,93,.16);min-width:0;color:var(--ink)}
.provD .appf .demo{box-shadow:none;border-radius:0;flex:1;min-width:0;border:0}
/* 02/11 sera: settori in cui la tecnologia è già al lavoro */
.sett{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.sett>div{background:var(--bg2);border-radius:24px;padding:24px;display:flex;flex-direction:column;gap:8px}
.sett .k{font:700 13px var(--body);color:var(--blue)}
.sett p{margin:0;font-size:15px;line-height:1.5;color:var(--ink70)}
/* pagina Piani */
.piani{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:stretch}
.piano{background:var(--bg2);border-radius:28px;padding:28px 24px;display:flex;flex-direction:column;gap:12px}
.piano.top{background:#fff;box-shadow:0 0 0 2px var(--blue),0 18px 50px rgba(47,127,240,.15)}
.piano .k{font:700 13px var(--body);color:var(--blue)}
.piano .per{margin:0;font-size:15px;line-height:1.5;color:var(--ink70)}
.piano .ul{flex:1;margin:4px 0 8px}
.piano .ul li{font-size:14.5px}
.piano .pill{align-self:flex-start}
@media (max-width:1000px){.sett,.piani{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.sett,.piani{grid-template-columns:1fr}}
.chi-sett .head{margin-bottom:24px}
/* 02/11 notte (founder): la scritta GeoTobler tutta in un colore, non più «Geo» nero e «Tobler» blu */
.wm b,html[data-stile=c] .wm b{color:inherit;font-weight:inherit}
.appb b{color:inherit}
/* 02/11 notte (founder): logo B1 nero; scritta GeoTobler in Lato come prima */
.wm{font:400 22px Lato,"Helvetica Neue",Arial,sans-serif;letter-spacing:-.01em}  /* 03/11: scritta in Lato Regular (founder) */
.wm svg,html[data-stile=c] .wm svg,.appb svg{color:var(--ink)}
.menu,.menu a,.block,.block-m{font-family:Lato,"Helvetica Neue",Arial,sans-serif}  /* 02/11 notte (founder): barra tutta in Lato */
/* personas, terzo passo: mappa vera dello strato (03/11) */
.tmapi{position:relative;aspect-ratio:1;border-radius:16px;overflow:hidden;background:var(--bg2)}
.tmapi img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(1) opacity(.55);transition:filter .6s}
.tflow.s3:not(.rs) .tmapi img{filter:none}
.tmapi .tpin{position:absolute;left:50%;top:50%;width:16px;height:16px;margin:-8px 0 0 -8px;border-radius:50%;background:var(--blue);border:3px solid #fff;box-shadow:0 0 0 8px rgba(47,127,240,.22)}
@media (prefers-reduced-motion:reduce){.tmapi img{transition:none}}
/* 03/11, scelta del founder: sfumatura su testate, riquadri finali e sezioni grigie, come l'hero */
html:root main{overflow-x:clip}
html:root .wrap.hdr{position:relative;isolation:isolate}
html:root .wrap.hdr::before{content:"";position:absolute;z-index:-1;top:0;bottom:0;left:calc(50% - 50vw);right:calc(50% - 50vw);background:radial-gradient(55% 90% at 0% 0%,rgba(47,127,240,.15),transparent 70%),radial-gradient(40% 80% at 100% 8%,rgba(251,168,95,.16),transparent 70%),linear-gradient(180deg,#f4f8fe,#fff)}
html:root .vhdr{background:radial-gradient(55% 90% at 0% 0%,rgba(47,127,240,.15),transparent 70%),radial-gradient(40% 80% at 100% 8%,rgba(251,168,95,.16),transparent 70%),linear-gradient(180deg,#f4f8fe,#fff)}
html:root .cta{background:radial-gradient(60% 140% at 0% 0%,rgba(47,127,240,.13),transparent 70%),radial-gradient(50% 140% at 100% 100%,rgba(251,168,95,.13),transparent 70%),#f7f9fc}
html:root .sec.grey{background:linear-gradient(180deg,#edf3fc 0%,#f6f8fa 55%)}
/* 03/11: animazioni delle sette soluzioni nuove (demos.js) */
.demo .d-map.plain{background:#f3f5f8}
.demo .str{fill:none;stroke:#e2e7ee;stroke-linecap:round;stroke-linejoin:round}
.demo .dot.m2{fill:var(--pru)}.demo .dot.m3{fill:#f4713f}.demo .dot.best{fill:var(--b900)}
.demo .dot.pros{fill:#aab4c3;stroke-width:1.5}
.demo .dot.hot{stroke:#fff;stroke-width:1.5}
.demo.s2 .dot.pros{opacity:0}
.demo .hal{fill:none;stroke-width:3;transform-box:fill-box;transform-origin:center;transform:scale(.6)}
.demo .hal.in{transform:none}.demo .hal.up{stroke:var(--blue)}.demo .hal.dn{stroke:var(--ros)}
.demo .sw3{position:absolute;inset:12px 14px;display:flex;flex-direction:column;gap:6px;transition:opacity .45s}
.demo .sw3.b{opacity:0}.demo.s3 .sw3.a{opacity:0}.demo.s3 .sw3.b{opacity:1}
.demo .kv{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--line);padding:3px 0;font-size:12.5px}
.demo .kv b{font:700 15px var(--disp)}
.demo .fx{display:grid;grid-template-columns:minmax(0,1fr) 22px;gap:2px 8px;font-size:11.5px}
.demo .fx .bar{grid-column:1;height:5px}.demo .fx b{grid-row:1/3;grid-column:2;text-align:right;font:700 15px var(--disp);align-self:center}
.demo .fx.up .bar>i{background:var(--blue)}.demo .fx.dn .bar>i{background:var(--ros)}.demo .fx.up b{color:var(--blue)}.demo .fx.dn b{color:var(--ros)}
.demo .hex.zo{transition:opacity .5s ease var(--d,0ms)}.demo.s2 .hex.zo{opacity:0!important;transition-delay:0ms}
.demo .hex.zo.in,.demo .hex.zn.in{opacity:.9}
.demo .hex.pen{transition:opacity .5s}.demo.s1 .hex.pen.in{opacity:.15}
.demo .rt{fill:none;stroke:var(--pru);stroke-width:2.5;stroke-dasharray:6 5;stroke-linejoin:round}
.demo .pr.ctl .bar>i{background:#b9c4d2}
.demo .hrs{display:grid;grid-template-columns:repeat(13,minmax(0,1fr));gap:3px;margin-top:2px}
.demo .hc{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:0}
.demo .hb{position:relative;width:100%;height:96px;display:flex;align-items:flex-end;justify-content:center}
.demo .hc .p{position:absolute;bottom:0;left:0;right:0;height:var(--h);background:#cfd8e4;border-radius:2px 2px 0 0}
.demo .hc .s{position:absolute;bottom:0;left:25%;right:25%;height:var(--h);background:var(--blue);border-radius:2px 2px 0 0}
.demo .hc .g{position:absolute;top:0;width:7px;height:7px;border-radius:50%}.demo .hc .g.on{background:var(--ros)}
.demo .hc span{font-size:9.5px;color:var(--ink50)}
.demo .lg{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:10.5px;color:var(--ink50)}
.demo .lg i{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:4px;vertical-align:-1px}
.demo .lg .lp{background:#cfd8e4}.demo .lg .ls{background:var(--blue)}.demo .lg .lgp{background:var(--ros);border-radius:50%}
.demo .vd2{display:flex;flex-direction:column;gap:2px;background:var(--bg2);border-radius:8px;padding:7px 9px;font-size:11.5px}
.demo .vd2 b{font:700 13px var(--disp);color:var(--ros)}
/* 03/11: mappa Mapbox live sotto le animazioni; senza token resta il fondo neutro con le strade */
.demo .d-map{background:#f3f5f8}
.demo .d-gl{position:absolute;inset:0}
.demo .d-gl .mapboxgl-ctrl-bottom-right{transform:scale(.8);transform-origin:bottom right}
.demo .d-map svg{pointer-events:none}
.demo.gl .str{display:none}
.demo .d-map em{z-index:2}
.demo .d-ph .d-gl{position:absolute;inset:0}
.demo .d-ph{background:#f3f5f8}
.demo .d-map em{top:6px;bottom:auto}  /* il logo Mapbox in basso a sinistra deve restare visibile */
/* 03/11 (founder): anteprima della demo vera nelle schede delle soluzioni */
.dprev{position:relative;aspect-ratio:16/10;border-radius:14px;overflow:hidden;background:#f3f5f8 center/cover no-repeat;border:1px solid var(--line);box-shadow:0 18px 50px rgba(50,63,93,.14)}
.dprev-in{position:absolute;inset:0}
.dprev iframe{position:absolute;left:0;top:0;width:1280px;height:800px;border:0;transform-origin:0 0;pointer-events:none;background:#fff}
.dprev-go{position:absolute;right:12px;bottom:12px;z-index:2;display:inline-flex;align-items:center;gap:8px;background:var(--blue);color:#fff;font:600 14px var(--body);text-decoration:none;border-radius:999px;padding:9px 16px;box-shadow:0 6px 18px rgba(16,24,40,.25)}
.dprev-go:hover{background:var(--blue-dark)}
.dprev-k{position:absolute;left:12px;top:12px;z-index:2;font:700 12px var(--body);color:var(--ink70);background:rgba(255,255,255,.9);border-radius:6px;padding:3px 8px}
.dprev::after{content:"";position:absolute;inset:0;z-index:1;cursor:pointer}
/* 03/11: caso cliente (logo del cliente reale per cui la soluzione è stata costruita), come nella pagina Enterprise Solutions delle demo */
.solA .dm{position:relative}
.caso{position:absolute;top:12px;right:12px;z-index:3;display:flex;align-items:center;gap:8px;padding:6px 10px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 4px 14px rgba(16,24,40,.12)}
.caso span{font:700 10.5px var(--body);color:var(--ink50)}
.caso img{display:block;height:22px;width:auto}
.caso.big{position:static;box-shadow:none;padding:4px 10px}
.caso.big img{height:26px}
/* 04/11: presa visione dell'informativa accanto all'invio, al posto della casella del consenso */
.decl{font-size:13px;color:var(--ink70);margin:0}
.decl a{font-weight:700}
/* 03/11 (staging2): «dall'Italia alla cella», la mappa guidata dallo scroll */
.zh{position:relative;height:520vh;background:#eef2f6}
.zh-stick{position:sticky;top:0;height:100vh;height:100dvh;overflow:hidden}
.zh-map{position:absolute!important;inset:0;width:100%;height:100%}
.zh-txt{position:absolute;left:max(24px,calc((100vw - 1200px)/2));top:50%;transform:translateY(-50%);width:min(460px,calc(100vw - 48px));pointer-events:none}
.zh-st{position:absolute;left:0;right:0;top:50%;transform:translateY(-40%);opacity:0;transition:opacity .5s,transform .5s;background:rgba(255,255,255,.9);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:20px;padding:26px 28px;box-shadow:0 20px 50px rgba(16,24,40,.14);display:flex;flex-direction:column;gap:12px;pointer-events:auto}
.zh-st.on{opacity:1;transform:translateY(-50%)}
.zh-st .vh1{font-size:clamp(40px,5vw,64px)}
.zh-st .k{font:700 14px var(--body);color:var(--blue)}
.zh-hint{font:600 14px var(--body);color:var(--ink50);margin:0}
.zh-pop{position:absolute;left:0;top:0;z-index:3;transform-origin:0 100%;background:#fff;border-radius:12px;padding:10px 14px;box-shadow:0 10px 30px rgba(16,24,40,.16);display:flex;flex-direction:column;gap:2px;opacity:0;translate:0 -100%;scale:.9;transition:opacity .35s,scale .35s;pointer-events:none;white-space:nowrap}
.zh-pop b{font:700 16px var(--disp);letter-spacing:-.01em}
.zh-pop span{font-size:12.5px;color:var(--ink70)}
.zh-pop::after{content:"";position:absolute;left:-6px;bottom:-6px;width:12px;height:12px;background:#fff;border-radius:2px;transform:rotate(45deg)}
.zh.pop .zh-pop{opacity:1;scale:1}
.zh-hero .search{margin-top:4px;max-width:none;padding:6px 6px 6px 18px;box-shadow:0 8px 24px rgba(16,118,197,.08)}
.zh-hero .search .q{font-size:17px}
.zh-hero .search .pill{padding:9px 16px;font-size:14px}
.zh-num{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:4px 0 6px;border-top:1px solid var(--line)}
.zh-num div{display:flex;flex-direction:column;gap:3px;padding:14px 16px 14px 0;border-bottom:1px solid var(--line)}
.zh-num div:nth-child(2n){padding-left:16px;border-left:1px solid var(--line)}
.zh-num b{font:700 34px/1 var(--disp);letter-spacing:-.03em;color:var(--ink)}
.zh-num span{font-size:13px;line-height:1.3;color:var(--ink70)}
.zh-num i{font:700 12.5px var(--body);font-style:normal;color:var(--blue)}
.zh-prog{position:absolute;left:0;right:0;bottom:0;height:3px;background:rgba(27,31,36,.08)}
.zh-prog i{display:block;height:100%;width:0;background:var(--blue)}
.zh-ill{position:absolute;right:16px;bottom:30px;font:700 11px var(--body);color:var(--ink50);background:rgba(255,255,255,.8);padding:3px 8px;border-radius:5px}
@media (max-width:900px){.zh-txt{top:auto;bottom:calc(22px + var(--zh-off,0px));transform:none;left:14px;width:calc(100vw - 28px)}.zh-st{top:auto;bottom:0;transform:translateY(10%);padding:16px 18px;gap:8px;border-radius:16px}.zh-st.on{transform:none}.zh-st .vh1{font-size:34px}.zh-st .lead{font-size:15px;line-height:1.4}.zh-st .p{font-size:14.5px;line-height:1.45}.zh-st .h2{font-size:24px}.zh-st .k{font-size:12.5px}
.zh-hero .search{margin-top:0;flex-wrap:nowrap;padding:4px 4px 4px 14px;border-radius:30px;gap:8px}.zh-hero .search .ico{display:none}.zh-hero .search .q{flex:1 1 auto;font-size:15px}.zh-hero .search .pill{width:auto;flex:0 0 auto;padding:8px 14px;font-size:13px}.zh-hint{font-size:12.5px}
.zh-num{margin:0}.zh-num div{padding:10px 10px 10px 0;gap:2px}.zh-num div:nth-child(2n){padding-left:10px}.zh-num b{font-size:24px}.zh-num span{font-size:11.5px}.zh-num i{font-size:11.5px}.zh-st .pill{padding:11px 16px;font-size:14px}
.zh-pop{padding:7px 10px}.zh-pop b{font-size:14px}.zh-pop span{font-size:11.5px}.zh.via .zh-hero{padding:16px 18px!important}}
/* staging2: il velo che si apre dal punto di «where.», il punto, il riquadro con la cella */
.zh-veil{position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(55% 75% at 0% 0%,rgba(47,127,240,.15),transparent 70%),radial-gradient(40% 60% at 100% 8%,rgba(251,168,95,.16),transparent 70%),linear-gradient(180deg,#f4f8fe,#fff);-webkit-mask:radial-gradient(circle at var(--x) var(--y),transparent var(--r),#000 calc(var(--r) + 1px));mask:radial-gradient(circle at var(--x) var(--y),transparent var(--r),#000 calc(var(--r) + 1px));transition:opacity .4s}
.zh-txt{z-index:2}
.zh-hero{background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;padding:0!important}
.zh.via .zh-hero{background:rgba(255,255,255,.9)!important;box-shadow:0 20px 50px rgba(16,24,40,.14)!important;padding:26px 28px!important;backdrop-filter:blur(10px)!important;-webkit-backdrop-filter:blur(10px)!important;transition:all .4s}
.zh-dot{display:inline-block;width:.2em;height:.2em;border-radius:50%;background:#2f7ff0;margin-left:.05em;box-shadow:0 0 0 .07em rgba(47,127,240,.2);vertical-align:.02em}
.zh.via .zh-dot{opacity:0}
.zh-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.zh-hud{position:absolute;right:max(16px,calc((100vw - 1200px)/2));bottom:28px;z-index:2;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:5px;min-width:250px;box-shadow:0 10px 30px rgba(16,24,40,.12);opacity:0;transition:opacity .4s;font-size:13px}
.zh.aperto .zh-hud{opacity:1}
.zh-hud .k{font:700 11.5px var(--body);color:var(--ink50)}
.zh-hud .sc{display:block;height:6px;border-radius:3px;background:linear-gradient(90deg,#fff0b8,#fdd38a,#fba85f,#f4713f,#dd3f3a,#a52252)}
.zh-hud b{font:700 14px var(--disp)}
.zh-hud strong{font-weight:800}
.zh-ill{display:none}
@media (max-width:900px){.zh-hud{left:14px;right:auto;max-width:calc(100vw - 28px);bottom:auto;top:76px;min-width:0;padding:8px 12px;gap:2px;border-radius:12px}.zh-hud .k,.zh-hud .sc,.zh-hud span:nth-of-type(n+3){display:none}.zh-hud b{font-size:13px}.zh-hud span{font-size:12px}}
.zh-scrim{position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse 34% 32% at max(250px,calc((100vw - 1200px)/2 + 230px)) 52%,rgba(248,250,253,.92) 0%,rgba(248,250,253,.75) 55%,rgba(248,250,253,0) 100%)}
.zh-dot{transition:opacity .25s}
.zh.aperto .zh-hero{background:rgba(255,255,255,.9)!important}
@media (max-width:900px){.zh-scrim{background:linear-gradient(0deg,rgba(248,250,253,.95) 0%,rgba(248,250,253,.8) 40%,rgba(248,250,253,0) 70%)}}
/* 04/11 (founder): il punto di «where.» vola e atterra su Via Dante 7; resta lì per tutto lo scroll */
.zh-fly{position:absolute;left:0;top:0;z-index:3;width:16px;height:16px;border-radius:50%;background:#2f7ff0;box-shadow:0 0 0 3px #fff,0 0 0 9px rgba(47,127,240,.18);opacity:0;pointer-events:none;will-change:transform}
.zh.via .zh-fly{opacity:1;transition:opacity .25s}
.zh-fly::after{content:"";position:absolute;inset:-8px;border-radius:50%;border:2px solid rgba(47,127,240,.55);animation:zhpulse 2.2s ease-out infinite}
@keyframes zhpulse{0%{transform:scale(.5);opacity:1}100%{transform:scale(2.4);opacity:0}}

/* 05/11: sul telefono la scheda del valore degli strati sta in basso, non sopra i pulsanti */
@media (max-width:600px){.layers .lval,.lval{top:auto;bottom:12px}}

/* 05/11: le ancore atterrano sotto la barra fissa (e sotto il sottomenu dove c'è) */
[id]{scroll-margin-top:84px}
.subnav ~ * [id],.subnav ~ [id]{scroll-margin-top:132px}

/* 05/11 (founder): freccia che invita a scorrere, nel colore sfumato di «where.»; sparisce appena si scorre */
.zh-scroll{position:absolute;right:max(28px,calc((100vw - 1200px)/2));bottom:calc(34px + var(--zh-off,0px));z-index:3;display:flex;flex-direction:column;align-items:center;gap:4px;text-decoration:none;color:var(--ink50);font:700 12px var(--body);letter-spacing:.04em;text-transform:uppercase;opacity:1;transition:opacity .35s}
.zh-scroll svg{width:52px;height:52px;padding:10px;border-radius:50%;background:rgba(255,255,255,.92);box-shadow:0 10px 30px rgba(16,24,40,.14);animation:zhgiu 1.6s ease-in-out infinite}
.zh.via .zh-scroll{opacity:0;pointer-events:none}
@keyframes zhgiu{0%,100%{transform:translateY(0);opacity:.55}50%{transform:translateY(9px);opacity:1}}
@media (max-width:900px){.zh-scroll{right:14px;bottom:auto;top:38%}.zh-scroll span{display:none}.zh-scroll svg{width:44px;height:44px;padding:9px}}
@media (prefers-reduced-motion:reduce){.zh-scroll svg{animation:none}}

/* 05/11: sul telefono il riquadro degli strati è quadrato: la scheda delle personas non copre più i pulsanti */
@media (max-width:600px){.layers .frame{aspect-ratio:1}}

/* 05/11: finché la demo non è caricata (o è stata scaricata) resta visibile il poster, non un riquadro bianco */
.dprev iframe:not([src]),.dprev iframe[src="about:blank"]{display:none}

/* 05/11: i passi non attivi dello zoom sono invisibili e non devono prendere i clic (coprivano il «Provalo» del titolo) */
.zh-st{pointer-events:none}.zh-st.on{pointer-events:auto}
/* 05/11: sul computer il sottomenu va a capo invece di nascondere le voci (dieci soluzioni non stanno in 1200 px) */
@media (min-width:901px){.subnav .wrap{flex-wrap:wrap;-webkit-mask-image:none;mask-image:none}}
