.altvp-project-page {
    background: var(--color-background);
}

/* Hero */
.altvp-project-page__hero {
    width: 100%;
    height: 560px;
    overflow: hidden;
}

.altvp-project-page__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Текст */
.altvp-project-page__body {
    padding: 96px 0;
}

.altvp-project-page__title {
    font-size: 48px;
    font-weight: 700;
    line-height: 1.15;
    color: var(--color-text);
    margin-bottom: 40px;
}

.altvp-project-page__text {
    max-width: 780px;
}

.altvp-project-page__text p {
    font-size: 18px;
    font-weight: 500;
    line-height: 1.75;
    color: var(--color-text);
    margin-bottom: 32px;
}

.altvp-project-page__text p:last-child {
    margin-bottom: 0;
}

/* Списки — красные маркеры + отступ */
.altvp-project-page__text ul {
    list-style: none;
    margin: 0 0 32px;
    padding: 0;
}

.altvp-project-page__text li {
    position: relative;
    padding-left: 28px;
    margin-bottom: 12px;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.6;
    color: var(--color-text);
}

.altvp-project-page__text li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 10px;
    width: 8px;
    height: 8px;
    background: var(--color-accent);
}

/* Галерея */
.altvp-project-page__gallery {
    margin-top: 64px;
    padding-top: 48px;
    border-top: 1px solid var(--color-border);
}

.altvp-project-page__gallery-title {
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 32px;
    color: var(--color-text);
}

.altvp-project-page__gallery-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.altvp-project-page__gallery-item {
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: var(--color-surface);
}

.altvp-project-page__gallery-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Анимация */
.altvp-project-page__title,
.altvp-project-page__text p,
.altvp-project-page__gallery-item {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 0.6s cubic-bezier(0.4, 0, 0.2, 1),
                transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

.altvp-project-page__title.is-visible,
.altvp-project-page__text p.is-visible,
.altvp-project-page__gallery-item.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.altvp-project-page__title { transition-delay: 0.05s; }
.altvp-project-page__text p:nth-child(1) { transition-delay: 0.12s; }
.altvp-project-page__text p:nth-child(2) { transition-delay: 0.20s; }
.altvp-project-page__text p:nth-child(3) { transition-delay: 0.28s; }
.altvp-project-page__text p:nth-child(4) { transition-delay: 0.36s; }
.altvp-project-page__gallery-item:nth-child(1) { transition-delay: 0.10s; }
.altvp-project-page__gallery-item:nth-child(2) { transition-delay: 0.18s; }
.altvp-project-page__gallery-item:nth-child(3) { transition-delay: 0.26s; }
.altvp-project-page__gallery-item:nth-child(4) { transition-delay: 0.34s; }
.altvp-project-page__gallery-item:nth-child(5) { transition-delay: 0.42s; }
.altvp-project-page__gallery-item:nth-child(6) { transition-delay: 0.50s; }

/* Адаптив */
@media (max-width: 1199px) {
    .altvp-project-page__hero { height: 400px; }
    .altvp-project-page__body { padding: 72px 0; }
    .altvp-project-page__title { font-size: 40px; }
    .altvp-project-page__gallery-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 767px) {
    .altvp-project-page__hero { height: 300px; }
    .altvp-project-page__body { padding: 56px 0; }
    .altvp-project-page__title { font-size: 32px; margin-bottom: 28px; }
    .altvp-project-page__text p,
    .altvp-project-page__text li { font-size: 16px; }
    .altvp-project-page__gallery-grid { grid-template-columns: 1fr; gap: 16px; }
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 56px;
    padding: 0 32px;
    background: var(--color-accent);
    color: #ffffff;
    font-size: 18px;
    font-weight: 500;
    text-decoration: none;
    border: none;
    border-radius: 0;
    cursor: pointer;
    transition: background 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.btn:hover,
.btn:focus {
    background: var(--color-accent-hover);
    outline: none;
}

.altvp-project-page__text a[href^="tel:"] {
    color: var(--color-accent);
    text-decoration: none;
    font-weight: 600;
    animation: phone-blink 2.4s ease-in-out infinite;
}

@keyframes phone-blink {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.35; }
}