:root{
    --color-primary:#204d57;
    --color-primary-dark:#14373e;
    --color-accent:#7c5cff;
    --color-surface:#eaf3ff;
    --color-text:#10202a;
    --rgb-primary:32,77,87;
    --rgb-accent:124,92,255;
    --radius-sm:4px;
    --radius-md:10px;
    --radius-lg:14px;
    --radius-xl:18px;
    --shadow-sm:none;
    --shadow-md:0 10px 30px rgba(15, 40, 48, 0.10), 0 2px 10px rgba(15, 40, 48, 0.08);
    --shadow-lg:0 18px 50px rgba(15, 40, 48, 0.14), 0 6px 18px rgba(15, 40, 48, 0.10);
    --space-section:5rem;
    --space-card:2rem;
    --space-gap:1.5rem;
    --transition:0.55s cubic-bezier(0.16, 1, 0.3, 1);
    --heading-weight:700;
    --body-line-height:1.7;
    --shadow-accent-glow:0 0 24px rgba(124, 92, 255, 0.4);
    --shadow-accent-halo:0 0 32px rgba(124, 92, 255, 0.6);
}

body{ color:var(--color-text); line-height:var(--body-line-height); background:linear-gradient(180deg, rgba(234,243,255,0.9), rgba(234,243,255,0.55)); }

h1,h2,h3,h4{ font-weight:var(--heading-weight); letter-spacing:-0.01em; color:var(--color-text); text-shadow:0 1px 0 rgba(255,255,255,0.35); }

section,.section{ padding-top:var(--space-section); padding-bottom:var(--space-section); }

.card,[class*="card"]{
    border-radius:var(--radius-lg);
    box-shadow:0 18px 50px rgba(16, 32, 42, 0.14), 0 6px 18px rgba(16, 32, 42, 0.10), 0 0 0 1px rgba(16, 32, 42, 0.06) inset, 0 0 0 0 rgba(124, 92, 255, 0);
    padding:var(--space-card);
    transition:transform 0.55s cubic-bezier(0.16,1,0.3,1), box-shadow 0.55s cubic-bezier(0.16,1,0.3,1), border-color 0.55s cubic-bezier(0.16,1,0.3,1), background-color 0.55s cubic-bezier(0.16,1,0.3,1), filter 0.55s cubic-bezier(0.16,1,0.3,1);
    background:linear-gradient(180deg, rgba(255,255,255,0.85), rgba(255,255,255,0.7));
    filter:saturate(1.02);
    animation:cardPulse 6.5s ease-in-out infinite;
}

.btn,button[class*="btn"],a[class*="btn"]{
    border-radius:var(--radius-md);
    transition:transform var(--transition), box-shadow var(--transition), background-color var(--transition), color var(--transition), border-color var(--transition), filter var(--transition);
    box-shadow:0 10px 28px rgba(16, 32, 42, 0.12), 0 0 0 1px rgba(16, 32, 42, 0.08) inset;
}

a:not([class]){ color:var(--color-primary); transition:var(--transition); text-shadow:0 0 0 rgba(0,0,0,0); }

a:not([class]):hover{ color:var(--color-accent); }

.card{ border-left:3px solid rgba(32, 77, 87, 0.95); }

@keyframes cardPulse{
    0%,100%{
        box-shadow:0 18px 50px rgba(16, 32, 42, 0.14), 0 6px 18px rgba(16, 32, 42, 0.10), 0 0 0 1px rgba(16, 32, 42, 0.06) inset, 0 0 0 0 rgba(124, 92, 255, 0);
        filter:saturate(1.02);
    }
    50%{
        box-shadow:0 18px 50px rgba(16, 32, 42, 0.14), 0 6px 18px rgba(16, 32, 42, 0.10), 0 0 0 1px rgba(16, 32, 42, 0.06) inset, 0 0 0 1px rgba(124, 92, 255, 0.08), var(--shadow-accent-glow);
        filter:saturate(1.05);
    }
}

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

/* news: grid-3 */
/* 三列等宽网格 */
                .news-grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:var(--space-gap); }

/* features: centered */
/* 居中大卡片 */
                .feature-list{ display:flex; flex-direction:column; align-items:center; gap:calc(var(--space-gap) * 2); max-width:720px; margin:0 auto; }

/* hero: minimal */
.hero{ padding:2rem 0; } .hero-content{ max-width:560px; }

/* testimonials: grid-3 */
.testimonial-list{ display:grid; grid-template-columns:repeat(3, 1fr); gap: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: two-column */
.faq-list{ display:grid; grid-template-columns:1fr 1fr; gap:var(--space-gap); }

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

/* cta: full-bg */
.cta-section{
    background:radial-gradient(1200px 420px at 20% 20%, rgba(124,92,255,0.35), transparent 55%),
               radial-gradient(900px 360px at 85% 35%, rgba(82,183,136,0.20), transparent 60%),
               linear-gradient(180deg, rgba(32,77,87,1), rgba(20,55,62,1));
    color:#f5fbff;
    padding:4rem 2rem;
    box-shadow:0 22px 60px rgba(16, 32, 42, 0.18), 0 0 0 1px rgba(255,255,255,0.08) inset;
}

.page-main{ max-width:1200px; margin:0 auto; }

/* 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; --radius-lg:16px; --radius-md:10px; }
    .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; }
}