:root{
    --color-primary:#3b1b6f;
    --color-primary-dark:#241046;
    --color-accent:#7c3aed;
    --color-surface:#f6f0ff;
    --color-text:#171425;
    --rgb-primary:59,27,111;
    --rgb-accent:124,58,237;
    --radius-sm:3px;
    --radius-md:5px;
    --radius-lg:7px;
    --radius-xl:10px;

    --shadow-sm:
        0 1px 0 rgba(0,0,0,.10),
        0 6px 14px rgba(var(--rgb-primary),.18);
    --shadow-md:
        0 1px 0 rgba(0,0,0,.12),
        0 10px 26px rgba(var(--rgb-primary),.14),
        0 1px 0 rgba(255,255,255,.45) inset;
    --shadow-lg:
        0 10px 34px rgba(var(--rgb-primary),.18),
        0 2px 0 rgba(255,255,255,.35) inset,
        0 1px 0 rgba(0,0,0,.10);

    --space-section: 5rem;
    --space-card: 2rem;
    --space-gap: 1.5rem;

    --transition: 260ms cubic-bezier(.2,.9,.2,1);
    --heading-weight: 800;
    --body-line-height: 1.65;
    --outline-color: rgba(var(--rgb-accent),.55);
    --focus-ring: 0 0 0 3px rgba(var(--rgb-accent),.28), 0 0 0 1px rgba(124,58,237,.25) inset;
}

body{ color: var(--color-text); line-height: var(--body-line-height); background: radial-gradient(900px 600px at 50% 0%, rgba(124,58,237,.16), transparent 60%), linear-gradient(180deg, #0f0f1a 0%, #0b0b14 100%); }
h1,h2,h3,h4{ font-weight: var(--heading-weight); text-shadow: 0 1px 0 rgba(255,255,255,.04); }
section,.section{ padding-top: var(--space-section); padding-bottom: var(--space-section); }
.card,[class*="card"]{
    border-radius: var(--radius-lg);
    box-shadow:
        0 1px 0 rgba(255,255,255,.14) inset,
        0 10px 30px rgba(var(--rgb-primary),.22),
        0 2px 10px rgba(0,0,0,.20);
    padding: var(--space-card);
    transition: transform 240ms cubic-bezier(.2,.9,.2,1), box-shadow 260ms cubic-bezier(.2,.9,.2,1), border-color 260ms cubic-bezier(.2,.9,.2,1), background-color 260ms cubic-bezier(.2,.9,.2,1);
    background: linear-gradient(180deg, rgba(246,240,255,.98) 0%, rgba(246,240,255,.90) 100%);
    border: 1px solid rgba(59,27,111,.14);
}
.btn,button[class*="btn"],a[class*="btn"]{
    border-radius: var(--radius-md);
    transition: background-color 220ms cubic-bezier(.2,.9,.2,1), color 220ms cubic-bezier(.2,.9,.2,1), box-shadow 260ms cubic-bezier(.2,.9,.2,1), transform 220ms cubic-bezier(.2,.9,.2,1), border-color 220ms cubic-bezier(.2,.9,.2,1);
    border: 1px solid rgba(var(--rgb-accent),.35);
    background: linear-gradient(180deg, rgba(124,58,237,.95) 0%, rgba(92,36,188,.95) 100%);
    color: #fff;
    box-shadow: 0 10px 22px rgba(var(--rgb-accent),.22), 0 2px 0 rgba(255,255,255,.18) inset;
}
a:not([class]){ color: rgba(124,58,237,.95); transition: color var(--transition), text-shadow var(--transition); text-decoration-color: rgba(124,58,237,.35); }
a:not([class]):focus{ outline: 2px solid var(--outline-color); outline-offset: 3px; }
:focus-visible{ box-shadow: var(--focus-ring); }

.card:hover,[class*="card"]:hover{
    transform: translateY(-6px);
    box-shadow:
        0 1px 0 rgba(255,255,255,.18) inset,
        0 18px 48px rgba(var(--rgb-primary),.26),
        0 3px 16px rgba(0,0,0,.25);
}
.hero,[class*="hero"],section:first-of-type{
    background:
        radial-gradient(900px 420px at 50% 0%, rgba(124,58,237,.30), transparent 55%),
        radial-gradient(700px 420px at 10% 40%, rgba(59,27,111,.35), transparent 55%),
        radial-gradient(650px 380px at 90% 50%, rgba(124,58,237,.20), transparent 60%),
        linear-gradient(135deg, #121028 0%, #0f0f1a 55%, #0b0b14 100%);
}
.card{ border-left: 3px solid rgba(var(--rgb-accent),.85); }
header,.header,.navbar{
    box-shadow:
        0 1px 0 rgba(255,255,255,.06) inset,
        0 10px 26px rgba(0,0,0,.32),
        0 2px 10px rgba(var(--rgb-primary),.20);
    background: linear-gradient(180deg, rgba(18,16,40,.86) 0%, rgba(12,12,22,.88) 100%);
    border-bottom: 1px solid rgba(124,58,237,.16);
}

.card, [class*="card"], .btn, button[class*="btn"], a[class*="btn"]{ caret-color: rgba(124,58,237,.95); accent-color: rgba(124,58,237,.95); }

.news-grid{ column-count:2; column-gap: var(--space-gap); }
.news-grid .card{ break-inside: avoid; margin-bottom: var(--space-gap); }
.feature-list{ display:flex; flex-direction:column; align-items:center; gap: calc(var(--space-gap) * 2); max-width: 720px; margin: 0 auto; }
.hero{ position: relative; min-height: 70vh; display: flex; align-items: center; }
.hero-content{ position: relative; z-index: 1; }
.testimonial-list{ display:grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-gap); }
.partner-grid{ display:flex; flex-wrap:wrap; justify-content:center; gap: 2rem; }
.faq-list{ display:grid; grid-template-columns: 1fr 1fr; gap: var(--space-gap); }
.stats-grid{ display:flex; flex-wrap:wrap; justify-content:center; gap: 2rem; }
.stats-grid .stat-value{ font-size: 3rem; text-shadow: 0 3px 0 rgba(0,0,0,.35); }
.cta-inner{ display:grid; grid-template-columns: 1fr auto; align-items:center; gap: 2rem; }
.page-main{ max-width: 860px; margin: 0 auto; }

@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: 220ms cubic-bezier(.2,.9,.2,1); --radius-lg: 8px; --radius-md: 5px; }
    .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; }
}