/* Z-VU · PORTALE — il menu unico delle pagine di trasmissione e delle hero.
   Architettura del menu VILLAGE (indice numerato a sinistra, claim e porte a destra, righe di servizio, piede legale),
   vestita con la trasmissione: fondo pieno del sito, Helvetica stretta per i nomi, mono tecnico per tutto il resto, la stella.
   Solo token: ogni sito cambia --zp-bg, --zp-fg, --zp-sig, --zp-on (li scrive markup.js). Nessuno sfondo con scritte. */
.zp{--zp-bg:#060607;--zp-fg:#EDEEEA;--zp-sig:#39FF14;--zp-on:#060607;--zp-err:#FF7A6B;
  --zp-mute:color-mix(in srgb,var(--zp-fg) 64%,transparent);--zp-legal:color-mix(in srgb,var(--zp-fg) 50%,transparent);
  --zp-line:color-mix(in srgb,var(--zp-fg) 16%,transparent);--zp-line2:color-mix(in srgb,var(--zp-fg) 32%,transparent);
  --zp-f:"Helvetica Neue",Helvetica,Arial,sans-serif;--zp-m:"SF Mono",ui-monospace,Menlo,Consolas,monospace;
  --zp-e:cubic-bezier(.22,1,.36,1);--zp-gx:clamp(16px,4vw,56px);--zp-key:56px;
  position:fixed;inset:0;z-index:35;display:flex;flex-direction:column;background:var(--zp-bg);color:var(--zp-fg);
  font:400 16px/1.45 var(--zp-f);-webkit-font-smoothing:antialiased;text-align:left;
  opacity:0;transition:opacity .35s var(--zp-e);overscroll-behavior:contain}
.zp[hidden],.zp [hidden]{display:none!important}
.zp.aperto{opacity:1}
/* reset a specificità zero: non deve battere nessuna regola dei componenti sotto */
:where(.zp) *,:where(.zp) *::before,:where(.zp) *::after{box-sizing:border-box;margin:0}
:where(.zp) a{color:inherit;text-decoration:none}
:where(.zp) button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;text-align:inherit}
.zp :focus-visible{outline:2px solid var(--zp-sig);outline-offset:3px;border-radius:2px}
.zp sup{font-size:max(9px,.34em);font-weight:400;letter-spacing:0;vertical-align:top;line-height:1;margin-left:.08em;position:relative;top:.18em}
.zp-l{font:500 11px/1 var(--zp-m);letter-spacing:.22em;text-transform:uppercase;color:var(--zp-mute)}
html.zp-on,html.zp-on body{overflow:hidden}

/* testata: firma, lingua, chiudi — sulla stessa riga ottica */
.zp-top{flex:none;display:flex;align-items:center;gap:16px;padding:max(14px,env(safe-area-inset-top)) var(--zp-gx) 14px;min-height:72px;border-bottom:1px solid var(--zp-line)}
.zp-k{display:flex;align-items:center;gap:12px;font:500 11px/1 var(--zp-m);letter-spacing:.22em;text-transform:uppercase;margin-right:auto;white-space:nowrap}
.zp-dim{color:var(--zp-mute)}
.zp-star{width:14px;height:14px;background:currentColor;clip-path:polygon(50% 4%,60.47% 39.53%,96% 50%,60.47% 60.47%,50% 96%,39.53% 60.47%,4% 50%,39.53% 39.53%)}
.zp-lang{display:flex;border:1px solid var(--zp-line2);border-radius:40px;padding:3px}
.zp-lang button{min-width:52px;height:44px;border-radius:40px;font:600 11px/1 var(--zp-m);letter-spacing:.18em;text-align:center;color:var(--zp-mute);transition:background .2s,color .2s}
.zp-lang button[aria-pressed="true"]{background:var(--zp-fg);color:var(--zp-bg)}
.zp-x{display:flex;align-items:center;gap:10px;height:44px;padding:0 4px 0 8px;font:500 11px/1 var(--zp-m);letter-spacing:.22em;text-transform:uppercase}
.zp-x b{position:relative;width:18px;height:18px}
.zp-x b::before,.zp-x b::after{content:"";position:absolute;left:50%;top:50%;width:22px;height:1.5px;background:currentColor;translate:-50% -50%;rotate:45deg;transition:rotate .3s var(--zp-e)}
.zp-x b::after{rotate:-45deg}
.zp-x:hover b::before{rotate:135deg}.zp-x:hover b::after{rotate:45deg}

/* le due viste (indice, form) scorrono dentro il portale, mai la pagina sotto */
.zp-vista{flex:1;min-height:0;scroll-padding-bottom:calc(var(--zp-key) + 44px);overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;display:flex;flex-direction:column}
.zp-vista[hidden]{display:none}
.zp-grid{flex:1;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(320px,1fr);gap:clamp(32px,6vw,120px);padding:clamp(24px,4.4vh,48px) var(--zp-gx) 32px}

/* sinistra: l'indice numerato, in grande */
.zp-indice{display:flex;flex-direction:column;gap:14px;min-width:0}
.zp-canali{list-style:none;padding:0;display:grid}
.zp-c,.zp-coll-b{position:relative;display:flex;align-items:center;gap:clamp(14px,1.6vw,22px);width:100%;padding:clamp(4px,.7vh,8px) 0;min-height:48px}
.zp-n{flex:none;width:2.6em;font:500 11px/1 var(--zp-m);letter-spacing:.14em;color:var(--zp-mute);font-variant-numeric:tabular-nums;align-self:flex-start;padding-top:.7em}
.zp-nome{min-width:0;font:700 clamp(30px,min(4.4vw,5.6vh),60px)/.92 var(--zp-f);letter-spacing:-.045em;text-transform:uppercase;overflow-wrap:normal;transition:color .25s,opacity .25s}
.zp-c svg{flex:none;width:18px;height:18px;margin-left:auto;opacity:0;translate:-6px 6px;transition:opacity .25s,translate .35s var(--zp-e)}
.zp-tag{flex:none;align-self:center;margin-left:4px;font:500 10px/1 var(--zp-m);letter-spacing:.2em;text-transform:uppercase;color:var(--zp-on);background:var(--zp-sig);padding:6px 9px 5px;border-radius:40px}
.zp-c.qui .zp-nome{color:var(--zp-sig)}
@media (hover:hover){
  .zp-canali:hover .zp-nome{opacity:.34}
  .zp-canali .zp-c:hover .zp-nome,.zp-canali .zp-c:focus-visible .zp-nome{opacity:1}
  .zp-c:hover svg,.zp-c:focus-visible svg{opacity:1;translate:0 0}
}
/* la collezione: secondo livello, si apre sotto l'indice */
.zp-coll-b{margin-top:6px;border-top:1px solid var(--zp-line);padding-top:clamp(12px,1.8vh,18px)}
.zp-coll-b .zp-nome{font-size:clamp(20px,min(2.4vw,3.4vh),32px);letter-spacing:-.03em}
.zp-piu{position:relative;height:1em;padding:0}
.zp-piu::before,.zp-piu::after{content:"";position:absolute;left:2px;top:50%;width:13px;height:1.5px;background:currentColor;transition:rotate .3s var(--zp-e)}
.zp-piu::after{rotate:90deg}
.zp-coll-b[aria-expanded="true"] .zp-piu::after{rotate:0deg}
.zp-coll{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:22px 28px;padding:8px 0 12px calc(2.6em * 11 / 16 + clamp(14px,1.6vw,22px))}
.zp-coll[hidden]{display:none}
.zp-fam h3{display:flex;align-items:baseline;gap:8px;font:500 10px/1.3 var(--zp-m);letter-spacing:.16em;text-transform:uppercase;color:var(--zp-mute);margin-bottom:8px}
.zp-fam h3 i{flex:none;width:7px;height:7px;border-radius:50%;background:var(--c);align-self:center}
.zp-fam h3 span{color:var(--zp-fg)}
.zp-fam ul{list-style:none;padding:0;display:grid}
.zp-fam a{display:flex;align-items:center;min-height:36px;font:700 15px/1.1 var(--zp-f);letter-spacing:-.01em;text-transform:uppercase;transition:color .2s}
.zp-fam a:hover,.zp-fam a:focus-visible,.zp-fam a.qui{color:var(--c)}
.zp.coll-aperta .zp-coll{animation:zp-su .45s var(--zp-e)}
@keyframes zp-su{from{opacity:0;translate:0 8px}}

/* destra: dove sei, il claim, le porte, i servizi */
.zp-lato{display:flex;flex-direction:column;gap:clamp(18px,3vh,30px);min-width:0;max-width:520px;justify-self:end;width:100%}
.zp-dove{display:flex;align-items:flex-start;gap:10px;font:500 11px/1.5 var(--zp-m);letter-spacing:.2em;text-transform:uppercase;color:var(--zp-mute);min-height:14px}
.zp-dot{width:7px;height:7px;border-radius:50%;background:var(--zp-sig);flex:none;align-self:flex-start;margin-top:5px}
.zp-claim{font:400 clamp(22px,min(2.3vw,3.6vh),34px)/1.18 var(--zp-f);letter-spacing:-.02em;text-wrap:balance;max-width:22ch;min-height:3.6em;transition:opacity .2s}
.zp-claim.anteprima,.zp-dove.anteprima{opacity:.62}
.zp-scrivi{display:grid;gap:12px}
.zp-porte{display:grid;gap:10px}
.zp-porta{position:relative;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;align-items:center;column-gap:16px;row-gap:5px;min-height:64px;padding:11px 12px 11px 24px;border-radius:40px;border:1px solid var(--zp-line2);transition:border-color .25s,background .25s,color .25s,translate .25s var(--zp-e)}
.zp-porta .zp-ps{grid-column:1;font:500 10.5px/1 var(--zp-m);letter-spacing:.2em;text-transform:uppercase;color:var(--zp-mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.zp-porta .zp-pt{grid-column:1;font:700 20px/1 var(--zp-f);letter-spacing:-.02em;text-transform:uppercase;white-space:nowrap}
.zp-porta i{grid-column:2;grid-row:1/3;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:1px solid currentColor;transition:translate .3s var(--zp-e)}
.zp-porta i svg{width:18px;height:18px}
.zp-porta.piena{background:var(--zp-sig);border-color:var(--zp-sig);color:var(--zp-on)}
.zp-porta.piena .zp-ps{color:var(--zp-on)}
.zp-porta:hover{translate:0 -1px;border-color:var(--zp-fg)}
.zp-porta.piena:hover{border-color:var(--zp-sig)}
.zp-porta:hover i{translate:3px 0}
.zp-porta:active{translate:0 1px}
.zp-pl{font:400 13px/1.5 var(--zp-f);color:var(--zp-mute);max-width:40ch}
.zp-servizi{list-style:none;padding:0;border-top:1px solid var(--zp-line)}
.zp-servizi li{border-bottom:1px solid var(--zp-line)}
.zp-servizi a>span:first-child,.zp-servizi button>span:first-child{white-space:nowrap}
.zp-servizi a,.zp-servizi button{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:48px;font:500 11px/1 var(--zp-m);letter-spacing:.2em;text-transform:uppercase;transition:color .2s}
.zp-servizi .zp-v{display:flex;align-items:center;gap:10px;color:var(--zp-mute);letter-spacing:.12em;text-transform:none;font-size:11px;text-align:right}
.zp-servizi svg{width:15px;height:15px;flex:none}
.zp-servizi a:hover,.zp-servizi button:hover{color:var(--zp-sig)}
.zp-servizi button[aria-pressed="false"] .zp-v{opacity:.6}

/* piede legale */
.zp-piede{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 24px;padding:16px var(--zp-gx) max(18px,env(safe-area-inset-bottom));border-top:1px solid var(--zp-line);font:500 10px/1.6 var(--zp-m);letter-spacing:.14em;text-transform:uppercase;color:var(--zp-legal)}
.zp-piede p{display:flex;flex-wrap:wrap;gap:4px 18px}
.zp-piede p span:first-child{text-transform:none;letter-spacing:.06em}
.zp-piede nav{display:flex;flex-wrap:wrap;gap:4px 20px}
.zp-piede nav a,.zp-piede nav button{padding:8px 0;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit}
.zp-piede nav a:hover,.zp-piede nav button:hover{color:var(--zp-fg)}

/* entrata: sobria, a scalare */
.zp .zp-c,.zp .zp-coll-b,.zp .zp-lato>*{opacity:0;translate:0 8px;transition:opacity .45s var(--zp-e),translate .55s var(--zp-e)}
.zp.aperto .zp-c,.zp.aperto .zp-coll-b,.zp.aperto .zp-lato>*{opacity:1;translate:0 0}
.zp.aperto .zp-canali li:nth-child(2) .zp-c{transition-delay:.03s}.zp.aperto .zp-canali li:nth-child(3) .zp-c{transition-delay:.06s}
.zp.aperto .zp-canali li:nth-child(4) .zp-c{transition-delay:.09s}.zp.aperto .zp-canali li:nth-child(5) .zp-c{transition-delay:.12s}
.zp.aperto .zp-canali li:nth-child(6) .zp-c{transition-delay:.15s}.zp.aperto .zp-canali li:nth-child(7) .zp-c{transition-delay:.18s}
.zp.aperto .zp-coll-b{transition-delay:.21s}
.zp.aperto .zp-lato>:nth-child(2){transition-delay:.08s}.zp.aperto .zp-lato>:nth-child(3){transition-delay:.14s}.zp.aperto .zp-lato>:nth-child(4){transition-delay:.2s}
.zp.aperto .zp-c,.zp.aperto .zp-coll-b{transition-property:opacity,translate}

/* ================= il form: tre passi dentro il portale ================= */
.zp-form{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,6vw,120px);padding:clamp(24px,4.4vh,48px) var(--zp-gx) 0;align-content:start}
.zp-form[hidden]{display:none}
.zp-fi{position:sticky;top:0;align-self:start;display:grid;gap:18px;padding-bottom:24px}
.zp-indietro{display:inline-flex;align-items:center;gap:10px;min-height:44px;font:500 11px/1 var(--zp-m);letter-spacing:.2em;text-transform:uppercase;color:var(--zp-mute);justify-self:start}
.zp-indietro:hover{color:var(--zp-fg)}
.zp-indietro svg{width:16px;height:16px;rotate:180deg}
.zp-ft{font:700 clamp(40px,min(5.2vw,8vh),84px)/.92 var(--zp-f);letter-spacing:-.045em;text-transform:uppercase}
.zp-ft em{font-style:normal;color:var(--zp-sig)}
.zp-fl{font:400 16px/1.5 var(--zp-f);color:var(--zp-mute);max-width:36ch}
.zp-fp{display:grid;gap:22px;max-width:620px;width:100%;padding-bottom:24px}
.zp-prog{display:grid;gap:10px}
.zp-prog p{display:flex;justify-content:space-between;gap:12px;font:500 11px/1 var(--zp-m);letter-spacing:.2em;text-transform:uppercase;color:var(--zp-mute)}
.zp-salvato{letter-spacing:.12em;opacity:.8}
.zp-barre{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.zp-barre i{height:2px;background:var(--zp-line2);transition:background .3s}
.zp-barre i.on{background:var(--zp-sig)}
.zp-f{display:grid;gap:20px}
.zp-q{font:500 11px/1 var(--zp-m);letter-spacing:.2em;text-transform:uppercase}
.zp-card{position:relative;display:grid;grid-template-columns:auto 1fr auto;column-gap:18px;row-gap:6px;align-items:center;width:100%;padding:20px 20px 20px 22px;border:1px solid var(--zp-line2);border-radius:18px;transition:border-color .2s,background .2s,translate .25s var(--zp-e)}
.zp-card+.zp-card{margin-top:10px}
.zp-card .n{grid-row:1/3;align-self:start;font:500 11px/1 var(--zp-m);letter-spacing:.14em;color:var(--zp-mute);padding-top:6px}
.zp-card b{font:700 clamp(20px,2vw,26px)/1 var(--zp-f);letter-spacing:-.02em;text-transform:uppercase}
.zp-card .d{grid-column:2;font:400 14px/1.45 var(--zp-f);color:var(--zp-mute)}
.zp-card i{grid-column:3;grid-row:1/3;width:20px;height:20px;transition:translate .3s var(--zp-e)}
.zp-card:hover{border-color:var(--zp-fg);translate:0 -1px}.zp-card:hover i{translate:3px 0}
.zp-card[aria-checked="true"]{border-color:var(--zp-sig);background:color-mix(in srgb,var(--zp-sig) 10%,transparent)}
.zp-scelta{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:0 18px;border:1px solid var(--zp-line);border-radius:40px;font:700 14px/1 var(--zp-f);letter-spacing:-.01em;text-transform:uppercase}
.zp-scelta em{font:500 10px/1 var(--zp-m);font-style:normal;letter-spacing:.2em;color:var(--zp-mute)}
.zp-r{display:grid;gap:8px;border:0;padding:0;min-width:0}
.zp-r label,.zp-r legend{font:500 11px/1.3 var(--zp-m);letter-spacing:.16em;text-transform:uppercase;color:var(--zp-mute);padding:0}
.zp-r legend{margin-bottom:8px}
.zp-r small{letter-spacing:.1em;text-transform:none;opacity:.75;margin-left:6px}
.zp-r input,.zp-r textarea,.zp-r select{width:100%;min-height:52px;padding:14px 16px;font:400 16px/1.3 var(--zp-f);color:var(--zp-fg);background:color-mix(in srgb,var(--zp-fg) 4%,transparent);border:1px solid var(--zp-line2);border-radius:14px;outline:none;transition:border-color .2s,box-shadow .2s;-webkit-appearance:none;appearance:none}
.zp-r select{background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(-45deg,transparent 50%,currentColor 50%);background-position:calc(100% - 22px) 50%,calc(100% - 16px) 50%;background-size:6px 6px;background-repeat:no-repeat;padding-right:44px}
.zp-r select option{background:var(--zp-bg);color:var(--zp-fg)}
.zp-r textarea{resize:vertical;min-height:104px}
.zp-r input:focus-visible,.zp-r textarea:focus-visible,.zp-r select:focus-visible{outline:none}
.zp-r input:focus,.zp-r textarea:focus,.zp-r select:focus{border-color:var(--zp-sig);box-shadow:0 0 0 1px var(--zp-sig)}
.zp-r [aria-invalid="true"]{border-color:var(--zp-err)}
.zp-r input::placeholder,.zp-r textarea::placeholder{color:var(--zp-legal)}
.zp-chips{display:flex;flex-wrap:wrap;gap:8px}
.zp-chip{min-height:44px;padding:0 16px;border:1px solid var(--zp-line2);border-radius:40px;font:500 14px/1 var(--zp-f);transition:border-color .2s,background .2s,color .2s}
.zp-chip:hover{border-color:var(--zp-fg)}
.zp-chip[aria-checked="true"]{background:var(--zp-fg);border-color:var(--zp-fg);color:var(--zp-bg)}
.zp-e{font:500 12px/1.3 var(--zp-f);color:var(--zp-err);min-height:0}
.zp-e:empty{display:none}
.zp-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.zp-cons{position:relative;display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start;cursor:pointer;font:400 14px/1.5 var(--zp-f);color:var(--zp-mute)}
.zp-cons input{position:absolute;opacity:0;width:1px;height:1px}
.zp-cons b{width:24px;height:24px;border:1px solid var(--zp-line2);border-radius:6px;display:grid;place-items:center;margin-top:1px}
.zp-cons input:checked+b{background:var(--zp-sig);border-color:var(--zp-sig)}
.zp-cons input:checked+b::after{content:"";width:10px;height:6px;border:2px solid var(--zp-on);border-top:0;border-right:0;rotate:-45deg;translate:0 -2px}
.zp-cons input:focus-visible+b{outline:2px solid var(--zp-sig);outline-offset:3px}
.zp-cons a{color:var(--zp-fg);text-decoration:underline;text-underline-offset:3px}
.zp-sub{font:400 12px/1.6 var(--zp-f);color:var(--zp-legal)}
.zp-fail{font:400 14px/1.5 var(--zp-f);color:var(--zp-err)}
.zp-fail:empty{display:none}
.zp-fail a{color:inherit;text-decoration:underline}
.zp-barra{position:sticky;bottom:0;z-index:1;display:flex;gap:10px;padding:14px 0 max(16px,env(safe-area-inset-bottom));background:var(--zp-bg)}
.zp-barra::before{content:"";position:absolute;left:0;right:0;bottom:100%;height:12px;background:linear-gradient(transparent,var(--zp-bg));pointer-events:none}
.zp-b{flex:1;display:flex;align-items:center;justify-content:center;gap:12px;height:var(--zp-key);padding:0 24px;border-radius:40px;border:1px solid var(--zp-line2);font:600 12px/1 var(--zp-m);letter-spacing:.2em;text-transform:uppercase;transition:border-color .2s,translate .25s var(--zp-e),opacity .2s}
.zp-b:hover{border-color:var(--zp-fg)}
.zp-b.vai{flex:1.6;background:var(--zp-sig);border-color:var(--zp-sig);color:var(--zp-on)}
.zp-b.vai svg{width:18px;height:18px}
.zp-b:disabled{opacity:.5;cursor:progress}
.zp-b[hidden]{display:none}
.zp-ok{display:grid;gap:18px;padding:12px 0 40px}
.zp-ok h3{font:700 clamp(40px,5vw,72px)/.92 var(--zp-f);letter-spacing:-.045em;text-transform:uppercase;color:var(--zp-sig)}
.zp-ok p{font:400 17px/1.5 var(--zp-f);max-width:40ch}
.zp-ref{font:500 11px/1 var(--zp-m);letter-spacing:.2em;text-transform:uppercase;color:var(--zp-mute)}
.zp-ok .zp-b{justify-self:start;flex:none;min-width:240px}

/* ================= tablet verticale e telefono: una colonna, prima le azioni ================= */
@media (max-width:999px){
  .zp-grid{grid-template-columns:1fr;gap:36px}
  .zp-lato{order:-1;max-width:none;justify-self:stretch}
  .zp-claim{max-width:26ch;min-height:0}
  .zp-form{grid-template-columns:1fr;gap:8px}
  .zp-fi{position:static;padding-bottom:4px}
  .zp-fp{max-width:none}
}
@media (min-width:700px) and (max-width:999px){
  .zp-porte{grid-template-columns:repeat(3,minmax(0,1fr))}
  .zp-porta{grid-template-columns:1fr;grid-template-rows:auto auto auto;padding:16px 18px;border-radius:22px;min-height:118px;align-content:space-between}
  .zp-porta i{grid-column:1;grid-row:3;justify-self:end;margin-top:8px}
  .zp-porta .zp-ps{white-space:normal;overflow:visible;line-height:1.45}  /* tre colonne strette: la sotto-etichetta va a capo, non si tronca */
  .zp-servizi{display:grid;grid-template-columns:1fr 1fr;column-gap:28px}
  .zp-nome{font-size:clamp(40px,6.4vw,64px)}
}
@media (max-width:699px){
  .zp{--zp-gx:16px}
  .zp-top{min-height:60px;gap:10px}
  .zp-k .zp-dim{display:none}
  .zp-x span{display:none}
  .zp-x{width:44px;justify-content:center;padding:0}
  .zp-grid{padding-top:22px;gap:26px}
  /* telefono: claim e porte, poi l'indice, poi i servizi */
  .zp-lato{display:contents}
  .zp-dove{order:1;margin-bottom:-12px}.zp-claim{order:2}.zp-scrivi{order:3}.zp-indice{order:4;margin-top:8px}.zp-servizi{order:5}
  .zp-porte{gap:8px}
  .zp-porta{min-height:60px;padding:9px 10px 9px 20px}
  .zp-porta:not(.piena){min-height:56px}
  .zp-porta:not(.piena) .zp-ps{display:none}
  .zp-porta:not(.piena) .zp-pt{grid-row:1/3;font-size:17px}
  .zp-porta i{width:38px;height:38px}
  .zp-pl{font-size:13px}
  .zp-servizi .zp-v{font-size:10px;letter-spacing:.08em}
  .zp-claim{font-size:22px}
  .zp-nome{font-size:clamp(28px,8.6vw,38px)}
  /* «You are here» sotto il nome, mai accanto: il nome non si tronca (tasti-z-vu) */
  .zp-c.qui{flex-wrap:wrap;row-gap:8px}
  .zp-c.qui::after{content:"";order:2;flex-basis:100%}
  .zp-c.qui .zp-tag{order:3;margin-left:calc(28.6px + 14px)}
  .zp-coll{grid-template-columns:1fr 1fr;padding-left:0;gap:20px 16px}
  .zp-fam a{font-size:14px}
  .zp-fam h3{font-size:9px;letter-spacing:.12em}
  .zp-piede{flex-direction:column;align-items:flex-start}
  .zp-ft{font-size:clamp(34px,10vw,44px)}
  .zp-fl{font-size:15px}
  .zp-card{padding:16px;border-radius:22px;column-gap:14px}
  .zp-card .n{grid-row:auto;padding:0}
  .zp-card .d{grid-column:1/3}
  .zp-ok .zp-b{justify-self:stretch}
  .zp-ref{letter-spacing:.1em}
  .zp-form{padding-top:16px}
}
@media (max-width:359px){.zp-porta .zp-pt{font-size:18px}.zp-lang button{min-width:44px}}

@media (prefers-reduced-motion:reduce){
  .zp,.zp *{transition-duration:.01s!important;transition-delay:0s!important;animation:none!important}
}
@media (forced-colors:active){.zp-porta.piena,.zp-b.vai,.zp-tag{border:1px solid ButtonText}}
