:root{--bg-dark: #f8f4e6;--text-main: #333333;--text-muted: #665a54;--accent: #8a3324;--font-heading: "Noto Serif SC", serif;--font-body: "Noto Serif SC", "Inter", sans-serif;--font-accent: "ZCOOL XiaoWei", serif;--glass-bg: rgba(248, 244, 230, .7);--glass-border: rgba(138, 51, 36, .15)}*{margin:0;padding:0;box-sizing:border-box}body{background-color:var(--bg-dark);color:var(--text-main);font-family:var(--font-body);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-heading);font-weight:400}html{scroll-behavior:smooth}.animate-up{opacity:0;transform:translateY(40px);transition:opacity 1s cubic-bezier(.25,1,.5,1),transform 1s cubic-bezier(.25,1,.5,1)}.animate-up.is-visible{opacity:1;transform:translateY(0)}.hero{position:relative;height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden}.hero-bg{position:absolute;top:0;left:0;width:100%;height:120%;background-size:cover;background-position:center;background-repeat:no-repeat;z-index:1;will-change:transform}.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,#f8f4e64d,#f8f4e6);z-index:2}.hero-content{position:relative;z-index:3;text-align:center;display:flex;flex-direction:column;align-items:center}.hero-title{font-size:clamp(3rem,8vw,6rem);letter-spacing:.1em;margin-bottom:.5rem;font-family:var(--font-accent);text-shadow:0 4px 20px rgba(0,0,0,.5)}.hero-subtitle{font-size:clamp(1rem,2vw,1.5rem);color:var(--text-muted);letter-spacing:.3em;font-family:var(--font-heading)}.scroll-indicator{position:absolute;bottom:-15vh;display:flex;flex-direction:column;align-items:center;gap:10px}.scroll-indicator span{font-size:.75rem;letter-spacing:.2em;color:var(--text-muted);text-transform:uppercase}.scroll-indicator .line{width:1px;height:60px;background:linear-gradient(to bottom,var(--text-muted),transparent);animation:scrollLine 2s infinite ease-in-out}@keyframes scrollLine{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}50.1%{transform:scaleY(1);transform-origin:bottom}to{transform:scaleY(0);transform-origin:bottom}}.sticky-nav{position:sticky;top:0;z-index:100;background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--glass-border);padding:1rem 0;display:flex;justify-content:center;transition:transform .3s ease}.sticky-nav ul{list-style:none;display:flex;gap:2rem}.sticky-nav a{color:var(--text-muted);text-decoration:none;font-size:.9rem;letter-spacing:.1em;transition:color .3s ease}.sticky-nav a:hover{color:var(--text-main)}.gallery-section{padding:6rem 2rem;max-width:1400px;margin:0 auto}.section-header{text-align:center;margin-bottom:4rem}.section-title{font-size:clamp(2rem,4vw,3rem);margin-bottom:.5rem}.section-desc{color:var(--text-muted);font-size:1.1rem;font-family:var(--font-heading)}.timeline-section{padding:6rem 2rem;max-width:1200px;margin:0 auto}.timeline-container{position:relative;max-width:1000px;margin:0 auto;padding:2rem 0}.timeline-line{position:absolute;top:0;bottom:0;left:50%;width:2px;background:linear-gradient(to bottom,transparent,var(--glass-border) 10%,var(--glass-border) 90%,transparent);transform:translate(-50%);z-index:1}.timeline-item{position:relative;width:50%;padding:2rem 40px;z-index:2;opacity:0;transition:opacity 1s cubic-bezier(.25,1,.5,1),transform 1s cubic-bezier(.25,1,.5,1)}.timeline-item.left{left:0;text-align:right;transform:translate(-50px)}.timeline-item.right{left:50%;text-align:left;transform:translate(50px)}.timeline-item.left.is-visible,.timeline-item.right.is-visible{opacity:1;transform:translate(0)}.timeline-dot{position:absolute;top:50%;width:12px;height:12px;border-radius:50%;background-color:var(--accent);box-shadow:0 0 10px var(--accent);transform:translateY(-50%);z-index:3}.timeline-item.left .timeline-dot{right:-6px}.timeline-item.right .timeline-dot{left:-6px}.timeline-content{background:var(--glass-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--glass-border);border-radius:12px;padding:2rem;box-shadow:0 8px 32px #0000004d;transition:transform .3s ease,box-shadow .3s ease}.timeline-content:hover{transform:translateY(-5px);box-shadow:0 12px 40px #00000080}.time-date{display:inline-block;color:var(--accent);font-family:var(--font-accent);font-size:1.1rem;letter-spacing:.1em;margin-bottom:.5rem;border-bottom:1px solid rgba(212,175,55,.3);padding-bottom:2px}.time-title{font-size:1.8rem;margin-bottom:1rem;font-family:var(--font-heading);color:var(--text-main)}.time-photo{width:100%;border-radius:4px;overflow:hidden;margin-bottom:1.2rem;cursor:pointer;background-color:#eaddcb;box-shadow:0 4px 12px #00000014}.time-photo img{width:100%;display:block;height:auto;transition:transform .6s ease}.time-photo:hover img{transform:scale(1.05)}.time-text{font-size:1rem;color:var(--text-muted);line-height:1.8}@media (max-width: 768px){.timeline-line{left:20px}.timeline-item{width:100%;padding-left:60px;padding-right:0}.timeline-item.left,.timeline-item.right{left:0;text-align:left;transform:translateY(40px) translate(0)}.timeline-item.left.is-visible,.timeline-item.right.is-visible{transform:translateY(0) translate(0)}.timeline-item.left .timeline-dot,.timeline-item.right .timeline-dot{left:14px;right:auto}}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center;visibility:hidden;opacity:0;transition:opacity .4s ease,visibility .4s ease}.lightbox.active{visibility:visible;opacity:1}.lightbox-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:#f8f4e6f2;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.lightbox-img{position:relative;max-width:90vw;max-height:80vh;object-fit:contain;z-index:1001;border-radius:2px;box-shadow:0 10px 40px #00000026;transform:scale(.95);transition:transform .4s cubic-bezier(.25,1,.5,1)}.lightbox.active .lightbox-img{transform:scale(1)}.lightbox-close{position:absolute;top:2rem;right:2rem;z-index:1002;background:none;border:none;color:var(--text-main);font-size:3rem;font-weight:300;cursor:pointer;transition:color .3s ease,transform .3s ease;line-height:1}.lightbox-close:hover{color:var(--text-muted);transform:scale(1.1)}.lightbox-caption{position:relative;z-index:1001;margin-top:1.5rem;font-family:var(--font-heading);font-size:1.2rem;color:var(--text-main);letter-spacing:.1em}.footer{padding:6rem 2rem;text-align:center;border-top:1px solid var(--glass-border)}.footer h3{font-family:var(--font-accent);font-size:2rem;margin-bottom:.5rem}.footer p{color:var(--text-muted);font-size:.9rem;letter-spacing:.2em}
