:root {
    --text-abs: #1d1d1f; /* Цвет как у Apple */
    --text-subtle: #6B6B6B;
    --text-title: #333;
    --bg-color: #fbfbfd;
    --accent-soft: rgba(0, 122, 255, 0.05);
    --spacing: 60px;
}

/* --- ФОНОВЫЕ ПЯТНА (Blobs) --- */
.bg-blobs {
    position: fixed;
    top: 0; left: 0; width: 100%; height: 100%;
    z-index: -1; /* Всегда на заднем плане */
    overflow: hidden;
    background: var(--bg-color);
}

.blob {
    position: absolute;
    width: 50vw;
    height: 50vw;
    filter: blur(80px);
    opacity: 0.4;
    border-radius: 50%;
    pointer-events: none;
}

.blob-1 {
    background: #C4E9FF; /* Нежно-голубой */
    top: -10%; left: -10%;
}

.blob-2 {
    background: #E8CCFF; /* Нежно-сиреневый */
    bottom: -10%; right: -10%;
}

/* --- АНИМАЦИЯ ПОЯВЛЕНИЯ (Reveal) --- */
.reveal {
    opacity: 0;
    transform: translateY(40px);
    transition: all 0.8s cubic-bezier(0.22, 1, 0.36, 1); /* Плавный "вылет" */
}

.reveal.active {
    opacity: 1;
    transform: translateY(0);
}

/* --- КОНТЕНТ --- */
.landing-container {
    font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", Roboto, sans-serif;
    color: var(--text-abs);
    margin: 20px;
}

.landing-block {
    padding: var(--spacing) 0;
}

/* Если блок идет чередованием, можно добавить класс через nth-child в CSS */
.landing-block:nth-child(even) .block-grid {
    direction: rtl; /* Зеркальное отображение для четных блоков */
}
.landing-block:nth-child(even) .block-text {
    direction: ltr;
}

/* Эффект матового стекла (Glassmorphism) */
.glass-card {
    background: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px); /* Для Safari */
    padding: 30px;
    border-radius: 24px;
    border: 1px solid rgba(255, 255, 255, 0.3);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.05);
}

/* Сетка и изображения */
.block-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: center;
}

.block-image img {
    width: 100%;
    border-radius: 20px;
    object-fit: cover;
    box-shadow: 0 15px 35px rgba(0,0,0,0.1);
}

.block-title {
    font-size: 2.8rem;
    font-weight: 700;
    letter-spacing: -0.03em;
    margin-bottom: 15px;
    margin-top: 0;
    color: var(--text-title);
}

.block-content {
    font-size: 1.2rem;
    color: var(--text-subtle);
    line-height: 1.5;
}

footer {
    text-align:center;
    font-size:1.2rem;
    font-family: sans-serif;
    font-style: italic;
    color: var(--text-subtle);
    line-height: 1.5;
}

/* Адаптивность */
@media (max-width: 850px) {
    .block-grid { grid-template-columns: 1fr; }
    .block-text { order: 2; }
    .block-image { order: 1; }
}

.text-center { text-align: center; }