:root{
  --color-primary:#0b3a2e;
  --color-primary-dark:#052217;
  --color-accent:#00b3a6;
  --color-surface:#f6fbff;
  --color-text:#0e1b26;
  --rgb-primary:11,58,46;
  --rgb-accent:0,179,166;
  --radius-sm:6px;
  --radius-md:10px;
  --radius-lg:14px;
  --radius-xl:18px;
  --shadow-sm:0 1px 0 rgba(0,0,0,.25), 0 8px 18px rgba(0,120,255,.10);
  --shadow-md:0 10px 26px rgba(1,28,44,.18), 0 2px 0 rgba(255,255,255,.55) inset, 0 -1px 0 rgba(0,0,0,.08) inset;
  --shadow-lg:0 22px 60px rgba(0,0,0,.22), 0 1px 0 rgba(255,255,255,.42) inset, 0 -2px 0 rgba(0,0,0,.10) inset;
  --space-section:4rem;
  --space-card:1.5rem;
  --space-gap:1.25rem;
  --transition:0.52s cubic-bezier(.22,1,.26,1);
  --heading-weight:800;
  --body-line-height:1.7;
  --color-border:rgba(0,0,0,.18);
  --color-ring:rgba(0,179,166,.55);
  --shadow-focus:0 0 0 4px rgba(0,179,166,.22), 0 18px 44px rgba(0,0,0,.20);
}

/* 基础覆盖 */
body{
  color:var(--color-text);
  line-height:var(--body-line-height);
  background:
    radial-gradient(1200px 700px at 10% -10%, rgba(0,179,166,.18), transparent 55%),
    radial-gradient(900px 600px at 95% 0%, rgba(0,120,255,.14), transparent 50%),
    linear-gradient(180deg, #f7fbff 0%, #f1f7ff 35%, #eef4ff 100%);
}
h1,h2,h3,h4{ font-weight:var(--heading-weight); }
section,.section{
  padding-top:var(--space-section);
  padding-bottom:var(--space-section);
  position:relative;
}
.card,[class*="card"]{
  border-radius:var(--radius-lg);
  box-shadow:
    0 18px 40px rgba(0,0,0,.18),
    0 2px 0 rgba(255,255,255,.65) inset,
    0 -2px 0 rgba(0,0,0,.08) inset,
    0 0 0 1px rgba(0,179,166,.20);
  padding:var(--space-card);
  transition:transform var(--transition), box-shadow var(--transition), background var(--transition), color var(--transition), border-color var(--transition);
  background:
    radial-gradient(900px 240px at 15% 0%, rgba(0,179,166,.18), transparent 55%),
    linear-gradient(180deg, rgba(255,255,255,.92) 0%, rgba(245,252,255,.92) 55%, rgba(240,248,255,.90) 100%);
  border:1px solid rgba(0,0,0,.10);
}
.btn,button[class*="btn"],a[class*="btn"]{
  border-radius:var(--radius-md);
  transition:transform var(--transition), box-shadow var(--transition), background var(--transition), border-color var(--transition), color var(--transition), filter var(--transition);
  box-shadow:0 12px 26px rgba(0,0,0,.16);
}
a:not([class]){
  color:var(--color-primary);
  transition:color var(--transition), text-shadow var(--transition), filter var(--transition);
  text-shadow:0 1px 0 rgba(255,255,255,.55);
}
a:not([class]):hover{
  color:var(--color-accent);
  text-shadow:0 0 18px rgba(0,179,166,.35), 0 2px 0 rgba(255,255,255,.45);
}

/* ========== Section Layout Variants ========== */

/* news: featured-top */
/* 首篇横跨全宽 */
                .news-grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:var(--space-gap); }
                .news-grid>*:first-child{ grid-column:span 3; }
.news-grid > *{
  border-radius:var(--radius-lg);
  border:1px solid rgba(0,0,0,.12);
  box-shadow:
    0 16px 34px rgba(0,0,0,.16),
    0 1px 0 rgba(255,255,255,.6) inset,
    0 0 0 1px rgba(0,179,166,.14) inset;
  background:
    radial-gradient(700px 220px at 10% 0%, rgba(0,179,166,.16), transparent 55%),
    linear-gradient(180deg, rgba(255,255,255,.88) 0%, rgba(240,252,255,.86) 100%);
}
.news-grid > *:nth-child(1){
  background:
    radial-gradient(900px 320px at 20% 0%, rgba(0,179,166,.30), transparent 60%),
    linear-gradient(135deg, #0b3a2e 0%, #0a2b24 32%, #063a6b 100%);
  color:#e9feff;
  border-color:rgba(0,179,166,.30);
  box-shadow:
    0 28px 70px rgba(0,0,0,.24),
    0 0 0 1px rgba(0,179,166,.22) inset,
    0 2px 0 rgba(255,255,255,.25) inset;
}
.news-grid > *:nth-child(2){
  background:
    radial-gradient(700px 240px at 85% 10%, rgba(0,120,255,.20), transparent 55%),
    linear-gradient(180deg, rgba(255,255,255,.86) 0%, rgba(240,245,255,.88) 100%);
}
.news-grid > *:nth-child(3){
  background:
    radial-gradient(650px 240px at 20% 0%, rgba(255,152,0,.20), transparent 52%),
    linear-gradient(180deg, rgba(255,255,255,.86) 0%, rgba(255,246,236,.90) 100%);
}
.news-grid > *:nth-child(4){
  background:
    radial-gradient(650px 260px at 80% 0%, rgba(0,179,166,.18), transparent 55%),
    linear-gradient(180deg, rgba(255,255,255,.86) 0%, rgba(241,252,248,.92) 100%);
}
.news-grid > *:nth-child(5){
  background:
    radial-gradient(650px 260px at 15% 0%, rgba(92,112,255,.18), transparent 55%),
    linear-gradient(180deg, rgba(255,255,255,.86) 0%, rgba(242,246,255,.92) 100%);
}
.news-grid > *:nth-child(6){
  background:
    radial-gradient(650px 260px at 85% 0%, rgba(255,77,120,.16), transparent 55%),
    linear-gradient(180deg, rgba(255,255,255,.86) 0%, rgba(255,244,248,.92) 100%);
}

/* features: grid-2 */
.feature-list{
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:calc(var(--space-gap) * 1.5);
}
.feature-list > *{
  border-radius:var(--radius-lg);
  border:1px solid rgba(0,0,0,.12);
  box-shadow:
    0 16px 32px rgba(0,0,0,.14),
    0 2px 0 rgba(255,255,255,.62) inset,
    0 -1px 0 rgba(0,0,0,.06) inset;
  background:
    radial-gradient(620px 220px at 20% 0%, rgba(0,179,166,.17), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.90) 0%, rgba(243,251,255,.90) 100%);
  transition:transform var(--transition), box-shadow var(--transition), border-color var(--transition), filter var(--transition);
}
.feature-list > *:nth-child(odd){
  background:
    radial-gradient(620px 220px at 20% 0%, rgba(255,152,0,.22), transparent 60%),
    linear-gradient(135deg, rgba(255,255,255,.90) 0%, rgba(255,242,228,.90) 60%, rgba(255,255,255,.80) 100%);
  border-color:rgba(255,152,0,.26);
}
.feature-list > *:nth-child(even){
  background:
    radial-gradient(620px 220px at 80% 0%, rgba(0,120,255,.22), transparent 60%),
    linear-gradient(135deg, rgba(255,255,255,.90) 0%, rgba(232,244,255,.92) 60%, rgba(255,255,255,.80) 100%);
  border-color:rgba(0,120,255,.24);
}

/* hero: minimal */
.hero{ padding:2rem 0; position:relative; }
.hero:before{
  content:"";
  position:absolute;
  inset:-10px -10px auto -10px;
  height:170px;
  pointer-events:none;
  background:
    radial-gradient(600px 170px at 15% 20%, rgba(0,179,166,.25), transparent 60%),
    radial-gradient(540px 180px at 85% 10%, rgba(0,120,255,.18), transparent 62%);
  filter:saturate(1.05);
}
.hero-content{ max-width:560px; }
.hero-content > *{
  text-shadow:0 1px 0 rgba(255,255,255,.65);
}

/* testimonials: masonry */
.testimonial-list{
  column-count:2;
  column-gap:var(--space-gap);
}
.testimonial-list > *{
  break-inside:avoid;
  margin-bottom:var(--space-gap);
  border-radius:var(--radius-lg);
  border:1px solid rgba(0,0,0,.12);
  background:
    radial-gradient(560px 240px at 10% 0%, rgba(0,179,166,.18), transparent 58%),
    linear-gradient(180deg, rgba(255,255,255,.90) 0%, rgba(242,252,255,.92) 100%);
  box-shadow:
    0 18px 44px rgba(0,0,0,.16),
    0 2px 0 rgba(255,255,255,.62) inset,
    0 0 0 1px rgba(0,179,166,.12) inset;
}
.testimonial-list > *:nth-child(3n+1){
  background:
    radial-gradient(560px 240px at 90% 0%, rgba(255,152,0,.22), transparent 58%),
    linear-gradient(180deg, rgba(255,255,255,.90) 0%, rgba(255,246,232,.92) 100%);
}
.testimonial-list > *:nth-child(3n+2){
  background:
    radial-gradient(560px 240px at 20% 0%, rgba(0,120,255,.22), transparent 58%),
    linear-gradient(180deg, rgba(255,255,255,.90) 0%, rgba(236,247,255,.92) 100%);
}

/* partners: scroll */
/* 自动滚动 */
                .partner-grid{ display:flex; gap:2rem; overflow:hidden; animation:partnerScroll 20s linear infinite; }
                @keyframes partnerScroll{ 0%{ transform:translateX(0); } 100%{ transform:translateX(-50%); } }
.partner-grid{
  filter:saturate(1.06);
}
.partner-grid > *{
  border-radius:999px;
  border:1px solid rgba(0,0,0,.10);
  background:
    linear-gradient(180deg, rgba(255,255,255,.85) 0%, rgba(240,250,255,.88) 100%);
  box-shadow:
    0 14px 34px rgba(0,0,0,.14),
    0 1px 0 rgba(255,255,255,.7) inset;
}

/* faq: with-sidebar */
/* FAQ 左 + 联系信息右 */
                .faq-wrapper{ display:grid; grid-template-columns:2fr 1fr; gap:2rem; }
.faq-wrapper > *{
  border-radius:var(--radius-lg);
  border:1px solid rgba(0,0,0,.12);
  background:
    radial-gradient(820px 280px at 12% 0%, rgba(0,179,166,.16), transparent 58%),
    linear-gradient(180deg, rgba(255,255,255,.90) 0%, rgba(244,252,255,.92) 100%);
  box-shadow:
    0 18px 48px rgba(0,0,0,.14),
    0 2px 0 rgba(255,255,255,.62) inset,
    0 0 0 1px rgba(0,179,166,.10) inset;
}
.faq-wrapper > *:last-child{
  background:
    radial-gradient(740px 260px at 85% 0%, rgba(255,152,0,.22), transparent 58%),
    linear-gradient(180deg, rgba(255,255,255,.90) 0%, rgba(255,246,232,.92) 100%);
  border-color:rgba(255,152,0,.24);
  box-shadow:
    0 18px 48px rgba(0,0,0,.15),
    0 2px 0 rgba(255,255,255,.62) inset,
    0 0 0 1px rgba(255,152,0,.14) inset;
}

/* stats: grid-4 */
.stats-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:var(--space-gap);
  text-align:center;
}
.stats-grid > *{
  border-radius:var(--radius-lg);
  border:1px solid rgba(0,0,0,.12);
  background:
    radial-gradient(560px 240px at 50% 0%, rgba(0,179,166,.18), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.90) 0%, rgba(242,253,255,.92) 100%);
  box-shadow:
    0 18px 46px rgba(0,0,0,.14),
    0 2px 0 rgba(255,255,255,.62) inset,
    0 0 0 1px rgba(0,179,166,.10) inset;
  transition:transform var(--transition), box-shadow var(--transition), border-color var(--transition);
}
.stats-grid > *:nth-child(2n){
  background:
    radial-gradient(560px 240px at 50% 0%, rgba(0,120,255,.20), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.90) 0%, rgba(234,246,255,.92) 100%);
  border-color:rgba(0,120,255,.22);
}
.stats-grid > *:nth-child(3n){
  background:
    radial-gradient(560px 240px at 50% 0%, rgba(255,152,0,.22), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.90) 0%, rgba(255,246,232,.92) 100%);
  border-color:rgba(255,152,0,.24);
}

/* cta: full-bg */
.cta-section{
  background:
    linear-gradient(135deg, rgba(11,58,46,.98) 0%, rgba(5,34,23,.98) 35%, rgba(0,179,166,.92) 100%),
    radial-gradient(900px 320px at 15% 0%, rgba(0,179,166,.35), transparent 58%);
  color:#eaffff;
  padding:4rem 2rem;
  position:relative;
  border-top:1px solid rgba(255,255,255,.14);
  border-bottom:1px solid rgba(0,0,0,.18);
  box-shadow:
    0 30px 90px rgba(0,0,0,.25),
    0 0 0 1px rgba(0,179,166,.28) inset;
}
.cta-section:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    conic-gradient(from 220deg at 50% 0%, rgba(255,255,255,.16), transparent 20%, rgba(0,179,166,.18), transparent 45%, rgba(0,120,255,.16), transparent 70%, rgba(255,152,0,.16));
  opacity:.55;
  mix-blend-mode:screen;
  filter:blur(0px) saturate(1.08);
}

/* Page Layout: full-width */
/* 无侧边栏, 全宽 */
.page-main{ max-width:1200px; margin:0 auto; }

/* 条件性装饰 */
.hero, [class*="hero"], section:first-of-type{
  background:
    linear-gradient(135deg, rgba(11,58,46,.96) 0%, rgba(5,34,23,.96) 38%, rgba(0,179,166,.92) 100%),
    radial-gradient(900px 320px at 10% 0%, rgba(0,179,166,.36), transparent 58%);
  color:#eaffff;
  border-top:1px solid rgba(255,255,255,.14);
  border-bottom:1px solid rgba(0,0,0,.18);
}
header,.header,.navbar{
  background:transparent;
  backdrop-filter:saturate(1.05) blur(6px);
  -webkit-backdrop-filter:saturate(1.05) blur(6px);
}

/* Responsive */
@media (max-width:1024px){
  .news-grid{ grid-template-columns:repeat(2, 1fr) !important; }
  .feature-list{ grid-template-columns:repeat(2, 1fr) !important; }
  .partner-grid{ grid-template-columns:repeat(3, 1fr) !important; }
  .stats-grid{ grid-template-columns:repeat(2, 1fr) !important; }
  .hero-inner{ grid-template-columns:1fr !important; }
}

@media (max-width:640px){
  :root{ --space-section:2rem; --space-card:1rem; --space-gap:0.75rem; --transition:0.46s cubic-bezier(.18,1,.24,1); --radius-md:9px; --radius-lg:13px; }
  .news-grid{ grid-template-columns:1fr !important; }
  .feature-list{ grid-template-columns:1fr !important; }
  .faq-list{ grid-template-columns:1fr !important; }
  .testimonial-list{ column-count:1 !important; }
  .partner-grid{ grid-template-columns:repeat(2, 1fr) !important; }
  .stats-grid{ grid-template-columns:repeat(2, 1fr) !important; }
  .cta-inner{ grid-template-columns:1fr !important; }
}