:root{--stagger-dur:650ms;--stagger-distance:24px;--stagger-stagger:40ms;--stagger-blur:0px;--stagger-ease:cubic-bezier(.22,1,.36,1)}
body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:500;color:#eff3f8}
h1,h2,h3,.brand,.instagram-card strong{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:700;letter-spacing:-.025em}
p,li,summary,.button,.phone,.client-link{font-weight:600}
.eyebrow,.card-top,.client-index,.client-toolbar,.number,.locations{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif!important;font-weight:700!important;letter-spacing:.025em!important}
.eyebrow{text-transform:none;font-size:16px!important;color:#e2e8f0}.eyebrow:before,.eyebrow:after{display:none!important}
.intro,.section-intro,.service p,.steps p,.showcase p,.faq p,.final-cta p{font-size:18px;color:#dce2ec;line-height:1.7}
.micro,.service-note,.client-handle,.client-index,.card-top,.client-card p,.chips span,.locations>span:first-child,footer small,footer>a:not(.brand),.instagram-card small{font-size:14px;color:#c9d2df}
.service ul,.service>a,.client-link,.phone{font-size:16px;color:#e5ebf4}
.section{scroll-margin-top:28px}.hero>h1{font-size:clamp(48px,7vw,88px);line-height:1.07}.hero>.eyebrow,.hero>h1,.hero>.intro,.hero>.button,.hero>.micro{animation:none}
.service h3{font-size:28px;line-height:1.2}.service{background-color:#0d101b}.service-icon{color:#ffa653}.faq-list{margin-top:32px}.faq details{padding:0 20px;background:#0c0e18;border-radius:16px;margin-bottom:12px}.faq summary{font-size:18px}
.client-section{min-height:1000px;height:170vh}.client-sticky h2{font-size:44px}.client-card{flex-basis:300px}.client-toolbar{font-size:14px}.client-toolbar>span{max-width:none}
.section,.client-sticky{position:relative;isolation:isolate}.client-sticky{position:sticky}.section>.circuit-layer,.client-sticky>.circuit-layer{opacity:.42;mask-image:linear-gradient(90deg,#000,transparent 38%,transparent 62%,#000)}.glass>.circuit-layer{opacity:.8}
.circuit-wire{stroke-width:.8;opacity:.23}.circuit-pulse{stroke-width:1.5}.circuit-node{opacity:.3}
.t-stagger-line {
  display: block;
  opacity: 0;
  transform: translateY(var(--stagger-distance));
  filter: blur(var(--stagger-blur));
  transition:
    opacity   var(--stagger-dur) var(--stagger-ease),
    transform var(--stagger-dur) var(--stagger-ease),
    filter    var(--stagger-dur) var(--stagger-ease);
  will-change: transform, opacity, filter;
}
.t-stagger-line--2 { transition-delay: var(--stagger-stagger); }
.t-stagger.is-shown .t-stagger-line {
  opacity: 1;
  transform: translateY(0);
  filter: blur(0);
}
.t-stagger.is-hiding .t-stagger-line {
  opacity: 0;
  transform: translateY(0);
  filter: blur(0);
  transition:
    opacity 200ms ease,
    transform 0s linear,
    filter 0s linear;
  transition-delay: 0s;
}
@media (prefers-reduced-motion: reduce) {
  .t-stagger-line { transition: none !important; }
}
.t-stagger.is-shown .t-stagger-line{will-change:auto}.t-stagger:not(.is-shown)>.t-stagger-line{opacity:0;transform:translateY(var(--stagger-distance))}.reveal-ready{opacity:1;translate:none}
.section.is-energized>.circuit-layer .circuit-pulse,.client-sticky.is-energized>.circuit-layer .circuit-pulse{animation:circuit-flow 1400ms ease-out both}
.material-image{transition:opacity 650ms ease,scale 800ms var(--motion-ease)}.material-image:not(.image-visible){opacity:0;scale:.94}
.assistant-launch{position:fixed;right:22px;bottom:24px;z-index:40;display:flex;gap:12px;align-items:center;background:#111521;color:#f4f6fa;padding:12px 20px;border:1px solid #bad7f733;cursor:pointer;font:700 16px "Helvetica Neue",Arial,sans-serif}
.ai-symbol{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:9999px;border:1px solid #ffab58;background:radial-gradient(circle,#ff982a55,#101521 70%);box-shadow:inset 0 0 14px #ff982a44,0 0 18px #ff982a22;font-size:13px;letter-spacing:.04em}
.assistant-launch:hover .ai-symbol{transform:rotate(12deg);box-shadow:0 0 25px #ff982a66}
.assistant-panel{position:fixed;inset:auto 22px 96px auto;z-index:50;width:min(410px,calc(100vw - 32px));max-height:70vh;overflow:auto;border:1px solid #bad7f733;border-radius:16px;background:#10131e;color:#f0f3f8;padding:24px;box-shadow:0 20px 80px #0009}
.assistant-panel[hidden]{display:none}.assistant-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.assistant-header h2{font-size:22px;margin:0}.assistant-close{background:transparent;color:white;border:0;font-size:26px;cursor:pointer;min-width:44px;min-height:44px}
.assistant-panel p{font-size:16px;line-height:1.6;color:#dce2ec}.assistant-panel small{font-size:14px;color:#c9d2df}
.assistant-questions{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.assistant-questions button{border:1px solid #bad7f733;border-radius:999px;background:#1a2030;color:#f5f6fa;padding:10px 14px;font:600 14px Arial;cursor:pointer}
.assistant-panel label{font-size:14px;font-weight:700}.assistant-input-row{display:flex;gap:8px;margin-top:8px}.assistant-input-row input{width:100%;min-width:0;border-radius:6px;border:1px solid #bad7f755;background:#080b13;color:#fff;padding:12px;font:16px Arial}.assistant-input-row button{border:0;border-radius:999px;background:#ff9a3c;padding:12px;font-weight:700;cursor:pointer}
.assistant-answer{border-top:1px solid #bad7f733;padding-top:16px}.assistant-panel a{display:block;color:#ffb36a;font-size:16px;font-weight:700;margin-top:18px}
:focus-visible{outline:2px solid #ffb36a;outline-offset:5px}
.client-avatar{flex-shrink:0;width:82px;height:82px;aspect-ratio:1;border-radius:50%;clip-path:circle(50% at 50% 50%);box-shadow:none;background:transparent}
.client-avatar img{width:392.429px;left:-16.595px;max-width:none;height:auto}
.client-sticky #clients-title{font-size:clamp(32px,4.5vw,60px);line-height:1.08;max-width:1000px;margin:22px auto;font-weight:800}
#servizi .services-title{font-size:clamp(48px,7vw,88px);line-height:1.05;margin-bottom:20px}
.services-summary{font-size:clamp(22px,3vw,32px);font-weight:700;color:#ffb777;margin:0 auto 20px;text-align:center}
.service-icon{width:96px;height:96px;margin-bottom:28px;background:radial-gradient(circle at 30% 20%,#ffb65b30,#f7821908 65%);border:1px solid #ffb77755;box-shadow:inset 0 2px 2px #fff4, inset 0 0 28px #f7821920,0 0 36px #ff861516}
.service-icon svg{width:58px;height:58px;filter:drop-shadow(0 0 8px #ff8a3566)}
.client-rail{scroll-snap-type:none}
@media(max-width:700px){.client-sticky #clients-title{font-size:clamp(28px,7.5vw,42px);overflow-wrap:normal}.client-rail{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}.service-icon{width:84px;height:84px}.service-icon svg{width:52px;height:52px}}
@media(max-width:700px){.client-section{height:auto;min-height:0}.client-sticky{position:relative}.client-sticky h2{font-size:34px}.client-card{flex-basis:calc(100% - 28px)}.eyebrow{font-size:14px!important}.section{padding-top:80px}.intro,.section-intro,.service p,.steps p,.showcase p,.faq p{font-size:17px}.assistant-launch{bottom:84px;right:16px;padding:9px 14px}.assistant-panel{bottom:152px;right:16px;max-height:calc(100dvh - 175px)}.stage{margin-top:28px}.client-toolbar>span{font-size:12px}.card-top{font-size:12px}.client-sticky h2{line-height:1.15}}
@media(prefers-reduced-motion:reduce){.t-stagger-line,.material-image{opacity:1!important;transform:none!important;scale:1!important;filter:none!important}.assistant-launch:hover .ai-symbol{transform:none}}
