.section {
    padding: 60px 0;
    animation: fadeInUp 0.8s ease-out both;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.section-header {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    margin-bottom: 28px;
    animation: fadeInUp 0.6s ease-out 0.2s both;
}

.section-label {
    display: inline-flex;
    align-items: center;
    background: transparent;
    padding: 0;
    border-radius: 0;
    font-size: 26px;
    font-weight: 600;
}

.section-description {
    font-size: 17px;
    color: var(--muted);
    max-width: 480px;
}

.services-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
}

.service-card {
    border-radius: var(--border-radius-xl);
    padding: 34px 34px 28px;
    box-shadow: var(--shadow-card);
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
    align-items: center;
    gap: 16px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    animation: fadeInUp 0.6s ease-out both;
}

.service-card:nth-child(1) {
    animation-delay: 0.1s;
}

.service-card:nth-child(2) {
    animation-delay: 0.2s;
}

.service-card:nth-child(3) {
    animation-delay: 0.3s;
}

.service-card:nth-child(4) {
    animation-delay: 0.4s;
}

.service-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.12);
}

[data-theme="dark"] .service-card:hover {
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.45);
}

    .service-card.light {
        background: var(--card);
    }

    .service-card.accent {
        background: var(--gradient);
    }

    .service-card.dark {
        background: var(--dark);
        color: #fff;
    }

.service-tag {
    display: inline-flex;
    font-size: 14px;
    border-radius: 999px;
    background: #111217;
    color: #fff;
    padding: 6px 14px;
    margin-bottom: 18px;
}

.service-card.accent .service-tag {
    background: #111217;
    color: #fff;
}

.service-card.light .service-tag {
    background: #111217;
    color: #fff;
}

.service-card.dark .service-tag {
    background: #ffffff;
    color: #111217;
}

[data-theme="dark"] .service-tag {
    background: rgba(255, 255, 255, 0.15);
    color: #fff;
}

[data-theme="dark"] .service-card.accent .service-tag,
[data-theme="dark"] .service-card.light .service-tag {
    background: rgba(255, 255, 255, 0.12);
    color: #e8e9ec;
}

[data-theme="dark"] .service-card.dark .service-tag {
    background: rgba(255, 255, 255, 0.25);
    color: #0d0e12;
}

[data-theme="dark"] .service-link-icon {
    border-color: rgba(255, 255, 255, 0.2);
    background: rgba(255, 255, 255, 0.1);
    color: var(--text);
}

[data-theme="dark"] .service-card.dark .service-link-icon {
    border-color: rgba(255, 255, 255, 0.25);
    background: rgba(255, 255, 255, 0.08);
}

.service-body {
    font-size: 17px;
    color: inherit;
}

.service-link {
    margin-top: 28px;
    display: inline-flex;
    gap: 10px;
    align-items: center;
    font-size: 15px;
    cursor: pointer;
    transition: gap 0.2s ease;
}

.service-link:hover {
    gap: 14px;
}

.service-link:hover .service-link-icon {
    transform: translateX(4px);
}

.service-link-icon {
    width: 32px;
    height: 32px;
    border-radius: 999px;
    border: 1px solid rgba(0, 0, 0, 0.14);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 17px;
    background: #ffffff;
    transition: transform 0.2s ease, background 0.2s ease;
}

.service-card.dark .service-link-icon {
    border-color: rgba(255, 255, 255, 0.3);
    background: #111217;
    color: #fff;
}

.service-illustration {
    justify-self: end;
    width: 220px;
    height: 150px;
    border-radius: 24px;
    border: 1px solid rgba(17, 18, 23, 0.16);
    background: radial-gradient(circle at 20% 20%, rgba(255, 255, 255, 0.35), transparent 60%), rgba(255, 255, 255, 0.9);
    position: relative;
    overflow: hidden;
    padding: 18px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.1), 0 20px 40px rgba(15, 15, 20, 0.14);
}

.service-card.dark .service-illustration {
    background: radial-gradient(circle at 20% 20%, rgba(255, 255, 255, 0.1), transparent 60%), #111217;
    border-color: rgba(255, 255, 255, 0.12);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.04), 0 20px 40px rgba(0, 0, 0, 0.4);
}

[data-theme="dark"] .service-card.light .service-illustration,
[data-theme="dark"] .service-card.accent .service-illustration {
    background: radial-gradient(circle at 20% 20%, rgba(255, 255, 255, 0.08), transparent 60%), rgba(22, 24, 31, 0.9);
    border-color: rgba(255, 255, 255, 0.08);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.04), 0 20px 40px rgba(0, 0, 0, 0.3);
}

.service-illustration .spark {
    position: absolute;
    width: 6px;
    height: 6px;
    border-radius: 12px;
    background: #6c6dec;
    box-shadow: 0 0 12px rgba(108, 109, 236, 0.8);
    animation: blink 2.4s ease-in-out infinite;
}

.service-illustration .spark-1 {
    top: 22px;
    right: 28px;
    animation-delay: 0.2s;
}

.service-illustration .spark-2 {
    bottom: 24px;
    left: 28px;
    animation-delay: 1s;
}

.service-illustration .orbit {
    position: absolute;
    inset: 14px;
    border-radius: 28px;
    border: 1px dashed rgba(108, 109, 236, 0.4);
    animation: orbit 8s linear infinite;
}

.chat-bubble {
    border-radius: 18px;
    padding: 12px 14px;
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 6px 16px rgba(21, 26, 40, 0.12);
    animation: float 4s ease-in-out infinite;
}

.chat-bubble.primary {
    align-self: flex-start;
}

.chat-bubble.secondary {
    align-self: flex-end;
    background: #111217;
    color: #fff;
    animation-delay: 0.6s;
}

[data-theme="dark"] .service-card.light .chat-bubble.primary,
[data-theme="dark"] .service-card.accent .chat-bubble.primary {
    background: rgba(255, 255, 255, 0.15);
    color: var(--text);
}

[data-theme="dark"] .service-card.light .chat-bubble.secondary,
[data-theme="dark"] .service-card.accent .chat-bubble.secondary {
    background: rgba(255, 255, 255, 0.1);
    color: var(--text);
}

.chat-header {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-bottom: 6px;
    color: inherit;
}

[data-theme="dark"] .service-card.light .chat-header,
[data-theme="dark"] .service-card.accent .chat-header {
    color: var(--text);
    opacity: 0.9;
}

.chat-bubble p {
    font-size: 14px;
    margin: 0;
}

.dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    display: inline-block;
}

.dot-online {
    background: #00d17a;
    box-shadow: 0 0 8px rgba(0, 209, 122, 0.8);
}

.dot-ai {
    background: #6c6dec;
    box-shadow: 0 0 8px rgba(108, 109, 236, 0.8);
}

.illustration-growth {
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.95), rgba(226, 231, 255, 0.8));
    gap: 8px;
}

.illustration-growth .chart {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 6px;
    align-items: end;
    height: 64px;
}

.illustration-growth .chart span {
    background: linear-gradient(180deg, rgba(108, 109, 236, 0.9), rgba(108, 109, 236, 0.4));
    border-radius: 8px 8px 3px 3px;
    animation: grow 3.5s ease-in-out infinite;
}

.illustration-growth .chart span:nth-child(1) {
    height: 34%;
}

.illustration-growth .chart span:nth-child(2) {
    height: 52%;
    animation-delay: 0.3s;
}

.illustration-growth .chart span:nth-child(3) {
    height: 70%;
    animation-delay: 0.6s;
}

.illustration-growth .chart span:nth-child(4) {
    height: 92%;
    animation-delay: 0.9s;
}

.metric-card {
    background: #111217;
    color: #fff;
    border-radius: 18px;
    padding: 10px 14px;
    font-size: 13px;
    box-shadow: 0 10px 20px rgba(17, 18, 23, 0.3);
}

[data-theme="dark"] .service-card.accent .metric-card {
    background: rgba(255, 255, 255, 0.15);
    color: var(--text);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.3);
}

[data-theme="dark"] .service-card.accent .metric-card .metric-label,
[data-theme="dark"] .service-card.accent .metric-card .metric-caption {
    opacity: 0.8;
}

.metric-card .metric-label {
    opacity: 0.7;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    font-size: 11px;
}

.metric-card .metric-value {
    font-size: 20px;
    font-weight: 700;
}

.metric-card .metric-caption {
    font-size: 11px;
    opacity: 0.65;
}

.floating {
    animation: float 5s ease-in-out infinite;
}

.chip-pill {
    align-self: flex-start;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border-radius: 999px;
    padding: 6px 14px;
    background: rgba(108, 109, 236, 0.12);
    color: #111217;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.04em;
}

[data-theme="dark"] .service-card.accent .chip-pill {
    background: rgba(123, 156, 255, 0.2);
    color: var(--text);
}

.chip-pill .chip-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #6c6dec;
}

[data-theme="dark"] .service-card.accent .chip-pill {
    background: rgba(123, 156, 255, 0.2);
    color: var(--text);
}

[data-theme="dark"] .service-card.accent .chip-pill .chip-dot {
    background: rgba(123, 156, 255, 0.8);
}

.service-card.dark .illustration-time {
    color: #fff;
}

.illustration-time {
    padding: 16px;
    gap: 6px;
}

.timeline {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.timeline-item {
    background: rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    padding: 8px 10px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    animation: fadeInUp 0.6s ease-out both;
}

.timeline-item:nth-child(2) {
    animation-delay: 0.2s;
}

.timeline-item span {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    opacity: 0.7;
}

.timeline-item p {
    margin: 4px 0 0;
    font-size: 13px;
}

.clock {
    position: absolute;
    bottom: 18px;
    right: 18px;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.25);
}

.clock::before {
    content: "";
    position: absolute;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #fff;
    opacity: 0.8;
    top: calc(50% - 3px);
    left: calc(50% - 3px);
}

.hand {
    position: absolute;
    width: 2px;
    background: #fff;
    border-radius: 999px;
    transform-origin: bottom center;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -100%) rotate(0deg);
}

.hand-hour {
    height: 18px;
    animation: rotateHand-slow 18s linear infinite;
}

.hand-minute {
    height: 26px;
    animation: rotateHand-mid 12s linear infinite;
}

.hand-second {
    height: 30px;
    background: #6c6dec;
    animation: rotateHand-fast 6s linear infinite;
}

.illustration-automation {
    position: relative;
    align-items: center;
    justify-content: center;
    gap: 6px;
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.95), rgba(226, 231, 255, 0.85));
}

.node {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border-radius: 14px;
    font-size: 13px;
    font-weight: 600;
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(108, 109, 236, 0.2);
    box-shadow: 0 8px 20px rgba(17, 18, 23, 0.12);
    color: #111217;
}

[data-theme="dark"] .service-card.light .node {
    background: rgb(44 51 74);
    color: white;
}

.node-ai {
    background: #111217 !important;
    color: #fff;
}

.node-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: linear-gradient(145deg, #00d17a, #6c6dec);
}

.flow {
    position: absolute;
    height: 2px;
    width: 120px;
    background: linear-gradient(90deg, rgba(0, 209, 122, 0), rgba(0, 209, 122, 0.8), rgba(108, 109, 236, 0));
    animation: shimmer 3s linear infinite;
}

.flow-top {
    top: 56px;
}

.flow-bottom {
    bottom: 56px;
    animation-delay: 0.6s;
}

.pulse-ring {
    position: absolute;
    inset: 14px;
    border-radius: 24px;
    border: 1px solid rgba(108, 109, 236, 0.25);
    animation: pulse 2.8s ease-out infinite;
}

@keyframes float {
    0% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-6px);
    }
    100% {
        transform: translateY(0);
    }
}

@keyframes orbit {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

@keyframes blink {
    0%, 100% {
        opacity: 0.2;
        transform: scale(0.8);
    }
    50% {
        opacity: 1;
        transform: scale(1.2);
    }
}

@keyframes grow {
    0% {
        transform: scaleY(0.6);
    }
    60% {
        transform: scaleY(1.05);
    }
    100% {
        transform: scaleY(1);
    }
}

@keyframes rotateHand-slow {
    from {
        transform: translate(-50%, -100%) rotate(0deg);
    }
    to {
        transform: translate(-50%, -100%) rotate(360deg);
    }
}

@keyframes rotateHand-mid {
    from {
        transform: translate(-50%, -100%) rotate(0deg);
    }
    to {
        transform: translate(-50%, -100%) rotate(360deg);
    }
}

@keyframes rotateHand-fast {
    from {
        transform: translate(-50%, -100%) rotate(0deg);
    }
    to {
        transform: translate(-50%, -100%) rotate(360deg);
    }
}

@keyframes shimmer {
    0% {
        background-position: 0%;
    }
    100% {
        background-position: 200%;
    }
}

@keyframes pulse {
    0% {
        opacity: 0.5;
        transform: scale(0.94);
    }
    70% {
        opacity: 0;
        transform: scale(1.08);
    }
    100% {
        opacity: 0;
        transform: scale(1.15);
    }
}

@media (max-width: 960px) {
    .services-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}