/* Caso shell: header/nav/footer/CTA only (no full home.css) */

/* 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; }


header.top { position: fixed; z-index: 5; left: 0; right: 0; top: 0; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: calc(30px + env(safe-area-inset-top, 0px)) max(34px, env(safe-area-inset-right, 0px)) 0 max(34px, env(safe-area-inset-left, 0px)); pointer-events: none; text-shadow: 0 1px 18px rgba(0,0,0,.6); }


.brand { font-weight: 300; font-size: 15px; letter-spacing: .32em; text-transform: uppercase; line-height: 0; text-shadow: none; pointer-events: auto; }


.brand a { display: inline-flex; align-items: center; color: inherit; text-decoration: none; pointer-events: auto; }


.brand img.custom-logo {
  display: block;
  width: auto;
  height: auto;
  max-height: clamp(28px, 3.2vw, 40px);
  max-width: min(180px, 42vw);
  object-fit: contain;
  object-position: left center;
  aspect-ratio: auto;
}


.brand b { font-weight: 700; }


.hud { text-align: right; font-weight: 500; font-size: 10px; line-height: 1.8; letter-spacing: .18em; text-transform: uppercase; color: var(--ink-dim); font-variant-numeric: tabular-nums; }


.hud b { color: var(--ink); font-weight: 600; }


/* Hero home only — never on caso pages (.g2 also uses .txt) */
body:not(.caso-single) .txt { position: fixed; z-index: 4; left: max(34px, env(safe-area-inset-left, 0px)); bottom: calc(clamp(70px, 14vh, 140px) + env(safe-area-inset-bottom, 0px)); width: min(460px, calc(100vw - 100px)); opacity: 0; pointer-events: none; text-shadow: 0 2px 26px rgba(0,0,0,.85); }


body:not(.caso-single) .txt.live { pointer-events: auto; }


body:not(.caso-single) .txt h2, body:not(.caso-single) .txt h1 { margin: 12px 0 0; font-weight: 300; letter-spacing: -.03em; line-height: 1.02; text-wrap: balance; }


body:not(.caso-single) .txt h1 { font-size: clamp(36px, 5vw, 72px); }


body:not(.caso-single) .txt h2 { font-size: clamp(28px, 3.4vw, 48px); }


body:not(.caso-single) .txt .lead { margin: 16px 0 0; max-width: 36ch; font-weight: 400; font-size: clamp(14px, 1.15vw, 16px); line-height: 1.55; color: #e7e9f3; }


body:not(.caso-single) .txt h1 span, body:not(.caso-single) .txt h2 span { display: inline-block; filter: blur(8px); opacity: 0; transform: translateY(14px); transition: filter .9s ease, opacity .9s ease, transform .9s ease; }


body:not(.caso-single) .txt.live h1 span, body:not(.caso-single) .txt.live h2 span { filter: none; opacity: 1; transform: none; }


/* Solo hero home (pin isole): non limitare .swhero / .cs-hero / .os#hero */
#hero:not(.cs-hero):not(.swhero):not(.os) { width: min(760px, calc(100vw - 100px)); }


body:not(.caso-single) .veil { position: fixed; inset: 0; z-index: 8; background: #03040a; opacity: 0; pointer-events: none; transition: opacity .4s ease; }


@media (max-width: 760px) {
  body:not(.caso-single) .txt, #hero:not(.cs-hero):not(.swhero):not(.os) { width: calc(100vw - 80px); bottom: calc(76px + env(safe-area-inset-bottom, 0px)); }
  .dots { gap: 6px; right: 18px; } .dots button span { display: none; }
  header.top, .snd { padding-left: 26px; } .snd { left: 0; }
  .hud .hide-s { display: none; }
}




/* ---------- 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; }



/* ---------- 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; }



/* nuvole PNG agganciate tra una parte e l'altra */
.cj { position: relative; height: 0; z-index: 8; pointer-events: none; }


body:not(.caso-single) .veil { z-index: 10; }


header.top { z-index: 7; }


.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; }


/* B. oggetto fissato */
.pin { position: relative; height: 480vh; background: linear-gradient(180deg, #05070d, #070b16 50%, #05070d); }


/* Home 3D props only — caso .g2 .cap is a text caption */
body:not(.caso-single) .cap { width: min(17vw, 210px); height: min(32vw, 400px); max-height: 100%; border-radius: 999px; transform: rotate(24deg); background: linear-gradient(100deg, #151a28 0, #aab2c6 28%, #ffffff 44%, #6b7490 68%, #0a0c14 100%); box-shadow: 0 50px 120px rgba(255,255,255,.2), inset 0 0 40px rgba(0,0,0,.4); }


/* 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; }


/* E. chiusura */
.end { position: relative; min-height: 100vh; min-height: 100svh; display: grid; align-items: center; overflow: hidden; padding-block: clamp(110px, 18vh, 200px) 110px; }


.end .os-bg { position: absolute; inset: -8% 0; z-index: -2; background: url(../../bg_blu.jpg) center / cover; filter: blur(1.5px) brightness(.8); transform: translate3d(0, var(--par, 0px), 0) scale(1.08); }


.end::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, #05070d, rgba(5,7,13,.25) 30%, rgba(5,7,13,.55) 100%), linear-gradient(90deg, rgba(5,7,13,.8), rgba(5,7,13,0) 70%); }


.end-in { width: 100%; max-width: 1180px; margin: 0 auto; }


.end h2 { margin: 22px 0 0; max-width: 12ch; font-weight: 300; font-size: clamp(36px, 5.5vw, 80px); line-height: .98; letter-spacing: -.04em; text-wrap: balance; text-shadow: 0 2px 40px rgba(0,0,0,.6); }


.end .sub { margin: 24px 0 0; max-width: 40ch; font-size: clamp(14px, 1.2vw, 17px); line-height: 1.6; color: #dfe2ee; }


.mail { display: inline-block; margin-top: 34px; font-weight: 300; font-size: clamp(20px, 2.6vw, 40px); letter-spacing: -.02em; color: var(--ink); text-decoration: none; border-bottom: 1px solid var(--gold); padding-bottom: 8px; overflow-wrap: anywhere; }




.micro a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }


.micro a:hover { color: var(--gold-soft); }


@media (prefers-reduced-motion: reduce) { .rv { opacity: 1; transform: none; filter: none; transition: none; } .obj > i { animation: none; } .step, .obj { transition: none; } }


.hud { display: none; }


header.top { z-index: 7; }


html, body { overflow-x: clip; }


body { background: #05070d; }


/* sito completo */
.top .argo-nav, .top nav.argo-nav { display: flex; align-items: center; gap: clamp(14px, 2vw, 30px); pointer-events: auto; }


.top .argo-nav > a, .top .argo-nav .nav-dd-link {
  color: var(--ink); text-decoration: none; font-weight: 600; font-size: 10.5px; letter-spacing: .18em; text-transform: uppercase; opacity: .85;
  background: none; border: 0; padding: 0; cursor: pointer; font-family: inherit;
}


.top .argo-nav > a:hover, .top .argo-nav .nav-dd-link:hover { opacity: 1; }


.top .argo-nav a.nb {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 10px 16px;
  background: var(--blue);
  opacity: 1;
  text-shadow: none;
  letter-spacing: .12em;
  text-indent: .12em;
}


.top .argo-nav .argo-lang {
  display: inline-flex;
  align-items: center;
  align-self: center;
  gap: 6px;
  margin: 0;
  padding: 0;
  border: 0;
  line-height: inherit;
  pointer-events: auto;
}


.top .argo-nav .argo-lang a,
.top .argo-nav .argo-lang span {
  display: inline-flex;
  align-items: center;
  color: var(--ink);
  text-decoration: none;
  font: inherit;
  font-weight: 600;
  font-size: 10.5px;
  letter-spacing: .18em;
  text-transform: uppercase;
  opacity: .45;
  line-height: 1.2;
  padding: 0;
  margin: 0;
}


.top .argo-nav .argo-lang a:hover,
.top .argo-nav .argo-lang span.is-active {
  opacity: 1;
}


.top .argo-nav .argo-lang .argo-lang-sep {
  opacity: .28;
  font-weight: 600;
  letter-spacing: 0;
  pointer-events: none;
}


.top .nav-dd { position: relative; display: inline-flex; align-items: center; gap: 4px; }


/* Ponte hover: padding sotto la voce resta dentro .nav-dd, così il mouse non “cade” nel gap. */
.top .nav-dd.is-open,
.top .nav-dd:focus-within {
  padding-bottom: 14px;
  margin-bottom: -14px;
}


.top .nav-dd-tog {
  min-width: 44px; min-height: 44px; width: 44px; height: 44px; margin: -13px -8px -13px -4px;
  padding: 0; border: 0; background: transparent; cursor: pointer; position: relative; opacity: .7;
}


.top .nav-dd-tog:focus-visible { opacity: 1; outline: 1px solid rgba(255,255,255,.5); outline-offset: 2px; }


.top .nav-dd-tog::after {
  content: ''; position: absolute; left: 50%; top: 45%; width: 6px; height: 6px;
  border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; color: var(--ink);
  transform: translate(-50%, -60%) rotate(45deg);
}


.top .nav-dd.is-open .nav-dd-tog::after,
.top .nav-dd:focus-within .nav-dd-tog::after { transform: translate(-50%, -20%) rotate(-135deg); }


.top .nav-dd-panel {
  position: absolute; top: 100%; left: 0; min-width: 180px; padding: 8px 0;
  background: #0a0e18; border: 1px solid rgba(255,255,255,.12); z-index: 40;
  display: flex; flex-direction: column; gap: 0;
}


.top .nav-dd-panel[hidden] { display: none !important; }


.top .nav-dd.is-open .nav-dd-panel:not(.nav-mega),
.top .nav-dd:focus-within .nav-dd-panel:not(.nav-mega) { display: flex !important; }


.top .nav-dd.is-open .nav-dd-panel:not(.nav-mega)[hidden],
.top .nav-dd:focus-within .nav-dd-panel:not(.nav-mega)[hidden] { display: flex !important; }


.top .nav-dd-panel a {
  display: block; padding: 10px 16px; color: #fff; text-decoration: none;
  font-weight: 600; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; opacity: .85;
}


.top .nav-dd-panel a:hover, .top .nav-dd-panel a:focus-visible { opacity: 1; background: rgba(45,107,255,.2); }



/* Mega Software: full-bleed + image cards (Chesapeake-style) */
.top .nav-dd-mega { position: static; }


.top .nav-dd-mega.is-open,
.top .nav-dd-mega:focus-within {
  padding-bottom: 0;
  margin-bottom: 0;
}


.top .nav-dd-panel.nav-mega {
  position: fixed;
  left: 0;
  right: 0;
  top: var(--argo-mega-top, 88px);
  width: 100vw;
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0;
  border-top: 1px solid rgba(255,255,255,.18);
  border-bottom: 1px solid rgba(255,255,255,.18);
  background: #05070d;
  box-shadow: 0 28px 80px rgba(0,0,0,.55);
  display: flex;
  flex-direction: column;
  z-index: 45;
  pointer-events: none;
  text-shadow: none;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-12px);
  clip-path: inset(0 0 100% 0);
  transition:
    opacity .38s cubic-bezier(.16,1,.3,1),
    transform .5s cubic-bezier(.16,1,.3,1),
    clip-path .55s cubic-bezier(.16,1,.3,1),
    visibility 0s linear .55s;
}


.top .nav-dd-panel.nav-mega[hidden] {
  display: flex !important;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}


.top .nav-dd-mega.is-open .nav-dd-panel.nav-mega,
.top .nav-dd-mega:focus-within .nav-dd-panel.nav-mega,
.top .nav-dd-mega.is-open .nav-dd-panel.nav-mega[hidden],
.top .nav-dd-mega:focus-within .nav-dd-panel.nav-mega[hidden] {
  display: flex !important;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: none;
  clip-path: inset(0 0 0 0);
  transition:
    opacity .35s cubic-bezier(.16,1,.3,1),
    transform .5s cubic-bezier(.16,1,.3,1),
    clip-path .55s cubic-bezier(.16,1,.3,1),
    visibility 0s linear 0s;
}


.nav-mega-rail {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  min-height: min(42vh, 440px);
  width: 100%;
}


.nav-mega-card {
  position: relative;
  display: block !important;
  min-height: min(42vh, 440px);
  padding: 0 !important;
  overflow: hidden;
  opacity: 0 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  color: #fff !important;
  background: #0a0e18 !important;
  border-right: 1px solid rgba(255,255,255,.12);
  transform: translateY(18px);
  transition: opacity .45s cubic-bezier(.16,1,.3,1), transform .55s cubic-bezier(.16,1,.3,1);
}


.nav-mega-card:nth-child(1) { transition-delay: 0s; }


.nav-mega-card:nth-child(2) { transition-delay: .05s; }


.nav-mega-card:nth-child(3) { transition-delay: .1s; }


.nav-mega-card:nth-child(4) { transition-delay: .15s; }


.nav-mega-card:nth-child(5) { transition-delay: .2s; }


.top .nav-dd-mega.is-open .nav-mega-card,
.top .nav-dd-mega:focus-within .nav-mega-card {
  opacity: 1 !important;
  transform: none;
}


.top .nav-dd-mega.is-open .nav-mega-card:nth-child(1),
.top .nav-dd-mega:focus-within .nav-mega-card:nth-child(1) { transition-delay: .08s; }


.top .nav-dd-mega.is-open .nav-mega-card:nth-child(2),
.top .nav-dd-mega:focus-within .nav-mega-card:nth-child(2) { transition-delay: .13s; }


.top .nav-dd-mega.is-open .nav-mega-card:nth-child(3),
.top .nav-dd-mega:focus-within .nav-mega-card:nth-child(3) { transition-delay: .18s; }


.top .nav-dd-mega.is-open .nav-mega-card:nth-child(4),
.top .nav-dd-mega:focus-within .nav-mega-card:nth-child(4) { transition-delay: .23s; }


.top .nav-dd-mega.is-open .nav-mega-card:nth-child(5),
.top .nav-dd-mega:focus-within .nav-mega-card:nth-child(5) { transition-delay: .28s; }


.nav-mega-card:last-child { border-right: 0; }


.nav-mega-ph {
  position: absolute; inset: 0;
  background: center / cover no-repeat #121826;
  transform: scale(1.08);
  transition: transform 1s cubic-bezier(.16,1,.3,1) .1s, filter .5s;
  filter: saturate(.92) brightness(.72);
}


.top .nav-dd-mega.is-open .nav-mega-ph,
.top .nav-dd-mega:focus-within .nav-mega-ph { transform: scale(1.02); }


.nav-mega-veil {
  position: absolute; inset: 0;
  background:
    linear-gradient(180deg, rgba(5,7,13,.15) 0%, rgba(5,7,13,.28) 42%, rgba(5,7,13,.92) 100%),
    linear-gradient(90deg, rgba(5,7,13,.35) 0%, transparent 40%);
  pointer-events: none;
}


.nav-mega-copy {
  position: absolute; left: 0; right: 0; bottom: 0;
  z-index: 1;
  display: flex; flex-direction: column; align-items: flex-start; gap: 5px;
  padding: clamp(14px, 2vw, 24px);
}


.nav-mega-copy small {
  font-weight: 700; font-size: 10px; letter-spacing: .22em; text-transform: uppercase;
  color: #8fb2ff;
}


.nav-mega-copy strong {
  font-weight: 800; font-size: clamp(22px, 2.6vw, 36px); line-height: .95;
  letter-spacing: -.04em; text-transform: none;
}


.nav-mega-copy em {
  font-style: normal; font-weight: 500; font-size: clamp(12px, 1.05vw, 14px);
  line-height: 1.35; max-width: 28ch; color: rgba(255,255,255,.78);
}


.nav-mega-copy strong,
.nav-mega-copy em,
.nav-mega-copy small {
  opacity: 0;
  transform: translateY(10px);
  transition: opacity .4s cubic-bezier(.16,1,.3,1), transform .5s cubic-bezier(.16,1,.3,1);
}


.top .nav-dd-mega.is-open .nav-mega-copy small,
.top .nav-dd-mega:focus-within .nav-mega-copy small { opacity: 1; transform: none; transition-delay: .16s; }


.top .nav-dd-mega.is-open .nav-mega-copy strong,
.top .nav-dd-mega:focus-within .nav-mega-copy strong { opacity: 1; transform: none; transition-delay: .22s; }


.top .nav-dd-mega.is-open .nav-mega-copy em,
.top .nav-dd-mega:focus-within .nav-mega-copy em { opacity: 1; transform: none; transition-delay: .28s; }


.nav-mega-copy u {
  margin-top: 6px; text-decoration: none; font-weight: 700; font-size: 11px;
  letter-spacing: .16em; text-transform: uppercase; color: #fff;
  display: inline-flex; align-items: center; gap: 8px;
  opacity: .0; transform: translateY(8px);
  transition: opacity .35s, transform .45s cubic-bezier(.16,1,.3,1);
}


.nav-mega-card:hover .nav-mega-ph,
.nav-mega-card:focus-visible .nav-mega-ph {
  transform: scale(1.08);
  filter: saturate(1.05) brightness(.88);
}


.nav-mega-card:hover .nav-mega-copy u,
.nav-mega-card:focus-visible .nav-mega-copy u {
  opacity: 1; transform: none;
}


.nav-mega-foot {
  display: flex; justify-content: flex-end; align-items: center;
  padding: 10px max(34px, env(safe-area-inset-right, 0px)) 10px max(34px, env(safe-area-inset-left, 0px));
  background: #070a12;
  border-top: 1px solid rgba(255,255,255,.08);
  opacity: 0;
  transform: translateY(8px);
  transition: opacity .35s cubic-bezier(.16,1,.3,1) .24s, transform .45s cubic-bezier(.16,1,.3,1) .24s;
}


.top .nav-dd-mega.is-open .nav-mega-foot,
.top .nav-dd-mega:focus-within .nav-mega-foot {
  opacity: 1;
  transform: none;
}


.nav-mega-foot a {
  display: inline-flex !important; align-items: center; gap: 10px;
  padding: 0 !important; background: none !important;
  font-weight: 700; font-size: 12px; letter-spacing: .16em; text-transform: uppercase;
  color: #fff; opacity: .85;
}


.nav-mega-foot a:hover { opacity: 1; color: #8fb2ff; }


@media (hover: hover) and (pointer: fine) {
  .top .nav-dd:hover {
    padding-bottom: 14px;
    margin-bottom: -14px;
  }
  .top .nav-dd-mega:hover {
    padding-bottom: 0;
    margin-bottom: 0;
  }
  .top .nav-dd:hover .nav-dd-panel:not(.nav-mega) { display: flex !important; }
  .top .nav-dd:hover .nav-dd-panel:not(.nav-mega)[hidden] { display: flex !important; }
  .top .nav-dd-mega:hover .nav-dd-panel.nav-mega,
  .top .nav-dd-mega:hover .nav-dd-panel.nav-mega[hidden] {
    display: flex !important;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: none;
    clip-path: inset(0 0 0 0);
    transition:
      opacity .35s cubic-bezier(.16,1,.3,1),
      transform .5s cubic-bezier(.16,1,.3,1),
      clip-path .55s cubic-bezier(.16,1,.3,1),
      visibility 0s linear 0s;
  }
  .top .nav-dd-mega:hover .nav-mega-card {
    opacity: 1 !important;
    transform: none;
  }
  .top .nav-dd-mega:hover .nav-mega-card:nth-child(1) { transition-delay: .08s; }
  .top .nav-dd-mega:hover .nav-mega-card:nth-child(2) { transition-delay: .13s; }
  .top .nav-dd-mega:hover .nav-mega-card:nth-child(3) { transition-delay: .18s; }
  .top .nav-dd-mega:hover .nav-mega-card:nth-child(4) { transition-delay: .23s; }
  .top .nav-dd-mega:hover .nav-mega-card:nth-child(5) { transition-delay: .28s; }
  .top .nav-dd-mega:hover .nav-mega-ph { transform: scale(1.02); }
  .top .nav-dd-mega:hover .nav-mega-copy small,
  .top .nav-dd-mega:hover .nav-mega-copy strong,
  .top .nav-dd-mega:hover .nav-mega-copy em { opacity: 1; transform: none; }
  .top .nav-dd-mega:hover .nav-mega-copy small { transition-delay: .16s; }
  .top .nav-dd-mega:hover .nav-mega-copy strong { transition-delay: .22s; }
  .top .nav-dd-mega:hover .nav-mega-copy em { transition-delay: .28s; }
  .top .nav-dd-mega:hover .nav-mega-foot { opacity: 1; transform: none; }
}


@media (prefers-reduced-motion: reduce) {
  .top .nav-dd-panel.nav-mega,
  .nav-mega-card,
  .nav-mega-ph,
  .nav-mega-copy strong,
  .nav-mega-copy em,
  .nav-mega-copy small,
  .nav-mega-copy u,
  .nav-mega-foot {
    transition: none !important;
    transform: none !important;
    clip-path: none !important;
    opacity: 1 !important;
  }
}


@media (max-width: 1100px) {
  .nav-mega-rail { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nav-mega-card { min-height: min(34vh, 320px); }
}


@media (max-width: 900px) {
  .nav-mega-rail { grid-template-columns: 1fr; min-height: 0; }
  .nav-mega-card { min-height: 26vh; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.12); }
  .nav-mega-card:last-child { border-bottom: 0; }
  .nav-mega-copy u { opacity: 1; transform: none; }
}


@media (max-width: 860px) {
  .top .argo-nav > a:not(.nb), .top .argo-nav .nav-dd { display: none; }
}


.mnav-group { border-bottom: 1px solid rgba(255,255,255,.14); }


.mnav-row { display: flex; align-items: stretch; gap: 0; }


.mnav-row .l { flex: 1; border-bottom: 0 !important; }


.mnav-tog {
  flex: 0 0 56px; border: 0; background: transparent; color: #fff; cursor: pointer; position: relative;
}


.mnav-tog::after {
  content: ''; position: absolute; left: 50%; top: 50%; width: 10px; height: 10px;
  border-right: 2px solid #2d6bff; border-bottom: 2px solid #2d6bff;
  transform: translate(-50%, -60%) rotate(45deg);
}


.mnav-group.is-open .mnav-tog::after { transform: translate(-50%, -20%) rotate(-135deg); }


.mnav-sub { display: flex; flex-direction: column; padding: 0 0 12px 38px; gap: 4px; }


.mnav-sub[hidden] { display: none !important; }


.mnav-sub a small {
  display: block; margin-top: 4px; font-weight: 500; font-size: 12px;
  letter-spacing: 0; text-transform: none; color: rgba(255,255,255,.55);
}


.mnav-sub-mega a {
  display: flex; align-items: center; gap: 14px; padding: 10px 0;
}


.mnav-sub-mega .mnav-thumb {
  flex: 0 0 56px; width: 56px; height: 56px; border-radius: 0;
  background: center / cover no-repeat var(--mnav-img) #1a2033;
}


.mnav-sub a {
  color: #aab1c5; text-decoration: none; font: 600 16px/1.4 Montserrat, system-ui, sans-serif; padding: 10px 0;
}


html { scroll-behavior: smooth; }


.btn { display: inline-block; padding: 16px 24px; background: var(--blue); color: #fff; text-decoration: none; font-weight: 700; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; border: 1px solid var(--blue); transition: background .25s, transform .25s; }


.btn:hover { background: #4a80ff; transform: translateY(-2px); }


.btn.ghost { background: transparent; border-color: rgba(255,255,255,.4); }


.btn.ghost:hover { background: rgba(255,255,255,.08); }


.ctas { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }


.micro { margin: 16px 0 0; max-width: 46ch; font-size: 12.5px; line-height: 1.6; color: var(--ink-dim); }


.micro em, .pf-n em, .pn em { font-style: normal; color: #8fb2ff; }


.dec .ctas .btn { margin: 0; }


.sec-in .btn { margin-top: 30px; }


.end h2.long { max-width: 16ch; font-size: clamp(42px, 6.4vw, 92px); }


.end .ctas { margin-top: 30px; }


.end .mail { margin-top: 34px; font-size: clamp(18px, 2.2vw, 32px); }


.end .addr { margin: 20px 0 0; font-size: 13px; color: var(--ink-dim); }




.end.mini .os-bg{background-image:url(../../bg_blu.jpg);filter:none}


.svc.blu .micro,.svc.blu .meth p,.svc.blu .prod p,.svc.blu .tl p{color:#cfdcff}


.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 .micro em,.svc.blu .pn em{color:#fff}


.wa{display:none}


/* fasce: sfondi sfumati forniti */
.svc.blu{background:#1f4fd8 url(../../fascia_a.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}


.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}



/* greche v2: 5 pattern reali dall'immagine, a rotazione */
.os.svc::before,.os.svc::after{height:var(--h1,34px)!important;top:auto;bottom:auto}



/* una sola greca tra sezioni */
.os.svc::after{display:none!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}



/* 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}



/* 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)}



/* 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}


#home-chi .rv{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}



/* 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)}



/* casi in loop */
.hs.lp{height:auto!important;padding-block:clamp(60px,10vh,110px);overflow:hidden}



/* 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)}



/* 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}



/* 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%)}



/* casi: solo foto, hover con overlay GSAP */
.lp-c::after{display:none!important}



/* 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}


.end .os-bg{filter:none}


/* 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}



/* fasce piatte, niente aloni; riquadri aperti */
.svc.blu,.svc.nvy{background:#0b2a8f!important}


.svc.blu .btn:not(.ghost){background:#fff;color:#0b2a8f}



/* 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.blu .btn:not(.ghost){background:#fff;color:#05070d}


.two .pn li .mb{position:absolute;inset:0;width:100%;height:100%;z-index:3;cursor:crosshair;touch-action:none;border-radius:inherit}



/* titoli display light (ex bold 800) */
h1,h2,.dec h1,.ph h1,.end h2,.sec-in h2,.os h2,.ag-h,.idx-s h2,.hs-h h2,.dec blockquote{
  font-weight:300!important;
  letter-spacing:-.035em!important;
  line-height:1.04!important;
}


.end h2{font-size:clamp(36px,5.5vw,80px)!important}



.two .pn li .mb,.two .pn li .mh{display:none!important}



/* 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)}



/* menu sempre visibile — solo header.top (mai .pad.top del caso G2) */
header.top{z-index:9999!important;padding-bottom:22px!important;align-items:center!important;background:linear-gradient(180deg,rgba(5,7,13,.96) 55%,rgba(5,7,13,0))!important}


header.top .argo-nav > a,header.top .argo-nav .nav-dd-link{opacity:1!important}


header.top .argo-nav .argo-lang a{opacity:.45!important}


header.top .argo-nav .argo-lang a:hover,header.top .argo-nav .argo-lang span.is-active{opacity:1!important}


header.top .argo-nav,header.top .brand a{position:relative;z-index:2;pointer-events:auto}



/* 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%))}


.gdiv::after{content:"";position:absolute;top:8px;height:40px;width:3px;right:auto;left:calc((1 - var(--gp,1)) * 100%);background:#fff;box-shadow:0 0 18px 4px #2d6bff;opacity:calc(var(--gp,1) * (1 - var(--gp,1)) * 4);pointer-events:none;display:block!important}



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



/* responsive QA: menu mobile */
.mb,.mnav{display:none}


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


@media(max-width:860px) and (prefers-reduced-motion:reduce){.mnav,.mnav a.l,.mb span{transition:none}}


@media(max-width:860px) and (max-height:480px){.mnav .mi{display:none}.mnav{padding-top:calc(66px + env(safe-area-inset-top,0px))}.mnav a.l{min-height:40px;padding:4px 0}.mnav a.mc{min-height:46px;margin-top:12px}}



/* responsive QA: bottoni a piu' righe su mobile, header allineato su schermi molto larghi */
@media(min-width:1700px){.top{padding-left:max(34px,calc((100vw - 1500px)/2));padding-right:max(34px,calc((100vw - 1500px)/2))}}


@media(max-width:700px){
.btn{max-width:100%;min-height:52px;border-radius:30px!important}
.btn .bt-l{height:auto;overflow:visible;line-height:1.35;white-space:normal;min-width:0}
.btn .bt-l span+span{display:none}
.btn:hover .bt-l span{transform:none}
}



/* responsive QA: home mobile */
@media(max-width:600px){
.il.fin span{white-space:nowrap;font-size:min(10.5vw,52px);letter-spacing:.2em;padding-left:.2em}
.il.fin span u:nth-child(7){display:block;height:0;overflow:hidden}
body:not(.caso-single) .txt{left:max(24px,env(safe-area-inset-left,0px));width:calc(100vw - 48px)}
.pin-n{right:auto;left:var(--gutter)}
.end{display:block;padding-bottom:100px}
.intro-hero{top:44%;width:min(88vw,420px)}
.intro-hero-logo img.custom-logo{max-height:52px;max-width:min(220px,68vw)}
.intro-hero-logo{width:clamp(64px,18vw,88px)}
.intro-hero-claim{font-size:clamp(16px,4.6vw,20px);margin-top:14px;max-width:20ch}
}



/* 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}
}



/* 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}


#contatti .prod.contact-paths .btn{margin-top:18px}


#contatti .addr a{color:inherit;text-decoration:underline;text-underline-offset:3px}


#contatti .mail + .mail{margin-top:12px;display:block}



/* 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}

@media(min-width:2200px){.dec-in,.idx-s .os-in,.end-in,.sec-in,.proof-in,.vases ul{max-width:calc(1180px*1)!important}.sec-in.narrow{max-width:calc(860px*1)!important}.pin-st{padding-inline:max(var(--gutter),calc((100vw - 1180px*1)/2))!important}.top{padding-left:max(34px,calc((100vw - 1500px*1)/2))!important;padding-right:max(34px,calc((100vw - 1500px*1)/2))!important}.top nav a.nb{min-height:calc(40px*1)!important;padding:calc(10px*1) calc(16px*1)!important}.sec-in .sub,.dec .sub,.end .sub{max-width:calc(52ch*1)!important}:root{--gutter:max(34px,calc(34px*1))}.brand{font-size:calc(15px*1)!important}.hud{font-size:calc(10px*1)!important}.dots button span{font-size:calc(10px*1)!important}.kick{font-size:calc(11px*1)!important}.txt h1{font-size:clamp(44px,7.2vw,calc(40px*1))!important}.txt h2{font-size:clamp(32px,4.4vw,calc(44px*1))!important}.txt .lead{font-size:clamp(14px,1.15vw,calc(16px*1))!important}.go{font-size:calc(12px*1)!important}.hint{font-size:calc(10px*1)!important}.load{font-size:calc(12px*1)!important}.co .lb{font-size:calc(10px*1)!important}.intro-br{font-size:calc(12px*1)!important}.intro-hint{font-size:calc(10px*1)!important}.il p{font-size:clamp(32px,6vw,calc(44px*1))!important}.il.fin h2{font-size:clamp(40px,9vw,calc(44px*1))!important}.il.fin span{font-size:clamp(30px,6.4vw,calc(48px*1))!important}.os-k{font-size:calc(11px*1)!important}.more{font-size:calc(12px*1)!important}.dec blockquote{font-size:clamp(30px,4.4vw,calc(48px*1))!important}.dec .sub{font-size:clamp(14px,1.15vw,calc(17px*1))!important}.fig i{font-size:calc(10px*1)!important}.step h3{font-size:clamp(30px,3.8vw,calc(44px*1))!important}.step p{font-size:clamp(14px,1.1vw,calc(16px*1))!important}.hs-p{font-size:calc(10px*1)!important}.hs-h h2{font-size:clamp(30px,4vw,calc(46px*1))!important}.card .cd{font-size:calc(12px*1)!important}.card h3{font-size:clamp(24px,2.6vw,calc(40px*1))!important}.card span{font-size:calc(10px*1)!important}.idx-s h2{font-size:clamp(30px,4vw,calc(46px*1))!important}.idx a{font-size:clamp(15px,1.4vw,calc(21px*1))!important}.idx a small{font-size:calc(10px*1)!important}.idx a span{font-size:clamp(12px,1vw,calc(14px*1))!important}.idx a i{font-size:calc(12px*1)!important}.end h2{font-size:clamp(46px,8vw,calc(80px*1))!important}.end .sub{font-size:clamp(14px,1.2vw,calc(17px*1))!important}.mail{font-size:clamp(24px,3.4vw,calc(40px*1))!important}.top nav a{font-size:calc(10.5px*1)!important}.btn{font-size:calc(12px*1)!important}.micro{font-size:calc(12.5px*1)!important}.seo{font-size:calc(10.5px*1)!important}.dec h1{font-size:clamp(32px,4.6vw,calc(40px*1))!important}.pf li b{font-size:clamp(20px,2vw,calc(30px*1))!important}.pf li span{font-size:calc(10px*1)!important}.pf-n{font-size:calc(12px*1)!important}.sec-in h2{font-size:clamp(30px,4.2vw,calc(48px*1))!important}.sec-in .sub{font-size:clamp(14px,1.15vw,calc(17px*1))!important}.sec-in .ans{font-size:calc(14px*1)!important}.pc small, .meth small, .prod small{font-size:calc(10px*1)!important}.pc h3{font-size:clamp(22px,2vw,calc(30px*1))!important}.pc p{font-size:calc(14px*1)!important}.pn li, .flow li{font-size:clamp(15px,1.25vw,calc(19px*1))!important}.pn li small, .flow li small{font-size:calc(10px*1)!important}.meth h4, .prod h4{font-size:clamp(16px,1.4vw,calc(21px*1))!important}.meth p, .prod p{font-size:calc(13px*1)!important}.qa summary::after{font-size:calc(26px*1)!important}.qa p{font-size:calc(14px*1)!important}.end h2.long{font-size:clamp(36px,5.6vw,calc(44px*1))!important}.end .mail{font-size:clamp(20px,2.6vw,calc(38px*1))!important}.end .addr{font-size:calc(13px*1)!important}.bt .bcap{font-size:calc(9px*1)!important}.bt.colm p{font-size:calc(12px*1)!important}.vases a{font-size:calc(10px*1)!important}.probs .pc .pn{font-size:clamp(64px,9vw,calc(44px*1))!important}.probs .pc h3{font-size:clamp(20px,2.3vw,calc(34px*1))!important}.btn .bt-a{font-size:calc(16px*1)!important}.lp-c h3{font-size:clamp(22px,2.2vw,calc(34px*1))!important}.lp-c p{font-size:calc(12px*1)!important}.lp-c span{font-size:calc(10px*1)!important}#lia .pn li small,.lia .pn li small{font-size:calc(13px*1)!important}.qa summary{font-size:clamp(18px,2.1vw,calc(30px*1))!important}.qa summary::before{font-size:calc(13px*1)!important}.qa .qa-b p{font-size:clamp(15px,1.2vw,calc(18px*1))!important}.ag-h{font-size:clamp(34px,6vw,calc(44px*1))!important}.sk{font-size:clamp(24px,4vw,calc(44px*1))!important}.sk-f{font-size:clamp(28px,4.6vw,calc(40px*1))!important}.tl-n button{font-size:calc(12px*1)!important}.tl-n button span{font-size:calc(13px*1)!important}.tl-sl .big{font-size:clamp(100px,17vw,calc(120px*1))!important}.tl-sl h4{font-size:clamp(24px,3.4vw,calc(40px*1))!important}.tl-sl p{font-size:clamp(15px,1.25vw,calc(19px*1))!important}.tl-ar button{font-size:calc(18px*1)!important}.lp-o h3{font-size:clamp(26px,2.6vw,calc(40px*1))!important}.lp-b{font-size:calc(12px*1)!important}.lp-b b{font-size:calc(15px*1)!important}.lp-c span.lp-b{font-size:calc(12px*1)!important}.two .pn li small{font-size:calc(13px*1)!important}.two .pn li .mh{font-size:calc(10px*1)!important}.sec-in h2,.os h2{font-size:clamp(32px,4.6vw,calc(40px*1))!important}.mn{font-size:calc(11px*1)!important}#home-co .hs-h h2{font-size:clamp(26px,3.4vw,calc(48px*1))!important}.ar-b b{font-size:calc(15px*1)!important}}

@media(min-width:3000px){.dec-in,.idx-s .os-in,.end-in,.sec-in,.proof-in,.vases ul{max-width:calc(1180px*1)!important}.sec-in.narrow{max-width:calc(860px*1)!important}.pin-st{padding-inline:max(var(--gutter),calc((100vw - 1180px*1)/2))!important}.top{padding-left:max(34px,calc((100vw - 1500px*1)/2))!important;padding-right:max(34px,calc((100vw - 1500px*1)/2))!important}.top nav a.nb{min-height:calc(40px*1)!important;padding:calc(10px*1) calc(16px*1)!important}.sec-in .sub,.dec .sub,.end .sub{max-width:calc(52ch*1)!important}:root{--gutter:max(34px,calc(34px*1))}.brand{font-size:calc(15px*1)!important}.hud{font-size:calc(10px*1)!important}.dots button span{font-size:calc(10px*1)!important}.kick{font-size:calc(11px*1)!important}.txt h1{font-size:clamp(44px,7.2vw,calc(40px*1))!important}.txt h2{font-size:clamp(32px,4.4vw,calc(44px*1))!important}.txt .lead{font-size:clamp(14px,1.15vw,calc(16px*1))!important}.go{font-size:calc(12px*1)!important}.hint{font-size:calc(10px*1)!important}.load{font-size:calc(12px*1)!important}.co .lb{font-size:calc(10px*1)!important}.intro-br{font-size:calc(12px*1)!important}.intro-hint{font-size:calc(10px*1)!important}.il p{font-size:clamp(32px,6vw,calc(44px*1))!important}.il.fin h2{font-size:clamp(40px,9vw,calc(44px*1))!important}.il.fin span{font-size:clamp(30px,6.4vw,calc(48px*1))!important}.os-k{font-size:calc(11px*1)!important}.more{font-size:calc(12px*1)!important}.dec blockquote{font-size:clamp(30px,4.4vw,calc(48px*1))!important}.dec .sub{font-size:clamp(14px,1.15vw,calc(17px*1))!important}.fig i{font-size:calc(10px*1)!important}.step h3{font-size:clamp(30px,3.8vw,calc(44px*1))!important}.step p{font-size:clamp(14px,1.1vw,calc(16px*1))!important}.hs-p{font-size:calc(10px*1)!important}.hs-h h2{font-size:clamp(30px,4vw,calc(46px*1))!important}.card .cd{font-size:calc(12px*1)!important}.card h3{font-size:clamp(24px,2.6vw,calc(40px*1))!important}.card span{font-size:calc(10px*1)!important}.idx-s h2{font-size:clamp(30px,4vw,calc(46px*1))!important}.idx a{font-size:clamp(15px,1.4vw,calc(21px*1))!important}.idx a small{font-size:calc(10px*1)!important}.idx a span{font-size:clamp(12px,1vw,calc(14px*1))!important}.idx a i{font-size:calc(12px*1)!important}.end h2{font-size:clamp(46px,8vw,calc(80px*1))!important}.end .sub{font-size:clamp(14px,1.2vw,calc(17px*1))!important}.mail{font-size:clamp(24px,3.4vw,calc(40px*1))!important}.top nav a{font-size:calc(10.5px*1)!important}.btn{font-size:calc(12px*1)!important}.micro{font-size:calc(12.5px*1)!important}.seo{font-size:calc(10.5px*1)!important}.dec h1{font-size:clamp(32px,4.6vw,calc(40px*1))!important}.pf li b{font-size:clamp(20px,2vw,calc(30px*1))!important}.pf li span{font-size:calc(10px*1)!important}.pf-n{font-size:calc(12px*1)!important}.sec-in h2{font-size:clamp(30px,4.2vw,calc(48px*1))!important}.sec-in .sub{font-size:clamp(14px,1.15vw,calc(17px*1))!important}.sec-in .ans{font-size:calc(14px*1)!important}.pc small, .meth small, .prod small{font-size:calc(10px*1)!important}.pc h3{font-size:clamp(22px,2vw,calc(30px*1))!important}.pc p{font-size:calc(14px*1)!important}.pn li, .flow li{font-size:clamp(15px,1.25vw,calc(19px*1))!important}.pn li small, .flow li small{font-size:calc(10px*1)!important}.meth h4, .prod h4{font-size:clamp(16px,1.4vw,calc(21px*1))!important}.meth p, .prod p{font-size:calc(13px*1)!important}.qa summary::after{font-size:calc(26px*1)!important}.qa p{font-size:calc(14px*1)!important}.end h2.long{font-size:clamp(36px,5.6vw,calc(44px*1))!important}.end .mail{font-size:clamp(20px,2.6vw,calc(38px*1))!important}.end .addr{font-size:calc(13px*1)!important}.bt .bcap{font-size:calc(9px*1)!important}.bt.colm p{font-size:calc(12px*1)!important}.vases a{font-size:calc(10px*1)!important}.probs .pc .pn{font-size:clamp(64px,9vw,calc(44px*1))!important}.probs .pc h3{font-size:clamp(20px,2.3vw,calc(34px*1))!important}.btn .bt-a{font-size:calc(16px*1)!important}.lp-c h3{font-size:clamp(22px,2.2vw,calc(34px*1))!important}.lp-c p{font-size:calc(12px*1)!important}.lp-c span{font-size:calc(10px*1)!important}#lia .pn li small,.lia .pn li small{font-size:calc(13px*1)!important}.qa summary{font-size:clamp(18px,2.1vw,calc(30px*1))!important}.qa summary::before{font-size:calc(13px*1)!important}.qa .qa-b p{font-size:clamp(15px,1.2vw,calc(18px*1))!important}.ag-h{font-size:clamp(34px,6vw,calc(44px*1))!important}.sk{font-size:clamp(24px,4vw,calc(44px*1))!important}.sk-f{font-size:clamp(28px,4.6vw,calc(40px*1))!important}.tl-n button{font-size:calc(12px*1)!important}.tl-n button span{font-size:calc(13px*1)!important}.tl-sl .big{font-size:clamp(100px,17vw,calc(120px*1))!important}.tl-sl h4{font-size:clamp(24px,3.4vw,calc(40px*1))!important}.tl-sl p{font-size:clamp(15px,1.25vw,calc(19px*1))!important}.tl-ar button{font-size:calc(18px*1)!important}.lp-o h3{font-size:clamp(26px,2.6vw,calc(40px*1))!important}.lp-b{font-size:calc(12px*1)!important}.lp-b b{font-size:calc(15px*1)!important}.lp-c span.lp-b{font-size:calc(12px*1)!important}.two .pn li small{font-size:calc(13px*1)!important}.two .pn li .mh{font-size:calc(10px*1)!important}.sec-in h2,.os h2{font-size:clamp(32px,4.6vw,calc(40px*1))!important}.mn{font-size:calc(11px*1)!important}#home-co .hs-h h2{font-size:clamp(26px,3.4vw,calc(48px*1))!important}.ar-b b{font-size:calc(15px*1)!important}}

@media(min-width:861px) and (max-width:1100px){.brand{font-size:calc(15px*1.2)!important}.hud{font-size:calc(10px*1.2)!important}.dots button span{font-size:calc(10px*1.2)!important}.kick{font-size:calc(11px*1.2)!important}.txt h1{font-size:clamp(calc(44px*1.2),calc(7.2vw*1.2),calc(108px*1.2))!important}.txt h2{font-size:clamp(calc(32px*1.2),calc(4.4vw*1.2),calc(64px*1.2))!important}.txt .lead{font-size:clamp(calc(14px*1.2),calc(1.15vw*1.2),calc(16px*1.2))!important}.go{font-size:calc(12px*1.2)!important}.hint{font-size:calc(10px*1.2)!important}.load{font-size:calc(12px*1.2)!important}.co .lb{font-size:calc(10px*1.2)!important}.intro-br{font-size:calc(12px*1.2)!important}.intro-hint{font-size:calc(10px*1.2)!important}.il p{font-size:clamp(calc(32px*1.2),calc(6vw*1.2),calc(92px*1.2))!important}.il.fin h2{font-size:clamp(calc(40px*1.2),calc(9vw*1.2),calc(150px*1.2))!important}.il.fin span{font-size:clamp(calc(30px*1.2),calc(6.4vw*1.2),calc(104px*1.2))!important}.os-k{font-size:calc(11px*1.2)!important}.more{font-size:calc(12px*1.2)!important}.dec blockquote{font-size:clamp(calc(30px*1.2),calc(4.4vw*1.2),calc(68px*1.2))!important}.dec .sub{font-size:clamp(calc(14px*1.2),calc(1.15vw*1.2),calc(17px*1.2))!important}.fig i{font-size:calc(10px*1.2)!important}.step h3{font-size:clamp(calc(30px*1.2),calc(3.8vw*1.2),calc(58px*1.2))!important}.step p{font-size:clamp(calc(14px*1.2),calc(1.1vw*1.2),calc(16px*1.2))!important}.hs-p{font-size:calc(10px*1.2)!important}.hs-h h2{font-size:clamp(calc(30px*1.2),calc(4vw*1.2),calc(60px*1.2))!important}.card .cd{font-size:calc(12px*1.2)!important}.card h3{font-size:clamp(calc(24px*1.2),calc(2.6vw*1.2),calc(40px*1.2))!important}.card span{font-size:calc(10px*1.2)!important}.idx-s h2{font-size:clamp(calc(30px*1.2),calc(4vw*1.2),calc(60px*1.2))!important}.idx a{font-size:clamp(calc(15px*1.2),calc(1.4vw*1.2),calc(21px*1.2))!important}.idx a small{font-size:calc(10px*1.2)!important}.idx a span{font-size:clamp(calc(12px*1.2),calc(1vw*1.2),calc(14px*1.2))!important}.idx a i{font-size:calc(12px*1.2)!important}.end h2{font-size:clamp(calc(46px*1.2),calc(8vw*1.2),calc(132px*1.2))!important}.end .sub{font-size:clamp(calc(14px*1.2),calc(1.2vw*1.2),calc(17px*1.2))!important}.mail{font-size:clamp(calc(24px*1.2),calc(3.4vw*1.2),calc(52px*1.2))!important}.top nav a{font-size:calc(10.5px*1.2)!important}.btn{font-size:calc(12px*1.2)!important}.micro{font-size:calc(12.5px*1.2)!important}.seo{font-size:calc(10.5px*1.2)!important}.dec h1{font-size:clamp(calc(32px*1.2),calc(4.6vw*1.2),calc(70px*1.2))!important}.pf li b{font-size:clamp(calc(20px*1.2),calc(2vw*1.2),calc(30px*1.2))!important}.pf li span{font-size:calc(10px*1.2)!important}.pf-n{font-size:calc(12px*1.2)!important}.sec-in h2{font-size:clamp(calc(30px*1.2),calc(4.2vw*1.2),calc(62px*1.2))!important}.sec-in .sub{font-size:clamp(calc(14px*1.2),calc(1.15vw*1.2),calc(17px*1.2))!important}.sec-in .ans{font-size:calc(14px*1.2)!important}.pc small, .meth small, .prod small{font-size:calc(10px*1.2)!important}.pc h3{font-size:clamp(calc(22px*1.2),calc(2vw*1.2),calc(30px*1.2))!important}.pc p{font-size:calc(14px*1.2)!important}.pn li, .flow li{font-size:clamp(calc(15px*1.2),calc(1.25vw*1.2),calc(19px*1.2))!important}.pn li small, .flow li small{font-size:calc(10px*1.2)!important}.meth h4, .prod h4{font-size:clamp(calc(16px*1.2),calc(1.4vw*1.2),calc(21px*1.2))!important}.meth p, .prod p{font-size:calc(13px*1.2)!important}.qa summary::after{font-size:calc(26px*1.2)!important}.qa p{font-size:calc(14px*1.2)!important}.end h2.long{font-size:clamp(calc(36px*1.2),calc(5.6vw*1.2),calc(88px*1.2))!important}.end .mail{font-size:clamp(calc(20px*1.2),calc(2.6vw*1.2),calc(38px*1.2))!important}.end .addr{font-size:calc(13px*1.2)!important}.bt .bcap{font-size:calc(9px*1.2)!important}.bt.colm p{font-size:calc(12px*1.2)!important}.vases a{font-size:calc(10px*1.2)!important}.probs .pc .pn{font-size:clamp(calc(64px*1.2),calc(9vw*1.2),calc(150px*1.2))!important}.probs .pc h3{font-size:clamp(calc(20px*1.2),calc(2.3vw*1.2),calc(34px*1.2))!important}.btn .bt-a{font-size:calc(16px*1.2)!important}.lp-c h3{font-size:clamp(calc(22px*1.2),calc(2.2vw*1.2),calc(34px*1.2))!important}.lp-c p{font-size:calc(12px*1.2)!important}.lp-c span{font-size:calc(10px*1.2)!important}#lia .pn li small,.lia .pn li small{font-size:calc(13px*1.2)!important}.qa summary{font-size:clamp(calc(18px*1.2),calc(2.1vw*1.2),calc(30px*1.2))!important}.qa summary::before{font-size:calc(13px*1.2)!important}.qa .qa-b p{font-size:clamp(calc(15px*1.2),calc(1.2vw*1.2),calc(18px*1.2))!important}.ag-h{font-size:clamp(calc(34px*1.2),calc(6vw*1.2),calc(96px*1.2))!important}.sk{font-size:clamp(calc(24px*1.2),calc(4vw*1.2),calc(64px*1.2))!important}.sk-f{font-size:clamp(calc(28px*1.2),calc(4.6vw*1.2),calc(76px*1.2))!important}.tl-n button{font-size:calc(12px*1.2)!important}.tl-n button span{font-size:calc(13px*1.2)!important}.tl-sl .big{font-size:clamp(calc(100px*1.2),calc(17vw*1.2),calc(260px*1.2))!important}.tl-sl h4{font-size:clamp(calc(24px*1.2),calc(3.4vw*1.2),calc(52px*1.2))!important}.tl-sl p{font-size:clamp(calc(15px*1.2),calc(1.25vw*1.2),calc(19px*1.2))!important}.tl-ar button{font-size:calc(18px*1.2)!important}.lp-o h3{font-size:clamp(calc(26px*1.2),calc(2.6vw*1.2),calc(40px*1.2))!important}.lp-b{font-size:calc(12px*1.2)!important}.lp-b b{font-size:calc(15px*1.2)!important}.lp-c span.lp-b{font-size:calc(12px*1.2)!important}.two .pn li small{font-size:calc(13px*1.2)!important}.two .pn li .mh{font-size:calc(10px*1.2)!important}.sec-in h2,.os h2{font-size:clamp(calc(32px*1.2),calc(4.6vw*1.2),calc(72px*1.2))!important}.mn{font-size:calc(11px*1.2)!important}#home-co .hs-h h2{font-size:clamp(calc(26px*1.2),calc(3.4vw*1.2),calc(48px*1.2))!important}.ar-b b{font-size:calc(15px*1.2)!important}}

@media(min-width:700px) and (max-width:860px){.brand{font-size:calc(15px*1.25)!important}.hud{font-size:calc(10px*1.25)!important}.dots button span{font-size:calc(10px*1.25)!important}.kick{font-size:calc(11px*1.25)!important}.txt h1{font-size:clamp(calc(44px*1.25),calc(7.2vw*1.25),calc(108px*1.25))!important}.txt h2{font-size:clamp(calc(32px*1.25),calc(4.4vw*1.25),calc(64px*1.25))!important}.txt .lead{font-size:clamp(calc(14px*1.25),calc(1.15vw*1.25),calc(16px*1.25))!important}.go{font-size:calc(12px*1.25)!important}.hint{font-size:calc(10px*1.25)!important}.load{font-size:calc(12px*1.25)!important}.co .lb{font-size:calc(10px*1.25)!important}.intro-br{font-size:calc(12px*1.25)!important}.intro-hint{font-size:calc(10px*1.25)!important}.il p{font-size:clamp(calc(32px*1.25),calc(6vw*1.25),calc(92px*1.25))!important}.il.fin h2{font-size:clamp(calc(40px*1.25),calc(9vw*1.25),calc(150px*1.25))!important}.il.fin span{font-size:clamp(calc(30px*1.25),calc(6.4vw*1.25),calc(104px*1.25))!important}.os-k{font-size:calc(11px*1.25)!important}.more{font-size:calc(12px*1.25)!important}.dec blockquote{font-size:clamp(calc(30px*1.25),calc(4.4vw*1.25),calc(68px*1.25))!important}.dec .sub{font-size:clamp(calc(14px*1.25),calc(1.15vw*1.25),calc(17px*1.25))!important}.fig i{font-size:calc(10px*1.25)!important}.step h3{font-size:clamp(calc(30px*1.25),calc(3.8vw*1.25),calc(58px*1.25))!important}.step p{font-size:clamp(calc(14px*1.25),calc(1.1vw*1.25),calc(16px*1.25))!important}.hs-p{font-size:calc(10px*1.25)!important}.hs-h h2{font-size:clamp(calc(30px*1.25),calc(4vw*1.25),calc(60px*1.25))!important}.card .cd{font-size:calc(12px*1.25)!important}.card h3{font-size:clamp(calc(24px*1.25),calc(2.6vw*1.25),calc(40px*1.25))!important}.card span{font-size:calc(10px*1.25)!important}.idx-s h2{font-size:clamp(calc(30px*1.25),calc(4vw*1.25),calc(60px*1.25))!important}.idx a{font-size:clamp(calc(15px*1.25),calc(1.4vw*1.25),calc(21px*1.25))!important}.idx a small{font-size:calc(10px*1.25)!important}.idx a span{font-size:clamp(calc(12px*1.25),calc(1vw*1.25),calc(14px*1.25))!important}.idx a i{font-size:calc(12px*1.25)!important}.end h2{font-size:clamp(calc(46px*1.25),calc(8vw*1.25),calc(132px*1.25))!important}.end .sub{font-size:clamp(calc(14px*1.25),calc(1.2vw*1.25),calc(17px*1.25))!important}.mail{font-size:clamp(calc(24px*1.25),calc(3.4vw*1.25),calc(52px*1.25))!important}.top nav a{font-size:calc(10.5px*1.25)!important}.btn{font-size:calc(12px*1.25)!important}.micro{font-size:calc(12.5px*1.25)!important}.seo{font-size:calc(10.5px*1.25)!important}.dec h1{font-size:clamp(calc(32px*1.25),calc(4.6vw*1.25),calc(70px*1.25))!important}.pf li b{font-size:clamp(calc(20px*1.25),calc(2vw*1.25),calc(30px*1.25))!important}.pf li span{font-size:calc(10px*1.25)!important}.pf-n{font-size:calc(12px*1.25)!important}.sec-in h2{font-size:clamp(calc(30px*1.25),calc(4.2vw*1.25),calc(62px*1.25))!important}.sec-in .sub{font-size:clamp(calc(14px*1.25),calc(1.15vw*1.25),calc(17px*1.25))!important}.sec-in .ans{font-size:calc(14px*1.25)!important}.pc small, .meth small, .prod small{font-size:calc(10px*1.25)!important}.pc h3{font-size:clamp(calc(22px*1.25),calc(2vw*1.25),calc(30px*1.25))!important}.pc p{font-size:calc(14px*1.25)!important}.pn li, .flow li{font-size:clamp(calc(15px*1.25),calc(1.25vw*1.25),calc(19px*1.25))!important}.pn li small, .flow li small{font-size:calc(10px*1.25)!important}.meth h4, .prod h4{font-size:clamp(calc(16px*1.25),calc(1.4vw*1.25),calc(21px*1.25))!important}.meth p, .prod p{font-size:calc(13px*1.25)!important}.qa summary::after{font-size:calc(26px*1.25)!important}.qa p{font-size:calc(14px*1.25)!important}.end h2.long{font-size:clamp(calc(36px*1.25),calc(5.6vw*1.25),calc(88px*1.25))!important}.end .mail{font-size:clamp(calc(20px*1.25),calc(2.6vw*1.25),calc(38px*1.25))!important}.end .addr{font-size:calc(13px*1.25)!important}.bt .bcap{font-size:calc(9px*1.25)!important}.bt.colm p{font-size:calc(12px*1.25)!important}.vases a{font-size:calc(10px*1.25)!important}.wa{font-size:calc(11px*1.25)!important}.probs .pc h3{font-size:clamp(calc(20px*1.25),calc(2.3vw*1.25),calc(34px*1.25))!important}.probs .pc .pn{font-size:calc(64px*1.25)!important}.btn .bt-a{font-size:calc(16px*1.25)!important}.lp-c h3{font-size:clamp(calc(22px*1.25),calc(2.2vw*1.25),calc(34px*1.25))!important}.lp-c p{font-size:calc(12px*1.25)!important}.lp-c span{font-size:calc(10px*1.25)!important}#lia .pn li small,.lia .pn li small{font-size:calc(13px*1.25)!important}.qa summary{font-size:clamp(calc(18px*1.25),calc(2.1vw*1.25),calc(30px*1.25))!important}.qa summary::before{font-size:calc(13px*1.25)!important}.qa .qa-b p{font-size:clamp(calc(15px*1.25),calc(1.2vw*1.25),calc(18px*1.25))!important}.ag-h{font-size:clamp(calc(34px*1.25),calc(6vw*1.25),calc(96px*1.25))!important}.sk{font-size:clamp(calc(24px*1.25),calc(4vw*1.25),calc(64px*1.25))!important}.sk-f{font-size:clamp(calc(28px*1.25),calc(4.6vw*1.25),calc(76px*1.25))!important}.tl-n button{font-size:calc(12px*1.25)!important}.tl-n button span{font-size:calc(13px*1.25)!important}.tl-sl h4{font-size:clamp(calc(24px*1.25),calc(3.4vw*1.25),calc(52px*1.25))!important}.tl-sl p{font-size:clamp(calc(15px*1.25),calc(1.25vw*1.25),calc(19px*1.25))!important}.tl-ar button{font-size:calc(18px*1.25)!important}.tl-sl .big{font-size:calc(96px*1.25)!important}.lp-o h3{font-size:clamp(calc(26px*1.25),calc(2.6vw*1.25),calc(40px*1.25))!important}.lp-b{font-size:calc(12px*1.25)!important}.lp-b b{font-size:calc(15px*1.25)!important}.lp-c span.lp-b{font-size:calc(12px*1.25)!important}.two .pn li small{font-size:calc(13px*1.25)!important}.two .pn li .mh{font-size:calc(10px*1.25)!important}.sec-in h2,.os h2{font-size:clamp(calc(32px*1.25),calc(4.6vw*1.25),calc(72px*1.25))!important}.mn{font-size:calc(11px*1.25)!important}.top nav a.nb{font-size:calc(10px*1.25)!important}.mnav a.l{font-size:clamp(calc(22px*1.25),calc(min(8vw*1.25),calc(6.2vh),44px*1.25))!important}.tbl th,.tbl td{font-size:calc(13px*1.25)!important}.tbl th{font-size:calc(9.5px*1.25)!important}#home-co .hs-h h2{font-size:clamp(calc(26px*1.25),calc(3.4vw*1.25),calc(48px*1.25))!important}.ar-b b{font-size:calc(15px*1.25)!important}}

:root{--k:1}


:root{--cwx:max(var(--gutter),calc((100vw - 1180px*var(--k))/2))}


.top{padding-left:var(--cwx)!important;padding-right:var(--cwx)!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}
}


/* WordPress admin bar */
body.admin-bar header.top{top:32px}


@media (max-width:782px){body.admin-bar header.top{top:46px}}




/* ===== software page (Netlify) ===== */
.sl{text-decoration:none;color:#2d6bff;font-family:'JetBrains Mono',ui-monospace,monospace;font-weight:500}



/* software hero — posizioni come Netlify */
.swhero{
  position:relative;
  width:100%!important;
  max-width:none!important;
  box-sizing:border-box;
  min-height:calc(100svh + var(--gh,0px) * .36)!important;
  padding:clamp(80px,11vh,110px) max(var(--gutter),calc((100vw - 1500px)/2)) 0!important;
  padding-left:var(--cwx,max(var(--gutter),calc((100vw - 1500px)/2)))!important;
  padding-right:var(--cwx,max(var(--gutter),calc((100vw - 1500px)/2)))!important;
  padding-bottom:0!important;
  overflow:visible!important;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  background:#05070d;
}


@media(prefers-reduced-motion:reduce){.sw-code pre{animation:none}.sws.gl *{animation:none!important}}



/* "Software": piena dietro, contorno bianco solo sulla sagoma della statua */
.swhero .cs-giant.swol{position:absolute!important;left:var(--cwx,max(var(--gutter),calc((100vw - 1500px)/2)));right:var(--cwx,max(var(--gutter),calc((100vw - 1500px)/2)));bottom:0;margin:0!important;z-index:4!important;pointer-events:none;width:auto}



@media(max-width:860px) and (orientation:portrait),(max-width:600px){
.swhero{min-height:0!important;padding-top:calc(86px + env(safe-area-inset-top,0px))!important;padding-bottom:0!important;justify-content:flex-start!important;overflow:hidden!important}
.swhero .cs-h1{font-size:clamp(20px,6vw,34px)!important;line-height:1.05!important;letter-spacing:-.03em!important;text-transform:uppercase}
.swhero .sws{position:relative;right:auto;top:auto;bottom:auto;height:auto;width:min(100%,640px);aspect-ratio:1/1;max-width:100%;margin:clamp(6px,2vh,24px) auto 0;cursor:default}
.swhero .cs-giant:not(.swol){margin-top:calc(var(--gh,80px) * -.42)!important;position:relative;z-index:1}
.swhero .cs-giant.swol{display:block}
.swhero .sw-code pre{font-size:10px}
}



/* ===== SOCIAL: profilo Instagram ===== */
body.ig{background:#05070d}


/* fascia film come volantino Cinema: 5 fotogrammi, full-bleed, leggermente storta */
.ig-post-film .ig-car{
  --film:#07102a;
  --band:28px;
  position:relative;
  width:calc(100vw + 6vw);
  max-width:none;
  margin-left:calc(50% - 50vw - 1.5vw);
  aspect-ratio:auto;
  max-height:none;
  height:auto;
  border-radius:0;
  background:var(--film);
  box-sizing:border-box;
  overflow:hidden;
  transform:rotate(-2.5deg);
  transform-origin:50% 50%;
  box-shadow:0 28px 70px rgba(0,0,0,.55);
  padding:0;
}


/* fori sulla track: su mobile seguono tutta la larghezza scrollabile */
.ig-post-film .ig-tr{
  display:flex;
  align-items:stretch;
  gap:clamp(10px,1.4vw,18px);
  height:auto;
  width:100%;
  position:relative;
  background:var(--film);
  /* step 01 leggermente tagliato a sinistra, come sul volantino */
  padding:calc(var(--band) + clamp(14px,2vw,22px)) clamp(36px,6vw,80px) calc(var(--band) + clamp(14px,2vw,22px)) clamp(28px,4.5vw,56px);
  box-sizing:border-box;
  transition:none;
  transform:none!important;
}


/* bande nere top/bottom con i fori della pellicola */
.ig-s::before,.ig-s::after{
  content:"";position:absolute;left:calc(-1 * var(--side));right:calc(-1 * var(--side));
  height:var(--band);pointer-events:none;z-index:3;
  background-color:var(--film);
  background-image:repeating-linear-gradient(90deg,
    transparent 0 6px,
    #eef2ff 6px 17px,
    transparent 17px 24px);
  background-size:24px 11px;
  background-repeat:repeat-x;
  background-position:center;
}


.ig-s > *{position:relative;z-index:2}



/* IG: layout mobile + tap targets */
@media(max-width:700px){
.ig-top{grid-template-columns:auto 1fr;gap:18px}
.ig-id{display:contents}
.ig-u,.ig-st,.ig-b{grid-column:1/-1}
.ig-st{justify-content:space-around;border-top:1px solid #1a2033;border-bottom:1px solid #1a2033;padding:12px 0;margin:6px 0}
.ig-reels{grid-template-columns:repeat(2,1fr)}
.ig-two{grid-template-columns:1fr}
.ig-md{grid-template-columns:1fr}
.ig-mi{min-height:240px}
.ig-u{grid-column:2;grid-row:1}
.ig-av{grid-row:1}
}


/* gdiv modifiers must not inherit .g3 grid */
.gdiv.g1,.gdiv.g2,.gdiv.g3,.gdiv.g4,.gdiv.g5{display:block}



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

.cs-hero:not(.swhero){min-height:calc(100svh + var(--gh,0px)*.36);padding:clamp(80px,11vh,110px) max(var(--gutter),calc((100vw - 1500px)/2)) 0;padding-bottom:0;overflow:visible}



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

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

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

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

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



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



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



/* display titles light — dopo RESP, vince su clamp !important dei breakpoint */
body.argo-home-olimpo h1,
body.argo-home-olimpo h2,
body.argo-home-olimpo .dec h1,
body.argo-home-olimpo .ph h1,
body.argo-home-olimpo .sec-in h2,
body.argo-home-olimpo .os h2,
body.argo-home-olimpo .end h2,
body.argo-home-olimpo .ag-h,
body.argo-home-olimpo .idx-s h2,
body.argo-home-olimpo .hs-h h2,
body.argo-home-olimpo .cs-h1,
body.argo-home-olimpo .swv2-t h3{
  font-weight:300!important;
  letter-spacing:-.035em!important;
  line-height:1.04!important;
}


body.argo-home-olimpo h1,
body.argo-home-olimpo h2,
body.argo-home-olimpo .dec h1,
body.argo-home-olimpo .ph h1,
body.argo-home-olimpo .sec-in h2,
body.argo-home-olimpo .os h2,
body.argo-home-olimpo .ag-h,
body.argo-home-olimpo .cs-h1{
  font-size:clamp(30px,4.6vw,66px)!important;
}


body.argo-home-olimpo .end h2{
  font-size:clamp(36px,5.5vw,80px)!important;
}


body.argo-home-olimpo .il.fin h2{
  font-size:clamp(32px,6vw,88px)!important;
  letter-spacing:.08em!important;
}
