:root{
    --color-primary:#d946ef;
    --color-primary-dark:#a21caf;
    --color-accent:#22c55e;
    --color-surface:#f7f7ff;
    --color-text:#1f1130;
    --rgb-primary:217,70,239;
    --rgb-accent:34,197,94;
    --radius-sm:10px;
    --radius-md:18px;
    --radius-lg:20px;
    --radius-xl:26px;
    --shadow-sm:0 3px 10px rgba(31,17,48,.10),0 1px 0 rgba(255,255,255,.55) inset;
    --shadow-md:0 4px 10px rgba(0,0,0,.06),0 18px 36px -14px rgba(0,0,0,.16),0 1px 0 rgba(255,255,255,.55) inset;
    --shadow-lg:0 6px 16px rgba(0,0,0,.07),0 28px 60px -26px rgba(0,0,0,.20),0 1px 0 rgba(255,255,255,.55) inset;
    --space-section:5rem;
    --space-card:2rem;
    --space-gap:1.5rem;
    --transition:.38s ease;
    --heading-weight:600;
    --body-line-height:1.65;
    --card-border:rgba(var(--rgb-primary),.18);
    --card-highlight:rgba(255,255,255,.72);
}

/* 基础覆盖 */
body{ color:var(--color-text); line-height:var(--body-line-height); }
h1,h2,h3,h4{ font-weight:var(--heading-weight); }
section,.section{ padding-top:var(--space-section); padding-bottom:var(--space-section); }
.card,[class*="card"]{
    border-radius:var(--radius-lg);
    box-shadow:
        0 4px 8px rgba(0,0,0,.05),
        0 20px 40px -10px rgba(0,0,0,.12),
        0 1px 0 rgba(255,255,255,.55) inset;
    padding:var(--space-card);
    transition:box-shadow var(--transition),transform var(--transition),border-color var(--transition),background var(--transition),color var(--transition),filter var(--transition);
}
.btn,button[class*="btn"],a[class*="btn"]{
    border-radius:var(--radius-md);
    transition:transform var(--transition),background-color var(--transition),box-shadow var(--transition),color var(--transition),border-color var(--transition);
}
a:not([class]){ color:var(--color-primary); transition:var(--transition); }
a:not([class]):hover{ color:var(--color-primary-dark); text-shadow:0 10px 22px rgba(var(--rgb-primary),.20); }
a:not([class]):focus{ outline:2px solid rgba(var(--rgb-primary),.35); outline-offset:3px; }

:root{ caret-color:var(--color-primary); accent-color:var(--color-accent); }

.section,.card,[class*="card"],.btn,button[class*="btn"],a[class*="btn"]{ -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }

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

/* news: grid-4 */
/* 四列紧凑网格 */
                .news-grid{ display:grid; grid-template-columns:repeat(4, 1fr); gap:calc(var(--space-gap)*0.8); }

/* features: grid-4 */
.feature-list{ display:grid; grid-template-columns:repeat(4, 1fr); gap:var(--space-gap); }

/* hero: split */
/* 左文右图 */
                .hero-inner{ display:grid; grid-template-columns:1fr 1fr; gap:2rem; align-items:center; }

/* testimonials: masonry */
.testimonial-list{ column-count:2; column-gap:var(--space-gap); }
                .testimonial-list>*{ break-inside:avoid; margin-bottom:var(--space-gap); }

/* partners: grid-4 */
.partner-grid{ display:grid; grid-template-columns:repeat(4, 1fr); gap:calc(var(--space-gap)*1.5); align-items:center; }

/* faq: with-sidebar */
/* FAQ 左 + 联系信息右 */
                .faq-wrapper{ display:grid; grid-template-columns:2fr 1fr; gap:2rem; }

/* stats: grid-3 */
.stats-grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:var(--space-gap); text-align:center; }

/* cta: split */
.cta-inner{ display:grid; grid-template-columns:1fr auto; align-items:center; gap:2rem; }

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

/* 条件性装饰 */
.hero,.hero section,[class*="hero"],section:first-of-type{
    background:radial-gradient(900px 420px at 12% 10%, rgba(217,70,239,.42) 0%, rgba(217,70,239,.10) 38%, rgba(255,255,255,0) 62%),
               linear-gradient(135deg, rgba(217,70,239,.92), rgba(165,19,207,.92) 55%, rgba(34,197,94,.75));
    border-top:1px solid rgba(255,255,255,.22);
}
.card{ border:1px solid rgba(var(--rgb-primary),.16); }
header,.header,.navbar{ background:transparent; }

/* 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; }
    .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; }
}