/* Portfolio / immersive project showcase. */
.sp-showcase{max-width:1600px;padding-top:90px;--work-progress:16.666%}.sp-work-edition{display:block;color:#ed555b;font-size:13px;letter-spacing:1.6px;margin-bottom:22px}.sp-showcase .sp-work-heading{margin-bottom:50px}.sp-showcase .sp-work-slide{display:flex;flex-direction:column;background:transparent;border:0;min-height:0}.sp-showcase .sp-work-visual{background:radial-gradient(ellipse at var(--glow-x,50%) var(--glow-y,50%),#491b22 0,#1b1014 42%,#100f12 80%);padding:58px 12% 48px;perspective:1200px;isolation:isolate;min-height:0;border:1px solid #35232a;border-radius:12px;overflow:hidden}.sp-work-backword{position:absolute;left:0;right:0;top:5%;text-align:center;font-size:clamp(70px,12vw,190px);font-weight:800;letter-spacing:-.07em;color:transparent;-webkit-text-stroke:1px #ffffff16;z-index:-1}.sp-showcase .sp-work-image-button{min-height:0;height:auto;border:1px solid #ffffff38;border-radius:9px;background:#171719;overflow:hidden;box-shadow:0 35px 70px #0009;transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .2s ease-out,box-shadow .4s;position:relative}.sp-showcase .sp-work-image-button>img{width:100%;height:auto;aspect-ratio:4/3;max-height:470px;object-fit:contain;background:#151515;transform:none}.sp-work-browser{height:36px;background:#242225;display:flex;align-items:center;gap:6px;padding:0 14px;color:#aaa;font-size:10px;letter-spacing:1px}.sp-work-browser i{width:6px;height:6px;border-radius:50%;background:#66585f}.sp-work-browser i:first-child{background:#e83143}.sp-work-browser span{margin:auto}.sp-work-browser b{font-size:19px;font-weight:400}.sp-work-cursor{position:absolute;right:22px;bottom:22px;width:100px;height:100px;border-radius:50%;background:#e9253c;display:grid;place-content:center;text-align:center;color:white;font-size:12px;font-weight:600;line-height:1.7;box-shadow:0 8px 30px #0005;transform:rotate(-12deg);transition:transform .4s,background .4s}.sp-work-image-button:hover .sp-work-cursor{transform:rotate(0) scale(1.1);background:#ff2944}.sp-work-visual-note{display:block;text-align:center;color:#947a85;font-size:11px;letter-spacing:3px;margin-top:24px}.sp-showcase .sp-work-info{display:grid;grid-template-columns:auto 1.2fr 1fr auto;align-items:center;gap:28px;padding:32px 0;border-bottom:1px solid #343034;overflow:visible}.sp-showcase .sp-work-index{position:static;font-size:64px;letter-spacing:-5px;color:transparent;z-index:auto;-webkit-text-stroke:1px #76636a}.sp-showcase .sp-work-category{margin:0 0 9px;font-size:13px;letter-spacing:1.5px}.sp-showcase .sp-work-info h3{margin:0;font-size:clamp(26px,2.8vw,40px);letter-spacing:-1.4px}.sp-showcase .sp-work-description{font-size:16px;margin:0;max-width:320px}.sp-showcase .sp-work-open{margin:0;font-size:15px;gap:25px}.sp-showcase .sp-work-open>span{display:grid;place-items:center;width:50px;height:50px;border:1px solid #7b333d;border-radius:50%;flex-shrink:0}.sp-work-progress{flex:1;height:2px;background:#33282c;margin:0 25px}.sp-work-progress i{display:block;width:var(--work-progress);height:100%;background:#ed2940;transition:width .5s}.sp-showcase .sp-work-controls{padding:25px 0}.sp-showcase .sp-work-rail{gap:18px}.sp-showcase .sp-work-rail button{padding:0;border:0;border-bottom:2px solid #3e3034;background:none!important;border-radius:0;opacity:.6;transition:opacity .3s,border-color .3s,transform .3s}.sp-showcase .sp-work-rail button[aria-pressed=true],.sp-showcase .sp-work-rail button:hover{opacity:1;border-color:#ee2d43}.sp-showcase .sp-work-thumb{height:105px;border-radius:5px;background:#20171b}.sp-showcase .sp-work-thumb img{filter:none}.sp-showcase .sp-work-rail-name{display:flex;gap:10px;font-size:14px;padding:15px 0;min-height:65px}.sp-work-rail-name b{font-size:11px;color:#e65368;font-weight:400;padding-top:3px}
.sp-project-dialog{width:min(1440px,96vw);max-width:96vw;height:94svh;max-height:94svh;padding:0;border:1px solid #44323b;border-radius:12px;background:#111014;color:#f4f1eb;overflow:auto;overscroll-behavior:contain;font-family:Poppins,sans-serif}.sp-project-dialog::backdrop{background:#060307e8;backdrop-filter:blur(14px)}.sp-project-top{display:flex;align-items:center;justify-content:space-between;gap:20px;position:sticky;top:0;z-index:5;padding:20px 5%;background:#111014f2;border-bottom:1px solid #352730}.sp-project-top>span{font-size:19px;font-weight:700}.sp-project-top>span>span{font-size:11px;font-weight:400;letter-spacing:1.8px;color:#ab929c;margin-left:14px}.sp-ui .sp-project-top button,.sp-ui .sp-project-bottom button{background:none;border:0;color:#fff;padding:8px 0;font:inherit;font-size:15px;display:flex;align-items:center;gap:20px}.sp-project-top button b{font-size:26px;font-weight:400}.sp-project-hero{padding:65px 8% 45px;background:radial-gradient(ellipse at 100% 0,#46172480,transparent 65%)}.sp-ui .sp-project-hero h2{font-size:clamp(38px,6vw,86px);line-height:1.05;letter-spacing:-.055em;margin:22px 0;color:#fff;outline:none}.sp-project-lead{max-width:650px;font-size:clamp(17px,2vw,22px);line-height:1.75;color:#baaab2}.sp-project-facts{display:flex;flex-wrap:wrap;gap:30px 65px;margin:40px 0 0;padding-top:25px;border-top:1px solid #ffffff20}.sp-project-facts dt{font-size:13px;color:#a98a98;margin-bottom:8px}.sp-project-facts dd{margin:0;font-size:16px;white-space:pre-line}.sp-project-cover{margin:0 5%;padding:24px;background:#211b20;border:1px solid #3c3038;border-radius:8px}.sp-project-cover img{display:block;width:100%;height:auto;max-height:780px;object-fit:contain}.sp-project-cover figcaption{display:flex;justify-content:space-between;gap:20px;font-size:13px;color:#c0aab6;padding-top:20px}.sp-project-cover figcaption span{font-size:10px;letter-spacing:2px}.sp-project-story{display:grid;grid-template-columns:1fr 2fr;gap:40px;padding:65px 8%}.sp-project-story .sp-eyebrow{color:#eb5c77;font-size:13px;letter-spacing:2px}.sp-project-story section{margin-bottom:35px}.sp-ui .sp-project-story h3{font-size:30px;letter-spacing:-1px;margin:0 0 18px;color:#fff}.sp-project-story section p{font-size:18px;line-height:1.9;color:#bbaeb5;margin:0}.sp-project-story a{display:inline-block;padding:15px 0;color:#fff;border-bottom:1px solid #e7324e}.sp-project-gallery{margin:0 5% 35px}.sp-project-gallery img{display:block;width:100%;height:auto}.sp-project-bottom{display:flex;justify-content:space-between;align-items:center;padding:30px 8%;border-top:1px solid #42313b;background:#191218}.sp-project-bottom>span{font-size:14px;color:#a68e9d}.sp-project-bottom button span{font-size:27px;color:#ed3755}
@media(prefers-reduced-motion:no-preference){.sp-showcase.is-interactive .sp-work-slide:not([hidden]) .sp-work-visual{animation:sp-project-reveal .8s cubic-bezier(.16,1,.3,1) both}.sp-project-dialog[open]{animation:sp-dialog-enter .35s ease-out}@keyframes sp-project-reveal{from{opacity:0;clip-path:inset(0 0 12% 0);transform:translateY(20px)}to{opacity:1;clip-path:inset(0);transform:none}}@keyframes sp-dialog-enter{from{opacity:0;transform:translateY(28px) scale(.98)}to{opacity:1;transform:none}}}
@media(max-width:1100px){.sp-showcase .sp-work-info{grid-template-columns:auto 1fr auto}.sp-showcase .sp-work-description{display:none}.sp-showcase .sp-work-visual{padding:48px 9% 30px}}
@media(max-width:767px){.sp-showcase{padding-top:40px}.sp-showcase .sp-work-heading h2{font-size:44px}.sp-showcase .sp-work-visual{padding:38px 14px 20px;border-radius:8px}.sp-showcase .sp-work-image-button{min-height:0!important;max-height:none}.sp-showcase .sp-work-image-button>img{height:auto;max-height:none;aspect-ratio:4/3}.sp-work-browser{height:27px;padding:0 9px;gap:4px;font-size:7px;letter-spacing:0}.sp-work-browser i{width:4px;height:4px}.sp-work-cursor{width:67px;height:67px;font-size:9px;right:12px;bottom:12px}.sp-work-visual-note{font-size:8px;letter-spacing:1.5px;margin-top:18px}.sp-showcase .sp-work-info{grid-template-columns:45px 1fr;padding:25px 0;gap:15px;order:1}.sp-showcase .sp-work-index{font-size:44px;letter-spacing:-3px}.sp-showcase .sp-work-info h3{font-size:29px;max-width:none}.sp-showcase .sp-work-category{padding:0;margin-bottom:10px;font-size:12px}.sp-showcase .sp-work-description{display:block;grid-column:2;font-size:16px}.sp-showcase .sp-work-open{grid-column:2;font-size:15px;justify-content:space-between}.sp-showcase .sp-work-open>span{width:42px;height:42px}.sp-work-progress{margin:0 5px}.sp-showcase .sp-work-rail{gap:12px;grid-template-columns:repeat(6,145px)}.sp-showcase .sp-work-thumb{height:85px}.sp-showcase .sp-work-rail-name{font-size:13px}.sp-project-dialog{width:100%;max-width:100%;height:100svh;max-height:100svh;border-radius:0;border:0}.sp-project-top{padding:14px 20px}.sp-project-top>span>span{display:none}.sp-project-hero{padding:38px 24px}.sp-ui .sp-project-hero h2{font-size:44px;overflow-wrap:break-word}.sp-project-facts{gap:25px;margin-top:25px}.sp-project-cover{margin:0 14px;padding:10px}.sp-project-cover figcaption{padding:14px 0 4px;font-size:12px}.sp-project-cover figcaption span{display:none}.sp-project-story{grid-template-columns:1fr;padding:35px 24px;gap:20px}.sp-project-story section p{font-size:17px}.sp-project-bottom{padding:24px}.sp-project-gallery{margin:0 14px 20px}}
@media(prefers-reduced-motion:reduce){.sp-showcase .sp-work-image-button{transform:none!important}.sp-project-dialog{animation:none!important}}

/* Compact strip replaces the full-size homepage showcase. */
.sp-strip-track.is-wheel-scrolling{scroll-snap-type:none}
.sp-strip{padding:48px 4.8% 48px;max-width:1600px;overflow:hidden}.sp-strip-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:22px}.sp-strip-heading .sp-eyebrow{margin:0 0 14px}.sp-ui .sp-strip-heading h2{font-size:clamp(32px,3.5vw,50px);letter-spacing:-2px;line-height:1.06;margin:0}.sp-strip-heading>p{font-size:16px;line-height:1.7;color:#aaa;margin:0 0 3px}.sp-strip-track{display:flex;gap:24px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scrollbar-width:none;padding:12px 2px 8px;position:relative}.sp-strip-track::-webkit-scrollbar{display:none}.sp-strip-card{flex:0 0 30%;min-width:0;scroll-snap-align:start;transform:rotate(var(--card-rotate,0deg));transform-origin:center;transition:transform .25s}.sp-strip-card:nth-child(even){padding-top:18px}.sp-ui .sp-strip-open{width:100%;display:block;padding:0;border:0;border-radius:0;background:none;color:#fff;text-align:left;white-space:normal;font:inherit}.sp-strip-picture{display:block;position:relative;overflow:hidden;aspect-ratio:4/3;border-radius:5px;background:#1d181b}.sp-strip-picture>img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.8,.2,1),filter .5s;filter:saturate(.8)}.sp-strip-view{position:absolute;bottom:14px;right:14px;padding:10px 15px;border-radius:30px;background:#f6f0ea;color:#201416;font-size:13px;opacity:0;transform:translateY(8px);transition:opacity .25s,transform .25s}.sp-strip-caption{display:flex;align-items:start;gap:12px;border-top:1px solid #49343e;margin-top:13px;padding-top:13px}.sp-strip-number{font-size:12px;color:#ed5267;padding-top:3px}.sp-strip-caption strong{display:block;font-size:18px;line-height:1.3;font-weight:600;letter-spacing:-.5px}.sp-strip-caption small{display:block;font-size:13px;margin-top:7px;color:#a49aa0}.sp-strip-arrow{margin-left:auto;color:#ee415b;font-size:23px;line-height:1}.sp-strip-footer{display:flex;align-items:center;gap:24px;border-top:1px solid #30262b;margin-top:18px;padding-top:16px}.sp-strip-footer>span{font-size:12px;color:#ab99a3;letter-spacing:1px}.sp-strip-progress{height:1px;background:#473039;flex:1}.sp-strip-progress i{height:100%;display:block;width:var(--strip-progress,8%);background:#ed304d;transition:width .2s}.sp-strip .sp-work-nav button{width:38px;height:38px;font-size:20px}.sp-strip .sp-work-nav button:disabled{opacity:.25;cursor:default}.sp-strip-footer>a{font-size:14px;color:#eee}.sp-strip-open:focus-visible{outline:2px solid #f84a62!important;outline-offset:3px}.sp-strip-open:focus-visible .sp-strip-view{opacity:1;transform:none}
@media(hover:hover) and (pointer:fine){.sp-strip-open:hover .sp-strip-picture>img{transform:scale(1.04);filter:saturate(1)}.sp-strip-open:hover .sp-strip-view{opacity:1;transform:none}.sp-strip-card:hover{transform:rotate(0)}}
@media(max-width:767px){.sp-strip{padding:32px 24px}.sp-strip-heading{align-items:start;gap:16px;margin-bottom:16px}.sp-ui .sp-strip-heading h2{font-size:33px;letter-spacing:-1.4px}.sp-strip-heading>p{display:none}.sp-strip-track{gap:18px;margin-right:-24px;padding-right:24px}.sp-strip-card{flex-basis:82%;transform:none!important}.sp-strip-card:nth-child(even){padding-top:0}.sp-strip-caption strong{font-size:18px}.sp-strip-caption small{font-size:13px}.sp-strip-footer{gap:14px;margin-top:16px}.sp-strip-footer>span{font-size:10px;letter-spacing:.4px}.sp-strip .sp-work-nav{gap:6px}.sp-strip .sp-work-nav button{width:36px!important;height:36px!important}.sp-strip-footer>a{font-size:12px}.sp-strip-view{display:none}}
@media(prefers-reduced-motion:reduce){.sp-strip *{transition:none!important;animation:none!important}.sp-strip-card{transform:none!important}}
@media(min-width:768px){.sp-strip{padding-top:32px;padding-bottom:32px}.sp-strip-picture{aspect-ratio:16/10}.sp-strip-heading{margin-bottom:18px}.sp-ui .sp-strip-heading h2{font-size:clamp(32px,3.2vw,44px)}}
/* The outer section supplies scroll distance; the compact stage remains in view. */
.sp-strip.is-page-driven{overflow:visible;padding-top:0;padding-bottom:0}
.sp-strip.is-page-driven .sp-strip-pin{position:sticky}
.sp-strip.is-page-driven .sp-strip-track{scroll-snap-type:none;overflow-x:hidden;touch-action:pan-y}
.sp-project-quote{margin:20px 8% 40px;padding:20px 30px;border-left:2px solid #eb3754}.sp-project-quote p{font-size:22px;line-height:1.8}.sp-project-quote cite{font-size:15px;color:#bca1af}.sp-project-permalink{margin:25px 8% 40px}.sp-project-permalink a{font-size:16px;border-bottom:1px solid #e42c49;padding-bottom:8px}
