/* Revisione istituzionale: barra contatti, intestazione ampia e fascia introduttiva. */
.brand strong{white-space:normal}.service-grid h3{word-spacing:.08em;line-height:1.4}.service-grid article{transition:transform .25s,box-shadow .25s,opacity .5s}.service-grid article:hover{transform:translateY(-4px);box-shadow:0 12px 28px #26342112}.biomechanics{grid-column:1/-1}.biomechanics h3{font-size:27px}.biomechanics>p{max-width:900px}.client-trust{padding:32px 8%;border-top:1px solid #dce0da;background:#edf2e8;transition:opacity .55s,transform .55s}.client-trust>span{color:#527234;font-size:12px;letter-spacing:1.8px}.client-trust p{font-size:23px;line-height:1.45;margin:10px 0 0;max-width:950px}.map-section{padding:55px 8% 65px;background:white}.map-heading{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:28px}.map-heading h2{margin-bottom:14px}.map-heading p{margin:0;color:#636a66}.map-section iframe{width:100%;height:380px;display:block;border:1px solid #dce0da;background:#edf2e8}.section-heading,.consulting-row,.map-heading{transition:opacity .55s,transform .55s;transition-delay:var(--reveal-delay,0ms)}.reveal-pending{opacity:0;transform:translateY(20px)}.button,nav a,summary{transition:background .2s,color .2s,transform .2s}.button:active{transform:scale(.97)}dialog[open]{animation:dialog-in .2s ease-out}nav.open{animation:dialog-in .2s ease-out}@keyframes dialog-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:700px){.client-trust{padding:28px 6%}.client-trust p{font-size:20px}.map-section{padding:40px 6%}.map-heading{display:block}.map-heading .button{margin-top:22px}.map-section iframe{height:300px}.brand{max-width:72%}.brand strong{font-size:19px!important}.brand small{font-size:8px!important;letter-spacing:.6px!important}.biomechanics{grid-column:auto}}@media(prefers-reduced-motion:reduce){.reveal-pending{opacity:1;transform:none}dialog[open],nav.open{animation:none}.service-grid article:hover,.button:active{transform:none}}
.utility-bar{background:#252a28;color:#fff;min-height:46px;padding:12px 8%;display:flex;justify-content:space-between;gap:24px;font-size:12px;letter-spacing:.65px}.utility-bar>div{display:flex;gap:28px}.utility-bar a:hover{color:var(--green)}header{height:126px;padding:0 8%;position:relative}.brand strong{font-size:28px;letter-spacing:.2px}.brand small{font-size:10px;letter-spacing:1px}nav{gap:22px;font-size:12px;text-transform:uppercase}.nav-contact{background:var(--green);border:0;padding:14px 20px}.hero{padding:0 8%;background:linear-gradient(105deg,#232c28 0%,#45564b 58%,#a8b4a3 100%);min-height:395px;display:flex;align-items:center}.hero-inner{padding:62px 0;max-width:970px}.hero-kicker{font-size:14px;letter-spacing:2px;margin:0 0 18px;color:#e4e9e1}h1{font-size:clamp(34px,4vw,56px);line-height:1.18;letter-spacing:-1px}.hero-copy{font-size:18px;color:#fff;line-height:1.7;margin:25px 0 30px}.button{text-transform:none;font-weight:400;border-radius:0;padding:13px 25px;font-size:15px}.hero .outline{border-color:#c0ccc0}.section{padding:70px 8%}.studio{display:block;max-width:1300px;margin:auto}.studio>.section-label{display:none}.studio h2{font-size:34px;letter-spacing:-.8px;margin-bottom:27px}.two-columns{display:block;max-width:1000px}.two-columns p{font-size:17px;color:#424945;margin-bottom:22px;line-height:1.8}.section-heading h2,h2{font-size:36px;letter-spacing:-.8px;line-height:1.22}.section-label{font-size:12px;color:#527234;letter-spacing:1.8px;margin-bottom:16px}.services{background:#f2f4f1}.services .section-heading{display:block;text-align:center}.services .section-heading>p{margin-top:20px}.service-grid{gap:24px;border:0}.service-grid article{background:white;border:1px solid #e0e5dd;border-top:4px solid #7da549;padding:28px}.card-number{margin-bottom:24px}.service-grid h3{font-size:23px}.service-grid h3 br{display:none}.reconstruction{padding:70px 8%}.reconstruction h2{font-size:40px}.reconstruction .section-heading>p{font-size:16px}.consulting{grid-template-columns:1fr 3fr;gap:5%}.consulting h2{font-size:35px}.contacts{background:#eef1ea;padding:65px 8%;border-top:5px solid #8db650}.contacts h2{font-size:42px}.contact-grid{gap:12%}.contacts .dark{background:#61832f}.contacts em{color:var(--deep)}footer{background:#252a28;color:#d0d8cf;padding:30px 8%;font-size:12px}.office-hours{border-color:#ccd6c3}.brand img{width:240px;max-height:105px}@media(max-width:1050px){header{height:110px;padding:0 6%}nav{top:110px;font-size:14px}.hero{padding-left:6%;padding-right:6%}.utility-bar{padding-left:6%;padding-right:6%}.section,.reconstruction,.contacts{padding-left:6%;padding-right:6%}}@media(max-width:700px){.utility-bar{font-size:10px;gap:10px;padding-top:10px;padding-bottom:10px}.utility-bar>span{max-width:160px}.utility-bar>div{gap:12px;align-items:center}.utility-bar>div a:first-child{display:none}header{height:95px}.brand strong{font-size:22px}.brand small{font-size:8px}nav{top:95px}.hero{min-height:380px}.hero-inner{padding:45px 0}.hero-kicker{font-size:11px}h1{font-size:36px}.hero-copy{font-size:16px}.hero-copy br{display:none}.studio h2,.section-heading h2,h2{font-size:29px}.section,.reconstruction,.contacts{padding-top:45px;padding-bottom:45px}.two-columns p{font-size:16px}.consulting{display:block}.consulting h2{font-size:29px}.contacts h2{font-size:36px}.service-grid{gap:18px}.reconstruction h2{font-size:33px}.brand img{max-width:210px;max-height:80px}}
/* Logo originale e filigrana decorativa. */
:root{--green:#9fc536}
.brand{display:flex;align-items:center;flex-shrink:0}
.brand img{display:block;width:174px;height:auto;max-height:113px;object-fit:contain}
.hero{position:relative;isolation:isolate}
.hero::before{content:'';position:absolute;inset:0;background:url('assets/logo-studio-andrea-rizzo.png') no-repeat right 3% center;background-size:min(56vw,740px) auto;mix-blend-mode:multiply;opacity:.24;pointer-events:none;z-index:-1}
.hero-inner{position:relative;z-index:1}
@media(max-width:1050px){.brand img{width:148px;max-height:96px}}
@media(max-width:700px){.brand img{width:126px;max-height:82px}.hero::before{background-size:490px auto;background-position:right -150px center;opacity:.12}}


.utility-bar{justify-content:flex-end}
/* Movimento delicato della filigrana, indipendente dal testo. */
.hero::before{transform-origin:78% 50%;animation:logo-drift 16s ease-in-out infinite;translate:var(--logo-x,0px) var(--logo-y,0px);transition:translate 1.2s ease-out}
@keyframes logo-drift{0%,100%{transform:translateY(5px) scale(1)}50%{transform:translateY(-9px) scale(1.035)}}
.hero.logo-motion-paused::before{animation-play-state:paused}
.hero-motion-toggle{position:absolute;bottom:12px;right:3%;z-index:2;border:0;border-bottom:1px solid #ffffff50;background:transparent;color:#fff;font-size:12px;line-height:1.5;padding:5px 2px;opacity:.8}
.hero-motion-toggle:hover,.hero-motion-toggle:focus-visible{opacity:1}
@media(prefers-reduced-motion:reduce){.hero::before{animation:none;translate:none;transition:none}.hero-motion-toggle{display:none}}
/* Video perizie e pagina guida. */
.service-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.service-grid article{grid-column:span 2}.service-grid .biomechanics,.service-grid .video-service{grid-column:span 3}
.self-guide-callout{padding:50px 8%;display:flex;align-items:center;justify-content:space-between;gap:40px;background:#252e28;color:#fff}.self-guide-callout .section-label{color:#b7d884}.self-guide-callout h2{margin-bottom:18px}.self-guide-callout p{max-width:650px;color:#d0d8ce;margin:0}.self-guide-callout .button{flex-shrink:0}
.tutorial-intro{padding:50px 8%;background:#edf2e8}.tutorial-intro>.text-link{display:inline-block;margin-bottom:30px}.tutorial-intro h1{margin-bottom:25px}.tutorial-intro>p{max-width:800px;font-size:18px}.tutorial-note{font-size:14px!important;color:#636a66}.tutorial-content{max-width:1150px;margin:auto;padding:55px 6%}.tutorial-content h2{margin-bottom:15px}.tutorial-video{width:100%;height:auto;aspect-ratio:16/9;display:block;background:#222725;margin-top:25px}.steps-title{margin-top:60px!important}.tutorial-steps{list-style:none;counter-reset:step;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:24px}.tutorial-steps li{counter-increment:step;padding:25px;border:1px solid #dce0da;border-top:3px solid #9fc536}.tutorial-steps li::before{content:counter(step,decimal-leading-zero);display:block;color:#527234;font-size:14px;margin-bottom:18px}.tutorial-steps h3{font-size:22px;line-height:1.3}.tutorial-steps p{margin:0;color:#636a66}.tutorial-send{padding:32px;background:#edf2e8;margin:40px 0;display:flex;gap:25px;align-items:center;justify-content:space-between}.tutorial-send h2{font-size:28px}.tutorial-send p{margin:0}.tutorial-send .button{flex-shrink:0}
@media(max-width:1050px){.self-guide-callout{align-items:flex-start;flex-direction:column;gap:25px}}
@media(max-width:700px){.service-grid{grid-template-columns:1fr}.service-grid article,.service-grid .biomechanics,.service-grid .video-service{grid-column:auto}.self-guide-callout{padding:40px 6%}.self-guide-callout .button{width:100%;text-align:left}.tutorial-intro{padding:35px 6%}.tutorial-steps{grid-template-columns:1fr}.tutorial-send{display:block;padding:24px}.tutorial-send .button{margin-top:22px}.tutorial-content{padding-top:35px}}

.self-guide-callout .remote-followup{margin-top:18px}
/* Fotografie originali e lieve parallasse. */
.hero{background:#202923;min-height:470px}
.hero::after{content:'';position:absolute;inset:-35px 0;background:linear-gradient(90deg,#142019ed 0%,#1b2821c9 40%,#1c282156 100%),url('assets/motore.png') center/cover;transform:translateY(var(--scene-y,0px));pointer-events:none;z-index:-2}
.hero::before{mix-blend-mode:screen;opacity:.12;filter:invert(1) grayscale(1)}
.crash-banner{position:relative;isolation:isolate;overflow:hidden;min-height:430px;padding:48px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:20px;margin-bottom:38px;background:#253129}
.crash-banner::before{content:'';position:absolute;inset:-35px 0;z-index:-1;background:linear-gradient(90deg,#101d16ed 0%,#17221ab5 40%,#17221a22 100%),url('assets/ricostruzione-incidente.png') center/cover;transform:translateY(var(--scene-y,0px));pointer-events:none}
.reconstruction .crash-banner>p{color:#fff;margin:0;max-width:530px}.crash-banner h2{font-size:46px}.scene-caption{position:absolute;right:16px;bottom:12px;font-size:12px;color:#e4e9e1;background:#17221a99;padding:3px 8px}
.tutorial-intro{position:relative;isolation:isolate;overflow:hidden;background:#202923;color:#fff}
.tutorial-intro::before{content:'';position:absolute;inset:-35px 0;z-index:-1;background:linear-gradient(90deg,#142019f2,#142019cd 55%,#14201975),url('assets/motore.png') center/cover;transform:translateY(var(--scene-y,0px));pointer-events:none}
.tutorial-intro .section-label{color:#b8db7d}.tutorial-intro .tutorial-note{color:#d7e0d8}
@media(max-width:700px){.hero{min-height:430px}.hero::after{background-position:center,right center}.hero::before{opacity:.08}.crash-banner{min-height:440px;padding:28px 22px}.crash-banner h2{font-size:35px}.crash-banner::before{background-position:center,62% center}.scene-caption{font-size:11px;right:10px}.tutorial-intro::before{background-position:center,right center}}
@media(prefers-reduced-motion:reduce){.hero::after,.crash-banner::before,.tutorial-intro::before{transform:none}}

/* Sequenza fotografica leggera dietro al titolo. */
.hero{background:linear-gradient(105deg,#26332c,#647562)}.hero::before,.hero::after{display:none}.hero-slides{position:absolute;inset:-30px 0;z-index:-1;transform:translateY(var(--scene-y,0px));pointer-events:none}.hero-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 2.2s ease;animation:scene-drift 18s ease-in-out infinite alternate}.hero-slide.is-active{opacity:.43}.slide-logo{background-image:url('assets/logo-studio-andrea-rizzo.png');background-size:min(65vw,850px) auto;background-position:right center;background-repeat:no-repeat;mix-blend-mode:multiply}.hero-slide.slide-logo.is-active{opacity:.27}.slide-crash{background-image:linear-gradient(90deg,#142019e8,#14201950),url('assets/ricostruzione-incidente.png')}.slide-engine{background-image:linear-gradient(90deg,#142019e8,#14201950),url('assets/motore.png')}.slide-assessor{background-image:linear-gradient(90deg,#142019e8,#14201950),url('assets/perito.png')}.slide-survey{background-image:linear-gradient(90deg,#142019e8,#14201950),url('assets/rilievo.png')}@keyframes scene-drift{from{transform:scale(1.02) translateX(-4px)}to{transform:scale(1.07) translateX(5px)}}.logo-motion-paused .hero-slide{animation-play-state:paused}.digital-survey{background:#f1f4ef}.digital-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.digital-grid article{border-top:3px solid #9fc536;padding-top:24px}.digital-grid p{color:#636a66}.digital-grid h3{font-size:24px;line-height:1.3}@media(max-width:700px){.slide-logo{background-size:470px auto;background-position:right -110px center}.digital-grid{grid-template-columns:1fr}.hero-slide.is-active{opacity:.32}}@media(prefers-reduced-motion:reduce){.hero-slides{transform:none}.hero-slide{animation:none;transition:none}}

/* Logo centrato nella sequenza di sfondi. */
.hero-slide.slide-logo{background-position:center center}
@media(max-width:700px){.hero-slide.slide-logo{background-position:center center;background-size:min(90vw,470px) auto}}

/* Il logo entra leggermente più grande e si assesta entro la fascia. */
.hero-slide.slide-logo{background-size:auto 76%;background-position:center;animation:none;transform:scale(1.055);transition:opacity 2.2s ease,transform 4.5s cubic-bezier(.2,.65,.3,1);mix-blend-mode:multiply}
.hero-slide.slide-logo.is-active{opacity:.38;transform:scale(.92);animation:logo-settle 4.5s cubic-bezier(.2,.65,.3,1) both}
@keyframes logo-settle{from{transform:scale(1.055)}to{transform:scale(.92)}}
.hero.logo-motion-paused .hero-slide.slide-logo{animation-play-state:paused}
@media(max-width:700px){.hero-slide.slide-logo{background-size:86% auto}.hero-slide.slide-logo.is-active{opacity:.3}}
@media(prefers-reduced-motion:reduce){.hero-slide.slide-logo,.hero-slide.slide-logo.is-active{animation:none;transition:none;transform:scale(.92)}}

.hero-slides{mix-blend-mode:multiply}.hero-slide.slide-logo{mix-blend-mode:normal}.hero-slide.slide-logo.is-active{opacity:.3}

/* Menu principale: carattere più deciso e spaziatura ariosa. */
#nav{font-family:'Bahnschrift','Segoe UI',Arial,sans-serif;font-size:13px;font-weight:700;letter-spacing:.065em;gap:21px}
#nav a{line-height:1.4}
@media(max-width:1150px) and (min-width:1051px){#nav{font-size:12px;gap:15px;letter-spacing:.035em}}
@media(max-width:1050px){#nav{font-size:15px;letter-spacing:.07em}}

/* Percorso professionale e contatti diretti */
.professional-profile{margin-top:32px;padding-top:28px;border-top:1px solid #d8ded8}.professional-profile h3{font-size:clamp(22px,2.4vw,30px);line-height:1.25;margin:14px 0}.professional-profile p{max-width:850px;line-height:1.8}.professional-register{padding:16px 20px;background:#f0f3ec;border-left:3px solid #8cbd4f}.contact-direct{display:flex;flex-direction:column;gap:12px;margin:24px 0}.contact-direct a{color:inherit;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}

/* Icone dei servizi: Lucide, licenza in assets/icons */
.service-icon{display:flex;align-items:center;justify-content:center;width:62px;height:62px;margin-bottom:24px;background:#eff4e8;color:#4a6e28;border-radius:14px;transition:background .25s,color .25s,transform .25s}.service-icon svg{width:33px;height:33px;stroke-width:1.7}.service-grid article:hover .service-icon{background:#e2edcf;color:#293c1b;transform:translateY(-3px)}@media(prefers-reduced-motion:reduce){.service-icon{transition:none}.service-grid article:hover .service-icon{transform:none}}

.digital-workflow{margin:28px 0}.messaging-only{display:block;margin-top:5px;font-size:14px;color:#527234}.contact-direct a{line-height:1.6}

.consulting-badge{display:flex;flex-direction:column;align-items:center;gap:9px}.consulting-badge .service-icon{width:54px;height:54px;margin:0;border-radius:12px}.consulting-badge .service-icon svg{width:29px;height:29px}.consulting-row .consulting-badge b{font-size:18px;font-weight:700;letter-spacing:.05em}.consulting-row:hover .service-icon{background:#e2edcf;color:#293c1b}
