:root {
    --color-primary: #e44a5f;
    --color-primary-dark: #a42836;
    --color-accent: #f1b957;
    --color-surface: #f5efe9;
    --color-text: #362c2a;
    --rgb-primary: 228, 74, 95;
    --rgb-accent: 242, 185, 87;
    --radius-sm: 6px;
    --radius-md: 12px;
    --radius-lg: 18px;
    --radius-xl: 26px;
    --shadow-sm: 0 1px 2px rgba(70, 42, 36, .05), 0 4px 10px rgba(70, 42, 36, .04);
    --shadow-md: 0 2px 5px rgba(70, 42, 36, .03), 0 10px 24px -6px rgba(92, 50, 38, .08), 0 24px 40px -14px rgba(112, 50, 42, .12);
    --shadow-lg: 0 5px 12px rgba(70, 42, 36, .04), 0 18px 32px -8px rgba(108, 54, 42, .12), 0 42px 64px -18px rgba(125, 40, 52, .20);
    --space-section: 3rem;
    --space-card: 1.25rem;
    --space-gap: 1rem;
    --transition: 0.5s cubic-bezier(0.22, 1, 0.36, 1);
    --heading-weight: 800;
    --body-line-height: 1.75;
}

body {
    color: var(--color-text);
    line-height: var(--body-line-height);
    background-color: var(--color-surface);
    background-image:
        radial-gradient(ellipse at 12% 18%, rgba(231, 78, 96, .09), transparent 38%),
        radial-gradient(ellipse at 88% 80%, rgba(242, 185, 87, .12), transparent 32%),
        linear-gradient(120deg, #fcf8f5 0%, var(--color-surface) 60%, #ece3dc 100%);
    background-attachment: fixed;
    background-repeat: no-repeat;
}

h1, h2, h3, h4 {
    font-weight: var(--heading-weight);
}

section, .section {
    padding-top: var(--space-section);
    padding-bottom: var(--space-section);
    background-image:
        radial-gradient(circle at 50% 0%, rgba(var(--rgb-accent), .07), transparent 48%),
        linear-gradient(180deg, rgba(255, 255, 255, .68), rgba(var(--rgb-primary), .035) 80%, rgba(var(--rgb-accent), .02));
}

.card, [class*="card"] {
    border-radius: var(--radius-lg);
    box-shadow:
        inset 0 3px 0 rgba(var(--rgb-accent), .55),
        var(--shadow-md);
    padding: var(--space-card);
    transition: var(--transition);
    background-color: #ffffff;
    background-image: linear-gradient(140deg, #ffffff 0%, #fff7f3 55%, #fce9e2 130%);
}

.btn, button[class*="btn"], a[class*="btn"] {
    border-radius: var(--radius-md);
    transition: var(--transition);
    box-shadow: 0 4px 10px rgba(var(--rgb-primary), .12), 0 14px 30px -10px rgba(var(--rgb-primary), .25);
    border-color: transparent;
    background-image: linear-gradient(135deg, var(--color-primary-dark) 0%, var(--color-primary) 50%, #ef8350 100%);
    color: #ffffff;
}

a:not([class]) {
    color: var(--color-primary);
    transition: var(--transition);
    text-decoration-color: rgba(var(--rgb-primary), .35);
}

.news-grid {
    column-count: 2;
    column-gap: var(--space-gap);
}

.news-grid .card {
    break-inside: avoid;
    margin-bottom: var(--space-gap);
}

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

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

.testimonial-list {
    display: flex;
    overflow: hidden;
}

.testimonial-list > * {
    flex: 0 0 100%;
}

.partner-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: calc(var(--space-gap) * 1.5);
    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 {
    text-align: center;
    max-width: 700px;
    margin: 0 auto;
}

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

.card:hover, [class*="card"]:hover {
    transform: translateY(-4px);
    box-shadow:
        inset 0 3px 0 rgba(var(--rgb-accent), .7),
        var(--shadow-lg);
}

a:not([class]):hover {
    color: var(--color-accent);
    text-decoration-color: rgba(var(--rgb-accent), .45);
}

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