:root{--bg-dark:#0a0a0a;--bg-light:#f5f5f0;--text-light:#fff;--text-dark:#1a1a1a;--accent:#c8a86e;--accent-hover:#d4b97e;--text-muted:#fff6;--border-subtle:#ffffff14;--hero-accent:#c8a86e;--hero-accent-soft:#c8a86e3d;--portfolio-accent:#c8a86e;--portfolio-tint:#c8a86e33;--font-en:"Space Grotesk", -apple-system, sans-serif;--font-display-en:"Cormorant Garamond", Georgia, serif;--font-zh:"PingFang SC", "Noto Sans SC", -apple-system, sans-serif;--font-body:var(--font-zh);--section-padding:120px 60px;--container-max:1400px;--nav-safe-offset:112px;--ease-out-expo:cubic-bezier(.16, 1, .3, 1);--ease-out-quart:cubic-bezier(.25, 1, .5, 1);--duration-fast:.3s;--duration-normal:.6s;--duration-slow:1.2s}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:auto;font-size:16px}body{font-family:var(--font-body);background-color:var(--bg-dark);color:var(--text-light);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;cursor:auto;overflow-x:hidden}.site-vignette,.site-texture{pointer-events:none;position:fixed;inset:0}.site-vignette{z-index:3;mix-blend-mode:multiply;opacity:.75;background:radial-gradient(circle at 50% 12%,#ffffff0a 0%,#0000 36%),radial-gradient(circle,#0000 48%,#00000061 100%)}.site-texture{z-index:4;opacity:.35;mix-blend-mode:soft-light;background-image:radial-gradient(circle at 18% 22%,#ffffff0b 0%,#0000 24%),radial-gradient(circle at 78% 18%,#ffffff08 0%,#0000 20%),repeating-linear-gradient(0deg,#ffffff04 0 1px,#0000 1px 3px),repeating-linear-gradient(90deg,#ffffff02 0 1px,#0000 1px 4px);animation:18s ease-in-out infinite textureDrift}@keyframes textureDrift{0%{transform:translate(0,0)}25%{transform:translate(-.35%,.25%)}50%{transform:translate(.25%,-.2%)}75%{transform:translate(-.2%,.3%)}to{transform:translate(0,0)}}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}.cursor{display:none!important}.loader{background:var(--bg-dark);z-index:9999;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.loader-logo{opacity:0;flex-direction:column;align-items:center;gap:24px;display:flex}.loader-logo-img{filter:invert();border-radius:50%;width:80px;height:80px}.loader-text{flex-direction:column;align-items:center;gap:4px;display:flex}.loader-title{font-family:var(--font-en);letter-spacing:.5em;color:var(--text-light);font-size:2rem;font-weight:300}.loader-subtitle{letter-spacing:.3em;color:var(--text-muted);font-size:1rem;font-weight:300}.nav{z-index:100;width:100%;transition:background-color var(--duration-fast) ease, backdrop-filter var(--duration-fast) ease;justify-content:space-between;align-items:center;padding:24px 40px;display:flex;position:fixed;top:0;left:0}.nav.is-scrolled{-webkit-backdrop-filter:blur(20px);background-color:#0a0a0ad9}.nav-menu-btn{z-index:101;flex-direction:column;gap:6px;padding:8px;display:flex}.nav-menu-btn span{background:var(--text-light);width:24px;height:1.5px;transition:transform var(--duration-fast) ease, opacity var(--duration-fast) ease;display:block}.nav-menu-btn.is-active span:first-child{transform:rotate(45deg)translate(2.5px,2.5px)}.nav-menu-btn.is-active span:last-child{transform:rotate(-45deg)translate(2.5px,-2.5px)}.nav-brand{font-family:var(--font-en);align-items:center;gap:12px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.nav-brand-en{letter-spacing:.3em;font-size:1rem;font-weight:400}.nav-brand-zh{letter-spacing:.15em;opacity:.6;font-size:.85rem}.nav-lang{font-family:var(--font-en);letter-spacing:.1em;opacity:.6;transition:opacity var(--duration-fast) ease;padding:8px;font-size:.85rem}.nav-lang:hover{opacity:1}.nav-lang .lang-active{opacity:1;color:var(--text-light)}.nav-lang .lang-divider{opacity:.3;margin:0 4px}.nav-slideout{opacity:0;align-items:center;gap:32px;max-width:0;margin-left:16px;margin-right:auto;display:flex;overflow:hidden}.nav-slideout-link{letter-spacing:.15em;text-transform:uppercase;opacity:0;white-space:nowrap;font-size:.85rem;font-weight:400;transition:color .2s;position:relative}.nav-slideout-link:hover{color:var(--accent)}.nav-slideout-link:after{content:"";background:var(--accent);width:0;height:1px;transition:width .3s cubic-bezier(.16,1,.3,1);position:absolute;bottom:-2px;left:0}.nav-slideout-link:hover:after{width:100%}.nav-links{align-items:center;gap:36px;list-style:none;display:flex}.nav-link{letter-spacing:.15em;opacity:.5;transition:opacity var(--duration-fast) ease, color var(--duration-fast) ease;font-size:.8rem;position:relative}.nav-link:after{content:"";background:var(--accent);width:0;height:1px;transition:width var(--duration-fast) var(--ease-out-expo);position:absolute;bottom:-4px;left:0}.nav-link:hover{opacity:1}.nav-link:hover:after{width:100%}.mobile-menu{-webkit-backdrop-filter:blur(30px);z-index:99;opacity:0;pointer-events:none;width:100%;height:100%;transition:opacity var(--duration-normal) var(--ease-out-expo);background:#0a0a0af2;justify-content:center;align-items:center;display:flex;position:fixed;top:0;left:0}.mobile-menu.is-open{opacity:1;pointer-events:auto}.mobile-menu-inner{flex-direction:column;align-items:center;gap:32px;display:flex}.mobile-menu-link{letter-spacing:.1em;opacity:0;transition:opacity var(--duration-normal) var(--ease-out-expo), transform var(--duration-normal) var(--ease-out-expo), color var(--duration-fast) ease;font-size:2rem;font-weight:300;transform:translateY(20px)}.mobile-menu.is-open .mobile-menu-link{opacity:1;transform:translateY(0)}.mobile-menu-link:hover{color:var(--accent)}.mobile-menu.is-open .mobile-menu-link:first-child{transition-delay:50ms}.mobile-menu.is-open .mobile-menu-link:nth-child(2){transition-delay:.1s}.mobile-menu.is-open .mobile-menu-link:nth-child(3){transition-delay:.15s}.mobile-menu.is-open .mobile-menu-link:nth-child(4){transition-delay:.2s}.mobile-menu.is-open .mobile-menu-link:nth-child(5){transition-delay:.25s}.section-container{max-width:var(--container-max);padding:var(--section-padding);margin:0 auto}.section-header{flex-direction:column;align-items:flex-start;margin-bottom:80px;display:flex}.section-index{color:#ffffff70;letter-spacing:.34em;align-items:center;gap:12px;margin-bottom:16px;font-size:.72rem;font-weight:500;line-height:1;display:inline-flex}.section-index:after{content:"";opacity:.55;background:currentColor;width:56px;height:1px}.section-title{letter-spacing:.05em;margin-bottom:0;font-size:2.5rem;font-weight:300}@media (prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.site-texture{opacity:.22;animation:none}}.about{background:var(--bg-dark)}.about-content{max-width:800px}.about-text{color:#ffffffd9;white-space:pre-line;font-size:1.125rem;font-weight:400;line-height:2}.team{background:var(--bg-dark);border-top:1px solid var(--border-subtle)}.team-content{align-items:flex-start;gap:80px;display:flex}.team-photo{border-radius:4px;flex-shrink:0;width:320px;overflow:hidden}.team-photo img{filter:grayscale(20%);width:100%;height:auto;transition:filter var(--duration-normal) ease}.team-photo:hover img{filter:grayscale(0%)}.team-info{flex:1}.team-name{margin-bottom:8px;font-size:2rem;font-weight:400}.team-role{font-family:var(--font-en);letter-spacing:.15em;color:var(--accent);margin-bottom:32px;font-size:.9rem}.team-bio{color:#ffffffd9;white-space:pre-line;font-size:1rem;font-weight:400;line-height:1.9}.footer{background:var(--bg-dark);border-top:1px solid var(--border-subtle);padding:80px 60px 48px;position:relative}.footer:before{content:"";background:var(--accent);width:60px;height:1px;position:absolute;top:-1px;left:50%;transform:translate(-50%)}.footer-inner{max-width:var(--container-max);margin:0 auto}.footer-columns{border-bottom:1px solid var(--border-subtle);grid-template-columns:1fr 1fr 1fr;gap:60px;padding-bottom:48px;display:grid}.footer-col-label{font-family:var(--font-en);letter-spacing:.2em;text-transform:uppercase;opacity:.45;border-bottom:1px solid var(--border-subtle);margin-bottom:24px;padding-bottom:16px;font-size:.7rem;font-weight:400}.footer-nav{flex-direction:column;gap:12px;display:flex}.footer-nav-link{opacity:.65;transition:opacity var(--duration-fast) ease, color var(--duration-fast) ease;font-size:.9rem;font-weight:400;display:block}.footer-nav-link:hover{opacity:1;color:var(--accent)}.footer-contact-list{flex-direction:column;gap:12px;display:flex}.footer-address{opacity:.5;margin-top:4px;font-size:.85rem;line-height:1.6}.footer-col-brand{flex-direction:column;justify-content:flex-start;align-items:flex-end;gap:16px;padding-top:0;display:flex}.footer-logo{opacity:.5;width:48px;height:48px;transition:opacity var(--duration-fast) ease;border-radius:50%}.footer-col-brand:hover .footer-logo{opacity:.8}.footer-brand-name{font-family:var(--font-en);letter-spacing:.35em;opacity:.4;font-size:.85rem;font-weight:300}.footer-bottom{text-align:center;padding-top:24px}.footer-copy{font-family:var(--font-en);opacity:.2;letter-spacing:.08em;font-size:.7rem}.reveal{opacity:0;transform:translateY(40px)}.reveal.is-visible{opacity:1;transform:translateY(0)}.scroll-to-top{z-index:50;-webkit-backdrop-filter:blur(8px);color:#ffffff80;opacity:0;pointer-events:none;background:#0a0a0ab3;border:1px solid #ffffff26;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;transition:opacity .3s,transform .3s,border-color .3s,color .3s;display:flex;position:fixed;bottom:32px;right:32px;transform:translateY(10px)}.scroll-to-top.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}.scroll-to-top:hover{border-color:var(--accent);color:var(--accent);background:#c8a86e1a}[data-lang=en] .about-text{letter-spacing:.01em;line-height:1.8}[data-lang=en] .team-bio{letter-spacing:.01em;line-height:1.75}[data-lang=en] .team-name{font-family:var(--font-en);letter-spacing:.05em;font-size:1.8rem;font-weight:300}[data-lang=en] .section-title{font-family:var(--font-en);letter-spacing:.08em;font-weight:300}[data-lang=en] .section-index{letter-spacing:.28em;font-size:.68rem}[data-lang=en] .footer-nav-link{letter-spacing:.02em}[data-lang=en] .portfolio-card-title-zh{font-family:var(--font-en);letter-spacing:.02em}.hero{background:var(--bg-dark);width:100%;height:100vh;position:relative;overflow:hidden}.hero-backgrounds{z-index:1;position:absolute;inset:0}.hero-bg-group{opacity:0;visibility:hidden;z-index:1;transition:opacity 1.2s var(--ease-out-expo);position:absolute;inset:0}.hero-bg-group.is-active{opacity:1;visibility:visible;z-index:2}.hero-bg-layer{opacity:0;transition:opacity 1.5s ease-in-out;position:absolute;inset:0}.hero-bg-layer.is-visible{opacity:1}.hero-bg-layer img,.hero-bg-layer video{object-fit:cover;object-position:center;width:100%;height:100%}.hero-still-dots{display:none}@media (width<=768px){.hero-still-dots{z-index:4;-webkit-backdrop-filter:blur(8px);background:#0000004d;border-radius:20px;gap:8px;padding:6px 10px;display:flex;position:absolute;bottom:100px;right:20px}.hero-still-dot{cursor:pointer;background:#ffffff59;border:none;border-radius:50%;width:7px;height:7px;padding:0;transition:background .3s,transform .3s}.hero-still-dot.is-active{background:#ffffffe6;transform:scale(1.25)}}.hero-bg-placeholder{background:var(--bg-dark);width:100%;height:100%}.hero-backgrounds:after{content:"";z-index:2;background:linear-gradient(90deg,#0a0a0ad9 0%,#0a0a0a66 50%,#0a0a0a33 100%),linear-gradient(#0000 70%,#0a0a0a99 100%);position:absolute;inset:0}.hero-content{z-index:3;flex-direction:column;justify-content:flex-end;height:100%;padding:0 60px 80px;display:flex;position:relative}.hero-film-list{flex-direction:column;gap:2px;display:flex}.hero-film-item{cursor:default;transition:opacity var(--duration-fast) ease;opacity:.35;align-items:baseline;gap:16px;padding:6px 0;display:flex;position:relative}.hero-film-item.is-active{opacity:1}.hero-film-name-zh{font-family:"Noto Sans SC", var(--font-zh);letter-spacing:.02em;cursor:pointer;transition:font-size .4s cubic-bezier(.16, 1, .3, 1), font-weight .4s ease, color var(--duration-fast) ease;white-space:nowrap;font-size:clamp(1.4rem,2.2vw,2rem);font-weight:700;line-height:1.2}.hero-film-item.is-active .hero-film-name-zh{color:var(--text-light);font-size:clamp(2.5rem,5vw,4.5rem);font-weight:900}[data-lang=en] .hero-film-name-zh{font-family:"Montserrat", var(--font-en);letter-spacing:.04em;font-weight:900}[data-lang=en] .hero-film-item.is-active .hero-film-name-zh{font-size:clamp(2.8rem,5vw,4.5rem);font-weight:900}.hero-film-name-en{font-family:"Montserrat", var(--font-en);letter-spacing:.15em;text-transform:uppercase;opacity:0;transition:opacity var(--duration-fast) ease, transform var(--duration-fast) ease, font-size .4s cubic-bezier(.16, 1, .3, 1);white-space:nowrap;font-size:clamp(.7rem,1vw,.85rem);font-weight:400;transform:translate(-10px)}.hero-film-item.is-active .hero-film-name-en,.hero-film-item:hover .hero-film-name-en{opacity:.8;font-size:clamp(1rem,1.6vw,1.3rem);transform:translate(0)}.hero-film-year{font-family:var(--font-en);opacity:0;transition:opacity var(--duration-fast) ease;color:var(--accent);font-size:.8rem;font-weight:300}.hero-film-item.is-active .hero-film-year,.hero-film-item:hover .hero-film-year{opacity:.8}.hero-film-coming-soon{letter-spacing:.15em;opacity:0;transition:opacity var(--duration-fast) ease;color:var(--accent);text-transform:uppercase;font-size:.7rem}.hero-film-item.is-active .hero-film-coming-soon,.hero-film-item:hover .hero-film-coming-soon{opacity:.6}.hero-detail-btn{margin-top:40px;padding-left:4px}.btn-view-detail{letter-spacing:.15em;text-transform:uppercase;opacity:.6;transition:opacity var(--duration-fast) ease, gap var(--duration-fast) ease;cursor:pointer;align-items:center;gap:12px;font-size:.85rem;display:inline-flex}.btn-view-detail:hover{opacity:1;gap:20px}.btn-arrow{font-family:var(--font-en);transition:transform var(--duration-fast) ease}.btn-view-detail:hover .btn-arrow{transform:translate(4px)}.hero-scroll-indicator{z-index:3;flex-direction:column;align-items:center;display:flex;position:absolute;bottom:40px;right:60px}.scroll-line{background:linear-gradient(#fff6,#0000);width:1px;height:60px;position:relative;overflow:hidden}.scroll-line:after{content:"";background:var(--accent);width:100%;height:100%;animation:scrollDown 2s var(--ease-out-expo) infinite;position:absolute;top:-100%;left:0}@keyframes scrollDown{0%{top:-100%}to{top:100%}}.portfolio{--portfolio-accent:var(--accent);--portfolio-tint:#c8a86e33;background:var(--bg-dark);scroll-margin-top:calc(var(--nav-safe-offset) - 16px);padding-bottom:40px;position:relative;overflow:hidden}#portfolio-backgrounds{z-index:0;position:absolute;inset:0;overflow:hidden}.portfolio-header{padding:var(--nav-safe-offset) 60px 20px;text-align:left;z-index:2;position:relative}.portfolio-header:after{content:"";background:linear-gradient(90deg, var(--portfolio-accent), transparent);width:72px;height:1px;margin-top:18px;transition:background .6s;display:block}.portfolio .section-title{color:var(--text-light)}.portfolio .section-index{color:#ffffff75}.portfolio-bg{filter:blur(36px)brightness(.24);opacity:0;z-index:0;will-change:opacity;backface-visibility:hidden;background-position:50%;background-size:cover;transition:opacity .6s;position:absolute;inset:0;transform:scale(1.2)}.portfolio-bg:before,.portfolio-bg:after{content:"";position:absolute;inset:0}.portfolio-bg:before{background:var(--portfolio-glow), linear-gradient(180deg, #06080c1a 0%, #06080cad 100%);mix-blend-mode:screen;opacity:.85}.portfolio-bg:after{background:var(--portfolio-mesh), linear-gradient(90deg, #06080cc7 0%, #06080c47 52%, #06080cbf 100%);opacity:1}.portfolio-bg.is-active{opacity:1}.portfolio-flare{z-index:1;filter:blur(70px);mix-blend-mode:screen;opacity:0;pointer-events:none;border-radius:999px;position:absolute;inset:12% 16% 20%}.portfolio-signature{z-index:2;pointer-events:none;align-items:flex-end;display:flex;position:absolute;bottom:54px;right:56px}.portfolio-signature-counter{font-family:var(--font-en);letter-spacing:-.1em;color:#ffffff1f;text-shadow:0 0 28px #0003;font-size:clamp(3.4rem,7vw,6.4rem);font-weight:600;line-height:.85}.portfolio-coverflow{perspective:1200px;perspective-origin:50%;z-index:2;width:100%;height:80vh;position:relative}.portfolio-card{width:min(440px,42vh);transform-style:preserve-3d;cursor:pointer;will-change:transform;position:absolute;top:50%;left:50%}.portfolio-card-poster{aspect-ratio:2/3;border-radius:4px;width:100%;transition:box-shadow .4s,transform .4s;position:relative;overflow:hidden;box-shadow:0 15px 50px #00000080,0 0 0 1px #ffffff0f}.portfolio-card-poster:after{content:"";pointer-events:none;opacity:.7;background:linear-gradient(#ffffff14 0%,#0000 24% 74%,#00000038 100%),radial-gradient(circle at 50% 0,#ffffff1f,#0000 45%);border:1px solid #ffffff14;position:absolute;inset:0}.portfolio-card-poster img{object-fit:cover;transform-origin:50%;width:100%;height:100%;display:block}.portfolio-card.is-active .portfolio-card-poster{box-shadow:0 28px 90px #000000bd, 0 0 0 1px #ffffff1f, 0 0 48px var(--portfolio-tint)}.portfolio-card-info{text-align:center;opacity:0;margin-top:20px;transition:opacity .4s .15s,transform .4s cubic-bezier(.16,1,.3,1) .15s;transform:translateY(8px)}.portfolio-card.is-active .portfolio-card-info{opacity:1;transform:translateY(0)}.portfolio-card-title-zh{color:var(--text-light);margin-bottom:4px;font-size:1.75rem;font-weight:600;line-height:1.2}.portfolio-card-title-en{font-family:var(--font-display-en);letter-spacing:.14em;text-transform:uppercase;color:#ffffff8f;margin-bottom:10px;font-size:1.02rem;font-style:italic;font-weight:600}.portfolio-card-year{font-family:var(--font-en);letter-spacing:.24em;color:var(--portfolio-accent);font-size:.75rem}.portfolio-card-badge{font-family:var(--font-en);letter-spacing:.2em;text-transform:uppercase;color:var(--text-light);background:#c8a86ecc;border-radius:2px;margin-top:4px;padding:3px 8px;font-size:.55rem;display:inline-block}.portfolio-nav{z-index:10;color:#fff9;cursor:pointer;background:#ffffff08;border:1px solid #ffffff40;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;transition:border-color .3s,color .3s,background .3s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.portfolio-nav:hover{border-color:var(--portfolio-accent);color:var(--portfolio-accent);background:var(--portfolio-tint)}.portfolio-nav--prev{left:40px}.portfolio-nav--next{right:40px}.modal-overlay{-webkit-backdrop-filter:blur(8px);z-index:200;opacity:0;pointer-events:none;will-change:opacity;background:#0a0a0af0;display:block;position:fixed;inset:0;overflow-y:hidden}.modal-overlay.is-open{pointer-events:auto;overflow-y:auto}.modal{border-radius:12px;width:92%;max-width:1280px;margin:48px auto;position:relative;overflow:hidden;box-shadow:0 32px 100px #0009,0 0 0 1px #ffffff0f}.modal-atmosphere{filter:blur(40px)brightness(.2)saturate(1.2);z-index:0;background-position:50%;background-size:cover;position:absolute;inset:0;transform:scale(1.3)}.modal-atmosphere:after{content:"";background:linear-gradient(#1119 0%,#111111d9 100%),radial-gradient(circle at 30% 20%,#ffffff08,#0000 60%);position:absolute;inset:0}.modal-body{z-index:1;-webkit-backdrop-filter:blur(24px);border-radius:inherit;background:#111111a6;gap:0;display:flex;position:relative}.modal:before{content:"";border-radius:inherit;pointer-events:none;z-index:2;border:1px solid #ffffff14;position:absolute;inset:0}.modal-close{z-index:10;color:var(--text-light);opacity:.45;transition:opacity var(--duration-fast) ease, transform var(--duration-fast) ease;-webkit-backdrop-filter:blur(8px);background:#0000004d;border-radius:50%;padding:12px;position:absolute;top:16px;right:16px}.modal-close:hover{opacity:1;transform:rotate(90deg)}.modal-poster{flex-shrink:0;justify-content:center;align-items:flex-start;width:380px;padding:40px;display:flex}.modal-poster img{aspect-ratio:2/3;object-fit:cover;border-radius:4px;width:100%;box-shadow:0 16px 48px #00000080,0 0 0 1px #ffffff14}.modal-content{flex-direction:column;flex:1;min-width:0;padding:40px 40px 40px 0;display:flex}.modal-info{position:relative}.modal-header{border-bottom:1px solid;border-image:linear-gradient(90deg,#c8a86e66,#ffffff0f) 1;margin-bottom:20px;padding-bottom:20px}.modal-title-zh{letter-spacing:.02em;color:var(--text-light);margin-bottom:6px;font-size:2rem;font-weight:500}.modal-title-en{font-family:var(--font-display-en);letter-spacing:.14em;text-transform:uppercase;opacity:.5;font-size:1.1rem;font-style:italic;font-weight:600}.modal-meta{gap:24px;margin-bottom:24px;font-size:.9rem;display:flex}.modal-year{font-family:var(--font-en);color:var(--accent);letter-spacing:.05em}.modal-director{opacity:.5}.modal-synopsis{color:#ffffffb8;white-space:pre-line;font-size:.95rem;font-weight:300;line-height:1.9}.modal-media{border-radius:6px;width:100%;margin-top:28px;position:relative;overflow:hidden}.modal-media .swiper{aspect-ratio:16/9;background:#0006;border-radius:6px;width:100%;overflow:hidden}.modal-media:after{content:"";pointer-events:none;z-index:2;border:1px solid #ffffff0f;border-radius:6px;position:absolute;inset:0}.modal-media .swiper-slide img,.modal-media .swiper-slide video{object-fit:cover;width:100%;height:100%}.modal-media .swiper-pagination{bottom:12px!important}.modal-media .swiper-pagination-bullet{background:var(--text-light);opacity:.4;width:5px;height:5px}.modal-media .swiper-pagination-bullet-active{opacity:1;background:var(--accent)}.modal-media .swiper-button-prev,.modal-media .swiper-button-next{color:#0000;-webkit-backdrop-filter:blur(8px);background-color:#ffffff0a;background-position:50%;background-repeat:no-repeat;background-size:14px 14px;border:1px solid #fff3;border-radius:50%;width:32px;height:32px;transition:border-color .3s,background-color .3s,transform .3s}.modal-media .swiper-button-prev:after,.modal-media .swiper-button-next:after{display:none}.modal-media .swiper-button-prev{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgba(255,255,255,0.5)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='15 18 9 12 15 6'/%3E%3C/svg%3E")}.modal-media .swiper-button-next{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgba(255,255,255,0.5)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 6 15 12 9 18'/%3E%3C/svg%3E")}.modal-media .swiper-button-prev:hover,.modal-media .swiper-button-next:hover{border-color:var(--accent);background-color:#c8a86e1f;transform:scale(1.08)}.modal-media .swiper-button-prev:hover{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23c8a86e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='15 18 9 12 15 6'/%3E%3C/svg%3E")}.modal-media .swiper-button-next:hover{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23c8a86e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 6 15 12 9 18'/%3E%3C/svg%3E")}.modal-media .swiper-button-prev.swiper-button-disabled,.modal-media .swiper-button-next.swiper-button-disabled{opacity:.15}.modal-overlay::-webkit-scrollbar{width:4px}.modal-overlay::-webkit-scrollbar-track{background:0 0}.modal-overlay::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:2px}.modal-film-nav{z-index:210;color:#ffffff80;cursor:pointer;-webkit-backdrop-filter:blur(8px);background:#ffffff0a;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;transition:border-color .3s,color .3s,background .3s,transform .3s;display:flex;position:fixed;top:50%;transform:translateY(-50%)}.modal-film-nav:hover{border-color:var(--accent);color:var(--accent);background:#c8a86e1f;transform:translateY(-50%)scale(1.08)}.modal-film-nav--prev{left:20px}.modal-film-nav--next{right:20px}.modal-body{transition:opacity .2s}.modal-body.is-switching{opacity:.3}@media (width<=1024px){:root{--section-padding:80px 40px;--nav-safe-offset:104px}.hero-content{padding:80px 40px 0}.hero-film-name-zh{font-size:clamp(1.5rem,3vw,2.5rem)}.portfolio-card{width:200px}.portfolio-coverflow{height:450px}.team-content{gap:48px}.team-photo{width:260px}}@media (width<=768px){:root{--section-padding:60px 24px;--nav-safe-offset:96px}body{cursor:auto}button,a,.portfolio-card,.hero-film-item{cursor:pointer}.nav{padding:16px 20px}.nav-links{display:none}.nav-slideout{display:none!important}.nav-brand-en{letter-spacing:.2em;font-size:.85rem}.nav-brand-zh{letter-spacing:.1em;font-size:.75rem}.hero-content{justify-content:flex-end;padding:80px 24px 100px}.hero-film-list{gap:0}.hero-film-item{flex-direction:column;gap:4px;padding:0;display:none}.hero-film-item.is-active{opacity:1;display:flex}.hero-film-item.is-active .hero-film-name-en{opacity:.5;transform:translate(0)}.hero-film-item.is-active .hero-film-year{opacity:.8}.hero-film-name-zh{white-space:normal;font-size:clamp(1.6rem,8vw,2.2rem);line-height:1.15}.hero-film-name-en{font-size:clamp(.65rem,3vw,.85rem)}.hero-mobile-nav{align-items:center;gap:16px;margin-top:20px;display:flex}.hero-mobile-dots{gap:6px;display:flex}.hero-mobile-dot{width:6px;height:6px;transition:background var(--duration-fast) ease, transform var(--duration-fast) ease;background:#ffffff4d;border-radius:50%}.hero-mobile-dot.is-active{background:var(--text-light);transform:scale(1.3)}.hero-mobile-arrow{color:#fff9;background:0 0;border:1px solid #ffffff4d;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:.9rem;display:flex}.hero-scroll-indicator{bottom:24px;right:24px}.portfolio-coverflow{perspective:800px;height:400px}.portfolio-card{width:180px}.portfolio-nav{display:none}.portfolio-header{padding:var(--nav-safe-offset) 24px 24px}.portfolio-card-title-zh{font-size:1.1rem}.portfolio-header:after{width:56px}.portfolio-signature{bottom:28px;right:24px}.portfolio-signature-counter{font-size:2.6rem}.section-header{margin-bottom:48px}.section-index{letter-spacing:.28em;margin-bottom:14px;font-size:.68rem}.section-index:after{width:42px}.section-title{font-size:1.8rem}.about-text{font-size:1rem;line-height:1.8}.team-content{flex-direction:column;gap:32px}.team-photo{width:100%;max-width:300px}.team-name{font-size:1.5rem}.team-bio{font-size:.9rem}.modal{border-radius:8px;width:95%;margin:24px auto}.modal-body{flex-direction:column}.modal-poster{width:100%;max-width:280px;margin:0 auto;padding:28px 28px 0}.modal-content{padding:24px}.modal-info{padding:0}.modal-title-zh{font-size:1.5rem}.modal-title-en{font-size:.85rem}.modal-meta{gap:16px;font-size:.85rem}.modal-synopsis{font-size:.9rem;line-height:1.8}.modal-close{padding:8px;top:10px;right:10px}.modal-film-nav{display:none}.footer{padding:48px 24px 32px}.footer-columns{text-align:center;grid-template-columns:1fr;gap:32px}.footer-col{flex-direction:column;align-items:center;display:flex}.footer-col-brand{order:-1;align-items:center}.footer-nav{flex-flow:wrap;justify-content:center;gap:24px}.footer-contact-list{text-align:center;align-items:center}.footer-address,.footer-col-label{text-align:center}}@media (width<=480px){.portfolio-card{width:150px}.portfolio-coverflow{height:360px}.portfolio-signature{display:none}}@media (width>=769px){.hero-mobile-nav{display:none}.mobile-menu{display:none!important}}:root{--swiper-theme-color:#007aff}:host{z-index:1;margin-left:auto;margin-right:auto;display:block;position:relative}.swiper{z-index:1;margin-left:auto;margin-right:auto;padding:0;list-style:none;display:block;position:relative;overflow:hidden}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{z-index:1;width:100%;height:100%;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);box-sizing:content-box;display:flex;position:relative}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translate(0,0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;transition-property:transform;display:block;position:relative}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{backface-visibility:hidden;transform:translateZ(0)}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-slide,.swiper-3d .swiper-cube-shadow{transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{scrollbar-width:none;-ms-overflow-style:none;overflow:auto}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-slides-offset-before);scroll-margin-inline-start:var(--swiper-slides-offset-before)}.swiper-css-mode.swiper-horizontal>.swiper-wrapper>.swiper-slide:last-child{margin-inline-end:var(--swiper-slides-offset-after)}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-slides-offset-before);scroll-margin-block-start:var(--swiper-slides-offset-before)}.swiper-css-mode.swiper-vertical>.swiper-wrapper>.swiper-slide:last-child{margin-block-end:var(--swiper-slides-offset-after)}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper:before{content:"";flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper:before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-slide-shadow-bottom{pointer-events:none;z-index:10;width:100%;height:100%;position:absolute;top:0;left:0}.swiper-3d .swiper-slide-shadow{background:#00000026}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(270deg,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(90deg,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(#0000,#00000080)}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(#00000080,#0000)}.swiper-lazy-preloader{z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-top-color:#0000;border-radius:50%;width:42px;height:42px;margin-top:-21px;margin-left:-21px;position:absolute;top:50%;left:50%}:is(.swiper:not(.swiper-watch-progress),.swiper-watch-progress .swiper-slide-visible) .swiper-lazy-preloader{animation:1s linear infinite swiper-preloader-spin}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:root{--swiper-navigation-size:44px}.swiper-button-prev,.swiper-button-next{width:var(--swiper-navigation-size);height:var(--swiper-navigation-size);z-index:10;cursor:pointer;color:var(--swiper-navigation-color,var(--swiper-theme-color));justify-content:center;align-items:center;display:flex;position:absolute}:is(.swiper-button-prev,.swiper-button-next).swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}:is(.swiper-button-prev,.swiper-button-next).swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled :is(.swiper-button-prev,.swiper-button-next){display:none!important}:is(.swiper-button-prev,.swiper-button-next) svg{object-fit:contain;transform-origin:50%;fill:currentColor;pointer-events:none;width:100%;height:100%}.swiper-button-lock{display:none}.swiper-button-prev,.swiper-button-next{top:var(--swiper-navigation-top-offset,50%);margin-top:calc(0px - (var(--swiper-navigation-size) / 2))}.swiper-button-prev{left:var(--swiper-navigation-sides-offset,4px);right:auto}.swiper-button-prev .swiper-navigation-icon{transform:rotate(180deg)}.swiper-button-next{right:var(--swiper-navigation-sides-offset,4px);left:auto}.swiper-horizontal .swiper-button-prev,.swiper-horizontal .swiper-button-next,.swiper-horizontal~.swiper-button-prev,.swiper-horizontal~.swiper-button-next{top:var(--swiper-navigation-top-offset,50%);margin-top:calc(0px - (var(--swiper-navigation-size) / 2));margin-left:0}.swiper-horizontal .swiper-button-prev,.swiper-horizontal~.swiper-button-prev,.swiper-horizontal.swiper-rtl .swiper-button-next,.swiper-horizontal.swiper-rtl~.swiper-button-next{left:var(--swiper-navigation-sides-offset,4px);right:auto}.swiper-horizontal .swiper-button-next,.swiper-horizontal~.swiper-button-next,.swiper-horizontal.swiper-rtl .swiper-button-prev,.swiper-horizontal.swiper-rtl~.swiper-button-prev{right:var(--swiper-navigation-sides-offset,4px);left:auto}:is(.swiper-horizontal .swiper-button-prev,.swiper-horizontal~.swiper-button-prev,.swiper-horizontal.swiper-rtl .swiper-button-next,.swiper-horizontal.swiper-rtl~.swiper-button-next) .swiper-navigation-icon{transform:rotate(180deg)}:is(.swiper-horizontal.swiper-rtl .swiper-button-prev,.swiper-horizontal.swiper-rtl~.swiper-button-prev) .swiper-navigation-icon{transform:rotate(0)}.swiper-vertical .swiper-button-prev,.swiper-vertical .swiper-button-next,.swiper-vertical~.swiper-button-prev,.swiper-vertical~.swiper-button-next{left:var(--swiper-navigation-top-offset,50%);margin-left:calc(0px - (var(--swiper-navigation-size) / 2));margin-top:0;right:auto}.swiper-vertical .swiper-button-prev,.swiper-vertical~.swiper-button-prev{top:var(--swiper-navigation-sides-offset,4px);bottom:auto}:is(.swiper-vertical .swiper-button-prev,.swiper-vertical~.swiper-button-prev) .swiper-navigation-icon{transform:rotate(-90deg)}.swiper-vertical .swiper-button-next,.swiper-vertical~.swiper-button-next{bottom:var(--swiper-navigation-sides-offset,4px);top:auto}:is(.swiper-vertical .swiper-button-next,.swiper-vertical~.swiper-button-next) .swiper-navigation-icon{transform:rotate(90deg)}.swiper-pagination{text-align:center;z-index:10;transition:opacity .3s;position:absolute;transform:translate(0,0)}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-pagination-fraction,.swiper-pagination-custom,.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal{bottom:var(--swiper-pagination-bottom,8px);top:var(--swiper-pagination-top,auto);width:100%;left:0}.swiper-pagination-bullets-dynamic{font-size:0;overflow:hidden}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{position:relative;transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active,.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));border-radius:var(--swiper-pagination-bullet-border-radius,50%);background:var(--swiper-pagination-bullet-inactive-color,#000);opacity:var(--swiper-pagination-bullet-inactive-opacity,.2);display:inline-block}button.swiper-pagination-bullet{box-shadow:none;appearance:none;border:none;margin:0;padding:0}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity,1);background:var(--swiper-pagination-color,var(--swiper-theme-color))}.swiper-vertical>.swiper-pagination-bullets,.swiper-pagination-vertical.swiper-pagination-bullets{right:var(--swiper-pagination-right,8px);left:var(--swiper-pagination-left,auto);top:50%;transform:translateY(-50%)}:is(.swiper-vertical>.swiper-pagination-bullets,.swiper-pagination-vertical.swiper-pagination-bullets) .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0;display:block}:is(.swiper-vertical>.swiper-pagination-bullets,.swiper-pagination-vertical.swiper-pagination-bullets).swiper-pagination-bullets-dynamic{width:8px;top:50%;transform:translateY(-50%)}:is(.swiper-vertical>.swiper-pagination-bullets,.swiper-pagination-vertical.swiper-pagination-bullets).swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:transform .2s,top .2s;display:inline-block}:is(.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-horizontal.swiper-pagination-bullets) .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}:is(.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-horizontal.swiper-pagination-bullets).swiper-pagination-bullets-dynamic{white-space:nowrap;left:50%;transform:translate(-50%)}:is(.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-horizontal.swiper-pagination-bullets).swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:transform .2s,left .2s}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:transform .2s,right .2s}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color,inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color,#00000040);position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color,var(--swiper-theme-color));transform-origin:0 0;width:100%;height:100%;position:absolute;top:0;left:0;transform:scale(0)}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:100% 0}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite{width:100%;height:var(--swiper-pagination-progressbar-size,4px);top:0;left:0}.swiper-vertical>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite{width:var(--swiper-pagination-progressbar-size,4px);height:100%;top:0;left:0}.swiper-pagination-lock{display:none}
