html[data-tema=scuro]{--blue:#2f5bff;--ink:#f4f4f2;--paper:#050506;--line:#232327;--azz:#7d9bff;--testata:5,5,6;background:#050506;color-scheme:dark}
html[data-tema=chiaro]{--azz:var(--blue);--testata:255,255,255;background:#fff;color-scheme:light}
body{background:transparent;color:var(--ink)}
[data-tema=scuro] .footer-brand{color:var(--ink)}
[data-tema=scuro] footer{color:#8a8a90;border-color:var(--line)}
[data-tema=scuro] .service-card{border-color:var(--line);background:rgba(10,10,12,.55);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
[data-tema=scuro] .service-card.inverse{color:var(--ink);background:rgba(28,28,34,.7);border-color:var(--line)}
[data-tema] .service-card:hover,[data-tema] .service-card:focus-visible{background:var(--blue);color:#fff}
[data-tema=scuro] :is(.method p,.channels p,.channel-note p,.project-list p,.contact-note,.note,footer,.feature-section li span,.team-n){color:#9a9aa2}
[data-tema=scuro] .channel-note{background:#111116}
[data-tema=scuro] :is(input,select,textarea){background:transparent;color:var(--ink);border-color:#3a3a40}
[data-tema=scuro] select option{background:#111;color:#fff}
[data-tema=scuro] :is(input,textarea)::placeholder{color:#6d6d74}
[data-tema=scuro] .filters button{background:transparent;color:var(--ink);border-color:var(--ink)}
[data-tema=scuro] .filters button.active{background:var(--ink);color:#050506}
[data-tema=scuro] :is(.text-link,#status,.blue){color:var(--azz)}
[data-tema=scuro] :is(nav a:hover,nav a[aria-current]){color:var(--azz)}
[data-tema=scuro] .method article{border-color:var(--ink)}
@media(max-width:700px){[data-tema=scuro] .service-card:is(:nth-child(4n+1),:nth-child(4n)){background:rgba(10,10,12,.6);color:var(--ink);border-color:var(--line)}[data-tema=scuro] .service-card:is(:nth-child(4n+2),:nth-child(4n+3)){background:rgba(28,28,34,.75);color:var(--ink);border-color:var(--line)}}


.v3-campo{position:fixed;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
.v3-alone{position:fixed;z-index:-1;width:60vmax;height:60vmax;left:var(--ax,70%);top:var(--ay,20%);margin:-30vmax 0 0 -30vmax;border-radius:50%;background:radial-gradient(circle,rgba(47,91,255,.22),transparent 60%);pointer-events:none;transition:left 1.6s cubic-bezier(.2,.8,.2,1),top 1.6s cubic-bezier(.2,.8,.2,1)}
[data-tema=chiaro] .v3-alone{background:radial-gradient(circle,rgba(7,59,255,.07),transparent 60%)}


.pt{position:fixed;inset:0;z-index:400;background:var(--paper);pointer-events:none;transform-origin:50% 0;animation:ptOut .75s .05s cubic-bezier(.7,0,.2,1) forwards}
.pt-bar{position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,var(--azz),#fff,var(--azz),transparent);box-shadow:0 0 24px var(--blue)}
@keyframes ptOut{from{transform:scaleY(1)}to{transform:scaleY(0)}}
html.leaving .pt{transform-origin:50% 100%;animation:ptIn .5s cubic-bezier(.7,0,.2,1) forwards;pointer-events:all}
@keyframes ptIn{from{transform:scaleY(0)}to{transform:scaleY(1)}}
.rm .pt{display:none}


header{position:sticky;top:0;z-index:30;background:linear-gradient(rgb(var(--testata)) 30%,rgba(var(--testata),0))}
html.menu-aperto header{background:rgb(var(--testata))}
.es-testa{display:flex;align-items:center;gap:clamp(14px,2.2vw,30px);font-size:clamp(13px,1.4vw,18px)}
.es-testa>a{padding:7px 0}
.es-tasto{width:44px;height:44px;margin:-6px -8px;display:grid;place-items:center;background:none;border:0;color:inherit;padding:0;border-radius:50%}
.es-tasto svg{width:20px;height:20px}
.es-sole{display:none}[data-tema=scuro] .es-sole{display:block}[data-tema=scuro] .es-luna{display:none}
.es-barre{position:relative;width:26px;height:12px}
.es-barre i{position:absolute;left:0;right:0;height:2px;background:currentColor;border-radius:2px;transition:transform .45s cubic-bezier(.7,0,.2,1),top .45s cubic-bezier(.7,0,.2,1)}
.es-barre i:first-child{top:0}.es-barre i:last-child{top:10px}
html.menu-aperto .es-barre i:first-child{top:5px;transform:rotate(45deg)}
html.menu-aperto .es-barre i:last-child{top:5px;transform:rotate(-45deg)}


.es-menu{position:fixed;inset:0;z-index:29;background:var(--paper);overflow-y:auto;-webkit-overflow-scrolling:touch;padding:calc(110px + env(safe-area-inset-top)) var(--gutter) 40px;display:grid;grid-template-columns:1fr;gap:34px;align-content:start}
.es-menu[hidden]{display:none}
html.menu-aperto,html.menu-aperto body{overflow:hidden}
.es-menu h2{font:10px/1.5 'Courier New',monospace;letter-spacing:.18em;text-transform:uppercase;color:#8a8a90;margin:0 0 14px;font-weight:400}
.es-menu ul{list-style:none;margin:0;padding:0}
.es-grandi a{display:block;font-size:clamp(40px,7vw,96px);font-weight:900;letter-spacing:-.075em;line-height:.98;padding:4px 0}
.es-grandi a:hover,.es-grandi a[aria-current]{color:var(--azz)}
.es-servizi{display:grid;grid-template-columns:1fr 1fr;column-gap:20px}
.es-servizi li{border-top:1px solid var(--line)}
.es-servizi a{display:flex;gap:10px;align-items:baseline;padding:11px 0;font-size:clamp(15px,1.6vw,21px);letter-spacing:-.03em;font-weight:700}
.es-servizi a span{font:11px 'Courier New',monospace;color:#8a8a90;font-weight:400}
.es-servizi a:hover,.es-servizi a[aria-current]{color:var(--azz)}
.es-social{display:flex;flex-wrap:wrap;gap:12px}
.es-social a,.es-tema-lungo{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:999px;padding:11px 18px 11px 14px;font-size:15px;color:inherit;background:none}
.es-social a:hover,.es-tema-lungo:hover{border-color:var(--azz);color:var(--azz)}
.es-social svg,.es-tema-lungo svg{width:18px;height:18px;flex-shrink:0}
@media(min-width:900px){.es-menu{grid-template-columns:1.1fr 1fr;column-gap:8vw;padding-top:150px}.es-menu>div:nth-child(4){align-self:end}}
@media(max-width:700px){.es-testa{gap:16px;font-size:12px}.es-menu{gap:28px;padding-top:calc(96px + env(safe-area-inset-top))}.es-grandi a{font-size:44px}.es-servizi{grid-template-columns:1fr}}
@media(max-width:370px){header{flex-wrap:nowrap}.es-testa{gap:12px}}

html.v3a-anim .es-menu:not([hidden]) :is(.es-grandi li,.es-servizi li,.es-social,.es-tema-lungo){animation:es-entra .7s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--i,0)*35ms)}
@keyframes es-entra{from{opacity:0;transform:translateY(28px)}}


.es-piede-social{display:inline-flex;gap:16px}
.es-piede-social a{text-decoration:underline;text-underline-offset:.2em}


.service-card::before{content:"";position:absolute;inset:0;padding:1px;pointer-events:none;background:radial-gradient(260px circle at var(--mx,-50%) var(--my,-50%),rgba(125,155,255,.9),transparent 60%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .3s}
.service-grid:hover .service-card::before{opacity:1}
.service-icon path,.service-icon circle,.service-icon ellipse{transition:transform .8s cubic-bezier(.2,.8,.2,1);transform-box:fill-box;transform-origin:center}
.service-card:hover .icon-0 path:last-child{transform:translateX(8%)}
.service-card:hover .icon-1 path{transform:rotate(45deg)}
.service-card:hover .icon-2 ellipse{transform:translateX(-30%)}
.service-card:hover .icon-3 path{transform:translateY(-12%)}
.service-card:hover .icon-5 circle{transform:scale(.6)}
.service-card:hover .icon-6 ellipse{transform:translateX(20%)}
.service-card:hover .icon-7 path{transform:scaleY(1.8)}
.eyebrow.v3-dec,.card-tags.v3-dec{font-variant-ligatures:none}
.feature-section li{position:relative;transition:color .3s,padding .4s cubic-bezier(.2,.8,.2,1)}
.feature-section li::after{content:"";position:absolute;left:0;bottom:-1px;height:1px;width:100%;background:var(--azz);transform:scaleX(0);transform-origin:0;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.feature-section li:hover{color:var(--azz);padding-left:12px}.feature-section li:hover::after{transform:none}
[data-tema=scuro] .feature-section li:hover{color:#fff}
.project-list>a{transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.project-list>a:hover{transform:translateX(10px)}
.team-initials{background:transparent;border:1px solid var(--azz);color:var(--azz);transition:background .4s,color .4s,box-shadow .4s,transform .5s cubic-bezier(.34,1.56,.64,1)}
.team-list li.v3-in .team-initials,html:not(.v3a-anim) .team-initials{background:var(--blue);color:#fff}
.team-list li.v3-in .team-initials{animation:v3-accendi 1s calc(var(--d,0)*90ms + .2s) both}
@keyframes v3-accendi{0%{background:transparent;color:var(--azz)}40%{background:var(--blue);color:#fff;box-shadow:0 0 28px rgba(47,91,255,.9)}100%{background:var(--blue);color:#fff;box-shadow:0 0 0 rgba(47,91,255,0)}}
.team-list li:hover .team-initials{transform:scale(1.15);box-shadow:0 0 30px rgba(47,91,255,.8)}
.team-list li{border-color:var(--line)!important}
.v3-anello{position:fixed;left:0;top:0;width:34px;height:34px;margin:-17px 0 0 -17px;border:1px solid #fff;border-radius:50%;z-index:80;pointer-events:none;mix-blend-mode:difference;transition:width .35s,height .35s,margin .35s,background .35s,opacity .3s;opacity:0}
.v3-anello.on{opacity:1}
.v3-anello.grande{width:76px;height:76px;margin:-38px 0 0 -38px;background:#fff}


html.v3a-anim :is(.hero h1,.page-hero h1,.closing h2,.feature-section h2,.studio-copy h2,.contact-layout h2,.section>h2,.team h2,.area-bar h2):not(.v3a-diviso){visibility:hidden}
.v3-riga{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.v3-riga>span{display:inline-block;transform:translateY(110%);transition:transform 1.1s cubic-bezier(.2,.8,.2,1);transition-delay:calc(var(--k,0)*90ms + var(--ritardo,0ms))}
.v3-in .v3-riga>span{transform:none}
html.v3a-anim :is(.hero-subtitle,.hero-link,.page-hero .lead,.page-hero .text-link,.bar-note,.service-card,.feature-section li,.studio-copy p,.method article,.channels article,.channel-note,.project-list>a,.filters,.team-list li,#brief,.contact-note,.closing>div){opacity:0;transform:translateY(30px);transition:opacity .9s cubic-bezier(.2,.8,.2,1),transform .9s cubic-bezier(.2,.8,.2,1),background .22s,color .22s;transition-delay:calc(var(--d,0)*60ms + var(--ritardo,0ms))}
html.v3a-anim :is(.hero-subtitle,.hero-link,.page-hero .lead,.page-hero .text-link,.bar-note,.service-card,.feature-section li,.studio-copy p,.method article,.channels article,.channel-note,.project-list>a,.filters,.team-list li,#brief,.contact-note,.closing>div).v3-in{opacity:1;transform:none}
html.v3a-anim .closing h2:after{transform:scaleX(0);transform-origin:0 50%;transition:transform 1.3s cubic-bezier(.2,.8,.2,1) .4s;box-shadow:0 0 30px rgba(47,91,255,.8)}
html.v3a-anim .closing h2.v3-in:after{transform:none}

@media(prefers-reduced-motion:reduce){.pt{display:none}.v3-riga>span{transform:none!important}.v3-anello{display:none}.team-list li .team-initials{animation:none!important}}
@media(max-width:700px){.es-piede-social{justify-content:flex-end}}

html{scroll-padding-top:110px}@media(max-width:700px){html{scroll-padding-top:96px}}
