.rail-intro{display:flex;justify-content:space-between;align-items:baseline;gap:30px;margin:78px 0 12px;padding:23px 0 0;border-top:1px solid var(--line)}
.rail-intro p{margin:0;color:#c4aa9a;font-size:13px}
.project-carousel{margin:0 0 86px;position:relative}
.carousel-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.carousel-heading h2{font:400 clamp(42px,5vw,78px)/.92 var(--display);letter-spacing:-.02em;margin:12px 0 0}
.carousel-heading .eyebrow{color:#ffb38d;font-size:10px}
.carousel-controls{display:flex;align-items:center;gap:7px;flex-shrink:0}
.carousel-arrow,.carousel-toggle{height:36px;border:1px solid #ffd9c15e;padding:0 13px;font:10px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#f6d2bc;transition:background .25s,border-color .25s,color .25s}
.carousel-arrow{font-size:19px;line-height:1;padding:0 14px}
.carousel-arrow:hover,.carousel-toggle:hover,.carousel-toggle[aria-pressed=true]{background:#ff7e3b1f;border-color:#ffb17f;color:#fff3e5}
.carousel-viewport{position:relative;height:clamp(455px,48vw,625px);overflow:hidden;margin:0 -8px;background:radial-gradient(circle at 50% 45%,#72240942 0,transparent 31%),radial-gradient(circle at 50% 100%,#ff6d2320 0,transparent 57%),#090605;border-top:1px solid #f6c4a422;border-bottom:1px solid #f6c4a422;perspective:1250px;isolation:isolate;cursor:default}
.carousel-viewport:before{content:'';position:absolute;inset:0;z-index:-1;opacity:.22;background:linear-gradient(90deg,transparent 49.8%,#ffc09a44 50%,transparent 50.2%),linear-gradient(0deg,transparent 49.8%,#ffc09a22 50%,transparent 50.2%);background-size:100% 100%,100% 100%;pointer-events:none}
.carousel-glow{position:absolute;left:50%;top:50%;width:min(62vw,720px);height:min(34vw,390px);transform:translate(-50%,-50%);z-index:-1;border-radius:50%;background:#f64c1424;filter:blur(70px);pointer-events:none}
.carousel-track,.carousel-set{position:absolute;inset:0;width:100%;height:100%;transform-style:preserve-3d}
.carousel-set{display:block}
.carousel-card{position:absolute;left:50%;top:50%;width:clamp(205px,23vw,312px);aspect-ratio:3/4;transform-style:preserve-3d;transform:translate3d(calc(-50% + var(--carousel-x,0px)),-50%,var(--carousel-z,-120px)) rotateY(var(--carousel-rot,0deg)) rotateZ(var(--carousel-tilt,0deg)) scale(var(--carousel-scale,.62));opacity:var(--carousel-opacity,0);filter:blur(var(--carousel-blur,5px)) saturate(var(--carousel-saturation,.7));transition:transform .9s cubic-bezier(.18,.78,.22,1),opacity .7s ease,filter .9s ease;will-change:transform,opacity,filter;pointer-events:none}
.carousel-card.is-hovered{filter:blur(0) saturate(1.18) brightness(1.08);z-index:10!important}
.carousel-card button{display:block;width:100%;height:100%;padding:0;text-align:left}
.carousel-card .project-image{height:100%;aspect-ratio:auto;position:relative;overflow:hidden;border:1px solid #f6c4a45c;border-radius:clamp(24px,3vw,42px);background:#20100c;box-shadow:0 20px 45px #02000088,0 0 0 1px #ff7d3730;transition:border-color .35s,box-shadow .35s}
.carousel-card .project-image:before{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,#12050250 0,transparent 35%,transparent 54%,#0a0202e8 100%)}
.carousel-card .project-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .9s,filter .9s;object-position:center}
.carousel-card .project-image:after{z-index:1;opacity:.25}
.carousel-card:hover .project-image,.carousel-card.is-hovered .project-image,.carousel-card:focus-within .project-image{border-color:#ffd6bcba;box-shadow:0 26px 58px #050100bb,0 0 0 1px #ff8c5270}
.carousel-card:hover .project-image img,.carousel-card.is-hovered .project-image img,.carousel-card:focus-within .project-image img{transform:scale(1.055);filter:saturate(1.12)}
.carousel-card .project-loop{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .45s;pointer-events:none}
.carousel-card.has-video-frame .project-loop{opacity:1}
.carousel-card.has-video-frame .project-image img{opacity:0}
.carousel-card .project-id{position:absolute;top:16px;left:18px;z-index:2;font:9px var(--mono);letter-spacing:.1em;color:#ffe0ca;opacity:.85}
.carousel-card .project-play{position:absolute;right:17px;bottom:17px;z-index:2;width:42px;height:42px;border:1px solid #ffe1ce88;border-radius:50%;display:grid;place-items:center;background:#1a07036e;color:#ffe7d6;font-size:16px;transition:transform .35s,background .35s}
.carousel-card.is-center .project-play,.carousel-card:hover .project-play{background:#ff7a3733;transform:scale(1.08)}
.carousel-card .project-caption{position:absolute;left:20px;right:20px;bottom:19px;z-index:2;display:block;padding:0;text-shadow:0 2px 15px #000}
.carousel-card .project-caption h3{font:400 clamp(23px,2.3vw,34px)/1.02 var(--display);margin:0;color:#fff3e5}
.carousel-card .project-caption>span{display:block;max-width:none;margin-top:7px;color:#f0cbbb;font:8px/1.45 var(--mono);letter-spacing:.08em;text-align:left}
.carousel-card:not(.is-center) .project-caption h3{font-size:clamp(17px,1.7vw,25px)}
.carousel-card:not(.is-center) .project-caption>span{font-size:7px}
.carousel-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:14px}
.carousel-footer .eyebrow{font-size:8px;color:#ae8c7b}
.carousel-hint{color:#cdb1a1;font:9px var(--mono);letter-spacing:.12em;text-transform:uppercase}
.carousel-hint b{color:#ff9a65;font-size:14px;margin-left:7px}
.project-carousel.is-paused .carousel-hint{color:#ffbe97}
.project-carousel.is-paused .carousel-hint:before{content:'PAUSED · ';color:#fff1df}
.work-page .showreel-feature{margin-bottom:0}
@media(max-width:760px){
 .rail-intro{display:block;margin-top:52px}.rail-intro p{font-size:12px;margin-top:12px}.project-carousel{margin-bottom:58px}
 .carousel-heading{align-items:flex-start;flex-direction:column;gap:15px}.carousel-heading h2{font-size:44px}.carousel-controls{align-self:stretch;justify-content:space-between}.carousel-arrow,.carousel-toggle{height:34px}.carousel-toggle{flex:1}
 .carousel-viewport{height:clamp(420px,126vw,560px);margin:0 -6%;background:radial-gradient(circle at 50% 45%,#72240942 0,transparent 44%),#090605}.carousel-glow{width:85vw;height:56vw}.carousel-card{width:clamp(190px,54vw,280px);border-radius:26px}.carousel-card:hover .project-image img,.carousel-card.is-hovered .project-image img,.carousel-card:focus-within .project-image img{transform:scale(1.035)}
 .carousel-card .project-caption{left:16px;right:16px;bottom:16px}.carousel-card .project-caption h3{font-size:26px}.carousel-card .project-caption>span{font-size:7px}.carousel-footer{align-items:flex-start;flex-direction:column;gap:8px}.carousel-hint{font-size:8px}
}
@media(prefers-reduced-motion:reduce){.carousel-card,.carousel-card .project-image img,.carousel-card .project-loop{transition:none}.carousel-card{transform:translate3d(calc(-50% + var(--carousel-x,0px)),-50%,0) rotateZ(var(--carousel-tilt,0deg)) scale(var(--carousel-scale,.62))}.carousel-viewport{scroll-behavior:auto}}
