.reveal{opacity:0;transform:translateY(40px)}.fade-in{opacity:0;transform:translateY(40px);animation:fadeUp 1s ease forwards}.fade-in.delay-200{animation-delay:.2s}.fade-in.delay-300{animation-delay:.3s}.fade-in.delay-500{animation-delay:.5s}@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fadeUp{animation:fadeUp .9s ease forwards}@keyframes heroBg{0%{transform:scale(1.08);opacity:.7}to{transform:scale(1);opacity:1}}.animate-heroBg{animation:heroBg 1.6s ease forwards}@keyframes heroText{to{opacity:1;transform:translateY(0)}}.animate-heroText{animation:heroText .8s ease forwards;animation-delay:.2s}@keyframes heroTitle{to{opacity:1;transform:translateY(0)}}.animate-heroTitle{animation:heroTitle .9s ease forwards;animation-delay:.35s}@keyframes heroLine{to{opacity:1;transform:scaleX(1)}}.animate-heroLine{transform-origin:center;animation:heroLine .8s ease forwards;animation-delay:.6s}@keyframes fadeUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.intro-screen{position:fixed;inset:0;z-index:9999;overflow:hidden;background:#000}.intro-video{position:absolute;width:100%;height:100%;object-fit:cover}.intro-overlay{position:absolute;inset:0;background:#0000}.intro-logo{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;color:#fff}.intro-title{font-size:28px;font-weight:500;letter-spacing:.1em}.intro-subtitle{margin-top:10px;font-size:12px;letter-spacing:.4em;opacity:.7}.fade-out{opacity:0;transition:opacity .8s ease}.layout-wrapper{min-height:100vh;display:flex;flex-direction:column;background:#0a0a0a}.layout-main{flex:1;display:block}.layout-container{max-width:1400px;margin:0 auto;padding:60px 80px}.layout-footer{text-align:center;padding:28px 20px;font-size:13px;letter-spacing:.08em;color:#888;border-top:1px solid #e7e2db;background:#f7f7f7}.layout-footer:before{content:"";display:block;height:1px;margin-bottom:20px;background:linear-gradient(to right,transparent,#C8A46A,transparent)}.hero-english{font-size:50px;letter-spacing:.11em;line-height:1;font-weight:400;opacity:0;transform:translateY(30px);animation:heroFade 1s ease forwards;animation-delay:.3s}.hero-sub.small{font-size:13px;letter-spacing:.55em;opacity:.75}.portal{background:#f3f0ec;color:#fff;font-family:Outfit,sans-serif;overflow-x:hidden}.hero-sub.zh{font-size:17px;letter-spacing:.9em;font-weight:300;opacity:0;transform:translateY(20px);animation:heroFade 1s ease forwards;animation-delay:.6s}.hero-center-line{position:absolute;left:50%;bottom:50px;width:2px;height:80px;background:#727272;transform:translate(-50%);overflow:hidden;z-index:5}.scroll-bar{position:absolute;top:0;left:0;width:100%;height:60%;background:#d2d2d2;transform-origin:top;animation:scrollLine 1.1s ease-in-out infinite;z-index:5}@keyframes scrollLine{0%{height:35%}50%{height:60%}to{height:35%}}.hero{height:100vh;position:relative;overflow:hidden}.hero-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1.5s ease-in-out;z-index:0}.hero-slide.active{opacity:1}.hero-overlay{position:absolute;inset:0;background:#0000000b;z-index:2}.hero-content{position:absolute;left:110px;bottom:190px;z-index:50}.hero-title{position:absolute;left:60px;bottom:240px;display:flex;flex-direction:column;gap:26px;color:#fff;z-index:50;animation:titleIn 1.2s cubic-bezier(.22,1,.36,1) forwards}@keyframes heroFade{to{opacity:1;transform:translateY(0)}}@keyframes titleIn{0%{transform:translateY(120%);opacity:0}to{transform:translateY(0);opacity:1}}@media(max-width:1024px){.hero-title{left:48px;bottom:180px;gap:22px}.hero-english{font-size:40px}.hero-chinese{font-size:15px;letter-spacing:.7em}}.hero{overflow:hidden}@media(max-width:768px){.hero-title{left:32px;bottom:150px;gap:18px}.hero-english{font-size:24px;letter-spacing:.08em}.hero-chinese{font-size:12px;letter-spacing:.5em}}@media(max-width:480px){.hero-title{left:24px;bottom:130px;gap:16px}.hero-title hero-slides{display:none}}.hero-bottom{position:absolute;bottom:75px;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:0 clamp(70px,5vw,120px);z-index:30}.hero-bottom{padding:0 24px}@media(min-width:1024px){.hero-bottom{padding:0 80px}}.hero-social{position:absolute;left:65px;bottom:75px;display:flex;gap:22px;font-size:12px;letter-spacing:.2em;color:#fff}.hero-social span{border-bottom:2px solid rgba(255,255,255,.35);padding-bottom:3px;cursor:pointer;transition:all .3s ease}.hero-social span:hover{border-color:#c9a25b;color:#c9a25b}@media(max-width:1024px){.hero-social{left:48px;gap:18px;font-size:11px;letter-spacing:.16em}}@media(max-width:768px){.hero-social{left:32px;gap:14px;font-size:10px;letter-spacing:.14em;bottom:50px}}@media(max-width:480px){.hero-social{left:24px;gap:10px;font-size:9px;letter-spacing:.12em;bottom:30px}.hero-social span{border-bottom:1px solid rgba(255,255,255,.35);padding-bottom:2px}}.hero-pagination{display:flex;align-items:center;gap:34px;margin-right:-40px}.hero-pagination{position:absolute;right:clamp(20px,5vw,80px);bottom:75px;display:flex;align-items:center;gap:20px}@media(max-width:768px){.hero-pagination{display:none}}.hero-dots{display:flex;gap:8px}.hero-dots span{width:6px;height:6px;background:#fff;border-radius:50%;opacity:.35;cursor:pointer;transition:opacity .3s}.hero-dots span.active{opacity:1}.hero-number{font-size:90px;font-weight:400;color:#fff;letter-spacing:.05em}.hero-number span{font-size:18px;opacity:.45;margin-left:4px}@media(max-width:1200px){.hero-bottom{padding:0 70px}}@media(max-width:768px){.hero-content{left:30px;bottom:150px}.hero-title{font-size:56px}.hero-bottom{padding:0 30px;bottom:55px}.hero-social{gap:16px;font-size:10px}.hero-pagination{gap:18px;margin-right:0}.hero-number{font-size:42px}.hero-number span{font-size:14px}}.section-header{text-align:center;margin-bottom:90px}.section-header p{font-size:12px;letter-spacing:.35em;color:#c9a25b;margin-bottom:10px}.section-header h2{font-size:48px;font-weight:600;letter-spacing:.08em;margin-top:8px}.service-circle{transition:all .6s cubic-bezier(.22,1,.36,1)}.circle-wrap{display:flex;justify-content:center;transform:translateY(30px)}.circle{width:110px;height:110px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid rgba(200,164,106,.5);position:relative;overflow:hidden;transition:.6s cubic-bezier(.22,1,.36,1)}.circle:after{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at center,rgba(200,164,106,.65) 0%,rgba(200,164,106,.45) 35%,rgba(200,164,106,.25) 65%,rgba(200,164,106,.1) 85%,transparent 100%);opacity:0;transform:scale(.6);transition:.6s cubic-bezier(.22,1,.36,1)}.circle:before{content:"";position:absolute;inset:-10px;border-radius:50%;background:radial-gradient(circle,rgba(200,164,106,.25),transparent 70%);opacity:0;transition:.6s}.circle-num{font-size:11px;letter-spacing:.35em;color:#c8a46a;z-index:2;transition:.4s}.group:hover .circle-num{color:#fff}.circle-num{font-size:11px;letter-spacing:.35em;color:#c8a46a}@keyframes circleIntro{0%{background:#c8a46a26}40%{background:#c8a46a26}to{background:transparent}}.circle-wrap.show .circle{animation:circleIntro 1.2s ease forwards}@keyframes circleIntro{0%{background:#96733af1}80%{background:#c8a46ace}to{background:transparent}}.circle:after,.circle:before{pointer-events:none}.circle-wrap.show .circle-num{animation:numIntro 1.2s ease forwards}@keyframes numIntro{0%{opacity:1;color:#fff;transform:translateY(0)}80%{opacity:1;color:#fff}to{opacity:1;color:#c8a46a}}.group:hover .circle{background:#c8a46a26!important}.group:hover .circle:after{opacity:1!important;transform:scale(1)!important}.group:hover .circle:before{opacity:.6!important}.group:hover .circle-num{color:#fff!important}.about-img-wrap{overflow:hidden}.about-img{width:100%;height:380px;object-fit:cover;transition:.8s cubic-bezier(.22,1,.36,1)}.group:hover .about-img{transform:scale(1.05)}.about-light{position:absolute;inset:0;background:linear-gradient(to top,rgba(255,255,255,.4),transparent);pointer-events:none}.about-tag{font-size:11px;letter-spacing:.45em;color:#c8a46a;margin-bottom:24px}.about-title{font-size:32px;font-weight:300;letter-spacing:.08em;line-height:1.5;color:#222;margin-bottom:32px}.about-desc{font-size:14px;color:#666;line-height:2;margin-bottom:14px}.about-link{display:inline-block;margin-top:40px;font-size:11px;letter-spacing:.35em;color:#222;position:relative;padding-bottom:8px;transition:.3s}.about-link:after{content:"";position:absolute;left:0;bottom:0;width:40%;height:1px;background:#c8a46a;transition:.4s cubic-bezier(.22,1,.36,1)}.about-link:hover:after{width:100%}.about-link:hover{opacity:.6}.btn-gold{display:inline-block;margin-top:40px;color:#222;font-size:11px;letter-spacing:.3em;text-transform:uppercase;border-bottom:1px solid #c9a25b;padding-bottom:6px;transition:opacity .3s ease}.btn-gold:hover{opacity:.5}.banner{height:360px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#0a0a0a}.banner-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.6) contrast(1.05)}.banner:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.6),transparent 60%),linear-gradient(to bottom,rgba(0,0,0,.35),transparent 40%);pointer-events:none}.banner:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 55%,rgba(200,164,106,.12),transparent 65%);opacity:.5;pointer-events:none}.banner-content{position:relative;z-index:2;text-align:center}.banner-content:before{content:"";display:block;width:60px;height:1px;background:#c8a46a;margin:0 auto 24px;opacity:.6;transform:scaleX(0);transform-origin:center;animation:lineIn 1.2s cubic-bezier(.22,1,.36,1) forwards}@keyframes lineIn{to{transform:scaleX(1)}}.banner h2{font-family:Outfit,sans-serif;font-size:clamp(14px,2vw,30px);font-weight:300;letter-spacing:.45em;line-height:1.4;text-transform:uppercase;color:#f5f5f5;text-shadow:0 4px 20px rgba(0,0,0,.7),0 0 12px rgba(200,164,106,.15);opacity:0;transform:translateY(40px);animation:bannerFade 1.2s cubic-bezier(.22,1,.36,1) .3s forwards}@keyframes bannerFade{to{opacity:1;transform:translateY(0)}}.service-line{transition:opacity .5s}.reveal{opacity:0;transform:translateY(40px);transition:opacity .8s ease,transform .8s cubic-bezier(.22,1,.36,1)}.circle-wrap.reveal{opacity:0;transform:translateY(40px);transition:opacity .6s ease,transform .6s cubic-bezier(.22,1,.36,1)}.circle-wrap.circle-up.show{opacity:1;transform:translateY(-20px)}.circle-wrap.circle-down.show{opacity:1;transform:translateY(20px)}.circle-wrap.show .circle{background:#c8a46a;border-color:#c8a46a}.circle-wrap.show .circle-num{color:#fff}.material-symbols-outlined{font-size:28px;line-height:1}.project-item{position:relative;overflow:hidden;cursor:pointer;background:#fff}.project-item img{width:100%;height:100%;object-fit:cover;display:block;transition:all .8s cubic-bezier(.22,1,.36,1);filter:grayscale(80%) brightness(.9)}.project-item:hover img{transform:scale(1.05);filter:grayscale(0%) brightness(1)}.project-item:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 20%,rgba(200,164,106,.18),transparent 80%);opacity:0;transform:translate(-60%);transition:all .8s ease}.project-item:hover:before{opacity:1;transform:translate(60%)}.project-item:after{display:none}.project-text{position:absolute;bottom:24px;left:24px;z-index:2}.project-text p{margin:0 0 6px;font-size:10px;letter-spacing:.35em;color:#c8a46a}.project-text h3{margin:0;font-size:14px;letter-spacing:.2em;font-weight:300;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.5)}.md\:col-span-2.project-item img{min-height:340px}.project-item img{min-height:260px}.reveal{opacity:0;transform:translateY(120px);transition:all 1.2s cubic-bezier(.22,1,.36,1)}.reveal.show{opacity:1;transform:translateY(0)}@media(max-width:1024px){.hero-title{font-size:56px}.hero-content{left:60px}.service-grid,.project-grid{grid-template-columns:1fr 1fr}.about-inner{grid-template-columns:1fr}.about-img{width:100%}}@media(max-width:640px){.hero-content{left:40px;bottom:90px}.hero-title{font-size:38px}.service-grid,.project-grid{grid-template-columns:1fr}.product-grid{grid-template-columns:1fr;grid-template-rows:auto}}.brand-section{background:#f3f0ec;padding:100px;display:flex;align-items:center;min-height:400px}.brand-card{animation:fadeUp .8s ease forwards}.brand-card:nth-child(1){animation-delay:.1s}.brand-card:nth-child(2){animation-delay:.2s}.brand-card:nth-child(3){animation-delay:.3s}.brand-card:nth-child(4){animation-delay:.4s}@keyframes fadeUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.search-box{position:relative;width:250px;height:40px}.search-box input{width:100%;height:100%;background:transparent;border:none;outline:none;font-size:11px;letter-spacing:.25em;color:#000;caret-color:#c8a46a}.search-box input::placeholder{color:#aaa;transition:.3s}.search-box:focus-within input::placeholder{opacity:.3}.search-box:before{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:#ddd}.search-box:after{content:"";position:absolute;left:50%;bottom:0;transform:translate(-50%);width:0;height:1px;background:#c8a46a;transition:.3s}.search-box:focus-within:after{width:22px}.search-box:hover:before{background:#999}.page-enter{opacity:0;transform:translateY(40px);filter:blur(6px)}.page-enter-active{opacity:1;transform:translateY(0);filter:blur(0);transition:all .9s cubic-bezier(.22,.61,.36,1)}.page-delay-1{transition-delay:.15s}.page-delay-2{transition-delay:.3s}.page-delay-3{transition-delay:.45s}.contact-input{width:100%;border:none;border-bottom:1px solid #ddd;padding:12px 0;outline:none;transition:all .3s ease;background:transparent;color:#111}.contact-input::placeholder{color:#aaa;letter-spacing:.15em;font-size:12px}.contact-input:focus{border-bottom:1px solid #C8A46A}.contact-btn-light{margin-top:20px;padding:12px 40px;border:1px solid #C8A46A;color:#c8a46a;background:transparent;letter-spacing:.2em;cursor:pointer;transition:all .3s ease}.contact-btn-light:hover{background:#c8a46a;color:#fff;box-shadow:0 8px 25px #c8a46a33}@keyframes bouncePremium{0%{transform:translateY(0) scale(1)}25%{transform:translateY(3px) scale(1.02,.96)}45%{transform:translateY(-4px) scale(.98,1.03)}65%{transform:translateY(-1px) scale(1)}to{transform:translateY(0) scale(1)}}.animate-bouncePremium{animation:bouncePremium 2.4s cubic-bezier(.22,1,.36,1) infinite}
