/* ============================================
   清晨有光 · 品牌样式
   ============================================ */
:root {
  --primary: #0a5c36;
  --primary-dark: #008558;
  --primary-light: #e8f5ee;
  --ink: #0a3d24;
  --surface: #f9fafb;
  --border: #e5e7eb;
  --text: #161A1D;
  --text2: #6b7280;
  --text3: #9ca3af;
  --white: #ffffff;
  --container: min(1200px, calc(100% - 80px));
  --font: 'MiSans', -apple-system, 'Noto Sans SC', 'Microsoft YaHei', 'PingFang SC', system-ui, sans-serif;
  --font-data: 'JetBrains Mono', 'Consolas', monospace;
  --radius: 12px;
}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:var(--font);font-size:16px;color:var(--text);background:var(--white);-webkit-font-smoothing:antialiased;line-height:1.5}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
::selection{background:var(--primary);color:#fff}
.container{width:var(--container);margin-inline:auto}
@media(max-width:768px){.container{width:calc(100% - 32px)}}

/* ===== Header ===== */
.header{position:fixed;top:0;left:0;right:0;z-index:100;height:72px;display:flex;align-items:center;background:transparent;transition:all .3s;border-bottom:1px solid transparent}
.header.scrolled{background:rgba(255,255,255,.97);border-bottom:1px solid var(--border)}
.header .container{display:flex;align-items:center;justify-content:space-between}
.logo{line-height:0;display:flex;align-items:center}
.logo img{height:34px;width:auto}
.logo .logo-dark{display:none}
.header.scrolled .logo .logo-light{display:none}
.header.scrolled .logo .logo-dark{display:block}
.header-nav{display:flex;align-items:center;gap:2px}
.header-nav a{color:rgba(255,255,255,.85);font-size:.88rem;font-weight:500;padding:8px 16px;transition:color .2s;position:relative}
.header-nav a::after{content:'';position:absolute;bottom:-1px;left:16px;right:16px;height:2px;background:var(--white);transform:scaleX(0);transition:transform .2s}
.header-nav a:hover::after,.header-nav a.active::after{transform:scaleX(1)}
.header-nav a:hover,.header-nav a.active{color:#fff}
.header.scrolled .header-nav a{color:var(--text2)}
.header.scrolled .header-nav a::after{background:var(--primary)}
.header.scrolled .header-nav a:hover,.header.scrolled .header-nav a.active{color:var(--primary)}
@media(max-width:768px){.header-nav a{padding:6px 10px;font-size:.8rem}}

/* ===== Hero & 轮播 ===== */
.hero-carousel{position:relative}
.hero{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;position:relative;overflow:hidden}
.hero-carousel .hero{padding:0;min-height:100vh;display:flex;align-items:center}
@media(max-width:768px){.hero-carousel .hero{min-height:90vh}}
.hero-slide{position:absolute;inset:0;opacity:0;pointer-events:none}
.hero-slide.active{position:relative;opacity:1;pointer-events:auto;animation:imgIn 1s ease both}
@keyframes imgIn{from{opacity:0}to{opacity:1}}
.hero-bgimg{position:absolute;inset:0;z-index:0;background-size:cover!important;background-position:center!important}
.hero-slide.active .hero-bgimg{animation:kenBurns 12s ease-in-out infinite alternate}
@keyframes kenBurns{from{transform:scale(1)}to{transform:scale(1.06)}}
.hero-slide::after{content:'';position:absolute;inset:0;background:rgba(0,0,0,.15);z-index:0;pointer-events:none}
.hero-tag{display:inline-block;padding:4px 14px;border-radius:999px;font-size:.75rem;background:rgba(255,255,255,.1);color:rgba(255,255,255,.8);margin-bottom:16px}
.hero h1{font-size:clamp(2rem,4.5vw,56px);font-weight:700;line-height:1.08;max-width:720px;margin-bottom:16px;letter-spacing:-.01em;text-shadow:0 2px 20px rgba(0,0,0,.3)}
.hero .hero-tag{text-shadow:0 1px 8px rgba(0,0,0,.2)}
.hero .hero-btns .btn{text-shadow:none}
.hero-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}
.hero-tags span{padding:6px 16px;border:1px solid rgba(255,255,255,.2);border-radius:999px;font-size:.8rem;color:rgba(255,255,255,.65)}
.hero-btns{display:flex;gap:12px;margin-top:36px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 28px;font-size:.9rem;font-weight:500;border-radius:8px;transition:all .2s;cursor:pointer;font-family:var(--font)}
.btn-primary{background:#fff;color:var(--primary);border:1px solid #fff}
.btn-primary:hover{background:rgba(255,255,255,.9)}
.btn-outline{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.3)}
.btn-outline:hover{background:rgba(255,255,255,.08)}
/* 进入动画 */
.hero-slide .hero-tag{opacity:0;transform:translateX(-30px)}
.hero-slide.active .hero-tag{animation:inTag .6s .15s both}
@keyframes inTag{to{opacity:1;transform:translateX(0)}}
.hero-slide h1{opacity:0;transform:translateY(50px)}
.hero-slide.active h1{animation:inTitle .7s .25s both}
@keyframes inTitle{to{opacity:1;transform:translateY(0)}}
.hero-slide .hero-btns{opacity:0;transform:scale(.85)}
.hero-slide.active .hero-btns{animation:inBtns .5s .45s both}
@keyframes inBtns{to{opacity:1;transform:scale(1)}}
/* 阳光曲线 */
.sun-track{display:flex;gap:5px;max-width:300px;width:80%;margin-top:24px}
.sun-seg{flex:1;height:3px;background:rgba(255,255,255,.15);border-radius:2px;overflow:hidden}
.sun-fill{display:block;height:100%;width:0%;background:linear-gradient(90deg,#F5C522,#E86E18);border-radius:2px}
.sun-seg.done .sun-fill{width:100%!important;background:#E86E18;transition:none!important}
.sun-seg.active .sun-fill{width:100%}
/* 右下信息 */
.hero-info{position:absolute;right:40px;bottom:40px;z-index:2;display:flex;align-items:center;gap:24px}
.hc-num{font-family:var(--font-data);font-size:2.4rem;font-weight:700;color:#fff;display:block;line-height:1;text-shadow:0 2px 20px rgba(0,0,0,.4)}
.hc-lbl{font-size:.85rem;color:rgba(255,255,255,.8);display:block;margin-top:4px;letter-spacing:.05em;text-shadow:0 1px 8px rgba(0,0,0,.3)}
.hn-btn{width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:rgba(0,0,0,.15);color:#fff;font-size:1rem;cursor:pointer;transition:all .3s;backdrop-filter:blur(4px)}
.hn-btn:hover{background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.5)}
@media(max-width:768px){.hero-info{right:16px;bottom:16px;gap:16px}.hc-num{font-size:1.6rem}.hc-lbl{font-size:.8rem}.hn-btn{width:30px;height:30px;font-size:.85rem}.hero h1{font-size:clamp(1.6rem,6vw,2.4rem)}.hero-tags span{padding:4px 10px;font-size:.72rem}.btn{padding:10px 20px;font-size:.82rem}}

/* ===== 数据行 ===== */
.data-section{position:relative;overflow:hidden;background:linear-gradient(180deg,var(--white),var(--surface))}
.data-beam{position:absolute;pointer-events:none;filter:blur(6px)}
.data-beam:nth-child(1){width:80%;height:140%;top:-20%;left:-5%;clip-path:polygon(30% 0,70% 0,55% 100%,20% 100%);background:linear-gradient(180deg,rgba(232,110,24,.18) 0%,rgba(232,110,24,.04) 60%,transparent 100%);animation:beam1 20s ease-in-out infinite alternate}
.data-beam:nth-child(2){width:60%;height:120%;top:-10%;left:30%;clip-path:polygon(40% 0,80% 0,60% 100%,30% 100%);background:linear-gradient(180deg,rgba(245,197,34,.14) 0%,rgba(245,197,34,.03) 60%,transparent 100%);animation:beam2 25s ease-in-out infinite alternate}
.data-beam:nth-child(3){width:70%;height:130%;top:-15%;left:50%;clip-path:polygon(25% 0,65% 0,50% 100%,15% 100%);background:linear-gradient(180deg,rgba(232,110,24,.12) 0%,rgba(232,110,24,.03) 60%,transparent 100%);animation:beam3 22s ease-in-out infinite alternate}
@keyframes beam1{from{opacity:.4;transform:translateX(0)}to{opacity:.8;transform:translateX(4%)}}
@keyframes beam2{from{opacity:.3;transform:translateX(0)}to{opacity:.6;transform:translateX(-3%)}}
@keyframes beam3{from{opacity:.3;transform:translateX(0)}to{opacity:.65;transform:translateX(3%)}}
.data-row{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding:18px 0;text-align:center;position:relative;z-index:1}
.data-row .num{font-size:2.2rem;font-weight:700;color:var(--primary);display:block;font-family:var(--font-data);line-height:1.1}
.data-row .lbl{font-size:.85rem;color:var(--text2);margin-top:4px}
@media(max-width:768px){.data-row{grid-template-columns:repeat(2,1fr);gap:16px}.data-row .num{font-size:1.6rem}}

/* ===== 通用 ===== */
section{padding:80px 0}
@media(max-width:768px){section{padding:50px 0}}
.section-title{font-size:clamp(1.3rem,2.5vw,32px);font-weight:700;line-height:1.2;margin-bottom:12px;letter-spacing:-.01em}
.tag{display:inline-flex;padding:4px 14px;border-radius:999px;font-size:.75rem;font-weight:500;background:var(--primary-light);color:var(--primary);margin-bottom:16px}
.tc{text-align:center}
.mb{margin-bottom:48px}

/* ===== 卡片 ===== */
.card{background:var(--surface);border-radius:var(--radius);padding:32px 24px;transition:all .25s}
.card:hover{box-shadow:0 4px 20px rgba(0,0,0,.04);transform:translateY(-2px)}
.card .num{font-size:2rem;font-weight:700;color:var(--primary);display:block;margin-bottom:6px;line-height:1;font-family:var(--font-data)}
.card h3{font-size:1.05rem;font-weight:600;margin-bottom:8px}
.card p{font-size:.88rem;color:var(--text2);line-height:1.7}

/* ===== 核心业务 ===== */
.biz-wrap{display:grid;gap:16px}
.biz-card{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:center;padding:20px;border-radius:var(--radius);transition:all .3s}
.biz-card:hover{transform:translateY(-3px);box-shadow:0 12px 32px rgba(0,0,0,.06)}
.biz-card:nth-child(1){background:linear-gradient(135deg,rgba(232,110,24,.04),transparent 60%)}
.biz-card:nth-child(1) .biz-link{color:#E86E18}
.biz-card:nth-child(2){background:linear-gradient(135deg,rgba(18,155,56,.04),transparent 60%)}
.biz-card:nth-child(2) .biz-link{color:#129B38}
.biz-card:nth-child(3){background:linear-gradient(135deg,rgba(24,128,255,.04),transparent 60%)}
.biz-card:nth-child(3) .biz-link{color:#1880ff}
.biz-card:nth-child(even){direction:rtl;text-align:left}
.biz-card:nth-child(even) .biz-text{direction:ltr}
.biz-card:nth-child(even) .biz-img{direction:ltr}
.biz-text h3{font-size:1.1rem;font-weight:600;margin-bottom:8px}
.biz-text p{font-size:.82rem;color:var(--text2);line-height:1.6}
.biz-link{display:inline-flex;align-items:center;gap:6px;margin-top:12px;font-size:.82rem;font-weight:500}
.biz-img{background:var(--white);border-radius:8px;display:flex;align-items:center;justify-content:center;overflow:hidden;height:220px}
.biz-card:nth-child(1) .biz-img{border:1px solid rgba(232,110,24,.08)}
.biz-card:nth-child(2) .biz-img{border:1px solid rgba(18,155,56,.08)}
.biz-card:nth-child(3) .biz-img{border:1px solid rgba(24,128,255,.08)}
.biz-img img{width:100%;height:100%;object-fit:contain;transition:transform .3s}
.biz-card:hover .biz-img img{transform:scale(1.05)}
@media(max-width:768px){.biz-card{grid-template-columns:1fr;gap:24px;padding:24px;direction:ltr!important}.biz-card:nth-child(even){direction:ltr!important}.biz-card:nth-child(even) .biz-text{direction:ltr}.biz-img{aspect-ratio:16/9}}

/* ===== CTA ===== */
.cta{background:linear-gradient(135deg,var(--primary),var(--primary-dark));padding:64px 0;text-align:center;color:#fff}
.cta h2{font-size:clamp(1.3rem,2.2vw,28px);font-weight:700;line-height:1.3;margin-bottom:12px}
.cta p{font-size:.95rem;color:rgba(255,255,255,.5);max-width:480px;margin:0 auto 28px}

/* ===== Footer ===== */
.footer{background:var(--ink);color:var(--text3);padding:48px 0 0}
.footer h4{color:#ddd;font-size:.88rem;font-weight:600;margin-bottom:14px}
.footer a{color:var(--text3);transition:color .2s;font-size:.83rem}
.footer a:hover{color:#fff}
.fg{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px}
.footer ul{list-style:none}
.footer li{margin-bottom:6px}
.footer hr{border:none;border-top:1px solid rgba(255,255,255,.05);margin:28px 0}
.footer-bt{border-top:1px solid rgba(255,255,255,.04);padding:18px 0;font-size:.8rem;color:#6b7280;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}
@media(max-width:768px){.fg{grid-template-columns:1fr 1fr;gap:24px}.footer{padding:36px 0 0}}
