:root{--bg:#090a10;--ink:#f8f8fb;--muted:#a0a0ae;--stroke:#272833;--accent:#a17bff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}.wrap{width:min(1280px,calc(100% - 9vw));margin:auto}.nav{height:82px;position:fixed;top:0;left:0;right:0;z-index:40;display:flex;align-items:center;padding:0 4.5vw;gap:5vw;background:rgba(8,9,16,.83);border-bottom:1px solid rgba(255,255,255,.09);backdrop-filter:blur(22px)}.brand{width:250px;display:block;flex-shrink:0}.brand img{width:100%;display:block}.nav nav{display:flex;gap:35px;margin-left:auto}.nav nav a{font-size:13px;font-weight:700;color:#c8c8d0;transition:color .2s}.nav nav a:hover{color:#fff}.nav-cta{border:1px solid #555362;border-radius:100px;padding:12px 20px;font-size:12px;font-weight:700;white-space:nowrap}.nav-cta span,.primary span,.secondary span{margin-left:16px}.menu{display:none;background:none;border:0;color:#fff;font-size:24px}.hero{min-height:810px;height:100vh;max-height:1100px;position:relative;display:flex;align-items:center;overflow:hidden}.hero-media{position:absolute;inset:0;background-position:center;background-size:cover;transform:scale(1.02);filter:saturate(1.16)}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#090a10 0%,transparent 28%,rgba(0,0,0,.18) 100%)}.hero-glow{position:absolute;width:50vw;height:50vw;left:-25vw;top:10vh;background:#5b36b1;filter:blur(150px);opacity:.18}.hero-content{position:relative;z-index:2;width:min(1280px,calc(100% - 9vw));margin:85px auto 0}.eyebrow,.kicker{font-size:11px;font-weight:700;letter-spacing:.25em;color:#c7b5ff}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#ac88ff;margin-right:12px;box-shadow:0 0 18px #9d70ff}.hero h1,h2,h3{font-family:'Space Grotesk',sans-serif}.hero h1{font-size:clamp(65px,9.5vw,152px);letter-spacing:-.085em;line-height:.93;margin:32px 0 30px;font-weight:700}.hero h1 em,.section-top h2 i,.services h2 i,.about h2 i,.contact h2 i{font-style:normal;background:linear-gradient(105deg,#fff,#a6a3ff 35%,#d67bf3 70%,#7c68e7);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-content>p{max-width:480px;font-size:17px;line-height:1.8;color:#d0cedb}.hero-actions{display:flex;gap:12px;margin-top:36px}.primary,.secondary{display:inline-flex;align-items:center;padding:17px 22px;border-radius:3px;font-size:13px;font-weight:700}.primary{background:#fff;color:#101017}.secondary{border:1px solid #aaa5b5}.hero-bottom{position:absolute;bottom:38px;left:4.5vw;right:4.5vw;display:flex;justify-content:space-between;z-index:2;font-size:10px;letter-spacing:.2em;color:#9c9ca7}.intro{padding:125px 0;display:grid;grid-template-columns:1fr 2fr;gap:70px}.line{display:inline-block;width:34px;height:1px;background:#b8a2ff;vertical-align:middle;margin-left:14px}.intro-copy{display:grid;grid-template-columns:1.4fr 1fr;align-items:end;gap:50px}.intro h2,.section-top h2,.services h2,.about h2,.contact h2{font-size:clamp(42px,5.2vw,76px);letter-spacing:-.065em;line-height:1.04;margin:0}.intro h2 span{color:#8f8f9c}.intro p,.section-top p,.about p,.contact p{color:#aaaab8;line-height:1.85;font-size:15px}.work-section{background:#101118;padding:110px 0 120px}.section-top{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:48px}.section-top h2{margin-top:24px}.section-top>p{max-width:320px}.filters{display:flex;gap:26px;border-bottom:1px solid #353541;margin-bottom:35px;overflow-x:auto}.filter{border:0;background:transparent;color:#858591;font-size:13px;font-weight:700;padding:0 0 17px;white-space:nowrap}.filter.active{color:#fff;border-bottom:2px solid #a389ff}.filter sup{font-size:9px;color:#8d83b6}.portfolio{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.project{position:relative;border:0;background:#191a23;text-align:left;color:#fff;padding:0;overflow:hidden;min-width:0}.thumb{position:relative;aspect-ratio:16/10;overflow:hidden;background:#222}.thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .55s}.project:hover img{transform:scale(1.065)}.thumb:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.3),transparent 55%)}.play{position:absolute;z-index:2;top:50%;left:50%;transform:translate(-50%,-50%);border:1px solid #ffffffa8;background:#0007;backdrop-filter:blur(8px);border-radius:50%;height:54px;width:54px;display:grid;place-items:center;font-size:18px}.project-info{display:flex;justify-content:space-between;align-items:center;padding:18px 19px 20px;gap:15px}.project-info strong{font-family:'Space Grotesk';font-size:16px}.project-info small{color:#9797a7;font-size:11px}.work-note{margin-top:26px;font-size:12px;color:#777786}.services{padding:120px 0}.service-list{border-top:1px solid var(--stroke)}.service-list article{display:grid;grid-template-columns:90px 1fr 45px;gap:15px;padding:35px 0;border-bottom:1px solid var(--stroke);align-items:center}.service-list article>span{color:#9281d2;font-size:13px}.service-list h3{font-size:clamp(23px,3vw,38px);margin:0 0 10px;letter-spacing:-.045em}.service-list p{margin:0;color:#9696a5;line-height:1.7;font-size:14px;max-width:700px}.service-list b{font-size:24px;font-weight:400;color:#a88aff}.about{background:radial-gradient(ellipse at 5% 20%,#2c2053 0%,transparent 55%),#15121f;padding:115px 0}.about-inner{display:grid;grid-template-columns:1fr 1fr;gap:15%}.about h2{margin-top:28px}.about p{font-size:17px;margin:0 0 20px}.about a{display:inline-block;margin-top:20px;border-bottom:1px solid #aa92ff;padding-bottom:8px;font-weight:700;font-size:13px}.about a span{margin-left:30px}.contact{padding:135px 0;display:grid;grid-template-columns:.9fr 1.1fr;gap:12%}.contact h2{margin:28px 0}.contact p{max-width:380px}.mail{display:inline-block;margin-top:22px;color:#d1b9ff;font-weight:700;border-bottom:1px solid #796b97;padding-bottom:9px}.contact-form{background:#13141d;border:1px solid #2a2b36;padding:36px}.two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-form label{display:block;font-size:12px;font-weight:700;margin-bottom:23px;color:#d9d9e1}.contact-form label span{color:#bca2ff}.contact-form input,.contact-form textarea,.contact-form select{width:100%;display:block;margin-top:11px;border:1px solid #373744;background:#0c0d14;color:#f5f5fa;border-radius:2px;padding:15px 14px;outline:none;resize:vertical}.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{border-color:#b197ff}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#676773}.honeypot{display:none!important}.submit{width:100%;display:flex;justify-content:space-between;border:0;background:#a38bff;color:#101019;font-weight:700;padding:18px 20px}.form-status{font-size:11px!important;margin:15px 0 0!important;color:#9292a1!important}footer{border-top:1px solid var(--stroke);padding:35px 0}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.footer-inner img{width:220px}.footer-inner div{display:flex;flex-direction:column;gap:7px;font-size:13px}.footer-inner small{color:#777787}.footer-inner>a{font-size:12px}.modal{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;padding:24px}.modal.open{display:flex}.modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.92)}.modal-inner{position:relative;z-index:1;width:min(1100px,100%)}.modal-close{position:absolute;right:0;top:-52px;background:none;color:white;border:0;font-size:38px}.modal-title{font-size:17px;font-weight:700;margin-bottom:12px}.modal video{width:100%;max-height:75vh;background:#000}.modal-help{font-size:12px;color:#b7b7c4}.modal-help a{color:#b6a1ff;text-decoration:underline}@media(max-width:900px){.nav{height:70px}.brand{width:190px}.nav nav{gap:16px}.nav-cta{display:none}.intro,.intro-copy,.about-inner,.contact{grid-template-columns:1fr;gap:30px}.portfolio{grid-template-columns:repeat(2,1fr)}.hero{min-height:720px}}@media(max-width:600px){.nav{padding:0 5vw}.brand{width:175px}.nav nav{display:none;position:absolute;top:70px;left:0;right:0;background:#101018;padding:20px 6vw;flex-direction:column}.nav nav.open{display:flex}.menu{display:block;margin-left:auto}.wrap,.hero-content{width:calc(100% - 40px)}.hero{height:90vh;min-height:660px}.hero h1{font-size:clamp(58px,15vw,90px)}.hero-content>p{font-size:15px}.hero-actions{flex-wrap:wrap}.intro,.work-section,.services,.about,.contact{padding-top:80px;padding-bottom:80px}.section-top{display:block}.portfolio{grid-template-columns:1fr}.two{grid-template-columns:1fr;gap:0}.contact-form{padding:22px}.service-list article{grid-template-columns:35px 1fr 20px}.footer-inner{align-items:start;flex-direction:column}.footer-inner img{width:190px}}

/* V1.1 — atmospheric cinematic sections, with imagery kept subordinate to the work */
.intro{position:relative;isolation:isolate}
.intro::before{content:"";position:absolute;inset:-55px -4.5vw -45px;z-index:-2;background:linear-gradient(90deg,rgba(9,10,16,.95) 2%,rgba(9,10,16,.79) 45%,rgba(9,10,16,.95)),url('assets/posters/CG&PV 04.jpg') center 40%/cover no-repeat;opacity:.45;filter:saturate(1.25)}
.intro::after{content:"";position:absolute;z-index:-1;inset:-55px -4.5vw -45px;background:radial-gradient(ellipse at 75% 40%,rgba(96,54,176,.18),transparent 55%);pointer-events:none}
.work-section{position:relative;isolation:isolate;background:linear-gradient(180deg,rgba(12,13,22,.94),rgba(10,11,19,.97) 36%,#0d0e17 100%)}
.work-section::before{content:"";position:absolute;inset:0;z-index:-2;background:url('assets/posters/CG&PV 02.jpg') center top/100% auto no-repeat;opacity:.15;mask-image:linear-gradient(to bottom,black,transparent 65%);pointer-events:none}
.work-section::after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse 58% 28% at 94% 4%,rgba(117,77,229,.15),transparent),radial-gradient(ellipse 45% 36% at 0% 75%,rgba(18,90,174,.12),transparent);pointer-events:none}
.work-section .section-top h2{max-width:820px}
.work-section .project{border:1px solid rgba(177,161,255,.12);box-shadow:0 16px 45px rgba(0,0,0,.2);transition:border-color .25s,box-shadow .25s,transform .25s}
.work-section .project:hover{border-color:rgba(185,149,255,.52);box-shadow:0 24px 60px rgba(60,35,122,.25);transform:translateY(-4px)}
.services{position:relative;isolation:isolate}
.services::before{content:"";position:absolute;z-index:-2;inset:0 -4.5vw;background:linear-gradient(90deg,#090a10 2%,rgba(9,10,16,.83) 54%,rgba(9,10,16,.91)),url('assets/posters/UA 05.jpg') center/cover no-repeat;opacity:.43}
.services::after{content:"";position:absolute;z-index:-1;inset:0 -4.5vw;background:radial-gradient(ellipse at 85% 50%,rgba(100,66,183,.16),transparent 60%);pointer-events:none}
.service-list article{transition:background .25s,padding .25s}
.service-list article:hover{background:rgba(133,96,217,.055);padding-left:12px}
.about{position:relative;isolation:isolate;background:#12101e}
.about::before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(14,10,29,.94),rgba(14,10,29,.77)),url('assets/posters/动画电影 01.jpg') center/cover no-repeat;opacity:.75}
.contact{position:relative;isolation:isolate}
.contact::before{content:"";position:absolute;z-index:-1;inset:0 -4.5vw;background:radial-gradient(ellipse at 7% 70%,rgba(92,57,173,.19),transparent 50%),radial-gradient(ellipse at 93% 10%,rgba(25,74,151,.12),transparent 45%);pointer-events:none}
@media(max-width:600px){.intro::before,.intro::after,.services::before,.services::after,.contact::before{left:-20px;right:-20px}.work-section::before{background-size:auto 700px}}

/* V1.2 hero typography: balanced three-part headline and stronger closing line */
.hero h1.hero-statement{font-size:clamp(37px,4.5vw,73px);line-height:1.13;letter-spacing:-.058em;max-width:1100px;margin:30px 0 26px}
.hero-statement .hero-lead{display:block;color:#fff}
.hero-statement em{display:block;font-style:normal;font-size:clamp(38px,5.3vw,86px);line-height:1.08;margin-top:18px;letter-spacing:-.065em}
.hero-content>p{max-width:650px}
@media(max-width:600px){.hero h1.hero-statement{font-size:clamp(31px,8.1vw,49px)}.hero-statement em{font-size:clamp(35px,8.5vw,55px)}.hero-statement .hero-lead br{display:none}}

/* V1.3: single-line desktop headline; high-contrast non-purple finish */
@media (min-width: 901px) {
  .hero h1.hero-statement {max-width:none; width:100%; font-size:clamp(27px,3.28vw,57px); letter-spacing:-.057em}
  .hero-statement .hero-lead {white-space:nowrap}
}
.hero-statement em,
.hero h1.hero-statement em {
  background:linear-gradient(100deg,#ffffff 0%,#fff7e6 30%,#ffe0a8 60%,#f7fbff 83%,#b9e9ff 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  -webkit-text-fill-color:transparent;
  filter:drop-shadow(0 3px 13px rgba(0,0,0,.85));
}
@media (min-width: 901px) {
  .hero-statement em {font-size:clamp(39px,5.1vw,84px)}
}
@media (max-width: 900px) {
  .hero-statement .hero-lead {white-space:normal}
}

/* V1.4 — clear core services and production capabilities */
.hero-services{display:block;color:#fff;font-size:16px;font-weight:700;line-height:1.6;letter-spacing:.002em}
.hero-capabilities{display:block;color:#d6d3e2;font-size:15px;line-height:1.75;margin-top:5px}
.hero-content>p{max-width:920px}
.services .section-top>p{max-width:390px}
.service-group-label{display:flex;justify-content:space-between;gap:20px;align-items:center;color:#bfaaff;font-size:11px;font-weight:700;letter-spacing:.22em;margin:54px 0 16px}
.service-group-label.supporting{margin-top:70px;color:#aeb1c9}
.service-list article{grid-template-columns:90px minmax(0,1fr) 45px;align-items:start;padding:32px 0}
.service-list h3{font-size:clamp(26px,2.8vw,37px)}
.service-list p{max-width:830px;color:#b5b3c3;font-size:15px;line-height:1.75}
.service-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:17px}
.service-tags span{font-size:11px;letter-spacing:.015em;color:#c6b8f6;border:1px solid rgba(166,145,225,.28);background:rgba(111,77,179,.09);padding:6px 10px;border-radius:100px}
.service-list-secondary h3{font-size:clamp(23px,2.5vw,32px)}
.service-list-secondary article{padding:26px 0}
.service-list-secondary article>span{color:#8586aa}
@media(max-width:600px){.hero-services{font-size:14px}.hero-capabilities{font-size:13px}.service-list article{grid-template-columns:35px minmax(0,1fr) 20px}.service-group-label{margin-top:35px}.service-group-label.supporting{margin-top:50px}}

/* V1.5 — quieter navigation logo, cleaner hero after eyebrow removal */
@media(min-width:901px){.nav .brand{width:194px}.nav{gap:4vw}}
@media(min-width:601px) and (max-width:900px){.nav .brand{width:164px}}
@media(max-width:600px){.nav .brand{width:143px}}
.hero h1.hero-statement{margin-top:0}
