:root{color-scheme:dark;--bg:#090b09;--soft:#111510;--text:#f3f5ef;--muted:#a5ada0;--green:#76b52a;--bright:#91d33d;--line:rgba(226,238,216,.16);--max:1240px;--pad:clamp(20px,4vw,56px);--font-body:Inter,"Helvetica Neue",Arial,"PingFang TC","Noto Sans TC","Microsoft JhengHei UI","Microsoft JhengHei",system-ui,sans-serif;--font-display:Inter,"Helvetica Neue",Arial,"PingFang TC","Noto Sans TC","Microsoft JhengHei UI","Microsoft JhengHei",system-ui,sans-serif;--font-eyebrow:Inter,"Helvetica Neue",Arial,"PingFang TC","Noto Sans TC","Microsoft JhengHei UI","Microsoft JhengHei",system-ui,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);line-height:1.65}a{color:inherit;text-decoration:none}img,video{display:block;width:100%;max-width:100%}.shell{width:min(calc(100% - var(--pad)*2),var(--max));margin-inline:auto}.muted{color:var(--muted)}
.site-header{position:fixed;inset:0 0 auto;z-index:50;border-bottom:1px solid transparent;transition:.25s}.site-header.scrolled{background:rgba(9,11,9,.88);border-color:var(--line);backdrop-filter:blur(18px)}.nav{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand img{width:162px}.nav-links{display:flex;align-items:center;gap:clamp(8px,2vw,26px)}.nav-links a{color:#d4dacd;font-size:.75rem;font-weight:750;letter-spacing:.11em;text-transform:uppercase}.nav-links a:hover,.nav-links .active{color:var(--bright)}.nav-links .nav-cta{padding:9px 14px;border:1px solid rgba(145,211,61,.5);color:var(--bright)}
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;background:#050705}.hero-bg,.hero-overlay{position:absolute;inset:0;height:100%;object-fit:cover}.hero-overlay{background:linear-gradient(90deg,rgba(5,7,5,.98),rgba(5,7,5,.9) 38%,rgba(5,7,5,.2)),linear-gradient(0deg,rgba(5,7,5,.96),transparent 45%)}.hero-copy{position:relative;z-index:2;padding:150px 0 132px}.eyebrow{margin:0 0 18px;color:var(--bright);font-size:.7rem;font-weight:850;letter-spacing:.22em;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.04}h1{max-width:980px;margin-bottom:28px;font-size:clamp(3.5rem,9vw,8.7rem);letter-spacing:-.065em}h1 em,h2 em{color:var(--bright);font-style:normal}h2{font-size:clamp(2.25rem,5vw,5.25rem);letter-spacing:-.055em}h3{font-size:clamp(1.08rem,2vw,1.55rem)}.intro{max-width:780px;margin-bottom:12px;font-size:clamp(1.05rem,2vw,1.4rem);color:#e4e8df}.hero-copy .muted{max-width:740px}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}.button{min-height:51px;display:inline-flex;align-items:center;justify-content:center;padding:0 21px;border:1px solid var(--line);font-size:.8rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase;transition:.2s}.button:hover{transform:translateY(-2px);border-color:var(--bright)}.button.primary{background:var(--green);border-color:var(--green);color:#081004}.hero-services{position:absolute;z-index:3;bottom:0;left:50%;transform:translateX(-50%);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:min(calc(100% - var(--pad)*2),var(--max));padding:0;border-top:1px solid var(--line)}.hero-services a{position:relative;display:grid;place-content:center;min-width:0;padding:18px 12px;text-align:center;color:#eef2ea;font-size:.82rem;box-shadow:inset 0 -2px transparent;transition:background-color .22s,color .22s,box-shadow .22s}.hero-services a+a{border-left:1px solid var(--line)}.hero-services a:after{content:"↗";position:absolute;right:13px;top:50%;opacity:.38;font-size:.7rem;transform:translateY(-50%);transition:opacity .22s,transform .22s}.hero-services a:hover,.hero-services a:focus-visible{background:rgba(145,211,61,.07);color:#fff;box-shadow:inset 0 -2px rgba(145,211,61,.72);outline:none}.hero-services a:hover:after,.hero-services a:focus-visible:after{opacity:.85;transform:translate(2px,calc(-50% - 2px))}.hero-services b{display:block;margin-top:3px;color:#aab3a4;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase}
.section{padding:clamp(82px,11vw,148px) 0;border-top:1px solid var(--line)}.studio,.capabilities{background:var(--soft)}.split{display:grid;grid-template-columns:.42fr 1.58fr;gap:clamp(40px,8vw,110px)}.columns{display:grid;grid-template-columns:repeat(2,1fr);gap:34px;max-width:900px;color:var(--muted)}.section-head{display:grid;grid-template-columns:1.25fr .75fr;gap:60px;align-items:end;margin-bottom:52px}.section-head>p{max-width:480px;margin-bottom:8px;color:var(--muted)}
.feature-grid{display:grid;grid-template-columns:1.45fr .55fr;grid-template-rows:repeat(2,minmax(260px,1fr));gap:14px}.feature{position:relative;min-height:320px;overflow:hidden;background:#000}.feature.main{grid-row:span 2;min-height:700px}.feature img,.feature video{height:100%;object-fit:cover;transition:transform .65s}.feature:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.82),transparent 55%)}.feature:hover img,.feature:hover video{transform:scale(1.025)}.feature b,.feature small{position:absolute;z-index:2;left:22px}.feature b{bottom:48px;font-size:1.25rem}.feature small{bottom:23px;color:#b9c1b3}.cap-list{border-top:1px solid var(--line)}.cap-list a{display:grid;grid-template-columns:1.1fr 1fr 28px;gap:24px;align-items:center;min-height:110px;padding:22px 0;border-bottom:1px solid var(--line);transition:.2s}.cap-list a:hover{padding-left:10px;color:var(--bright)}.cap-list h3,.cap-list p{margin:0}.cap-list h3 small{color:var(--muted);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}.cap-list p{color:var(--muted)}
.principles{border-top:1px solid var(--line)}.principles article{padding:27px 0;border-bottom:1px solid var(--line)}.principles h3{margin-bottom:7px}.principles p{margin:0;color:var(--muted)}.contact{padding:clamp(90px,13vw,165px) 0;background:var(--green);color:#081004}.contact .eyebrow{color:#29450f}.contact-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(50px,10vw,140px);align-items:end}.contact h2{margin-bottom:0}.email{display:block;margin:34px 0;padding:18px 0;border-block:1px solid rgba(8,16,4,.34);font-size:clamp(1.05rem,2vw,1.45rem);font-weight:850}.contact small{opacity:.72}footer{padding:28px 0;border-top:1px solid var(--line);color:#818a7b}.footer{display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:.72rem}.footer img{width:130px}
.page-hero{padding:190px 0 105px;border-bottom:1px solid var(--line);background:radial-gradient(circle at 80% 20%,rgba(118,181,42,.17),transparent 32rem)}.page-hero p{max-width:760px;color:var(--muted);font-size:clamp(1rem,1.6vw,1.24rem)}.work-block{padding:clamp(85px,11vw,145px) 0}.block-head{display:grid;grid-template-columns:1.2fr .8fr;gap:50px;align-items:end;margin-bottom:50px}.block-head>p{color:var(--muted)}.vfx-grid{display:grid;grid-template-columns:1.2fr .55fr .55fr;gap:14px}.piece{margin:0;background:#050605;border:1px solid var(--line)}.piece.hero-piece{grid-column:span 3}.piece img{height:100%;aspect-ratio:16/9;object-fit:cover}.piece.tall img{aspect-ratio:9/16}.piece figcaption{display:flex;justify-content:space-between;gap:15px;padding:16px 17px;color:var(--muted);font-size:.77rem}.piece figcaption b{color:var(--text)}.art-block{background:#e9ece4;color:#10130e}.art-block .eyebrow{color:#4d771d}.art-block .block-head>p{color:#5b6256}.art-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.art{margin:0}.art.wide{grid-column:span 2}.art img{aspect-ratio:4/3;object-fit:cover}.art.wide img{aspect-ratio:2/1}.art figcaption{padding:12px 0;color:#41483d;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}
.project-feature{padding-bottom:clamp(85px,12vw,155px)}.project-visual{height:min(72vw,840px);overflow:hidden;background:#020302}.project-visual img,.project-visual video{height:100%;object-fit:cover}.project-feature.contained .project-visual{width:min(calc(100% - var(--pad)*2),var(--max));height:min(58vw,710px);margin-inline:auto}.project-info{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;padding-top:32px}.project-info p{color:var(--muted)}.tags{display:flex;flex-wrap:wrap;gap:8px}.tags span{padding:6px 9px;border:1px solid var(--line);color:#c4cbbf;font-size:.67rem;letter-spacing:.1em;text-transform:uppercase}.project-cta{padding:clamp(85px,12vw,150px) 0;border-top:1px solid var(--line);background:var(--soft)}.project-cta p{max-width:680px;color:var(--muted)}
@media(max-width:900px){.split,.section-head,.contact-grid,.block-head,.project-info{grid-template-columns:1fr}.feature-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto}.feature.main{grid-column:span 2;grid-row:auto;min-height:520px}.cap-list a{grid-template-columns:1fr 1fr 28px}.cap-list p{grid-column:auto}.vfx-grid{grid-template-columns:1fr 1fr}.piece.hero-piece{grid-column:span 2}}
@media(max-width:620px){:root{--pad:16px}.nav{min-height:68px}.brand img{width:110px}.nav-links{gap:11px}.nav-links a{font-size:.6rem;letter-spacing:.05em}.nav-cta{display:none}.hero-copy{padding:120px 0 148px}.hero-overlay{background:linear-gradient(0deg,rgba(5,7,5,.98),rgba(5,7,5,.82) 67%,rgba(5,7,5,.4))}h1{font-size:clamp(3rem,16vw,5rem)}.hero-services{grid-template-columns:repeat(3,minmax(0,1fr))}.hero-services a{padding:13px 4px;font-size:.72rem}.hero-services a:after{right:5px;font-size:.56rem}.hero-services b{font-size:.52rem;letter-spacing:.04em}.columns{grid-template-columns:1fr;gap:10px}.feature-grid,.vfx-grid,.art-grid{grid-template-columns:1fr}.feature.main,.piece.hero-piece,.art.wide{grid-column:auto;min-height:340px}.cap-list a{grid-template-columns:1fr 20px;gap:10px}.cap-list p{grid-column:1/-1;font-size:.85rem}.piece figcaption{flex-direction:column;gap:3px}.footer{flex-direction:column;align-items:flex-start}.page-hero{padding:135px 0 75px}.project-visual,.project-feature.contained .project-visual{width:100%;height:72vw}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition-duration:.01ms!important}}

/* Homepage work mosaic */
.showcase-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.showcase-card{position:relative;aspect-ratio:1;overflow:hidden;background:#000;border:1px solid var(--line)}.showcase-card--wide{grid-column:span 2;aspect-ratio:2/1}.showcase-card img,.showcase-card video{width:100%;height:100%;object-fit:contain;background:#000;transition:transform .5s}.showcase-card--light{background:#e8ebe3}.showcase-card--light img{padding:5%;background:#e8ebe3}.showcase-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.7),transparent 42%);pointer-events:none}.showcase-card:hover img,.showcase-card:hover video{transform:scale(1.02)}.showcase-card b{position:absolute;z-index:2;left:17px;bottom:14px;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}@media(max-width:900px){.showcase-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:620px){.showcase-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.showcase-card--wide{grid-column:span 2}}

/* Complete VFX and refreshed project libraries */
.fx-reel{margin:0;background:#030403;border:1px solid var(--line)}.fx-reel video{width:100%;aspect-ratio:1/1;max-height:82vh;object-fit:contain;background:#000}.fx-reel figcaption{padding:16px 18px;color:var(--muted);font-size:.76rem;letter-spacing:.12em;text-transform:uppercase}.mq-block{background:var(--soft)}.vfx-library{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.vfx-card{margin:0;min-width:0}.vfx-frame{aspect-ratio:9/16;overflow:hidden;background:#030403;border:1px solid var(--line)}.vfx-frame video{width:100%;height:100%;object-fit:contain;background:#000}.vfx-card figcaption{display:grid;grid-template-columns:28px 1fr;gap:8px;padding:12px 2px 20px}.vfx-card figcaption span{color:var(--bright);font-size:.66rem}.vfx-card figcaption b{font-size:.82rem;font-weight:650;overflow-wrap:anywhere}.project-suite{padding:clamp(85px,11vw,145px) 0;border-top:1px solid var(--line)}.project-suite.alt{background:var(--soft)}.project-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.project-gallery--two{grid-template-columns:repeat(2,minmax(0,1fr))}.project-clip{margin:0;border:1px solid var(--line);background:#030403}.project-clip video{width:100%;aspect-ratio:16/9;object-fit:contain;background:#000}.project-clip figcaption{padding:12px 14px;color:var(--muted);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}@media(max-width:900px){.vfx-library{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:620px){.vfx-library{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.vfx-card figcaption{grid-template-columns:22px 1fr}.vfx-card figcaption b{font-size:.72rem}.project-gallery,.project-gallery--two{grid-template-columns:1fr}}
.fx-reel{margin:0;background:#030403;border:1px solid var(--line)}.fx-reel video{width:100%;aspect-ratio:1/1;max-height:82vh;object-fit:contain;background:#000}.mq-block{background:var(--soft)}.vfx-library{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.vfx-card{margin:0;min-width:0}.vfx-frame{aspect-ratio:9/16;overflow:hidden;background:#030403;border:1px solid var(--line)}.vfx-frame video{width:100%;height:100%;object-fit:contain;background:#000}.design-block{background:#e9ece4;color:#10130e}.design-block .eyebrow{color:#4d771d}.design-block .block-head>p{color:#5b6256}.design-gallery{columns:3;column-gap:14px}.design-gallery figure{break-inside:avoid;margin:0 0 14px;background:#fff}.design-gallery img{width:100%;height:auto;display:block}.client-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.client-grid div{min-height:135px;padding:24px;display:grid;place-items:center;background:#fff;border:1px solid var(--line)}.client-grid img{width:100%;max-width:160px;max-height:70px;object-fit:contain}.project-suite{padding:clamp(85px,11vw,145px) 0;border-top:1px solid var(--line)}.project-suite.alt{background:var(--soft)}.project-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.project-gallery--two{grid-template-columns:repeat(2,minmax(0,1fr))}.project-clip{margin:0;border:1px solid var(--line);background:#030403}.project-clip video,.project-clip img{width:100%;aspect-ratio:16/9;object-fit:contain;background:#000}@media(max-width:900px){.vfx-library{grid-template-columns:repeat(3,minmax(0,1fr))}.design-gallery{columns:2}.client-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:620px){.vfx-library{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.project-gallery,.project-gallery--two{grid-template-columns:1fr}.design-gallery{columns:1}.client-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.client-grid div{min-height:110px;padding:18px}}

/* Editorial mixed-ratio homepage mosaic */
.showcase-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:repeat(6,minmax(0,1fr));aspect-ratio:2/1;gap:10px}.showcase-card{aspect-ratio:auto;min-width:0;min-height:0}.mosaic-vfx-a{grid-column:1/4;grid-row:1/7}.mosaic-vfx-b{grid-column:4/7;grid-row:1/7}.mosaic-game-a{grid-column:7/13;grid-row:1/3}.mosaic-game-b{grid-column:7/13;grid-row:3/5}.mosaic-art{grid-column:7/9;grid-row:5/7}.mosaic-project{grid-column:9/11;grid-row:5/7}.mosaic-design{grid-column:11/13;grid-row:5/7}.mosaic-game-a video,.mosaic-game-b video{object-fit:contain}.mosaic-vfx-a video,.mosaic-vfx-b video{object-fit:cover}.mosaic-art video,.mosaic-project video,.mosaic-design img{object-fit:cover}@media(max-width:760px){.showcase-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;aspect-ratio:auto;gap:8px}.showcase-card{grid-column:auto;grid-row:auto;aspect-ratio:1}.mosaic-vfx-a,.mosaic-vfx-b{aspect-ratio:9/16}.mosaic-game-a,.mosaic-game-b{grid-column:span 2;aspect-ratio:3/1}.mosaic-design{grid-column:span 2;aspect-ratio:2/1}.mosaic-vfx-a video,.mosaic-vfx-b video,.mosaic-game-a video,.mosaic-game-b video,.mosaic-design img{object-fit:contain}}

/* User-directed six-piece portfolio layout */
.showcase-grid{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));grid-template-rows:repeat(6,minmax(0,1fr));aspect-ratio:3/2;gap:9px}.showcase-card{aspect-ratio:auto;min-width:0;min-height:0}.layout-vfx-main{grid-column:1/4;grid-row:1/7}.layout-game{grid-column:4/10;grid-row:1/3}.layout-vfx-two{grid-column:4/6;grid-row:3/7}.layout-vfx-three{grid-column:6/8;grid-row:3/7}.layout-design-one{grid-column:8/10;grid-row:3/5}.layout-design-three{grid-column:8/10;grid-row:5/7}.showcase-card img,.showcase-card video,.showcase-card--light img{width:100%;height:100%;padding:0;object-fit:cover}@media(max-width:760px){.showcase-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;aspect-ratio:auto;gap:8px}.showcase-card{grid-column:auto;grid-row:auto}.layout-vfx-main,.layout-vfx-two,.layout-vfx-three{aspect-ratio:1/1.55}.layout-game{grid-column:span 2;grid-row:1;aspect-ratio:3/1}.layout-vfx-main{grid-row:2}.layout-vfx-two{grid-row:2}.layout-vfx-three{grid-row:3}.layout-design-one{grid-row:3;aspect-ratio:1/1.55}.layout-design-three{grid-column:span 2;grid-row:4;aspect-ratio:2/1}}

/* Tighter design-card crop */
.layout-design-one,.layout-design-three{border:0;background:#090b09}.layout-design-one img,.layout-design-three img{padding:0;object-fit:cover;transform:scale(1.14)}.layout-design-one:hover img,.layout-design-three:hover img{transform:scale(1.17)}

/* Text-only footer */
.footer{justify-content:center;text-align:center}.footer img{display:none}

/* Project media keeps each work's original aspect ratio. */
.project-trailer{margin:0 0 16px}.project-trailer button{position:relative;display:block;width:100%;padding:0;overflow:hidden;border:1px solid var(--line);background:#030403;color:#fff;cursor:pointer}.project-trailer img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}.project-trailer button:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.54),transparent 48%);pointer-events:none}.project-trailer span{position:absolute;z-index:1;left:22px;bottom:18px;font-size:.78rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.project-trailer iframe{display:block;width:100%;aspect-ratio:16/9;border:0}
.project-gallery,.project-gallery--two{display:block;columns:2;column-gap:16px}.project-clip{display:inline-block;width:100%;margin:0 0 16px;break-inside:avoid;overflow:hidden;vertical-align:top}.project-clip img,.project-clip video{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;background:#030403}
@media(max-width:620px){.project-gallery,.project-gallery--two{columns:1}.project-clip{margin-bottom:10px}.project-trailer{margin-bottom:10px}.project-trailer span{left:15px;bottom:13px}}

/* Clear video affordance and resilient YouTube link. */
.project-trailer a{position:relative;display:block;width:100%;padding:0;overflow:hidden;border:1px solid var(--line);background:#030403;color:#fff;cursor:pointer}.project-trailer a:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.54),transparent 48%);pointer-events:none}.project-trailer a:before{content:"▶";position:absolute;z-index:2;left:50%;top:50%;display:grid;place-items:center;width:78px;height:78px;padding-left:5px;border:2px solid rgba(255,255,255,.88);border-radius:50%;background:rgba(118,181,42,.94);color:#071003;font-size:30px;line-height:1;transform:translate(-50%,-50%);box-shadow:0 10px 35px rgba(0,0,0,.35);transition:transform .2s,background .2s}.project-trailer a:hover:before{background:var(--bright);transform:translate(-50%,-50%) scale(1.07)}
@media(max-width:620px){.project-trailer a:before{width:58px;height:58px;font-size:23px}}

/* Row-wise project order on desktop and the same sequence on mobile. */
.project-gallery,.project-gallery--two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px;row-gap:16px;align-items:start}.project-clip{display:block;width:auto;margin:0;break-inside:auto}.project-clip--ui{aspect-ratio:16/9;overflow:hidden}.project-clip--ui img{width:100%;height:100%;object-fit:cover;transform:scale(1.12)}

/* Shared type system: Latin glyphs resolve through Inter first; CJK glyphs fall back to the CJK stack. */
html[lang="zh-Hant"] body{font-family:var(--font-body)}
h1,h2{font-family:var(--font-display);font-weight:700;line-height:1.04}
.eyebrow{font-family:var(--font-eyebrow);font-weight:850;letter-spacing:.22em;line-height:1.2}
.hero-copy>.eyebrow,.work-hero-content>.eyebrow,.project-hero-content>.eyebrow{font-family:var(--font-eyebrow);font-weight:850;letter-spacing:.13em;line-height:1.65}
@media(max-width:620px){.project-gallery,.project-gallery--two{grid-template-columns:1fr;row-gap:10px}.project-clip--ui{aspect-ratio:16/9}}

/* C. Project pairing refinements. */
.project-clip--gray{aspect-ratio:16/9;overflow:hidden}.project-clip--gray img{width:100%;height:100%;object-fit:cover}.project-clip--gray-focus img{transform:scale(1.14);object-position:center center}.project-clip--ui{aspect-ratio:800/588}.project-clip--ui img{width:100%;height:100%;object-fit:contain;transform:scale(1.045);transform-origin:center}

/* Project hero uses Dumb Fight motion with a restrained readability layer. */
.project-page-hero{position:relative;isolation:isolate;min-height:min(82vh,820px);display:flex;align-items:flex-end;overflow:hidden;background:#050705}.project-hero-bg{position:absolute;z-index:-3;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;filter:saturate(.82) contrast(1.04)}.project-hero-shade{position:absolute;z-index:-2;inset:0;background:linear-gradient(90deg,rgba(3,5,3,.97) 0%,rgba(3,5,3,.88) 44%,rgba(3,5,3,.42) 78%,rgba(3,5,3,.58) 100%),linear-gradient(0deg,rgba(3,5,3,.88),transparent 48%)}.project-hero-content{position:relative;z-index:1}.project-page-hero .eyebrow{color:#c7d0c1}.project-page-hero h1{text-shadow:0 3px 28px rgba(0,0,0,.48)}
@media(max-width:620px){.project-page-hero{min-height:720px}.project-hero-bg{object-position:55% center}.project-hero-shade{background:linear-gradient(0deg,rgba(3,5,3,.96) 0%,rgba(3,5,3,.83) 70%,rgba(3,5,3,.54) 100%)}}

/* Keep the longer VFX & DESIGN label inside compact mobile navigation. */
@media(max-width:620px){.nav{gap:10px}.brand img{width:88px}.nav-links{gap:7px}.nav-links a{font-size:.53rem;letter-spacing:.025em;white-space:nowrap}}

/* Mobile autoplay fallback for project motion. */
.project-clip{position:relative}.video-play-fallback{position:absolute;z-index:3;inset:50% auto auto 50%;transform:translate(-50%,-50%);min-width:76px;min-height:44px;padding:10px 18px;border:1px solid rgba(143,231,42,.9);border-radius:999px;background:rgba(3,4,3,.78);color:#fff;font:700 .75rem/1 Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;backdrop-filter:blur(8px)}

/* Language switcher and controlled headline wrapping. */
.language-switcher{display:flex;align-items:center;gap:5px;margin-left:2px;padding:6px 9px;border:1px solid var(--line);border-radius:999px;background:rgba(9,11,9,.5);color:#778070;font-size:.62rem;font-weight:800;letter-spacing:.08em}.language-switcher button{padding:0;border:0;background:transparent;color:#778070;font:inherit;cursor:pointer}.language-switcher button.active{color:var(--bright)}h1,h2{text-wrap:balance;overflow-wrap:normal;word-break:normal}.phrase{display:block;white-space:nowrap}.cap-list h3 small,.principles h3 small{display:block;margin-top:.35em;color:var(--muted);font-size:.55em;font-weight:700;letter-spacing:.06em}.clients .section-head>p{display:none}.capability-tags{display:flex;flex-wrap:wrap;gap:9px;margin:-22px 0 38px}.capability-tags span{padding:7px 11px;border:1px solid var(--line);color:var(--muted);font-size:.7rem;font-weight:750;letter-spacing:.06em}html[lang="zh-Hant"] p{line-break:strict;word-break:auto-phrase;text-wrap:pretty}
.keyword-desktop{display:block;white-space:nowrap;font-size:clamp(1.8rem,3.2vw,3.7rem);letter-spacing:-.045em}.contact .keyword-desktop{font-size:clamp(1.75rem,2.85vw,3.15rem)}.keyword-mobile{display:none}.desktop-only-break{display:block}
@media(max-width:900px){.keyword-desktop{display:none}.keyword-mobile{display:flex;flex-direction:column;align-items:flex-start;font-size:clamp(1.75rem,7.2vw,2.5rem);letter-spacing:-.035em}.keyword-mobile>span{display:block;white-space:nowrap}.desktop-only-break{display:none}}
@media(max-width:760px){.nav{gap:8px}.language-switcher{gap:3px;padding:5px 7px;font-size:.52rem}.nav-links{gap:6px}.nav-links a{font-size:.5rem;letter-spacing:.02em}.nav-links a:nth-child(4){display:none}h1{font-size:clamp(2.45rem,10.5vw,3.4rem);letter-spacing:-.05em}h2{font-size:clamp(2rem,9vw,3.2rem);letter-spacing:-.045em}.phrase{white-space:nowrap}}
@media(max-width:390px){.brand img{width:78px}.language-switcher{padding:4px 5px}.nav-links a{font-size:.47rem}}
@media(max-width:620px){.nav{position:relative;min-height:94px;align-items:flex-start;padding-top:14px}.brand img{width:88px}.nav-links{top:57px;left:0;right:auto}.language-switcher{position:absolute;top:50px;right:0;padding:5px 8px;font-size:.55rem}}

/* Traditional Chinese typography. */
.hero-copy>.eyebrow{color:#c7d0c1}
html[lang="zh-Hant"] body{font-family:Inter,"PingFang TC","Noto Sans TC","Microsoft JhengHei UI","Microsoft JhengHei",system-ui,sans-serif}html[lang="zh-Hant"] .intro,html[lang="zh-Hant"] p{line-height:1.7}
html[lang="zh-Hant"] .hero-copy .intro{max-width:1000px;font-size:clamp(1.05rem,2vw,1.4rem);color:#e4e8df}html[lang="zh-Hant"] .columns:has(p[hidden]){grid-template-columns:1fr;max-width:760px}html[lang="zh-Hant"] .section-head:has(>p[hidden]),html[lang="zh-Hant"] .block-head:has(>p[hidden]){grid-template-columns:1fr}html[lang="zh-Hant"] [hidden]{display:none!important}
@media(min-width:901px){html[lang="zh-Hant"] .hero-copy .intro,html[lang="zh-Hant"] .work-hero-content>p:last-child,html[lang="zh-Hant"] .project-hero-content>p:last-child,html[lang="zh-Hant"] .design-block .block-head>p{max-width:none;white-space:nowrap}}
@media(max-width:620px){.nav{position:relative}.nav-links{position:absolute;right:0}}

/* Animated FX collage behind the VFX & DESIGN hero. */
.work-page-hero{position:relative;isolation:isolate;min-height:min(84vh,850px);display:flex;align-items:flex-end;overflow:hidden;background:#050705}.work-hero-collage{position:absolute;z-index:-3;inset:-7%;overflow:hidden;background:#070907}.work-hero-tile{position:absolute;width:auto;max-width:none;height:auto;object-fit:cover;border:1px solid rgba(255,255,255,.1);box-shadow:0 25px 55px rgba(0,0,0,.42);filter:saturate(.9) contrast(1.08)}.work-hero-tile.tile-a{left:-2%;top:4%;width:34%;height:58%;transform:rotate(-7deg)}.work-hero-tile.tile-b{left:27%;top:-8%;width:30%;height:57%;transform:rotate(7deg)}.work-hero-tile.tile-c{right:17%;top:2%;width:31%;height:58%;transform:rotate(-5deg)}.work-hero-tile.tile-d{left:15%;bottom:-14%;width:39%;height:61%;transform:rotate(7deg)}.work-hero-tile.tile-e{right:-3%;bottom:-9%;width:44%;height:66%;transform:rotate(-8deg)}.work-hero-shade{position:absolute;z-index:-2;inset:0;background:linear-gradient(90deg,rgba(3,5,3,.97) 0%,rgba(3,5,3,.87) 42%,rgba(3,5,3,.48) 74%,rgba(3,5,3,.56) 100%),linear-gradient(0deg,rgba(3,5,3,.92),transparent 55%)}.work-hero-content{position:relative;z-index:1}.work-page-hero h1{text-shadow:0 3px 28px rgba(0,0,0,.62)}.work-page-hero .eyebrow{color:#d4dccf}
@media(max-width:620px){.work-page-hero{min-height:720px}.work-hero-collage{inset:-4%}.work-hero-tile.tile-a{left:-26%;top:2%;width:76%;height:56%}.work-hero-tile.tile-b{left:45%;top:-2%;width:68%;height:55%}.work-hero-tile.tile-c{display:none}.work-hero-tile.tile-d{left:-22%;bottom:-7%;width:75%;height:57%}.work-hero-tile.tile-e{right:-22%;bottom:-5%;width:76%;height:58%}.work-hero-shade{background:linear-gradient(0deg,rgba(3,5,3,.97) 0%,rgba(3,5,3,.84) 70%,rgba(3,5,3,.6) 100%)}}

/* Shared hero baseline across the three primary pages. */
.hero,.work-page-hero,.project-page-hero{min-height:100svh;align-items:flex-start}.work-page-hero,.project-page-hero{padding:0}.hero-copy,.work-hero-content,.project-hero-content{padding-top:clamp(112px,14vh,132px);padding-bottom:100px}.hero-copy>.eyebrow,.work-hero-content>.eyebrow,.project-hero-content>.eyebrow{margin-bottom:18px;color:#c7d0c1;font-size:clamp(1rem,1.6vw,1.24rem);line-height:1.65;font-weight:850;letter-spacing:.13em}
@media(max-height:780px) and (min-width:761px){h1{font-size:clamp(3.5rem,7.4vw,7.4rem)}.hero-copy,.work-hero-content,.project-hero-content{padding-top:104px;padding-bottom:92px}}@media(max-width:620px){.hero,.work-page-hero,.project-page-hero{min-height:100svh}.hero-copy,.work-hero-content,.project-hero-content{padding-top:122px;padding-bottom:108px}.hero-copy>.eyebrow,.work-hero-content>.eyebrow,.project-hero-content>.eyebrow{font-size:1rem;line-height:1.65}}
.hero-copy>.intro{color:#d7ddd2;font-size:clamp(1.05rem,2vw,1.4rem);line-height:1.65;margin-top:0;margin-bottom:1em}.work-hero-content>p:last-child,.project-hero-content>p:last-child{color:#d7ddd2;font-size:clamp(1.05rem,1.8vw,1.32rem);line-height:1.65;margin-top:0;margin-bottom:1em}
.scroll-cue{position:fixed;z-index:45;left:50%;bottom:92px;width:34px;height:34px;transform:translateX(-50%);opacity:.82;animation:scroll-cue-float 1.8s ease-in-out infinite;transition:opacity .25s,visibility .25s}.scroll-cue:before{content:"";position:absolute;left:9px;top:6px;width:13px;height:13px;border-right:2px solid rgba(238,242,234,.94);border-bottom:2px solid rgba(238,242,234,.94);transform:rotate(45deg)}.scroll-cue:hover:before{border-color:var(--bright)}.scroll-cue:focus-visible{outline:1px solid var(--bright);outline-offset:5px}.scroll-cue.is-hidden{visibility:hidden;pointer-events:none;opacity:0;animation:none}@keyframes scroll-cue-float{0%,100%{transform:translate(-50%,0);opacity:.55}50%{transform:translate(-50%,7px);opacity:1}}@media(prefers-reduced-motion:reduce){.scroll-cue{animation:none}}
.hero .actions .button{min-width:230px;transition:transform .24s ease,filter .24s ease,box-shadow .24s ease}.project-cta .button{min-width:220px}.hero .actions .button-arrow{display:inline-block;margin-left:.18em;transition:transform .24s ease}.hero .actions .button:hover{transform:translateY(-2px);filter:brightness(1.08);box-shadow:0 9px 22px rgba(0,0,0,.2)}.hero .actions .button:hover .button-arrow{transform:translate(3px,-3px)}.hero .actions .button:active{transform:translateY(0) scale(.97);filter:brightness(.98)}.hero .actions .button:active .button-arrow{transform:translate(1px,-1px)}@media(max-width:620px){.hero .actions .button{min-width:0;flex:1 1 150px}}@media(prefers-reduced-motion:reduce){.hero .actions .button,.hero .actions .button-arrow{transition:none}}
html[lang="zh-Hant"] .studio .columns p,html[lang="zh-Hant"] .showcase .section-head>p,html[lang="zh-Hant"] .capabilities .section-head>p,html[lang="zh-Hant"] .cap-list p,html[lang="zh-Hant"] .principles p,html[lang="zh-Hant"] .work-block:not(.design-block) .block-head>p,html[lang="zh-Hant"] .project-suite .block-head>p,html[lang="zh-Hant"] .project-cta>div>p:not(.eyebrow){color:#cbd2c7;font-size:clamp(.98rem,1.25vw,1.08rem)}@media(max-width:620px){html[lang="zh-Hant"] .cap-list p{font-size:.92rem}}
.hero-services a{font-size:1rem;font-weight:700}.hero-services b{font-size:.72rem;font-weight:700}

#game-vfx,#graphic-design,#game-development{scroll-margin-top:84px}
@media(min-width:761px){.hero{height:100svh;min-height:0}}
.studio .columns p,.showcase .section-head>p,.capabilities .section-head>p,.cap-list p,.principles p,.work-block:not(.design-block) .block-head>p,.project-suite .block-head>p,.project-cta>div>p:not(.eyebrow){color:#cbd2c7;font-size:clamp(.98rem,1.25vw,1.08rem);line-height:1.7}
html[lang="zh-Hant"] .button{font-size:.9rem;letter-spacing:.035em}
@media(max-width:620px){.cap-list p{font-size:.92rem}html[lang="zh-Hant"] .button{font-size:.84rem}}
.studio .split{grid-template-columns:1fr;gap:24px}.studio .split>.eyebrow{margin-bottom:0}.studio .split>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);align-items:center;gap:clamp(60px,10vw,160px);max-width:none}.studio h2{margin-bottom:0}.studio .columns{display:block;max-width:560px;margin-left:auto}.studio .columns p{margin:0}@media(max-width:900px){.studio .split>div{grid-template-columns:1fr;gap:32px}.studio .columns{max-width:760px;margin-left:0}}

/* Single focused VFX hero background. */
.work-hero-collage{display:none}.work-hero-bg{position:absolute;z-index:-3;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center 44%;filter:saturate(.9) contrast(1.06);transition:opacity .18s ease}.work-hero-shade{background:linear-gradient(90deg,rgba(3,5,3,.97) 0%,rgba(3,5,3,.86) 43%,rgba(3,5,3,.38) 76%,rgba(3,5,3,.52) 100%),linear-gradient(0deg,rgba(3,5,3,.9),transparent 55%)}
@media(max-width:620px){.work-hero-bg{object-position:center center}.work-hero-shade{background:linear-gradient(0deg,rgba(3,5,3,.97) 0%,rgba(3,5,3,.82) 70%,rgba(3,5,3,.5) 100%)}}

