/* Three independent full-viewport rooms; only the first intro photo changes reveal. */
.motion-ready #filosofia>.intro-visual.reveal-photo{clip-path:inset(0 100% 0 0);opacity:.15;transform:translateX(-70px);transition:clip-path 1.5s cubic-bezier(.2,.7,.2,1),transform 1.6s cubic-bezier(.2,.7,.2,1),opacity 1.2s}
.motion-ready #filosofia>.intro-visual.reveal-photo.in-view{clip-path:inset(0);opacity:1;transform:translateX(0)}
#filosofia .discover-spaces{margin-top:30px;color:#f2eee5;border-bottom:1px solid #c6b797}
.room-scenes{background:#0d100f;color:#fff;position:relative;scroll-margin-top:0}
.room-scene{height:280svh;position:relative;margin:0;padding:0}
.room-scene-frame{position:sticky;top:0;width:100%;height:100svh;overflow:hidden;isolation:isolate}
.room-scene-frame>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.68)}
.room-scene-frame:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#0005);z-index:1;pointer-events:none}
.room-scene-title,.motion-ready .room-scene-title{position:absolute;z-index:2;left:0;bottom:30px;width:max-content;max-width:none;white-space:nowrap;text-align:left;font:400 clamp(84px,12vw,200px)/1.05 var(--display-font);letter-spacing:-.035em;margin:0;transform:translateX(var(--room-title-x,0));will-change:transform}
/* The action sits alongside the copy, without adding a row underneath. */
.service-card>div{padding-right:48px}
.service-card>div>h3{max-width:none;margin-bottom:0}
.service-card>div>p{max-width:none}
.service-card>div>a,.service-card:hover>div>a,.service-card:focus-within>div>a,.service-card.expanded>div>a{position:absolute;right:0;bottom:2px;width:36px;height:36px;max-height:36px;margin:0;border-color:transparent;border-radius:0;font-size:30px;line-height:1;transform:translateX(-8px);transition:opacity .35s,transform .35s;}
.service-card:hover>div>a,.service-card:focus-within>div>a,.service-card.expanded>div>a{transform:translateX(0)}
.service-card:hover p,.service-card:focus-within p,.service-card.expanded p{margin:15px 0 0}
@media(min-width:701px){
 header .navcta,.gallery-heading .gallery-open,.formula-detail>a,#filosofia .discover-spaces,#progetta .story-actions #continue{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;min-height:48px;font:300 16px/1.3 var(--body-font);letter-spacing:1px;text-transform:uppercase;padding:10px 0;min-width:230px;width:max-content;max-width:100%;box-sizing:border-box}
 header .navcta span,.gallery-heading .gallery-open span,.formula-detail>a span,#filosofia .discover-spaces span,#progetta .story-actions #continue span{font-size:22px;line-height:1}
 .formula-detail>a{margin-top:25px}
}
@media(max-width:700px){
 .room-scene{height:260svh}.room-scene-title,.motion-ready .room-scene-title{font-size:19vw;bottom:28px}
 #filosofia .discover-spaces{display:inline-flex;align-items:center;gap:30px;font-size:14px;letter-spacing:1px;min-height:44px;padding:10px 0}
 .service-card>div{padding-right:42px}.service-card>div>a{right:0}
}
@media(prefers-reduced-motion:reduce){
 .motion-ready #filosofia>.intro-visual.reveal-photo{clip-path:none;opacity:1;transform:none;transition:none}
 .room-scene{height:100svh}.room-scene-frame{position:relative}
 .room-scene-title,.motion-ready .room-scene-title{left:6%;right:6%;width:auto;max-width:88%;white-space:normal;font-size:clamp(42px,7vw,110px);transform:none;will-change:auto}
 html{scroll-behavior:auto}
}
