/* 基本样式 */
*{box-sizing:border-box}
html,body{height:100%;margin:0;font-family:Helvetica, Arial, "PingFang SC", "Microsoft YaHei", sans-serif;color:#222}
body{background:linear-gradient(#eaf6ff,#f6fff5);overflow-x:hidden}

#scene{position:relative;height:60vh;min-height:420px;overflow:hidden}

/* 树区域 */
#tree-area{position:absolute;left:40px;bottom:0;width:260px;height:100%;pointer-events:none}
#tree{width:100%;height:auto;display:block}

/* 叶子 */
#leaves{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.leaf{position:absolute;top:-10vh;width:var(--size);height:var(--size);background:rgba(90,170,85,0.85);border-radius:50% 40% 50% 40%/60% 40% 60% 40%;opacity:0.95;transform-origin:center;will-change:transform}
.leaf:after{content:"";position:absolute;left:50%;top:8%;width:2px;height:60%;background:rgba(80,50,20,0.12);transform:translateX(-50%);border-radius:2px}

@keyframes fall {
  0%{transform:translateY(-20vh) rotate(0) translateX(calc(var(--drift) + var(--mx, 0px)))}
  30%{transform:translateY(20vh) rotate(80deg) translateX(calc(var(--drift) + var(--mx, 0px)))}
  60%{transform:translateY(55vh) rotate(200deg) translateX(calc((var(--drift) * 0.6) + var(--mx, 0px)))}
  100%{transform:translateY(110vh) rotate(520deg) translateX(calc((var(--drift) * 0.2) + var(--mx, 0px)))}
}
.leaf{animation:fall var(--duration) linear var(--delay) infinite}

/* 轮播图 */
#carousel{position:absolute;left:50%;top:18%;transform:translateX(-50%);width:62%;max-width:920px;height:180px;background:rgba(255,255,255,0.7);backdrop-filter:blur(4px);box-shadow:0 6px 30px rgba(35,40,50,0.12);border-radius:12px;overflow:hidden}
.slides{display:flex;height:100%;width:300%;transition:transform .6s cubic-bezier(.22,.9,.28,1)}
.slide{flex:0 0 100%;position:relative;display:flex;align-items:center;justify-content:center;padding:0;margin:0;overflow:hidden}
.slide img{width:100%;height:100%;object-fit:cover;display:block}
.slide .caption{position:absolute;left:18px;bottom:16px;color:#fff;font-weight:700;text-shadow:0 4px 16px rgba(0,0,0,0.35);font-size:1.2rem}
.nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,0.6);border:0;padding:8px 12px;border-radius:8px;font-size:22px;cursor:pointer;box-shadow:0 4px 10px rgba(0,0,0,0.08)}
#prev{left:12px}
#next{right:12px}
#dots{position:absolute;left:50%;bottom:8px;transform:translateX(-50%);display:flex;gap:8px}
#dots button{width:10px;height:10px;border-radius:50%;border:0;background:rgba(255,255,255,0.6);cursor:pointer}
#dots button.active{background:#fff}

/* 主内容 */
#content{padding:28px 6%;max-width:1200px;margin:-40px auto 80px;background:transparent}
.hero-cards h2,.windows h2{margin:0 0 14px;font-size:1.2rem}
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.card{background:#fff;border-radius:10px;padding:18px;box-shadow:0 6px 20px rgba(35,40,50,0.06)}
.card h3{margin:0 0 8px}
.card p{margin:0;color:#555}
.card.news{cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}
.card.news:hover{transform:translateY(-6px);box-shadow:0 12px 30px rgba(35,40,50,0.12)}

.window-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:10px}
.window{background:linear-gradient(#ffffff,#fbffff);padding:14px;border-radius:8px;box-shadow:0 6px 18px rgba(35,40,50,0.05);min-height:70px;display:flex;align-items:center;justify-content:center;color:#333;font-weight:600}

/* 响应 */
@media (max-width:900px){
  #carousel{width:88%}
  .card-grid{grid-template-columns:repeat(1,1fr)}
  .window-grid{grid-template-columns:repeat(2,1fr)}
  #tree-area{left:8px;width:160px}
}

@media (max-width:480px){
  #carousel{top:14%}
  #scene{height:50vh}
}
