
/* 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; }
.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; }
.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); }
.txt.live { pointer-events: auto; }
.kick { margin: 0; font-weight: 600; font-size: 11px; letter-spacing: .24em; text-transform: uppercase; color: var(--gold-soft); }
.txt h2, .txt h1 { margin: 12px 0 0; font-weight: 300; letter-spacing: -.03em; line-height: 1.02; text-wrap: balance; }
.txt h1 { font-size: clamp(36px, 5vw, 72px); }
.txt h2 { font-size: clamp(28px, 3.4vw, 48px); }
.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; }
.txt h1 span, .txt h2 span { display: inline-block; filter: blur(8px); opacity: 0; transform: translateY(14px); transition: filter .9s ease, opacity .9s ease, transform .9s ease; }
.txt.live h1 span, .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); }
#hero { width: min(760px, calc(100vw - 100px)); }
.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) {
  .txt, #hero { width: calc(100vw - 80px); bottom: calc(76px + env(safe-area-inset-bottom, 0px)); }
  .dots { gap: 6px; right: 18px; } .dots button span { display: none; }
  .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 { position: absolute; z-index: 3; left: max(34px, env(safe-area-inset-left, 0px)); top: calc(30px + env(safe-area-inset-top, 0px)); font-weight: 300; letter-spacing: .34em; font-size: 12px; text-transform: uppercase; color: var(--ink); line-height: 0; }
.intro-br img.custom-logo {
  display: block;
  width: auto;
  height: auto;
  max-height: clamp(26px, 3vw, 36px);
  max-width: min(160px, 40vw);
  object-fit: contain;
  object-position: left center;
  aspect-ratio: auto;
}
.intro-br b { font-weight: 700; }
.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; }
.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); }
.veil { z-index: 10; }
.rest { position: relative; z-index: 6; background: #05070d; }
.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)); }
.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; }
.f-base { position: absolute; left: var(--gutter); right: var(--gutter); bottom: 26px; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px 30px; padding-top: 18px; border-top: 1px solid var(--line); font-weight: 500; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--ink-dim); }
.f-base a { color: var(--ink-dim); text-decoration: none; margin-left: 22px; } .f-base a:hover { color: var(--gold-soft); }
@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; }
.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 .nav-dd { position: relative; display: inline-flex; align-items: center; gap: 4px; }
.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: calc(100% + 10px); left: 0; min-width: 180px; padding: 10px 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,
.top .nav-dd:focus-within .nav-dd-panel { display: flex !important; }
.top .nav-dd.is-open .nav-dd-panel[hidden],
.top .nav-dd:focus-within .nav-dd-panel[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); }
@media (hover: hover) and (pointer: fine) {
  .top .nav-dd:hover .nav-dd-panel { display: flex !important; }
  .top .nav-dd:hover .nav-dd-panel[hidden] { display: flex !important; }
}
@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 {
  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); }
@media (max-width: 860px) { .meth { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } }
.meth > div { padding-top: 18px; border-top: 2px solid var(--blue); }
.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: 18ch; font-size: clamp(30px, 4.2vw, 64px); }
.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); }
.f-base { flex-wrap: wrap; }
.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(72px,10vw,120px);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(20px,2.6vw,40px);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}

/* 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 bold */
h1,h2,h3,.step h3,.dec h1,.ph h1,.pc h3,.card h3,.end h2,.end .cta,.dec blockquote,.num{font-weight:800!important;letter-spacing:-.04em}
h2{font-weight:800!important}
h4,.meth h4,.prod h4,.tl h4{font-weight:700!important}
.sec-in h2,.os h2{font-size:clamp(28px,3.6vw,52px);line-height:1.02}
.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.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 */
.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}
.top .argo-nav a,.top .argo-nav .nav-dd-link{opacity:1!important}
.top .argo-nav,.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){
.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}
.top nav{gap:8px}
.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 .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 .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}
.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}
.f-base{position:relative;left:auto;right:auto;bottom:auto;margin-top:56px;flex-direction:column;gap:2px}
.f-base a{margin:0 18px 0 0;display:inline-block;padding:12px 0}
}
@media(max-width:700px){
.map .pl{font-size:38px;stroke-width:8px}.map .mk{font-size:30px}
.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))}
#marketing .prod.mkt-offers,#contatti .prod.contact-paths{grid-template-columns:1fr 1fr}
@media (max-width:860px){.prod,#marketing .prod.mkt-offers,#contatti .prod.contact-paths{grid-template-columns: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}.f-base{font-size:calc(11px*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}.f-base{font-size:calc(11px*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}.f-base{font-size:calc(11px*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}.f-base{font-size:calc(11px*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}.f-base{font-size:calc(11px*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{left:var(--cwx)!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 .top{top:32px}
@media (max-width:782px){body.admin-bar .top{top:46px}}
