:root{--bg-color:#fff;--main-color:#16b877;--main-color-dark:#0f8f5c;--main-color-soft:#e9fbf2;--text-color:#1a1a1a;--dim-text:#666;--card-bg:#f9f9f9;--border-color:#eee}*{box-sizing:border-box;margin:0;padding:0;font-family:PingFang SC,Microsoft YaHei,sans-serif}html,body{width:100%;min-height:100%}body{background-color:var(--bg-color);color:var(--text-color);overflow-x:hidden}.impact{text-transform:uppercase;font-family:Impact,sans-serif}.brand-mark{letter-spacing:.18em;font-family:PingFang SC,Microsoft YaHei,sans-serif;font-weight:900}.container-main{scroll-snap-type:y mandatory;height:100vh;overflow-y:auto}section,footer.section{scroll-snap-align:start;scroll-snap-stop:always;border-bottom:1px solid var(--border-color);background-color:var(--bg-color);flex-direction:column;justify-content:center;align-items:center;width:100%;height:100vh;padding:2rem;display:flex;position:relative;overflow:hidden}#loading-screen{z-index:9999;pointer-events:none;background:#fff;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;transition:opacity .8s;display:flex;position:fixed;top:0;left:0}.loader-container{width:120px;margin-bottom:2rem}.loader_icon path{fill:none;stroke:var(--main-color);stroke-linecap:round;stroke-width:4px}.loading-text{color:var(--text-color);letter-spacing:4px;opacity:0;font-size:1.2rem;font-weight:900}a-waves{z-index:0;opacity:.14;pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}a-waves svg path{fill:none;stroke:var(--text-color);stroke-width:1px}#hero{z-index:1}.brand-container{cursor:pointer;justify-content:center;align-items:center;height:160px;display:flex;position:relative}.hero-content{z-index:2;text-align:center;width:90%;position:relative}.brand-text{letter-spacing:.2em;color:var(--text-color);white-space:nowrap;z-index:2;font-size:clamp(3.5rem,12vw,7rem);font-weight:900;position:relative}.subtitle{color:var(--dim-text);letter-spacing:4px;margin-top:1rem;font-size:1.5rem;font-weight:300}.subtitle-char{opacity:0;transition:opacity .5s cubic-bezier(.16, 1, .3, 1) calc(var(--char-index) * 40ms), transform .5s cubic-bezier(.16, 1, .3, 1) calc(var(--char-index) * 40ms);display:inline-block;transform:translateY(10px)}.subtitle.is-revealed .subtitle-char{opacity:1;transform:translateY(0)}#gallery{background-color:#fafafa}.gallery-container{perspective:1400px;justify-content:center;align-items:center;width:100%;height:560px;display:flex;position:relative;overflow:visible}.gallery-stage{width:100%;transform-style:preserve-3d;will-change:transform;flex-direction:column;gap:2.5rem;display:flex}.gallery-row{align-items:center;width:100%;height:240px;display:flex;position:relative;overflow:hidden}.gallery-row-top{-webkit-mask-image:radial-gradient(90% 110% at 50% 120%,#000 92%,#0000 100%);mask-image:radial-gradient(90% 110% at 50% 120%,#000 92%,#0000 100%)}.gallery-row-bottom{-webkit-mask-image:radial-gradient(90% 110% at 50% -20%,#000 92%,#0000 100%);mask-image:radial-gradient(90% 110% at 50% -20%,#000 92%,#0000 100%)}.scroll-progress{z-index:11000;pointer-events:none;background:#16b87714;height:3px;position:fixed;top:0;left:0;right:0}.scroll-progress-bar{background:linear-gradient(90deg, var(--main-color), var(--main-color-dark));transform-origin:0;width:100%;height:100%;transition:transform .18s ease-out;display:block;transform:scaleX(0);box-shadow:0 0 12px #16b87766}.gallery-track{will-change:transform;width:max-content;transform-style:preserve-3d;display:flex}#gallery{overflow:hidden}.file-card{border:1px solid var(--border-color);width:160px;height:200px;transform-style:preserve-3d;background:#fff;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;margin-right:2rem;padding:1.5rem;transition:transform .35s cubic-bezier(.16,1,.3,1),border-color .3s,box-shadow .3s;display:flex}.file-card:hover{border-color:#16b87773;transform:translateY(-10px)rotateX(6deg)rotateY(-6deg);box-shadow:0 22px 38px #0f8f5c29}.file-card:hover .file-icon{transform:translateZ(20px)scale(1.08)}.file-card-inner{will-change:transform;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.file-icon{margin-bottom:1rem;font-size:3rem;transition:transform .35s cubic-bezier(.16,1,.3,1)}.file-name{color:var(--text-color);text-align:center;font-size:.9rem;font-weight:500}.file-ext{background:var(--main-color-soft);color:var(--main-color-dark);letter-spacing:.08em;border-radius:999px;margin-top:.8rem;padding:.25rem .65rem;font-size:.72rem;font-weight:800}#footer{border-top:1px solid var(--border-color);background:#fafafa;height:auto;min-height:30vh;padding:3rem 2rem}.footer-inner{text-align:center;flex-direction:column;align-items:center;gap:.6rem;width:100%;max-width:720px;margin:0 auto;display:flex}.footer-bottom{flex-wrap:wrap;justify-content:center;align-items:center;gap:.6rem;margin-top:1.2rem;display:inline-flex}.footer-sep{color:#ccc;font-size:.8rem}.footer-bottom a,.copyright{color:#999;font-size:.8rem;text-decoration:none;transition:color .3s}.footer-bottom a:hover{color:var(--main-color)}.reveal{opacity:0;transition:opacity .55s cubic-bezier(.16, 1, .3, 1) var(--reveal-delay,0s), transform .55s cubic-bezier(.16, 1, .3, 1) var(--reveal-delay,0s);transform:translateY(30px)}.reveal.reveal-down{transform:translateY(-30px)}.reveal.reveal-left{transform:translate(-40px)}.reveal.reveal-right{transform:translate(40px)}.reveal.reveal-scale{transform:scale(.88)}.reveal.reveal-flip{transform-origin:top;transform:perspective(800px)rotateX(20deg)}.reveal.reveal-fade{transform:none}.reveal.active{opacity:1;transform:translate(0)scale(1)rotateX(0)}.reveal.reveal-instant{transition:none!important}.pointer{pointer-events:none;z-index:10000;will-change:transform;border:2px solid #1a1a1ab8;border-radius:50%;width:1.5rem;height:1.5rem;transition:width .3s,height .3s,background .3s,border-color .3s,box-shadow .3s;position:fixed;top:0;left:0}.pointer.hovering{border-color:var(--main-color);background:#16b8771f;width:3.5rem;height:3.5rem;box-shadow:0 0 0 6px #16b87714}@media (hover:none),(pointer:coarse){.pointer{display:none}}.scroll-hint{color:var(--dim-text);letter-spacing:.4em;cursor:pointer;opacity:0;pointer-events:none;z-index:3;background:0 0;border:none;flex-direction:column;align-items:center;gap:.6rem;padding:.5rem .75rem;font-family:inherit;font-size:.78rem;transition:opacity .6s,transform .6s,color .3s;display:inline-flex;position:absolute;bottom:2.5rem;left:50%;transform:translate(-50%,12px)}.scroll-hint.is-visible{opacity:1;pointer-events:auto;transform:translate(-50%)}.scroll-hint:hover{color:var(--main-color-dark)}.scroll-hint-icon{border:1px solid;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;animation:1.8s ease-in-out infinite scroll-hint-bob;display:inline-flex}.scroll-hint-icon svg{width:14px;height:14px}@keyframes scroll-hint-bob{0%,to{transform:translateY(0)}50%{transform:translateY(5px)}}@media (max-width:840px){.scroll-hint{font-size:.7rem;bottom:1.5rem}.file-card:hover{transform:translateY(-6px)}section,footer.section{height:100vh;padding:3rem 1.25rem}#footer{height:auto;padding:2.5rem 1.5rem}.footer-bottom{font-size:.75rem}.gallery-container{flex-shrink:0;height:min(72vh,620px)}.gallery-stage{gap:2rem}.gallery-row{height:240px}.gallery-track-bottom{margin-left:0}.file-card{width:130px;height:170px;margin-right:1.2rem;padding:1rem .75rem}.file-card .file-icon{margin-bottom:.5rem;font-size:2.2rem}.file-card .file-name{font-size:.78rem}.file-card .file-ext{letter-spacing:.05em;margin-top:.5rem;padding:.2rem .55rem;font-size:.66rem}.brand-text{letter-spacing:.25rem;font-size:clamp(2.8rem,16vw,5rem)}.subtitle{letter-spacing:2px;font-size:1.05rem}}@media (prefers-reduced-motion:reduce){.reveal,.reveal.active{transition-duration:.01ms!important;transition-delay:0s!important}.file-card,.file-card:hover,.pointer,.pointer.hovering{transition-duration:.01ms!important}.container-main{scroll-behavior:auto}.scroll-hint-icon{animation:none!important}.scroll-hint,.scroll-hint.is-visible,.scroll-progress-bar,.subtitle-char{transition-duration:.01ms!important;transition-delay:0s!important}.subtitle-char{opacity:1!important;transform:none!important}.file-card:hover{transform:translateY(-6px)!important}.file-card:hover .file-icon{transform:none!important}}
