@font-face{font-family:WorksBallet;src:url('./fonts/WorksBallet.woff2') format('woff2');font-display:swap}
#works{position:relative;z-index:5;background:var(--surface);color:var(--ink);font-family:Arial,sans-serif;padding:80px 0 130px;overflow:hidden}
.works-intro{padding:0 2vw 90px;display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid #8885;padding-top:28px}
.works-intro h2{font-size:clamp(32px,5vw,80px);font-weight:400;letter-spacing:-.055em}.works-intro span{font-size:11px}
.work-service{--accent:#2bff00}.service-label{margin:0 2vw;border-bottom:1px solid #8885;display:grid;grid-template-columns:1fr 1fr;font-size:11px;padding:18px 0 10px}
.service-overview{display:grid;grid-template-columns:1fr 1fr;margin:0 2vw;padding-top:65px;min-height:350px;gap:20px}
.service-number{font:180px/.85 WorksBallet,Georgia,serif;padding:20px 0 0 20px}
.service-info .category{font-size:12px;margin-bottom:22px}.service-info h3{display:flex;align-items:center;gap:8px;font-size:24px;letter-spacing:-1px;font-weight:400;margin-bottom:22px}.service-info h3:before{content:'';width:15px;height:15px;background:var(--accent);border-radius:50%;flex-shrink:0}
.feature-row{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #8885;padding:6px 0;font-size:11px;line-height:1.3}.feature-row:last-child{border-bottom:1px solid #8885}.feature-row span:last-child{text-align:right;color:var(--muted)}
.service-jump{display:inline-block;border:0;background:#343434;color:white;font:10px Arial;padding:10px 26px;margin-top:20px;cursor:pointer}
.service-description{margin:65px 2vw 28px;max-width:560px}.service-description small{font-size:11px}.service-description p{margin-top:18px;font-size:22px;line-height:1.12;letter-spacing:-.7px}
.works-rail{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;cursor:grab;touch-action:pan-x pan-y;overscroll-behavior-x:contain;padding:0 2vw;user-select:none}.works-rail::-webkit-scrollbar{display:none}.works-rail.dragging{cursor:grabbing}
.work-card{flex:0 0 44vw;aspect-ratio:16/9;border:0;padding:0;background:#161616;overflow:hidden;position:relative;color:white;cursor:inherit}.work-card img,.work-card video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}.work-card img{transition:transform .8s}.work-card:hover img{transform:scale(1.025)}.work-card:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}
.work-marquee{display:flex;background:var(--accent);color:#151515;margin:70px 0 55px;overflow:hidden;font-size:11px;padding:5px 0;white-space:nowrap}.work-marquee span{flex-shrink:0;animation:worksTicker 24s linear infinite}.work-marquee:hover span{animation-play-state:paused}@keyframes worksTicker{to{transform:translateX(-100%)}}
.service-overview,.service-description{opacity:0;transform:translateY(45px);transition:opacity .9s,transform 1.1s cubic-bezier(.2,.7,.2,1)}.is-visible{opacity:1;transform:none}
.works-credit{margin:40px 2vw 0;font-size:11px;color:var(--muted)}.works-credit a{color:inherit}
.works-cursor{position:fixed;z-index:22;width:48px;height:48px;border-radius:50%;border:1px solid #ffffff66;background:#f7f7f5df;color:#171717;display:grid;place-items:center;font:16px Arial;pointer-events:none;transform:translate(-50%,-50%);opacity:0;transition:opacity .15s}
.works-dialog{position:fixed;inset:0;margin:auto;width:min(94vw,1500px);max-width:94vw;max-height:94vh;padding:45px 0 0;border:0;background:#121313;color:#fff}.works-dialog::backdrop{background:#000d}.works-dialog .viewer{height:75vh;display:grid;place-items:center}.works-dialog img,.works-dialog video{max-width:100%;max-height:75vh}.works-dialog button{background:transparent;color:inherit;border:1px solid #777;padding:7px 14px;cursor:pointer}.works-dialog .close{position:absolute;right:12px;top:8px}.works-dialog footer{display:flex;gap:20px;justify-content:center;align-items:center;padding:10px}.works-dialog .viewer video{width:100%;height:100%;object-fit:contain}
.work-open #works{visibility:hidden}
@media(max-width:700px){#works{padding-top:35px}.works-intro{padding-bottom:55px}.service-overview{padding-top:35px;grid-template-columns:90px 1fr;min-height:300px;gap:12px}.service-number{font-size:100px;padding-left:0}.service-info h3{font-size:20px}.feature-row{font-size:10px;gap:8px}.service-description{margin-top:45px;max-width:88%}.service-description p{font-size:20px}.work-card{flex-basis:88vw}.work-marquee{margin:36px 0}.works-cursor{display:none}}
@media(prefers-reduced-motion:reduce){.work-marquee span{animation:none}.service-overview,.service-description{transition:none;opacity:1;transform:none}}

/* First project, matched to the edited Figma artwork. */
.work-herbal .service-number{display:none}
.work-herbal .service-overview{grid-template-columns:minmax(0,1fr)}
.work-herbal .service-label span:last-child{text-align:right}
.work-herbal .service-number{font-family:Arial,sans-serif;font-size:180px;line-height:190px;font-weight:400}
.work-herbal .service-description p{font-family:'Noto Sans SC','Microsoft YaHei',sans-serif;font-size:14px;line-height:1.85;letter-spacing:0;color:var(--ink)}
.work-herbal .service-description{min-height:112px}
.service-jump{text-decoration:none}
.work-herbal .work-card{height:24.75vw;flex:0 0 calc(24.75vw * var(--card-ratio));aspect-ratio:var(--card-ratio)}
.work-herbal .work-card img{width:var(--image-width,100%);height:var(--image-height,100%);left:var(--image-left,0);top:var(--image-top,0);max-width:none}
@media(max-width:700px){.work-herbal .service-number{font-size:82px;line-height:1}.work-herbal .work-card{height:55vw;flex-basis:calc(55vw * var(--card-ratio))}.work-herbal .service-description p{font-size:14px}}

@media(min-width:701px){#works{padding-top:0}.works-intro{height:230px;padding:109px 2vw 0;position:relative;border:0;align-items:flex-start}.works-intro:before{content:'';position:absolute;top:80px;left:2vw;right:2vw;height:1px;background:#8885}.works-intro h2{margin:0}.works-intro span{margin-top:47px}.work-herbal .service-label{height:36px;padding-top:0}.work-herbal .service-overview{height:350px}.work-herbal .service-number{padding-top:7px}.work-herbal .service-description{margin-top:39px;margin-bottom:15px;height:125px}.work-herbal .work-marquee{margin-top:56px}.work-herbal .service-description p{margin-top:18px}}

/* Shared project preview: numbered scope table and full-width image rail. */
.work-preview .service-number{display:none}
.work-preview .service-label{height:36px;padding-top:0}
.work-preview .service-label span:last-child{text-align:right}
.work-preview .service-overview{grid-template-columns:minmax(0,1fr);gap:0;height:auto;min-height:350px}
.work-preview .feature-row{display:grid;grid-template-columns:15.2% 15.2% minmax(0,1fr);gap:0;min-height:27px;align-items:start}
.work-preview .feature-row span{line-height:1.4}
.work-preview .service-description{margin:39px 2vw 15px;max-width:673px;min-height:125px;height:auto}
.work-preview .service-description p{font:14px/1.85 Arial,'Microsoft YaHei',sans-serif;letter-spacing:0;margin-top:18px;color:var(--ink)}
.work-preview .work-card{height:24.75vw;flex:0 0 calc(24.75vw * var(--card-ratio,1.77778));aspect-ratio:var(--card-ratio,1.77778)}
.work-preview .work-card img{width:var(--image-width,100%);height:var(--image-height,100%);left:var(--image-left,0);top:var(--image-top,0);max-width:none}
.work-preview .work-marquee{margin-top:56px}
.work-preview .works-rail{clip-path:inset(0 0 0 2vw)}
.service-jump:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.has-project-logo .service-logo{display:block;width:40px;height:40px;object-fit:contain;margin:0 0 22px}
.has-project-logo .service-info h3:before{display:none}
.has-project-logo .service-overview{min-height:0;padding-top:65px}
.has-project-logo .service-description{margin-top:22px;min-height:0;margin-bottom:60px}
.has-project-logo .service-description p{margin-top:12px}
.work-preview .service-jump{background:var(--accent);color:#111;border-radius:38px;padding:10px 22px;line-height:12px}
@media(max-width:700px){
 .work-preview .service-label{margin-left:20px;margin-right:20px}
 .work-preview .service-overview{margin:0 20px;min-height:0;padding-top:36px}
 .work-preview .feature-row{grid-template-columns:28px minmax(110px,.8fr) minmax(0,1.2fr);font-size:11px;gap:8px;padding:9px 0}
 .work-preview .service-description{margin:40px 20px 28px;max-width:none;min-height:0}
 .work-preview .service-info h3{letter-spacing:-.5px;line-height:1.3}
 .work-preview .service-jump{min-height:38px;line-height:18px}
 .work-preview .works-rail{padding:0 20px;clip-path:inset(0 0 0 20px)}
 .work-preview .work-card{height:55vw;flex-basis:calc(55vw * var(--card-ratio,1.77778))}
 .work-preview .work-marquee{margin-top:36px;margin-bottom:40px}
}

.work-ashes .service-logo{width:108.057px;height:70px}.work-ashes .service-overview{padding-top:28px}.work-ashes .service-jump,.work-ashes .work-marquee{color:#fff}

html[data-theme=dark] .work-ashes .service-logo{filter:brightness(1.8) saturate(.8)}
