:root{
    --color-primary:#1f5aa8;
    --color-primary-dark:#0b2f5e;
    --color-accent:#ff4d6d;
    --color-surface:#f4f7ff;
    --color-text:#101827;
    --rgb-primary:31,90,168;
    --rgb-accent:255,77,109;
    --radius-sm:10px;
    --radius-md:14px;
    --radius-lg:16px;
    --radius-xl:22px;
    --shadow-sm:0 0 0 rgba(0,0,0,0);
    --shadow-md:0 10px 26px rgba(10,20,40,.12), 0 2px 8px rgba(10,20,40,.08);
    --shadow-lg:0 18px 42px rgba(10,20,40,.14), 0 6px 18px rgba(10,20,40,.10);
    --space-section:5rem;
    --space-card:2rem;
    --space-gap:1.5rem;
    --transition:320ms cubic-bezier(0.16,1,0.3,1);
    --heading-weight:700;
    --body-line-height:1.65;
    --card-border:rgba(var(--rgb-primary),.10);
    --card-glow:rgba(var(--rgb-accent),.40);
    --card-glow-strong:rgba(var(--rgb-accent),.64);
    --header-shadow:0 10px 26px rgba(6,16,36,.10), 0 2px 8px rgba(6,16,36,.08);
    --ring:rgba(31,90,168,.35);
}

body{
    color:var(--color-text);
    line-height:var(--body-line-height);
    background:
        radial-gradient(1000px 520px at 10% -10%, rgba(255,77,109,.10), transparent 60%),
        radial-gradient(900px 520px at 90% 0%, rgba(31,90,168,.10), transparent 55%),
        linear-gradient(180deg, #f8fbff 0%, var(--color-surface) 100%);
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
}

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 14px 32px rgba(10,20,40,.12), 0 4px 14px rgba(10,20,40,.08), 0 0 0 1px var(--card-border) inset;
    padding:var(--space-card);
    transition:transform var(--transition), box-shadow var(--transition), filter var(--transition), border-color var(--transition), background var(--transition);
    background:
        radial-gradient(900px 260px at 10% 0%, rgba(var(--rgb-accent),.12), transparent 55%),
        linear-gradient(180deg, rgba(255,255,255,.86) 0%, rgba(255,255,255,.72) 100%);
    border:1px solid var(--card-border);
}

.card:hover,[class*="card"]:hover{
    box-shadow:
        0 18px 44px rgba(10,20,40,.16),
        0 8px 22px rgba(10,20,40,.10),
        0 0 0 1px rgba(var(--rgb-primary),.14) inset,
        0 0 24px var(--card-glow);
    transform:translateY(-4px);
    filter:saturate(1.05);
}

.card:focus-within,[class*="card"]:focus-within{
    box-shadow:
        0 18px 44px rgba(10,20,40,.14),
        0 0 0 1px rgba(var(--rgb-primary),.18) inset,
        0 0 0 4px var(--ring),
        0 0 24px rgba(var(--rgb-accent),.35);
}

.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);
    outline:none;
    border:1px solid rgba(var(--rgb-primary),.22);
    background:
        linear-gradient(180deg, rgba(31,90,168,.98) 0%, rgba(11,47,94,.98) 100%);
    color:#fff;
    box-shadow:0 10px 24px rgba(31,90,168,.22), 0 2px 8px rgba(11,47,94,.16);
}

.btn:hover,button[class*="btn"]:hover,a[class*="btn"]:hover{
    box-shadow:0 14px 30px rgba(31,90,168,.28), 0 2px 10px rgba(11,47,94,.18), 0 0 32px rgba(var(--rgb-accent),.38);
    transform:translateY(-2px);
}

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

a:not([class]):hover{
    color:#2b77ff;
    text-shadow:0 0 18px rgba(43,119,255,.30);
}

header,.header,.navbar{
    box-shadow:var(--header-shadow);
    border-bottom:1px solid rgba(31,90,168,.10);
    backdrop-filter:saturate(1.1) blur(10px);
    -webkit-backdrop-filter:saturate(1.1) blur(10px);
}

@keyframes cardPulseGlow{
    0%{ box-shadow:0 14px 32px rgba(10,20,40,.12), 0 4px 14px rgba(10,20,40,.08), 0 0 0 1px var(--card-border) inset; }
    50%{ box-shadow:0 16px 38px rgba(10,20,40,.14), 0 6px 18px rgba(10,20,40,.10), 0 0 0 1px rgba(var(--rgb-primary),.14) inset, 0 0 24px rgba(var(--rgb-accent),.42); }
    100%{ box-shadow:0 14px 32px rgba(10,20,40,.12), 0 4px 14px rgba(10,20,40,.08), 0 0 0 1px var(--card-border) inset; }
}

.card[data-accent="a"]{ }
.card[data-accent="a"],[class*="card"][data-accent="a"]{
    background:
        radial-gradient(760px 220px at 15% 0%, rgba(255,77,109,.20), transparent 56%),
        linear-gradient(180deg, rgba(255,255,255,.86) 0%, rgba(255,255,255,.74) 100%);
}
.card[data-accent="b"],[class*="card"][data-accent="b"]{
    background:
        radial-gradient(760px 220px at 15% 0%, rgba(31,90,168,.18), transparent 56%),
        linear-gradient(180deg, rgba(255,255,255,.86) 0%, rgba(255,255,255,.74) 100%);
}
.card[data-accent="c"],[class*="card"][data-accent="c"]{
    background:
        radial-gradient(760px 220px at 15% 0%, rgba(44,214,132,.18), transparent 56%),
        linear-gradient(180deg, rgba(255,255,255,.86) 0%, rgba(255,255,255,.74) 100%);
}

.card:hover{
    animation:cardPulseGlow 1200ms ease-in-out infinite;
}

.news-grid{
    display:grid;
    grid-template-columns:2fr 1fr;
    grid-template-rows:auto auto;
    gap:var(--space-gap);
}
.news-grid > *:first-child{grid-row:span 2;}

.feature-list{
    display:grid;
    grid-template-columns:repeat(2, 1fr);
    gap:calc(var(--space-gap) * 1.5);
}

.hero-content{
    text-align:center;
    max-width:800px;
    margin:0 auto;
}

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

.partner-grid{
    display:grid;
    grid-template-columns:repeat(6, 1fr);
    gap:var(--space-gap);
    align-items:center;
}

.faq-list{
    max-width:800px;
    margin:0 auto;
}

.stats-grid{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:2rem;
}
.stats-grid .stat-value{font-size:3rem;}

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

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

.card{border:1px solid rgba(var(--rgb-primary), .10);}

header,.header,.navbar{box-shadow:0 10px 26px rgba(6,16,36,.10), 0 2px 8px rgba(6,16,36,.08);}

@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;}
}