/* Scroll-driven scenes: motion follows reading, never captures the wheel. */
.role-stage{position:relative;isolation:isolate;min-width:0;perspective:1400px}
.role-orbit{position:absolute;inset:-55px;border:1px solid #5c94742a;border-radius:50%;transform:rotateX(55deg) rotateZ(calc(var(--story-progress,0)*150deg));box-shadow:0 0 0 35px #6a98780a,0 0 0 75px #6a987808;z-index:-1}
.role-watermark{position:absolute;right:-25px;top:-100px;font-size:220px;font-weight:500;letter-spacing:-18px;line-height:1;color:#6c92721a;z-index:-1;transform:translateY(calc(var(--story-progress,0)*65px))}
.role-showcase .role-story-card{transform:rotateY(calc(10deg - var(--story-progress,0)*20deg)) rotateX(calc(3deg - var(--story-progress,0)*6deg)) translateY(calc(18px - var(--story-progress,0)*36px));box-shadow:0 45px 90px #234f4525;transition:background .6s}
.role-stage[data-role=segreteria] .role-story-card{background:linear-gradient(140deg,#fff,#e2eee8)}
.role-stage[data-role=titolare] .role-story-card{background:linear-gradient(140deg,#fff,#e9ecf2)}
.role-showcase .showcase-halo,.portal-showcase .showcase-halo{transform:translate(calc(var(--story-progress,0)*-130px),calc(var(--story-progress,0)*180px)) scale(calc(.8 + var(--story-progress,0)*.4))}
.showcase.role-showcase,.showcase.portal-showcase{height:300svh;min-height:1600px;padding:0}
.role-showcase .showcase-sticky,.portal-showcase .showcase-sticky{position:sticky;top:94px;height:calc(100svh - 94px);min-height:0;max-height:950px}
.role-showcase .showcase-hint{display:block;line-height:1.7;max-width:300px}
.role-tour-nav button{position:relative;overflow:hidden}
.role-tour-nav button[aria-pressed=true]:after{content:'';position:absolute;bottom:0;left:0;width:100%;height:2px;background:#c8e8bc;transform:scaleX(var(--role-fill,0));transform-origin:left}
.portal-phone{will-change:transform}
.ease-cinema{height:300svh;position:relative;background:#edf1e6;--cinema-progress:0}
.ease-pin{position:sticky;top:94px;height:calc(100svh - 94px);min-height:590px;max-height:1000px;overflow:hidden;isolation:isolate;display:flex;flex-direction:column;justify-content:center;padding:30px 0}
.ease-atmosphere{position:absolute;inset:-30%;z-index:-1;background:radial-gradient(ellipse at 25% 45%,#d1e1cd 0,transparent 50%),radial-gradient(ellipse at 85% 70%,#c7d9d666,transparent 40%);transform:translateY(calc(var(--cinema-progress)*100px)) rotate(calc(var(--cinema-progress)*15deg))}
.ease-cinema-heading{text-align:center;padding:0 22px}.ease-cinema-heading h2{font-size:clamp(34px,4vw,58px);letter-spacing:-2px;line-height:1.08;margin:16px 0}.ease-cinema-heading>p:last-child{font-size:12px;color:#718173}
.ease-deck{position:relative;width:min(1060px,calc(100% - 100px));height:340px;margin:30px auto 18px;perspective:1600px}
.ease-slide{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:40px;border:1px solid #cbd9c6;border-radius:24px;background:#f9fbf4;box-shadow:0 30px 70px #234b3820;padding:34px 44px;transform-origin:50% 100%;will-change:transform,opacity}
.ease-slide-copy>span{font-size:9px;letter-spacing:2px;color:#809378}.ease-slide h3{font-size:clamp(27px,3vw,40px);font-weight:500;line-height:1.08;letter-spacing:-1px;margin:18px 0}.ease-slide-copy>p{font-size:12px;line-height:1.85;color:#73846d;max-width:335px}.ease-slide-copy .button{font-size:11px;margin-top:17px;min-height:42px;padding:10px 16px}
.ease-visual{border-radius:16px;background:#eaf0e3;padding:23px;color:#315a4c;min-width:0}.visual-label{font-size:8px;letter-spacing:1.5px;display:block;color:#71896d}.ease-visual>small{font-size:8px;color:#8a9b7c;display:block;margin-top:17px}.wizard-track{display:flex;align-items:center;margin:17px 0}.wizard-track i{font-style:normal;background:#d5e3cc;border-radius:50%;width:26px;height:26px;display:grid;place-items:center;font-size:10px}.wizard-track i:first-child{background:#3d6b54;color:white}.wizard-track b{height:1px;flex:1;background:#bed1b6}.wizard-visual>strong{font-size:20px;font-weight:500}.wizard-person{display:flex;gap:10px;align-items:center;border-top:1px solid #d3dfca;margin-top:12px;padding-top:12px;font-size:12px}.wizard-person>span{width:30px;height:30px;border-radius:50%;background:white;display:grid;place-items:center;font-size:9px}.wizard-person small{display:block;font-size:8px;margin-top:4px;color:#7c8e71}.wizard-person em{font-size:7px;margin-left:auto;color:#7a9766;font-style:normal}.visual-search{display:flex;gap:10px;align-items:center;padding:15px 12px;background:#fff;border-radius:8px;margin:22px 0 12px;font-size:13px}.visual-search kbd{margin-left:auto;color:#8c9c80}.search-result{display:flex;align-items:center;gap:13px;padding:12px 6px;border-bottom:1px solid #d5e1cc;font-size:13px}.search-result span{font-size:8px;color:#91a082}.search-result b{margin-left:auto;font-weight:400}.help-visual{background:#143e3e;color:#f2f7e9}.help-visual .visual-label{color:#a8c2b3}.help-visual img{margin:20px 0 10px}.help-visual blockquote{font-size:21px;letter-spacing:-.5px;margin:0 0 16px}.help-visual p{font-size:12px;line-height:1.9;color:#a7c2af}.help-visual p strong{font-weight:400;color:#d5e9c8}
.ease-scene-nav{display:flex;justify-content:center;gap:8px}.ease-scene-nav button{border:1px solid #bccdb5;border-radius:30px;padding:12px 20px;font-size:10px;background:transparent;color:#75876c;min-height:44px}.ease-scene-nav button[aria-pressed=true]{color:#fff;background:#315b4d;border-color:#315b4d}.ease-scene-nav span{margin-left:8px}.cinema-meter{height:3px;position:absolute;bottom:0;left:0;right:0;background:#cbdcc5}.cinema-meter i{display:block;height:100%;background:#5c8668;transform:scaleX(var(--cinema-progress));transform-origin:left}
@media(min-width:901px){.data-card{transform:perspective(1800px) rotateX(calc((1 - var(--depth,1))*7deg)) scale(calc(.94 + var(--depth,1)*.06));transform-origin:center bottom}.feature-card:nth-child(3n+2){translate:0 calc(var(--drift,0)*-20px)}.feature-card:nth-child(3n){translate:0 calc(var(--drift,0)*-40px)}}
@media(max-width:900px){.role-showcase .showcase-sticky,.portal-showcase .showcase-sticky,.ease-pin{top:78px;height:calc(100svh - 78px)}.ease-deck{width:calc(100% - 60px)}.ease-slide{gap:22px;padding:28px}.ease-visual{padding:18px}}
@media(max-width:640px){
 .showcase.role-showcase,.showcase.portal-showcase{height:300svh;min-height:0}.role-showcase .showcase-sticky,.portal-showcase .showcase-sticky,.ease-pin{top:74px;height:calc(100svh - 74px);min-height:0;max-height:none}
 .role-showcase .showcase-inner{gap:15px}.role-showcase .story-intro,.role-showcase .showcase-hint{display:none}.role-tour-nav{margin-top:14px}.role-tour-nav button>span{display:none}.role-tour-nav button{min-height:44px}.role-showcase .showcase-copy h2{font-size:30px}.role-story-meta{margin-bottom:12px}.role-story-card>p:not(.eyebrow):not(.story-caption){display:none}.role-showcase .role-story-card{padding:19px;transform:perspective(1000px) rotateY(calc(4deg - var(--story-progress,0)*8deg))}.role-story-card h3{font-size:24px}.role-story-chat p{font-size:12px}.role-story-chat .role-story-question{font-size:11px}.role-story-card>.button{font-size:11px}.role-watermark{font-size:130px;top:-60px;right:0;letter-spacing:-10px}.role-orbit{inset:-20px}.role-story-card .story-caption{font-size:7px;line-height:1.5}.role-story-card .eyebrow{font-size:8px}
 .portal-showcase .story-intro{display:none}.portal-showcase .showcase-inner{gap:12px}.portal-story-description{min-height:100px;margin-top:12px}.portal-showcase .showcase-copy h2{font-size:28px}.portal-phone{transform:perspective(900px) rotateY(calc(-8deg + var(--story-progress,0)*16deg))}
 .ease-deck{width:calc(100% - 34px);height:380px;margin:18px auto 15px}.ease-cinema-heading h2{font-size:30px;margin:10px 0;letter-spacing:-1px}.ease-cinema-heading .eyebrow{font-size:7px}.ease-cinema-heading>p:last-child{font-size:10px}.ease-slide{grid-template-columns:1fr;gap:14px;padding:20px;align-content:start;border-radius:17px}.ease-slide h3{font-size:24px;margin:9px 0}.ease-slide h3 br{display:none}.ease-slide-copy>p{font-size:11px;line-height:1.65}.ease-slide-copy>span{font-size:7px}.ease-visual{padding:15px;min-height:190px}.wizard-track{margin:12px 0}.wizard-person{margin-top:8px;padding-top:8px}.wizard-visual>strong{font-size:16px}.ease-visual>small{font-size:7px;margin-top:9px}.visual-search{margin:13px 0 7px;padding:10px;font-size:11px}.search-result{padding:9px 4px;font-size:11px}.help-visual img{width:30px;height:30px;margin:10px 0}.help-visual blockquote{font-size:18px;margin-bottom:8px}.help-visual p{font-size:11px}.ease-slide-copy .button{margin-top:10px;font-size:10px;min-height:36px}.ease-scene-nav button{padding:10px 15px}.ease-pin{padding:16px 0}
}
@media(max-width:640px) and (max-height:700px){.role-story-meta{padding-bottom:8px;margin-bottom:9px}.role-story-card h3{font-size:21px}.role-story-chat{margin-top:10px;padding:10px}.role-story-chat p{font-size:11px;line-height:1.55}.role-story-card>.button{margin-top:10px}.role-story-card .story-caption{display:none}.portal-phone{height:310px;width:200px}.portal-waiting{display:none}.portal-story-description p{font-size:9px}.portal-story-description{min-height:88px}.ease-deck{height:350px;margin:12px auto}.ease-cinema-heading>p:last-child{display:none}.ease-slide{padding:16px;gap:10px}.ease-visual{min-height:170px;padding:12px}.ease-slide-copy>p{font-size:10px}.ease-slide h3{font-size:22px}.ease-cinema-heading h2{font-size:27px}.wizard-person{padding-top:5px;margin-top:5px}}
@media(prefers-reduced-motion:reduce),(max-height:520px){
 .showcase.role-showcase,.showcase.portal-showcase,.ease-cinema{height:auto;min-height:0;padding:50px 0}.role-showcase .showcase-sticky,.portal-showcase .showcase-sticky,.ease-pin{position:relative;top:0;height:auto;min-height:0;max-height:none;overflow:visible}.role-showcase .role-story-card,.portal-phone,.portal-rings,.data-card,.ease-atmosphere,.role-orbit,.role-watermark{transform:none}.ease-deck{height:auto;display:grid;gap:20px}.ease-slide{position:relative;transform:none!important;opacity:1!important;visibility:visible!important}.ease-scene-nav,.cinema-meter{display:none}.feature-card{translate:none!important}
}
.ease-visual .visual-label{position:static;inset:auto}
/* A clipped stage must not become a secondary scroll container on focus. */
.ease-pin{overflow:clip}
.ease-cinema-heading .eyebrow{justify-content:center}
