@import url("https://fonts.googleapis.com/css2?family=Archivo+Black&family=Inter:wght@400;500;600;700;800;900&display=swap");
:root{--black:#111;--red:#e60012;--white:#f5f5f1;--muted:#999}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--white);font-family:"Inter",Arial,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit}::selection{background:var(--red);color:white}.header{position:absolute;z-index:30;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:28px 4.5vw}.logo{font-family:"Archivo Black",Arial,sans-serif;font-size:clamp(27px,3vw,42px);font-weight:700;letter-spacing:-.09em;line-height:1}.logo span,.punct{color:var(--red)}.header-tag{font-size:10px;letter-spacing:.13em;color:#aaa}.header-tag span{margin-left:18px}.menu-toggle{width:42px;height:42px;display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center;background:none;border:0;cursor:pointer;z-index:40}.menu-toggle span{width:28px;height:2px;background:white;transition:transform .3s}.menu-toggle.active span:first-child{transform:translateY(5px) rotate(45deg)}.menu-toggle.active span:last-child{transform:translateY(-5px) rotate(-45deg)}.menu{position:fixed;z-index:25;inset:0;background:var(--red);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}.menu.open{opacity:1;visibility:visible}.menu a{font-family:"Archivo Black";font-size:clamp(45px,8vw,110px);font-weight:700;letter-spacing:-.07em;line-height:1.05}.menu a:hover{color:#111}.hero{min-height:100svh;position:relative;display:flex;flex-direction:column;justify-content:center;padding:150px 4.5vw 42px;overflow:hidden}.hero-kicker{position:relative;z-index:2;color:#bbb;font-size:11px;letter-spacing:.15em;margin-bottom:5vh}.live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--red);margin-right:10px;box-shadow:0 0 18px var(--red)}.hero-title{position:relative;z-index:2;font-family:"Archivo Black";font-size:clamp(58px,10.2vw,190px);font-weight:700;letter-spacing:-.095em;line-height:.97}.reveal-line{white-space:nowrap;animation:rise .85s both;transform-origin:bottom}.reveal-line:nth-child(2){animation-delay:.13s}.reveal-line:nth-child(3){animation-delay:.26s}.red,.about em,.section-heading em,.approach em,.contact em{color:var(--red);font-style:normal}.white{color:white}.hero-bottom{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:end;margin-top:7vh}.hero-bottom p{font-size:clamp(15px,1.4vw,20px);line-height:1.5}.scroll-cue{font-size:11px;letter-spacing:.12em}.scroll-cue span{display:inline-grid;place-items:center;width:48px;height:48px;border:1px solid #666;border-radius:50%;margin-left:20px;font-size:22px}.hero-outline{position:absolute;right:-9vw;top:10%;font:700 75vw/.8 "Archivo Black";color:transparent;-webkit-text-stroke:1px #ffffff0b;pointer-events:none}.section{padding:110px 4.5vw 135px}.section-label{display:flex;justify-content:space-between;border-top:1px solid #484848;padding-top:16px;font-size:10px;letter-spacing:.16em;color:#aaa}.about{background:#f0f0eb;color:#111}.about .section-label{border-color:#bcbcb8;color:#555}.about-content{max-width:1100px;margin:100px auto 0}.eyebrow{font-size:11px;letter-spacing:.18em;font-weight:700}.about h2,.section-heading,.approach h2,.contact h2{font-family:"Archivo Black";font-weight:700;letter-spacing:-.085em;line-height:.98}.about h2{font-size:clamp(65px,10vw,155px);margin:25px 0 50px}.about-copy{font-size:clamp(20px,2.4vw,32px);line-height:1.45;max-width:710px;margin-left:auto}.text-link{display:inline-block;border-bottom:1px solid #111;padding:18px 0;margin-top:55px;font-size:12px;letter-spacing:.12em}.text-link span{margin-left:25px}.section-heading{font-size:clamp(65px,10vw,150px);margin:100px 0 65px}.service{display:grid;grid-template-columns:60px minmax(0,1fr) 240px 50px;gap:15px;align-items:center;border-top:1px solid #444;padding:34px 8px;transition:background .3s,padding .3s}.service:last-child{border-bottom:1px solid #444}.service:hover{background:var(--red);padding-left:22px}.service-no,.service-detail{font-size:11px;color:#aaa}.service-name{font:700 clamp(27px,4.1vw,64px)/1 "Archivo Black";letter-spacing:-.06em}.service-arrow{font-size:34px;text-align:right}.service:hover .service-no,.service:hover .service-detail{color:white}.work{background:#eee;color:#111}.work .section-label{border-color:#bbb;color:#666}.work-intro{display:flex;justify-content:space-between;align-items:end;gap:30px}.work-intro .section-heading{margin-bottom:60px}.work-intro p{max-width:300px;line-height:1.5;margin-bottom:65px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.project-visual{height:clamp(300px,37vw,610px);position:relative;overflow:hidden;padding:30px;display:flex;align-items:center;justify-content:center}.project-visual>span{position:absolute;top:26px;left:26px;font-size:10px;letter-spacing:.12em}.visual-one{background:#1b1b1b;color:#eee}.visual-one:before{content:"";position:absolute;width:55%;aspect-ratio:1;border:2px solid var(--red);border-radius:50%;filter:drop-shadow(0 0 55px #e6001270);transform:rotate(-30deg) scaleX(.7)}.visual-one strong{position:relative;font:700 clamp(70px,9vw,160px) "Archivo Black";letter-spacing:-.11em}.visual-one strong span{color:var(--red)}.visual-two{background:var(--red);color:white}.visual-two strong{position:relative;z-index:1;font:700 clamp(55px,7vw,110px)/.9 "Archivo Black";letter-spacing:-.09em}.abstract-orbit{position:absolute;width:75%;aspect-ratio:1;border:60px solid #1112;border-radius:50%;right:-20%;bottom:-40%}.project-caption{display:flex;justify-content:space-between;padding:17px 0;font-size:11px;letter-spacing:.1em}.work-note{font-size:12px;color:#666;margin-top:30px}.approach-layout{display:grid;grid-template-columns:1fr 1fr;gap:7vw;margin-top:100px}.approach h2{font-size:clamp(70px,9vw,145px);margin:0}.approach-steps{padding-top:25px}.approach-steps>div{border-bottom:1px solid #444;padding:20px 0 35px;margin-bottom:25px}.approach-steps span{font-size:11px;letter-spacing:.16em;color:var(--red)}.approach-steps p{font-size:clamp(19px,2vw,27px);max-width:480px;line-height:1.4}.contact{background:var(--red);padding:100px 4.5vw 110px}.contact .section-label{border-color:#ffffff70;color:white}.contact>.eyebrow{margin-top:100px}.contact h2{font-size:clamp(95px,18vw,300px);margin:20px 0 65px}.contact em{color:#111}.contact-button{display:flex;justify-content:space-between;align-items:center;border:1px solid white;border-radius:100px;padding:24px 32px;max-width:400px;font-size:14px;letter-spacing:.12em;transition:background .2s,color .2s}.contact-button:hover{background:white;color:var(--red)}.contact-button span{font-size:25px}.contact-note{font-size:11px;opacity:.8;margin-top:20px}footer{padding:70px 4.5vw 40px;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:25px;font-size:11px;line-height:1.9;color:#aaa}footer .logo{color:white}footer div a{display:block}.reveal{opacity:0;transform:translateY(50px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:translateY(0)}@keyframes rise{from{opacity:0;transform:translateY(55px)}to{opacity:1;transform:translateY(0)}}@media(pointer:fine){}@media(max-width:900px){.header-tag{display:none}.hero-title{font-size:clamp(45px,10vw,90px)}.service{grid-template-columns:30px 1fr 35px}.service-detail{grid-column:2;grid-row:2}.service-arrow{grid-column:3;grid-row:1}.work-intro{display:block}.work-intro p{margin-top:-30px}.approach-layout{grid-template-columns:1fr}footer{grid-template-columns:1fr 1fr}}@media(max-width:600px){.header{padding:24px 6vw}.hero{padding:120px 6vw 35px;min-height:90svh}.hero-kicker{font-size:9px}.hero-title{font-size:clamp(39px,10.1vw,70px)}.hero-bottom{align-items:start;gap:25px;flex-direction:column}.section{padding:75px 6vw 90px}.section-label{font-size:9px}.section-label span:last-child{display:none}.about-content{margin-top:75px}.about h2{font-size:clamp(54px,11vw,90px)}.about-copy{font-size:20px}.section-heading{font-size:clamp(54px,11vw,95px);margin:75px 0 50px}.service{padding:28px 0}.service-name{font-size:clamp(26px,6vw,42px)}.project-grid{grid-template-columns:1fr}.project-visual{height:350px}.project-caption{font-size:9px}.approach h2{font-size:clamp(65px,13vw,110px)}.contact{padding:80px 6vw}.contact h2{font-size:clamp(85px,20vw,160px)}footer{padding:60px 6vw;grid-template-columns:1fr 1fr}footer>span{grid-column:1/-1}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal,.reveal-line{opacity:1;transform:none;animation:none;transition:none}}

/* Logo ufficiale MOOVE */
.logo{display:inline-flex;align-items:center;flex-shrink:0;letter-spacing:normal}.logo img{display:block;width:clamp(185px,20vw,285px);height:auto;max-width:100%;object-fit:contain}footer .logo img{width:clamp(190px,21vw,310px)}@media(max-width:600px){.logo img{width:190px}footer .logo img{width:200px}}

/* MOOVE V3 — BOLD & INTERACTIVE */
.hero-title,.about h2,.section-heading,.approach h2,.contact h2,.service-name,.menu a{font-weight:900;letter-spacing:-.065em}
.hero-title{font-size:clamp(42px,9.2vw,175px);line-height:1.04}
.hero-outline{transition:transform .3s ease-out}
.ticker{overflow:hidden;background:var(--red);color:#fff;padding:21px 0;white-space:nowrap;transform:rotate(-1.4deg) scale(1.03);position:relative;z-index:3}
.ticker-track{display:flex;width:max-content;animation:ticker 24s linear infinite}
.ticker-track span{font:900 clamp(18px,2.6vw,38px)/1 "Archivo Black",sans-serif;letter-spacing:-.04em;padding-right:44px}
.ticker-track b{color:#111;padding-left:35px}
@keyframes ticker{to{transform:translateX(-50%)}}
.project-visual{transition:transform .5s cubic-bezier(.2,.8,.2,1),filter .5s}
.project:hover .project-visual{filter:contrast(1.12)}
.project-visual strong{transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.project:hover .project-visual strong{transform:scale(1.07) rotate(-2deg)}
.service-arrow{transition:transform .25s}.service:hover .service-arrow{transform:translate(6px,-6px)}
.contact-button{transition:transform .2s,background .2s,color .2s}
@media(min-width:901px){.header .logo img{max-width:290px}}
@media(max-width:600px){.hero-title{font-size:clamp(35px,8.7vw,65px)}.ticker{padding:15px 0}}
@media(prefers-reduced-motion:reduce){.ticker-track{animation:none}.project-visual,.project-visual strong,.hero-outline{transition:none}}

/* V4: seamless ticker and consistent minimal cursor */
.ticker-track{animation:ticker 38s linear infinite;will-change:transform}
.ticker-track span{flex:0 0 auto;white-space:nowrap}
@media(pointer:fine){}
@media(prefers-reduced-motion:reduce){.ticker-track{animation:none;will-change:auto}}

/* V5 — cursor: show only the custom red ring on desktop */
@media (hover:hover) and (pointer:fine) {
  html, body, body *, body *::before, body *::after { cursor:inherit!important; }
  
  
}
@media (hover:none), (pointer:coarse) {  }

/* V5 — reveal each headline and text as it enters the viewport */
.scroll-appear { opacity:0; transform:translate3d(0,48px,0); filter:blur(5px); transition:opacity .8s ease,transform .8s cubic-bezier(.2,.75,.2,1),filter .8s ease; transition-delay:var(--appear-delay,0ms); }
.scroll-appear.is-in-view {opacity:1;transform:translate3d(0,0,0);filter:blur(0)}
@media(prefers-reduced-motion:reduce){.scroll-appear{opacity:1;transform:none;filter:none;transition:none}}

/* V6: hero gradient, left red glow fading into black toward the right */
.hero{background:radial-gradient(ellipse 85% 105% at -18% 48%, rgba(230,0,18,.62) 0%,rgba(145,0,13,.34) 36%,rgba(17,17,17,0) 78%),linear-gradient(90deg,#250b0e 0%,#151112 45%,#111 85%)}
.hero-outline{display:none!important}
@media(max-width:600px){.hero{background:radial-gradient(ellipse 130% 85% at -38% 35%,rgba(230,0,18,.52),transparent 80%),#111}}

/* V7: dark opaque cursor on light sections, red ring elsewhere */
@media (hover:hover) and (pointer:fine) {
  
}

/* V8: solid dark cursor on light panels */
@media (hover:hover) and (pointer:fine){}

/* V10 — menu social, outline cursor on every section */
.menu{isolation:isolate}
.menu-social{position:absolute;bottom:clamp(35px,6vh,72px);left:4.5vw;right:4.5vw;display:flex;align-items:center;justify-content:space-between;gap:22px;border-top:1px solid rgba(255,255,255,.42);padding-top:22px;color:white}
.menu-social-label{font-size:10px;font-weight:700;letter-spacing:.19em}
.menu-social-links{display:flex;align-items:center;gap:32px}
.menu .menu-social-links a{display:inline-flex;align-items:center;gap:10px;font:700 12px/1 "Inter",sans-serif;letter-spacing:.07em;transition:opacity .2s,transform .2s}
.menu .menu-social-links a:hover{color:#111;transform:translateY(-2px)}
.menu-social-links svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.menu-social-links svg .icon-dot{fill:currentColor;stroke:none}
.menu-social-links a:nth-child(2) svg{fill:currentColor;stroke:none}
@media(max-width:600px){.menu-social{left:6vw;right:6vw;flex-direction:column;align-items:flex-start;gap:17px}.menu-social-links{gap:22px}.menu .menu-social-links a{font-size:10px}.menu a{font-size:clamp(43px,11vw,70px)}}
@media (hover:hover) and (pointer:fine){
 
 
 
}

/* V11 — always hollow ring; invert contrast on panels */
@media (hover:hover) and (pointer:fine) {
 
 
 
}

/* V12: ring visible across adjacent light/dark panels, even on boundaries. */
@media (hover:hover) and (pointer:fine) {
  
  
}

/* V13 — cursor colors: red on dark, black on light and red. */
@media (hover:hover) and (pointer:fine) {
  
  
}

/* V14 — cursor ring: dark surfaces red; white/red surfaces black. */
@media (hover:hover) and (pointer:fine) {
  
  
  
}

/* V15 — Nasconde il puntatore nativo in ogni elemento interattivo su Safari. */
@media (hover: hover) and (pointer: fine) {
  html, body, body *, body *::before, body *::after,
  svg, svg *, a, a *, button, button *, label, label *,
  input, textarea, select, option, summary, [role="button"],
  [contenteditable], [contenteditable] * {
    cursor:inherit!important;
  }
  
}

/* V16 — menu fullscreen rosso, logo ufficiale bianco, animazioni */
.menu{background:#e60012!important;color:#fff!important;z-index:35!important;gap:8px!important}
.menu>a{color:#fff!important;display:block;transform:translateY(32px);opacity:0;transition:color .22s ease,transform .55s cubic-bezier(.2,.8,.2,1),opacity .55s ease!important}
.menu.open>a{transform:translateY(0);opacity:1}
.menu.open>a:nth-child(1){transition-delay:.08s!important}
.menu.open>a:nth-child(2){transition-delay:.15s!important}
.menu.open>a:nth-child(3){transition-delay:.22s!important}
.menu.open>a:nth-child(4){transition-delay:.29s!important}
.menu>a:hover,.menu>a:focus-visible{color:#111!important}
.menu-social,.menu-social-label,.menu-social-links a{color:#fff!important}
.menu-social-links a:hover,.menu-social-links a:focus-visible{color:#111!important}
.header{z-index:45!important;transition:background .2s ease}
body:has(.menu.open) .header{background:#e60012!important}
body:has(.menu.open) .header .logo img:not(.logo-menu-white){display:none!important}
.header .logo .logo-menu-white{display:none;width:clamp(185px,20vw,285px);height:auto;object-fit:contain}
body:has(.menu.open) .header .logo .logo-menu-white{display:block!important}
body:has(.menu.open) .menu-toggle span{background:#fff!important}
body:has(.menu.open) .menu-toggle:hover span{background:#111!important}
@media (hover:hover) and (pointer:fine){}
@media(prefers-reduced-motion:reduce){.menu>a,.menu.open>a{transform:none!important;transition:none!important;opacity:1!important}}

/* V17 — Safari: un'unica regola per nascondere il puntatore nativo.
   Copre anche gli elementi che diventano visibili durante lo scroll. */
@media (hover: hover) and (pointer: fine) {
  
  
  
}


/* V18 — unified desktop pointer, including dynamically revealed elements. */
@media (hover:hover) and (pointer:fine) {
  
  
}

/* V19: prevent Safari rubber-band overscroll at page boundaries. */
html { overscroll-behavior-y: none; }
body { overscroll-behavior-y: none; }
@media (hover:hover) and (pointer:fine) {
  
}



/* V21 — red neon pointer, consistent across both pages. */
.cursor,.moove-ring-cursor{display:none!important}
@media (hover:hover) and (pointer:fine){
 html.moove-neon-enabled,html.moove-neon-enabled *,html.moove-neon-enabled *::before,html.moove-neon-enabled *::after{cursor:none!important}
 .moove-neon-pointer{position:fixed;left:0;top:0;z-index:2147483647;pointer-events:none;opacity:0;transition:opacity .12s ease;will-change:transform;width:34px;height:46px}
 .moove-neon-pointer.visible{opacity:1}
 .moove-neon-pointer svg{display:block;overflow:visible}
 .moove-neon-pointer .neon-halo{fill:none;stroke:#e60012;stroke-width:6;stroke-linejoin:round;filter:drop-shadow(0 0 5px #e60012) drop-shadow(0 0 8px #e60012);opacity:.8}
 .moove-neon-pointer .neon-core{fill:#111;stroke:#ff3545;stroke-width:2.4;stroke-linejoin:round;filter:drop-shadow(0 0 2px #ff2233)}
 .moove-neon-pointer.neon-dark .neon-core{fill:#111;stroke:#111}
 .moove-neon-pointer.neon-dark .neon-halo{opacity:.25;filter:drop-shadow(0 0 2px #e60012)}
}
@media (pointer:coarse){.moove-neon-pointer{display:none!important}}

/* V22: restore native macOS cursor everywhere. */
html,body,html *,html *::before,html *::after {cursor:auto!important;}
a,button,[role="button"],label,select,input[type="checkbox"],input[type="radio"] {cursor:pointer!important;}
input:not([type="checkbox"]):not([type="radio"]),textarea {cursor:text!important;}
.cursor,.moove-ring-cursor,.moove-neon-pointer{display:none!important;}

/* V26: native macOS cursor, including nested spans and hover targets. */
html,html body,html body * ,html body *::before,html body *::after {cursor:auto!important;}
html body a,html body a *,html body button,html body button *,html body .menu-toggle,html body .menu-toggle *,html body .service,html body .service *,html body .submit-request,html body .submit-request *,html body label,html body label *,html body select,html body input[type="checkbox"] {cursor:pointer!important;}
html body input:not([type="checkbox"]),html body textarea {cursor:text!important;}
html body .cursor,html body .moove-ring-cursor,html body .moove-neon-pointer {display:none!important;}

/* V27: servizi senza numerazione */
.service{grid-template-columns:minmax(0,1fr) 240px 50px}
@media(max-width:760px){.service{grid-template-columns:minmax(0,1fr) 35px}}

/* V28 — footer con luce MOOVE animata, solo posizione e intensità */
.moove-footer{position:relative;isolation:isolate;display:block;overflow:hidden;background:#080808;color:#fff;padding:100px 4.5vw 28px;min-height:530px}
.moove-footer .footer-glow{position:absolute;z-index:-1;inset:-65% -45% -65% 5%;pointer-events:none;background:radial-gradient(ellipse at 58% 48%,rgba(230,0,18,.83) 0%,rgba(160,0,12,.48) 22%,rgba(80,0,6,.15) 43%,transparent 67%);filter:blur(35px);animation:mooveFooterGlow 13s ease-in-out infinite alternate;will-change:transform,opacity}
@keyframes mooveFooterGlow{0%{transform:translate(-17%,12%) scale(.85);opacity:.58}50%{transform:translate(9%,-7%) scale(1.14);opacity:1}100%{transform:translate(25%,8%) scale(.92);opacity:.7}}
.moove-footer .footer-inner{display:grid;grid-template-columns:2fr 1fr 1fr;gap:clamp(30px,5vw,90px);position:relative}
.moove-footer .footer-intro .logo img{width:220px;max-width:100%}.moove-footer h2{font:900 clamp(32px,4vw,70px)/1.02 'Archivo Black',Arial,sans-serif;letter-spacing:-.055em;margin:32px 0 20px}.moove-footer p{font-size:14px;color:#e1dada;line-height:1.65}.moove-footer .footer-cta{display:inline-flex;gap:40px;border-bottom:1px solid #fff;padding:14px 0;font-size:13px;font-weight:700;letter-spacing:.08em;margin-top:10px}.moove-footer .footer-info>span,.moove-footer .footer-social>span{display:block;font-size:11px;letter-spacing:.13em;font-weight:700;margin-bottom:22px}.moove-footer .footer-social a{display:block;font-size:13px;font-weight:700;margin-bottom:12px}.moove-footer .footer-social a:hover,.moove-footer .footer-cta:hover{color:#ffb3b9}.moove-footer .footer-bottom{display:flex;justify-content:space-between;gap:15px;border-top:1px solid #ffffff50;padding-top:20px;margin-top:90px;font-size:10px;letter-spacing:.1em;color:#ddd}
@media(max-width:700px){.moove-footer{padding:75px 6vw 25px}.moove-footer .footer-inner{grid-template-columns:1fr 1fr}.moove-footer .footer-intro{grid-column:1/-1}.moove-footer .footer-bottom{margin-top:65px;flex-wrap:wrap}.moove-footer .footer-glow{inset:-35% -95% -35% -35%}}
@media(prefers-reduced-motion:reduce){.moove-footer .footer-glow{animation:none;transform:none;opacity:.8}}

/* V29 — glow organico e diagonale per la sezione Servizi. */
.services{position:relative;isolation:isolate;overflow:hidden;background:#111}
.services .services-glow{position:absolute;z-index:-1;pointer-events:none;will-change:transform,opacity}
.services-glow-a{width:85%;height:78%;left:24%;top:4%;border-radius:57% 43% 64% 36% / 45% 61% 39% 55%;background:radial-gradient(ellipse at 45% 53%,rgba(230,0,18,.33) 0%,rgba(170,0,15,.19) 31%,rgba(75,0,8,.08) 55%,transparent 75%);filter:blur(55px);transform:rotate(-24deg) scale(1);animation:servicesLightA 14s ease-in-out infinite alternate}
.services-glow-b{width:60%;height:67%;left:-25%;bottom:-18%;border-radius:35% 65% 46% 54% / 58% 42% 64% 36%;background:radial-gradient(ellipse at center,rgba(230,0,18,.20),rgba(120,0,12,.10) 45%,transparent 72%);filter:blur(60px);animation:servicesLightB 17s ease-in-out infinite alternate}
.services>.section-label,.services>.section-heading,.services>.service-list{position:relative;z-index:1}
@keyframes servicesLightA{0%{transform:translate(-10%,12%) rotate(-24deg) scale(.85);opacity:.42}50%{transform:translate(2%,-6%) rotate(-13deg) scale(1.12);opacity:.95}100%{transform:translate(-15%,8%) rotate(-33deg) scale(.95);opacity:.65}}
@keyframes servicesLightB{0%{transform:translate(-12%,4%) rotate(12deg) scale(.85);opacity:.35}100%{transform:translate(20%,-14%) rotate(-18deg) scale(1.16);opacity:.85}}
@media(max-width:600px){.services-glow-a{width:150%;left:0;top:8%;filter:blur(40px)}.services-glow-b{width:110%;left:-60%}}
@media(prefers-reduced-motion:reduce){.services .services-glow{animation:none!important;will-change:auto}}

/* V30 — galleria progetti orizzontale */
.work .project-slider-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:24px 0 17px}
.project-slider-head p{font-size:10px;font-weight:800;letter-spacing:.14em;margin:0}
.project-slider-controls{display:flex;align-items:center;gap:16px}
.project-slider-controls button{border:1px solid #111;background:transparent;color:#111;width:46px;height:46px;border-radius:50%;font-size:22px;cursor:pointer;transition:background .2s,color .2s}
.project-slider-controls button:hover{background:#111;color:#fff}
.project-slider-controls button:disabled{opacity:.3;cursor:default}
.project-counter{font-size:12px;font-weight:800;min-width:58px;text-align:center;font-variant-numeric:tabular-nums}
.work .project-slider{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-x:contain;scrollbar-width:none;touch-action:pan-y pinch-zoom;cursor:grab;user-select:none}
.work .project-slider::-webkit-scrollbar{display:none}
.work .project-slider.dragging{cursor:grabbing;scroll-snap-type:none;scroll-behavior:auto}
.work .project-slider .project{flex:0 0 calc((100% - 14px)/2);min-width:0;scroll-snap-align:start;opacity:1;transform:none}
.work .project-slider .project-visual{width:100%;overflow:hidden}
.work .project-slider .visual-three{background:#e60012;color:#fff;position:relative}
.work .project-slider .visual-three:before{content:'';position:absolute;width:80%;height:150%;border:2px solid rgba(255,255,255,.22);border-radius:50%;transform:rotate(35deg);left:-22%;top:-22%}
.work .project-slider .visual-four{background:#181818;color:white;position:relative}
.work .project-slider .visual-four:before{content:'';position:absolute;inset:-50%;background:radial-gradient(ellipse at 65% 45%,rgba(230,0,18,.7),transparent 50%)}
.work .project-slider .visual-three strong,.work .project-slider .visual-four strong{position:relative;z-index:1}
@media(max-width:700px){.work .project-slider .project{flex-basis:88%}.work .project-slider-head{align-items:flex-start}.project-slider-head p{max-width:145px;line-height:1.5}.project-slider-controls{gap:8px}.project-slider-controls button{width:38px;height:38px}}
@media(prefers-reduced-motion:reduce){.work .project-slider{scroll-behavior:auto}}

/* V31: Magic Mouse, scroll orizzontale continuo senza snap forzato */
.work .project-slider{scroll-snap-type:none;scroll-behavior:auto;touch-action:pan-x pan-y pinch-zoom}

/* V32 — pulsante torna su nel footer */
.moove-footer .footer-bottom{align-items:center}
.moove-footer .back-to-top{display:inline-flex;flex:0 0 52px;align-items:center;justify-content:center;width:52px;height:52px;border:1.5px solid rgba(255,255,255,.8);border-radius:50%;color:#fff;background:rgba(0,0,0,.18);transition:background .25s,border-color .25s,transform .25s}
.moove-footer .back-to-top:hover{background:#e60012;border-color:#e60012;transform:translateY(-4px)}
.moove-footer .back-to-top svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
@media(prefers-reduced-motion:reduce){.moove-footer .back-to-top{transition:none;transform:none!important}}

/* V33: footer CTA MOOVE red instead of pink */
.moove-footer .footer-cta, .moove-footer .footer-cta:visited { color:#E60012; }
.moove-footer .footer-cta:hover, .moove-footer .footer-cta:focus-visible { color:#E60012; }
.moove-footer .footer-cta span, .moove-footer .footer-cta svg { color:inherit; }

/* V34 — freccia Scopri MOOVE: hover coordinato al pulsante Torna su */
.scroll-cue span {
  border-color: rgba(255,255,255,.45);
  background: transparent;
  color: #fff;
  transition: background-color .28s ease, border-color .28s ease, color .28s ease, transform .28s ease;
}
.scroll-cue:hover span, .scroll-cue:focus-visible span {
  background: #e60012;
  border-color: #e60012;
  color: #fff;
  transform: translateY(3px);
}
@media (prefers-reduced-motion: reduce) {
  .scroll-cue span { transition: none; }
}

/* V35 — link utili nel footer, senza alterare layout e animazione */
.moove-footer .footer-links a{display:block;width:max-content;max-width:100%;margin:0 0 12px;color:#fff;text-decoration:none;font-size:12px;font-weight:600;letter-spacing:.08em;transition:color .25s ease}
.moove-footer .footer-links a:hover,.moove-footer .footer-links a:focus-visible{color:#e60012}

/* V36 — social footer: hover nero, senza rosa. */
.moove-footer .footer-social a:hover,
.moove-footer .footer-social a:focus-visible { color:#111111 !important; }
.moove-footer .footer-social a { transition: color .25s ease; }

/* V38 — sottomenu servizi nel menu a tutto schermo */
.menu-services{display:flex;flex-direction:column;align-items:center;width:100%;flex-shrink:0}
.menu-services-trigger{border:0;background:transparent;color:#fff;font:900 clamp(45px,8vw,110px)/1.05 "Archivo Black",sans-serif;letter-spacing:-.065em;cursor:pointer;padding:0;transition:color .22s}
.menu-services-trigger:hover,.menu-services-trigger[aria-expanded="true"]{color:#111}
.menu-services-indicator{display:inline-block;font:500 .28em/1 Inter,sans-serif;vertical-align:middle;transition:transform .25s}
.menu-services-trigger[aria-expanded="true"] .menu-services-indicator{transform:rotate(45deg)}
.menu-services-list{display:flex;flex-direction:column;align-items:center;gap:9px;max-height:0;opacity:0;overflow:hidden;transition:max-height .38s ease,opacity .25s ease,padding .38s ease;padding:0}
.menu-services-list.is-open{max-height:260px;opacity:1;padding:15px 0 10px}
.menu .menu-services-list a{font:700 clamp(17px,2vw,27px)/1.2 Inter,sans-serif;letter-spacing:-.025em;color:#fff;transition:color .2s,transform .2s}
.menu .menu-services-list a:hover{color:#111;transform:translateX(5px)}
.menu:has(.menu-services-list.is-open){gap:5px}
.menu:has(.menu-services-list.is-open)>a,.menu:has(.menu-services-list.is-open) .menu-services-trigger{font-size:clamp(36px,5.2vw,75px)}
@media(max-height:730px){.menu:has(.menu-services-list.is-open){justify-content:flex-start;padding-top:105px;overflow-y:auto;padding-bottom:135px}.menu:has(.menu-services-list.is-open) .menu-social{position:relative;bottom:auto;margin-top:35px}}
@media(prefers-reduced-motion:reduce){.menu-services-list,.menu-services-indicator{transition:none}}

/* V50: five-service navigation */
.menu-services-list a{font-size:clamp(.82rem,1.25vw,1.2rem);line-height:1.35}
.service-name{font-size:clamp(1.55rem,4.1vw,4.9rem);overflow-wrap:anywhere}
.service-photo-link{display:inline-block;margin:2rem 0;color:#e60012;font-weight:800;letter-spacing:.04em;text-decoration:none}.service-photo-link:hover{text-decoration:underline}

/* V58 — torna su nell’angolo alto destro del footer, fuori dalla barra legale */
.moove-footer>.back-to-top{position:absolute;top:25px;right:4.5vw;z-index:3}
@media(max-width:700px){.moove-footer>.back-to-top{top:16px;right:6vw;width:44px;height:44px}}

/* V59 — correzioni esclusivamente mobile. Nessuna variazione al desktop. */
@media (max-width:760px) {
  html,body {width:100%;max-width:100%;overflow-x:clip;}
  body {position:relative;}
  main,main>section,.section,.contact,.moove-footer {max-width:100%;min-width:0;}
  .hero,.about,.services,.work,.approach,.contact {overflow-x:clip;}
  .hero-title,.hero-title .reveal-line {max-width:100%;}
  .hero-bottom {width:100%;}
  .hero-bottom .scroll-cue {align-self:flex-end;display:inline-flex;align-items:center;gap:14px;white-space:nowrap;}
  .hero-bottom .scroll-cue span {margin-left:0;flex:0 0 48px;}
  .mobile-vector-icon {display:inline-block;width:1em;height:1em;vertical-align:-.12em;flex:none;pointer-events:none;}
  .scroll-cue span .mobile-vector-icon {width:23px;height:23px;vertical-align:middle;}
  .ticker {max-width:100%;}
  .ticker-track b {display:inline-flex;align-items:center;justify-content:center;color:#111;vertical-align:middle;}
  .ticker-track b .mobile-vector-icon {width:.78em;height:.78em;stroke:#111;}
  .section-heading,.about h2,.approach h2,.contact h2 {max-width:100%;overflow-wrap:normal;}
  .services .section-heading {font-size:clamp(43px,11vw,76px);}
  .service {display:grid;grid-template-columns:minmax(0,1fr) 44px;column-gap:14px;row-gap:14px;align-items:start;min-width:0;}
  .service-name {grid-column:1;grid-row:1;min-width:0;overflow-wrap:normal;word-break:normal;font-size:clamp(24px,6vw,39px);line-height:1.12;}
  .service-arrow {grid-column:2;grid-row:1;display:flex;align-items:center;justify-content:center;font-size:28px;min-width:44px;min-height:44px;text-align:center;}
  .service-arrow .mobile-vector-icon {width:26px;height:26px;}
  .service-detail {grid-column:1 / -1;grid-row:2;max-width:100%;font-size:12px;line-height:1.65;overflow-wrap:break-word;}
  .work-intro,.work-intro p,.project-slider-head,.project-caption {min-width:0;max-width:100%;}
  .work .project-slider {max-width:100%;}
  .project-slider-head .mobile-vector-icon,.project-caption .mobile-vector-icon {width:1em;height:1em;}
  .project-slider-controls button {display:inline-flex;align-items:center;justify-content:center;}
  .project-slider-controls button .mobile-vector-icon {width:20px;height:20px;}
  .project-caption {gap:10px;align-items:start;}
  .project-caption>a {display:inline-flex;align-items:center;gap:5px;text-align:right;}
  .portfolio-all-link .mobile-vector-icon {width:.9em;height:.9em;}
  .text-link .mobile-vector-icon,.contact-button .mobile-vector-icon {width:1.05em;height:1.05em;}
  .contact-button span {display:flex;align-items:center;justify-content:center;}
  .moove-footer .footer-links a,.moove-footer .footer-social a {display:flex;align-items:center;gap:5px;}
  .moove-footer .footer-links .mobile-vector-icon,.moove-footer .footer-social .mobile-vector-icon {width:12px;height:12px;}
}
