/* ADES — Home (tema nero). Token allineati al design system ADES. */
:root{--bg:#000;--bg-2:#0A0B0F;--bg-3:#12131A;--line:rgba(255,255,255,.12);--line-2:rgba(255,255,255,.24);--tx:#fff;--tx-2:#B9BDC9;--tx-3:#8C91A0;--tx-dim:#767B8A;--line-3:rgba(255,255,255,.5);--sb:.022em;--grad-mid:#7C84F6;--nav-bg:rgba(0,0,0,.88);--blue:#2563FF;--blue-4:#5B8DFF;--violet:#6E4DE0;--violet-4:#9D7BF5;--grad:linear-gradient(100deg,#5B8DFF 0%,#9D7BF5 100%);--grad-solid:linear-gradient(100deg,#2563FF 0%,#6E4DE0 100%);--f-d:"Helvetica Neue",Helvetica,Arial,sans-serif;--f-b:"Helvetica Neue",Helvetica,Arial,sans-serif;--f-m:"Helvetica Neue",Helvetica,Arial,sans-serif;--ease:cubic-bezier(.16,1,.3,1);--ease-io:cubic-bezier(.65,0,.35,1);--wrap:85rem;--gut:clamp(1.25rem,4vw,3.5rem);--nav-h:4.5rem;--r:0.625rem;--sec:clamp(6rem,11vw,10.5rem)}
/* Scala fluida per schermi grandi: 16px fino a 1600px, poi cresce fino a 32px a 3840px (4K) */
@media (min-width:1601px){html{font-size:calc(16px + (100vw - 1600px) * .00714)}}
@media (min-width:3840px){html{font-size:32px}}
[data-theme="light"]{--grad-mid:#4A5AEE;--bg:#FFFFFF;--bg-2:#F4F5F8;--bg-3:#E9EBF1;--line:rgba(10,12,20,.12);--line-2:rgba(10,12,20,.22);--line-3:rgba(10,12,20,.5);--tx:#0A0B0F;--tx-2:#3A4158;--tx-3:#586078;--tx-dim:#8A90A2;--blue-4:#2563FF;--grad:linear-gradient(100deg,#2563FF 0%,#6E4DE0 100%);--nav-bg:rgba(255,255,255,.86)}
.rcard,.band,.pcard--xl{color:var(--tx-2);--tx:#fff;--tx-2:#D5D8E0;--tx-3:#B9BDC9;--line:rgba(255,255,255,.14);--line-2:rgba(255,255,255,.3);--blue-4:#5B8DFF}
.logo-l{display:none!important}
[data-theme="light"] .logo-d{display:none!important}
[data-theme="light"] .logo-l{display:block!important}
body{transition:background-color .5s var(--ease),color .5s var(--ease)}
.theme-btn i{font-size:1.25rem}
[data-theme="light"] .hero::before{opacity:.7}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:var(--nav-h);-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--tx-2);font:400 1.0625rem/1.6 var(--f-b);-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.no-scroll{overflow:hidden}
img{display:block;max-width:100%}
a{color:var(--tx);text-decoration:none;transition:color .2s}
a:hover{color:var(--blue-4)}
button{font:inherit;color:inherit}
h1,h2,h3,p{margin:0}
:focus-visible{outline:2px solid var(--blue-4);outline-offset:0.1875rem}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:fixed;left:1rem;top:-3.75rem;z-index:100;background:var(--tx);color:var(--bg);padding:0.625rem 1rem;border-radius:0.5rem;font-weight:500;-webkit-text-stroke:var(--sb) currentColor}
.skip:focus{top:1rem;color:var(--bg)}

/* Tipografia */
.eyebrow{display:flex;align-items:center;gap:0.625rem;font:500 0.75rem/1 var(--f-m);-webkit-text-stroke:var(--sb) currentColor;letter-spacing:.16em;text-transform:uppercase;color:var(--blue-4)}
.eyebrow .sl{letter-spacing:0}
.h2 strong,.svd h2 strong,.feat h2 strong,.hero__h .grad,.band blockquote strong,.cta h2 strong,.mega__title strong{font-weight:500;-webkit-text-stroke:var(--sb) currentColor}
.grad{-webkit-text-stroke-color:var(--grad-mid)!important;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;font-style:normal}
.h2{font:500 clamp(2.125rem,4.4vw,4rem)/1.04 var(--f-d);letter-spacing:-.03em;color:var(--tx);text-wrap:balance}
.lead{font-size:clamp(1.0625rem,1.35vw,1.1875rem);line-height:1.6;color:var(--tx-2);text-wrap:pretty}
.sec{padding:var(--sec) 0;border-top:1px solid var(--line)}
.sec-head{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:1.5rem clamp(2.5rem,6vw,6rem);align-items:end;margin-bottom:clamp(3rem,6vw,5.5rem)}
.sec-head .eyebrow{margin-bottom:1.75rem}
.sec-head .lead{max-width:46ch}

/* Bottoni */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:0.625rem;height:3.25rem;padding:0 1.375rem;border-radius:0.5rem;border:1px solid transparent;font:500 0.9375rem/1 var(--f-b);-webkit-text-stroke:var(--sb) currentColor;white-space:nowrap;cursor:pointer;transition:background .3s var(--ease),color .3s,border-color .3s,transform .15s}
.btn i{font-size:1.1875rem;transition:transform .35s var(--ease)}
.btn:hover i{transform:translateX(0.25rem)}
.btn:active{transform:translateY(1px) scale(.99)}
.btn--light{background:var(--tx);color:var(--bg)}
.btn--light:hover{background:var(--grad-solid);color:#fff}
.btn--ghost{border-color:var(--line-2);color:var(--tx);background:transparent}
.btn--ghost:hover{border-color:var(--tx);color:var(--tx)}
.btn--sm{height:2.5rem;padding:0 1rem;font-size:0.875rem}
.link-arrow{display:inline-flex;align-items:center;gap:0.5rem;font:500 0.9375rem/1 var(--f-b);-webkit-text-stroke:var(--sb) currentColor;color:var(--tx);padding:0.375rem 0;border-bottom:1px solid var(--line-2);transition:border-color .3s,color .3s}
.link-arrow i{font-size:1.125rem;transition:transform .35s var(--ease)}
.link-arrow:hover{color:var(--tx);border-color:var(--tx)}
.link-arrow:hover i{transform:translateX(0.25rem)}
.icon-btn{width:2.75rem;height:2.75rem;display:grid;place-items:center;border:1px solid var(--line-2);border-radius:0.5rem;background:transparent;color:var(--tx);font-size:1.25rem;cursor:pointer;transition:border-color .2s,background .2s,color .2s}
.icon-btn:hover{border-color:var(--tx)}
.icon-btn:disabled{opacity:.35;cursor:default}

/* Nav */
.nav{position:fixed;inset:0 0 auto;z-index:50;border-bottom:1px solid transparent;transition:background .35s,border-color .35s,transform .45s var(--ease)}
.nav.is-solid,.nav.mega-open,.nav.menu-open{background:var(--nav-bg);-webkit-backdrop-filter:blur(1rem);backdrop-filter:blur(1rem);border-color:var(--line)}
.nav.is-hidden{transform:translateY(-100%)}
.nav__bar{height:var(--nav-h);display:flex;align-items:center;gap:clamp(1.5rem,3vw,3rem)}
.nav__logo img{height:1.375rem;width:auto}
.nav__links{display:flex;align-items:center;gap:2px}
.nav__links a,.nav__trigger{display:inline-flex;align-items:center;gap:0.25rem;padding:0.625rem 0.75rem;border:0;border-radius:0.375rem;background:none;font:400 0.9375rem/1 var(--f-b);color:var(--tx-2);cursor:pointer;transition:color .2s}
.nav__links a:hover,.nav__trigger:hover,.nav__trigger[aria-expanded="true"]{color:var(--tx)}
.nav__links a[aria-current="page"],.nav__trigger[aria-current="page"]{color:var(--tx);box-shadow:inset 0 -2px 0 var(--blue-4);border-radius:0}
.nav__trigger i{font-size:1.125rem;transition:transform .3s var(--ease)}
.nav__trigger[aria-expanded="true"] i{transform:rotate(180deg)}
.nav__actions{margin-left:auto;display:flex;align-items:center;gap:0.75rem}
.nav__burger{display:none}
.mega{position:absolute;left:0;right:0;top:100%;background:var(--bg);border-bottom:1px solid var(--line);opacity:0;visibility:hidden;transform:translateY(-0.375rem);transition:opacity .3s var(--ease),transform .4s var(--ease),visibility 0s .3s}
.nav.mega-open .mega{opacity:1;visibility:visible;transform:none;transition-delay:0s}
.mega__grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,6fr) minmax(0,3fr);gap:3rem;padding-top:2.5rem;padding-bottom:3rem}
.mega__title{font:500 1.625rem/1.15 var(--f-d);letter-spacing:-.02em;color:var(--tx);margin:1.25rem 0 1.5rem;max-width:14ch}
.mega__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0.25rem 1.5rem}
.mega__list a{display:flex;gap:0.875rem;padding:0.875rem;border-radius:0.5rem;transition:background .2s}
.mega__list a:hover{background:var(--bg-3);color:var(--tx)}
.mega__list i{font-size:1.375rem;color:var(--blue-4);line-height:1.1}
.mega__list b{display:block;font:500 1rem/1.3 var(--f-d);-webkit-text-stroke:var(--sb) currentColor;color:var(--tx)}
.mega__list small{display:block;font-size:0.875rem;color:var(--tx-3);margin-top:2px}
.mega__feat{display:flex;flex-direction:column;gap:0.75rem;padding:1.75rem;border:1px solid var(--line);border-radius:var(--r);background:var(--bg-2);position:relative;overflow:hidden}
.mega__feat::before{content:"";position:absolute;inset:0 0 auto;height:2px;background:var(--grad)}
.mega__feat b{font:500 1.375rem/1.2 var(--f-d);-webkit-text-stroke:var(--sb) currentColor;color:var(--tx);letter-spacing:-.01em}
.mega__feat span:not(.eyebrow):not(.link-arrow){font-size:0.9375rem;color:var(--tx-2)}
.mega__feat .link-arrow{margin-top:auto;align-self:flex-start}
.mega__feat:hover{color:var(--tx)}
.mnav{display:none}

/* Hero */
.hero{position:relative;padding:calc(var(--nav-h) + clamp(2.5rem,6vw,5.5rem)) 0 clamp(4rem,7vw,6.5rem);overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(50% 45% at 85% 0%,rgba(37,99,255,.16),transparent 70%),radial-gradient(35% 35% at 100% 25%,rgba(110,77,224,.14),transparent 70%)}
.hero__head{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2.25rem 4rem;align-items:end}
.hero__title{grid-column:1/-1}
.hero__title .eyebrow{margin-bottom:1.75rem}
.hero__h{display:block;font:500 clamp(2.625rem,6.4vw,6rem)/1 var(--f-d);letter-spacing:-.04em;color:var(--tx);text-wrap:balance}
.hero__lead{max-width:50ch}
.hero__cta{display:flex;flex-wrap:wrap;gap:0.75rem}
.rail-head{position:relative;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;margin-top:clamp(3rem,5.5vw,5rem);margin-bottom:1.25rem}
.rail-head h2{font:500 0.75rem/1 var(--f-m);-webkit-text-stroke:var(--sb) currentColor;letter-spacing:.16em;text-transform:uppercase;color:var(--blue-4);display:flex;gap:0.625rem}
.rail-ctrl{display:flex;align-items:center;gap:0.5rem}
.rail-count{font:400 0.8125rem/1 var(--f-m);color:var(--tx-3);margin-right:0.75rem;letter-spacing:.06em}
.rail-count b{color:var(--tx);font-weight:500;-webkit-text-stroke:var(--sb) currentColor}
.rail{--n:6;--g:0.75rem;--grow:3.4;position:relative;display:flex;gap:var(--g);width:100%;max-width:var(--wrap);margin:0 auto;padding:0 var(--gut);height:clamp(26.25rem,calc(100vh - 26.875rem),36.25rem);height:clamp(26.25rem,calc(100svh - 26.875rem),36.25rem);list-style:none}
.rcard{position:relative;flex:1 1 0;min-width:0;border-radius:var(--r);overflow:hidden;background:var(--bg-2);cursor:pointer;isolation:isolate;transition:flex-grow .85s var(--ease)}
.rcard.is-active{flex-grow:var(--grow);cursor:default}
.rcard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1) brightness(.5);transform:scale(1.08);transition:filter .9s var(--ease),transform 1.4s var(--ease)}
.rcard:hover img{filter:grayscale(.6) brightness(.62)}
.rcard.is-active img{filter:grayscale(0) brightness(.7);transform:scale(1)}
.rcard__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.45) 0%,rgba(0,0,0,0) 30%,rgba(0,0,0,.2) 55%,rgba(0,0,0,.92) 100%)}
.rcard__num{position:absolute;top:1.375rem;left:1.375rem;font:500 0.75rem/1 var(--f-m);-webkit-text-stroke:var(--sb) currentColor;letter-spacing:.14em;color:var(--tx)}
.rcard__v{position:absolute;left:1.125rem;bottom:1.625rem;writing-mode:vertical-rl;transform:rotate(180deg);font:500 1.1875rem/1 var(--f-d);-webkit-text-stroke:var(--sb) currentColor;letter-spacing:-.01em;color:var(--tx);white-space:nowrap;transition:opacity .35s}
.rcard.is-active .rcard__v{opacity:0}
.rcard__body{position:absolute;left:0;bottom:0;padding:1.75rem;width:calc((min(100vw,var(--wrap)) - 2 * var(--gut) - (var(--n) - 1) * var(--g)) / (var(--n) - 1 + var(--grow)) * var(--grow));opacity:0;transform:translateY(0.75rem);transition:opacity .3s,transform .3s}
.rcard.is-active .rcard__body{opacity:1;transform:none;transition:opacity .6s var(--ease) .25s,transform .8s var(--ease) .25s}
.rcard__title{font:500 clamp(1.625rem,2.3vw,2.125rem)/1.08 var(--f-d);-webkit-text-stroke:var(--sb) currentColor;letter-spacing:-.025em;color:var(--tx);margin-bottom:0.75rem}
.rcard__body p{color:#D5D8E0;font-size:1rem;line-height:1.5;max-width:36ch;margin-bottom:1.25rem}
.rcard__link{display:inline-flex;align-items:center;gap:0.5rem;font:500 0.875rem/1 var(--f-b);-webkit-text-stroke:var(--sb) currentColor;color:var(--tx)}
.rcard__link i{font-size:1.125rem;transition:transform .35s var(--ease)}
.rcard__link:hover{color:var(--tx)}
.rcard__link:hover i{transform:translateX(0.25rem)}
.rcard__bar{position:absolute;left:0;right:0;bottom:0;height:2px;background:rgba(255,255,255,.14);opacity:0;transition:opacity .3s}
.rcard__bar i{display:block;height:100%;background:var(--grad);transform:scaleX(0);transform-origin:left}
.rail.is-playing .rcard.is-active .rcard__bar{opacity:1}
.rail.is-playing .rcard.is-active .rcard__bar i{animation:railbar 6.5s linear forwards}
.rail.is-paused .rcard.is-active .rcard__bar i{animation-play-state:paused}
@keyframes railbar{to{transform:scaleX(1)}}

/* Chi siamo */
.about{padding-bottom:0}
.about__grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,9fr);gap:1.75rem 3rem}
.about__grid .eyebrow{padding-top:0.875rem}
.statement{font:500 clamp(1.75rem,3.4vw,3.25rem)/1.14 var(--f-d);letter-spacing:-.025em;color:var(--tx-dim);text-wrap:pretty}
.statement b{color:var(--tx);font-weight:500;-webkit-text-stroke:var(--sb) currentColor}
.about__sub{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.75rem 3rem;align-items:end;margin-top:clamp(2.25rem,4vw,3.5rem)}
.about__sub p{max-width:56ch}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:clamp(4.5rem,8vw,7.5rem) 0 0;border-top:1px solid var(--line)}
.stat{padding:1.75rem 1.5rem 0 0}
.stat+.stat{border-left:1px solid var(--line);padding-left:1.5rem}
.stat dt{font-feature-settings:"tnum";font:500 clamp(3rem,5.4vw,5.25rem)/1 var(--f-d);letter-spacing:-.045em;color:var(--tx);font-variant-numeric:tabular-nums}
.stat dt sup{font-size:.5em;vertical-align:.7em;margin-left:2px}
.stat dd{margin:1.125rem 0 0;font-size:0.9375rem;line-height:1.45;color:var(--tx-2);max-width:24ch}
.band{position:relative;height:clamp(25rem,52vw,42.5rem);margin:clamp(6rem,11vw,10rem) 0 0;overflow:hidden;background:#000}
.band img{position:absolute;left:0;top:-12%;width:100%;height:124%;object-fit:cover;filter:brightness(.62) saturate(.9);will-change:transform}
.band::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--bg) 0%,rgba(0,0,0,.15) 28%,rgba(0,0,0,.4) 60%,rgba(0,0,0,.88) 100%)}
.band__q{position:absolute;inset:auto 0 clamp(2.5rem,6vw,5.5rem);z-index:1}
.band blockquote{margin:0;font:500 clamp(2rem,4.6vw,4.25rem)/1.02 var(--f-d);letter-spacing:-.035em;color:var(--tx);max-width:15ch;text-wrap:balance}
.band cite{display:block;margin-top:1.5rem;font:500 0.75rem/1 var(--f-m);-webkit-text-stroke:var(--sb) currentColor;letter-spacing:.16em;text-transform:uppercase;font-style:normal;color:var(--blue-4)}

/* Servizi */
.split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:3rem clamp(3rem,7vw,8rem)}
.split__intro{position:sticky;top:calc(var(--nav-h) + 3rem);align-self:start}
.split__intro .eyebrow{margin-bottom:1.75rem}
.split__intro .lead{margin:1.75rem 0 2.25rem;max-width:42ch}
.svc-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.svc{position:relative;display:grid;grid-template-columns:3.5rem minmax(0,1fr) 2.75rem;gap:0.5rem 1rem;padding:2.25rem 0;border-bottom:1px solid var(--line)}
.svc::before{content:"";position:absolute;left:0;right:0;top:-1px;height:1px;background:var(--grad);transform:scaleX(0);transform-origin:left;transition:transform .8s var(--ease)}
.svc:hover::before{transform:scaleX(1)}
.svc__num{font:500 0.8125rem/1 var(--f-m);-webkit-text-stroke:var(--sb) currentColor;color:var(--tx-3);padding-top:0.625rem;transition:color .3s}
.svc:hover .svc__num{color:var(--blue-4)}
.svc h3{font:500 clamp(1.5rem,2.3vw,2rem)/1.1 var(--f-d);-webkit-text-stroke:var(--sb) currentColor;letter-spacing:-.02em;margin-bottom:0.75rem}
.svc h3,.svc h3 a{color:var(--tx)}
.svc h3 a::after{content:"";position:absolute;inset:0}
.svc p{max-width:56ch;margin-bottom:1.25rem}
.svc__go{width:2.75rem;height:2.75rem;display:grid;place-items:center;border:1px solid var(--line-2);border-radius:0.5rem;font-size:1.25rem;color:var(--tx);transition:background .3s,color .3s,border-color .3s}
.svc:hover .svc__go{background:var(--tx);color:var(--bg);border-color:var(--tx)}
.tags{display:flex;flex-wrap:wrap;gap:0.5rem;list-style:none;margin:0;padding:0}
.tags li{font:400 0.75rem/1 var(--f-m);letter-spacing:.03em;color:var(--tx-2);border:1px solid var(--line);padding:0.5rem 0.6875rem;border-radius:62.4375rem}

/* Prodotti */
.bento{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:0.75rem}
.pcard{position:relative;display:flex;flex-direction:column;min-height:21.25rem;padding:clamp(1.75rem,3vw,2.75rem);border:1px solid var(--line);border-radius:var(--r);background:var(--bg-2);overflow:hidden;grid-column:span 5;transition:border-color .4s}
.pcard:hover{border-color:var(--line-2)}
.pcard::before{content:"";position:absolute;inset:0 0 auto;height:2px;background:var(--grad);transform:scaleX(.16);transform-origin:left;transition:transform .9s var(--ease);z-index:2}
.pcard:hover::before{transform:scaleX(1)}
.pcard--xl{background:#0A0B0F;grid-column:span 7;grid-row:span 2;min-height:clamp(35rem,52vw,45rem)}
.pcard__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.5;transition:opacity .8s var(--ease),transform 1.4s var(--ease)}
.pcard--xl:hover .pcard__img{opacity:.62;transform:scale(1.03)}
.pcard--xl::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,11,15,.2) 0%,rgba(10,11,15,.55) 45%,#0A0B0F 78%)}
.pcard>*:not(.pcard__img):not(.pcard__icon){position:relative;z-index:1}
.pcard>.pcard__icon{position:absolute;z-index:1}
.pcard__tag{font:500 0.75rem/1 var(--f-m);-webkit-text-stroke:var(--sb) currentColor;letter-spacing:.14em;text-transform:uppercase;color:var(--tx-2)}
.pcard h3{font:500 clamp(2.25rem,3.6vw,3.5rem)/1 var(--f-d);-webkit-text-stroke:var(--sb) currentColor;letter-spacing:-.035em;color:var(--tx);margin:1.125rem 0 1rem}
.pcard p{max-width:44ch}
.pcard__icon{position:absolute;top:clamp(1.75rem,3vw,2.75rem);right:clamp(1.75rem,3vw,2.75rem);width:3.25rem;height:3.25rem;display:grid;place-items:center;border:1px solid var(--line-2);border-radius:0.5rem;font-size:1.5rem;color:var(--tx)}
.pcard__meta{margin-top:auto;padding-top:1.75rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.pcard__meta .mono{font:500 0.75rem/1 var(--f-m);-webkit-text-stroke:var(--sb) currentColor;letter-spacing:.08em;color:var(--tx-3)}
.pcard--xl .pcard__top{margin-top:auto}
.modules{list-style:none;margin:2rem 0 0;padding:0;border-top:1px solid var(--line-2)}
.modules li{display:grid;grid-template-columns:minmax(0,11.875rem) minmax(0,1fr);gap:0.5rem 1.5rem;padding:1rem 0;border-bottom:1px solid var(--line)}
.modules b{font:500 1.0625rem/1.3 var(--f-d);-webkit-text-stroke:var(--sb) currentColor;color:var(--tx)}
.modules span{font-size:0.9375rem;color:var(--tx-2)}

/* Clienti */
.client-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;margin:0;padding:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.client-grid li{display:flex;align-items:center;justify-content:center;min-height:clamp(7.5rem,11vw,10.5rem);padding:1.5rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font:500 clamp(1.25rem,2vw,1.75rem)/1.1 var(--f-d);letter-spacing:-.02em;color:var(--tx-3);text-align:center;transition:color .3s,background .3s}
.client-grid li:hover{color:var(--tx);background:var(--bg-2)}
.client-grid .client-cta{padding:0}
.client-cta a{display:flex;align-items:center;justify-content:center;gap:0.625rem;width:100%;height:100%;min-height:inherit;padding:1.5rem;font:500 0.9375rem/1.3 var(--f-b);-webkit-text-stroke:var(--sb) currentColor;color:var(--tx);background:linear-gradient(120deg,rgba(37,99,255,.14),rgba(110,77,224,.14));transition:background .3s}
.client-cta a:hover{color:var(--tx);background:linear-gradient(120deg,rgba(37,99,255,.26),rgba(110,77,224,.26))}
.client-cta i{font-size:1.125rem}
.clients__foot{margin-top:2.5rem}

/* Metodo */
.steps{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;margin:0;padding:0}
.steps::before,.steps::after{content:"";position:absolute;left:0;right:0;top:0.375rem;height:1px;background:var(--line-2)}
.steps::after{background:var(--grad);transform:scaleX(0);transform-origin:left;transition:transform 1.8s var(--ease-io)}
.steps.is-visible::after{transform:scaleX(1)}
.step{position:relative;padding:2.75rem 2rem 0 0}
.step::before{content:"";position:absolute;top:1px;left:1px;width:0.6875rem;height:0.6875rem;background:var(--bg);border:1px solid var(--tx);transform:rotate(45deg);transition:background .4s}
.steps.is-visible .step::before{background:var(--tx)}
.steps.is-visible .step:nth-child(2)::before{transition-delay:.45s}
.steps.is-visible .step:nth-child(3)::before{transition-delay:.9s}
.steps.is-visible .step:nth-child(4)::before{transition-delay:1.35s}
.step__num{font:500 0.8125rem/1 var(--f-m);-webkit-text-stroke:var(--sb) currentColor;color:var(--tx-3)}
.step h3{font:500 clamp(1.5rem,2.2vw,1.875rem)/1.1 var(--f-d);-webkit-text-stroke:var(--sb) currentColor;letter-spacing:-.02em;color:var(--tx);margin:0.875rem 0 0.75rem}
.step p{max-width:30ch}

/* FAQ */
.faq-list{border-top:1px solid var(--line)}
.faq-item{border-bottom:1px solid var(--line)}
.faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.75rem 0;list-style:none;cursor:pointer;font:500 clamp(1.1875rem,1.7vw,1.4375rem)/1.3 var(--f-d);letter-spacing:-.01em;color:var(--tx)}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary i{flex:none;width:2.5rem;height:2.5rem;display:grid;place-items:center;border:1px solid var(--line-2);border-radius:0.5rem;font-size:1.25rem;transition:transform .4s var(--ease),background .3s,color .3s,border-color .3s}
.faq-item summary:hover i{border-color:var(--tx)}
.faq-item.is-open summary i{transform:rotate(45deg);background:var(--tx);color:var(--bg);border-color:var(--tx)}
.faq-body{overflow:hidden}
.faq-body p{padding:0 4rem 2rem 0;max-width:64ch}

/* CTA finale */
.cta{position:relative;overflow:hidden}
.cta::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(45% 60% at 0% 100%,rgba(37,99,255,.2),transparent 70%),radial-gradient(35% 50% at 28% 110%,rgba(110,77,224,.18),transparent 70%)}
.cta__grid{position:relative;display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:3.5rem clamp(3rem,6vw,7rem);align-items:end}
.cta__grid .eyebrow{margin-bottom:1.75rem}
.cta h2{font:500 clamp(2.875rem,7vw,7rem)/.98 var(--f-d);letter-spacing:-.045em;color:var(--tx);text-wrap:balance}
.cta__grid .lead{margin:2rem 0 2.5rem;max-width:46ch}
.cta__btns{display:flex;flex-wrap:wrap;gap:0.75rem}
.cta__info{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;margin:0;padding-top:2rem;border-top:1px solid var(--line)}
.cta__info dt{font:400 0.75rem/1 var(--f-m);letter-spacing:.14em;text-transform:uppercase;color:var(--tx-3);margin-bottom:0.625rem}
.cta__info dd{margin:0;color:var(--tx);font-size:1rem;line-height:1.5;overflow-wrap:anywhere}

/* Footer */
.foot{border-top:1px solid var(--line);padding:clamp(4rem,8vw,6.5rem) 0 2rem}
.foot__top{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:3rem}
.foot__brand img{height:1.625rem;width:auto}
.foot__brand p{margin-top:1.5rem;font:500 1.375rem/1.25 var(--f-d);letter-spacing:-.015em;color:var(--tx);max-width:18ch}
.foot__cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2rem}
.foot__cols h3{font:400 0.75rem/1 var(--f-m);letter-spacing:.14em;text-transform:uppercase;color:var(--tx-3);margin-bottom:1.25rem}
.foot__cols ul{list-style:none;margin:0;padding:0;display:grid;gap:0.75rem}
.foot__cols a{font-size:0.9375rem;color:var(--tx-2);display:inline-flex;align-items:center;gap:0.5rem}
.foot__cols a:hover{color:var(--tx)}
.foot__cols a i{font-size:1.125rem}
.foot__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-top:clamp(3.5rem,7vw,6rem);padding-top:1.5rem;border-top:1px solid var(--line);font:400 0.7813rem/1.6 var(--f-m);color:var(--tx-3)}
.foot__bottom nav{display:flex;gap:1.5rem}
.foot__bottom a{color:var(--tx-3)}
.foot__bottom a:hover{color:var(--tx)}

/* Preventivo orientativo (compatto, senza prezzi a vista) */
.est{--sec:clamp(4.5rem,7vw,6.5rem)}
.est .sec-head{margin-bottom:clamp(2rem,3.5vw,3rem)}
.est .h2{font-size:clamp(1.875rem,3.2vw,2.75rem)}
.est__grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(1.5rem,4vw,4rem);align-items:start}
.est__form{margin:0;border-top:1px solid var(--line)}
.est__step{margin:0;padding:1.375rem 0 1.5rem;border:0;border-bottom:1px solid var(--line);min-width:0}
.est__step legend{float:left;width:100%;padding:0;margin-bottom:.875rem;font:500 1rem/1.3 var(--f-d);-webkit-text-stroke:var(--sb) currentColor;color:var(--tx)}
.est__step legend+*{clear:both}
.est__n{color:var(--blue-4);margin-right:.5rem}
.opts{display:grid;gap:.5rem}
.opts--5{grid-template-columns:repeat(5,minmax(0,1fr))}
.opts--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.opts--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.est__row{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:0 1.5rem;border-bottom:1px solid var(--line)}
.est__row .est__step{border-bottom:0}
.opt{position:relative;display:block;cursor:pointer}
.opt input,.consent input{position:absolute;opacity:0;width:1px;height:1px}
.opt__card{position:relative;display:flex;flex-direction:column;justify-content:center;gap:.5rem;height:100%;min-height:3rem;padding:.75rem .875rem;border:1px solid var(--line-2);border-radius:.5rem;background:var(--bg-2);transition:border-color .25s,background .25s}
.opt--icon .opt__card{justify-content:flex-start;min-height:5rem}
.opt__card i{font-size:1.25rem;line-height:1;color:var(--blue-4)}
.opt__card b{font:500 .875rem/1.25 var(--f-b);-webkit-text-stroke:var(--sb) currentColor;color:var(--tx)}
.opt__inc{position:absolute;top:.5rem;right:.5rem;font-size:.625rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--blue-4)}
.opt:hover .opt__card{border-color:var(--line-3)}
.opt input:checked+.opt__card{border-color:var(--blue-4);background:linear-gradient(120deg,rgba(37,99,255,.14),rgba(110,77,224,.14))}
.opt input:checked+.opt__card::after{content:"\2713";position:absolute;top:.5rem;right:.625rem;font-size:.75rem;color:var(--blue-4)}
.opt.is-included input:checked+.opt__card::after{content:none}
.opt.is-included{cursor:default}
.opt.is-included .opt__card{border-style:dashed}
.opt[hidden]{display:none}
.opt input:focus-visible+.opt__card,.consent input:focus-visible+span{outline:2px solid var(--blue-4);outline-offset:2px}
.est__sum{position:sticky;top:calc(var(--nav-h) + 1.5rem);padding:clamp(1.25rem,2vw,1.75rem);border:1px solid var(--line-2);border-radius:var(--r);background:var(--bg-2);overflow:hidden}
.est__sum::before{content:"";position:absolute;inset:0 0 auto;height:2px;background:var(--grad)}
.est__sum-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.est__reset{background:none;border:0;padding:.25rem 0;font-size:.8125rem;color:var(--tx-3);cursor:pointer;text-decoration:underline;text-underline-offset:.2em}
.est__reset:hover{color:var(--tx)}
.est__prog{margin-top:1rem;font:500 1.125rem/1.3 var(--f-d);-webkit-text-stroke:var(--sb) currentColor;color:var(--tx)}
.est__bar{height:3px;margin-top:.75rem;border-radius:3px;background:var(--line)}
.est__bar i{display:block;height:100%;width:0;border-radius:inherit;background:var(--grad);transition:width .5s var(--ease)}
.est__list{list-style:none;margin:1rem 0 0;padding:0;border-top:1px solid var(--line)}
.est__list:empty{display:none}
.est__list li{display:grid;grid-template-columns:minmax(0,6.5rem) minmax(0,1fr);gap:.75rem;padding:.625rem 0;border-bottom:1px solid var(--line);font-size:.8125rem}
.est__list li span{color:var(--tx-3)}
.est__list li b{font-weight:500;-webkit-text-stroke:var(--sb) currentColor;color:var(--tx)}
.est__fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.625rem;margin-top:1.25rem}
.est__fields .field--full{grid-column:1/-1}
.field{display:grid;gap:.375rem;font-size:.8125rem;color:var(--tx-3)}
.field em{font-style:normal;color:var(--tx-dim)}
.field input{width:100%;height:2.75rem;padding:0 .875rem;border:1px solid var(--line-2);border-radius:.5rem;background:var(--bg);color:var(--tx);font:400 .9375rem var(--f-b);transition:border-color .2s}
.field input::placeholder{color:var(--tx-dim)}
.field input:focus{outline:0;border-color:var(--blue-4)}
.field.is-error input{border-color:#E25A5A}
.consent{position:relative;display:flex;gap:.625rem;align-items:flex-start;margin-top:.875rem;font-size:.8125rem;line-height:1.45;color:var(--tx-3);cursor:pointer}
.consent span{flex:none;width:1.125rem;height:1.125rem;margin-top:.0625rem;border:1px solid var(--line-2);border-radius:.25rem;display:grid;place-items:center;font-size:.875rem;color:transparent;transition:background .2s,border-color .2s}
.consent span i{display:block;width:auto;height:auto;border-radius:0;background:transparent;color:inherit;font-size:.875rem;line-height:1}
.consent input:checked+span{background:var(--tx);border-color:var(--tx);color:var(--bg)}
.consent.is-error span{border-color:#E25A5A}
.consent a{color:var(--tx-2);text-decoration:underline}
.est__ctas{margin-top:1.125rem}
.est__ctas .btn{width:100%;white-space:normal;height:auto;min-height:3.25rem;padding:.875rem 1.25rem;text-align:center;line-height:1.3}
.est__msg{min-height:1.2em;margin-top:.625rem;font-size:.8125rem;color:#E25A5A}
.est__note{margin-top:.5rem;font-size:.75rem;line-height:1.5;color:var(--tx-3)}
.est__done{display:none;padding:.5rem 0 .25rem}
.est__done > i{display:grid;place-items:center;width:3rem;height:3rem;border-radius:50%;background:var(--grad-solid);color:#fff;font-size:1.5rem}
.est__done h3{margin-top:1.25rem;font:500 1.375rem/1.2 var(--f-d);-webkit-text-stroke:var(--sb) currentColor;color:var(--tx)}
.est__done p{margin-top:.625rem;font-size:.9375rem}
.est__sum.is-sent .est__live{display:none}
.est__sum.is-sent .est__done{display:block}
@media (max-width:1024px){.est__grid{grid-template-columns:minmax(0,1fr)}.est__sum{position:static}}
@media (max-width:760px){.opts--5{grid-template-columns:repeat(3,minmax(0,1fr))}.est__row{grid-template-columns:minmax(0,1fr)}.est__row .est__step+.est__step{border-top:1px solid var(--line)}}
@media (max-width:480px){.opts--5{grid-template-columns:repeat(2,minmax(0,1fr))}.est__fields{grid-template-columns:minmax(0,1fr)}}

/* Pagine interne */
.page-hero{position:relative;padding:calc(var(--nav-h) + clamp(2.5rem,6vw,5rem)) 0 clamp(3.5rem,6vw,5.5rem);overflow:hidden}
.page-hero::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(50% 45% at 85% 0%,rgba(37,99,255,.16),transparent 70%),radial-gradient(35% 35% at 100% 25%,rgba(110,77,224,.14),transparent 70%)}
.crumbs{position:relative;display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:0 0 2.25rem;padding:0;font-size:.8125rem;color:var(--tx-3)}
.crumbs li+li::before{content:"/";margin-right:.5rem;color:var(--tx-dim)}
.crumbs a{color:var(--tx-3)}.crumbs a:hover{color:var(--tx)}
.band--page{margin:0;height:clamp(20rem,42vw,38rem)}
.band--page figcaption{position:absolute;inset:auto 0 clamp(1.5rem,3vw,2.5rem);z-index:1}
.band--page::after{background:linear-gradient(180deg,rgba(0,0,0,.1) 0%,rgba(0,0,0,.2) 55%,rgba(0,0,0,.8) 100%)}
.band--page figcaption p{font-size:.75rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--tx-2)}
.index{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;border-top:1px solid var(--line)}
.index>div{display:grid;grid-template-columns:minmax(0,10rem) minmax(0,1fr);gap:.5rem 1.5rem;padding:1.375rem 0;border-bottom:1px solid var(--line)}
.index>div:nth-child(odd){padding-right:2rem}
.index>div:nth-child(even){padding-left:2rem;border-left:1px solid var(--line)}
.index dt{font-size:.75rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--tx-3);padding-top:.25rem}
.index dd{margin:0;color:var(--tx);font-size:1rem;line-height:1.5}
.story p+p{margin-top:1.25rem}
.story .statement{font-size:clamp(1.5rem,2.4vw,2.25rem);margin-bottom:2rem}
.checks{list-style:none;margin:2.25rem 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem 2rem}
.checks li{display:flex;gap:.75rem;align-items:center;padding:.875rem 0;border-top:1px solid var(--line);color:var(--tx)}
.checks i{font-size:1.25rem;color:var(--blue-4)}
.story__img{margin:2.75rem 0 0;border-radius:var(--r);overflow:hidden;aspect-ratio:16/9;background:var(--bg-2)}
.story__img img{width:100%;height:100%;object-fit:cover;filter:brightness(.85)}
.vmv{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}
.bento--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.vmv .pcard,.bento--4 .pcard{grid-column:auto;min-height:0}
.vmv .pcard{min-height:22rem}
.pcard--sm h3{font-size:clamp(1.5rem,2.2vw,2rem);margin:1rem 0 .75rem}
.pcard__n{font-size:.8125rem;font-weight:500;color:var(--tx-3)}
.pcard--sm .pcard__icon{position:static;margin-bottom:auto}
.vmv .pcard__body{margin-top:auto;padding-top:3rem}
.bento--4 .pcard__body{padding-top:2.5rem}
@media (max-width:1024px){
.index{grid-template-columns:minmax(0,1fr)}
.index>div:nth-child(odd),.index>div:nth-child(even){padding-left:0;padding-right:0;border-left:0}
.vmv{grid-template-columns:minmax(0,1fr)}
.vmv .pcard{min-height:0}
.bento--4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
.index>div{grid-template-columns:minmax(0,1fr)}
.checks{grid-template-columns:minmax(0,1fr)}
.bento--4{grid-template-columns:minmax(0,1fr)}
}

/* Pagina servizi */
.has-subnav .nav.is-hidden{transform:none}
html.has-subnav{scroll-padding-top:calc(var(--nav-h) + 3.5rem)}
.subnav{position:sticky;top:var(--nav-h);z-index:30;background:var(--nav-bg);-webkit-backdrop-filter:blur(1rem);backdrop-filter:blur(1rem);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.subnav ul{display:flex;gap:.25rem;overflow-x:auto;scrollbar-width:none;list-style:none;margin:0;padding:0}
.subnav ul::-webkit-scrollbar{display:none}
.subnav a{display:block;padding:1.0625rem .875rem;font-size:.875rem;color:var(--tx-2);white-space:nowrap;box-shadow:inset 0 -2px 0 transparent;transition:color .2s,box-shadow .3s}
.subnav a:hover{color:var(--tx)}
.subnav a.is-active{color:var(--tx);box-shadow:inset 0 -2px 0 var(--blue-4)}
.needs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}
.needs .pcard{grid-column:auto;min-height:0}
.need__to{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:auto;padding-top:1.75rem}
.need__to a{font-size:.8125rem;color:var(--tx-2);border:1px solid var(--line-2);border-radius:62.4375rem;padding:.4375rem .75rem;transition:border-color .2s,color .2s}
.need__to a:hover{color:var(--tx);border-color:var(--tx)}
.needs .pcard p{margin-top:.25rem}
.svd{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(2.5rem,6vw,6rem);align-items:center;padding:clamp(4rem,7vw,6.5rem) 0;border-top:1px solid var(--line)}
.svd:first-child{border-top:0;padding-top:0}
.svd--rev .svd__media{order:-1}
.svd .eyebrow{margin-bottom:1.5rem}
.svd h2{font:500 clamp(2rem,3.6vw,3.25rem)/1.05 var(--f-d);letter-spacing:-.03em;color:var(--tx);text-wrap:balance}
.svd .lead{margin:1.25rem 0 2rem;max-width:52ch}
.svd__cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem 2.5rem;margin-bottom:2rem}
.svd__cols h3{font-size:.75rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--tx-3);margin-bottom:.875rem;padding-bottom:.75rem;border-bottom:1px solid var(--line)}
.svd__cols ul{list-style:none;margin:0;padding:0;display:grid;gap:.625rem}
.svd__cols li{display:flex;gap:.625rem;align-items:flex-start;font-size:.9375rem;line-height:1.45;color:var(--tx)}
.svd__cols li i{font-size:1.125rem;line-height:1.3;color:var(--blue-4)}
.svd__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 1.5rem}
.svd__media{position:relative;margin:0;border-radius:var(--r);overflow:hidden;aspect-ratio:4/5;background:#0A0B0F}
.svd__media img{width:100%;height:100%;object-fit:cover;filter:brightness(.8);transition:transform 1.4s var(--ease)}
.svd:hover .svd__media img{transform:scale(1.03)}
.svd__media span{position:absolute;left:1.25rem;top:1.25rem;font-size:.75rem;font-weight:500;letter-spacing:.14em;color:#fff}
.feat{position:relative;display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:2rem 4rem;align-items:end;padding:clamp(2rem,4vw,3.5rem);border:1px solid var(--line-2);border-radius:var(--r);background:var(--bg-2);overflow:hidden}
.feat::before{content:"";position:absolute;inset:0 0 auto;height:2px;background:var(--grad)}
.feat .eyebrow{margin-bottom:1.25rem}
.feat h2{font:500 clamp(1.75rem,3vw,2.75rem)/1.08 var(--f-d);letter-spacing:-.025em;color:var(--tx);text-wrap:balance}
.feat p{margin-top:1rem;max-width:56ch}
.feat .hero__cta{justify-content:flex-end}
.tech{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1024px){
.needs{grid-template-columns:repeat(2,minmax(0,1fr))}
.svd{grid-template-columns:minmax(0,1fr)}
.svd--rev .svd__media{order:0}
.svd__media{aspect-ratio:16/9;order:-1}
.feat{grid-template-columns:minmax(0,1fr)}
.feat .hero__cta{justify-content:flex-start}
}
@media (max-width:640px){
.needs{grid-template-columns:minmax(0,1fr)}
.svd__cols{grid-template-columns:minmax(0,1fr)}
.tech{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Pagina contatti */
.contact{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(2rem,5vw,5rem);align-items:start}
.cform{position:relative;margin:0;padding:clamp(1.5rem,3vw,2.5rem);border:1px solid var(--line-2);border-radius:var(--r);background:var(--bg-2);overflow:hidden}
.cform::before{content:"";position:absolute;inset:0 0 auto;height:2px;background:var(--grad)}
.cform .est__step:first-child{border-top:0}
.cform__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
.field textarea{width:100%;min-height:8.5rem;padding:.75rem .875rem;border:1px solid var(--line-2);border-radius:.5rem;background:var(--bg);color:var(--tx);font:400 .9375rem/1.5 var(--f-b);resize:vertical;transition:border-color .2s}
.field textarea::placeholder{color:var(--tx-dim)}
.field textarea:focus{outline:0;border-color:var(--blue-4)}
.field.is-error textarea{border-color:#E25A5A}
.cform__foot{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-top:1.25rem}
.cform__foot .est__msg{margin:0}
.cform__done{display:none;padding:1rem 0}
.cform__done i{display:grid;place-items:center;width:3.25rem;height:3.25rem;border-radius:50%;background:var(--grad-solid);color:#fff;font-size:1.625rem}
.cform__done h2{margin-top:1.5rem;font:500 clamp(1.75rem,3vw,2.5rem)/1.1 var(--f-d);letter-spacing:-.02em;color:var(--tx)}
.cform__done p{margin-top:.75rem;max-width:44ch}
.cform.is-sent .cform__live{display:none}
.cform.is-sent .cform__done{display:block}
.channels{display:grid;gap:.625rem;position:sticky;top:calc(var(--nav-h) + 1.5rem)}
.channel{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:1rem;align-items:center;padding:1.125rem 1.25rem;border:1px solid var(--line);border-radius:var(--r);background:var(--bg-2);color:var(--tx);transition:border-color .25s}
a.channel:hover{border-color:var(--line-3);color:var(--tx)}
.channel__ic{width:2.75rem;height:2.75rem;display:grid;place-items:center;border-radius:.5rem;border:1px solid var(--line-2);font-size:1.25rem;color:var(--blue-4)}
.channel small{display:block;font-size:.75rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--tx-3);margin-bottom:.25rem}
.channel b{display:block;font-weight:400;font-size:1rem;line-height:1.4;color:var(--tx);overflow-wrap:anywhere}
.channel__go{font-size:1.25rem;color:var(--tx-3);transition:transform .35s var(--ease),color .2s}
a.channel:hover .channel__go{transform:translateX(.25rem);color:var(--tx)}
.channels__social{display:flex;gap:.5rem;margin-top:.5rem}
@media (max-width:1024px){.contact{grid-template-columns:minmax(0,1fr)}.channels{position:static}}
@media (max-width:640px){.cform__grid{grid-template-columns:minmax(0,1fr)}.cform__foot .btn{width:100%}}

/* Motion */
@media (prefers-reduced-motion:no-preference){
.js .reveal{opacity:0;transform:translateY(1.75rem);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.js .reveal.is-visible{opacity:1;transform:none}
.js .reveal.d1{transition-delay:.08s}.js .reveal.d2{transition-delay:.16s}.js .reveal.d3{transition-delay:.24s}
.hero__title .eyebrow,.hero__h,.hero__lead,.hero__cta,.rail-head,.rail{animation:rise 1.1s var(--ease) both}
.hero__h{animation-delay:.08s}.hero__lead,.hero__cta{animation-delay:.2s}.rail-head,.rail{animation-delay:.32s}
@keyframes rise{from{opacity:0;transform:translateY(1.5rem)}to{opacity:1;transform:none}}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}html{scroll-behavior:auto}}

/* Responsive */
@media (max-width:1180px){
.nav.is-solid,.nav.mega-open,.nav.menu-open{border-color:transparent}
.nav.menu-open{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--bg)}
.nav .icon-btn{border:0;width:2.5rem;background:transparent}
.nav .icon-btn i{font-size:1.5rem}
.nav__actions{gap:.25rem}
.nav__links{display:none}
.nav__burger{display:grid}
.mega{display:none}
.mnav{display:block;position:fixed;inset:var(--nav-h) 0 0;background:var(--bg);overflow-y:auto;opacity:0;visibility:hidden;transform:translateY(-0.5rem);transition:opacity .3s var(--ease),transform .4s var(--ease),visibility 0s .3s}
.nav.menu-open .mnav{opacity:1;visibility:visible;transform:none;transition-delay:0s}
.mnav__in{padding-top:1.5rem;padding-bottom:2.5rem;display:flex;flex-direction:column;min-height:100%}
.mnav__links{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.mnav__links>li{border-bottom:1px solid var(--line)}
.mnav__links>li>a{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 0;font:500 1.75rem/1.1 var(--f-d);letter-spacing:-.02em;color:var(--tx)}
.mnav__sub{list-style:none;margin:-0.25rem 0 0;padding:0 0 1.25rem;display:grid;grid-template-columns:1fr 1fr;gap:0.75rem 1.25rem}
.mnav__sub a{font-size:0.9375rem;color:var(--tx-2)}
.mnav__foot{margin-top:2rem;display:grid;gap:0.75rem}
.mnav__foot .btn{width:100%}
.mnav__contact{margin-top:1.75rem;font:400 0.8125rem/1.8 var(--f-m);color:var(--tx-3)}
.mnav__contact a{color:var(--tx-2)}
.rail{height:auto;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:var(--gut);scrollbar-width:none;-webkit-overflow-scrolling:touch;max-width:none}
.rail::-webkit-scrollbar{display:none}
.rail::after{content:"";flex:0 0 1px}
.rcard,.rcard.is-active{flex:0 0 clamp(17.5rem,42vw,25rem);height:clamp(26.25rem,56vw,32.5rem);scroll-snap-align:start;cursor:default}
.rcard img,.rcard.is-active img,.rcard:hover img{filter:brightness(.66);transform:none}
.rcard__v{display:none}
.rcard__body,.rcard.is-active .rcard__body{width:100%;opacity:1;transform:none}
.rcard__bar{display:none}
}
@media (max-width:1024px){
.hero__head,.sec-head,.split,.about__grid,.cta__grid,.foot__top{grid-template-columns:minmax(0,1fr)}
.split__intro{position:static}
.about__grid .eyebrow{padding-top:0}
.about__sub{grid-template-columns:minmax(0,1fr)}
.stats{grid-template-columns:repeat(2,minmax(0,1fr))}
.stat:nth-child(3){border-left:0;padding-left:0}
.stat:nth-child(n+3){margin-top:2.5rem;border-top:1px solid var(--line)}
.bento{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.pcard--xl{grid-column:1/-1;grid-row:auto;min-height:35rem}
.pcard{grid-column:span 1}
.client-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.client-grid .client-cta{grid-column:span 2}
.steps{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:3rem}
.steps::before,.steps::after{display:none}
.step{padding-top:2.25rem;border-top:1px solid var(--line)}
.step::before{top:-0.375rem}
.faq-body p{padding-right:0}
}
@media (max-width:640px){
body{font-size:1rem}
.nav__actions .btn{display:none}
.hero__cta .btn,.cta__btns .btn{flex:1 1 100%}
.rail-count{display:none}
.rcard,.rcard.is-active{flex-basis:82vw;height:27.5rem}
.rcard__body{padding:1.5rem}
.stats{grid-template-columns:minmax(0,1fr)}
.stat,.stat+.stat,.stat:nth-child(3){border-left:0;padding-left:0}
.stat+.stat{margin-top:2rem;border-top:1px solid var(--line)}
.bento{grid-template-columns:minmax(0,1fr)}
.pcard--xl{min-height:38.75rem}
.modules li{grid-template-columns:minmax(0,1fr);gap:0.25rem}
.client-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.client-grid .client-cta{grid-column:span 1}
.steps{grid-template-columns:minmax(0,1fr)}
.svc{grid-template-columns:2.5rem minmax(0,1fr);padding:1.75rem 0}
.svc__go{display:none}
.cta__info{grid-template-columns:minmax(0,1fr)}
.foot__cols{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:2.5rem}
.faq-item summary{padding:1.375rem 0}
.mnav__links>li>a{font-size:1.5rem}
}


/* ADES products-wide: Managea single horizontal card */
.products-wide { background:#f3f6fb; color:#142033; }
.products-wide .sec-head { align-items:end; }
.products-wide .sec-head .h2, .products-wide .sec-head .lead { color:#142033; }
.products-wide__grid { display:block; }
.products-wide .pcard--xl { display:grid; grid-template-columns:minmax(18rem, .9fr) minmax(0, 1.1fr); grid-template-rows:auto 1fr auto; min-height:0; padding:0; overflow:hidden; background:#fff; border-color:#d6deea; color:#142033; box-shadow:0 1.5rem 4rem rgba(20,32,51,.12); }
.products-wide .pcard--xl::after { display:none; }
.products-wide .pcard--xl .pcard__img { position:relative; inset:auto; grid-column:1; grid-row:1 / span 3; width:100%; height:100%; min-height:25rem; opacity:1; object-fit:cover; }
.products-wide .pcard--xl .pcard__tag { grid-column:2; grid-row:1; margin:clamp(1.5rem,3vw,3rem) clamp(1.5rem,4vw,4rem) 0; color:#52627a; }
.products-wide .pcard--xl .pcard__top { grid-column:2; grid-row:2; margin:0; padding:0 clamp(1.5rem,4vw,4rem); color:#142033; }
.products-wide .pcard--xl h3 { color:#142033; margin-top:1rem; }
.products-wide .pcard--xl h3 img { display:block; max-width:min(100%,24rem); height:auto!important; padding:.75rem 1rem; border:1px solid #e1e7f0; border-radius:.75rem; background:#fff; }
.products-wide .pcard--xl p, .products-wide .pcard--xl .modules span { color:#52627a; }
.products-wide .pcard--xl .modules { border-color:#d6deea; }
.products-wide .pcard--xl .modules li { border-color:#e5eaf2; }
.products-wide .pcard--xl .modules b { color:#142033; }
.products-wide .pcard--xl .pcard__meta { grid-column:2; grid-row:3; margin:0; padding:1.5rem clamp(1.5rem,4vw,4rem) clamp(1.5rem,3vw,3rem); }
.products-wide .pcard--xl .pcard__meta .mono { color:#52627a; }
@media (max-width:760px) {
  .products-wide .pcard--xl { display:block; }
  .products-wide .pcard--xl .pcard__img { display:block; height:15rem; min-height:0; }
  .products-wide .pcard--xl .pcard__tag { display:block; margin:1.5rem 1.5rem 0; }
  .products-wide .pcard--xl .pcard__top { padding:0 1.5rem; }
  .products-wide .pcard--xl .pcard__meta { padding:1.25rem 1.5rem 1.5rem; }
}
.est-request-form { margin-top:1.25rem; }
.est-request-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.875rem; }
.est-request-grid .field--full { grid-column:1 / -1; }
.est-request-form .btn { margin-top:1rem; width:100%; }
.est__ctas { display:flex; flex-wrap:wrap; gap:.875rem; }
.est__ctas .btn { flex:1 1 13rem; width:auto; }
@media (max-width:760px) {
  .est-request-grid { grid-template-columns:1fr; }
  .est-request-grid .field--full { grid-column:auto; }
  .est__ctas { gap:.75rem; }
  .est__ctas .btn { flex-basis:100%; }
}
