
/* Concept: salita sul Monte Olimpo guidata dallo scroll. Un solo volo continuo, interfaccia quasi invisibile, oro come unico accento. */
:root {
  --bg: #05070d;
  --ink: #f2f0ea;
  --ink-dim: #aab1c5;
  --gold: #f4f2ec;
  --gold-soft: #c9cedd;
  --line: rgba(255, 255, 255, .22);
  --f: 'Montserrat', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --g: max(16px, env(safe-area-inset-left, 0px));
  color-scheme: dark;
}
* { box-sizing: border-box; }
html { background: var(--bg); }
body { margin: 0; background: var(--bg); color: var(--ink); font-family: var(--f); -webkit-font-smoothing: antialiased; }
#run { height: 790vh; }
#vid { position: fixed; inset: 0; z-index: 0; overflow: hidden; background: var(--bg); }
#vid video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; will-change: transform; }
.fx { position: fixed; inset: 0; z-index: 1; pointer-events: none; }
.fx.vig { background: radial-gradient(ellipse 70% 60% at 0% 100%, rgba(3,5,12,.6), rgba(3,5,12,0) 70%), radial-gradient(ellipse at 50% 50%, rgba(0,0,0,0) 48%, rgba(2,3,8,.62) 100%); }
.fx.grain { opacity: .09; mix-blend-mode: overlay; background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 .9 0'/></filter><rect width='180' height='180' filter='url(%23n)'/></svg>"); animation: gr 1s steps(4) infinite; }
@keyframes gr { 0% { background-position: 0 0; } 25% { background-position: -40px 30px; } 50% { background-position: 30px -50px; } 75% { background-position: -20px -20px; } 100% { background-position: 50px 40px; } }
.fx.flash { background: radial-gradient(ellipse at 50% 20%, rgba(255,255,255,.4), rgba(255,255,255,0) 60%); opacity: 0; mix-blend-mode: screen; }
.frame { position: fixed; z-index: 3; inset: calc(14px + env(safe-area-inset-top, 0px)) max(14px, env(safe-area-inset-right, 0px)) calc(14px + env(safe-area-inset-bottom, 0px)) max(14px, env(safe-area-inset-left, 0px)); pointer-events: none; }
.frame i { position: absolute; width: 14px; height: 14px; border: 0 solid rgba(255,255,255,.55); }
.frame i:nth-child(1) { left: 0; top: 0; border-top-width: 1px; border-left-width: 1px; }
.frame i:nth-child(2) { right: 0; top: 0; border-top-width: 1px; border-right-width: 1px; }
.frame i:nth-child(3) { left: 0; bottom: 0; border-bottom-width: 1px; border-left-width: 1px; }
.frame i:nth-child(4) { right: 0; bottom: 0; border-bottom-width: 1px; border-right-width: 1px; }
header.top { position: fixed; z-index: 5; left: 0; right: 0; top: 0; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: calc(30px + env(safe-area-inset-top, 0px)) max(34px, env(safe-area-inset-right, 0px)) 0 max(34px, env(safe-area-inset-left, 0px)); pointer-events: none; text-shadow: 0 1px 18px rgba(0,0,0,.6); }
.brand { font-weight: 300; font-size: 15px; letter-spacing: .32em; text-transform: uppercase; line-height: 0; text-shadow: none; pointer-events: auto; }
.brand a { display: inline-flex; align-items: center; color: inherit; text-decoration: none; pointer-events: auto; }
.brand img.custom-logo {
  display: block;
  width: auto;
  height: auto;
  max-height: clamp(28px, 3.2vw, 40px);
  max-width: min(180px, 42vw);
  object-fit: contain;
  object-position: left center;
  aspect-ratio: auto;
}
.brand b { font-weight: 700; }
.hud { text-align: right; font-weight: 500; font-size: 10px; line-height: 1.8; letter-spacing: .18em; text-transform: uppercase; color: var(--ink-dim); font-variant-numeric: tabular-nums; }
.hud b { color: var(--ink); font-weight: 600; }
.snd { position: fixed; z-index: 6; left: max(34px, env(safe-area-inset-left, 0px)); bottom: calc(30px + env(safe-area-inset-bottom, 0px)); background: none; border: 0; padding: 6px 0; cursor: pointer; font: 600 10px var(--f); letter-spacing: .2em; text-transform: uppercase; color: var(--ink-dim); display: flex; gap: 10px; align-items: center; }
.snd:hover { color: var(--ink); }
.snd:focus-visible { outline: 1.5px solid var(--gold); outline-offset: 4px; }
.snd .eq { display: inline-flex; gap: 2px; align-items: flex-end; height: 10px; }
.snd .eq i { width: 2px; background: currentColor; height: 3px; }
.snd[aria-pressed="true"] .eq i { animation: eq .9s ease-in-out infinite alternate; }
.snd[aria-pressed="true"] .eq i:nth-child(2) { animation-delay: .2s; } .snd[aria-pressed="true"] .eq i:nth-child(3) { animation-delay: .4s; }
@keyframes eq { to { height: 10px; } }
.dots { position: fixed; z-index: 5; right: max(34px, env(safe-area-inset-right, 0px)); top: 50%; transform: translateY(-50%); display: grid; gap: 12px; }
.dots button { position: relative; width: 28px; height: 28px; padding: 0; border: 0; background: none; cursor: pointer; display: grid; place-items: center; }
.dots button i { display: block; width: 7px; height: 7px; border-radius: 50%; border: 1px solid rgba(255,255,255,.7); transition: all .3s; }
.dots button.on i { background: var(--gold); border-color: var(--gold); box-shadow: 0 0 14px var(--gold); transform: scale(1.35); }
.dots button span { position: absolute; right: 30px; white-space: nowrap; font-weight: 600; font-size: 10px; letter-spacing: .16em; text-transform: uppercase; color: var(--ink); opacity: 0; transition: opacity .25s; pointer-events: none; text-shadow: 0 1px 12px rgba(0,0,0,.8); }
.dots button:hover span, .dots button:focus-visible span, .dots button.on span { opacity: 1; }
.dots button:focus-visible { outline: 1.5px solid var(--gold); outline-offset: 2px; border-radius: 6px; }
/* Hero home only — never on caso pages (.g2 also uses .txt) */
body:not(.caso-single) .txt { position: fixed; z-index: 4; left: max(34px, env(safe-area-inset-left, 0px)); bottom: calc(clamp(70px, 14vh, 140px) + env(safe-area-inset-bottom, 0px)); width: min(460px, calc(100vw - 100px)); opacity: 0; pointer-events: none; text-shadow: 0 2px 26px rgba(0,0,0,.85); }
body:not(.caso-single) .txt.live { pointer-events: auto; }
.kick { margin: 0; font-weight: 600; font-size: 11px; letter-spacing: .24em; text-transform: uppercase; color: var(--gold-soft); }
body:not(.caso-single) .txt h2, body:not(.caso-single) .txt h1 { margin: 12px 0 0; font-weight: 300; letter-spacing: -.03em; line-height: 1.02; text-wrap: balance; }
body:not(.caso-single) .txt h1 { font-size: clamp(36px, 5vw, 72px); }
body:not(.caso-single) .txt h2 { font-size: clamp(28px, 3.4vw, 48px); }
body:not(.caso-single) .txt .lead { margin: 16px 0 0; max-width: 36ch; font-weight: 400; font-size: clamp(14px, 1.15vw, 16px); line-height: 1.55; color: #e7e9f3; }
body:not(.caso-single) .txt h1 span, body:not(.caso-single) .txt h2 span { display: inline-block; filter: blur(8px); opacity: 0; transform: translateY(14px); transition: filter .9s ease, opacity .9s ease, transform .9s ease; }
body:not(.caso-single) .txt.live h1 span, body:not(.caso-single) .txt.live h2 span { filter: none; opacity: 1; transform: none; }
.go { display: inline-block; margin-top: 20px; padding-bottom: 4px; font-weight: 700; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--gold); text-decoration: none; border-bottom: 1px solid var(--gold); }
.go:hover { color: var(--gold-soft); border-color: var(--gold-soft); }
.go:focus-visible { outline: 1.5px solid var(--gold); outline-offset: 4px; }
.hint { margin: 28px 0 0; font-weight: 600; font-size: 10px; letter-spacing: .24em; text-transform: uppercase; color: var(--ink-dim); }
/* Solo hero home (pin isole): non limitare .swhero / .cs-hero / .os#hero */
#hero:not(.cs-hero):not(.swhero):not(.os) { width: min(760px, calc(100vw - 100px)); }
body:not(.caso-single) .veil { position: fixed; inset: 0; z-index: 8; background: #03040a; opacity: 0; pointer-events: none; transition: opacity .4s ease; }
.load { position: fixed; inset: 0; z-index: 9; display: grid; place-items: center; background: var(--bg); transition: opacity .8s; font-weight: 300; letter-spacing: .4em; text-transform: uppercase; font-size: 12px; color: var(--ink-dim); }
.load.out { opacity: 0; pointer-events: none; }
@media (max-width: 760px) {
  body:not(.caso-single) .txt, #hero:not(.cs-hero):not(.swhero):not(.os) { width: calc(100vw - 80px); bottom: calc(76px + env(safe-area-inset-bottom, 0px)); }
  .dots { gap: 6px; right: 18px; } .dots button span { display: none; }
  header.top, .snd { padding-left: 26px; } .snd { left: 0; }
  .hud .hide-s { display: none; }
}
@media (prefers-reduced-motion: reduce) { .veil, .txt h1 span, .txt h2 span { transition: none; } .fx.grain { animation: none; } }


/* ---------- stacco tra le nuvole e callout sulle isole ---------- */
.fog { position: fixed; inset: 0; z-index: 2; pointer-events: none; opacity: 0; background: #b5bccb; overflow: hidden; }
.fog i { position: absolute; width: 80vmax; height: 60vmax; border-radius: 50%; filter: blur(60px); background: radial-gradient(closest-side, rgba(255,255,255,.55), rgba(255,255,255,0)); animation: fogd 14s ease-in-out infinite alternate; }
.fog i:nth-child(1) { left: -20vmax; top: -10vmax; }
.fog i:nth-child(2) { right: -25vmax; top: 10vmax; animation-duration: 18s; animation-direction: alternate-reverse; background: radial-gradient(closest-side, rgba(120,132,160,.55), rgba(120,132,160,0)); }
.fog i:nth-child(3) { left: 10vmax; bottom: -25vmax; animation-duration: 22s; }
@keyframes fogd { to { transform: translate(8vmax, -4vmax) scale(1.15); } }
.co { position: fixed; z-index: 4; left: 0; top: 0; width: 0; height: 0; opacity: 0; pointer-events: none; text-shadow: 0 1px 14px rgba(0,0,0,.7); }
.co .dp { position: absolute; left: -4px; top: -4px; width: 8px; height: 8px; border-radius: 50%; background: var(--gold); box-shadow: 0 0 0 5px rgba(255,255,255,.25), 0 0 18px var(--gold); }
.co svg { position: absolute; right: 0; bottom: 0; width: 170px; height: 70px; overflow: visible; }
.co svg path { fill: none; stroke: rgba(255,255,255,.75); stroke-width: 1; stroke-dasharray: 260; stroke-dashoffset: 260; transition: stroke-dashoffset .9s ease .15s; }
.co.on svg path { stroke-dashoffset: 0; }
.co .lb { position: absolute; right: 70px; bottom: 76px; white-space: nowrap; text-align: right; font-weight: 600; font-size: 10px; letter-spacing: .2em; text-transform: uppercase; color: var(--ink); font-variant-numeric: tabular-nums; line-height: 1.7; }
.co .lb em { display: block; font-style: normal; font-weight: 500; color: var(--ink-dim); }
@media (max-width: 760px) { .co .lb em { display: none; } .co svg { width: 90px; } .co .lb { right: 20px; } }

/* ---------- resto della home: sequenza a scorrimento (dichiarazione, oggetto fissato, galleria orizzontale, indice, chiusura) ---------- */
:root { --gutter: max(34px, env(safe-area-inset-left, 0px)); --blue: #2d6bff; }

/* intro: video + testo che scorre */
.intro { position: relative; z-index: 7; height: 700vh; }
.intro-st { background: #03050a; position: sticky; top: 0; height: 100vh; height: 100svh; overflow: hidden; }
.intro-st video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.intro-st::after { content: ""; position: absolute; inset: 0; background: radial-gradient(ellipse 80% 70% at 50% 50%, rgba(3,5,10,.05), rgba(3,5,10,.55)), linear-gradient(180deg, rgba(3,5,10,.35), rgba(3,5,10,0) 28%, rgba(3,5,10,0) 70%, rgba(3,5,10,.5)); pointer-events: none; }
.intro-br { display: none; }
.intro-hero {
  position: absolute;
  z-index: 3;
  left: 50%;
  top: 46%;
  transform: translate(-50%, -50%);
  width: min(90vw, 520px);
  text-align: center;
  pointer-events: none;
  text-shadow: 0 2px 40px rgba(0,0,0,.65);
  will-change: opacity, transform;
}
.intro-hero-logo {
  line-height: 0;
  margin: 0 auto;
  width: clamp(72px, 12vw, 108px);
}
.intro-hero-logo img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  object-fit: contain;
  filter: drop-shadow(0 8px 36px rgba(0,0,0,.45));
}
.intro-hero-claim {
  margin: clamp(18px, 3vh, 28px) auto 0;
  max-width: 22ch;
  font-weight: 500;
  font-size: clamp(18px, 2.6vw, 24px);
  line-height: 1.35;
  letter-spacing: -.015em;
  color: #fff;
  text-wrap: balance;
}
.intro-hint { position: absolute; z-index: 3; left: 50%; bottom: calc(28px + env(safe-area-inset-bottom, 0px)); transform: translateX(-50%); font-weight: 600; font-size: 10px; letter-spacing: .26em; text-transform: uppercase; color: var(--ink-dim); transition: opacity .4s; }
@media (prefers-reduced-motion: reduce) {
  .intro-hero { will-change: auto; }
}
.il { position: absolute; z-index: 2; left: 0; right: 0; top: 50%; transform: translateY(-50%); padding-inline: max(24px, env(safe-area-inset-left, 0px)); text-align: center; pointer-events: none; text-shadow: 0 2px 40px rgba(0,0,0,.7); }
.il p { margin: 0 auto; max-width: 18ch; font-weight: 300; font-size: clamp(28px, 4.5vw, 64px); line-height: 1.05; letter-spacing: -.03em; color: var(--ink); text-wrap: balance; }
.il p.w2 { max-width: 22ch; }
.il .wd { display: inline-block; will-change: transform, opacity; }
.il.fin h2 { margin: 0; font-weight: 800; font-size: clamp(32px, 6vw, 88px); letter-spacing: .12em; padding-left: .12em; line-height: 1; color: #fff; }
.il.fin { top: 30%; text-shadow: 0 2px 30px rgba(0,0,0,.75), 0 0 80px rgba(0,0,0,.5); }
.il.fin h2 b { font-weight: 400; }
.il.fin u { display: inline-block; text-decoration: none; will-change: transform, opacity, filter; }
.il.fin span { display: block; font-weight: 300; font-size: clamp(26px, 4.5vw, 68px); letter-spacing: .24em; padding-left: .24em; text-transform: uppercase; color: #fff; line-height: 1.1; }

/* nuvole PNG agganciate tra una parte e l'altra */
.cj { position: relative; height: 0; z-index: 8; pointer-events: none; }
.cj i { position: absolute; left: 50%; top: 0; width: max(130vw, 210vh); aspect-ratio: 1800 / 1116; transform: translate(-50%, -64%); background: url(nuvola_n.webp) 0 0 / 100% 100%; }
.cj i { -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 14%, #000 86%, transparent 100%); mask-image: linear-gradient(90deg, transparent 0, #000 14%, #000 86%, transparent 100%); }
.cj i.c1 { z-index: 1; opacity: .92; filter: brightness(.82) saturate(.9); width: max(150vw, 240vh); }
.cj i.c2 { z-index: 2; width: max(165vw, 262vh); }
.cj i.c3 { z-index: 3; width: max(185vw, 295vh); }
.pre { position: relative; z-index: 7; background: #05070d; }
.pre { margin-top: -26vh; position: relative; z-index: 7; background: transparent; }
.pre .dec { min-height: auto; padding-top: clamp(30px, 6vh, 70px); padding-bottom: clamp(70px, 12vh, 140px); background: linear-gradient(180deg, rgba(5,7,13,0), #05070d 28vh, #08101c 70%, #05070d); }
body:not(.caso-single) .veil { z-index: 10; }
.rest { position: relative; z-index: 6; background: #05070d; }
header.top { z-index: 7; }
.past .dots, .past .snd, .past .frame, .past .txt, .past .hud { display: none; }
.os { position: relative; isolation: isolate; padding-inline: var(--gutter); }
.os-k { display: flex; align-items: center; gap: 16px; margin: 0; font-weight: 600; font-size: 11px; letter-spacing: .24em; text-transform: uppercase; color: var(--gold-soft); }
.os-k::after { content: ""; height: 1px; width: min(120px, 18vw); background: linear-gradient(90deg, var(--gold), rgba(255,255,255,0)); }
.more { display: inline-block; margin-top: 26px; padding-bottom: 4px; font-weight: 700; font-size: 12px; letter-spacing: .16em; text-transform: uppercase; color: var(--gold); text-decoration: none; border-bottom: 1px solid var(--gold); }
.more:hover { color: var(--gold-soft); border-color: var(--gold-soft); }
.more:focus-visible, .mail:focus-visible, .card:focus-visible, .idx a:focus-visible { outline: 1.5px solid var(--gold); outline-offset: 4px; }
.rv { opacity: 0; transform: translateY(30px); filter: blur(6px); transition: opacity 1s cubic-bezier(.2,.7,.2,1), transform 1s cubic-bezier(.2,.7,.2,1), filter 1s; }
.in .rv, .rv.in { opacity: 1; transform: none; filter: none; }
.in .rv:nth-child(2) { transition-delay: .1s; } .in .rv:nth-child(3) { transition-delay: .22s; } .in .rv:nth-child(4) { transition-delay: .34s; }
/* A. dichiarazione */
.dec { min-height: 100vh; min-height: 100svh; display: grid; align-items: center; padding-block: clamp(110px, 18vh, 200px); background: linear-gradient(180deg, #05070d, #08101c 60%, #05070d); }
.dec-in { width: 100%; max-width: 1180px; margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); gap: clamp(30px, 6vw, 90px); align-items: center; }
@media (max-width: 860px) { .dec-in { grid-template-columns: minmax(0, 1fr); } }
.dec blockquote { margin: 26px 0 0; font-weight: 300; font-size: clamp(26px, 3.4vw, 48px); line-height: 1.08; letter-spacing: -.03em; color: var(--gold-soft); text-wrap: balance; }
.dec blockquote.rv { filter: none; }
.dec blockquote span { color: var(--ink); }
.dec .sub { margin: 26px 0 0; max-width: 44ch; font-size: clamp(14px, 1.15vw, 17px); line-height: 1.65; color: #cdd2e2; }
.fig { position: relative; aspect-ratio: 3 / 4; overflow: hidden; background-size: cover; background-position: 50% 30%; box-shadow: 0 40px 100px rgba(0,0,0,.6); }
.fig::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(5,7,13,0) 55%, rgba(5,7,13,.7)); }
.fig .sw { position: absolute; inset: 0; z-index: 2; text-decoration: none; background: linear-gradient(105deg, transparent 38%, rgba(150,195,255,.38) 50%, transparent 62%); transform: translateX(-130%); mix-blend-mode: screen; pointer-events: none; }
.fig i { position: absolute; z-index: 1; left: 16px; bottom: 14px; font-style: normal; font-weight: 600; font-size: 10px; letter-spacing: .2em; text-transform: uppercase; color: var(--ink); }
.fig b { position: absolute; inset: 0; background-size: cover; background-position: 50% 30%; transform: scale(var(--z, 1.08)); }
/* B. oggetto fissato */
.pin { position: relative; height: 480vh; background: linear-gradient(180deg, #05070d, #070b16 50%, #05070d); }
.pin-st { position: sticky; top: 0; height: 100vh; height: 100svh; overflow: hidden; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: 30px; padding-inline: var(--gutter); }
@media (max-width: 860px) { .pin-st { grid-template-columns: minmax(0, 1fr); grid-template-rows: 1fr 1fr; padding-top: 70px; } }
.pin-tx { position: relative; align-self: center; max-width: 440px; height: 300px; }
.step { position: absolute; left: 0; right: 0; top: 0; opacity: 0; transform: translateY(24px); filter: blur(6px); transition: opacity .7s, transform .7s, filter .7s; pointer-events: none; }
.step.on { opacity: 1; transform: none; filter: none; pointer-events: auto; }
.step h3 { margin: 16px 0 0; font-weight: 300; font-size: clamp(26px, 3vw, 44px); line-height: 1.04; letter-spacing: -.03em; }
.step p { margin: 16px 0 0; max-width: 36ch; font-size: clamp(14px, 1.1vw, 16px); line-height: 1.65; color: #cdd2e2; }
.pin-ob { position: relative; height: 100%; min-height: 0; }
.obj { position: absolute; inset: 0; display: grid; place-items: center; opacity: 0; transform: scale(.78) rotate(-14deg); transition: opacity .9s, transform 1.1s cubic-bezier(.2,.7,.2,1); }
.obj.on { opacity: 1; transform: none; }
.obj > i { display: block; animation: flo 7s ease-in-out infinite alternate; }
@keyframes flo { from { transform: translateY(-10px) rotate(-2deg); } to { transform: translateY(12px) rotate(3deg); } }
.sph { width: min(36vw, 400px); max-width: 60vw; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle at 32% 28%, #ffffff 0, #dfe3ee 14%, #8b93a8 46%, #262b3a 78%, #0a0c14 100%); box-shadow: 0 50px 140px rgba(255,255,255,.22), inset -22px -30px 60px rgba(0,0,0,.5); }
.tor { width: min(36vw, 400px); max-width: 60vw; aspect-ratio: 1; border-radius: 50%; background: conic-gradient(from 20deg, #ffffff, #aab2c6, #3a4156, #e4e8f2, #5b647c, #ffffff); -webkit-mask: radial-gradient(circle, transparent 40%, #000 41%); mask: radial-gradient(circle, transparent 40%, #000 41%); filter: drop-shadow(0 30px 60px rgba(255,255,255,.25)); }
/* Home 3D props only — caso .g2 .cap is a text caption */
body:not(.caso-single) .cap { width: min(17vw, 210px); height: min(32vw, 400px); max-height: 100%; border-radius: 999px; transform: rotate(24deg); background: linear-gradient(100deg, #151a28 0, #aab2c6 28%, #ffffff 44%, #6b7490 68%, #0a0c14 100%); box-shadow: 0 50px 120px rgba(255,255,255,.2), inset 0 0 40px rgba(0,0,0,.4); }
.mon { position: relative; width: min(16vw, 190px); height: min(30vw, 360px); border-radius: 999px 999px 10px 10px; background: linear-gradient(100deg, #1c1a1d, #4d4a52 40%, #25232a); box-shadow: 0 50px 120px rgba(0,0,0,.7); }
.mon::after { content: ""; position: absolute; left: 50%; bottom: -14px; width: 70%; height: 36px; transform: translateX(-50%); border-radius: 50%; background: radial-gradient(closest-side, #ffffff, rgba(255,255,255,0)); filter: blur(6px); }
.sv { position: absolute; left: 50%; top: 50%; width: min(150%, 118vh); aspect-ratio: 16 / 9; height: auto; transform: translate(-50%,-50%) scale(.96); object-fit: cover; opacity: 0; mix-blend-mode: lighten; filter: contrast(1.12) brightness(.96); -webkit-mask-image: radial-gradient(closest-side at 50% 50%, #000 52%, transparent 100%); mask-image: radial-gradient(closest-side at 50% 50%, #000 52%, transparent 100%); transition: opacity .9s, transform 1.1s cubic-bezier(.2,.7,.2,1); pointer-events: none; }
.sv.on { opacity: 1; transform: translate(-50%,-50%) scale(1); }
.pin-n { position: absolute; right: var(--gutter); bottom: 26px; display: flex; gap: 8px; }
.pin-n i { width: 22px; height: 2px; background: rgba(255,255,255,.25); transition: background .4s, width .4s; }
.pin-n i.on { background: var(--gold); width: 40px; }
/* C. galleria orizzontale */
.hs { position: relative; height: 100vh; height: 100svh; background: radial-gradient(ellipse 90% 70% at 70% 100%, rgba(45,107,255,.16), rgba(45,107,255,0) 70%), #040916; overflow: hidden; }
.hs-st { position: relative; height: 100%; display: grid; align-content: center; gap: 28px; }
.nogsap { height: auto; overflow: visible; } .nogsap .hs-st { height: auto; padding-block: 90px; } .nogsap .hs-tr { overflow-x: auto; width: auto; }
.hs-p { display: flex; align-items: center; gap: 16px; padding-inline: var(--gutter); font-weight: 600; font-size: 10px; letter-spacing: .2em; color: var(--ink-dim); font-variant-numeric: tabular-nums; }
.hs-p i { position: relative; flex: 1; max-width: 360px; height: 1px; background: var(--line); }
.hs-p i b { position: absolute; inset: 0; background: var(--blue); transform: scaleX(0); transform-origin: 0 50%; }
.hs-h { padding-inline: var(--gutter); display: flex; justify-content: space-between; align-items: end; gap: 20px; }
.hs-h h2 { margin: 12px 0 0; font-weight: 300; font-size: clamp(26px, 3.2vw, 46px); letter-spacing: -.03em; line-height: 1; }
.hs-tr { display: flex; gap: clamp(14px, 2vw, 28px); padding-inline: var(--gutter); width: max-content; will-change: transform; }
.card { position: relative; flex: none; width: min(30vw, 420px); height: min(66vh, 600px); min-width: 250px; overflow: hidden; color: var(--ink); text-decoration: none; background: #0a0f1a; display: block; }
.card b { position: absolute; inset: 0; background-size: cover; background-position: var(--bp, 50% 50%); transform: scale(1.25); transition: filter .6s; filter: saturate(.85) brightness(.82); }
.card b { background-color: #05070d; }
.card b svg { display: block; width: 100%; height: 100%; }
.card .bl { position: absolute; inset: 0; z-index: 2; background: var(--blue); transform-origin: 50% 0; text-decoration: none; }
.card h3 { z-index: 3; }
.card .cd { position: absolute; z-index: 1; left: 22px; right: 22px; bottom: 46px; margin: 0; font-weight: 400; font-size: 12px; line-height: 1.55; color: #d6dcee; max-width: 34ch; }
.card span { z-index: 3; }
.card span em { color: #8fb2ff; }
.card:hover b { filter: saturate(1.05) brightness(.98); }
.card::after { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(4,9,22,.55), rgba(4,9,22,0) 30%, rgba(4,9,22,0) 52%, rgba(4,9,22,.88)); }
.card h3 { position: absolute; z-index: 1; left: 22px; top: 20px; margin: 0; font-weight: 300; font-size: clamp(20px, 2.2vw, 32px); letter-spacing: -.02em; }
.card span { position: absolute; z-index: 1; left: 22px; right: 22px; bottom: 18px; display: flex; justify-content: space-between; gap: 12px; font-weight: 600; font-size: 10px; letter-spacing: .2em; text-transform: uppercase; color: var(--ink-dim); }
.card span em { font-style: normal; color: var(--gold-soft); }
/* D. indice */
.idx-s { padding-block: clamp(90px, 14vh, 160px); background: linear-gradient(180deg, #05070d, #0a1020 50%, #05070d); }
.idx-s .os-in { max-width: 1180px; margin: 0 auto; }
.idx-s h2 { margin: 14px 0 0; font-weight: 300; font-size: clamp(26px, 3.2vw, 46px); letter-spacing: -.03em; }
.idx { list-style: none; margin: clamp(30px, 6vh, 60px) 0 0; padding: 0; }
.idx li { border-top: 1px solid var(--line); }
.idx li:last-child { border-bottom: 1px solid var(--line); }
.idx a { display: grid; grid-template-columns: 56px minmax(0, 1.4fr) minmax(0, 1fr) 64px; gap: 14px; align-items: baseline; padding: 20px 0; color: var(--ink); text-decoration: none; font-weight: 400; font-size: clamp(15px, 1.2vw, 18px); transition: color .25s, padding .3s; }
.idx a small { font-weight: 600; font-size: 10px; letter-spacing: .2em; color: var(--ink-dim); }
.idx a span { font-size: clamp(12px, 1vw, 14px); color: var(--ink-dim); }
.idx a i { font-style: normal; text-align: right; font-size: 12px; color: var(--ink-dim); font-variant-numeric: tabular-nums; }
.idx a:hover { color: var(--gold-soft); padding-left: 10px; }
@media (max-width: 700px) { .idx a { grid-template-columns: 34px minmax(0, 1fr) 46px; } .idx a span { display: none; } }
/* E. chiusura */
.end { position: relative; min-height: 100vh; min-height: 100svh; display: grid; align-items: center; overflow: hidden; padding-block: clamp(110px, 18vh, 200px) 110px; }
.end .os-bg { position: absolute; inset: -8% 0; z-index: -2; background: url(bg_blu.jpg) center / cover; filter: blur(1.5px) brightness(.8); transform: translate3d(0, var(--par, 0px), 0) scale(1.08); }
.end::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, #05070d, rgba(5,7,13,.25) 30%, rgba(5,7,13,.55) 100%), linear-gradient(90deg, rgba(5,7,13,.8), rgba(5,7,13,0) 70%); }
.end-in { width: 100%; max-width: 1180px; margin: 0 auto; }
.end h2 { margin: 22px 0 0; max-width: 12ch; font-weight: 300; font-size: clamp(36px, 5.5vw, 80px); line-height: .98; letter-spacing: -.04em; text-wrap: balance; text-shadow: 0 2px 40px rgba(0,0,0,.6); }
.end .sub { margin: 24px 0 0; max-width: 40ch; font-size: clamp(14px, 1.2vw, 17px); line-height: 1.6; color: #dfe2ee; }
.mail { display: inline-block; margin-top: 34px; font-weight: 300; font-size: clamp(20px, 2.6vw, 40px); letter-spacing: -.02em; color: var(--ink); text-decoration: none; border-bottom: 1px solid var(--gold); padding-bottom: 8px; overflow-wrap: anywhere; }
.micro a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.micro a:hover { color: var(--gold-soft); }
#fornitori-40 .sec-in { max-width: 860px; }
#fornitori-40 h2 { max-width: 18ch; }
#fornitori-40 .more { margin-top: 22px; }
@media (prefers-reduced-motion: reduce) { .rv { opacity: 1; transform: none; filter: none; transition: none; } .obj > i { animation: none; } .step, .obj { transition: none; } }
.hud { display: none; }
header.top { z-index: 7; }
html, body { overflow-x: clip; }
body { background: #05070d; }
/* sito completo */
.top .argo-nav, .top nav.argo-nav { display: flex; align-items: center; gap: clamp(14px, 2vw, 30px); pointer-events: auto; }
.top .argo-nav > a, .top .argo-nav .nav-dd-link {
  color: var(--ink); text-decoration: none; font-weight: 600; font-size: 10.5px; letter-spacing: .18em; text-transform: uppercase; opacity: .85;
  background: none; border: 0; padding: 0; cursor: pointer; font-family: inherit;
}
.top .argo-nav > a:hover, .top .argo-nav .nav-dd-link:hover { opacity: 1; }
.top .argo-nav a.nb {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 10px 16px;
  background: var(--blue);
  opacity: 1;
  text-shadow: none;
  letter-spacing: .12em;
  text-indent: .12em;
}
.top .argo-nav .argo-lang {
  display: inline-flex;
  align-items: center;
  align-self: center;
  gap: 6px;
  margin: 0;
  padding: 0;
  border: 0;
  line-height: inherit;
  pointer-events: auto;
}
.top .argo-nav .argo-lang a,
.top .argo-nav .argo-lang span {
  display: inline-flex;
  align-items: center;
  color: var(--ink);
  text-decoration: none;
  font: inherit;
  font-weight: 600;
  font-size: 10.5px;
  letter-spacing: .18em;
  text-transform: uppercase;
  opacity: .45;
  line-height: 1.2;
  padding: 0;
  margin: 0;
}
.top .argo-nav .argo-lang a:hover,
.top .argo-nav .argo-lang span.is-active {
  opacity: 1;
}
.top .argo-nav .argo-lang .argo-lang-sep {
  opacity: .28;
  font-weight: 600;
  letter-spacing: 0;
  pointer-events: none;
}
.top .nav-dd { position: relative; display: inline-flex; align-items: center; gap: 4px; }
/* Ponte hover: padding sotto la voce resta dentro .nav-dd, così il mouse non “cade” nel gap. */
.top .nav-dd.is-open,
.top .nav-dd:focus-within {
  padding-bottom: 14px;
  margin-bottom: -14px;
}
.top .nav-dd-tog {
  min-width: 44px; min-height: 44px; width: 44px; height: 44px; margin: -13px -8px -13px -4px;
  padding: 0; border: 0; background: transparent; cursor: pointer; position: relative; opacity: .7;
}
.top .nav-dd-tog:focus-visible { opacity: 1; outline: 1px solid rgba(255,255,255,.5); outline-offset: 2px; }
.top .nav-dd-tog::after {
  content: ''; position: absolute; left: 50%; top: 45%; width: 6px; height: 6px;
  border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; color: var(--ink);
  transform: translate(-50%, -60%) rotate(45deg);
}
.top .nav-dd.is-open .nav-dd-tog::after,
.top .nav-dd:focus-within .nav-dd-tog::after { transform: translate(-50%, -20%) rotate(-135deg); }
.top .nav-dd-panel {
  position: absolute; top: 100%; left: 0; min-width: 180px; padding: 8px 0;
  background: #0a0e18; border: 1px solid rgba(255,255,255,.12); z-index: 40;
  display: flex; flex-direction: column; gap: 0;
}
.top .nav-dd-panel[hidden] { display: none !important; }
.top .nav-dd.is-open .nav-dd-panel:not(.nav-mega),
.top .nav-dd:focus-within .nav-dd-panel:not(.nav-mega) { display: flex !important; }
.top .nav-dd.is-open .nav-dd-panel:not(.nav-mega)[hidden],
.top .nav-dd:focus-within .nav-dd-panel:not(.nav-mega)[hidden] { display: flex !important; }
.top .nav-dd-panel a {
  display: block; padding: 10px 16px; color: #fff; text-decoration: none;
  font-weight: 600; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; opacity: .85;
}
.top .nav-dd-panel a:hover, .top .nav-dd-panel a:focus-visible { opacity: 1; background: rgba(45,107,255,.2); }

/* Mega Software: full-bleed + image cards (Chesapeake-style) */
.top .nav-dd-mega { position: static; }
.top .nav-dd-mega.is-open,
.top .nav-dd-mega:focus-within {
  padding-bottom: 0;
  margin-bottom: 0;
}
.top .nav-dd-panel.nav-mega {
  position: fixed;
  left: 0;
  right: 0;
  top: var(--argo-mega-top, 88px);
  width: 100vw;
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0;
  border-top: 1px solid rgba(255,255,255,.18);
  border-bottom: 1px solid rgba(255,255,255,.18);
  background: #05070d;
  box-shadow: 0 28px 80px rgba(0,0,0,.55);
  display: flex;
  flex-direction: column;
  z-index: 45;
  pointer-events: none;
  text-shadow: none;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-12px);
  clip-path: inset(0 0 100% 0);
  transition:
    opacity .38s cubic-bezier(.16,1,.3,1),
    transform .5s cubic-bezier(.16,1,.3,1),
    clip-path .55s cubic-bezier(.16,1,.3,1),
    visibility 0s linear .55s;
}
.top .nav-dd-panel.nav-mega[hidden] {
  display: flex !important;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.top .nav-dd-mega.is-open .nav-dd-panel.nav-mega,
.top .nav-dd-mega:focus-within .nav-dd-panel.nav-mega,
.top .nav-dd-mega.is-open .nav-dd-panel.nav-mega[hidden],
.top .nav-dd-mega:focus-within .nav-dd-panel.nav-mega[hidden] {
  display: flex !important;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: none;
  clip-path: inset(0 0 0 0);
  transition:
    opacity .35s cubic-bezier(.16,1,.3,1),
    transform .5s cubic-bezier(.16,1,.3,1),
    clip-path .55s cubic-bezier(.16,1,.3,1),
    visibility 0s linear 0s;
}
.nav-mega-rail {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  min-height: min(42vh, 440px);
  width: 100%;
}
.nav-mega-card {
  position: relative;
  display: block !important;
  min-height: min(42vh, 440px);
  padding: 0 !important;
  overflow: hidden;
  opacity: 0 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  color: #fff !important;
  background: #0a0e18 !important;
  border-right: 1px solid rgba(255,255,255,.12);
  transform: translateY(18px);
  transition: opacity .45s cubic-bezier(.16,1,.3,1), transform .55s cubic-bezier(.16,1,.3,1);
}
.nav-mega-card:nth-child(1) { transition-delay: 0s; }
.nav-mega-card:nth-child(2) { transition-delay: .05s; }
.nav-mega-card:nth-child(3) { transition-delay: .1s; }
.nav-mega-card:nth-child(4) { transition-delay: .15s; }
.nav-mega-card:nth-child(5) { transition-delay: .2s; }
.top .nav-dd-mega.is-open .nav-mega-card,
.top .nav-dd-mega:focus-within .nav-mega-card {
  opacity: 1 !important;
  transform: none;
}
.top .nav-dd-mega.is-open .nav-mega-card:nth-child(1),
.top .nav-dd-mega:focus-within .nav-mega-card:nth-child(1) { transition-delay: .08s; }
.top .nav-dd-mega.is-open .nav-mega-card:nth-child(2),
.top .nav-dd-mega:focus-within .nav-mega-card:nth-child(2) { transition-delay: .13s; }
.top .nav-dd-mega.is-open .nav-mega-card:nth-child(3),
.top .nav-dd-mega:focus-within .nav-mega-card:nth-child(3) { transition-delay: .18s; }
.top .nav-dd-mega.is-open .nav-mega-card:nth-child(4),
.top .nav-dd-mega:focus-within .nav-mega-card:nth-child(4) { transition-delay: .23s; }
.top .nav-dd-mega.is-open .nav-mega-card:nth-child(5),
.top .nav-dd-mega:focus-within .nav-mega-card:nth-child(5) { transition-delay: .28s; }
.nav-mega-card:last-child { border-right: 0; }
.nav-mega-ph {
  position: absolute; inset: 0;
  background: center / cover no-repeat #121826;
  transform: scale(1.08);
  transition: transform 1s cubic-bezier(.16,1,.3,1) .1s, filter .5s;
  filter: saturate(.92) brightness(.72);
}
.top .nav-dd-mega.is-open .nav-mega-ph,
.top .nav-dd-mega:focus-within .nav-mega-ph { transform: scale(1.02); }
.nav-mega-veil {
  position: absolute; inset: 0;
  background:
    linear-gradient(180deg, rgba(5,7,13,.15) 0%, rgba(5,7,13,.28) 42%, rgba(5,7,13,.92) 100%),
    linear-gradient(90deg, rgba(5,7,13,.35) 0%, transparent 40%);
  pointer-events: none;
}
.nav-mega-copy {
  position: absolute; left: 0; right: 0; bottom: 0;
  z-index: 1;
  display: flex; flex-direction: column; align-items: flex-start; gap: 5px;
  padding: clamp(14px, 2vw, 24px);
}
.nav-mega-copy small {
  font-weight: 700; font-size: 10px; letter-spacing: .22em; text-transform: uppercase;
  color: #8fb2ff;
}
.nav-mega-copy strong {
  font-weight: 800; font-size: clamp(22px, 2.6vw, 36px); line-height: .95;
  letter-spacing: -.04em; text-transform: none;
}
.nav-mega-copy em {
  font-style: normal; font-weight: 500; font-size: clamp(12px, 1.05vw, 14px);
  line-height: 1.35; max-width: 28ch; color: rgba(255,255,255,.78);
}
.nav-mega-copy strong,
.nav-mega-copy em,
.nav-mega-copy small {
  opacity: 0;
  transform: translateY(10px);
  transition: opacity .4s cubic-bezier(.16,1,.3,1), transform .5s cubic-bezier(.16,1,.3,1);
}
.top .nav-dd-mega.is-open .nav-mega-copy small,
.top .nav-dd-mega:focus-within .nav-mega-copy small { opacity: 1; transform: none; transition-delay: .16s; }
.top .nav-dd-mega.is-open .nav-mega-copy strong,
.top .nav-dd-mega:focus-within .nav-mega-copy strong { opacity: 1; transform: none; transition-delay: .22s; }
.top .nav-dd-mega.is-open .nav-mega-copy em,
.top .nav-dd-mega:focus-within .nav-mega-copy em { opacity: 1; transform: none; transition-delay: .28s; }
.nav-mega-copy u {
  margin-top: 6px; text-decoration: none; font-weight: 700; font-size: 11px;
  letter-spacing: .16em; text-transform: uppercase; color: #fff;
  display: inline-flex; align-items: center; gap: 8px;
  opacity: .0; transform: translateY(8px);
  transition: opacity .35s, transform .45s cubic-bezier(.16,1,.3,1);
}
.nav-mega-card:hover .nav-mega-ph,
.nav-mega-card:focus-visible .nav-mega-ph {
  transform: scale(1.08);
  filter: saturate(1.05) brightness(.88);
}
.nav-mega-card:hover .nav-mega-copy u,
.nav-mega-card:focus-visible .nav-mega-copy u {
  opacity: 1; transform: none;
}
.nav-mega-foot {
  display: flex; justify-content: flex-end; align-items: center;
  padding: 10px max(34px, env(safe-area-inset-right, 0px)) 10px max(34px, env(safe-area-inset-left, 0px));
  background: #070a12;
  border-top: 1px solid rgba(255,255,255,.08);
  opacity: 0;
  transform: translateY(8px);
  transition: opacity .35s cubic-bezier(.16,1,.3,1) .24s, transform .45s cubic-bezier(.16,1,.3,1) .24s;
}
.top .nav-dd-mega.is-open .nav-mega-foot,
.top .nav-dd-mega:focus-within .nav-mega-foot {
  opacity: 1;
  transform: none;
}
.nav-mega-foot a {
  display: inline-flex !important; align-items: center; gap: 10px;
  padding: 0 !important; background: none !important;
  font-weight: 700; font-size: 12px; letter-spacing: .16em; text-transform: uppercase;
  color: #fff; opacity: .85;
}
.nav-mega-foot a:hover { opacity: 1; color: #8fb2ff; }
@media (hover: hover) and (pointer: fine) {
  .top .nav-dd:hover {
    padding-bottom: 14px;
    margin-bottom: -14px;
  }
  .top .nav-dd-mega:hover {
    padding-bottom: 0;
    margin-bottom: 0;
  }
  .top .nav-dd:hover .nav-dd-panel:not(.nav-mega) { display: flex !important; }
  .top .nav-dd:hover .nav-dd-panel:not(.nav-mega)[hidden] { display: flex !important; }
  .top .nav-dd-mega:hover .nav-dd-panel.nav-mega,
  .top .nav-dd-mega:hover .nav-dd-panel.nav-mega[hidden] {
    display: flex !important;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: none;
    clip-path: inset(0 0 0 0);
    transition:
      opacity .35s cubic-bezier(.16,1,.3,1),
      transform .5s cubic-bezier(.16,1,.3,1),
      clip-path .55s cubic-bezier(.16,1,.3,1),
      visibility 0s linear 0s;
  }
  .top .nav-dd-mega:hover .nav-mega-card {
    opacity: 1 !important;
    transform: none;
  }
  .top .nav-dd-mega:hover .nav-mega-card:nth-child(1) { transition-delay: .08s; }
  .top .nav-dd-mega:hover .nav-mega-card:nth-child(2) { transition-delay: .13s; }
  .top .nav-dd-mega:hover .nav-mega-card:nth-child(3) { transition-delay: .18s; }
  .top .nav-dd-mega:hover .nav-mega-card:nth-child(4) { transition-delay: .23s; }
  .top .nav-dd-mega:hover .nav-mega-card:nth-child(5) { transition-delay: .28s; }
  .top .nav-dd-mega:hover .nav-mega-ph { transform: scale(1.02); }
  .top .nav-dd-mega:hover .nav-mega-copy small,
  .top .nav-dd-mega:hover .nav-mega-copy strong,
  .top .nav-dd-mega:hover .nav-mega-copy em { opacity: 1; transform: none; }
  .top .nav-dd-mega:hover .nav-mega-copy small { transition-delay: .16s; }
  .top .nav-dd-mega:hover .nav-mega-copy strong { transition-delay: .22s; }
  .top .nav-dd-mega:hover .nav-mega-copy em { transition-delay: .28s; }
  .top .nav-dd-mega:hover .nav-mega-foot { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  .top .nav-dd-panel.nav-mega,
  .nav-mega-card,
  .nav-mega-ph,
  .nav-mega-copy strong,
  .nav-mega-copy em,
  .nav-mega-copy small,
  .nav-mega-copy u,
  .nav-mega-foot {
    transition: none !important;
    transform: none !important;
    clip-path: none !important;
    opacity: 1 !important;
  }
}
@media (max-width: 1100px) {
  .nav-mega-rail { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nav-mega-card { min-height: min(34vh, 320px); }
}
@media (max-width: 900px) {
  .nav-mega-rail { grid-template-columns: 1fr; min-height: 0; }
  .nav-mega-card { min-height: 26vh; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.12); }
  .nav-mega-card:last-child { border-bottom: 0; }
  .nav-mega-copy u { opacity: 1; transform: none; }
}
@media (max-width: 860px) {
  .top .argo-nav > a:not(.nb), .top .argo-nav .nav-dd { display: none; }
}
.mnav-group { border-bottom: 1px solid rgba(255,255,255,.14); }
.mnav-row { display: flex; align-items: stretch; gap: 0; }
.mnav-row .l { flex: 1; border-bottom: 0 !important; }
.mnav-tog {
  flex: 0 0 56px; border: 0; background: transparent; color: #fff; cursor: pointer; position: relative;
}
.mnav-tog::after {
  content: ''; position: absolute; left: 50%; top: 50%; width: 10px; height: 10px;
  border-right: 2px solid #2d6bff; border-bottom: 2px solid #2d6bff;
  transform: translate(-50%, -60%) rotate(45deg);
}
.mnav-group.is-open .mnav-tog::after { transform: translate(-50%, -20%) rotate(-135deg); }
.mnav-sub { display: flex; flex-direction: column; padding: 0 0 12px 38px; gap: 4px; }
.mnav-sub[hidden] { display: none !important; }
.mnav-sub a small {
  display: block; margin-top: 4px; font-weight: 500; font-size: 12px;
  letter-spacing: 0; text-transform: none; color: rgba(255,255,255,.55);
}
.mnav-sub-mega a {
  display: flex; align-items: center; gap: 14px; padding: 10px 0;
}
.mnav-sub-mega .mnav-thumb {
  flex: 0 0 56px; width: 56px; height: 56px; border-radius: 0;
  background: center / cover no-repeat var(--mnav-img) #1a2033;
}
.mnav-sub a {
  color: #aab1c5; text-decoration: none; font: 600 16px/1.4 Montserrat, system-ui, sans-serif; padding: 10px 0;
}
html { scroll-behavior: smooth; }
.btn { display: inline-block; padding: 16px 24px; background: var(--blue); color: #fff; text-decoration: none; font-weight: 700; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; border: 1px solid var(--blue); transition: background .25s, transform .25s; }
.btn:hover { background: #4a80ff; transform: translateY(-2px); }
.btn.ghost { background: transparent; border-color: rgba(255,255,255,.4); }
.btn.ghost:hover { background: rgba(255,255,255,.08); }
.ctas { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.micro { margin: 16px 0 0; max-width: 46ch; font-size: 12.5px; line-height: 1.6; color: var(--ink-dim); }
.micro em, .pf-n em, .pn em { font-style: normal; color: #8fb2ff; }
.seo { margin: 22px 0 0; font-weight: 600; font-size: 10.5px; letter-spacing: .2em; text-transform: uppercase; color: var(--ink-dim); }
.dec h1 { margin: 16px 0 0; font-weight: 300; font-size: clamp(28px, 3.6vw, 52px); line-height: 1.06; letter-spacing: -.03em; color: var(--ink); text-wrap: balance; }
.dec h1.rv { filter: none; }
.dec .ctas .btn { margin: 0; }
.sec-in { max-width: 1180px; margin: 0 auto; }
.sec-in.narrow { max-width: 860px; }
.proof { padding-block: 60px; background: #05070d; border-block: 1px solid var(--line); }
.proof-in { max-width: 1180px; margin: 0 auto; }
.case-proof { margin-top: clamp(40px, 7vh, 80px); max-width: 420px; }
.case-proof .ar-c {
  position: relative; left: auto; top: auto; display: block; width: 100%;
  aspect-ratio: 4 / 5; border-radius: clamp(8px, 1vw, 14px); overflow: hidden;
  background: #0a0f1a; box-shadow: 0 18px 40px rgba(0,0,0,.45); text-decoration: none;
}
.case-proof .ar-c img { width: 100%; height: 100%; object-fit: cover; display: block; }
.case-proof .ar-cap {
  position: static; left: auto; transform: none; width: 100%; text-align: left;
  margin-top: 18px; z-index: auto;
}
.case-proof .ar-n { font-size: clamp(28px, 3.2vw, 40px); margin: 8px 0 10px; }
.case-proof .ar-b { transform: none; }
.pf { list-style: none; margin: 26px 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 24px; }
.pf li b { display: block; font-weight: 300; font-size: clamp(18px, 1.8vw, 26px); letter-spacing: -.02em; }
.pf li span { display: block; margin-top: 6px; font-weight: 600; font-size: 10px; letter-spacing: .2em; text-transform: uppercase; color: var(--ink-dim); }
.pf-n { margin: 26px 0 0; font-size: 12px; color: var(--ink-dim); }
.probs, .svc, .faq { padding-block: clamp(90px, 14vh, 160px); background: linear-gradient(180deg, #05070d, #08101c 50%, #05070d); }
.sec-in h2 { margin: 16px 0 0; max-width: 20ch; font-weight: 300; font-size: clamp(26px, 3.2vw, 48px); line-height: 1.05; letter-spacing: -.03em; text-wrap: balance; }
.sec-in .sub { margin: 24px 0 0; max-width: 52ch; font-size: clamp(14px, 1.15vw, 17px); line-height: 1.65; color: #cdd2e2; }
.sec-in .sub b { color: var(--ink); font-weight: 600; }
.sec-in .ans { margin: 22px 0 0; max-width: 52ch; padding-left: 18px; border-left: 2px solid var(--blue); font-size: 14px; line-height: 1.65; color: var(--ink-dim); }
.sec-in .btn { margin-top: 30px; }
.g3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; margin-top: clamp(34px, 6vh, 64px); }
@media (max-width: 860px) { .g3 { grid-template-columns: minmax(0, 1fr); } }
.pc { padding: 28px; border: 1px solid var(--line); background: rgba(45,107,255,.04); }
.pc small, .meth small, .prod small { font-weight: 600; font-size: 10px; letter-spacing: .2em; text-transform: uppercase; color: #8fb2ff; }
.pc h3 { margin: 14px 0 0; font-weight: 300; font-size: clamp(18px, 1.8vw, 26px); line-height: 1.12; letter-spacing: -.02em; }
.pc p { margin: 14px 0 0; font-size: 14px; line-height: 1.65; color: #cdd2e2; }
.two { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: clamp(30px, 6vw, 90px); align-items: start; }
@media (max-width: 860px) { .two { grid-template-columns: minmax(0, 1fr); } }
.pn, .flow { list-style: none; margin: 8px 0 0; padding: 0; counter-reset: n; }
.pn li, .flow li { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 12px; padding: 20px 0; border-top: 1px solid var(--line); font-size: clamp(14px, 1.1vw, 17px); line-height: 1.4; }
.pn li:last-child, .flow li:last-child { border-bottom: 1px solid var(--line); }
.pn li small, .flow li small { font-weight: 600; font-size: 10px; letter-spacing: .2em; color: #8fb2ff; padding-top: 4px; }
.meth { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; margin-top: clamp(40px, 7vh, 80px); }
.meth.m4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 860px) { .meth,.meth.m4 { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } }
.meth { position: relative; padding-top: 50px; }
.meth > div { padding-top: 18px; border-top: 2px solid var(--blue); }
.ph{padding-block:clamp(120px,18vh,200px) clamp(50px,8vh,90px)}
.ph h1{margin:18px 0 0;max-width:20ch;font-size:clamp(34px,5.2vw,72px);line-height:1.04}
.ph .sub{margin:26px 0 0;max-width:56ch;font-size:clamp(14px,1.2vw,18px);line-height:1.65;color:#cdd2e2}
.ph .crumb{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-dim);margin:0 0 18px}
.ph .crumb a{color:var(--ink-dim);text-decoration:none}.ph .crumb a:hover{color:var(--ink)}
.meth h4, .prod h4 { margin: 10px 0 0; font-weight: 400; font-size: clamp(15px, 1.2vw, 18px); line-height: 1.25; }
.meth p, .prod p { margin: 10px 0 0; font-size: 13px; line-height: 1.6; color: var(--ink-dim); }
.prod { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; margin-top: clamp(40px, 7vh, 80px); }
@media (max-width: 860px) { .prod { grid-template-columns: minmax(0, 1fr); } }
.prod article { padding: 28px; border: 1px solid var(--line); background: rgba(45,107,255,.04); }
.inc a { grid-template-columns: 40px minmax(0, 1fr) 70px; }
.inc a span { grid-column: 2; grid-row: 2; }
.inc a i { grid-column: 3; grid-row: 1; }
.lia { background: linear-gradient(180deg, #05070d, #0a1020 50%, #05070d); }
.qa details { border-top: 1px solid var(--line); }
.qa details:last-child { border-bottom: 1px solid var(--line); }
.qa summary { cursor: pointer; padding: 22px 30px 22px 0; font-size: clamp(15px, 1.3vw, 20px); font-weight: 300; list-style: none; position: relative; }
.qa summary::-webkit-details-marker { display: none; }
.qa summary::after { content: "+"; position: absolute; right: 4px; top: 18px; font-size: 26px; color: var(--blue); transition: transform .3s; }
.qa details[open] summary::after { transform: rotate(45deg); }
.qa p { margin: 0 0 24px; max-width: 60ch; font-size: 14px; line-height: 1.7; color: #cdd2e2; }
.end h2.long { max-width: 16ch; font-size: clamp(42px, 6.4vw, 92px); }
.end .ctas { margin-top: 30px; }
.end .mail { margin-top: 34px; font-size: clamp(18px, 2.2vw, 32px); }
.end .addr { margin: 20px 0 0; font-size: 13px; color: var(--ink-dim); }
.bento{padding-block:clamp(50px,8vh,100px);background:#05070d}
.bg3{display:grid;grid-template-columns:1fr 1.1fr 1fr;gap:10px}
@media(max-width:860px){.bg3{grid-template-columns:minmax(0,1fr)}}
.bt{position:relative;aspect-ratio:3/4;overflow:hidden;background:#0a0f1d;border:1px solid rgba(255,255,255,.12);--mx:50%;--my:50%}
.bt.marble i{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.bt.marble .l1{filter:saturate(.55) brightness(.95)}
.bt.marble .l2{filter:grayscale(1) contrast(1.5) brightness(1.35);opacity:0;transition:opacity .4s;-webkit-mask-image:radial-gradient(circle 140px at var(--mx) var(--my),#000 30%,transparent 100%);mask-image:radial-gradient(circle 140px at var(--mx) var(--my),#000 30%,transparent 100%)}
.bt.marble:hover .l2{opacity:1}.bt.marble:hover i{transform:scale(1.05)}
.bt .bcap{position:absolute;left:14px;bottom:12px;z-index:2;font-weight:600;font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:#cdd2e2}
.bt.colm{background:#e4e4dc;display:grid;place-items:center}
.bt.colm svg{position:absolute;left:18%;bottom:0;width:64%;height:78%}
.bt.colm .dim{opacity:.18}.bt.colm .fill{clip-path:inset(calc((1 - var(--f,0)) * 100%) 0 0 0)}
.bt.colm p{position:absolute;z-index:2;left:12%;right:12%;top:7%;margin:0;text-align:center;font-weight:600;font-size:12px;line-height:1.5;letter-spacing:.08em;text-transform:uppercase;color:#1f4fd8;opacity:var(--f,0)}
.mea{height:26px;margin:0 auto;max-width:1180px;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='26' height='26'><path d='M1 25V1h24v20H7V9h12v4' fill='none' stroke='%232d6bff' stroke-width='2'/></svg>") repeat-x}
.mea.w{max-width:none}
.vases{padding-block:clamp(50px,8vh,100px);background:#05070d}
.vases ul{list-style:none;margin:0 auto;padding:0;max-width:1180px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;align-items:end}
@media(max-width:700px){.vases ul{grid-template-columns:repeat(3,minmax(0,1fr))}}
.vases a{display:block;text-align:center;text-decoration:none;color:var(--ink);font-weight:600;font-size:10px;letter-spacing:.18em;text-transform:uppercase}
.vases svg{display:block;margin:0 auto 12px;height:clamp(90px,12vw,150px);width:auto;fill:#2d6bff;transition:transform .5s cubic-bezier(.2,.7,.2,1),fill .3s}
.vases a:hover svg{transform:translateY(-8px) rotate(-3deg);fill:#5b8cff}
.ph::before{content:"";position:absolute;inset:0;z-index:-1;background:url(bg_blu.jpg) center/cover;-webkit-mask-image:linear-gradient(#000 55%,transparent);mask-image:linear-gradient(#000 55%,transparent)}
.ph{position:relative;overflow:hidden;background:#05070d}
.end.mini .os-bg{background-image:url(bg_blu.jpg);filter:none}

.bt.statue{background:#000}
.bt.statue .l1{filter:grayscale(1) contrast(1.08) brightness(1.02);background-position:62% 40%;background-size:auto 112%}
.bt.statue .gl{position:absolute;inset:0;z-index:1;--gx:38%;--gy:46%;background:radial-gradient(circle 150px at var(--gx) var(--gy),rgba(40,150,255,.95),rgba(40,150,255,0) 100%);mix-blend-mode:color;transition:opacity .5s}
.bt.statue:hover .gl{--gx:var(--mx);--gy:var(--my)}
.bt.statue:hover .l1{transform:scale(1.04)}

.fxc{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}
.bt.statue .l1{background-size:cover!important;background-position:62% 40%!important}
.bt.statue:hover .l1,.bt.marble:hover i{transform:none!important}
.bt.statue .gl,.bt.marble .l2{display:none}

.bg3{grid-template-columns:1fr 1fr;max-width:900px;margin:0 auto}
@media(max-width:700px){.bg3{grid-template-columns:minmax(0,1fr)}}
.bt{aspect-ratio:4/5}

.svc.blu{background:#1f4fd8;position:relative}
.svc.blu::before,.svc.blu::after{content:"";position:absolute;left:0;right:0;height:26px;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='26' height='26'><path d='M1 25V1h24v20H7V9h12v4' fill='none' stroke='white' stroke-width='2' stroke-opacity='.75'/></svg>") repeat-x}
.svc.blu::before{top:18px}.svc.blu::after{bottom:18px}
.svc.blu .os-k{color:#dbe6ff}.svc.blu .os-k::after{background:linear-gradient(90deg,#fff,rgba(255,255,255,0))}
.svc.blu .sub,.svc.blu .sec-in .sub,.svc.blu .ans{color:#eaf0ff}.svc.blu .ans{border-left-color:#fff}
.svc.blu .micro,.svc.blu .meth p,.svc.blu .prod p,.svc.blu .tl p{color:#cfdcff}
.svc.blu .pn li,.svc.blu .flow li,.svc.blu .qa details,.svc.blu .tbl th,.svc.blu .tbl td,.svc.blu .idx li{border-color:rgba(255,255,255,.4)}
.svc.blu .pn li small,.svc.blu .flow li small,.svc.blu .meth small,.svc.blu .prod small,.svc.blu .pc small,.svc.blu .tl small,.svc.blu .tbl th,.svc.blu .idx a small{color:#fff}
.svc.blu .meth>div{border-top-color:#fff}.svc.blu .meth .num,.svc.blu .tl .num{-webkit-text-stroke-color:rgba(255,255,255,.85)}
.svc.blu .meth .mc path{stroke:#fff}
.svc.blu .btn{background:#fff;color:#1f4fd8;border-color:#fff}.svc.blu .btn:hover{background:#eaf0ff}
.svc.blu .btn.ghost{background:transparent;color:#fff}
.svc.blu .pc,.svc.blu .prod article{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.4)}
.svc.blu .idx a{color:#fff}.svc.blu .idx a span,.svc.blu .idx a i{color:#dbe6ff}
.svc.blu .micro em,.svc.blu .pn em{color:#fff}
.svc.blu .sec-in{padding-block:30px}

.svc.nvy{background:#0b2268;position:relative}
.svc.nvy::before,.svc.nvy::after,.svc:not(.blu):not(.nvy)::before{content:"";position:absolute;left:0;right:0;height:26px}
.svc.nvy::before{top:18px;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='26' height='26'><path d='M1 25V1h24v20H7V9h12v4' fill='none' stroke='%234d82ff' stroke-width='2' stroke-opacity='.8'/></svg>") repeat-x}.svc.nvy::after{bottom:18px;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='26' height='26'><path d='M1 25V1h24v20H7V9h12v4' fill='none' stroke='%234d82ff' stroke-width='2' stroke-opacity='.8'/></svg>") repeat-x}
.svc:not(.blu):not(.nvy){position:relative}
.svc:not(.blu):not(.nvy)::before{top:18px;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='26' height='26'><path d='M1 25V1h24v20H7V9h12v4' fill='none' stroke='%232d6bff' stroke-width='2' stroke-opacity='.8'/></svg>") repeat-x}
.svc.nvy .sec-in{padding-block:30px}.svc:not(.blu):not(.nvy) .sec-in{padding-top:30px}
.svc.nvy .pc,.svc.nvy .prod article{background:rgba(255,255,255,.06);border-color:rgba(120,160,255,.45)}
.svc.nvy .meth .mc path{stroke:#6f9bff}
.wa{display:none}@media(max-width:860px){.wa{display:block;position:fixed;z-index:20;right:14px;bottom:calc(14px + env(safe-area-inset-bottom,0px));padding:14px 18px;background:#1fa855;color:#fff;font-weight:700;font-size:11px;letter-spacing:.14em;text-transform:uppercase;text-decoration:none}}
/* fasce: sfondi sfumati forniti */
.svc.blu{background:#1f4fd8 url(fascia_a.jpg) center/cover no-repeat}
.svc.nvy{background:#0b2268 url(fascia_b.jpg) center/cover no-repeat}
.end.mini,.ph{background-color:#05070d}

/* sfondi più scuri */
.svc.blu{background:linear-gradient(rgba(3,8,26,.62),rgba(3,8,26,.72)),url(fascia_a.jpg) center/cover no-repeat,#0a1a52}
.svc.nvy{background:linear-gradient(rgba(2,5,16,.5),rgba(2,5,16,.6)),url(fascia_b.jpg) center/cover no-repeat,#050c24}
.ph::before{background:linear-gradient(rgba(4,6,14,.72),rgba(4,6,14,.82)),url(bg_blu.jpg) center/cover !important}
.end .os-bg{filter:brightness(.55)}

/* tile statue sempre visibili */
.bt.rv,.bg3 .rv{opacity:1!important;filter:none!important;transform:none!important;transition-delay:0s!important}

/* greche variate (dalle fasce dell'immagine fornita), colore via maschera */
.os.svc::before,.os.svc::after{content:""!important;position:absolute;left:0;right:0;height:var(--gh,24px)!important;background:var(--gc,#2d6bff)!important;-webkit-mask:var(--gm) repeat-x 0 0/auto 100%;mask:var(--gm) repeat-x 0 0/auto 100%;opacity:.9}
.os.svc::before{top:16px;--gm:var(--g1)}.os.svc::after{bottom:16px;--gm:var(--g2)}
.svc.blu{--gc:rgba(255,255,255,.85)}.svc.nvy{--gc:#6f9bff}
.svc:nth-of-type(5n+1){--g1:url(gr1.png);--g2:url(gr3.png)}
.svc:nth-of-type(5n+2){--g1:url(gr3.png);--g2:url(gr4.png)}
.svc:nth-of-type(5n+3){--g1:url(gr2.png);--g2:url(gr4.png);--gh:44px}
.svc:nth-of-type(5n+4){--g1:url(gr4.png);--g2:url(gr1.png)}
.svc:nth-of-type(5n+5){--g1:url(gr5.png);--g2:url(gr3.png);--gh:44px}

/* greche v2: 5 pattern reali dall'immagine, a rotazione */
.os.svc::before,.os.svc::after{height:var(--h1,34px)!important;top:auto;bottom:auto}
.os.svc::before{top:14px;height:var(--h1)!important}.os.svc::after{bottom:14px;height:var(--h2)!important}
.svc:nth-of-type(5n+1){--g1:url(gr1.png);--h1:36px;--g2:url(gr4.png);--h2:40px}
.svc:nth-of-type(5n+2){--g1:url(gr3.png);--h1:48px;--g2:url(gr2.png);--h2:34px}
.svc:nth-of-type(5n+3){--g1:url(gr5.png);--h1:46px;--g2:url(gr1.png);--h2:36px}
.svc:nth-of-type(5n+4){--g1:url(gr2.png);--h1:34px;--g2:url(gr3.png);--h2:46px}
.svc:nth-of-type(5n+5){--g1:url(gr4.png);--h1:42px;--g2:url(gr5.png);--h2:44px}
.os.svc .sec-in{padding-top:90px!important;padding-bottom:90px!important}

/* una sola greca tra sezioni */
.os.svc::after{display:none!important}
.os.svc .sec-in{padding-bottom:70px!important}

/* sfumatura: nessun bordo netto, la divisione la dà la greca */
.svc.blu{background:linear-gradient(180deg,#05070d 0,rgba(5,7,13,0) 22%,rgba(5,7,13,0) 70%,#05070d 100%),linear-gradient(rgba(3,8,26,.62),rgba(3,8,26,.72)),url(fascia_a.jpg) center/cover no-repeat,#0a1a52}
.svc.nvy{background:linear-gradient(180deg,#05070d 0,rgba(5,7,13,0) 22%,rgba(5,7,13,0) 70%,#05070d 100%),linear-gradient(rgba(2,5,16,.5),rgba(2,5,16,.6)),url(fascia_b.jpg) center/cover no-repeat,#050c24}

/* sfondi scuri forniti */
.svc.blu{background:linear-gradient(180deg,#05070d 0,rgba(5,7,13,0) 20%,rgba(5,7,13,0) 75%,#05070d 100%),url(fascia_c.jpg) center/cover no-repeat,#07122e}
.svc.nvy{background:linear-gradient(180deg,#05070d 0,rgba(5,7,13,0) 20%,rgba(5,7,13,0) 75%,#05070d 100%),url(fascia_d.jpg) center/cover no-repeat,#06102a}
.ph::before{background:url(fascia_c.jpg) center/cover !important}

/* tre problemi: pannelli che si aprono (GSAP) */
.probs .g3{display:flex;gap:0;height:clamp(440px,64vh,600px);margin-top:clamp(34px,6vh,64px);border-top:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18)}
.probs .pc{position:relative;flex:1 1 0;min-width:0;overflow:hidden;padding:clamp(22px,2.4vw,38px);border:0;border-left:1px solid rgba(255,255,255,.18);background:none;display:flex;flex-direction:column;cursor:pointer;transition:none}
.probs .pc:first-child{border-left:0}
.probs .pc::before{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,rgba(5,7,13,.2),rgba(5,7,13,.75)),url(fascia_c.jpg) center/cover,#0b1d4d;clip-path:inset(100% 0 0 0);transition:clip-path .8s cubic-bezier(.16,1,.3,1)}
.probs .pc.on::before{clip-path:inset(0 0 0 0)}
.probs .pc>*{position:relative;z-index:1}
.probs .pc .pn{font-weight:800;font-size:clamp(48px,6vw,88px);line-height:.85;letter-spacing:-.05em;color:transparent;-webkit-text-stroke:1.5px rgba(150,185,255,.6);transition:-webkit-text-stroke-color .4s,color .4s}
.probs .pc.on .pn{color:#fff;-webkit-text-stroke-color:#fff}
.probs .pc small{margin-top:auto;display:block}
.probs .pc h3{font-weight:700;font-size:clamp(20px,2.3vw,34px);line-height:1.08;letter-spacing:-.035em;margin:10px 0 0;max-width:14ch}
.probs .pc p,.probs .pc .more{opacity:0;transform:translateY(16px);max-width:34ch}
.probs .pc.on p,.probs .pc.on .more{opacity:1;transform:none;transition:opacity .5s .25s,transform .6s .25s cubic-bezier(.16,1,.3,1)}
.probs .pc .more{align-self:flex-start;margin-top:16px}
@media(max-width:860px){.probs .g3{flex-direction:column;height:auto}.probs .pc{border-left:0;border-top:1px solid rgba(255,255,255,.18);padding-block:28px}.probs .pc::before{clip-path:none;opacity:.5}.probs .pc p,.probs .pc .more{opacity:1;transform:none}.probs .pc .pn{font-size:64px}}

/* outline numeri pulito (senza sovrapposizioni del font) */
.meth .num,.tl .num,.tl-sl .big,.probs .pc .pn{-webkit-text-stroke:0!important;color:#000!important;filter:url(#olb)}
.svc.blu .meth .num,.svc.blu .tl .num,.svc.blu .tl-sl .big,.svc.nvy .tl-sl .big{filter:url(#olw)}
.probs .pc .pn{filter:url(#olb)}
.probs .pc.on .pn{color:#fff!important;filter:none}

/* greche: stessa altezza ovunque + divisori home */
.os.svc::before{height:40px!important}
.gdiv{position:relative;height:56px;background:#05070d}
.gdiv::before{content:"";position:absolute;left:0;right:0;top:8px;height:40px;background:#2d6bff;-webkit-mask:var(--gm) repeat-x 0 0/auto 100%;mask:var(--gm) repeat-x 0 0/auto 100%;opacity:.9}
.gdiv.g1{--gm:url(gr1.png)}.gdiv.g2{--gm:url(gr2.png)}.gdiv.g3{--gm:url(gr3.png)}.gdiv.g4{--gm:url(gr4.png)}.gdiv.g5{--gm:url(gr5.png)}

/* hero attaccato alle nuvole */
.pre{margin-top:-38vh!important;z-index:9!important}
.pre .dec{padding-top:0!important;background:linear-gradient(180deg,rgba(5,7,13,0) 0,rgba(5,7,13,0) 30vh,#05070d 62vh,#08101c 85%,#05070d)!important}
#home-chi .rv{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}
#home-chi .dec-in{padding-top:clamp(20px,5vh,60px)}

/* pulsanti: pill con riempimento dal punto di ingresso, testo che scorre, calamita */
.btn{position:relative;overflow:hidden;isolation:isolate;display:inline-flex;align-items:center;gap:16px;border-radius:999px!important;padding:7px 7px 7px 26px!important;--bf:#fff;--ht:#05070d;will-change:transform}
.btn.ghost{--bf:#2d6bff;--ht:#fff}
.btn:not(.ghost){background:#2d6bff;border-color:#2d6bff}
.svc.blu .btn:not(.ghost){background:#fff;color:#1f4fd8;--bf:#05070d;--ht:#fff}
.svc.blu .btn.ghost{--bf:#fff;--ht:#1f4fd8}
.btn .bt-l{display:block;height:1.25em;line-height:1.25em;overflow:hidden}
.btn .bt-l span{display:block;transition:transform .6s cubic-bezier(.16,1,.3,1)}
.btn:hover .bt-l span{transform:translateY(-100%)}
.btn .bt-a{width:38px;height:38px;border-radius:50%;flex:none;display:grid;place-items:center;background:#fff;color:#2d6bff;font-size:16px;line-height:1;transition:transform .6s cubic-bezier(.16,1,.3,1),background .4s,color .4s}
.btn.ghost .bt-a{background:rgba(255,255,255,.14);color:#fff}
.svc.blu .btn:not(.ghost) .bt-a{background:#1f4fd8;color:#fff}
.btn:hover .bt-a{transform:rotate(-45deg)}
.btn .bt-f{position:absolute;z-index:-1;left:var(--x,50%);top:var(--y,50%);width:260%;aspect-ratio:1;border-radius:50%;background:var(--bf);transform:translate(-50%,-50%) scale(0);transition:transform .75s cubic-bezier(.16,1,.3,1)}
.btn:hover .bt-f{transform:translate(-50%,-50%) scale(1)}
.btn:hover{color:var(--ht)!important}
.btn:hover .bt-a{background:var(--ht);color:var(--bf)}
.btn.ghost{background:transparent}

/* statue nei pannelli */
.probs .pc .st{position:absolute!important;z-index:0!important;right:-7%;bottom:0;width:58%;height:100%;pointer-events:none;background-repeat:no-repeat;background-position:right bottom;background-size:auto 96%;mix-blend-mode:lighten;opacity:.16;filter:grayscale(1) brightness(.8);transform:translate3d(calc((var(--ox,0) * -1px)),calc((var(--oy,0) * -1px)),0) scale(1.04);transition:opacity .9s,filter .9s,transform .9s cubic-bezier(.16,1,.3,1)}
.probs .pc.on .st{opacity:1;filter:none;transform:translate3d(calc((var(--ox,0) * -1px)),calc((var(--oy,0) * -1px)),0) scale(1)}
.probs .pc .gw{position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(circle 280px at var(--px,70%) var(--py,50%),rgba(45,130,255,.55),transparent 70%);mix-blend-mode:screen;opacity:0;transition:opacity .5s}
.probs .pc.on:hover .gw{opacity:1}
.probs .pc.on .pn{text-shadow:none}
@media(max-width:860px){.probs .pc .st{opacity:.5;filter:none;width:70%;height:70%}}

/* casi in loop */
.hs.lp{height:auto!important;padding-block:clamp(60px,10vh,110px);overflow:hidden}
.hs.lp .hs-h{display:flex;justify-content:space-between;align-items:end;gap:20px;padding-inline:var(--gutter,24px);margin-bottom:clamp(26px,5vh,52px)}
.lp-v{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)}
.lp-tr{display:flex;width:max-content;animation:lp 46s linear infinite}
.lp-v:hover .lp-tr{animation-play-state:paused}
@keyframes lp{to{transform:translateX(-50%)}}
.lp-c{position:relative;flex:none;width:clamp(240px,26vw,380px);aspect-ratio:4/5;margin-right:clamp(14px,2vw,26px);overflow:hidden;border-radius:6px;color:#fff;text-decoration:none;background:#0a0f1a;display:block}
.lp-c i{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform 1.1s cubic-bezier(.16,1,.3,1)}

.lp-c::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,9,22,.55),rgba(4,9,22,0) 28%,rgba(4,9,22,0) 55%,rgba(4,9,22,.85))}
.lp-c h3{position:absolute;z-index:1;left:20px;top:16px;margin:0;font-weight:800;font-size:clamp(18px,2vw,28px);letter-spacing:-.03em}
.lp-c p{position:absolute;z-index:1;left:20px;right:20px;bottom:42px;margin:0;font-size:12px;line-height:1.5;color:#e1e6f5}
.lp-c span{position:absolute;z-index:1;left:20px;bottom:16px;font-weight:600;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:#a9c3ff}
@media(prefers-reduced-motion:reduce){.lp-tr{animation:none}.lp-v{overflow-x:auto}}

/* lia: magenta */
#lia,.lia{--mg:#ff2d9b}
#lia .btn:not(.ghost),.lia .btn:not(.ghost){background:var(--mg)!important;border-color:var(--mg)!important;color:#fff}
#lia .btn.ghost,.lia .btn.ghost{--bf:var(--mg);--ht:#fff}
#lia .btn:not(.ghost) .bt-a,.lia .btn:not(.ghost) .bt-a{background:#fff;color:var(--mg)}
#lia .pn li small,.lia .pn li small,#lia .os-k,.lia .os-k{color:var(--mg)!important}
#lia .pn li small,.lia .pn li small{font-weight:800;font-size:13px}
#lia .os-k::after,.lia .os-k::after{background:linear-gradient(90deg,var(--mg),rgba(255,45,155,0))!important}
#lia .meth .num,.lia .meth .num,.lia .tl-sl .big,.lia .tl .num{filter:url(#olm)!important}
.lia .tl-n,.lia .m2{--f:var(--mg)!important}
#lia .more,.lia .more{color:var(--mg);border-color:var(--mg)}

/* faq accordion */
.qa details{position:relative;overflow:hidden;border-top:1px solid rgba(255,255,255,.18);counter-increment:q}
.qa{counter-reset:q}
.qa details:last-child{border-bottom:1px solid rgba(255,255,255,.18)}
.qa details::before{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,rgba(45,107,255,.35),rgba(45,107,255,0));clip-path:inset(0 100% 0 0);transition:clip-path .7s cubic-bezier(.16,1,.3,1)}
.qa details:hover::before,.qa details[open]::before{clip-path:inset(0 0 0 0)}
.qa summary{position:relative;z-index:1;display:flex!important;align-items:center;gap:clamp(14px,3vw,40px);padding:clamp(20px,3vh,32px) 4px!important;font-weight:700!important;font-size:clamp(16px,1.8vw,26px)!important;letter-spacing:-.025em;transition:padding-left .5s cubic-bezier(.16,1,.3,1)}
.qa summary::before{content:counter(q,decimal-leading-zero);font-weight:800;font-size:13px;letter-spacing:.1em;color:#6f9bff;min-width:2.2em}
.qa summary::after{content:""!important;position:static!important;margin-left:auto;flex:none;width:44px;height:44px;border-radius:50%;border:1.5px solid rgba(255,255,255,.35);background:linear-gradient(#fff,#fff) center/14px 1.5px no-repeat,linear-gradient(#fff,#fff) center/1.5px 14px no-repeat;transition:transform .6s cubic-bezier(.16,1,.3,1),background-color .4s,border-color .4s}
.qa details:hover summary{padding-left:18px!important}
.qa details[open] summary::after{transform:rotate(135deg)!important;background-color:#2d6bff;border-color:#2d6bff}
.qa .qa-b{position:relative;z-index:1;overflow:hidden}
.qa .qa-b p{margin:0 0 28px clamp(36px,6vw,80px);max-width:62ch;font-size:clamp(15px,1.2vw,18px);line-height:1.65;color:#dfe5f7}
.qa .qa-b .w{display:inline-block}

/* agenti: poco testo, righe che si barrano */
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ag-h{margin:12px 0 0;font-weight:800;font-size:clamp(28px,4.2vw,64px);line-height:.98;letter-spacing:-.045em;max-width:14ch}
.ag-h span{display:block;color:rgba(255,255,255,.55)}
.sk-w{margin-top:clamp(36px,7vh,80px);display:grid;gap:clamp(6px,1.5vh,16px)}
.sk{margin:0;font-weight:700;font-size:clamp(22px,3vw,44px);letter-spacing:-.035em;line-height:1.05;width:max-content;max-width:100%}
.sk span{position:relative;display:inline-block}
.sk span::after{content:"";position:absolute;left:-2%;right:-2%;top:54%;height:.09em;background:#fff;transform:scaleX(var(--sx,0));transform-origin:0 50%}
.sk-f{margin:clamp(14px,3vh,30px) 0 0;display:flex;align-items:center;flex-wrap:wrap;gap:20px;font-weight:800;font-size:clamp(20px,2.6vw,40px);letter-spacing:-.045em;line-height:1}
#ai .meth{margin-top:clamp(46px,9vh,100px)}

/* tappe: slider con timeline */
.meth.m2{display:block;border:0;padding:0;margin-top:clamp(30px,5vh,56px);--f:#2d6bff;--tr:rgba(150,185,255,.28)}
.svc.blu .meth.m2,.svc.nvy .meth.m2{--f:#fff;--tr:rgba(255,255,255,.28)}
.m2>.mc,.m2>.rv{display:none}
.tl-n{display:grid;grid-template-columns:repeat(var(--n),1fr);position:relative;padding-top:26px}
.tl-n::before{content:"";position:absolute;left:0;right:0;top:9px;height:2px;background:var(--tr)}
.tl-n::after{content:"";position:absolute;left:0;top:9px;height:2px;background:var(--f);width:calc((100% / var(--n)) * var(--a) + (100% / var(--n)) * .0);transition:width .9s cubic-bezier(.16,1,.3,1)}
.tl-n button{all:unset;cursor:pointer;position:relative;padding:0 12px 0 0;font-weight:600;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--tr);transition:color .3s}
.tl-n button::before{content:"";position:absolute;left:0;top:-26px;width:20px;height:20px;border-radius:50%;background:#05070d;border:2px solid var(--tr);box-sizing:border-box;transition:background .3s,border-color .3s,transform .5s cubic-bezier(.16,1,.3,1)}
.tl-n button.done{color:var(--f)}.tl-n button.done::before{border-color:var(--f)}
.tl-n button.on{color:var(--f)}.tl-n button.on::before{background:var(--f);border-color:var(--f);transform:scale(1.25)}
.tl-n button span{display:block;margin-top:8px;font-weight:700;font-size:13px;letter-spacing:-.01em;text-transform:none;opacity:.9}
.tl-st{position:relative;display:grid;margin-top:clamp(26px,5vh,56px);min-height:clamp(220px,34vh,320px);overflow:hidden;touch-action:pan-y}
.tl-sl{grid-area:1/1;display:grid;grid-template-columns:minmax(0,auto) minmax(0,1fr);align-items:center;gap:clamp(20px,5vw,80px);opacity:0;transform:translateX(60px);visibility:hidden;transition:opacity .6s,transform .9s cubic-bezier(.16,1,.3,1),visibility 0s .9s}
.tl-sl.on{opacity:1;transform:none;visibility:visible;transition:opacity .7s .15s,transform .9s .1s cubic-bezier(.16,1,.3,1),visibility 0s}
.tl-sl.out{transform:translateX(-60px)}
.tl-sl .big{font-weight:800;font-size:clamp(100px,17vw,260px);line-height:.8;letter-spacing:-.06em;color:transparent;-webkit-text-stroke:2px var(--f)}
.tl-sl h4{margin:0;font-weight:700;font-size:clamp(24px,3.4vw,52px);line-height:1.04;letter-spacing:-.035em;max-width:16ch}
.tl-sl p{margin:16px 0 0;max-width:42ch;font-size:clamp(15px,1.25vw,19px);line-height:1.55;color:inherit;opacity:.85}
.tl-ar{display:flex;gap:10px;margin-top:20px}
.tl-ar button{all:unset;cursor:pointer;width:46px;height:46px;border-radius:50%;border:1.5px solid var(--tr);display:grid;place-items:center;font-size:18px;color:inherit;transition:background .3s,color .3s,border-color .3s}
.tl-ar button:hover{background:var(--f);border-color:var(--f);color:#05070d}
@media(max-width:700px){.tl-n button span{display:none}.tl-sl{grid-template-columns:1fr;gap:6px}.tl-sl .big{font-size:96px}}
.m2>div,.svc .m2>div{border:0!important;padding:0!important;margin:0}.svc .m2>.tl-n{padding-top:26px!important}.svc .m2>.tl-st{margin-top:clamp(26px,5vh,56px)}.svc .m2>.tl-ar{margin-top:20px}
.m-scroll .tl-ar{display:none}
.pinm{min-height:100svh;display:flex;align-items:center}.pinm>.sec-in{width:100%}
.tl-n button::before{z-index:1;width:14px;height:14px;top:-24px;left:0;border:2px solid var(--tr);background:#05070d}
.tl-n::before,.tl-n::after{top:9px}
.m-scroll .tl-sl{transition-duration:.5s}

/* statue png senza tagli */
.probs .pc .st{right:0!important;width:100%!important;height:100%!important;background-size:auto 80%!important;background-position:right 2% bottom 0!important;mix-blend-mode:normal!important;filter:grayscale(1) brightness(.5)!important;opacity:.35!important;-webkit-mask-image:linear-gradient(90deg,transparent 0,transparent 30%,#000 62%);mask-image:linear-gradient(90deg,transparent 0,transparent 30%,#000 62%)}
.probs .pc.on .st{opacity:1!important;filter:none!important}
.probs .pc{overflow:hidden}

/* casi: solo foto, hover con overlay GSAP */
.lp-c::after{display:none!important}
.lp-o{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;gap:14px;padding:22px;background:linear-gradient(180deg,rgba(5,9,24,0) 30%,rgba(5,9,24,.88));opacity:0;pointer-events:none}
.lp-o h3{position:static!important;margin:0;font-weight:800;font-size:clamp(18px,2vw,28px);letter-spacing:-.035em;line-height:1}
.lp-b{align-self:flex-start;display:inline-flex;align-items:center;gap:12px;background:#fff;color:#05070d;border-radius:999px;padding:8px 8px 8px 20px;font-weight:700;font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.lp-b b{width:32px;height:32px;border-radius:50%;background:#2d6bff;color:#fff;display:grid;place-items:center;font-size:15px}
.lp-c .lp-wipe{position:absolute;inset:0;z-index:1;background:#2d6bff;transform:scaleY(0);transform-origin:50% 100%;mix-blend-mode:multiply;pointer-events:none}

/* ombre blu leggere, niente grana; una fascia sì e una no */
.svc.blu,.svc.nvy{background:
 radial-gradient(ellipse 70% 80% at var(--gx,25%) var(--gy,35%),rgba(70,135,255,.30),rgba(70,135,255,0) 70%),
 radial-gradient(ellipse 60% 70% at calc(100% - var(--gx,25%)) calc(100% - var(--gy,35%)),rgba(40,95,235,.22),rgba(40,95,235,0) 70%),
 linear-gradient(180deg,#05070d 0,rgba(5,7,13,0) 14%,rgba(5,7,13,0) 86%,#05070d 100%),#071230!important}
.ph::before{background:radial-gradient(ellipse 70% 90% at 70% 20%,rgba(70,135,255,.30),rgba(70,135,255,0) 70%),#05070d!important}
.probs .pc::before{background:radial-gradient(ellipse 90% 70% at 70% 40%,rgba(60,130,255,.55),rgba(60,130,255,0) 75%),linear-gradient(180deg,rgba(5,7,13,.2),rgba(5,7,13,.7)),#07142f!important}
.end .os-bg{filter:none}

/* filiera allineata al contenitore */
.pin-st{padding-inline:max(var(--gutter),calc((100vw - 1180px)/2))!important}
/* pannelli problemi: sfondo pulito, niente velo che sale */
.probs .pc::before{clip-path:none!important;transition:opacity .6s!important;opacity:0;background:radial-gradient(ellipse 90% 70% at 70% 40%,rgba(60,130,255,.45),rgba(60,130,255,0) 75%)!important}
.probs .pc.on::before{opacity:1}
.probs .pc .gw{display:none!important}

.lp-c .lp-o{flex-direction:column-reverse!important;justify-content:flex-end!important;gap:16px}
.lp-c span.lp-b{position:static!important;left:auto!important;bottom:auto!important;color:#05070d!important;font-size:12px!important;font-weight:700!important;letter-spacing:.08em!important;background:#fff}
.lp-c .lp-o h3{position:static!important;color:#fff;margin:0}

.lp-c .lp-o{flex-direction:column!important}

/* fasce piatte, niente aloni; riquadri aperti */
.svc.blu,.svc.nvy{background:#0b2a8f!important}
.svc.nvy{background:#091d63!important}
.svc.blu .sec-in,.svc.nvy .sec-in{position:relative}
.prod article,.svc .prod article,.svc.blu .prod article,.svc.nvy .prod article,.svc.blu .pc,.svc.nvy .pc{background:none!important;border:0!important;border-top:1px solid rgba(255,255,255,.35)!important;padding:22px 0 0!important}
.prod a{transition:transform .5s cubic-bezier(.16,1,.3,1)}.prod a:hover{transform:translateX(14px)}
.svc.blu .btn:not(.ghost){background:#fff;color:#0b2a8f}
.svc{will-change:auto;clip-path:none!important}

/* fasce nere con un leggero cerchio di luce blu in alto */
.svc.blu,.svc.nvy{background:radial-gradient(circle 520px at var(--cx,72%) -60px,rgba(60,130,255,.28),rgba(60,130,255,0) 100%),#05070d!important}
.svc.nvy{--cx:22%}
.svc.blu .btn:not(.ghost){background:#fff;color:#05070d}

/* liste a card sparse */
.two .pn{display:grid;gap:14px;border:0!important;padding:0!important;margin:0;list-style:none}
.two .pn li{background:#0d1426;border:1px solid rgba(255,255,255,.14)!important;border-radius:10px;padding:20px 22px!important;display:flex;gap:18px;align-items:flex-start;box-shadow:0 20px 50px rgba(0,0,0,.45);will-change:transform}
.two .pn li small{flex:none;font-weight:800;font-size:13px;color:#6f9bff}
.two .pn li:nth-child(2n){margin-left:clamp(0px,4vw,60px)}
.two .pn li:nth-child(3n){margin-right:clamp(0px,3vw,40px)}
.two .pn.rv{opacity:1!important;transform:none!important;filter:none!important}

/* marmo da grattare */
.two .pn li{position:relative;overflow:hidden}
.two .pn li .mb{position:absolute;inset:0;width:100%;height:100%;z-index:3;cursor:crosshair;touch-action:none;border-radius:inherit}
.two .pn li .mh{position:absolute;right:16px;bottom:10px;z-index:4;font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#6a6f80;pointer-events:none;transition:opacity .4s}

/* titoli display light (ex bold 800) */
h1,h2,.dec h1,.ph h1,.end h2,.sec-in h2,.os h2,.ag-h,.idx-s h2,.hs-h h2,.dec blockquote{
  font-weight:300!important;
  letter-spacing:-.035em!important;
  line-height:1.04!important;
}
h1,h2,.dec h1,.ph h1,.sec-in h2,.os h2,.ag-h{
  font-size:clamp(30px,4.6vw,66px)!important;
}
.end h2{font-size:clamp(36px,5.5vw,80px)!important}
h3,.step h3,.pc h3,.card h3,.num{font-weight:300!important;letter-spacing:-.035em}
h4,.meth h4,.prod h4,.tl h4{font-weight:500!important}
.qa summary,.idx a{font-weight:700}

.probs .pc:nth-child(3) .st{background-position:right -2% bottom 0!important}

/* intro in bold */
.il p{font-weight:800!important;letter-spacing:-.04em!important}
.il.fin span{font-weight:700!important}
.il.fin h2 b{font-weight:800!important}

/* card: zoom al passaggio del mouse */
.two .pn li{transition:scale .5s cubic-bezier(.16,1,.3,1),box-shadow .5s,border-color .4s,background .4s;cursor:default}
.two .pn li:hover{scale:1.08;z-index:6;border-color:#2d6bff!important;background:#111b36;box-shadow:0 30px 70px rgba(0,0,0,.6),0 0 0 1px #2d6bff}
.two .pn li:hover small{color:#fff}
.svc h2{transition:none!important}

.two .pn li .mb,.two .pn li .mh{display:none!important}
.two .pn li:hover{scale:1.1!important;background:#2d6bff!important;border-color:#2d6bff!important;color:#fff}
.two .pn li:hover small{color:#fff!important}
.two .pn li:hover em{color:#fff}

/* mappa zone */
.zm{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(22px,3vw,44px);align-items:center;margin-top:clamp(30px,6vh,60px)}
.zm .idx{margin:0}
.zm .idx a{grid-template-columns:40px minmax(0,1fr) 40px!important;row-gap:2px}
.zm .idx a span{grid-column:2;grid-row:2}.zm .idx a i{grid-row:1/3;grid-column:3;text-align:right}
.zm .idx li{transition:background .4s,padding-left .5s cubic-bezier(.16,1,.3,1)}
.zm .idx li.on{background:linear-gradient(90deg,rgba(45,107,255,.22),rgba(45,107,255,0));padding-left:16px}
.mapw{position:relative;perspective:900px;transform-style:preserve-3d}
.map{width:100%;height:auto;display:block;overflow:visible;transform-style:preserve-3d}
.map .mr{fill:none;stroke:rgba(140,180,255,.48);stroke-width:1.6;stroke-dasharray:4 6;opacity:.9;animation:mr-spin 28s linear infinite;transform-box:fill-box;transform-origin:center;will-change:transform}
.map .mr:nth-of-type(1){animation-duration:22s;stroke:rgba(150,190,255,.55)}
.map .mr:nth-of-type(3){animation-duration:34s;animation-direction:reverse;stroke:rgba(130,175,255,.4)}
.map .mk{font:600 15px Montserrat,sans-serif;letter-spacing:.1em;fill:rgba(170,200,255,.78);transition:opacity .4s}
.map .ml{stroke:rgba(111,155,255,.5);stroke-width:1.5;fill:none;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke .4s,stroke-width .4s;vector-effect:non-scaling-stroke}
.map .ml.on{stroke:#fff;stroke-width:2.5}
.map .mp{cursor:pointer}
.map .pd{fill:#2d6bff;stroke:#fff;stroke-width:2;transition:fill .3s,filter .35s}
.map .mp.on .pd,.map .mp.is-near .pd{filter:drop-shadow(0 0 10px rgba(90,160,255,.75))}
.map .pu{fill:rgba(45,107,255,.35);transform-box:fill-box;transform-origin:center;animation:pu 2.6s ease-out infinite}
@keyframes pu{from{transform:scale(.6);opacity:1}to{transform:scale(3.4);opacity:0}}
@keyframes mr-spin{
  from{stroke-dashoffset:0}
  to{stroke-dashoffset:-200}
}
.map .pl{font:700 21px Montserrat,sans-serif;fill:#cdd2e2;letter-spacing:-.01em;paint-order:stroke;stroke:#05070d;stroke-width:5px;transition:fill .3s}
.map .mp[data-t="bergamo"] .pl,
.map .mp[data-t="brescia"] .pl,
.map .mp[data-t="milano"] .pl{font-size:32px;font-weight:800;letter-spacing:-.02em;fill:#e8ecf8}
.map .mp.on .pd{fill:#fff}.map .mp.on .pl{fill:#fff}
.map .pd,.map .pl{transition:opacity .3s,fill .3s}.map.hl .mp:not(.on) .pd,.map.hl .mp:not(.on) .pl{opacity:.35}
.mn{margin:10px 0 0;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim)}
@media(max-width:860px){.zm{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){.map .mr{animation:none!important}.map .mp,.map .mr{transform:none!important}}

/* menu sempre visibile — solo header.top (mai .pad.top del caso G2) */
header.top{z-index:9999!important;padding-bottom:22px!important;align-items:center!important;background:linear-gradient(180deg,rgba(5,7,13,.96) 55%,rgba(5,7,13,0))!important}
header.top .argo-nav > a,header.top .argo-nav .nav-dd-link{opacity:1!important}
header.top .argo-nav .argo-lang a{opacity:.45!important}
header.top .argo-nav .argo-lang a:hover,header.top .argo-nav .argo-lang span.is-active{opacity:1!important}
header.top .argo-nav,header.top .brand a{position:relative;z-index:2;pointer-events:auto}

.os-k,.os .os-k,.sec-in>.os-k{display:none!important}

/* greca: si disegna da destra a sinistra come un vettoriale */
.gdiv::before,.os.svc::before{clip-path:inset(0 0 0 calc((1 - var(--gp,1)) * 100%))}
.os.svc::after{clip-path:inset(0 0 0 calc((1 - var(--gq,1)) * 100%))}
.gdiv::after{content:"";position:absolute;top:8px;height:40px;width:3px;right:auto;left:calc((1 - var(--gp,1)) * 100%);background:#fff;box-shadow:0 0 18px 4px #2d6bff;opacity:calc(var(--gp,1) * (1 - var(--gp,1)) * 4);pointer-events:none;display:block!important}

/* greche vettoriali attive */
.grj .gdiv::before,.grj .gdiv::after,.grj .os.svc::before,.grj .os.svc::after{display:none!important}

/* responsive QA: menu mobile */
.mb,.mnav{display:none}
@media(max-width:860px){
header.top{padding-top:calc(16px + env(safe-area-inset-top,0px))!important;padding-left:max(18px,env(safe-area-inset-left,0px))!important;padding-right:max(18px,env(safe-area-inset-right,0px))!important;padding-bottom:14px!important}
header.top nav{gap:8px}
header.top nav a.nb{padding:11px 14px;font-size:10px;letter-spacing:.12em;text-indent:.12em;white-space:nowrap;justify-content:center;text-align:center}
.mb{display:inline-flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:44px;height:44px;margin:0 -10px 0 0;padding:0;background:none;border:0;cursor:pointer;pointer-events:auto;-webkit-tap-highlight-color:transparent}
.mb span{display:block;width:24px;height:2px;background:#fff;border-radius:2px;transition:transform .35s cubic-bezier(.16,1,.3,1),opacity .2s}
.mb:focus-visible{outline:2px solid #2d6bff;outline-offset:-4px}
body.mo .mb span:nth-child(1){transform:translateY(4px) rotate(45deg)}
body.mo .mb span:nth-child(2){transform:translateY(-4px) rotate(-45deg)}
body.mo header.top{z-index:9999!important;background:none!important}
body.mo{overflow:hidden}
.mnav{display:flex;position:fixed;inset:0;z-index:9990;background:radial-gradient(ellipse 120% 60% at 100% 100%,rgba(45,107,255,.28),rgba(45,107,255,0) 70%),#05070d;padding:calc(84px + env(safe-area-inset-top,0px)) max(24px,env(safe-area-inset-right,0px)) calc(28px + env(safe-area-inset-bottom,0px)) max(24px,env(safe-area-inset-left,0px));overflow-y:auto;overscroll-behavior:contain;visibility:hidden;opacity:0;transition:opacity .3s,visibility 0s .3s}
body.mo .mnav{visibility:visible;opacity:1;transition:opacity .3s}
.mnav-in{margin:auto 0;width:100%;max-width:560px}
.mnav a.l{display:flex;align-items:baseline;gap:16px;padding:clamp(8px,2.2vh,16px) 0;min-height:48px;border-bottom:1px solid rgba(255,255,255,.14);font-family:Montserrat,system-ui,sans-serif;font-weight:800;font-size:clamp(22px,min(8vw,6.2vh),44px);line-height:1.1;letter-spacing:-.04em;color:#fff;text-decoration:none;text-transform:none;transform:translateY(14px);opacity:0;transition:transform .5s cubic-bezier(.16,1,.3,1),opacity .4s,color .2s}
.mnav a.l i{font:500 11px 'JetBrains Mono',ui-monospace,monospace;font-style:normal;letter-spacing:.06em;color:#2d6bff;min-width:22px}
.mnav a.l:active,.mnav a.l:hover{color:#6aa0ff}
body.mo .mnav a.l{transform:none;opacity:1}
body.mo .mnav a.l:nth-child(2){transition-delay:.04s}body.mo .mnav a.l:nth-child(3){transition-delay:.08s}body.mo .mnav a.l:nth-child(4){transition-delay:.12s}body.mo .mnav a.l:nth-child(5){transition-delay:.16s}
.mnav a.mc{display:flex;align-items:center;justify-content:center;text-align:center;min-height:56px;margin-top:clamp(16px,4vh,30px);background:#2d6bff;color:#fff;font:700 12px Montserrat,system-ui,sans-serif;letter-spacing:.16em;text-indent:.16em;text-transform:uppercase;text-decoration:none}
.mnav .argo-lang-m{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:18px}
.mnav .argo-lang-m a,.mnav .argo-lang-m span{color:#fff;text-decoration:none;font:700 12px Montserrat,system-ui,sans-serif;letter-spacing:.16em;text-transform:uppercase;opacity:.4}
.mnav .argo-lang-m a:hover,.mnav .argo-lang-m span.is-active{opacity:1}
.mnav .argo-lang-m .argo-lang-sep{opacity:.28;font-weight:500;letter-spacing:0}
.mnav .mi{margin:clamp(14px,3vh,26px) 0 0;display:flex;flex-direction:column;gap:6px;font:500 12px/1.5 Montserrat,system-ui,sans-serif;color:#aab1c5}
.mnav .mi a{color:#fff;text-decoration:none;padding:6px 0}
}
@media(max-width:860px) and (prefers-reduced-motion:reduce){.mnav,.mnav a.l,.mb span{transition:none}}
@media(max-width:380px){.top nav a.nb{padding:10px 11px;font-size:9px;letter-spacing:.08em}.brand{letter-spacing:.24em!important;font-size:14px!important}}
@media(max-width:860px) and (max-height:480px){.mnav .mi{display:none}.mnav{padding-top:calc(66px + env(safe-area-inset-top,0px))}.mnav a.l{min-height:40px;padding:4px 0}.mnav a.mc{min-height:46px;margin-top:12px}}

/* responsive QA: bottoni a piu' righe su mobile, header allineato su schermi molto larghi */
@media(min-width:1700px){.top{padding-left:max(34px,calc((100vw - 1500px)/2));padding-right:max(34px,calc((100vw - 1500px)/2))}}
@media(max-width:700px){
.btn{max-width:100%;min-height:52px;border-radius:30px!important}
.btn .bt-l{height:auto;overflow:visible;line-height:1.35;white-space:normal;min-width:0}
.btn .bt-l span+span{display:none}
.btn:hover .bt-l span{transform:none}
}

/* responsive QA: home mobile */
@media(max-width:600px){
.il.fin span{white-space:nowrap;font-size:min(10.5vw,52px);letter-spacing:.2em;padding-left:.2em}
.il.fin span u:nth-child(7){display:block;height:0;overflow:hidden}
body:not(.caso-single) .txt{left:max(24px,env(safe-area-inset-left,0px));width:calc(100vw - 48px)}
.pin-n{right:auto;left:var(--gutter)}
.end{display:block;padding-bottom:100px}
.intro-hero{top:44%;width:min(88vw,420px)}
.intro-hero-logo img.custom-logo{max-height:52px;max-width:min(220px,68vw)}
.intro-hero-logo{width:clamp(64px,18vw,88px)}
.intro-hero-claim{font-size:clamp(16px,4.6vw,20px);margin-top:14px;max-width:20ch}
}
@media(max-width:700px){
.map .pl{font-size:38px;stroke-width:8px}.map .mk{font-size:30px}
.map .mp[data-t="bergamo"] .pl,
.map .mp[data-t="brescia"] .pl,
.map .mp[data-t="milano"] .pl{font-size:48px;stroke-width:10px}
.map .pd{r:12px;stroke-width:4px}.map .mp[data-t="romano"] .pd{r:16px}.map .pu{r:18px}
.map .mp[data-t="brescia"] .pl{text-anchor:end;transform:translateX(-30px)}
.map .mp[data-t="martinengo"] .pl,.map .mp[data-t="cologno"] .pl{x:22px}
}

/* responsive QA: tap target, tabelle, mappa */
@media(max-width:860px){
.top nav a.nb{min-height:40px;display:inline-flex;align-items:center;justify-content:center;text-align:center}
.more{display:inline-block;padding-block:12px}
}
@media(max-width:700px){
.tbl{width:100%;table-layout:auto}
.tbl th,.tbl td{padding:12px 8px 12px 0;font-size:13px;overflow-wrap:break-word;hyphens:manual}
.tbl th{letter-spacing:.1em;font-size:9.5px}
.map{overflow:hidden}
}
@media(max-width:1000px){.map{overflow:hidden}}
@media(hover:none){.top nav a:not(.nb){padding-block:12px}}
@media(max-width:860px) and (max-height:480px){.wa{padding:8px 12px;font-size:10px;bottom:calc(10px + env(safe-area-inset-bottom,0px));right:10px}}

/* editor pain-point */
.swe{background:#0a0f1c;border:1px solid rgba(45,107,255,.3);border-radius:14px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.45);align-self:center}
.swe pre{margin:0;padding:18px 0 22px;font:400 clamp(12px,1.05vw,14.5px)/1.75 'JetBrains Mono',ui-monospace,monospace;color:#cfd8ee;counter-reset:l;white-space:normal}
.swe .ln{display:block;counter-increment:l;position:relative;padding:3px 18px 3px 52px;white-space:pre-wrap;overflow-wrap:anywhere;text-indent:0}
.swe .ln::before{content:counter(l);position:absolute;left:0;width:34px;text-align:right;color:#3b4766}
.swe .ln.bad{background:rgba(255,90,90,.07);box-shadow:inset 2px 0 0 #ff5a5a;transition:background .3s}
.swe .ln.bad:hover{background:rgba(255,90,90,.16)}
.swe i{font-style:normal}.swe .k{color:#6aa0ff}.swe .f{color:#fff;font-weight:700}.swe .s{color:#ffb4b4}
.swe .swc-b{display:flex;align-items:center;gap:6px;padding:9px 12px;background:rgba(255,255,255,.04);border-bottom:1px solid rgba(255,255,255,.07)}
.swe .swc-b span{width:8px;height:8px;border-radius:50%;background:#2a3350}.swe .swc-b span:first-child{background:#2d6bff}.swe .swc-b em{margin-left:8px;font:500 11px 'JetBrains Mono',monospace;font-style:normal;color:#6b7a99}
.tw-c{color:#6aa0ff;margin-left:1px;font-weight:400}
@keyframes twb{50%{opacity:0}}
.swe{margin-top:8px;width:100%}
.swe.rcpt pre{counter-reset:none}
.swe.rcpt .ln{display:flex;align-items:baseline;gap:6px;padding-left:18px;white-space:normal}
.swe.rcpt .ln::before{content:none}
.swe.rcpt .rcpt-l{flex:0 1 auto;max-width:55%}
.swe.rcpt .rcpt-d{flex:1 1 auto;min-width:12px;border-bottom:1px dotted rgba(207,216,238,.45);transform:translateY(-4px)}
.swe.rcpt .rcpt-r{flex:0 1 auto;text-align:right;color:#8fb2ff}
.swe.rcpt .ln.tot{margin-top:8px;padding-top:10px;box-shadow:inset 0 1px 0 rgba(255,255,255,.12)}
.swe.rcpt .ln.tot .rcpt-l{max-width:none}
.prod{grid-template-columns:repeat(3,minmax(0,1fr))}
#software .prod,#prodotti .prod{grid-template-columns:repeat(2,minmax(0,1fr))}
#marketing .prod.mkt-offers,#contatti .prod.contact-paths{grid-template-columns:1fr 1fr}
@media (max-width:860px){.prod,#software .prod,#prodotti .prod,#marketing .prod.mkt-offers,#contatti .prod.contact-paths{grid-template-columns:minmax(0,1fr)}}
@media (min-width:1100px){
  #software .prod,#prodotti .prod{grid-template-columns:repeat(4,minmax(0,1fr))}
}
#contatti .prod.contact-paths{margin-top:34px;max-width:720px}
#contatti .prod.contact-paths .btn{margin-top:18px}
#contatti .prod.contact-paths article{color:#eaf0ff}
#contatti .prod.contact-paths p{color:#cfdcff}
#contatti .addr a{color:inherit;text-decoration:underline;text-underline-offset:3px}
#contatti .mail + .mail{margin-top:12px;display:block}
.pin-tx{height:360px}
.pin-tx .pin-lead{position:absolute;left:0;right:0;top:0;margin:0;z-index:1;max-width:40ch}
.pin-tx .step{top:5.5rem}

/* casi: cerchio che ruota con lo scroll */
#home-co.hs.lp{height:100svh!important;min-height:100svh;padding-block:clamp(76px,11vh,110px) 0;display:flex;flex-direction:column;overflow:hidden}
#home-co .hs-h{margin-bottom:0}#home-co .hs-h h2{font-size:clamp(24px,2.8vw,40px)}
.ar{position:relative;flex:1;min-height:0;user-select:none;-webkit-user-select:none}
.ar-c{position:absolute;left:0;top:0;border-radius:clamp(8px,1vw,14px);overflow:hidden;background:#0a0f1a;will-change:transform,opacity;display:block;box-shadow:0 18px 40px rgba(0,0,0,.45)}
.ar-c img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}
.ar-cap{position:absolute;left:50%;transform:translateX(-50%);text-align:center;width:calc(var(--k,1)*340px);z-index:300}
.ar-t{display:block;font:600 calc(var(--k,1)*11px) Montserrat,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#8fb2ff}
.ar-n{margin:calc(var(--k,1)*8px) 0 calc(var(--k,1)*10px);font-weight:800;font-size:calc(var(--k,1)*44px);letter-spacing:-.04em;line-height:1}
.ar-r{margin:0 0 calc(var(--k,1)*14px);font:600 calc(var(--k,1)*14px)/1.35 Montserrat,sans-serif;color:var(--gold-soft,#e8d5a3);letter-spacing:-.01em}
.ar-r[hidden]{display:none!important}
.ar-b{display:inline-flex;align-items:center;gap:12px;background:#fff;color:#05070d;border-radius:999px;padding:8px 8px 8px 22px;transform:scale(var(--k,1));transform-origin:50% 0;font:700 12px Montserrat,sans-serif;letter-spacing:.08em;text-transform:uppercase;text-decoration:none}
.ar-b b{width:34px;height:34px;border-radius:50%;background:#2d6bff;color:#fff;display:grid;place-items:center;font-size:15px}
#home-co .ar-cap{transition:none}
@media(max-height:520px){#home-co.hs.lp{padding-top:70px!important}#home-co .hs-h h2{font-size:20px}.ar-n{font-size:22px;margin:4px 0 8px}.ar-t{font-size:9px}.ar-b{padding:5px 5px 5px 14px;font-size:10px}.ar-b b{width:24px;height:24px}}
/*RESP-START*/@media(min-width:1700px){.dec-in,.idx-s .os-in,.end-in,.sec-in,.proof-in,.vases ul{max-width:calc(1180px*1)!important}.sec-in.narrow{max-width:calc(860px*1)!important}.pin-st{padding-inline:max(var(--gutter),calc((100vw - 1180px*1)/2))!important}.top{padding-left:max(34px,calc((100vw - 1500px*1)/2))!important;padding-right:max(34px,calc((100vw - 1500px*1)/2))!important}.top nav a.nb{min-height:calc(40px*1)!important;padding:calc(10px*1) calc(16px*1)!important}.sec-in .sub,.dec .sub,.end .sub{max-width:calc(52ch*1)!important}:root{--gutter:max(34px,calc(34px*1))}.brand{font-size:calc(15px*1)!important}.hud{font-size:calc(10px*1)!important}.dots button span{font-size:calc(10px*1)!important}.kick{font-size:calc(11px*1)!important}.txt h1{font-size:clamp(44px,7.2vw,calc(40px*1))!important}.txt h2{font-size:clamp(32px,4.4vw,calc(44px*1))!important}.txt .lead{font-size:clamp(14px,1.15vw,calc(16px*1))!important}.go{font-size:calc(12px*1)!important}.hint{font-size:calc(10px*1)!important}.load{font-size:calc(12px*1)!important}.co .lb{font-size:calc(10px*1)!important}.intro-br{font-size:calc(12px*1)!important}.intro-hint{font-size:calc(10px*1)!important}.il p{font-size:clamp(32px,6vw,calc(44px*1))!important}.il.fin h2{font-size:clamp(40px,9vw,calc(44px*1))!important}.il.fin span{font-size:clamp(30px,6.4vw,calc(48px*1))!important}.os-k{font-size:calc(11px*1)!important}.more{font-size:calc(12px*1)!important}.dec blockquote{font-size:clamp(30px,4.4vw,calc(48px*1))!important}.dec .sub{font-size:clamp(14px,1.15vw,calc(17px*1))!important}.fig i{font-size:calc(10px*1)!important}.step h3{font-size:clamp(30px,3.8vw,calc(44px*1))!important}.step p{font-size:clamp(14px,1.1vw,calc(16px*1))!important}.hs-p{font-size:calc(10px*1)!important}.hs-h h2{font-size:clamp(30px,4vw,calc(46px*1))!important}.card .cd{font-size:calc(12px*1)!important}.card h3{font-size:clamp(24px,2.6vw,calc(40px*1))!important}.card span{font-size:calc(10px*1)!important}.idx-s h2{font-size:clamp(30px,4vw,calc(46px*1))!important}.idx a{font-size:clamp(15px,1.4vw,calc(21px*1))!important}.idx a small{font-size:calc(10px*1)!important}.idx a span{font-size:clamp(12px,1vw,calc(14px*1))!important}.idx a i{font-size:calc(12px*1)!important}.end h2{font-size:clamp(46px,8vw,calc(80px*1))!important}.end .sub{font-size:clamp(14px,1.2vw,calc(17px*1))!important}.mail{font-size:clamp(24px,3.4vw,calc(40px*1))!important}.top nav a{font-size:calc(10.5px*1)!important}.btn{font-size:calc(12px*1)!important}.micro{font-size:calc(12.5px*1)!important}.seo{font-size:calc(10.5px*1)!important}.dec h1{font-size:clamp(32px,4.6vw,calc(40px*1))!important}.pf li b{font-size:clamp(20px,2vw,calc(30px*1))!important}.pf li span{font-size:calc(10px*1)!important}.pf-n{font-size:calc(12px*1)!important}.sec-in h2{font-size:clamp(30px,4.2vw,calc(48px*1))!important}.sec-in .sub{font-size:clamp(14px,1.15vw,calc(17px*1))!important}.sec-in .ans{font-size:calc(14px*1)!important}.pc small, .meth small, .prod small{font-size:calc(10px*1)!important}.pc h3{font-size:clamp(22px,2vw,calc(30px*1))!important}.pc p{font-size:calc(14px*1)!important}.pn li, .flow li{font-size:clamp(15px,1.25vw,calc(19px*1))!important}.pn li small, .flow li small{font-size:calc(10px*1)!important}.meth h4, .prod h4{font-size:clamp(16px,1.4vw,calc(21px*1))!important}.meth p, .prod p{font-size:calc(13px*1)!important}.qa summary::after{font-size:calc(26px*1)!important}.qa p{font-size:calc(14px*1)!important}.end h2.long{font-size:clamp(36px,5.6vw,calc(44px*1))!important}.end .mail{font-size:clamp(20px,2.6vw,calc(38px*1))!important}.end .addr{font-size:calc(13px*1)!important}.bt .bcap{font-size:calc(9px*1)!important}.bt.colm p{font-size:calc(12px*1)!important}.vases a{font-size:calc(10px*1)!important}.probs .pc .pn{font-size:clamp(64px,9vw,calc(44px*1))!important}.probs .pc h3{font-size:clamp(20px,2.3vw,calc(34px*1))!important}.btn .bt-a{font-size:calc(16px*1)!important}.lp-c h3{font-size:clamp(22px,2.2vw,calc(34px*1))!important}.lp-c p{font-size:calc(12px*1)!important}.lp-c span{font-size:calc(10px*1)!important}#lia .pn li small,.lia .pn li small{font-size:calc(13px*1)!important}.qa summary{font-size:clamp(18px,2.1vw,calc(30px*1))!important}.qa summary::before{font-size:calc(13px*1)!important}.qa .qa-b p{font-size:clamp(15px,1.2vw,calc(18px*1))!important}.ag-h{font-size:clamp(34px,6vw,calc(44px*1))!important}.sk{font-size:clamp(24px,4vw,calc(44px*1))!important}.sk-f{font-size:clamp(28px,4.6vw,calc(40px*1))!important}.tl-n button{font-size:calc(12px*1)!important}.tl-n button span{font-size:calc(13px*1)!important}.tl-sl .big{font-size:clamp(100px,17vw,calc(120px*1))!important}.tl-sl h4{font-size:clamp(24px,3.4vw,calc(40px*1))!important}.tl-sl p{font-size:clamp(15px,1.25vw,calc(19px*1))!important}.tl-ar button{font-size:calc(18px*1)!important}.lp-o h3{font-size:clamp(26px,2.6vw,calc(40px*1))!important}.lp-b{font-size:calc(12px*1)!important}.lp-b b{font-size:calc(15px*1)!important}.lp-c span.lp-b{font-size:calc(12px*1)!important}.two .pn li small{font-size:calc(13px*1)!important}.two .pn li .mh{font-size:calc(10px*1)!important}.sec-in h2,.os h2{font-size:clamp(32px,4.6vw,calc(40px*1))!important}.mn{font-size:calc(11px*1)!important}#home-co .hs-h h2{font-size:clamp(26px,3.4vw,calc(48px*1))!important}.ar-b b{font-size:calc(15px*1)!important}.probs .g3{height:auto!important;min-height:clamp(440px,64vh,600px)}}@media(min-width:2200px){.dec-in,.idx-s .os-in,.end-in,.sec-in,.proof-in,.vases ul{max-width:calc(1180px*1)!important}.sec-in.narrow{max-width:calc(860px*1)!important}.pin-st{padding-inline:max(var(--gutter),calc((100vw - 1180px*1)/2))!important}.top{padding-left:max(34px,calc((100vw - 1500px*1)/2))!important;padding-right:max(34px,calc((100vw - 1500px*1)/2))!important}.top nav a.nb{min-height:calc(40px*1)!important;padding:calc(10px*1) calc(16px*1)!important}.sec-in .sub,.dec .sub,.end .sub{max-width:calc(52ch*1)!important}:root{--gutter:max(34px,calc(34px*1))}.brand{font-size:calc(15px*1)!important}.hud{font-size:calc(10px*1)!important}.dots button span{font-size:calc(10px*1)!important}.kick{font-size:calc(11px*1)!important}.txt h1{font-size:clamp(44px,7.2vw,calc(40px*1))!important}.txt h2{font-size:clamp(32px,4.4vw,calc(44px*1))!important}.txt .lead{font-size:clamp(14px,1.15vw,calc(16px*1))!important}.go{font-size:calc(12px*1)!important}.hint{font-size:calc(10px*1)!important}.load{font-size:calc(12px*1)!important}.co .lb{font-size:calc(10px*1)!important}.intro-br{font-size:calc(12px*1)!important}.intro-hint{font-size:calc(10px*1)!important}.il p{font-size:clamp(32px,6vw,calc(44px*1))!important}.il.fin h2{font-size:clamp(40px,9vw,calc(44px*1))!important}.il.fin span{font-size:clamp(30px,6.4vw,calc(48px*1))!important}.os-k{font-size:calc(11px*1)!important}.more{font-size:calc(12px*1)!important}.dec blockquote{font-size:clamp(30px,4.4vw,calc(48px*1))!important}.dec .sub{font-size:clamp(14px,1.15vw,calc(17px*1))!important}.fig i{font-size:calc(10px*1)!important}.step h3{font-size:clamp(30px,3.8vw,calc(44px*1))!important}.step p{font-size:clamp(14px,1.1vw,calc(16px*1))!important}.hs-p{font-size:calc(10px*1)!important}.hs-h h2{font-size:clamp(30px,4vw,calc(46px*1))!important}.card .cd{font-size:calc(12px*1)!important}.card h3{font-size:clamp(24px,2.6vw,calc(40px*1))!important}.card span{font-size:calc(10px*1)!important}.idx-s h2{font-size:clamp(30px,4vw,calc(46px*1))!important}.idx a{font-size:clamp(15px,1.4vw,calc(21px*1))!important}.idx a small{font-size:calc(10px*1)!important}.idx a span{font-size:clamp(12px,1vw,calc(14px*1))!important}.idx a i{font-size:calc(12px*1)!important}.end h2{font-size:clamp(46px,8vw,calc(80px*1))!important}.end .sub{font-size:clamp(14px,1.2vw,calc(17px*1))!important}.mail{font-size:clamp(24px,3.4vw,calc(40px*1))!important}.top nav a{font-size:calc(10.5px*1)!important}.btn{font-size:calc(12px*1)!important}.micro{font-size:calc(12.5px*1)!important}.seo{font-size:calc(10.5px*1)!important}.dec h1{font-size:clamp(32px,4.6vw,calc(40px*1))!important}.pf li b{font-size:clamp(20px,2vw,calc(30px*1))!important}.pf li span{font-size:calc(10px*1)!important}.pf-n{font-size:calc(12px*1)!important}.sec-in h2{font-size:clamp(30px,4.2vw,calc(48px*1))!important}.sec-in .sub{font-size:clamp(14px,1.15vw,calc(17px*1))!important}.sec-in .ans{font-size:calc(14px*1)!important}.pc small, .meth small, .prod small{font-size:calc(10px*1)!important}.pc h3{font-size:clamp(22px,2vw,calc(30px*1))!important}.pc p{font-size:calc(14px*1)!important}.pn li, .flow li{font-size:clamp(15px,1.25vw,calc(19px*1))!important}.pn li small, .flow li small{font-size:calc(10px*1)!important}.meth h4, .prod h4{font-size:clamp(16px,1.4vw,calc(21px*1))!important}.meth p, .prod p{font-size:calc(13px*1)!important}.qa summary::after{font-size:calc(26px*1)!important}.qa p{font-size:calc(14px*1)!important}.end h2.long{font-size:clamp(36px,5.6vw,calc(44px*1))!important}.end .mail{font-size:clamp(20px,2.6vw,calc(38px*1))!important}.end .addr{font-size:calc(13px*1)!important}.bt .bcap{font-size:calc(9px*1)!important}.bt.colm p{font-size:calc(12px*1)!important}.vases a{font-size:calc(10px*1)!important}.probs .pc .pn{font-size:clamp(64px,9vw,calc(44px*1))!important}.probs .pc h3{font-size:clamp(20px,2.3vw,calc(34px*1))!important}.btn .bt-a{font-size:calc(16px*1)!important}.lp-c h3{font-size:clamp(22px,2.2vw,calc(34px*1))!important}.lp-c p{font-size:calc(12px*1)!important}.lp-c span{font-size:calc(10px*1)!important}#lia .pn li small,.lia .pn li small{font-size:calc(13px*1)!important}.qa summary{font-size:clamp(18px,2.1vw,calc(30px*1))!important}.qa summary::before{font-size:calc(13px*1)!important}.qa .qa-b p{font-size:clamp(15px,1.2vw,calc(18px*1))!important}.ag-h{font-size:clamp(34px,6vw,calc(44px*1))!important}.sk{font-size:clamp(24px,4vw,calc(44px*1))!important}.sk-f{font-size:clamp(28px,4.6vw,calc(40px*1))!important}.tl-n button{font-size:calc(12px*1)!important}.tl-n button span{font-size:calc(13px*1)!important}.tl-sl .big{font-size:clamp(100px,17vw,calc(120px*1))!important}.tl-sl h4{font-size:clamp(24px,3.4vw,calc(40px*1))!important}.tl-sl p{font-size:clamp(15px,1.25vw,calc(19px*1))!important}.tl-ar button{font-size:calc(18px*1)!important}.lp-o h3{font-size:clamp(26px,2.6vw,calc(40px*1))!important}.lp-b{font-size:calc(12px*1)!important}.lp-b b{font-size:calc(15px*1)!important}.lp-c span.lp-b{font-size:calc(12px*1)!important}.two .pn li small{font-size:calc(13px*1)!important}.two .pn li .mh{font-size:calc(10px*1)!important}.sec-in h2,.os h2{font-size:clamp(32px,4.6vw,calc(40px*1))!important}.mn{font-size:calc(11px*1)!important}#home-co .hs-h h2{font-size:clamp(26px,3.4vw,calc(48px*1))!important}.ar-b b{font-size:calc(15px*1)!important}}@media(min-width:3000px){.dec-in,.idx-s .os-in,.end-in,.sec-in,.proof-in,.vases ul{max-width:calc(1180px*1)!important}.sec-in.narrow{max-width:calc(860px*1)!important}.pin-st{padding-inline:max(var(--gutter),calc((100vw - 1180px*1)/2))!important}.top{padding-left:max(34px,calc((100vw - 1500px*1)/2))!important;padding-right:max(34px,calc((100vw - 1500px*1)/2))!important}.top nav a.nb{min-height:calc(40px*1)!important;padding:calc(10px*1) calc(16px*1)!important}.sec-in .sub,.dec .sub,.end .sub{max-width:calc(52ch*1)!important}:root{--gutter:max(34px,calc(34px*1))}.brand{font-size:calc(15px*1)!important}.hud{font-size:calc(10px*1)!important}.dots button span{font-size:calc(10px*1)!important}.kick{font-size:calc(11px*1)!important}.txt h1{font-size:clamp(44px,7.2vw,calc(40px*1))!important}.txt h2{font-size:clamp(32px,4.4vw,calc(44px*1))!important}.txt .lead{font-size:clamp(14px,1.15vw,calc(16px*1))!important}.go{font-size:calc(12px*1)!important}.hint{font-size:calc(10px*1)!important}.load{font-size:calc(12px*1)!important}.co .lb{font-size:calc(10px*1)!important}.intro-br{font-size:calc(12px*1)!important}.intro-hint{font-size:calc(10px*1)!important}.il p{font-size:clamp(32px,6vw,calc(44px*1))!important}.il.fin h2{font-size:clamp(40px,9vw,calc(44px*1))!important}.il.fin span{font-size:clamp(30px,6.4vw,calc(48px*1))!important}.os-k{font-size:calc(11px*1)!important}.more{font-size:calc(12px*1)!important}.dec blockquote{font-size:clamp(30px,4.4vw,calc(48px*1))!important}.dec .sub{font-size:clamp(14px,1.15vw,calc(17px*1))!important}.fig i{font-size:calc(10px*1)!important}.step h3{font-size:clamp(30px,3.8vw,calc(44px*1))!important}.step p{font-size:clamp(14px,1.1vw,calc(16px*1))!important}.hs-p{font-size:calc(10px*1)!important}.hs-h h2{font-size:clamp(30px,4vw,calc(46px*1))!important}.card .cd{font-size:calc(12px*1)!important}.card h3{font-size:clamp(24px,2.6vw,calc(40px*1))!important}.card span{font-size:calc(10px*1)!important}.idx-s h2{font-size:clamp(30px,4vw,calc(46px*1))!important}.idx a{font-size:clamp(15px,1.4vw,calc(21px*1))!important}.idx a small{font-size:calc(10px*1)!important}.idx a span{font-size:clamp(12px,1vw,calc(14px*1))!important}.idx a i{font-size:calc(12px*1)!important}.end h2{font-size:clamp(46px,8vw,calc(80px*1))!important}.end .sub{font-size:clamp(14px,1.2vw,calc(17px*1))!important}.mail{font-size:clamp(24px,3.4vw,calc(40px*1))!important}.top nav a{font-size:calc(10.5px*1)!important}.btn{font-size:calc(12px*1)!important}.micro{font-size:calc(12.5px*1)!important}.seo{font-size:calc(10.5px*1)!important}.dec h1{font-size:clamp(32px,4.6vw,calc(40px*1))!important}.pf li b{font-size:clamp(20px,2vw,calc(30px*1))!important}.pf li span{font-size:calc(10px*1)!important}.pf-n{font-size:calc(12px*1)!important}.sec-in h2{font-size:clamp(30px,4.2vw,calc(48px*1))!important}.sec-in .sub{font-size:clamp(14px,1.15vw,calc(17px*1))!important}.sec-in .ans{font-size:calc(14px*1)!important}.pc small, .meth small, .prod small{font-size:calc(10px*1)!important}.pc h3{font-size:clamp(22px,2vw,calc(30px*1))!important}.pc p{font-size:calc(14px*1)!important}.pn li, .flow li{font-size:clamp(15px,1.25vw,calc(19px*1))!important}.pn li small, .flow li small{font-size:calc(10px*1)!important}.meth h4, .prod h4{font-size:clamp(16px,1.4vw,calc(21px*1))!important}.meth p, .prod p{font-size:calc(13px*1)!important}.qa summary::after{font-size:calc(26px*1)!important}.qa p{font-size:calc(14px*1)!important}.end h2.long{font-size:clamp(36px,5.6vw,calc(44px*1))!important}.end .mail{font-size:clamp(20px,2.6vw,calc(38px*1))!important}.end .addr{font-size:calc(13px*1)!important}.bt .bcap{font-size:calc(9px*1)!important}.bt.colm p{font-size:calc(12px*1)!important}.vases a{font-size:calc(10px*1)!important}.probs .pc .pn{font-size:clamp(64px,9vw,calc(44px*1))!important}.probs .pc h3{font-size:clamp(20px,2.3vw,calc(34px*1))!important}.btn .bt-a{font-size:calc(16px*1)!important}.lp-c h3{font-size:clamp(22px,2.2vw,calc(34px*1))!important}.lp-c p{font-size:calc(12px*1)!important}.lp-c span{font-size:calc(10px*1)!important}#lia .pn li small,.lia .pn li small{font-size:calc(13px*1)!important}.qa summary{font-size:clamp(18px,2.1vw,calc(30px*1))!important}.qa summary::before{font-size:calc(13px*1)!important}.qa .qa-b p{font-size:clamp(15px,1.2vw,calc(18px*1))!important}.ag-h{font-size:clamp(34px,6vw,calc(44px*1))!important}.sk{font-size:clamp(24px,4vw,calc(44px*1))!important}.sk-f{font-size:clamp(28px,4.6vw,calc(40px*1))!important}.tl-n button{font-size:calc(12px*1)!important}.tl-n button span{font-size:calc(13px*1)!important}.tl-sl .big{font-size:clamp(100px,17vw,calc(120px*1))!important}.tl-sl h4{font-size:clamp(24px,3.4vw,calc(40px*1))!important}.tl-sl p{font-size:clamp(15px,1.25vw,calc(19px*1))!important}.tl-ar button{font-size:calc(18px*1)!important}.lp-o h3{font-size:clamp(26px,2.6vw,calc(40px*1))!important}.lp-b{font-size:calc(12px*1)!important}.lp-b b{font-size:calc(15px*1)!important}.lp-c span.lp-b{font-size:calc(12px*1)!important}.two .pn li small{font-size:calc(13px*1)!important}.two .pn li .mh{font-size:calc(10px*1)!important}.sec-in h2,.os h2{font-size:clamp(32px,4.6vw,calc(40px*1))!important}.mn{font-size:calc(11px*1)!important}#home-co .hs-h h2{font-size:clamp(26px,3.4vw,calc(48px*1))!important}.ar-b b{font-size:calc(15px*1)!important}}@media(min-width:861px) and (max-width:1100px){.brand{font-size:calc(15px*1.2)!important}.hud{font-size:calc(10px*1.2)!important}.dots button span{font-size:calc(10px*1.2)!important}.kick{font-size:calc(11px*1.2)!important}.txt h1{font-size:clamp(calc(44px*1.2),calc(7.2vw*1.2),calc(108px*1.2))!important}.txt h2{font-size:clamp(calc(32px*1.2),calc(4.4vw*1.2),calc(64px*1.2))!important}.txt .lead{font-size:clamp(calc(14px*1.2),calc(1.15vw*1.2),calc(16px*1.2))!important}.go{font-size:calc(12px*1.2)!important}.hint{font-size:calc(10px*1.2)!important}.load{font-size:calc(12px*1.2)!important}.co .lb{font-size:calc(10px*1.2)!important}.intro-br{font-size:calc(12px*1.2)!important}.intro-hint{font-size:calc(10px*1.2)!important}.il p{font-size:clamp(calc(32px*1.2),calc(6vw*1.2),calc(92px*1.2))!important}.il.fin h2{font-size:clamp(calc(40px*1.2),calc(9vw*1.2),calc(150px*1.2))!important}.il.fin span{font-size:clamp(calc(30px*1.2),calc(6.4vw*1.2),calc(104px*1.2))!important}.os-k{font-size:calc(11px*1.2)!important}.more{font-size:calc(12px*1.2)!important}.dec blockquote{font-size:clamp(calc(30px*1.2),calc(4.4vw*1.2),calc(68px*1.2))!important}.dec .sub{font-size:clamp(calc(14px*1.2),calc(1.15vw*1.2),calc(17px*1.2))!important}.fig i{font-size:calc(10px*1.2)!important}.step h3{font-size:clamp(calc(30px*1.2),calc(3.8vw*1.2),calc(58px*1.2))!important}.step p{font-size:clamp(calc(14px*1.2),calc(1.1vw*1.2),calc(16px*1.2))!important}.hs-p{font-size:calc(10px*1.2)!important}.hs-h h2{font-size:clamp(calc(30px*1.2),calc(4vw*1.2),calc(60px*1.2))!important}.card .cd{font-size:calc(12px*1.2)!important}.card h3{font-size:clamp(calc(24px*1.2),calc(2.6vw*1.2),calc(40px*1.2))!important}.card span{font-size:calc(10px*1.2)!important}.idx-s h2{font-size:clamp(calc(30px*1.2),calc(4vw*1.2),calc(60px*1.2))!important}.idx a{font-size:clamp(calc(15px*1.2),calc(1.4vw*1.2),calc(21px*1.2))!important}.idx a small{font-size:calc(10px*1.2)!important}.idx a span{font-size:clamp(calc(12px*1.2),calc(1vw*1.2),calc(14px*1.2))!important}.idx a i{font-size:calc(12px*1.2)!important}.end h2{font-size:clamp(calc(46px*1.2),calc(8vw*1.2),calc(132px*1.2))!important}.end .sub{font-size:clamp(calc(14px*1.2),calc(1.2vw*1.2),calc(17px*1.2))!important}.mail{font-size:clamp(calc(24px*1.2),calc(3.4vw*1.2),calc(52px*1.2))!important}.top nav a{font-size:calc(10.5px*1.2)!important}.btn{font-size:calc(12px*1.2)!important}.micro{font-size:calc(12.5px*1.2)!important}.seo{font-size:calc(10.5px*1.2)!important}.dec h1{font-size:clamp(calc(32px*1.2),calc(4.6vw*1.2),calc(70px*1.2))!important}.pf li b{font-size:clamp(calc(20px*1.2),calc(2vw*1.2),calc(30px*1.2))!important}.pf li span{font-size:calc(10px*1.2)!important}.pf-n{font-size:calc(12px*1.2)!important}.sec-in h2{font-size:clamp(calc(30px*1.2),calc(4.2vw*1.2),calc(62px*1.2))!important}.sec-in .sub{font-size:clamp(calc(14px*1.2),calc(1.15vw*1.2),calc(17px*1.2))!important}.sec-in .ans{font-size:calc(14px*1.2)!important}.pc small, .meth small, .prod small{font-size:calc(10px*1.2)!important}.pc h3{font-size:clamp(calc(22px*1.2),calc(2vw*1.2),calc(30px*1.2))!important}.pc p{font-size:calc(14px*1.2)!important}.pn li, .flow li{font-size:clamp(calc(15px*1.2),calc(1.25vw*1.2),calc(19px*1.2))!important}.pn li small, .flow li small{font-size:calc(10px*1.2)!important}.meth h4, .prod h4{font-size:clamp(calc(16px*1.2),calc(1.4vw*1.2),calc(21px*1.2))!important}.meth p, .prod p{font-size:calc(13px*1.2)!important}.qa summary::after{font-size:calc(26px*1.2)!important}.qa p{font-size:calc(14px*1.2)!important}.end h2.long{font-size:clamp(calc(36px*1.2),calc(5.6vw*1.2),calc(88px*1.2))!important}.end .mail{font-size:clamp(calc(20px*1.2),calc(2.6vw*1.2),calc(38px*1.2))!important}.end .addr{font-size:calc(13px*1.2)!important}.bt .bcap{font-size:calc(9px*1.2)!important}.bt.colm p{font-size:calc(12px*1.2)!important}.vases a{font-size:calc(10px*1.2)!important}.probs .pc .pn{font-size:clamp(calc(64px*1.2),calc(9vw*1.2),calc(150px*1.2))!important}.probs .pc h3{font-size:clamp(calc(20px*1.2),calc(2.3vw*1.2),calc(34px*1.2))!important}.btn .bt-a{font-size:calc(16px*1.2)!important}.lp-c h3{font-size:clamp(calc(22px*1.2),calc(2.2vw*1.2),calc(34px*1.2))!important}.lp-c p{font-size:calc(12px*1.2)!important}.lp-c span{font-size:calc(10px*1.2)!important}#lia .pn li small,.lia .pn li small{font-size:calc(13px*1.2)!important}.qa summary{font-size:clamp(calc(18px*1.2),calc(2.1vw*1.2),calc(30px*1.2))!important}.qa summary::before{font-size:calc(13px*1.2)!important}.qa .qa-b p{font-size:clamp(calc(15px*1.2),calc(1.2vw*1.2),calc(18px*1.2))!important}.ag-h{font-size:clamp(calc(34px*1.2),calc(6vw*1.2),calc(96px*1.2))!important}.sk{font-size:clamp(calc(24px*1.2),calc(4vw*1.2),calc(64px*1.2))!important}.sk-f{font-size:clamp(calc(28px*1.2),calc(4.6vw*1.2),calc(76px*1.2))!important}.tl-n button{font-size:calc(12px*1.2)!important}.tl-n button span{font-size:calc(13px*1.2)!important}.tl-sl .big{font-size:clamp(calc(100px*1.2),calc(17vw*1.2),calc(260px*1.2))!important}.tl-sl h4{font-size:clamp(calc(24px*1.2),calc(3.4vw*1.2),calc(52px*1.2))!important}.tl-sl p{font-size:clamp(calc(15px*1.2),calc(1.25vw*1.2),calc(19px*1.2))!important}.tl-ar button{font-size:calc(18px*1.2)!important}.lp-o h3{font-size:clamp(calc(26px*1.2),calc(2.6vw*1.2),calc(40px*1.2))!important}.lp-b{font-size:calc(12px*1.2)!important}.lp-b b{font-size:calc(15px*1.2)!important}.lp-c span.lp-b{font-size:calc(12px*1.2)!important}.two .pn li small{font-size:calc(13px*1.2)!important}.two .pn li .mh{font-size:calc(10px*1.2)!important}.sec-in h2,.os h2{font-size:clamp(calc(32px*1.2),calc(4.6vw*1.2),calc(72px*1.2))!important}.mn{font-size:calc(11px*1.2)!important}#home-co .hs-h h2{font-size:clamp(calc(26px*1.2),calc(3.4vw*1.2),calc(48px*1.2))!important}.ar-b b{font-size:calc(15px*1.2)!important}}@media(min-width:700px) and (max-width:860px){.brand{font-size:calc(15px*1.25)!important}.hud{font-size:calc(10px*1.25)!important}.dots button span{font-size:calc(10px*1.25)!important}.kick{font-size:calc(11px*1.25)!important}.txt h1{font-size:clamp(calc(44px*1.25),calc(7.2vw*1.25),calc(108px*1.25))!important}.txt h2{font-size:clamp(calc(32px*1.25),calc(4.4vw*1.25),calc(64px*1.25))!important}.txt .lead{font-size:clamp(calc(14px*1.25),calc(1.15vw*1.25),calc(16px*1.25))!important}.go{font-size:calc(12px*1.25)!important}.hint{font-size:calc(10px*1.25)!important}.load{font-size:calc(12px*1.25)!important}.co .lb{font-size:calc(10px*1.25)!important}.intro-br{font-size:calc(12px*1.25)!important}.intro-hint{font-size:calc(10px*1.25)!important}.il p{font-size:clamp(calc(32px*1.25),calc(6vw*1.25),calc(92px*1.25))!important}.il.fin h2{font-size:clamp(calc(40px*1.25),calc(9vw*1.25),calc(150px*1.25))!important}.il.fin span{font-size:clamp(calc(30px*1.25),calc(6.4vw*1.25),calc(104px*1.25))!important}.os-k{font-size:calc(11px*1.25)!important}.more{font-size:calc(12px*1.25)!important}.dec blockquote{font-size:clamp(calc(30px*1.25),calc(4.4vw*1.25),calc(68px*1.25))!important}.dec .sub{font-size:clamp(calc(14px*1.25),calc(1.15vw*1.25),calc(17px*1.25))!important}.fig i{font-size:calc(10px*1.25)!important}.step h3{font-size:clamp(calc(30px*1.25),calc(3.8vw*1.25),calc(58px*1.25))!important}.step p{font-size:clamp(calc(14px*1.25),calc(1.1vw*1.25),calc(16px*1.25))!important}.hs-p{font-size:calc(10px*1.25)!important}.hs-h h2{font-size:clamp(calc(30px*1.25),calc(4vw*1.25),calc(60px*1.25))!important}.card .cd{font-size:calc(12px*1.25)!important}.card h3{font-size:clamp(calc(24px*1.25),calc(2.6vw*1.25),calc(40px*1.25))!important}.card span{font-size:calc(10px*1.25)!important}.idx-s h2{font-size:clamp(calc(30px*1.25),calc(4vw*1.25),calc(60px*1.25))!important}.idx a{font-size:clamp(calc(15px*1.25),calc(1.4vw*1.25),calc(21px*1.25))!important}.idx a small{font-size:calc(10px*1.25)!important}.idx a span{font-size:clamp(calc(12px*1.25),calc(1vw*1.25),calc(14px*1.25))!important}.idx a i{font-size:calc(12px*1.25)!important}.end h2{font-size:clamp(calc(46px*1.25),calc(8vw*1.25),calc(132px*1.25))!important}.end .sub{font-size:clamp(calc(14px*1.25),calc(1.2vw*1.25),calc(17px*1.25))!important}.mail{font-size:clamp(calc(24px*1.25),calc(3.4vw*1.25),calc(52px*1.25))!important}.top nav a{font-size:calc(10.5px*1.25)!important}.btn{font-size:calc(12px*1.25)!important}.micro{font-size:calc(12.5px*1.25)!important}.seo{font-size:calc(10.5px*1.25)!important}.dec h1{font-size:clamp(calc(32px*1.25),calc(4.6vw*1.25),calc(70px*1.25))!important}.pf li b{font-size:clamp(calc(20px*1.25),calc(2vw*1.25),calc(30px*1.25))!important}.pf li span{font-size:calc(10px*1.25)!important}.pf-n{font-size:calc(12px*1.25)!important}.sec-in h2{font-size:clamp(calc(30px*1.25),calc(4.2vw*1.25),calc(62px*1.25))!important}.sec-in .sub{font-size:clamp(calc(14px*1.25),calc(1.15vw*1.25),calc(17px*1.25))!important}.sec-in .ans{font-size:calc(14px*1.25)!important}.pc small, .meth small, .prod small{font-size:calc(10px*1.25)!important}.pc h3{font-size:clamp(calc(22px*1.25),calc(2vw*1.25),calc(30px*1.25))!important}.pc p{font-size:calc(14px*1.25)!important}.pn li, .flow li{font-size:clamp(calc(15px*1.25),calc(1.25vw*1.25),calc(19px*1.25))!important}.pn li small, .flow li small{font-size:calc(10px*1.25)!important}.meth h4, .prod h4{font-size:clamp(calc(16px*1.25),calc(1.4vw*1.25),calc(21px*1.25))!important}.meth p, .prod p{font-size:calc(13px*1.25)!important}.qa summary::after{font-size:calc(26px*1.25)!important}.qa p{font-size:calc(14px*1.25)!important}.end h2.long{font-size:clamp(calc(36px*1.25),calc(5.6vw*1.25),calc(88px*1.25))!important}.end .mail{font-size:clamp(calc(20px*1.25),calc(2.6vw*1.25),calc(38px*1.25))!important}.end .addr{font-size:calc(13px*1.25)!important}.bt .bcap{font-size:calc(9px*1.25)!important}.bt.colm p{font-size:calc(12px*1.25)!important}.vases a{font-size:calc(10px*1.25)!important}.wa{font-size:calc(11px*1.25)!important}.probs .pc h3{font-size:clamp(calc(20px*1.25),calc(2.3vw*1.25),calc(34px*1.25))!important}.probs .pc .pn{font-size:calc(64px*1.25)!important}.btn .bt-a{font-size:calc(16px*1.25)!important}.lp-c h3{font-size:clamp(calc(22px*1.25),calc(2.2vw*1.25),calc(34px*1.25))!important}.lp-c p{font-size:calc(12px*1.25)!important}.lp-c span{font-size:calc(10px*1.25)!important}#lia .pn li small,.lia .pn li small{font-size:calc(13px*1.25)!important}.qa summary{font-size:clamp(calc(18px*1.25),calc(2.1vw*1.25),calc(30px*1.25))!important}.qa summary::before{font-size:calc(13px*1.25)!important}.qa .qa-b p{font-size:clamp(calc(15px*1.25),calc(1.2vw*1.25),calc(18px*1.25))!important}.ag-h{font-size:clamp(calc(34px*1.25),calc(6vw*1.25),calc(96px*1.25))!important}.sk{font-size:clamp(calc(24px*1.25),calc(4vw*1.25),calc(64px*1.25))!important}.sk-f{font-size:clamp(calc(28px*1.25),calc(4.6vw*1.25),calc(76px*1.25))!important}.tl-n button{font-size:calc(12px*1.25)!important}.tl-n button span{font-size:calc(13px*1.25)!important}.tl-sl h4{font-size:clamp(calc(24px*1.25),calc(3.4vw*1.25),calc(52px*1.25))!important}.tl-sl p{font-size:clamp(calc(15px*1.25),calc(1.25vw*1.25),calc(19px*1.25))!important}.tl-ar button{font-size:calc(18px*1.25)!important}.tl-sl .big{font-size:calc(96px*1.25)!important}.lp-o h3{font-size:clamp(calc(26px*1.25),calc(2.6vw*1.25),calc(40px*1.25))!important}.lp-b{font-size:calc(12px*1.25)!important}.lp-b b{font-size:calc(15px*1.25)!important}.lp-c span.lp-b{font-size:calc(12px*1.25)!important}.two .pn li small{font-size:calc(13px*1.25)!important}.two .pn li .mh{font-size:calc(10px*1.25)!important}.sec-in h2,.os h2{font-size:clamp(calc(32px*1.25),calc(4.6vw*1.25),calc(72px*1.25))!important}.mn{font-size:calc(11px*1.25)!important}.top nav a.nb{font-size:calc(10px*1.25)!important}.mnav a.l{font-size:clamp(calc(22px*1.25),calc(min(8vw*1.25),calc(6.2vh),44px*1.25))!important}.tbl th,.tbl td{font-size:calc(13px*1.25)!important}.tbl th{font-size:calc(9.5px*1.25)!important}#home-co .hs-h h2{font-size:clamp(calc(26px*1.25),calc(3.4vw*1.25),calc(48px*1.25))!important}.ar-b b{font-size:calc(15px*1.25)!important}}/*RESP-END*//*ALIGN-START*/:root{--k:1}@media(min-width:1700px){:root{--k:1}}@media(min-width:2200px){:root{--k:1}}@media(min-width:3000px){:root{--k:1}}
@media(max-width:700px){:root{--gutter:max(22px,env(safe-area-inset-left,0px))}}
:root{--cwx:max(var(--gutter),calc((100vw - 1180px*var(--k))/2))}
.top{padding-left:var(--cwx)!important;padding-right:var(--cwx)!important}
.intro-br{display:none!important}
.hs.lp .hs-h{padding-inline:var(--cwx)!important}
#faq .sec-in.narrow{max-width:calc(1180px*var(--k))!important}
.pin-st{padding-inline:var(--cwx)!important}
/*ALIGN-END*//*RHYTHM-START*/
@media(max-width:860px){
.pin-st{grid-template-rows:auto minmax(0,1fr)!important;align-content:start!important;gap:0!important;padding-top:88px!important}
.pin-tx{height:clamp(190px,30svh,270px)!important;align-self:start!important;max-width:none!important}
.pin-ob{height:100%!important}
.probs .g3{display:block!important;height:auto!important}
.probs .pc{flex:none!important;height:auto!important;min-height:0!important;padding-block:26px!important}
.probs .pc .pn{font-size:clamp(48px,12vw,72px)!important}
.dec{min-height:0!important;padding-block:clamp(48px,8svh,84px)!important}
.pre .dec{padding-bottom:clamp(40px,7svh,70px)!important}
.probs,.svc,.faq,.idx-s{padding-block:clamp(40px,6svh,80px)!important}
.os.svc .sec-in{padding-top:52px!important;padding-bottom:72px!important}
.end{min-height:0!important;padding-block:clamp(64px,9svh,100px) 80px!important}
.sk-w{margin-top:clamp(22px,4svh,44px)!important}
#ai .meth{margin-top:clamp(28px,5svh,56px)!important}
.tl-st{min-height:clamp(170px,24svh,250px)!important}
.tl-ar{display:none!important}
.wa{bottom:12px!important;right:12px!important;padding:9px 12px!important;font-size:10px!important;letter-spacing:.1em!important}
}
@media(min-width:861px) and (max-width:1100px){
.dec{min-height:0!important;padding-block:clamp(60px,9svh,100px)!important}
.probs,.svc,.faq,.idx-s{padding-block:clamp(56px,8svh,100px)!important}
.os.svc .sec-in{padding-top:60px!important;padding-bottom:76px!important}
.end{min-height:0!important}
.tl-ar{display:none!important}
}
@media(min-width:1101px){
.probs,.svc,.faq,.idx-s{padding-block:clamp(70px,10svh,130px)!important}
.os.svc .sec-in{padding-top:70px!important;padding-bottom:80px!important}
.tl-ar{display:none!important}
}
/*RHYTHM-END*//*SV-FIX*/.sv{mix-blend-mode:normal!important;background:#05070d}/*SV-FIX-END*//*FADE-START*/@media(max-width:1100px){.probs .pc::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(90deg,rgba(5,7,13,.94) 0%,rgba(5,7,13,.82) 42%,rgba(5,7,13,.25) 78%,rgba(5,7,13,0) 100%),linear-gradient(0deg,rgba(5,7,13,.8) 0%,rgba(5,7,13,0) 55%)}.probs .pc>*{position:relative;z-index:1}.probs .pc .st{z-index:0!important}}/*FADE-END*//*LAND-START*/@media(max-width:1000px) and (max-height:520px){.pin-st{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr)!important;align-items:center!important;align-content:center!important;padding-top:58px!important;gap:16px!important}.pin-tx{height:auto!important;min-height:150px;align-self:center!important}.sv{width:min(140%,150vh)!important}.dec,.probs,.svc,.faq,.idx-s{padding-block:40px!important}.wa{bottom:8px!important;right:8px!important}}/*LAND-END*/
/* WordPress admin bar */
body.admin-bar header.top{top:32px}
@media (max-width:782px){body.admin-bar header.top{top:46px}}


/* ===== software page (Netlify) ===== */
.sl{text-decoration:none;color:#2d6bff;font-family:'JetBrains Mono',ui-monospace,monospace;font-weight:500}
.swc{width:min(340px,100%);margin-top:30px;background:rgba(10,15,28,.82);border:1px solid rgba(45,107,255,.35);border-radius:12px;overflow:hidden;backdrop-filter:blur(6px);box-shadow:0 24px 60px rgba(0,0,0,.4)}
.swc-b{display:flex;align-items:center;gap:6px;padding:9px 12px;background:rgba(255,255,255,.04);border-bottom:1px solid rgba(255,255,255,.07)}
.swc-b span{width:8px;height:8px;border-radius:50%;background:#2a3350}.swc-b span:first-child{background:#2d6bff}
.swc-b em{margin-left:8px;font:500 11px 'JetBrains Mono',monospace;font-style:normal;color:#6b7a99}
.swc pre{margin:0;padding:14px 16px;font:400 12.5px/1.8 'JetBrains Mono',ui-monospace,monospace;color:#cfd8ee;white-space:pre}
.swc .k{color:#6aa0ff;font-style:normal}.swc .f{color:#fff;font-style:normal;font-weight:700}.swc .c{color:#566283;font-style:normal}
@media(max-width:860px){.swc{display:none}.swi .swc{display:block}}
.swi{background:#05070d;padding:clamp(40px,8vh,90px) max(var(--gutter),calc((100vw - 1500px)/2)) clamp(40px,8vh,90px)}
.swi-in{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:clamp(24px,5vw,90px);align-items:start}
.swi-p{margin:0;font-weight:700;font-size:clamp(20px,2.4vw,36px);line-height:1.22;letter-spacing:-.03em;color:#fff;max-width:34ch}
.swi .swc{margin:0;justify-self:end}
@media(max-width:860px){.swi-in{grid-template-columns:1fr}.swi .swc{display:block;justify-self:start}}

.cs-hero{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(80px,11vh,110px) max(var(--gutter),calc((100vw - 1500px)/2)) 0;background:#05070d;overflow:visible}
.cs-top{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;position:relative;z-index:3}
.cs-h1{margin:0;font-weight:800;text-transform:uppercase;font-size:clamp(28px,4.4vw,70px);line-height:.98;letter-spacing:-.04em;color:#fff;max-width:20ch}
.cs-giant{margin-top:auto;line-height:.86;white-space:nowrap;overflow:visible;padding-bottom:.04em;position:relative;z-index:1}
.cs-giant span{display:inline-block;font-weight:600;letter-spacing:-.045em;color:#f4f6ff;font-size:clamp(60px,18vw,330px);line-height:1.12;padding-bottom:.04em;opacity:0;transition:opacity 1s}
.cs-hero.in .cs-giant span{opacity:1}

/* software hero — posizioni come Netlify */
.swhero{
  position:relative;
  width:100%!important;
  max-width:none!important;
  box-sizing:border-box;
  min-height:calc(100svh + var(--gh,0px) * .36)!important;
  padding:clamp(80px,11vh,110px) max(var(--gutter),calc((100vw - 1500px)/2)) 0!important;
  padding-left:var(--cwx,max(var(--gutter),calc((100vw - 1500px)/2)))!important;
  padding-right:var(--cwx,max(var(--gutter),calc((100vw - 1500px)/2)))!important;
  padding-bottom:0!important;
  overflow:visible!important;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  background:#05070d;
}
.swhero .cs-top{position:relative;z-index:3}
.swhero .cs-h1{
  margin:0;
  font-weight:700!important;
  text-transform:uppercase;
  font-size:clamp(16px,1.75vw,28px)!important;
  line-height:1.12!important;
  letter-spacing:-.01em!important;
  color:#fff;
  max-width:none!important;
}
.swhero .cs-giant{
  position:relative;
  z-index:1;
  width:100%;
  margin-top:auto!important;
  line-height:1!important;
  height:auto!important;
  padding:0!important;
  overflow:visible!important;
  white-space:nowrap;
  cursor:default;
}
.swhero .cs-giant span{
  display:inline-block;
  font-weight:600!important;
  letter-spacing:-.045em!important;
  line-height:1.12!important;
  padding-bottom:.04em;
  color:#f4f6ff;
  transform:none!important;
  opacity:0;
  transition:opacity 1s!important;
}
.swhero.in .cs-giant span{opacity:1}
.sws{
  position:absolute;
  z-index:2;
  right:max(2vw,calc((100vw - 1500px)/2));
  top:clamp(70px,9vh,110px);
  bottom:auto;
  height:min(calc(100svh - clamp(70px,9vh,110px) + 40px),880px);
  aspect-ratio:1/1;
  max-width:60vw;
  cursor:crosshair;
  --mx:-300px;
  --my:-300px;
}
.sws img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:bottom center;display:block;pointer-events:none;filter:drop-shadow(0 30px 80px rgba(45,107,255,.3))}
.sws .g1,.sws .g2{opacity:0;mix-blend-mode:screen;filter:none}
.sws .g1{filter:brightness(.9) sepia(1) hue-rotate(185deg) saturate(8)!important}
.sws .g2{filter:brightness(.8) sepia(1) hue-rotate(300deg) saturate(6)!important}
.sws.gl .g1{animation:swg1 .5s steps(1) 1}.sws.gl .g2{animation:swg2 .5s steps(1) 1}.sws.gl .b{animation:swgb .5s steps(1) 1}
@keyframes swg1{0%{opacity:1;clip-path:inset(12% 0 70% 0);transform:translateX(-14px)}20%{clip-path:inset(40% 0 38% 0);transform:translateX(12px)}40%{clip-path:inset(70% 0 8% 0);transform:translateX(-9px)}60%{clip-path:inset(5% 0 80% 0);transform:translateX(16px)}80%{clip-path:inset(55% 0 25% 0);transform:translateX(-6px)}100%{opacity:0}}
@keyframes swg2{0%{opacity:1;clip-path:inset(60% 0 22% 0);transform:translateX(14px)}25%{clip-path:inset(20% 0 60% 0);transform:translateX(-12px)}50%{clip-path:inset(82% 0 4% 0);transform:translateX(10px)}75%{clip-path:inset(34% 0 46% 0);transform:translateX(-14px)}100%{opacity:0}}
@keyframes swgb{0%{transform:translateX(5px)}30%{transform:translateX(-4px) skewX(2deg)}60%{transform:translateX(3px)}100%{transform:none}}
.sw-code{position:absolute;inset:0;overflow:hidden;pointer-events:none;
 -webkit-mask:url(pn_software.png) bottom center/contain no-repeat,radial-gradient(circle 170px at var(--mx) var(--my),#000 20%,transparent 100%);-webkit-mask-composite:source-in;
 mask:url(pn_software.png) bottom center/contain no-repeat intersect,radial-gradient(circle 170px at var(--mx) var(--my),#000 20%,transparent 100%) intersect;mask-composite:intersect;
 background:#05070d;opacity:.96}
.sw-code pre{margin:0;padding:12px;font:500 12px/1.5 'JetBrains Mono',ui-monospace,monospace;color:#6aa0ff;white-space:pre;animation:swcs 18s linear infinite;text-shadow:0 0 10px rgba(45,107,255,.8)}
@keyframes swcs{to{transform:translateY(-50%)}}
@media(prefers-reduced-motion:reduce){.sw-code pre{animation:none}.sws.gl *{animation:none!important}}
.sws .g1,.sws .g2{-webkit-mask:url(pn_software.png) bottom center/contain no-repeat;mask:url(pn_software.png) bottom center/contain no-repeat}.sw-code pre{color:#8fb4ff}

/* "Software": piena dietro, contorno bianco solo sulla sagoma della statua */
.swhero .cs-giant.swol{position:absolute!important;left:var(--cwx,max(var(--gutter),calc((100vw - 1500px)/2)));right:var(--cwx,max(var(--gutter),calc((100vw - 1500px)/2)));bottom:0;margin:0!important;z-index:4!important;pointer-events:none;width:auto}
.swhero .cs-giant:not(.swol) span{opacity:1!important}
.swol span{color:#fff!important;-webkit-text-stroke:0!important;mix-blend-mode:normal!important;filter:url(#olw)}
.swhero .cs-giant.swol{
  -webkit-mask-image:url(pn_software.png);mask-image:url(pn_software.png);
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-size:var(--ms,0px) var(--ms,0px);mask-size:var(--ms,0px) var(--ms,0px);
  -webkit-mask-position:var(--mx0,0px) var(--my0,0px);mask-position:var(--mx0,0px) var(--my0,0px);
  mix-blend-mode:normal;
}
.swv2{position:relative;height:100svh;background:#05070d}
.swv2-st{position:relative;height:100svh;overflow:hidden;background:#05070d}
.swv2-st video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.swv2-sh{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,7,13,.85),rgba(5,7,13,.2) 55%,transparent),linear-gradient(0deg,rgba(5,7,13,.85),transparent 40%)}
.swv2-tx{position:absolute;left:max(var(--gutter),calc((100vw - 1400px)/2));bottom:clamp(90px,16vh,170px);width:min(620px,calc(100% - 2*var(--gutter)));z-index:5}
.swv2-t{position:absolute;left:0;bottom:0;width:100%;opacity:0;transform:translateY(28px);transition:opacity .5s,transform .7s cubic-bezier(.16,1,.3,1);pointer-events:none}
.swv2-t.on{opacity:1;transform:none}
.swv2-t small{display:block;font:600 12px Montserrat,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#cfd8ee;margin-bottom:14px}
.swv2-t small code{font:500 12px 'JetBrains Mono',ui-monospace,monospace;letter-spacing:0;text-transform:none;color:#6aa0ff}
.swv2-t h3{margin:0;font-weight:800;font-size:clamp(30px,5vw,72px);line-height:1;letter-spacing:-.045em;color:#fff}
.swv2-t p{margin:14px 0 0;font-size:clamp(14px,1.4vw,19px);line-height:1.5;color:#cfd8ee;max-width:42ch}
.swv2-nv{position:absolute;right:max(var(--gutter),calc((100vw - 1400px)/2));top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:14px;align-items:flex-end}
.swv2-nv i{display:flex;align-items:center;gap:10px;font-style:normal;color:#566283;font:600 11px Montserrat,sans-serif;letter-spacing:.12em;text-transform:uppercase;transition:color .3s}
.swv2-nv i::after{content:"";width:8px;height:8px;border-radius:50%;border:1.5px solid currentColor;transition:background .3s,transform .3s}
.swv2-nv i.on{color:#fff}.swv2-nv i.on::after{background:#2d6bff;border-color:#2d6bff;transform:scale(1.4)}
.swv2-bar{position:absolute;left:0;right:0;bottom:0;height:3px;background:rgba(255,255,255,.1)}.swv2-bar i{display:block;height:100%;width:100%;background:#2d6bff;transform-origin:0 50%;transform:scaleX(var(--p,0))}
.swv2-cta{position:absolute;right:max(var(--gutter),calc((100vw - 1400px)/2));bottom:clamp(30px,6vh,60px);padding:14px 26px;border-radius:999px;background:#2d6bff;color:#fff;text-decoration:none;font:700 12px Montserrat,sans-serif;letter-spacing:.1em;text-transform:uppercase;opacity:0;pointer-events:none;transition:opacity .5s,transform .3s;z-index:5}
.swv2.end .swv2-cta{opacity:1;pointer-events:auto}.swv2-cta:hover{transform:translateY(-2px);background:#4a82ff}
@media(max-width:760px){.swv2-nv{display:none}.swv2-t h3{font-size:clamp(28px,9vw,44px)}}
.swv2-fx{position:absolute;inset:0;pointer-events:none;z-index:1;--mx:50%;--my:45%}
.swv2-grid{position:absolute;inset:0;background-image:radial-gradient(circle,rgba(110,160,255,.55) 1px,transparent 1.4px);background-size:34px 34px;opacity:.55;-webkit-mask-image:radial-gradient(circle 260px at var(--mx) var(--my),#000,transparent 100%);mask-image:radial-gradient(circle 260px at var(--mx) var(--my),#000,transparent 100%)}
.swv2-fx::after{content:"";position:absolute;inset:0;background:radial-gradient(circle 380px at var(--mx) var(--my),rgba(45,107,255,.14),transparent 100%);mix-blend-mode:screen}
.swv2-scan{position:absolute;left:0;right:0;top:calc(var(--p,0)*100%);height:1px;background:linear-gradient(90deg,transparent,rgba(106,160,255,.55) 30%,rgba(106,160,255,.55) 70%,transparent);box-shadow:0 0 16px rgba(45,107,255,.6)}
.swv2-hud{position:absolute;inset:0;z-index:2;pointer-events:none;font-family:'JetBrains Mono',ui-monospace,Menlo,monospace}
.swv2-top{position:absolute;top:calc(84px + env(safe-area-inset-top,0px));left:max(var(--gutter),calc((100vw - 1400px)/2));right:max(var(--gutter),calc((100vw - 1400px)/2));display:flex;justify-content:space-between;font-size:11px;letter-spacing:.18em;color:#9fb4e6;font-weight:500}
.swv2-top span:first-child::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#2d6bff;margin-right:10px;vertical-align:1px;box-shadow:0 0 10px #2d6bff}
.swv2-cnt b{color:#fff;font-weight:700}
.swv2-br{position:absolute;left:50%;top:44%;width:min(27vw,430px);aspect-ratio:1;transform:translate(-50%,-50%)}
.swv2-br i{position:absolute;width:18px;height:18px;border:1.5px solid #6aa0ff;opacity:0}
.swv2-br i:nth-child(1){left:0;top:0;border-right:0;border-bottom:0}.swv2-br i:nth-child(2){right:0;top:0;border-left:0;border-bottom:0}
.swv2-br i:nth-child(3){left:0;bottom:0;border-right:0;border-top:0}.swv2-br i:nth-child(4){right:0;bottom:0;border-left:0;border-top:0}
.swv2-cl{position:absolute;left:calc(50% + min(19vw,310px));top:calc(44% - min(10vw,140px));visibility:hidden}
.swv2-cl .ln{position:absolute;left:calc(-1*min(5vw,80px));top:7px;width:min(5vw,80px);height:1px;background:linear-gradient(90deg,rgba(106,160,255,0),#6aa0ff);transform-origin:0 50%;transform:scaleX(0);display:block}
.swv2-cl .bx{position:relative;padding:0 0 0 14px;border-left:1.5px solid #2d6bff;transform-origin:0 0}
.swv2-cl small{display:block;font-size:11px;letter-spacing:.2em;color:#6aa0ff;margin-bottom:6px}
.swv2-cl b{display:block;font-size:clamp(20px,2.4vw,34px);font-weight:700;letter-spacing:.06em;color:#fff;line-height:1}
.swv2-cl code{display:block;margin-top:8px;font-size:13px;color:#9fb4e6}
@media(max-width:860px){.swv2-br{top:38%;width:44vmin}.swv2-cl{left:50%;transform:translateX(-50%);top:calc(38% + 25vmin);text-align:center}.swv2-cl .ln{display:none}.swv2-cl .bx{border-left:0;padding:0}.swv2-top{font-size:10px}.swv2-grid{opacity:.35}}
.swv2-st video{inset:auto!important;left:50%!important;top:44%!important;width:min(62vw,1100px)!important;height:auto!important;aspect-ratio:16/9;transform:translate(-50%,-50%);object-fit:cover;-webkit-mask-image:radial-gradient(ellipse 50% 50% at 50% 50%,#000 55%,transparent 100%);mask-image:radial-gradient(ellipse 50% 50% at 50% 50%,#000 55%,transparent 100%)}
.swv2-scan,.swv2-top{display:none!important}
.swv2-br{width:min(17vw,280px)}
.swv2-cl{left:calc(50% + min(12.5vw,200px));top:calc(44% - min(6vw,100px))}
.swv2-cl .ln{left:calc(-1*min(4vw,64px));width:min(4vw,64px)}
@media(max-width:860px){.swv2-st video{width:150vw!important;top:38%!important}.swv2-br{width:34vmin}.swv2-cl{left:50%;top:calc(38% + 20vmin)}}

@media(max-width:860px) and (orientation:portrait),(max-width:600px){
.swhero{min-height:0!important;padding-top:calc(86px + env(safe-area-inset-top,0px))!important;padding-bottom:0!important;justify-content:flex-start!important;overflow:hidden!important}
.swhero .cs-h1{font-size:clamp(20px,6vw,34px)!important;line-height:1.05!important;letter-spacing:-.03em!important;text-transform:uppercase}
.swhero .sws{position:relative;right:auto;top:auto;bottom:auto;height:auto;width:min(100%,640px);aspect-ratio:1/1;max-width:100%;margin:clamp(6px,2vh,24px) auto 0;cursor:default}
.swhero .cs-giant:not(.swol){margin-top:calc(var(--gh,80px) * -.42)!important;position:relative;z-index:1}
.swhero .cs-giant.swol{display:block}
.swhero .sw-code pre{font-size:10px}
}
@media(max-width:760px){
.swv2-sh{background:linear-gradient(0deg,rgba(5,7,13,.95),rgba(5,7,13,.55) 45%,rgba(5,7,13,.1) 75%),linear-gradient(180deg,rgba(5,7,13,.7),transparent 22%)}
.swv2-tx{left:max(20px,env(safe-area-inset-left,0px));width:calc(100% - 40px);bottom:max(150px,21svh)}
.swv2-t h3{text-shadow:0 2px 24px rgba(0,0,0,.7);font-size:clamp(28px,9vw,44px)}
.swv2-t p{max-width:34ch}
.swv2-cta{left:max(20px,env(safe-area-inset-left,0px));right:auto;bottom:calc(78px + env(safe-area-inset-bottom,0px));padding:15px 24px;min-height:46px}
.swv2-br{top:38%;width:44vmin}
.swv2-cl{left:50%;transform:translateX(-50%);top:calc(38% + 25vmin);text-align:center}
.swv2-cl .ln{display:none}
.swv2-st video{width:150vw!important;top:38%!important}
}
.meth.steps{position:relative;padding-top:50px;grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:860px){.meth.steps{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.meth .mc{position:absolute;left:0;top:0;width:100%;height:40px;overflow:visible;pointer-events:none}
.meth .mc path{stroke-dasharray:1;stroke-dashoffset:1}
.meth.steps .mc path,.agenti-ai .meth .mc path{stroke-dasharray:none;stroke-dashoffset:0}
.meth .num{display:block;font-weight:600;font-size:clamp(46px,5.4vw,84px);line-height:1;letter-spacing:-.04em;color:transparent;-webkit-text-stroke:1px rgba(143,178,255,.7);margin-bottom:12px}
.software .swv2,.swv2{z-index:2}

/* ===== SOCIAL: profilo Instagram ===== */
body.ig{background:#05070d}
main.ig{background:#05070d;padding-top:96px;min-height:100vh}
.ig-w1{width:min(935px,100% - 2*var(--gutter));margin:0 auto}
.ig-top{display:grid;grid-template-columns:auto 1fr;gap:clamp(24px,7vw,96px);align-items:center;padding:clamp(24px,5vh,56px) 0 30px}
.ig-av{position:relative;width:clamp(96px,17vw,166px);aspect-ratio:1;border-radius:50%;padding:4px;background:transparent;isolation:isolate;transform-origin:50% 50%;will-change:transform}
.ig-av-ring{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 200deg,#2d6bff,#8fb4ff,#fff,#2d6bff);z-index:0;pointer-events:none}
.ig-av i{position:relative;z-index:1;display:block;width:100%;height:100%;border-radius:50%;background:#05070d;padding:4px}
.ig-av img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}
.ig-u{display:flex;align-items:center;flex-wrap:wrap;gap:12px}
.ig-u h1{margin:0 6px 0 0;font-weight:500;font-size:clamp(20px,2.2vw,26px);letter-spacing:-.01em;color:#fff}
.ig-v{width:18px;height:18px;border-radius:50%;background:#2d6bff;color:#fff;font-size:11px;display:grid;place-items:center}
.ig-f,.ig-m{display:inline-block;padding:8px 18px;border-radius:9px;font:600 13.5px Montserrat,sans-serif;text-decoration:none;transition:background .25s,transform .25s}
.ig-f{background:#2d6bff;color:#fff}.ig-f:hover{background:#4a82ff;transform:translateY(-1px)}
.ig-m{background:#1a2033;color:#fff}.ig-m:hover{background:#252d45}
.ig-st{display:flex;gap:clamp(18px,4vw,40px);list-style:none;margin:20px 0 0;padding:0;color:#cfd8ee;font-size:15px}.ig-st b{color:#fff;font-weight:700;font-size:16px}
.ig-b{margin-top:18px;font-size:14.5px;line-height:1.5;color:#cfd8ee}.ig-b strong{display:block;color:#fff;font-weight:700}.ig-b span{display:block;color:#7a869f;font-size:13px;margin-bottom:6px}.ig-b p{margin:0 0 6px}.ig-b a{color:#6aa0ff;font-weight:600;text-decoration:none}
.ig-hls{display:flex;gap:clamp(16px,3vw,34px);overflow-x:auto;padding:6px 2px 26px;scrollbar-width:none}.ig-hls::-webkit-scrollbar{display:none}
.ig-h{all:unset;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:8px;flex:none;color:#cfd8ee;font:500 12.5px Montserrat,sans-serif}
.ig-h i{display:block;width:clamp(62px,8vw,80px);aspect-ratio:1;border-radius:50%;padding:3px;border:2px solid #2d6bff;transition:transform .35s cubic-bezier(.16,1,.3,1),border-color .3s}
.ig-h img{width:100%;height:100%;border-radius:50%;object-fit:cover;background:#0e1424;display:block}
.ig-h:hover i{transform:scale(1.08);border-color:#fff}
.ig-h.pulse i{animation:igp .9s}@keyframes igp{50%{transform:scale(1.18);box-shadow:0 0 0 8px rgba(45,107,255,.25)}}
.ig-feed{border-top:1px solid #1a2033}
.ig-tabs{display:flex;justify-content:center;gap:clamp(28px,7vw,70px)}
.ig-tabs button{all:unset;cursor:pointer;display:flex;align-items:center;gap:8px;padding:16px 4px;margin-top:-1px;border-top:1.5px solid transparent;color:#6b7893;font:600 12px Montserrat,sans-serif;letter-spacing:.14em;text-transform:uppercase;transition:color .2s,border-color .2s}
.ig-tabs button.on{color:#fff;border-top-color:#fff}.ig-tabs button:hover{color:#fff}
.ig-pack{
  padding:clamp(48px,9vh,110px) 0 clamp(40px,7vh,80px);
  overflow:visible;
  background:#fff;
  color:#0a0f1a;
}
.ig-pack .ig-h2{color:#0a0f1a}
.ig-pack .ig-cap{color:#4a5568}
.ig-pack .ig-vol{border-top-color:#e4e7ef;border-bottom-color:#e4e7ef}
.ig-pack .ig-vol b{color:#0a0f1a}
.ig-pack .ig-vol span{color:#6b7289}
.ig-post-film{overflow:visible;background:transparent;border:0;border-radius:0;margin:clamp(40px,7vw,80px) 0}
.ig-post-film header,.ig-post-film footer{width:min(935px,100%);margin-inline:auto;box-sizing:border-box}
.ig-post-film header{padding-inline:0;margin-bottom:clamp(22px,4vw,36px);color:#0a0f1a}
.ig-post-film header b{color:#0a0f1a}
.ig-post-film header em{color:#6b7289}
.ig-post-film footer{padding-inline:0;padding-top:clamp(22px,4vw,36px);color:#4a5568}
.ig-post-film footer b{color:#0a0f1a}
.ig-post-film .ig-lk{color:#0a0f1a}
.ig-post-film .ig-lk.on{color:#2d6bff}
/* fascia film come volantino Cinema: 5 fotogrammi, full-bleed, leggermente storta */
.ig-post-film .ig-car{
  --film:#07102a;
  --band:28px;
  position:relative;
  width:calc(100vw + 6vw);
  max-width:none;
  margin-left:calc(50% - 50vw - 1.5vw);
  aspect-ratio:auto;
  max-height:none;
  height:auto;
  border-radius:0;
  background:var(--film);
  box-sizing:border-box;
  overflow:hidden;
  transform:rotate(-2.5deg);
  transform-origin:50% 50%;
  box-shadow:0 28px 70px rgba(0,0,0,.55);
  padding:0;
}
/* fori sulla track: su mobile seguono tutta la larghezza scrollabile */
.ig-post-film .ig-tr{
  display:flex;
  align-items:stretch;
  gap:clamp(10px,1.4vw,18px);
  height:auto;
  width:100%;
  position:relative;
  background:var(--film);
  /* step 01 leggermente tagliato a sinistra, come sul volantino */
  padding:calc(var(--band) + clamp(14px,2vw,22px)) clamp(36px,6vw,80px) calc(var(--band) + clamp(14px,2vw,22px)) clamp(28px,4.5vw,56px);
  box-sizing:border-box;
  transition:none;
  transform:none!important;
}
.ig-post-film .ig-tr::before,
.ig-post-film .ig-tr::after{
  content:"";position:absolute;left:0;right:0;height:var(--band);z-index:5;pointer-events:none;
  background-color:var(--film);
  background-image:repeating-linear-gradient(90deg,
    transparent 0 7px,
    #eef2ff 7px 18px,
    transparent 18px 26px);
  background-size:26px 12px;
  background-repeat:repeat-x;
  background-position:left center;
}
.ig-post-film .ig-tr::before{top:0}
.ig-post-film .ig-tr::after{bottom:0}
.ig-se{display:block;margin:6px 0 20px}.ig-se input{all:unset;box-sizing:border-box;width:100%;padding:11px 16px;border-radius:10px;background:#0e1424;border:1px solid #1a2033;color:#fff;font:500 14px Montserrat,sans-serif}.ig-se input::placeholder{color:#566283}.ig-se input:focus{border-color:#2d6bff}
.ig-pan{display:none}.ig-pan.on{display:block}
.ig-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(3px,.6vw,6px)}
.ig-t{position:relative;aspect-ratio:1;overflow:hidden;background:#0e1424 center/cover no-repeat;color:#fff;text-decoration:none;display:block}
.ig-t.txt{background-image:radial-gradient(circle at 30% 20%,hsl(var(--h),70%,38%),#0a0f1c 70%)}
.ig-w{position:absolute;inset:0;display:grid;place-items:center;padding:12px;text-align:center;font-weight:800;font-size:clamp(15px,2.6vw,30px);letter-spacing:-.03em;opacity:.9}
.ig-t.img{transition:transform .8s cubic-bezier(.16,1,.3,1)}
.ig-o{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:10px;text-align:center;background:rgba(45,107,255,.82);opacity:0;transition:opacity .35s}
.ig-o b{font-size:clamp(14px,1.8vw,20px);font-weight:800;letter-spacing:-.02em}.ig-o em{font-style:normal;font-size:12px;opacity:.85}.ig-o u{margin-top:8px;text-decoration:none;font:700 11px Montserrat,sans-serif;letter-spacing:.1em;text-transform:uppercase;border:1.5px solid #fff;border-radius:999px;padding:6px 14px}
.ig-t:hover .ig-o,.ig-t:focus-visible .ig-o{opacity:1}
.ig-t.hide{display:none}
.ig-em{text-align:center;color:#7a869f;padding:50px 0}
.ig-h2{margin:10px 0 14px;font-weight:800;font-size:clamp(24px,3.4vw,44px);line-height:1.04;letter-spacing:-.04em;color:#fff;max-width:20ch}
.ig-cap{color:#aeb8d0;max-width:56ch;line-height:1.6;margin:0 0 26px}
.ig-reels{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.ig-r{position:relative;aspect-ratio:9/16;border-radius:10px;background:#0e1424 center/cover;overflow:hidden;transition:transform .5s cubic-bezier(.16,1,.3,1)}
.ig-r::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 55%,rgba(0,0,0,.7))}
.ig-r:hover{transform:translateY(-6px) scale(1.02)}
.ig-p{position:absolute;z-index:2;top:50%;left:50%;transform:translate(-50%,-50%);width:52px;height:52px;border-radius:50%;background:rgba(45,107,255,.9);color:#fff;display:grid;place-items:center;font-size:16px;padding-left:3px}
.ig-r em{position:absolute;z-index:2;left:12px;bottom:12px;font:700 12px Montserrat,sans-serif;font-style:normal;letter-spacing:.08em;text-transform:uppercase;color:#fff}
.ig-post{background:#0a0f1c;border:1px solid #1a2033;border-radius:14px;overflow:hidden;margin:24px 0}
.ig-post.ig-post-film{overflow:visible;background:transparent;border:0;border-radius:0}
.ig-post header{display:flex;align-items:center;gap:10px;padding:12px 16px;font-size:14px;color:#fff}
.ig-post header i{width:34px;height:34px;border-radius:50%;padding:2px;background:conic-gradient(#2d6bff,#8fb4ff,#2d6bff)}.ig-post header i img{width:100%;height:100%;border-radius:50%;object-fit:cover;border:2px solid #0a0f1c;box-sizing:border-box;display:block}
.ig-post header em{margin-left:auto;font-style:normal;font-size:12px;color:#7a869f}
.ig-car{position:relative;overflow:hidden;aspect-ratio:1/1;max-height:560px;width:100%;background:#000}
.ig-tr{display:flex;height:100%;transition:transform .6s cubic-bezier(.16,1,.3,1)}
.ig-s{
  --film:#05070d;
  --band:28px;
  --side:18px;
  position:relative;flex:0 0 100%;display:flex;flex-direction:column;justify-content:center;box-sizing:border-box;isolation:isolate;
  padding:clamp(28px,5.5vw,52px) clamp(22px,5vw,56px);
  background-color:#060e24;
  background-clip:padding-box;
  border-style:solid;border-color:var(--film);
  border-width:var(--band) var(--side);
}
/* bande nere top/bottom con i fori della pellicola */
.ig-s::before,.ig-s::after{
  content:"";position:absolute;left:calc(-1 * var(--side));right:calc(-1 * var(--side));
  height:var(--band);pointer-events:none;z-index:3;
  background-color:var(--film);
  background-image:repeating-linear-gradient(90deg,
    transparent 0 6px,
    #eef2ff 6px 17px,
    transparent 17px 24px);
  background-size:24px 11px;
  background-repeat:repeat-x;
  background-position:center;
}
.ig-s::before{top:calc(-1 * var(--band))}
.ig-s::after{bottom:calc(-1 * var(--band))}
.ig-s > *{position:relative;z-index:2}
.ig-s b{font-size:clamp(60px,10vw,140px);font-weight:800;line-height:.9;letter-spacing:-.06em;color:transparent;-webkit-text-stroke:2px #2d6bff;filter:drop-shadow(0 2px 10px rgba(0,0,0,.55))}
.ig-s h4{margin:14px 0 8px;font-size:clamp(26px,4.2vw,56px);font-weight:800;letter-spacing:-.03em;color:#fff;text-shadow:0 2px 18px rgba(0,0,0,.65)}
.ig-s p{margin:0;color:#e8eefc;font-size:clamp(15px,1.6vw,22px);text-shadow:0 1px 12px rgba(0,0,0,.7);max-width:40ch}
.ig-post-film .ig-s{
  --band:0px;--side:0px;
  flex:1 1 0;
  min-width:0;
  border-width:0;
  padding:0;
  background:transparent;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  gap:8px;
}
.ig-post-film .ig-s::before,
.ig-post-film .ig-s::after{display:none}
.ig-post-film .ig-s-ph{
  position:relative;
  aspect-ratio:16/10;
  width:100%;
  border-radius:2px;
  overflow:hidden;
  background:#0a1228 center/cover no-repeat;
}
.ig-post-film .ig-s-ph b{
  position:absolute;top:8px;left:8px;z-index:2;
  font-size:11px;font-weight:800;letter-spacing:.04em;line-height:1;
  color:#0a0f1a;-webkit-text-stroke:0;filter:none;
  background:rgba(255,255,255,.92);border-radius:4px;padding:5px 7px;
}
.ig-post-film .ig-s h4{
  margin:4px 0 0;font-size:clamp(13px,1.35vw,18px);font-weight:800;
  letter-spacing:-.02em;color:#fff;text-shadow:none;line-height:1.2;
}
.ig-post-film .ig-s p{
  margin:0;color:#9aa8c7;font-size:clamp(11px,1.05vw,14px);
  text-shadow:none;max-width:none;line-height:1.35;
}
.ig-post-film .ig-s > em{
  margin-top:2px;font:700 10px/1 Montserrat,sans-serif;font-style:normal;
  letter-spacing:.12em;text-transform:uppercase;color:#2d6bff;
}
@media(max-width:860px){
.ig-post-film .ig-car{
  transform:rotate(-1.8deg);
  --band:22px;
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.ig-post-film .ig-car::-webkit-scrollbar{display:none}
.ig-post-film .ig-tr{
  width:max-content;
  min-width:100%;
  padding:calc(var(--band) + clamp(12px,2vw,18px)) clamp(28px,7vw,40px) calc(var(--band) + clamp(12px,2vw,18px)) clamp(36px,10vw,56px);
}
.ig-post-film .ig-s{
  flex:0 0 clamp(200px,58vw,280px);
}
}
@media(max-width:700px){
.ig-post-film .ig-car{transform:rotate(-1.4deg)}
}
.ig-ar{all:unset;cursor:pointer;position:absolute;top:50%;transform:translateY(-50%);width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.9);color:#05070d;display:grid;place-items:center;font-size:22px;line-height:1;opacity:0;transition:opacity .3s;z-index:4}
.ig-car:hover .ig-ar{opacity:1}.ig-ar.l{left:12px}.ig-ar.r{right:12px}
.ig-dots{display:flex;justify-content:center;gap:5px;padding:12px 0 4px}.ig-dots i{width:6px;height:6px;border-radius:50%;background:#3b4766;transition:background .3s,transform .3s}.ig-dots i.on{background:#2d6bff;transform:scale(1.25)}
.ig-post footer{padding:8px 16px 18px;color:#cfd8ee;font-size:14px;line-height:1.5}.ig-post footer p{margin:8px 0 0}.ig-post footer b{color:#fff}.ig-lk{color:#fff;cursor:pointer}.ig-lk.on{color:#2d6bff}
.ig-two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ig-note{background:#0a0f1c;border:1px solid #1a2033;border-radius:14px;padding:clamp(20px,3vw,30px)}.ig-note small{font:600 11px Montserrat,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#2d6bff}.ig-note h3{margin:10px 0;font-size:clamp(28px,3.2vw,40px);font-weight:800;letter-spacing:-.03em;color:#fff}.ig-note h3 em{display:block;margin-top:4px;font:500 13px/1.3 Montserrat,sans-serif;font-style:normal;letter-spacing:.04em;color:#7a869f}.ig-note p{color:#aeb8d0;line-height:1.55;margin:0 0 16px}
.ig-note-wide{margin-top:14px}
.ig-h3{margin:10px 0 16px!important;font-size:clamp(20px,2.4vw,28px)!important}
.ig-vol{list-style:none;margin:0 0 28px;padding:18px 0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;border-top:1px solid #1a2033;border-bottom:1px solid #1a2033}
.ig-vol li{text-align:center}
.ig-vol b{display:block;font-weight:800;font-size:clamp(22px,3vw,34px);letter-spacing:-.04em;color:#fff;line-height:1}
.ig-vol span{display:block;margin-top:6px;font:600 11px/1.3 Montserrat,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:#7a869f}
.ig-li{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:8px}
.ig-li li{position:relative;padding-left:18px;color:#cfd8ee;font-size:14px;line-height:1.45}
.ig-li li::before{content:"";position:absolute;left:0;top:.55em;width:7px;height:7px;border-radius:50%;background:#2d6bff}
.ig-li-2{grid-template-columns:1fr 1fr;gap:10px 24px}
.ig-badge{margin:0 0 14px!important;padding:12px 14px;border-left:2px solid #2d6bff;background:rgba(45,107,255,.1);color:#cfe0ff!important;font-size:13.5px!important}
.ig-faq{margin:0;display:grid;gap:14px}
.ig-faq dt{font-weight:700;color:#fff;font-size:15px;margin:0 0 4px}
.ig-faq dd{margin:0;color:#aeb8d0;font-size:14px;line-height:1.5}
.ig-check{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:10px}
.ig-check li{padding:12px 14px;border:1px solid #1a2033;border-radius:10px;color:#cfd8ee;font-size:14.5px;line-height:1.4}
.ig-check li::before{content:"? ";color:#2d6bff;font-weight:700}
.ig-check-out{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:0;color:#aeb8d0}
@media(max-width:700px){
.ig-vol{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 8px}
.ig-li-2{grid-template-columns:1fr}
}
.ig-ad{padding-bottom:70px}.ig-adb{min-height:340px;background:#0e1424 center/cover;display:flex;align-items:flex-end;position:relative}
.ig-adb::before{content:"";position:absolute;inset:0;background:linear-gradient(transparent 20%,rgba(5,7,13,.92))}.ig-adb div{position:relative;padding:clamp(20px,4vw,40px);max-width:560px}.ig-adb h3{margin:0 0 10px;font-size:clamp(22px,3vw,36px);font-weight:800;letter-spacing:-.03em;color:#fff}.ig-adb p{margin:0;color:#cfd8ee;line-height:1.55}
.ig-post.sp footer{padding:14px 16px}
.ig-mo{position:fixed;inset:0;z-index:99999;background:rgba(2,4,9,.8);backdrop-filter:blur(6px);display:grid;place-items:center;padding:18px}.ig-mo[hidden]{display:none}
.ig-md{position:relative;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);width:min(1000px,100%);max-height:88vh;background:#0a0f1c;border-radius:14px;overflow:hidden;border:1px solid #1a2033}
.ig-mi{background:#0e1424 center/cover;min-height:360px;display:grid;place-items:center;font-size:clamp(28px,5vw,56px);font-weight:800;letter-spacing:-.04em;color:#fff}
.ig-mt{padding:20px;display:flex;flex-direction:column;gap:10px;color:#cfd8ee;overflow:auto}.ig-mt header{display:flex;align-items:center;gap:10px;padding:0 0 12px;border-bottom:1px solid #1a2033}.ig-mt header i{width:32px;height:32px;border-radius:50%;overflow:hidden}.ig-mt header img{width:100%;height:100%;object-fit:cover}
.ig-mt h3{margin:6px 0 0;font-size:24px;font-weight:800;color:#fff;letter-spacing:-.03em}.ig-mt em{font-style:normal;color:#7a869f;font-size:13px}.ig-mt p{line-height:1.6;margin:6px 0 10px}.ig-mt .ig-f{align-self:flex-start;margin-top:auto}
.ig-x{all:unset;cursor:pointer;position:absolute;top:8px;right:14px;z-index:3;color:#fff;font-size:30px;line-height:1;mix-blend-mode:difference}
@media(max-width:700px){.ig-top{grid-template-columns:auto 1fr;gap:18px}.ig-id{display:contents}.ig-u,.ig-st,.ig-b{grid-column:1/-1}.ig-st{justify-content:space-around;border-top:1px solid #1a2033;border-bottom:1px solid #1a2033;padding:12px 0;margin:6px 0}.ig-reels{grid-template-columns:repeat(2,1fr)}.ig-two{grid-template-columns:1fr}.ig-md{grid-template-columns:1fr}.ig-mi{min-height:240px}.ig-u{grid-column:2;grid-row:1}.ig-av{grid-row:1}}
.ig-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.ig-w{overflow:hidden}
.ig-t{aspect-ratio:3/4!important}
.ig-lb{position:absolute;left:12px;bottom:12px;z-index:1;font:700 clamp(11px,1.1vw,14px) Montserrat,sans-serif;letter-spacing:.04em;color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.8)}
.ig-t.img::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 55%,rgba(0,0,0,.6))}
.ig-t .ig-w{display:none}
.ig-o{z-index:2}
.ig-feed+.gdiv,.ig-pro+.gdiv{margin:0}

/* IG: layout mobile + tap targets */
@media(max-width:700px){
.ig-top{grid-template-columns:auto 1fr;gap:18px}
.ig-id{display:contents}
.ig-u,.ig-st,.ig-b{grid-column:1/-1}
.ig-st{justify-content:space-around;border-top:1px solid #1a2033;border-bottom:1px solid #1a2033;padding:12px 0;margin:6px 0}
.ig-reels{grid-template-columns:repeat(2,1fr)}
.ig-two{grid-template-columns:1fr}
.ig-md{grid-template-columns:1fr}
.ig-mi{min-height:240px}
.ig-u{grid-column:2;grid-row:1}
.ig-av{grid-row:1}
}
@media(max-width:860px){
.ig-f,.ig-m{min-height:40px;display:inline-flex;align-items:center;justify-content:center}
}
.ig-x{min-width:40px;min-height:40px}
/* gdiv modifiers must not inherit .g3 grid */
.gdiv.g1,.gdiv.g2,.gdiv.g3,.gdiv.g4,.gdiv.g5{display:block}

/* ===== CASI STUDIO (Netlify) ===== */

.cs-hero:not(.swhero){min-height:calc(100svh + var(--gh,0px)*.36);padding:clamp(80px,11vh,110px) max(var(--gutter),calc((100vw - 1500px)/2)) 0;padding-bottom:0;overflow:visible}
.cs-hero:not(.swhero) .cs-h1{font-size:clamp(16px,1.75vw,28px);line-height:1.12;letter-spacing:-.01em;max-width:22ch}
.cs-vid{position:relative;width:min(88vw,50svh,462px);aspect-ratio:1/1;flex:none;border-radius:clamp(22px,2.6vw,38px);overflow:hidden;isolation:isolate;background:#0a1226 url(fascia_c.jpg) center/cover;box-shadow:0 30px 80px rgba(0,0,0,.5)}
.cs-vid video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:inherit}
.cs-ph{position:absolute;inset:0;display:grid;place-items:center;text-align:center;font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.cs-vid.ok .cs-ph{display:none}
.cs-giant{cursor:default}
.cs-giant span .l{display:inline-block;will-change:transform;transition:color .25s;font-style:normal}
.cs-giant span .l.sp{width:.26em}
.cs-meta,.cs-sub,.cs-crumb{display:none}

.cs-intro{background:#05070d;padding:clamp(60px,12vh,140px) max(var(--gutter),calc((100vw - 1500px)/2)) clamp(40px,8vh,90px)}
.cs-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:clamp(24px,5vw,90px);align-items:start}
.cs-nav{display:flex;flex-direction:column}
.cs-nav a{position:relative;display:block;width:min(100%,520px);padding:.04em 0;font-weight:800;text-transform:uppercase;font-size:clamp(28px,4.2vw,64px);letter-spacing:-.045em;line-height:1.05;color:#fff;text-decoration:none;transition:padding .35s cubic-bezier(.16,1,.3,1)}
.cs-nav a::before{content:"";position:absolute;inset:0;z-index:-1;background:#2d6bff;transform:scaleX(0);transform-origin:0 50%;transition:transform .45s cubic-bezier(.16,1,.3,1)}
.cs-nav a::after{content:"\2192";position:absolute;right:14px;top:50%;transform:translate(-14px,-50%);opacity:0;color:#fff;font-size:.55em;transition:opacity .3s,transform .35s}
.cs-nav a:hover{padding-left:14px}.cs-nav a:hover::before{transform:scaleX(1)}.cs-nav a:hover::after{opacity:1;transform:translate(0,-50%)}
.cs-txt p,.cs-txt .wr{margin:0;font-weight:700;font-size:clamp(20px,2.4vw,36px);line-height:1.22;letter-spacing:-.03em;color:#fff}
.cs-txt .wr .w{display:inline}
.cs-pill{display:inline-block;margin-top:clamp(22px,4vh,40px);padding:10px 22px;border:1.5px solid #fff;border-radius:999px;color:#fff;text-decoration:none;font:700 12px Montserrat,sans-serif;letter-spacing:.12em;text-transform:uppercase;transition:background .25s,border-color .25s}
.cs-pill:hover{background:#2d6bff;border-color:#2d6bff}
.cs-mt{display:flex;justify-content:space-between;gap:20px;margin-top:clamp(50px,10vh,120px);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-dim,#7a869f)}
@media(max-width:860px){
.cs-in{grid-template-columns:1fr}
.cs-nav a{font-size:clamp(26px,8vw,44px);width:100%;padding:11px 0;min-height:44px}
.cs-pill{min-height:44px;display:inline-flex;align-items:center}
}

.cs-mq{background:#05070d;overflow:hidden;padding:clamp(40px,8vh,90px) 0 clamp(14px,3vh,30px);white-space:nowrap}
.cs-mqt{display:inline-flex;will-change:transform;animation:csmq 38s linear infinite}
.cs-mqt span{font-weight:800;font-size:clamp(54px,11vw,190px);letter-spacing:-.05em;line-height:1;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.22);padding-right:.2em}
@keyframes csmq{to{transform:translateX(-50%)}}
.cs-mq:nth-of-type(even) .cs-mqt{animation-direction:reverse}
@media(prefers-reduced-motion:reduce){.cs-mqt{animation:none}}

.cs-works.cx{padding:0;background:#05070d}
.cx-st{position:relative;min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:clamp(40px,8vh,90px) var(--gutter);overflow:hidden}
.cx-h{margin:0;font-weight:800;font-size:clamp(40px,7.4vw,118px);line-height:.94;letter-spacing:-.05em;color:#fff}
.cx-s{margin:clamp(14px,2.4vh,26px) 0 0;max-width:34ch;font-size:clamp(13px,1.1vw,16px);line-height:1.5;color:#aab1c5}
.cx-cards{display:flex;flex-direction:column;gap:20px;width:min(340px,100%);margin-top:40px}
.cx-c{display:block;background:#fff;color:#0a0f1a;border-radius:clamp(14px,1.4vw,20px);padding:12px 12px 18px;text-align:left;text-decoration:none;box-shadow:0 30px 70px rgba(0,0,0,.45)}
.cx-i{aspect-ratio:4/3;border-radius:10px;background:#e8eaf0 center/cover no-repeat}
.cx-c h3{margin:14px 6px 2px;font-weight:800;font-size:clamp(20px,1.8vw,26px);letter-spacing:-.035em}
.cx-c small{display:block;margin:0 6px;font:600 10px Montserrat,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#2d6bff}
.cx-c p{margin:8px 6px 0;font-size:13px;line-height:1.45;color:#4a5164}
.cx-b{display:inline-flex;align-items:center;gap:10px;margin:14px 6px 0;font:700 11px Montserrat,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#0a0f1a}
.cx-b b{width:26px;height:26px;border-radius:50%;background:#2d6bff;color:#fff;display:grid;place-items:center;font-size:13px}
.cx.cx-on .cx-cards{position:absolute;left:50%;top:50%;margin:0;display:block;width:clamp(200px,34vmin,560px);height:0;transform:translate(-50%,-50%)}
.cx.cx-on .cx-c{position:absolute;left:0;right:0;top:0;margin:0;will-change:transform,opacity}

.sy{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:clamp(520px,82vh,780px);background:#05070d}
.sy-l{position:relative;background:#f4f5f7;color:#0a0f1a;overflow:hidden;padding:clamp(24px,4vw,56px);touch-action:none}
.sy-l h2{margin:0;font-weight:800;font-size:clamp(34px,4.6vw,72px);line-height:.95;letter-spacing:-.045em;position:relative;z-index:2}
.sy-h{position:absolute;left:clamp(24px,4vw,56px);bottom:clamp(20px,3vw,40px);font:600 11px Montserrat,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#6b7388;z-index:2}
.sy-t{position:absolute;width:clamp(110px,13vw,190px);aspect-ratio:4/5;border-radius:6px;overflow:hidden;pointer-events:none;z-index:1;box-shadow:0 20px 50px rgba(0,0,0,.25)}
.sy-t img{width:100%;height:100%;object-fit:cover;display:block}
.sy-r{position:relative;background:#101319;color:#fff;overflow:hidden;display:flex;align-items:center;padding:clamp(28px,5vw,72px)}
.sy-r blockquote{margin:0;position:relative;z-index:2}
.sy-m{display:block;font-weight:800;font-size:clamp(40px,5vw,70px);line-height:.6;color:#6aa0ff;margin-bottom:12px}
.sy-q{margin:0;font-weight:700;font-size:clamp(28px,3.9vw,60px);line-height:1.02;letter-spacing:-.04em}
.sy-q2{position:absolute;left:0;top:calc(clamp(40px,5vw,70px)*.6 + 12px);right:0;color:#2d6bff;-webkit-mask-image:radial-gradient(circle 140px at var(--x,50%) var(--y,50%),#000 20%,transparent 70%);mask-image:radial-gradient(circle 140px at var(--x,50%) var(--y,50%),#000 20%,transparent 70%)}
.sy-r footer{margin-top:clamp(20px,3vw,40px);font:500 12px Montserrat,sans-serif;letter-spacing:.06em;color:#8a93a8}
.sy-bl{position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(circle 180px at var(--x,50%) var(--y,50%),rgba(45,107,255,.35),transparent 70%);opacity:.9}
@media(max-width:860px){.sy{grid-template-columns:1fr}.sy-l{min-height:420px}}

.cs-svc .os-k{display:flex!important;margin:0 0 clamp(18px,3vh,34px)}
.cs-svc{padding:clamp(50px,9vh,110px) max(var(--gutter),calc((100vw - 1280px)/2)) clamp(60px,10vh,120px);background:#05070d}
.cs-r{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) 40px;gap:20px;align-items:center;padding:clamp(22px,3vh,36px) 0;border-top:1px solid rgba(255,255,255,.18);color:#fff;text-decoration:none;transition:padding .35s,background .35s}
.cs-r:last-child{border-bottom:1px solid rgba(255,255,255,.18)}
.cs-r span{font-weight:800;font-size:clamp(26px,4vw,64px);letter-spacing:-.045em;line-height:1}
.cs-r i{font-style:normal;font-size:14px;color:var(--ink-dim,#7a869f)}.cs-r b{font-size:22px;color:#2d6bff}
.cs-r:hover{padding-left:24px;background:linear-gradient(90deg,rgba(45,107,255,.25),rgba(45,107,255,0))}
@media(max-width:860px){.cs-r{grid-template-columns:1fr 28px}.cs-r i{grid-column:1;grid-row:2}}

.cs-fx{position:absolute;inset:0;pointer-events:none;z-index:0;--mx:70%;--my:35%;overflow:hidden}
.cs-fx i{position:absolute;inset:0;background-image:radial-gradient(circle,rgba(120,165,255,.7) 1px,transparent 1.4px);background-size:28px 28px;opacity:.45;-webkit-mask-image:radial-gradient(circle 380px at var(--mx) var(--my),#000,transparent 70%);mask-image:radial-gradient(circle 380px at var(--mx) var(--my),#000,transparent 70%)}
.cs-fx::after{content:"";position:absolute;inset:0;background:radial-gradient(circle 420px at var(--mx) var(--my),rgba(45,107,255,.16),transparent 100%);mix-blend-mode:screen}
.cs-hero:not(.swhero)>*:not(.cs-fx){position:relative;z-index:1}
@media(min-width:861px){.cs-hero:not(.swhero) .cs-vid{width:min(88vw,52svh,462px)}}
@media(min-width:1700px){.cs-hero:not(.swhero) .cs-vid{width:min(88vw,52svh,780px)}.cs-fx::after{background:radial-gradient(circle 620px at var(--mx) var(--my),rgba(45,107,255,.16),transparent 100%)}}
@media(max-width:700px){
.cs-hero:not(.swhero){padding-top:calc(86px + env(safe-area-inset-top,0px))}
.cs-hero:not(.swhero) .cs-top{flex-direction:column;align-items:stretch}
.cs-hero:not(.swhero) .cs-vid{width:min(88vw,50svh,360px)!important;margin-left:auto}
.cs-hero:not(.swhero) .cs-h1{font-size:clamp(18px,5.2vw,28px)!important}
}

/* ===== MOBILE QA: storture header / software / IG / casi ===== */
@media(max-width:700px){
/* header: CTA corto, meno compressione logo↔hamburger */
.top{gap:10px!important}
.brand img.custom-logo{max-height:26px;max-width:min(132px,34vw)}
.top nav{gap:6px!important;flex-shrink:0}
.top nav a.nb{
  padding:10px 12px!important;
  font-size:0!important;
  letter-spacing:0!important;
  text-indent:0!important;
  min-height:40px;
  max-width:none;
}
.top nav a.nb::after{
  content:"Prenota";
  font-size:10px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  text-indent:.12em;
}
html[lang^="en"] .top nav a.nb::after{content:"Book"}
.mb{margin:0!important;width:42px;height:42px}

/* software hero: meno overlap testo/statua, no doppio outline */
.swhero{padding-left:var(--gutter)!important;padding-right:var(--gutter)!important}
.swhero .sws{width:min(100%,320px)!important;margin:10px auto 0!important}
.swhero .cs-giant:not(.swol){margin-top:-18px!important}
.swhero .cs-giant.swol{display:none!important}
.swhero .cs-h1{max-width:18ch!important}

/* intro software: tipografia meno invasiva */
.swi{padding-bottom:calc(clamp(40px,8vh,90px) + 56px)}
.swi-p{font-size:clamp(18px,5.2vw,26px)!important;max-width:none}

/* IG profilo */
main.ig{padding-top:76px;padding-bottom:72px}
.ig-av{width:84px}
.ig-u{gap:8px}
.ig-u h1{font-size:17px;margin-right:4px}
.ig-f,.ig-m{padding:8px 12px;font-size:12.5px;border-radius:8px}
.ig-st{font-size:13px;gap:14px}
.ig-hls{gap:14px;padding-bottom:18px;-webkit-overflow-scrolling:touch}
.ig-h{font-size:11px}
.ig-grid{gap:2px!important}
.ig-lb{left:8px;bottom:8px;font-size:11px}

/* casi studio hero */
.cs-hero:not(.swhero){
  min-height:100svh;
  padding-bottom:max(28px,env(safe-area-inset-bottom,0px));
  overflow:visible;
  justify-content:flex-start;
  gap:12px;
}
.cs-hero:not(.swhero) .cs-vid{width:min(68vw,260px)!important;margin:8px 0 0 auto;flex:none}
.cs-hero:not(.swhero) .cs-giant{margin-top:auto;padding-bottom:6px;overflow:visible}
.cs-hero:not(.swhero) .cs-giant span{font-size:clamp(32px,9.5vw,52px)!important;line-height:1!important}
.cs-mqt span{font-size:clamp(36px,11vw,80px)}
.cx.cx-on .cx-cards{width:min(240px,68vw)}
.sy{min-height:0}
.sy-l{min-height:320px;padding:22px}
.sy-l h2{font-size:clamp(28px,9vw,44px)}
.sy-q{font-size:clamp(24px,7.5vw,40px)}
.cs-r span{font-size:clamp(22px,7vw,36px)}
.os.end,.end{padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))}
}

@media(max-width:860px){
/* swv2: niente translateX CSS (GSAP lo rompe); video meno esagerato */
.swv2-st video{
  width:min(110vw,440px)!important;
  top:34%!important;
  -webkit-mask-image:radial-gradient(ellipse 48% 48% at 50% 50%,#000 50%,transparent 100%)!important;
  mask-image:radial-gradient(ellipse 48% 48% at 50% 50%,#000 50%,transparent 100%)!important;
}
.swv2-br{width:min(42vmin,180px);top:34%}
.swv2-cl{
  left:max(16px,env(safe-area-inset-left,0px))!important;
  right:max(16px,env(safe-area-inset-right,0px))!important;
  width:auto!important;
  max-width:none;
  top:calc(34% + 22vmin)!important;
  transform:none!important;
  text-align:center;
}
.swv2-cl .bx{padding:0;border-left:0}
.swv2-cl .ln{display:none}
.swv2-cl small{font-size:10px}
.swv2-cl b{font-size:clamp(18px,6.5vw,28px)!important;letter-spacing:.04em}
.swv2-cl code{font-size:12px}
.swv2-tx{
  left:max(18px,env(safe-area-inset-left,0px));
  width:calc(100% - 36px);
  bottom:max(120px,18svh);
}
.swv2-t h3{font-size:clamp(24px,7vw,36px)!important;text-shadow:0 2px 20px rgba(0,0,0,.75)}
.swv2-t p{font-size:14px;max-width:32ch}
.swv2-cta{
  left:max(18px,env(safe-area-inset-left,0px));
  right:auto;
  bottom:calc(72px + env(safe-area-inset-bottom,0px));
  padding:14px 20px;
  min-height:46px;
}
.meth.steps{grid-template-columns:1fr;padding-top:24px}
.meth .mc{display:none}
.meth .num{font-size:clamp(40px,12vw,64px)}
}

@media(max-width:380px){
.top nav a.nb{padding:9px 10px!important}
.brand img.custom-logo{max-width:min(112px,30vw)}
}

/* display titles light — dopo RESP, vince su clamp !important dei breakpoint */
body.argo-home-olimpo h1,
body.argo-home-olimpo h2,
body.argo-home-olimpo .dec h1,
body.argo-home-olimpo .ph h1,
body.argo-home-olimpo .sec-in h2,
body.argo-home-olimpo .os h2,
body.argo-home-olimpo .end h2,
body.argo-home-olimpo .ag-h,
body.argo-home-olimpo .idx-s h2,
body.argo-home-olimpo .hs-h h2,
body.argo-home-olimpo .cs-h1,
body.argo-home-olimpo .swv2-t h3{
  font-weight:300!important;
  letter-spacing:-.035em!important;
  line-height:1.04!important;
}
body.argo-home-olimpo h1,
body.argo-home-olimpo h2,
body.argo-home-olimpo .dec h1,
body.argo-home-olimpo .ph h1,
body.argo-home-olimpo .sec-in h2,
body.argo-home-olimpo .os h2,
body.argo-home-olimpo .ag-h,
body.argo-home-olimpo .cs-h1{
  font-size:clamp(30px,4.6vw,66px)!important;
}
body.argo-home-olimpo .end h2{
  font-size:clamp(36px,5.5vw,80px)!important;
}
body.argo-home-olimpo .il.fin h2{
  font-size:clamp(32px,6vw,88px)!important;
  letter-spacing:.08em!important;
}

