:root {
    --red: #ba0000;
    --dark-red: #300000;
    --gray: #ccc;
    --text-muted: #888;
}

* { box-sizing: border-box; margin: 0; padding: 0; }
body { background: #fff; color: #000; font-family: "Arial", sans-serif; }

.page-wrapper { 
    border: 15px solid var(--red); 
    min-height: 100vh;
    background-color: #fff;
}

.inner-content { max-width: 1200px; margin: 0 auto; padding: 0 40px; }

/* HEADER */
.main-header { padding: 30px 0; border-bottom: 1px solid #eee; margin-bottom: 40px;}
.header-row { display: flex; justify-content: space-between; align-items: center; }
.logo-box img { height: 50px; }
.main-nav { display: flex; gap: 15px; }
.main-nav a { color: #000; text-decoration: none; font-size: 11px; font-weight: bold; }
.main-nav a.active { text-decoration: underline; color: var(--red); }

/* SECTIONS LAYOUT */
.hero-section { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 60px; }
.gothic-title { font-size: 80px; font-family: "Times New Roman", serif; font-weight: normal; }
.hero-image { width: 60%; }
.hero-image img { width: 100%; display: block; }

.challenge-section { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; margin-bottom: 80px; }
.challenge-left { display: flex; gap: 20px; align-items: flex-start; }
.challenge-left .text-block { font-size: 13px; line-height: 1.5; }
.main-quote h2 { font-size: 36px; line-height: 1.1; font-family: serif; text-align: right; }

.ritual-section { display: grid; grid-template-columns: 1.5fr 1fr; gap: 50px; margin-bottom: 80px; align-items: center; }
.ritual-image img { width: 100%; }
.instructions { list-style: none; margin: 20px 0; }
.instructions li::before { content: "• "; color: var(--red); font-weight: bold; }
.ritual-footer { font-weight: bold; margin-top: 20px; }

.today-section { display: grid; grid-template-columns: 1fr 1.2fr; gap: 60px; margin-bottom: 60px; }
.today-visual img { width: 100%; }
.under-skin { margin-top: 20px; font-style: italic; font-size: 18px; text-align: center; line-height: 1.4; font-weight: bold;}

/* PARTNERS */
.section-header { text-align: center; margin-bottom: 40px; font-weight: normal; letter-spacing: 2px;}
.partners-intro { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; margin-bottom: 40px; align-items: center;}
.red-banner { height: 80px; background: url('../images/banner-bg.webp') #300000; }
.partners-headers { display: grid; grid-template-columns: 1fr 1.5fr 1fr; gap: 20px; text-align: center; font-size: 12px; font-weight: bold; margin-bottom: 10px;}
.logos-full-image img { width: 100%; height: auto; }

.divider { border: none; border-top: 2px solid #000; margin: 60px 0; }
/* Контейнер для текста и картинки */
.partners-intro {
    display: grid;
    grid-template-columns: 1fr 1fr; /* Делим пополам: текст слева, фото справа */
    gap: 40px;
    align-items: center; /* Выравнивание по центру высоты */
    margin-bottom: 50px;
}

/* Стили для самой картинки */
.partners-banner-img {
    width: 100%;        /* Растягивается на всю ширину своей колонки */
    height: 150px;      /* Высота как у прямоугольника на картинке */
    object-fit: cover;  /* Картинка заполнит область, не растягиваясь уродливо */
    display: block;
}

/* Убираем старый стиль, если он остался */
.red-banner {
    display: none; 
}
/* FOOTER */
.main-footer { padding: 40px 0; border-top: 1px solid #ccc; }
.footer-content { display: flex; gap: 40px; }
.footer-logo img { height: 60px; }
.footer-grid { display: grid; grid-template-columns: repeat(8, 1fr); gap: 15px; flex-grow: 1; }
.f-col h6 { font-size: 10px; margin-bottom: 10px; height: 25px; display: flex; align-items: flex-end;}
.f-col a { display: block; font-size: 9px; color: #666; text-decoration: none; margin-bottom: 4px; }

@media (max-width: 900px) {
    .hero-section, .challenge-section, .ritual-section, .today-section, .footer-grid { 
        grid-template-columns: 1fr; 
    }
    .challenge-left { flex-direction: column; }
    .main-quote h2 { text-align: left; }
}