/* Shared Vacuum-inspired visual system for Made in Italy Lab interior pages. */
:root{--paper:#efeee9;--ink:#101111;--rule:rgba(16,17,17,.2);--acid:#d8ff62;--orange:#ff5b3f;--muted:#696d66;--display:'Space Grotesk',Arial,sans-serif}
html{background:var(--paper);scroll-padding-top:90px}body{background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}::selection{background:var(--acid);color:var(--ink)}
.header{position:sticky;top:0;z-index:40;background:var(--ink);color:#fafaf7;margin:0;padding:16px 4%;border:0;border-bottom:1px solid rgba(255,255,255,.15);box-shadow:0 4px 22px rgba(0,0,0,.12)}.header .logo{width:clamp(155px,16vw,210px)}.nav{gap:clamp(16px,2.6vw,40px);font-size:14px;letter-spacing:.12em;text-transform:uppercase}.nav a{color:rgba(250,250,247,.78);transition:color .2s,opacity .2s}.nav a:hover,.nav a[aria-current=page]{color:var(--acid);text-decoration:none}.menu-toggle{font-family:var(--display);font-weight:300;color:#fafaf7}
.dark,.page-intro.art-hero{background:var(--ink)!important;color:#fafaf7!important}.page-intro.art-hero{position:relative;isolation:isolate}.page-intro.art-hero:after{content:"";position:absolute;z-index:-1;width:min(53vw,760px);aspect-ratio:1;border:1px solid rgba(216,255,98,.24);border-radius:50%;right:-17vw;top:-24vw;box-shadow:0 0 0 4vw rgba(216,255,98,.025),0 0 0 9vw rgba(216,255,98,.025);animation:site-orbit 32s linear infinite;pointer-events:none}@keyframes site-orbit{to{transform:rotate(360deg)}}
.art-hero .label,.art-hero .eyebrow,.dark .label{color:var(--acid)}.art-hero h1,.page-intro h1,.prose h2,.closing h2,.contact h2,.project-info h3,.section-top h2{font-family:var(--display);font-weight:300;letter-spacing:-.065em}.art-hero h1 em,.page-intro h1 em,.prose h2 em,.closing h2 em{font-family:var(--display);font-style:italic}.art-hero .lead,.page-intro .lead{color:rgba(250,250,247,.88)}
.art-media,.editorial-photo,.project-media figure{border-radius:0;overflow:hidden}.art-media img,.editorial-photo img,.project-media img{transition:transform .8s cubic-bezier(.2,.75,.2,1)}@media(hover:hover) and (pointer:fine){.art-media:hover img,.editorial-photo:hover img,.project-media figure:hover img{transform:scale(1.025)}}.label{color:#73776f}.chapter,.project-info,.contact-layout,.section-top,.related{border-color:var(--rule)}.rule{border-color:var(--rule)}
.cta{border:0;border-radius:999px;background:var(--acid);color:var(--ink);font-family:var(--display);font-weight:300;min-height:54px;padding:16px 24px;transition:transform .2s,background .2s,color .2s}.cta:hover{background:var(--orange);color:#fff;transform:translateY(-2px)}.dark .cta{background:var(--acid);color:var(--ink);border:0}.dark .cta:hover{background:var(--orange);color:#fff}.cta.secondary,.dark .cta.secondary{background:transparent;color:inherit;border:1px solid currentColor}.cta.secondary:hover,.dark .cta.secondary:hover{background:var(--acid);border-color:var(--acid);color:var(--ink)}.text-link,.outline-link{transition:color .2s,border-color .2s}.text-link:hover,.outline-link:hover{color:#687d1f;border-color:var(--acid)}
.closing{background:var(--acid);color:var(--ink)}.closing>.label{color:#33382b}.closing .cta{background:var(--ink);color:#fff}.closing .cta:hover{background:var(--orange)}
.art-services,.art-method,.art-lab,.art-contact,.art-strategy,.art-brand,.art-digital,.art-innovation,.art-production,.art-culture,.art-sprint,.art-projects,.art-ce{background:var(--ink)!important;color:#fafaf7!important}.art-process span,.art-index,.art-ce-sign{border-color:rgba(250,250,247,.25)}.art-compass{border-color:rgba(216,255,98,.5);background:linear-gradient(transparent 49.9%,rgba(216,255,98,.35) 50%,transparent 50.2%),linear-gradient(90deg,transparent 49.9%,rgba(216,255,98,.35) 50%,transparent 50.2%)}.art-compass i{border-color:rgba(216,255,98,.35)}.art-compass span,.art-conversation>span,.art-index{color:var(--acid)}.art-contact .art-conversation{border-color:rgba(216,255,98,.65)}.art-contact .art-conversation:hover{background:var(--acid);color:var(--ink)}
.footer{margin:0;background:var(--ink);color:#fafaf7;border:0;padding:48px 4% 30px}.footer .logo{width:clamp(190px,20vw,255px)}.footer-links{gap:16px 26px}.footer-links a,.footer p{color:rgba(250,250,247,.72)}.footer-links a:hover{color:var(--acid)}.footer-group{color:#fff;font-weight:700}
.contact-layout input,.contact-layout textarea{background:#fafaf7;border-color:rgba(16,17,17,.35)}.contact-layout input:focus,.contact-layout textarea:focus{outline-color:#778d20}.external-work article,.services summary,.service-row,.project-info{border-color:rgba(16,17,17,.24)}.film-hero{background:var(--ink)}.film-toolbar{color:#fff}
@media(max-width:800px){html{scroll-padding-top:75px}.header{position:relative;top:auto;padding:13px 5%;min-height:77px}.header.menu-is-open{position:fixed;inset:0 0 auto;z-index:1000}.header .nav.open{background:#000;color:#fff;padding-top:105px}.header .nav.open a{font-family:var(--display);font-weight:300;color:#fff;border-color:rgba(255,255,255,.26);letter-spacing:-.055em;text-transform:none}.header .nav.open a[aria-current=page]{color:var(--acid)}.menu-toggle{font-size:12px;letter-spacing:.1em}.page-intro.art-hero:after{width:92vw;right:-38vw;top:-30vw}.footer{padding:38px 5% 26px}.footer .logo{width:200px}.footer-links{justify-content:flex-start}.cta,.dark .cta,.cta.secondary,.dark .cta.secondary{width:auto}.contact-layout .cta,.closing .cta{width:100%}}
@media(prefers-reduced-motion:reduce){.page-intro.art-hero:after,.art-media img,.editorial-photo img,.project-media img{animation:none;transition:none}}

/* Accenti scuri sulle superfici chiare per mantenere il contrasto. */
.chapter:not(.dark) > .label,.closing > .label,.contact-layout > .label,.intro .eyebrow,.contact-cta .eyebrow{color:#000!important}

/* Desktop type scale and black text on light backgrounds */
@media(min-width:801px){
 .nav{font-size:14px}
 .eyebrow,.label,.caption{font-size:13px}
 .hero-note,.tags,.method span,.optional{font-size:14px}
 .services summary .n,.service-number{font-size:13px}
 .prose p,.services details p,.project-info p,.external-work p,.sprint-steps p,.method p,.steps-mini p,.contact-layout aside p{font-size:18px}
 .project-info p,.external-work p,.sprint-steps p{line-height:1.6}
 .footer p,.footer a,.footer-links a{font-size:13px}
}
.chapter:not(.dark) .label,.page-intro:not(.dark) .label,.archive-intro .label,.contact-layout .label,.closing .label,.closing p:not(.label),.hero:not(.dark) .eyebrow,.project-info .tags,.caption,.optional,.form-note,.optional-fields label,.optional-fields summary{color:#000}
.chapter:not(.dark) .text-link:hover,.closing .text-link:hover,.contact-layout .text-link:hover{color:#000}

/* Servizi storici e area di stampa 3D */
.services-legacy .services-intro{max-width:880px;font-size:clamp(19px,2.1vw,27px);line-height:1.45;margin:24px 0 70px;color:#000}
.legacy-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px}
.legacy-service-grid article{border-top:1px solid var(--rule);padding-top:20px}
.legacy-service-grid .service-number{color:#000;font-size:13px;letter-spacing:.12em}
.legacy-service-grid h3,.print-lab h3{font-family:var(--display);font-weight:300;letter-spacing:-.045em;font-size:clamp(27px,3vw,40px);line-height:1.02;margin:20px 0}
.legacy-service-grid p,.legacy-service-grid li,.print-lab p,.print-lab li{color:#000;font-size:16px;line-height:1.55}
.legacy-service-grid ul,.print-lab ul{padding-left:18px;margin:20px 0 0}
.legacy-service-grid li,.print-lab li{padding:3px 0}
.print-lab{background:#efeee9;color:#000;padding-top:clamp(60px,10vw,130px);padding-bottom:clamp(60px,10vw,130px)}
.print-lab .label,.print-lab h2,.print-lab h3,.print-lab p,.print-lab li{color:#000}
.print-lab-head{display:grid;grid-template-columns:1fr .82fr;gap:8vw;align-items:center}
.print-lab-head h2{font-family:var(--display);font-size:clamp(58px,9vw,120px);font-weight:300;line-height:.9;letter-spacing:-.075em;margin:25px 0}
.print-lab-head h2 em{font-style:italic}
.print-lab-head>div>p:last-child{max-width:590px;font-size:clamp(18px,2vw,24px);line-height:1.45}
.print-lab-head figure{margin:0}
.print-lab-head img{width:100%;height:auto;aspect-ratio:1.15;object-fit:cover}
.print-lab-head figcaption{color:#000;font-size:12px;margin-top:10px}
.print-lab-details{display:grid;grid-template-columns:1fr 1fr;gap:8vw;margin-top:70px;padding-top:28px;border-top:1px solid var(--rule)}
.print-lab-details h3{font-size:clamp(28px,3vw,42px);margin-top:0}
.print-lab-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:54px}
.print-lab-tags span{color:#000;border:1px solid rgba(0,0,0,.35);padding:12px 16px;border-radius:99px;font-size:13px}
.service-links .service-row p{color:#000}
@media(max-width:800px){.legacy-service-grid{grid-template-columns:1fr;gap:34px}.services-legacy .services-intro{margin-bottom:46px}.print-lab-head,.print-lab-details{grid-template-columns:1fr;gap:32px}.print-lab-head h2{font-size:clamp(56px,15vw,90px)}.print-lab-details{margin-top:42px}.print-lab-tags{margin-top:34px}}

/* Regola editoriale generale: contrasto netto tra nero e bianco. */
body,body main{color:#000}
body main *{color:#000!important}
body .dark,body .dark *{color:#fff!important}
body .dark .label,body .dark .eyebrow,body .dark .service-number,body .dark .art-index,body .dark .art-conversation>span{color:#d8ff62!important}
body .dark .cta{background:#d8ff62!important;color:#000!important}
body .dark .cta span{color:#000!important}
body .dark .cta:hover{background:#ff5b3f!important;color:#fff!important}
body .dark .cta:hover span{color:#fff!important}
body .dark .cta.secondary{background:transparent!important;color:#fff!important;border-color:#fff!important}
body .dark .cta.secondary:hover{background:#d8ff62!important;color:#000!important;border-color:#d8ff62!important}
body .dark input,body .dark textarea{background:#fff!important;color:#000!important}
body .dark input::placeholder,body .dark textarea::placeholder{color:#000!important}
body .page-intro.art-hero,body .page-intro.art-hero *{color:#fff!important}
body .page-intro.art-hero .label,body .page-intro.art-hero .eyebrow,body .page-intro.art-hero .art-index,body .page-intro.art-hero .art-conversation>span{color:#d8ff62!important}
body .chapter:not(.dark),body .chapter:not(.dark) * ,body .closing,body .closing *,body .related,body .related *,body .project-info,body .project-info *,body .contact-layout,body .contact-layout *,body .external-work,body .external-work *,body .archive-intro,body .archive-intro *,body .art-lab-image,body .art-lab-image *{color:#000!important}
body .closing{background:#d8ff62!important}
body .chapter:not(.dark) .cta,body .closing .cta,body .contact-layout .cta{background:#000!important;color:#fff!important}
body .chapter:not(.dark) .cta:hover,body .closing .cta:hover,body .contact-layout .cta:hover{background:#ff5b3f!important;color:#fff!important}
body .header,body .header *,body .masthead,body .masthead *,body .site-footer,body .site-footer *,body footer,body footer *{color:#fff!important}
body .header .nav a:hover,body .header .nav a[aria-current=page],body .site-footer a:hover{color:#d8ff62!important}
body .site-footer .footer-group,body .site-footer .footer-bottom strong{color:#fff!important;font-weight:700}
body .film-toolbar,body .film-toolbar *{color:#fff!important}
body .film-toolbar button:hover{background:#fff!important;color:#000!important}
body .art-conversation:hover,body .art-conversation:hover *{background:#000!important;color:#fff!important}
body .art-conversation:hover>span{color:#d8ff62!important}
body :focus-visible{outline-color:#d8ff62}
@media(hover:hover) and (pointer:fine){body main .text-link:hover,body main .outline-link:hover{color:#ff5b3f!important;border-color:#ff5b3f!important}}

/* Pagine scure con layout dedicato, non marcate dalla classe .dark. */
body.ce-local-home,body.ce-local-home main,body.ce-local-home main>section{background:#000!important;color:#fff!important}
body.ce-local-home .header,body.ce-local-home .header.menu-is-open,body.ce-local-home .header .nav.open{background:#000!important;color:#fff!important}
body.ce-local-home .header .nav a,body.ce-local-home .header .menu-toggle{color:#fff!important}
body.ce-local-home main *{color:#fff!important}
body.ce-local-home main .cta,body.ce-local-home main .cta span{color:#000!important;background:#d8ff62!important}
body.ce-local-home main .cta:hover,body.ce-local-home main .cta:hover span{color:#fff!important;background:#ff5b3f!important}
body.ce-local-home .label,body.ce-local-home .eyebrow,body.ce-local-home .ce-domain{color:#d8ff62!important}
body .project-next,body .project-next *{color:#fff!important}
body .project-next .button:hover,body .project-next .button:hover span{color:#000!important}
