/* Scope the reviewed rails to Functionality, preserving scene-page layouts. */
#functionality {
--rails-display:Poppins,"Avenir Next",Avenir,sans-serif;
.functional-objects{display:block}
.object-description{display:none}
.object-media::before,.object-media::after{display:none}
.object-media{border:0;border-radius:9px}
.section-heading{margin-bottom:24px}.functional-row+.functional-row{margin-top:32px}.rail-heading{display:flex;align-items:center;gap:20px;margin-bottom:16px}.rail-heading h3{font:500 18px var(--rails-display);letter-spacing:-.035em;margin:0;white-space:nowrap}.rail-heading:after{content:'';height:1px;background:#d9dbd2;flex:1}.rail-viewport{overflow:hidden;position:relative;touch-action:pan-y;cursor:grab;outline-offset:5px;padding:92px 0;margin:-92px 0;pointer-events:none}.rail-viewport:active{cursor:grabbing}.rail-track{display:flex;gap:20px;width:max-content;will-change:transform;position:relative;pointer-events:auto}.rail-card{flex:none;width:max(var(--rail-min-width,0px),clamp(220px,21vw,270px));margin:0;min-width:0;position:relative;transform-origin:center;--hover-scale:1.38;transition:transform .32s cubic-bezier(.2,.75,.25,1);z-index:1;isolation:isolate}.rail-card .object-media{aspect-ratio:16/9;background:#ddd;border-radius:9px}.rail-card .object-media video{object-fit:contain}.rail-card h3{font:500 18px/1.2 var(--rails-display);letter-spacing:-.035em;margin:12px 0 4px}.rail-card .scene-label{font-size:11px}.rail-card button{cursor:pointer}.rail-card a{color:inherit;text-decoration:none}.rail-card a:hover{text-decoration:underline;text-underline-offset:4px}.rail-viewport:before,.rail-viewport:after{content:'';position:absolute;inset:0 auto 0 0;width:14px;background:linear-gradient(90deg,#f4f4ed99,transparent);z-index:5;pointer-events:none}.rail-viewport:after{left:auto;right:0;transform:rotate(180deg)}.functional-row[data-paused=true] .rail-heading{color:#373e2e}
@media(max-width:650px){.rail-card{width:max(var(--rail-min-width,0px),235px)}.rail-track{gap:16px}.rail-heading h3{font-size:16px}.functional-row+.functional-row{margin-top:27px}.rail-heading{margin-bottom:13px}.section-heading{align-items:end;gap:14px}.section-heading h1{font-size:33px}.rail-card h3{font-size:17px}}
@media(prefers-reduced-motion:reduce){.rail-track{will-change:auto}}

/* Float the complete card above its neighbors without changing track spacing.
   The glass is behind the film, so it never blurs the video itself. */
.functional-row{position:relative}
.rail-card::before{content:'';position:absolute;inset:-12px -14px -12px;border-radius:19px;z-index:-1;pointer-events:none;opacity:0;background:linear-gradient(135deg,#ffffffbd,#f3f4ed8c 55%,#e5ead999);border:1px solid #ffffffe0;box-shadow:0 10px 30px #252c2526,0 0 24px #faffed80,inset 0 1px 0 #ffffff;backdrop-filter:blur(16px) saturate(1.15);-webkit-backdrop-filter:blur(16px) saturate(1.15);transition:opacity .25s ease}
@media(hover:hover) and (pointer:fine){
 .functional-row:has(.rail-card:hover),.functional-row:focus-within{z-index:10}
 .rail-card:hover,.rail-card:focus-within{transform:translateX(var(--hover-shift,0px)) scale(var(--hover-scale));z-index:10}
 .rail-card:hover::before,.rail-card:focus-within::before{opacity:1}
}
@media(prefers-reduced-motion:reduce){.rail-card,.rail-card::before{transition:none}}

}
