/* Adattamento tablet e smartphone - Visual Light Service */
:root{--mobile-header:80px;--mobile-dock:82px}
.section-heading>*{min-width:0}.contact>*{min-width:0}.brand{flex-shrink:0}.brand>span:not(.brand-logo){white-space:nowrap}
nav a,.nav-cta,.menu,.button,.photo-close{min-height:44px}nav a{display:inline-flex;align-items:center}.menu{flex-shrink:0}
.floating-contacts{position:fixed;right:24px;bottom:24px;display:flex;flex-direction:column;gap:12px;z-index:50}.floating-contacts .whatsapp-float,.floating-contacts .instagram-float{position:static;flex-shrink:0}.mobile-call{display:none}
.photo-dialog{max-height:calc(100dvh - 32px);max-width:calc(100vw - 32px)}.photo-close{width:44px;height:44px;top:3px;right:5px;display:grid;place-items:center;padding:0}.photo-dialog img{max-height:calc(100dvh - 135px)}html.photo-open{overflow:hidden}
@media(hover:none){.photo-card:hover img{transform:none}}
@media(max-width:1100px){
 .contact{grid-template-columns:minmax(0,1fr);gap:42px}.contact>div,.contact>form{width:100%;max-width:640px;margin-inline:auto}.contact .address{margin-top:28px}
 .form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}form label{font-size:13px;line-height:1.5}input,select,textarea{font-size:16px;line-height:1.45;padding:14px;min-height:49px;min-width:0;max-width:100%}.form-row label{min-width:0}.form-notice{font-size:12px;line-height:1.75}.form-foot{font-size:12px;line-height:1.8}
 .section-heading{align-items:flex-start;flex-direction:column;gap:22px}.section-heading>p{max-width:560px;margin:0;font-size:15px}
 .rental-support{grid-template-columns:minmax(0,1fr);gap:28px}.support-items{gap:24px}.support-items p{font-size:14px}.support-items h4{font-size:15px}.solutions article p,.steps article p{font-size:15px;line-height:1.8}.solutions article a{min-height:44px;display:inline-flex;align-items:center}.steps{gap:25px}
}
@media(max-width:1024px){
 html{scroll-padding-top:104px}header{position:sticky;top:0;height:88px;z-index:60;padding:0 5%;gap:20px}.brand{font-size:18px;gap:11px}.brand-logo{width:56px;height:56px;flex-basis:56px}.nav-cta{display:none}.menu{display:grid;place-items:center;width:48px;height:48px;border:1px solid #ffffff35;background:#17131e;color:white;border-radius:7px;font-size:24px;line-height:1;padding:0;cursor:pointer}
 header nav{display:none;position:absolute;top:100%;left:0;right:0;padding:16px 5%;border-bottom:1px solid #ffffff25;background:#15121ff5;box-shadow:0 18px 25px #0006;gap:10px;max-height:calc(100dvh - 88px);overflow:auto}header nav.open{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}header nav a{font-size:15px;padding:10px 14px;border-radius:5px;justify-content:center}header nav a:hover{background:#b997ff14}
 .section{padding:72px 5%}.hero-content{padding:64px 5% 140px}.hero h1{font-size:clamp(52px,7.4vw,76px);letter-spacing:-.05em;max-width:12em}.hero .intro{font-size:16px;max-width:430px}.actions{flex-wrap:wrap;gap:20px}.actions .text-link{min-height:44px;display:inline-flex;align-items:center;padding-bottom:0}.stage{left:28%}.hero-content{background:linear-gradient(90deg,#090910f5 5%,#090910b5 55%,transparent 90%)}
 .quick-contact{padding:26px 5%;flex-wrap:wrap;gap:20px}.quick-contact-actions{flex-wrap:wrap;gap:18px}.quick-contact-actions>a{display:inline-flex;align-items:center;min-height:44px;font-size:14px}.ticker{gap:13px;padding:24px 5%;font-size:12px}.ticker span{white-space:nowrap}.ticker b{font-size:24px}
 .project-gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:clamp(260px,43vw,360px);gap:18px}.project-gallery .photo-card,.project-gallery .gallery-featured,.project-gallery .gallery-theatre,.project-gallery .photo-card:nth-child(n+3){grid-column:auto;grid-row:auto;height:100%;min-height:0}.project-gallery .photo-caption,.project-gallery .gallery-featured .photo-caption{font-size:17px;left:20px;right:20px;bottom:21px}.project-gallery .gallery-featured img{object-position:center 42%}.project-gallery .gallery-tech img{object-position:center 30%}
 .occasion h2{font-size:clamp(35px,5vw,55px)}.tags span{font-size:13px}.contact h2{font-size:clamp(46px,7vw,68px)}.contact>div>p:not(.eyebrow){font-size:16px}.contact-email{font-size:16px}.contact-phone{font-size:27px}.address p{font-size:15px}.footer-top{gap:24px;flex-wrap:wrap}.footer-top p{font-size:14px}.footer-top>a:last-child{min-height:44px;display:inline-flex;align-items:center}
}
@media(max-width:767px){
 .solutions{grid-template-columns:minmax(0,1fr)}.solutions article,.solutions article+article,.solutions article:nth-child(3){padding:27px 0!important;border-left:0;border-bottom:1px solid var(--line)}.solutions h3{font-size:26px;margin-top:18px}.solutions .number{right:0}.solutions article p{max-width:100%;margin-bottom:5px}.solutions article a{margin-top:5px}.steps{grid-template-columns:1fr;gap:26px}.steps article p{max-width:100%}.support-items{grid-template-columns:1fr}.support-items .support-note{font-size:12px}.rental-support{padding:26px;gap:25px;margin-top:32px}
}
@media(max-width:600px){
 html{scroll-padding-top:96px}header{height:var(--mobile-header);padding-inline:max(20px,env(safe-area-inset-left));gap:14px}.brand{font-size:16px;gap:10px}.brand-logo{width:50px;height:50px;flex-basis:50px}.brand small{font-size:8px;letter-spacing:6px}.menu{width:46px;height:46px}.menu[aria-expanded=true]{font-size:28px}header nav{padding:12px 20px;max-height:calc(100dvh - var(--mobile-header) - var(--mobile-dock));background:#15121f}header nav.open{grid-template-columns:1fr;gap:3px}header nav a{justify-content:flex-start;padding:11px 15px;min-height:48px}
 .hero{min-height:720px;align-items:flex-start}.hero-content{padding:44px 6% 165px;background:linear-gradient(90deg,#090910ef,#090910a8 80%,#09091055)}.hero h1{font-size:clamp(44px,12.4vw,60px);line-height:1.04;letter-spacing:-.05em;margin-bottom:24px;max-width:100%}.hero .eyebrow{font-size:8px;letter-spacing:1.35px;line-height:1.8;margin-bottom:25px}.hero .intro{font-size:15px;line-height:1.8;max-width:100%}.hero .intro br.desktop{display:none}.actions{flex-direction:column;align-items:flex-start;gap:14px;margin-top:25px}.actions .primary{padding:16px 19px;font-size:13px;max-width:100%;min-height:52px}.actions .text-link{font-size:13px;min-height:44px;line-height:1.6}.stage{left:0;opacity:.8}.hero-bottom{left:6%;right:6%;font-size:7px;letter-spacing:1.1px;line-height:1.6;padding-top:18px;bottom:23px}.hero-bottom span:nth-child(2){display:none}.hero-bottom a{min-width:44px;min-height:44px;display:grid;place-items:center}.image-caption{bottom:91px;font-size:6px;letter-spacing:1.6px}
 .ticker{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 18px;padding:23px 6%;font-size:12px;letter-spacing:.5px}.ticker span:last-of-type,.ticker b:last-child{display:block}.ticker b{font-size:24px;line-height:1;text-align:center}.ticker span{white-space:normal}
 .quick-contact{padding:26px 6%;align-items:flex-start;gap:17px}.quick-contact p{font-size:17px;line-height:1.6}.quick-contact-actions{width:100%;display:grid;grid-template-columns:1fr;gap:9px}.quick-contact-actions>a{justify-content:center;min-height:48px;padding:12px 14px;font-size:14px;border:1px solid #ffffff30;border-radius:5px}.quick-contact-actions .whatsapp-link{border-color:#7ccea35c;color:#a9e1bf}
 .section{padding:58px 6%}.section-heading{gap:22px;margin-bottom:30px}.section-heading .eyebrow{margin-bottom:19px}.section-heading>p{font-size:15px;line-height:1.8}.section-heading>p br{display:initial}h2{font-size:clamp(31px,8.8vw,43px);line-height:1.15;letter-spacing:-.045em}.eyebrow{font-size:9px;letter-spacing:1.7px;line-height:1.7}.occasion h2{font-size:clamp(31px,8.4vw,41px)}.tags{gap:9px;margin-top:28px}.tags span{padding:11px 14px;font-size:12px}
 .project-gallery{grid-template-columns:1fr;grid-template-rows:none;grid-auto-rows:auto;gap:19px}.project-gallery .photo-card,.project-gallery .gallery-featured,.project-gallery .gallery-theatre,.project-gallery .photo-card:nth-child(n+3){grid-column:auto;grid-row:auto;height:auto;aspect-ratio:4/5;min-height:0}.project-gallery .gallery-featured{aspect-ratio:16/10}.project-gallery .photo-caption,.project-gallery .gallery-featured .photo-caption{font-size:17px;line-height:1.45;left:19px;right:19px;bottom:20px;gap:15px}.project-gallery .photo-card img{position:absolute;inset:0;width:100%;height:100%}.project-gallery .gallery-tech img{object-position:center 35%}.photo-note{font-size:12px;line-height:1.8;margin-top:22px}.photo-dialog{width:calc(100vw - 20px);max-width:calc(100vw - 20px);max-height:calc(100dvh - 20px);padding:51px 10px 17px;border-radius:8px}.photo-dialog img{max-height:calc(100dvh - 140px)}.photo-dialog p{font-size:13px;line-height:1.6;margin:14px 6px 0}.photo-close{top:3px;right:5px;width:44px;height:44px}
 .contact{gap:35px}.contact h2{font-size:clamp(40px,11.5vw,56px);letter-spacing:-.05em}.contact>div>p:not(.eyebrow){font-size:15px;line-height:1.9}.contact .address{margin-top:25px}.address small{font-size:10px;letter-spacing:1.6px}.contact-phone{font-size:26px;min-height:44px}.contact-email{font-size:15px;line-height:1.8;min-height:44px}.form-row{grid-template-columns:1fr;gap:0}.form-row label{margin-bottom:22px}form label{font-size:13px;margin-bottom:22px}input,select,textarea{font-size:16px;min-height:50px;margin-top:8px;padding:14px}textarea{min-height:130px}.form-notice{padding:14px;font-size:12px;line-height:1.75}.form-foot{font-size:12px;line-height:1.9}form .primary{min-height:54px;font-size:15px}#quote-result{font-size:14px;line-height:1.8;padding:17px}
 .floating-contacts{left:0;right:0;bottom:0;flex-direction:row;align-items:center;gap:10px;padding:12px max(16px,env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom));background:#0e0b15f5;border-top:1px solid #ffffff25;box-shadow:0 -8px 24px #0004;backdrop-filter:blur(12px)}.floating-contacts .mobile-call{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex:1;min-width:0;min-height:48px;padding:10px 12px;background:#c3a5ff;color:#171022;border-radius:6px;font-size:14px;font-weight:700}.floating-contacts .whatsapp-float,.floating-contacts .instagram-float{width:48px;height:48px;border-radius:10px;box-shadow:none}.floating-contacts svg{width:27px;height:27px}
 footer{padding:38px 6% calc(105px + env(safe-area-inset-bottom))}.footer-top{gap:22px;padding-bottom:26px}.footer-top .brand{font-size:15px}.footer-top p{font-size:13px;line-height:1.7;margin:0;order:3;width:100%}.legal{font-size:11px;line-height:1.9;display:block}.legal>span{display:block;margin-top:18px}.draft{font-size:10px;line-height:1.8;margin-top:20px}
}
@media(max-width:360px){header{padding-inline:16px}.brand{font-size:14px;gap:8px}.brand-logo{width:46px;height:46px;flex-basis:46px}.brand small{letter-spacing:5px;font-size:7px}.hero h1{font-size:43px}.hero .eyebrow{font-size:7px;letter-spacing:1.1px}.mobile-call{font-size:13px!important}.floating-contacts{gap:8px;padding-inline:12px}.floating-contacts .whatsapp-float,.floating-contacts .instagram-float{width:45px;height:45px}.contact-email{font-size:14px}}
@media(max-height:500px) and (max-width:1024px){header{position:relative}.photo-dialog{padding-top:45px;max-height:calc(100dvh - 12px)}.photo-dialog img{max-height:calc(100dvh - 110px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.photo-card img{transition:none}}
