/* 官网首页 · 青山墨绿（仅 data-page=home）
   主色 #00a971，纸面 #071510，页脚 #041410 */

body[data-page="home"] {
  --h-bg: #071510;
  --h-bg-alt: #0a1c16;
  --h-card: #0e2a22;
  --h-txt: #e8f5ee;
  --h-txt2: #9fc4b4;
  --h-muted: #6e9486;
  --h-line: #1a3d32;
  --h-brand: #00a971;
  --h-brand-deep: #008f60;
  --h-lake: #00a971;
  --h-lake-bright: #86dba2;
  --h-brand-ink: #041410;
  --h-ink: #041410;
  --header-h: 64px;
  background: var(--h-bg);
  color: var(--h-txt);
  font-size: 15px;
  letter-spacing: 0;
}

body[data-page="home"] .cursor-aura { display: none; }

body[data-page="home"] .site-header {
  height: var(--header-h);
  border-bottom: 1px solid transparent;
}
body[data-page="home"] .site-header__inner { height: var(--header-h); }
body[data-page="home"] .site-header:not(.is-scrolled) {
  background: transparent;
}
body[data-page="home"] .site-header:not(.is-scrolled) .brand__text strong,
body[data-page="home"] .site-header:not(.is-scrolled) .main-nav > a,
body[data-page="home"] .site-header:not(.is-scrolled) .main-nav > .nav-drop > button,
body[data-page="home"] .site-header:not(.is-scrolled) .header-login,
body[data-page="home"] .site-header:not(.is-scrolled) .header-theme {
  color: rgba(255, 255, 255, 0.92);
}
body[data-page="home"] .site-header:not(.is-scrolled) .brand__text span { color: rgba(255,255,255,0.55); }
body[data-page="home"] .site-header:not(.is-scrolled) .header-theme,
body[data-page="home"] .site-header:not(.is-scrolled) .btn--sm {
  border-color: rgba(255,255,255,0.28);
  color: #fff;
}
body[data-page="home"] .site-header:not(.is-scrolled) .btn--primary {
  background: #00a971; color: #fff; border-color: #00a971;
}
body[data-page="home"] .site-header.is-scrolled {
  background: color-mix(in srgb, var(--h-card) 90%, transparent);
  backdrop-filter: blur(16px) saturate(1.2);
  border-bottom-color: var(--h-line);
}
body[data-page="home"] .site-header.is-scrolled .brand__text strong,
body[data-page="home"] .site-header.is-scrolled .main-nav > a,
body[data-page="home"] .site-header.is-scrolled .main-nav > .nav-drop > button,
body[data-page="home"] .site-header.is-scrolled .header-login,
body[data-page="home"] .site-header.is-scrolled .header-theme {
  color: var(--h-txt);
}
body[data-page="home"] .site-header.is-scrolled .brand__text span { color: var(--h-txt2); }
body[data-page="home"] .main-nav > a.is-active::after { background: var(--h-brand); }

.hm-hero {
  position: relative;
  min-height: 100dvh;
  display: flex; align-items: center; justify-content: center;
  color: #fff;
  overflow: hidden;
  background: #061510;
}
.hm-hero__scene {
  position: absolute; inset: 0;
  pointer-events: none;
}
.hm-hero__sky {
  position: absolute; inset: 0;
  background:
    radial-gradient(48% 42% at 72% 34%, rgba(232, 244, 186, 0.22), transparent 62%),
    linear-gradient(180deg, #061510 0%, #0a271c 28%, #134536 54%, #1c6a4e 74%, #3d9a72 88%, #8ecfb0 100%);
}
.hm-hero__sun {
  position: absolute;
  width: min(28vw, 220px); height: min(28vw, 220px);
  right: 18%; top: 22%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(244, 248, 210, 0.95) 0%, rgba(214, 232, 150, 0.35) 34%, transparent 70%);
  filter: blur(2px);
  animation: hm-sun-breathe 8s ease-in-out infinite;
}
.hm-hero__particles {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  display: block;
  pointer-events: auto;
}
.hm-hero__ridges {
  position: absolute; left: 0; right: 0; bottom: 0;
  width: 100%; height: 100%;
  display: block;
}
.hm-ridge--far { animation: hm-ridge-drift 48s ease-in-out infinite alternate; }
.hm-ridge--mid { animation: hm-ridge-drift 36s ease-in-out infinite alternate-reverse; }
.hm-pines { opacity: 0.92; }
.hm-hero__lake {
  position: absolute; left: 0; right: 0; bottom: 0;
  height: 16%;
  background:
    linear-gradient(180deg, rgba(180, 228, 196, 0.16), rgba(4, 22, 18, 0.4) 36%, rgba(4, 16, 14, 0.92));
}
.hm-hero__fog {
  position: absolute; inset: 8% -16% 0;
  background:
    radial-gradient(48% 42% at 28% 58%, rgba(232, 246, 236, 0.28), transparent 72%),
    radial-gradient(56% 48% at 78% 42%, rgba(180, 220, 196, 0.22), transparent 74%),
    linear-gradient(180deg, transparent 18%, rgba(8, 28, 22, 0.18) 52%, rgba(4, 16, 14, 0.55) 100%);
  filter: blur(22px);
  animation: hm-fog-drift 22s ease-in-out infinite alternate;
}
.hm-hero__grain {
  position: absolute; inset: 0;
  opacity: 0.09;
  mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)' opacity='.55'/></svg>");
}
.hm-hero__inner {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 1240px;
  margin: 0 auto;
  padding: 96px 48px 80px;
  text-align: center;
  text-shadow: 0 10px 28px rgba(4, 18, 16, 0.45);
}
.hm-hero::after {
  content: "";
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 50% 46%, rgba(4, 18, 16, 0.42), transparent 58%);
  pointer-events: none;
  z-index: 1;
}
.hm-kicker {
  font-size: 13px; letter-spacing: 0.18em;
  color: var(--h-lake-bright); font-weight: 600;
}
.hm-title {
  margin: 0;
  font-size: clamp(36px, 6.2vw, 64px);
  font-weight: 650;
  letter-spacing: 0.08em;
  line-height: 1.2;
  transform-origin: center;
  animation: hm-title-breathe 4.8s ease-in-out 1.2s infinite;
}
.hm-title span {
  display: inline-block;
  opacity: 0;
  animation: hm-char-in 0.9s cubic-bezier(0.22, 1, 0.36, 1) both;
  animation-delay: calc(var(--i) * 90ms);
}
.hm-title__en {
  letter-spacing: 0.04em;
  margin: 0 0.06em;
}
.hm-title__gap {
  width: 0.42em;
}
@keyframes hm-char-in {
  from { opacity: 0; transform: translateY(18px); filter: blur(8px); }
  to { opacity: 1; transform: none; filter: none; }
}
@keyframes hm-title-breathe {
  0%, 100% {
    transform: scale(1);
    filter: drop-shadow(0 0 0 rgba(134, 219, 162, 0));
  }
  50% {
    transform: scale(1.018);
    filter: drop-shadow(0 0 22px rgba(134, 219, 162, 0.55));
  }
}
@keyframes hm-sun-breathe {
  from { transform: scale(1); opacity: 0.88; }
  to { transform: scale(1.06); opacity: 1; }
}
@keyframes hm-fog-drift {
  from { transform: translateX(-4%); }
  to { transform: translateX(5%); }
}
@keyframes hm-ridge-drift {
  from { transform: translateX(0); }
  to { transform: translateX(-1.6%); }
}
@media (prefers-reduced-motion: reduce) {
  .hm-hero__sun, .hm-ridge--far, .hm-ridge--mid, .hm-hero__fog,
  .hm-title, .hm-title span, .hm-cta {
    animation: none;
  }
  .hm-title span { opacity: 1; }
}
.hm-cta {
  display: flex; gap: 12px; flex-wrap: wrap;
  margin-top: 32px; justify-content: center;
  opacity: 0;
  animation: hm-cta-in 0.9s ease 0.85s both;
}
@keyframes hm-cta-in {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: none; }
}
.hm-btn {
  display: inline-flex; align-items: center; justify-content: center;
  height: 44px; padding: 0 22px; border-radius: 4px;
  font-size: 15px; font-weight: 600;
  transition: transform .15s ease, background .15s, border-color .15s, color .15s;
}
.hm-btn:hover { transform: translateY(-1px); }
.hm-btn--solid {
  background: #00a971; color: #fff;
  box-shadow: none;
}
html[data-theme="dark"] .hm-btn--solid {
  background: #00a971; color: #fff;
}
.hm-btn--solid:hover { background: #008f60; color: #fff; }
.hm-btn--ghost {
  background: rgba(255,255,255,0.1); color: #fff;
  border: 1px solid rgba(255,255,255,0.32);
}
.hm-btn--ghost:hover { background: rgba(255,255,255,0.2); color: #fff; }
.hm-btn--on-brand {
  background: #e8f5ee; color: #041410;
}
.hm-btn--on-brand:hover { background: #fff; color: #041410; }

.hm-section { padding: 88px 0; background: var(--h-bg-alt); }
.hm-section--alt { background: var(--h-bg); }
.hm-wrap { width: 100%; max-width: 1240px; margin: 0 auto; padding: 0 48px; }
.hm-head { margin-bottom: 40px; }
.hm-head h2 {
  font-size: clamp(26px, 3vw, 32px);
  font-weight: 650; letter-spacing: -0.03em;
}
.hm-head p { margin-top: 8px; color: var(--h-txt2); font-size: 15px; }

.hm-prod {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.hm-prod__card {
  background: var(--h-card);
  border: 1px solid var(--h-line);
  border-radius: 4px;
  overflow: hidden;
  display: flex; flex-direction: column;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s;
}
.hm-prod__card:hover {
  transform: translateY(-4px);
  border-color: #00a971;
  box-shadow: 0 16px 40px rgba(4, 20, 16, 0.35);
}
.hm-prod__shot { display: block; overflow: hidden; position: relative; }
.hm-prod__shot::after {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(6, 21, 16, 0.08), rgba(6, 21, 16, 0.38));
  pointer-events: none;
}
.hm-prod__shot img {
  width: 100%; aspect-ratio: 16 / 10; object-fit: cover;
  transition: transform .35s ease;
}
.hm-prod__card:hover .hm-prod__shot img { transform: scale(1.04); }
.hm-prod__body { padding: 22px 22px 20px; flex: 1; display: flex; flex-direction: column; }
.hm-prod__pos {
  font-size: 13px; color: var(--h-brand); font-weight: 600;
  margin-bottom: 8px;
}
.hm-prod__body h3 {
  font-size: 22px; font-weight: 650; letter-spacing: -0.02em;
}
.hm-prod__body h3 span {
  display: inline-block; margin-left: 8px;
  font-size: 11px; letter-spacing: 0.14em; font-weight: 600;
  color: var(--h-muted); vertical-align: middle;
}
.hm-prod__body > p {
  margin: 10px 0 18px; color: var(--h-txt2); line-height: 1.7; flex: 1;
}
.hm-prod__links { display: flex; gap: 16px; flex-wrap: wrap; }
.hm-prod__links a {
  font-size: 14px; font-weight: 600; color: var(--h-brand);
}
.hm-prod__links a:hover { color: var(--h-brand-deep); }

.hm-sol {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
.hm-sol__card {
  position: relative; display: block;
  min-height: 220px; border-radius: 4px; overflow: hidden;
  color: #fff;
}
.hm-sol__card img {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
  transition: transform .4s ease;
}
.hm-sol__card:hover img { transform: scale(1.06); }
.hm-sol__veil {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(4, 18, 16, 0.18), rgba(4, 18, 16, 0.82));
}
.hm-sol__txt {
  position: relative; z-index: 1;
  height: 100%; min-height: 220px;
  display: flex; flex-direction: column; justify-content: flex-end;
  padding: 20px;
}
.hm-sol__txt h3 { font-size: 18px; font-weight: 650; }
.hm-sol__txt p { margin-top: 6px; font-size: 13px; color: rgba(255,255,255,0.78); line-height: 1.5; }

.hm-place {
  position: relative; min-height: 380px;
  display: flex; align-items: flex-end; color: #fff;
  overflow: hidden;
}
.hm-place img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hm-place__tint {
  position: absolute; inset: 0;
  background: #0a271c;
  mix-blend-mode: color;
  opacity: 0.42;
}
.hm-place__veil {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(4, 18, 16, 0.12), rgba(4, 18, 16, 0.78));
}
.hm-place__inner {
  position: relative;
  padding: 0 48px 48px;
  max-width: 1240px; margin: 0 auto; width: 100%;
}
.hm-place h2 {
  margin: 10px 0 8px;
  font-size: clamp(24px, 3vw, 32px);
  font-weight: 650; letter-spacing: -0.03em;
}
.hm-place p { margin-bottom: 20px; color: rgba(255,255,255,0.8); max-width: 36em; }

.hm-band {
  background: #00a971;
  color: #fff;
  padding: 48px 0;
}
.hm-band__inner {
  display: flex; align-items: center; justify-content: space-between;
  gap: 24px;
}
.hm-band h2 { font-size: 26px; font-weight: 650; letter-spacing: -0.03em; }
.hm-band p { margin-top: 6px; color: rgba(255,255,255,0.82); }

body[data-page="home"] .site-footer {
  background: #041410; color: #9fc4b4;
  border-top: 1px solid #1a3d32;
}
body[data-page="home"] .site-footer a { color: #6e9486; }
body[data-page="home"] .site-footer a:hover { color: #86dba2; }
body[data-page="home"] .footer__brand p { color: #6e9486; }
body[data-page="home"] .footer__brand .brand__text strong { color: #e8f5ee; }

@media (max-width: 1100px) {
  .hm-sol { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 900px) {
  .hm-hero__inner, .hm-wrap, .hm-place__inner { padding-left: 20px; padding-right: 20px; }
  .hm-prod, .hm-sol { grid-template-columns: 1fr; }
  .hm-hero { min-height: 100dvh; }
  .hm-title { letter-spacing: 0.04em; }
  .hm-band__inner { flex-direction: column; align-items: flex-start; }
}
