/* ============ ПРЕМИАЛЬНАЯ ТИПОГРАФИЧЕСКАЯ СИСТЕМА ============ */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Playfair+Display:wght@400;500;600&display=swap');

/* Сохраняем Miama Nueva для слогана (НЕ ТРОГАТЬ) */
@font-face {
  font-family: 'Miama Nueva';
  src: url('/static/fonts/MiamaNueva-Medium.ttf?v=2') format('truetype');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

/* ============ ДИЗАЙН-ТОКЕНЫ: ЕДИНАЯ СИСТЕМА ============ */
:root{
  /* ===== ТИПОГРАФИКА ===== */
  /* Шрифты */
  --font-base: "Inter", system-ui, -apple-system, sans-serif;
  --font-serif: "Playfair Display", serif;
  --font-sans: "Inter", system-ui, -apple-system, sans-serif;
  --font-accent: "Miama Nueva", cursive; /* ТОЛЬКО для логотипа и акцентов */
  
  /* Размеры шрифтов (единая шкала в rem, база 16px) */
  --fs-1: clamp(0.75rem, 1vw, 0.875rem);      /* xs - мелкий текст, метки */
  --fs-2: clamp(0.875rem, 1.2vw, 1rem);      /* sm - вторичный текст */
  --fs-3: 1.0625rem;                          /* md - базовый текст (body) 17px */
  --fs-4: clamp(1.125rem, 2vw, 1.375rem);    /* lg - подзаголовки */
  --fs-5: clamp(1.5rem, 3vw, 2rem);          /* xl - h3 */
  --fs-6: clamp(2rem, 4vw, 3rem);            /* 2xl - h2 */
  --fs-7: clamp(2.5rem, 6vw, 4rem);          /* 3xl - h1 */
  
  /* Алиасы для семантики */
  --fs-body: var(--fs-3);
  --fs-small: var(--fs-2);
  --fs-muted: var(--fs-1);
  --fs-h1: var(--fs-7);
  --fs-h2: var(--fs-6);
  --fs-h3: var(--fs-5);
  --fs-h4: var(--fs-4);
  
  /* Line-height (высоты строк) - увеличены для дыхания */
  --lh-body: 1.75;     /* Основной текст - больше воздуха */
  --lh-tight: 1.5;     /* Плотный текст */
  --lh-title: 1.25;    /* Заголовки */
  --lh-heading: 1.5;   /* Подзаголовки - больше воздуха */
  
  /* Font-weight */
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  
  /* Letter-spacing */
  --ls-normal: 0;
  --ls-tight: -0.01em;
  --ls-wide: 0.02em;
  --ls-caps: 0.08em;   /* Для капса */
  
  /* Measure (оптимальная ширина строки для читабельности) */
  --measure: 65ch;     /* Оптимальная ширина для чтения */
  --measure-narrow: 50ch;
  --measure-wide: 80ch;
  
  /* ===== ПРОСТРАНСТВО (МОДУЛЬНАЯ СИСТЕМА 8px) ===== */
  --space-1: 4px;      /* xs */
  --space-2: 8px;      /* sm */
  --space-3: 16px;     /* md */
  --space-4: 24px;     /* lg */
  --space-5: 32px;     /* xl */
  --space-6: 48px;     /* 2xl */
  --space-7: 64px;     /* 3xl */
  --space-8: 96px;     /* 4xl */
  
  /* Алиасы для обратной совместимости */
  --space-xs: var(--space-1);
  --space-sm: var(--space-2);
  --space-md: var(--space-3);
  --space-lg: var(--space-4);
  --space-xl: var(--space-5);
  --space-2xl: var(--space-6);
  --space-3xl: var(--space-7);
  
  /* Алиасы для шрифтов (обратная совместимость) */
  --font-heading: var(--font-serif);
  --font-body: var(--font-base);
  --font-ui: var(--font-sans);
  
  /* Светлая тема - КРАСНОКОРИЧНЕВЫЕ ТОНА (уходим от черного!) */
  --bg: #FFFEF9;
  --bg2: #FBF8F0;
  --text: #8B4513; /* Saddle Brown - краснокоричневый */
  --muted: #A0522D; /* Sienna - мягкий краснокоричневый */
  --heading: #7B3F00; /* Темный краснокоричневый */
  --ink: #8B4513; /* Краснокоричневый для текстов */

  --card: rgba(255,255,255,.62);
  --card2: rgba(255,255,255,.40);
  --stroke: rgba(47,42,37,.18);
  --border: rgba(47,42,37,.10);

  --gold: #F2B65A;
  --gold1: #F2B65A;
  --gold2: #E67A3A;
  --river: #9EC6E8;
  --river2: #4A78A8;

  --shadow: 0 18px 60px rgba(22,18,16,.14);
  --shadow2: 0 10px 28px rgba(22,18,16,.12);
  --blur: 18px;
  --radius: 26px;

  /* Вертикальный ритм */
  --section-y: clamp(56px, 6vw, 110px);
  --section-gap: clamp(18px, 2vw, 28px);

  /* Дополнительные цвета для совместимости */
  --accent-green: #E6FFEF;
  --accent-pink: #FFE6FA;
  --accent-blue: #E3F8FF;
  --accent-gold: #F4E8D5;
  --telegram: #26A5E4;
  --text-muted: var(--muted);
  
  /* Позиция феникса на втором экране - базовая для светлых тем */
  --about-phoenix-right: 42px; /* Сдвинуто левее на 30px (было 72px) */
  --about-phoenix-top: calc(50% - 120px);
  --about-phoenix-opacity: 0.40;
  
  /* Сдвиг фона и феникса в hero (совпадающие координаты) */
  --hero-bg-shift-y: 50px;
  --hero-bg-pos-x: center;
  --hero-bg-pos-y: calc(50% + var(--hero-bg-shift-y));
}

/* ============ Темная тема "Премиум" ============ */
:root[data-theme="mother-dark"]{
  /* Премиальная тёмная тема: глубина + мягкие свечения + читаемость */
  --bg: #070B12;
  --bg2: #0B1220;
  
  /* ВАЖНО: контраст выше для читабельности */
  --text: rgba(255,255,255,.92);
  --muted: rgba(255,255,255,.70);
  --heading: rgba(255,255,255,.96);

  --card: rgba(255,255,255,.07);
  --card2: rgba(255,255,255,.05);
  --stroke: rgba(255,255,255,.14);
  --border: rgba(255,255,255,.10);

  --gold: #F2B65A;
  --gold1: #F2B65A;
  --gold2: #E67A3A;
  --river: #9EC6E8;
  --river2: #4A78A8;

  --shadow: 0 22px 70px rgba(0,0,0,.55);
  --shadow2: 0 12px 34px rgba(0,0,0,.40);
  --blur: 22px;
  --radius: 26px;

  /* Вертикальный ритм (тот же) */
  --section-y: clamp(56px, 6vw, 110px);
  --section-gap: clamp(18px, 2vw, 28px);

  /* Для обратной совместимости */
  --bg-2: var(--bg2);
  --card-2: var(--card2);
  --border-2: rgba(255,255,255,.18);
  --accent: var(--gold);
  --accent-2: var(--gold2);
  --link: var(--river);
  --focus: rgba(158,198,232,.55);
  --shadow-1: var(--shadow2);
  --shadow-2: var(--shadow);
  --glass: rgba(18,20,28,.55);
  --glass-2: rgba(18,20,28,.72);
  --text-main: var(--text);
  --text-heading: var(--heading);
  --text-muted: var(--muted);
  
  /* КРИТИЧНО: Позиция феникса на втором экране - для темной темы сдвинут вправо на 20px */
  --about-phoenix-right: 62px; /* Сдвинуто левее на 30px (было 92px, базовое 42px + 20px) */
  --about-phoenix-top: calc(50% - 120px);
  --about-phoenix-opacity: 0.40;
}


/* Body в темной теме - УДАЛЕНО: дублируется ниже, оставлен только финальный вариант в конце файла */

:root[data-theme="mother-dark"] .section,
:root[data-theme="mother-dark"] .container,
:root[data-theme="mother-dark"] main{
  background: transparent !important;
}

*{box-sizing:border-box; margin:0; padding:0}

html{
  scroll-behavior:smooth;
  overflow-x: hidden; /* Убираем горизонтальный скролл на всех экранах */
  width: 100%;
  max-width: 100vw;
}

body{
  margin: 0;
  padding: 0;
  font-family: var(--font-base);
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  font-weight: var(--fw-regular);
  color: var(--text);
  background:
    radial-gradient(1200px 600px at 20% -10%, rgba(242,182,90,.12), transparent 60%),
    radial-gradient(900px 500px at 80% 10%, rgba(158,198,232,.10), transparent 55%),
    linear-gradient(180deg, var(--bg2), var(--bg));
  overflow-x: hidden;
  width: 100%;
  max-width: 100vw;
  position: relative;
  min-height: 100vh;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Звёздная пыль в тёмной теме */
:root[data-theme="mother-dark"] body{
  background:
    /* Звёздная пыль - очень лёгкая */
    radial-gradient(2px 2px at 20% 30%, rgba(255,255,255,.15), transparent),
    radial-gradient(2px 2px at 60% 70%, rgba(242,182,90,.12), transparent),
    radial-gradient(1px 1px at 50% 50%, rgba(158,198,232,.10), transparent),
    radial-gradient(1px 1px at 80% 20%, rgba(255,255,255,.08), transparent),
    radial-gradient(2px 2px at 90% 80%, rgba(242,182,90,.10), transparent),
    /* Градиенты глубины */
    radial-gradient(1200px 600px at 20% -10%, rgba(242,182,90,.12), transparent 60%),
    radial-gradient(900px 500px at 80% 10%, rgba(158,198,232,.10), transparent 55%),
    linear-gradient(180deg, var(--bg2), var(--bg));
  background-size: 200% 200%, 200% 200%, 200% 200%, 200% 200%, 200% 200%, 100% 100%, 100% 100%, 100% 100%;
  background-position: 0% 0%, 0% 0%, 0% 0%, 0% 0%, 0% 0%, 0% 0%, 0% 0%, 0% 0%;
}

/* Фикс вылезания за экран на мобилке */
@media (max-width: 768px){
  html, body{
    overflow-x: hidden;
    width: 100%;
    max-width: 100vw;
  }
}

/* ============ БАЗОВАЯ ТИПОГРАФИКА (ЕДИНАЯ СИСТЕМА) ============ */
h1, .h1 {
  font-family: var(--font-serif);
  font-size: var(--fs-h1);
  line-height: var(--lh-title);
  font-weight: var(--fw-semibold);
  color: var(--heading);
  letter-spacing: var(--ls-tight);
  margin: 0 0 var(--space-4) 0;
}

h2, .h2, .hA {
  font-family: var(--font-serif);
  font-size: var(--fs-h2);
  line-height: var(--lh-heading);
  font-weight: var(--fw-semibold);
  color: var(--heading);
  letter-spacing: var(--ls-tight);
  margin: 0 0 var(--space-4) 0;
}

h3, .h3 {
  font-family: var(--font-serif);
  font-size: var(--fs-h3);
  line-height: var(--lh-heading);
  font-weight: var(--fw-medium);
  color: var(--heading);
  letter-spacing: var(--ls-normal);
  margin: 0 0 var(--space-3) 0;
}

p, li {
  font-family: var(--font-base);
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  color: var(--text);
  margin: 0 0 var(--space-3) 0;
  max-width: none;
}

p:last-child, li:last-child {
  margin-bottom: 0;
}

ul, ol {
  margin: 0 0 var(--space-4) 0;
  padding-left: var(--space-5);
}

li {
  margin-bottom: var(--space-2);
}

/* ============ УНИФИЦИРОВАННЫЙ КОНТЕЙНЕР ============ */
.wrap{
  max-width: 1120px;
  margin: 0 auto;
  padding-inline: clamp(var(--space-4), 4vw, var(--space-6));
  position: relative;
}

/* Секции - единые вертикальные отступы */
.section {
  padding: var(--section-y) 0;
  position: relative;
}

/* ============ Header ============ */
.top-header{
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  background: rgba(253,252,249,.95);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(0,0,0,.06);
  padding: 16px 0;
  transition: transform .3s ease, opacity .3s ease;
}

/* Темная тема: glass header */
:root[data-theme="mother-dark"] .top-header{
  background: linear-gradient(180deg, rgba(14,15,18,.78), rgba(14,15,18,.20));
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(255,255,255,.08);
}

:root[data-theme="mother-dark"] .top-header *{
  color: var(--text);
}

.top-header__inner{
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.top-header__brand{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-ui); /* Source Sans 3 для UI */
  font-size: 18px;
  font-weight: 500;
  letter-spacing: .08em;
  text-decoration: none;
  color: var(--text);
  white-space: nowrap;
}

.top-header__brand span {
  white-space: nowrap;
}

.top-header__logo{
  width: 22px !important;
  height: 22px !important;
  max-width: 22px !important;
  max-height: 22px !important;
  flex-shrink: 0;
  object-fit: contain !important;
  position: static !important;
  inset: auto !important;
  transform: none !important;
}

.top-header__nav{
  display: flex;
  gap: 28px;
  flex: 1;
  justify-content: center;
}

.top-header__nav a{
  font-family: var(--font-ui); /* Source Sans 3 для UI */
  font-size: 14px;
  color: var(--text-muted);
  text-decoration: none;
  transition: color .3s ease;
}

.top-header__nav a:hover{
  color: var(--text);
}

.top-header__cta{
  display: flex;
  gap: 10px;
  align-items: center;
}

.top-header__controls{
  display: flex;
  gap: 8px;
  align-items: center;
}

.themeToggle{
  border: 1px solid rgba(0,0,0,.12);
  background: rgba(255,255,255,.60);
  border-radius: 999px;
  padding: 8px 12px;
  font-size: 16px;
  cursor: pointer;
  transition: background .3s ease, transform .3s ease;
  color: var(--text);
}

.themeToggle:hover{
  background: rgba(255,255,255,.80);
  transform: scale(1.05);
}

.langSwitcher{
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px;
  border-radius: 999px;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(0,0,0,.08);
}

.langSwitcher__btn{
  border: none;
  background: transparent;
  padding: 4px 8px;
  border-radius: 999px;
  font-size: 11px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--text-muted);
  cursor: pointer;
  transition: background .18s ease, color .18s ease, transform .18s ease;
}

.langSwitcher__btn.is-active{
  background: rgba(47,42,37,.10);
  color: var(--text);
}

.langSwitcher__btn--more{
  padding-inline: 6px;
  font-weight: 600;
}

@media (max-width: 980px){
  .top-header__nav{display:none}
  .top-header__cta{gap:8px}
  .top-header__controls{gap:6px}
}

@media (max-width: 640px){
  .top-header{
    padding: 12px 0;
  }
  .top-header__inner{
    padding: 0 16px;
    gap: 12px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
  }
  .top-header__brand{
    white-space: nowrap;
    font-size: 32px;
    text-align: center;
    margin: 0;
    margin-top: 10px; /* опущено на 33% (32px * 0.33 ≈ 10px) */
  }
  .top-header__cta{
    width: 100%;
    justify-content: center;
    gap: 8px;
  }
  .top-header__controls{
    position: fixed;
    top: 4px;
    right: 12px;
    justify-content: flex-end;
    width: auto;
    gap: 4px;
    transform: scale(0.8); /* уменьшаем на 20% */
    z-index: 101; /* выше header (z-index: 100) */
  }
  .top-header__cta a.btnTG{
    padding: 8px 14px;
    font-size: 10px;
    letter-spacing: .12em;
  }
  .themeToggle{
    padding: 6px 10px;
    font-size: 13px;
  }
  .langSwitcher{
    padding: 2px;
    gap: 3px;
  }
  .langSwitcher__btn{
    padding: 3px 6px;
    font-size: 9px;
  }
  .langSwitcher__btn--more{
    padding-inline: 5px;
  }
}

/* ============ Portal Hero ============ */
/* HERO — БАЗА (канон) */
.portal-hero{
  position: relative;        /* КРИТИЧЕСКИ ВАЖНО */
  width: 100%;
  min-height: 100svh;        /* именно svh, не vh */
  overflow: hidden;
  isolation: isolate;        /* режем blend-mode */
  display: flex;
  align-items: flex-start;
  justify-content: center;
  margin: 0;
  padding: 0;
  z-index: 10;
}

/* КРИТИЧНО: в темной теме убираем isolation - может создавать проблемы с рендерингом */
:root[data-theme="mother-dark"] .portal-hero{
  isolation: auto !important;
  overflow: hidden !important;
  filter: none !important;
  background: none !important;
}

/* УДАЛЕНО: правило отключало эффекты - теперь эффекты работают */

/* 2) ТЁПЛЫЙ FILL ОТ ФЕНИКСА: один слой ::after
   - пятно в точке 78% 55%
   - rim light полосой 65%–85% по X по всей высоте
*/
:root[data-theme="mother-dark"] .portal-hero::after{
content:none !important;
  display:none !important;
}

/* Фикс hero на мобилке - убираем вылезание */
@media (max-width: 768px){
  .portal-hero{
    overflow: hidden;
    box-sizing: border-box;
  }

  .portal-hero__bg,
  .portal-hero__bg-layer{
    width: 100% !important;
    max-width: 100% !important;
    left: 0 !important;
    right: 0 !important;
    transform: scale(1) !important; /* убираем scale на мобилке */
  }

  .portal-hero::before{
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Убираем scale на мобилке для всех bg-layer */
  .portal-hero__bg-layer,
  :root[data-theme="mother-dark"] .portal-hero__bg-layer{
    transform: scale(1) !important;
  }

  /* Феникс в HERO на мобилке */
  .portal-hero::after{
content:none !important;
  display:none !important;
}

  /* На мобилке в темной теме используем ту же переменную для координат - фон и феникс синхронизированы */
  :root[data-theme="mother-dark"] .portal-hero__bg-layer--1{
    background-position: var(--hero-bg-pos-x) var(--hero-bg-pos-y) !important;
  }
  
  /* Феникс на мобилке использует те же координаты */
  :root[data-theme="mother-dark"] .phoenix-img,
  :root[data-theme="mother-dark"] .js-phoenix-img {
    object-position: var(--hero-bg-pos-x) var(--hero-bg-pos-y) !important;
  }

}

/* ============ Логотип во втором экране (О пространстве) ============ */
.section--phoenix {
  position: relative;
  overflow: hidden; /* Убираем горизонтальный скролл */
}

/* Убираем старую реализацию через ::before */
.section--phoenix::before{
  display: none !important;
}

/* Логотип справа за таблеткой */
.about-space__logo {
  position: absolute;
  /* Начальная позиция: центр экрана, под таблеткой */
  right: 50%;
  top: 50%;
  transform: translate(50%, -50%);
  z-index: 0;               /* опускаем ниже по слою */
  pointer-events: none;
  opacity: 0;
  background: transparent !important;         /* убираем фон */
  background-color: transparent !important;  /* убираем цвет фона */
  border: none !important;             /* убираем рамку */
  box-shadow: none !important;        /* убираем тень контейнера */
  outline: none !important;            /* убираем outline */
  clip-path: inset(0 -50px 0 0);      /* разрешаем видеть часть справа, но не создаем скролл */
  transition: none !important; /* Убираем transition для мгновенного применения изменений */
}

/* УДАЛЕНО: базовое правило - теперь используется только финальное правило в конце файла */

.about-space__logo img {
  width: min(336px, 28vw) !important; /* Уменьшаем на 20% (80% от 420px = 336px, 80% от 35vw = 28vw) */
  height: auto !important;
  display: block !important;
  background: transparent !important;  /* прозрачный фон */
  background-color: transparent !important; /* убираем цвет фона */
  border: none !important;             /* убираем рамку */
  outline: none !important;            /* убираем outline */
  box-shadow: none !important;        /* убираем тень изображения */
  filter: none !important;            /* убираем все фильтры, чтобы не было видимости фона */
  mix-blend-mode: normal !important;  /* убираем blend mode */
}

/* контент секции всегда выше декора */
.section--phoenix > .wrap {
  position: relative;
  z-index: 2;
}

/* УДАЛЕНО: мобильные правила - теперь используется только финальное правило в конце файла */

.portal-hero__bg{
  position: absolute;  /* КРИТИЧНО: для позиционирования слоев */
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background: none;
  z-index: 1;
  overflow: hidden;
  isolation: isolate;          /* КЛЮЧ: чтобы screen работал стабильно */
}

/* КРИТИЧНО: в темной теме убираем isolation - может создавать проблемы с рендерингом */
:root[data-theme="mother-dark"] .portal-hero__bg{
  isolation: auto !important;
  filter: none !important;
}

/* КРИТИЧНО: убираем фон-подложку - она создает затемнение поверх wapka_3 и желтый оттенок */
:root[data-theme="mother-dark"] .portal-hero__bg::before{
  display: none !important;
  opacity: 0 !important;
  background: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
  content: none !important;
  width: 0 !important;
  height: 0 !important;
  z-index: -9999 !important;
  filter: none !important;
  mix-blend-mode: normal !important;
}

.portal-hero__bg-layer{
  position: absolute;
  inset: 0;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  filter: saturate(1.05) contrast(1.02);
  transform: scale(1.02);
  transition: opacity 1s ease-in-out;
  width: 100%;
  max-width: 100%;
}

/* КРИТИЧНО: в темной теме убираем ВСЕ фильтры с bg-layer - они создают пелену */
:root[data-theme="mother-dark"] .portal-hero__bg-layer{
  filter: none !important;
  transform: none !important;
}

.portal-hero__bg-layer--1{
  /* Базовая (бежево‑клубная) тема — wapka_2 */
  background-image: url("/static/images/head/wapka_2.webp");
  opacity: 1;
  z-index: 1;
}

.portal-hero__bg-layer--2{
  /* Белая/более светлая тема — wapka_1 */
  background-image: url("/static/images/head/wapka_1.webp");
  opacity: 0;
  z-index: 2;
}

/* Мать‑тьма: убираем все фильтры для bg-layer--1 - фото должно быть четким без тумана */
/* УБРАНО: общее правило с фильтрами для всех bg-layer - создавало пелену */
/* Теперь фильтры применяются только к bg-layer--2 (если нужно), а bg-layer--1 всегда без фильтров */

/* В тёмной теме используем отдельный кадр wapka_3_best.webp - ФОН, на который накладывается феникс БЕЗ дополнительных фильтров */
:root[data-theme="mother-dark"] .portal-hero__bg-layer--1{
  position: absolute;
  inset: 0;
  z-index: 1; /* ФОН - самый нижний слой */
  background-image: url("/static/images/head/wapka_3_best.webp");
  background-size: cover !important;
  background-position: var(--hero-bg-pos-x) var(--hero-bg-pos-y) !important;
  background-repeat: no-repeat !important;
  background-attachment: scroll !important;
  opacity: 1 !important;
  filter: none !important;
  transform: none !important;
  mix-blend-mode: normal !important;
  display: block !important;
  visibility: visible !important;
  image-rendering: -webkit-optimize-contrast;
  image-rendering: crisp-edges;
}

/* Феникс: использует ТЕ ЖЕ координаты что и фон для идеального наложения */
:root[data-theme="mother-dark"] .portal-hero__phoenix .phoenix-img,
:root[data-theme="mother-dark"] .portal-hero__phoenix .js-phoenix-img {
  object-position: var(--hero-bg-pos-x) var(--hero-bg-pos-y) !important;
}


:root[data-theme="mother-dark"] .portal-hero__bg-layer--2{
  opacity: 0;
}

/* ============ ФЕНИКС В HERO (ЧИСТАЯ РЕАЛИЗАЦИЯ) ============ */
/* 
 * СТРУКТУРА СЛОЕВ (z-index):
 * - bg-layer--1 (wapka_3_best): z-index: 1 (фон)
 * - hero-vfx (луна/лучи/светлячки): z-index: 2 (если есть)
 * - phoenix overlay: z-index: 3 (наложение)
 * - portal-hero__veil: z-index: 0 или выключен в dark
 * - portal-hero__content: z-index: 5 (текст/кнопки)
 */

/* ============ HERO GRID: ДВУХКОЛОНОЧНАЯ СТРУКТУРА ============ */
.portal-hero__grid {
  position: relative;
  z-index: 5;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(32px, 4vw, 64px);
  max-width: 1400px;
  margin: 0 auto;
  padding: clamp(80px, 12vh, 140px) clamp(24px, 4vw, 48px);
  min-height: 100vh;
  align-items: center;
}

/* Левая колонка: Феникс */
.portal-hero__phoenix-column {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.portal-hero__phoenix {
  width: 100%;
  max-width: 600px;
  aspect-ratio: 1 / 1;
  position: relative;
  display: none;
}

:root[data-theme="mother-dark"] .portal-hero__phoenix {
  display: block;
}

.phoenix-img,
.js-phoenix-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: var(--hero-bg-pos-x) var(--hero-bg-pos-y);
  display: block;
}

/* Анимация мерцания (ТОЛЬКО opacity) */
@keyframes phoenixFireflySmooth {
  0%, 100% {
    opacity: 0.45;
  }
  50% {
    opacity: 1;
  }
}

/* Уважение к системным настройкам */
@media (prefers-reduced-motion: reduce) {
  .phoenix-img,
  .js-phoenix-img {
    animation: none;
    opacity: 0.9;
  }
}

/* Убираем veil в темной теме */
:root[data-theme="mother-dark"] .portal-hero__veil {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

/* 3) Светлячки - УБРАНО: старый код с .ff */

/* УДАЛЕНО: правило отключало fx-слои - теперь fx-слои работают */

@keyframes twinkle{
  0% {
    opacity: .20;
    transform: translateY(0) scale(1);
  }
  25% {
    opacity: .45;
    transform: translateY(-3px) scale(1.05);
  }
  50% {
    opacity: .35;
    transform: translateY(-1px) scale(1.02);
  }
  75% {
    opacity: .50;
    transform: translateY(-4px) scale(1.08);
  }
  100% {
    opacity: .20;
    transform: translateY(0) scale(1);
  }
}

/* Уважение к "reduce motion" */
@media (prefers-reduced-motion: reduce){
  .portal-hero__fx::before,
  .portal-hero__fx::after {
    animation: none;
  }
}

/* УДАЛЕНО: правила отключали fx-слои - теперь fx-слои работают */

/* УДАЛЕНО: правила отключали fx-слои - теперь fx-слои работают */

/* УДАЛЕНО: правило отключало veil - теперь veil работает */

:root[data-theme="mother-dark"] .portal-hero__title{
  color: #FFFFFF !important; /* Белый цвет для темной темы */
  text-shadow: 0 20px 80px rgba(0,0,0,.85), 0 12px 50px rgba(0,0,0,.6) !important;
}

:root[data-theme="mother-dark"] .portal-hero__sub{
  color: rgba(255, 255, 255, 0.9);
}

/* Неоновое свечение для слова "Свет" в темной теме */
:root[data-theme="mother-dark"] .portal-hero__sub .neon-light{
  color: #FFF8E7;
  display: inline-block;
  animation: neon-glow 3s ease-in-out infinite;
  will-change: text-shadow, filter;
}

@keyframes neon-glow {
  0%, 100% {
    text-shadow:
      0 0 5px rgba(255, 248, 231, 0.5),
      0 0 15px rgba(255, 248, 231, 0.4),
      0 0 25px rgba(255, 248, 231, 0.3),
      0 0 35px rgba(255, 200, 100, 0.4),
      0 0 50px rgba(255, 200, 100, 0.3),
      0 0 75px rgba(255, 200, 100, 0.2),
      0 0 100px rgba(255, 200, 100, 0.1);
    filter: brightness(1);
  }
  25% {
    text-shadow:
      0 0 10px rgba(255, 248, 231, 0.9),
      0 0 25px rgba(255, 248, 231, 0.7),
      0 0 40px rgba(255, 248, 231, 0.6),
      0 0 55px rgba(255, 200, 100, 0.6),
      0 0 80px rgba(255, 200, 100, 0.5),
      0 0 120px rgba(255, 200, 100, 0.3),
      0 0 160px rgba(255, 200, 100, 0.15);
    filter: brightness(1.15);
  }
  50% {
    text-shadow:
      0 0 15px rgba(255, 248, 231, 1),
      0 0 30px rgba(255, 248, 231, 0.9),
      0 0 50px rgba(255, 248, 231, 0.8),
      0 0 70px rgba(255, 200, 100, 0.7),
      0 0 100px rgba(255, 200, 100, 0.6),
      0 0 150px rgba(255, 200, 100, 0.4),
      0 0 200px rgba(255, 200, 100, 0.2);
    filter: brightness(1.3);
  }
  75% {
    text-shadow:
      0 0 10px rgba(255, 248, 231, 0.9),
      0 0 25px rgba(255, 248, 231, 0.7),
      0 0 40px rgba(255, 248, 231, 0.6),
      0 0 55px rgba(255, 200, 100, 0.6),
      0 0 80px rgba(255, 200, 100, 0.5),
      0 0 120px rgba(255, 200, 100, 0.3),
      0 0 160px rgba(255, 200, 100, 0.15);
    filter: brightness(1.15);
  }
}

/* Переключение при светлой (белой) теме: показываем wapka_1 */
:root[data-theme="light"] .portal-hero__bg-layer--1{
  opacity: 0;
}

:root[data-theme="light"] .portal-hero__bg-layer--2{
  opacity: 1;
}

.portal-hero__veil{
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(253,252,249,.55), rgba(253,252,249,.70)),
    radial-gradient(900px 700px at 60% 40%, rgba(255,255,255,.10), transparent 60%);
  z-index: 2;
}

/* УДАЛЕНО: дублирующееся правило отключало veil - теперь veil работает */

/* Светлая тема для hero: очень лёгкий небесный слой, чтобы картинка хорошо читалась */
:root[data-theme="light"] .portal-hero__veil{
  background:
    linear-gradient(180deg, rgba(245,249,255,.58), rgba(245,249,255,.72)),
    radial-gradient(1200px 820px at 55% 28%, rgba(164,208,255,.11), transparent 78%);
}

/* В светлой теме сам кадр wapka_2 чуть светлее и прозрачнее вуали */
:root[data-theme="light"] .portal-hero__bg-layer--2{
  opacity: 1;
  filter: saturate(1.06) contrast(1.0) brightness(1.04);
}

/* Светлая тема: посветлее фон и чуть более прохладные акценты */
:root[data-theme="light"]{
  --bg0:#FDFEFF;
  --bg1:#F5F8FF;
  --sun: rgba(214,199,255,.18);
  --river: rgba(158,198,232,.26);
}



.portal-hero__content{
position: relative;
  z-index: 5; /* Выше феникса (z-index: 3) */
  max-width: 1180px;
  margin: 0 auto;
  padding: clamp(120px, 14vh, 170px) 20px 56px;
  transform: translateY(calc(-16vh + 130px));
}

/* КРИТИЧНО: в темной теме опускаем заголовок на 40px вниз */
:root[data-theme="mother-dark"] .portal-hero__content{
position: relative;
  z-index: 5; /* Выше феникса (z-index: 3) */
  max-width: 1180px;
  margin: 0 auto;
  padding: clamp(120px, 14vh, 170px) 20px 56px;
  transform: translateY(calc(-16vh + 130px));
}

@media (max-width: 520px){
  .portal-hero__content{
position: relative;
    z-index: 5; /* Выше феникса (z-index: 3) */
  max-width: 1180px;
  margin: 0 auto;
    padding: clamp(140px, 16vh, 180px) 20px 56px;
    transform: translateY(calc(-16vh + 130px));
}

  /* В темной теме на мобилке тоже опускаем на 40px вниз */
  :root[data-theme="mother-dark"] .portal-hero__content{
position: relative;
    z-index: 5; /* Выше феникса (z-index: 3) */
  max-width: 1180px;
  margin: 0 auto;
    padding: clamp(120px, 14vh, 170px) 20px 56px;
    transform: translateY(calc(-16vh + 130px));
}
}

.portal-hero__title{
  font-family: var(--font-serif);
  font-size: var(--fs-h1);
  font-weight: var(--fw-semibold);
  line-height: var(--lh-title);
  letter-spacing: var(--ls-wide);
  text-transform: uppercase;
  margin: 0;
  color: rgba(255, 255, 255, 0.98);
  text-shadow: 0 4px 20px rgba(0,0,0,.2);
  text-align: left;
}

.portal-hero__sub{
  font-family: 'Miama Nueva', cursive;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: none;
  color: rgba(255, 255, 255, 0.9);
  font-size: clamp(14px, 1.5vw, 20px);
  line-height: 1.6;
  margin: 0;
  text-align: left;
}

/* cta-entry::before — ОТКЛЮЧЕНО (черная линия) */
.cta-entry::before {
  display: none !important;
}

.portal-hero__scroll{
  position: absolute !important;
  bottom: 30px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 44px;
  height: 44px;
  border: 1px solid rgba(51,51,51,.20);
  border-radius: 50%;
  background: rgba(255,255,255,.75);
  backdrop-filter: blur(8px);
  cursor: pointer !important;
  z-index: 20 !important;
  pointer-events: auto !important;
  transition: transform .2s ease, box-shadow .2s ease;
}

.portal-hero__scroll::after{
  content: "";
  position: absolute;
  left: 50%;
  top: 12px;
  transform: translateX(-50%);
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: rgba(51,51,51,.45);
  animation: scrollDot 1.3s infinite ease;
  pointer-events: none;
}

.portal-hero__scroll:hover{
  transform: translateX(-50%) translateY(-2px);
  box-shadow: 0 8px 20px rgba(0,0,0,.12);
}

@keyframes scrollDot{
  0%{opacity:.35; transform:translate(-50%,0)}
  60%{opacity:1; transform:translate(-50%,10px)}
  100%{opacity:.35; transform:translate(-50%,0)}
}

/* ============ ЕДИНАЯ ТИПОГРАФИЧЕСКАЯ СИСТЕМА ============ */
/* Заголовки используют Playfair Display */
h1, .h1 {
  font-family: var(--font-heading);
  font-size: var(--fs-h1);
  line-height: var(--lh-title);
  font-weight: 500;
  letter-spacing: 0.02em;
  color: var(--heading);
  margin: 0 0 var(--space-lg);
}

h2, .hA {
  font-family: var(--font-heading);
  font-size: var(--fs-h2);
  line-height: var(--lh-heading);
  font-weight: 500;
  letter-spacing: 0.02em;
  color: var(--heading);
  margin: 0 0 var(--space-md);
}

h3, .h3 {
  font-family: var(--font-heading);
  font-size: var(--fs-h3);
  line-height: var(--lh-heading);
  font-weight: 500;
  letter-spacing: 0.01em;
  color: var(--heading);
  margin: 0 0 var(--space-md);
}

h4, .h4 {
  font-family: var(--font-heading);
  font-size: var(--fs-h4);
  line-height: var(--lh-heading);
  font-weight: 500;
  letter-spacing: 0.01em;
  color: var(--heading);
  margin: 0 0 var(--space-sm);
}

/* Основной текст использует Inter */
p, .hB {
  font-family: var(--font-body);
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  color: var(--text);
  margin: 0 0 var(--space-md);
  max-width: 70ch; /* Ограничение длины строки для читаемости */
}

/* Ссылки - видимые и контрастные */
a {
  color: var(--river2);
  text-decoration: underline;
  text-decoration-color: rgba(74, 120, 168, 0.3);
  text-underline-offset: 3px;
  transition: all 0.2s ease;
}

a:hover {
  color: var(--river);
  text-decoration-color: var(--river);
}

a:focus {
  outline: 2px solid var(--river);
  outline-offset: 2px;
}

/* Вторичный текст */
.hC, small, .muted {
  font-family: var(--font-body);
  font-size: var(--fs-small);
  line-height: var(--lh-tight);
  color: var(--muted);
  letter-spacing: 0.05em;
  text-transform: uppercase;
  margin: 0 0 var(--space-sm);
}

/* ============ Sections ============ */
.section{
  padding: var(--space-3xl) 0;
  position: relative;
}

@media (max-width: 820px){
  .section{ padding: var(--space-2xl) 0; }
}
@media (max-width: 480px){
  .section{ padding: var(--space-xl) 0; }
}

.section:first-of-type{
  padding-top: calc(84px + 20px);
}
@media (max-width: 820px){
  .section:first-of-type{ padding-top: calc(56px + 20px); }
}
@media (max-width: 480px){
  .section:first-of-type{ padding-top: calc(44px + 20px); }
}

/* Мягкий "туман" между секциями вместо пустоты */
.section + .section{
  position: relative;
}
.section + .section::before{
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -26px;
  height: 52px;
  background: radial-gradient(60% 120% at 50% 50%,
              rgba(242,182,90,.10), transparent 60%);
  pointer-events: none;
  z-index: 0;
}

:root[data-theme="mother-dark"] .section + .section::before{
  background: radial-gradient(60% 120% at 50% 50%,
              rgba(242,182,90,.08), transparent 60%);
}

/* Единый вертикальный ритм для вложенных элементов */
.stack > * + *{
  margin-top: var(--section-gap);
}

/* Мягкая вуаль-разделитель между секциями */
.section-divider{
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(242,182,90,.35), rgba(158,198,232,.28), transparent);
  opacity: .9;
  margin: var(--section-gap) 0;
  border: none;
}

:root[data-theme="mother-dark"] .section-divider{
  background: linear-gradient(90deg, transparent, rgba(242,182,90,.25), rgba(158,198,232,.20), transparent);
  opacity: .7;
}

/* ============ Fade-in animation ============ */
.fade-in{
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 1.2s ease-out, transform 1.2s ease-out;
}

.fade-in.visible{
  opacity: 1;
  transform: translateY(0);
}

/* .gradient-bg — ОТКЛЮЧЕНО, текст на чистом фоне */

/* ============ About Space ============ */
.about-space{
  text-align: center;
}

/* .about-space .hB — ПЕРЕНЕСЕНО В КОНЕЦ ФАЙЛА */

/* ============ About Avelia — СТИЛИ ПЕРЕНЕСЕНЫ В КОНЕЦ ФАЙЛА ============ */

/* ============ БЛОК 3: Values (Поток/Свет/Движение) ============ */
.values {
  background: transparent;
  padding: 60px 0;
  text-align: left;
}

.values-title .dot-separator {
  display: inline;
}

.values-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  margin-top: 48px;
}

.values-columns {
  display: grid;
  grid-template-columns: repeat(3, minmax(300px, 1fr));
  gap: 48px;
  max-width: 1600px;
  margin: 0 auto;
}

.values-column {
  background: transparent;
  border: none;
  box-shadow: none;
  padding: 0;
}

.values-column p {
  margin: 0;
  color: var(--text);
  font-size: clamp(1rem, 1.5vw, 1.15rem);
  line-height: 1.75;
  text-align: center;
}

.values-column strong {
  font-weight: 600;
  color: var(--text);
}

/* .value-card — ПЕРЕНЕСЕНО В КОНЕЦ ФАЙЛА */

@media (max-width: 980px){
  .values-grid{
    grid-template-columns: 1fr;
    gap: 24px;
  }
  
  .values-columns {
    grid-template-columns: 1fr;
    gap: 32px;
}

  .values-column p {
  text-align: center;
  }
}

/* ============ БЛОК 4: Приглашение ============ */
.invitation {
  background: transparent;
  padding: var(--section-y) 0;
}

.invitation-content {
  display: grid;
  grid-template-columns: minmax(300px, 1fr) minmax(500px, 1.5fr);
  gap: clamp(48px, 6vw, 80px);
  align-items: center;
  max-width: 1600px;
  margin: 0 auto;
}

.invitation-photo {
  position: relative;
}

.invitation-photo img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 0;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08);
}

.invitation-text {
  color: var(--text);
  max-width: none;
}

.invitation-text p {
  margin: 0;
  font-size: var(--fs-body);
  line-height: 1.85;
  color: var(--text);
}

@media (max-width: 980px) {
  .invitation-content {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  
  .invitation-photo {
    order: 1;
  }
  
  .invitation-text {
    order: 2;
  }
}

@media (max-width: 768px) {
  .invitation {
    padding: 60px 0;
  }
  
  .invitation-content {
    gap: 32px;
  }
  
  .invitation-text p {
    font-size: 1.05rem;
    line-height: 1.8;
  }
}

@media (max-width: 768px){
  .values-title .dot-separator {
    display: block;
    height: 0;
    overflow: hidden;
  }
  
  .values-title .dot-separator::before {
    content: "\A";
    white-space: pre;
  }
}

/* ============ Interaction Forms ============ */
.interaction-forms{
  text-align: center;
}

.interaction-text{
  margin: 32px 0;
}

.interaction-text p{
  margin-bottom: 16px;
}

.formats{
  margin-top: 40px;
  font-size: 16px;
  color: var(--text-muted);
  letter-spacing: .05em;
}

.formats span{
  margin: 0 4px;
}

/* ============ Formats Cards ============ */
.formats-grid{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  margin-top: 48px;
}

.format-card{
  padding: 32px;
  border-radius: 12px;
  background: rgba(255,255,255,.70);
  border: 1px solid rgba(0,0,0,.08);
  transition: transform .3s ease, box-shadow .3s ease;
}

.format-card:nth-child(1){
  background: rgba(227,248,255,.50);
}

.format-card:nth-child(2){
  background: rgba(255,230,250,.50);
}

.format-card:nth-child(3){
  background: rgba(244,232,213,.50);
}

.format-card:nth-child(4){
  background: rgba(230,255,239,.50);
}

.format-card:hover{
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0,0,0,.10);
}

.format-card p{
  font-size: 16px;
  line-height: 1.7;
  color: var(--text-muted);
  margin: 0;
}

@media (max-width: 980px){
  .formats-grid{
    grid-template-columns: 1fr;
  }
}

/* ============ Gallery ============ */
.gallery{
  text-align: center;
}

/* Новая жёсткая сетка галереи 3×2 с контейнером-стеком по центру снизу */
/* ============ Заголовок и текст над галереей ============ */
.gallery-header{
  text-align: center;
  margin: 0 0 60px 0;
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}

.gallery-header__title{
  font-size: 42px;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.3;
  margin: 0 0 24px 0;
  color: var(--text);
  font-family: var(--font-heading, inherit);
}

.gallery-header__text{
  font-size: 19px;
  line-height: 1.65;
  margin: 0;
  color: var(--text-muted);
  font-style: italic;
  letter-spacing: 0.02em;
}

@media (max-width: 768px){
  .gallery-header{
    margin-bottom: 40px;
    padding: 0 20px;
  }

  .gallery-header__title{
    font-size: 32px;
    margin-bottom: 18px;
  }

  .gallery-header__text{
    font-size: 17px;
    line-height: 1.6;
  }
}

/* ============ ТЗ #3: Галерея с текстом справа ============ */
.about-nature {
  display: grid;
  grid-template-columns: 420px 1fr;
  gap: 40px;
  align-items: start;
  margin: 60px 0 80px;
}

.about-nature__photo{
  margin: 0;
}

.gallery-hero{
  margin: 0;
  width: 100%;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(0,0,0,.06);
  background: rgba(255,255,255,.4);
}

.gallery-hero img{
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}

.about-nature__text{
  align-self: start;
  max-width: 520px;
}

.about-nature__title{
  display: none; /* Убираем дублирующий заголовок "АВЕЛИЯ" */
}

.about-nature__p{
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  margin: 0 0 var(--space-md) 0;
  color: var(--text);
  text-align: left;
  max-width: 70ch;
}

.about-nature__p:last-child{
  margin-bottom: 0;
}

@media (max-width: 900px){
  .about-nature{
    grid-template-columns: 1fr;
    gap: 24px;
    margin: 40px 0 50px;
  }

  .about-nature__text{
    max-width: 100%;
  }

  .about-nature__title{
    font-size: 28px;
    margin-bottom: 20px;
  }

  .about-nature__p{
    font-size: 16px;
    line-height: 1.55;
  }
}

/* ============ Галерея: горизонтальный слайдер ============ */
.gallery-scroll{
  position: relative;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  scrollbar-color: rgba(242,182,90,.3) transparent;
  padding: 20px 0 40px;
  margin: 0 -20px;
}

/* Стрелки навигации для галереи */
.gallery-scroll__arrow{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.9);
  border: 2px solid rgba(242, 182, 90, 0.3);
  color: var(--text, #2F2A25);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  pointer-events: auto;
}

.gallery-scroll__arrow:hover{
  background: rgba(255, 255, 255, 1);
  border-color: rgba(242, 182, 90, 0.6);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);
  transform: translateY(-50%);
}

.gallery-scroll__arrow:active{
  transform: translateY(-50%);
  opacity: 0.8;
}

.gallery-scroll__arrow--prev{
  left: 10px;
}

.gallery-scroll__arrow--next{
  right: 10px;
}

.gallery-scroll__arrow svg{
  width: 24px;
  height: 24px;
}

.gallery-scroll__arrow:disabled{
  opacity: 0.3;
  cursor: not-allowed;
  pointer-events: none;
}

@media (max-width: 768px){
  .gallery-scroll__arrow{
    width: 40px;
    height: 40px;
  }

  .gallery-scroll__arrow svg{
    width: 20px;
    height: 20px;
  }

  .gallery-scroll__arrow--prev{
    left: 5px;
  }

  .gallery-scroll__arrow--next{
    right: 5px;
  }
}

.gallery-scroll::-webkit-scrollbar{
  height: 6px;
}

.gallery-scroll::-webkit-scrollbar-track{
  background: transparent;
}

.gallery-scroll::-webkit-scrollbar-thumb{
  background: rgba(242,182,90,.3);
  border-radius: 3px;
}

.gallery-scroll__inner{
  display: flex;
  gap: 20px;
  padding: 0 20px;
}

.slide{
  height: 320px !important;
  border-radius: 18px;
  overflow: hidden;
  position: relative;
  flex-shrink: 0 !important;
  width: 240px !important;
  transition: transform .3s ease, box-shadow .3s ease;
}

/* Стили для светлой темы (по умолчанию) - АБСОЛЮТНО ТЕ ЖЕ размеры как в темной */
.slide {
  height: 320px !important;
  width: 240px !important;
  flex-shrink: 0 !important;
  background: rgba(255,255,255,.25);
  box-shadow: 0 10px 30px rgba(0,0,0,.08);
}

/* Темная тема - АБСОЛЮТНО ТЕ ЖЕ размеры (320px x 240px), только цвета разные */
:root[data-theme="mother-dark"] .slide {
  height: 320px !important;
  width: 240px !important;
  flex-shrink: 0 !important;
  background: rgba(255,255,255,.035) !important;
  border: 1px solid var(--border) !important;
  box-shadow: var(--shadow2) !important;
}

/* Горизонтальная фотография - занимает 2 вертикальных для ВСЕХ тем */
.slide.is-landscape,
:root[data-theme="light"] .slide.is-landscape,
:root[data-theme="mother-dark"] .slide.is-landscape {
  width: 500px !important;  /* примерно 2x240px + gap */
}

.slide:hover{
  transform: translateY(-4px);
  box-shadow: 0 14px 40px rgba(0,0,0,.12);
}

.slide img{
  width: 100%;
  height: 100%;
  object-fit: contain;     /* НЕ режет горизонталки */
  object-position: center;
  display: block;
  filter: drop-shadow(0 10px 25px rgba(0,0,0,.10));
}

@media (max-width: 768px){
  .slide{
    height: clamp(280px, 40vh, 320px);
    width: 200px;
  }
}

/* Адаптив для новой галереи */
@media (max-width: 768px){
  .gallery-main{
    margin: 40px 0 50px;
  }

  .gallery-hero{
    max-width: 100%;
    border-radius: 20px;
  }

  .gallery-scroll__item{
    width: 240px;
    border-radius: 16px;
  }
}

@media (max-width: 480px){
  .gallery-main{
    margin: 32px 0 40px;
  }

  .gallery-hero{
    border-radius: 18px;
  }

  .gallery-scroll__item{
    width: 200px;
  }
}

/* Сезонный лёгкий снег поверх сайта (увеличена видимость) */
#snow-canvas{
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 9999;
  opacity: .22;
  filter: blur(.2px);
}

/* Частицы/звёзды - благородно, не грязно */
.stars,
.particles{
  opacity: .22;
  filter: blur(.2px);
}

@media (prefers-reduced-motion: reduce){
  #snow-canvas,
  .stars,
  .particles{
    display: none !important;
  }
}

/* В тёмной теме - снижаем плотность, увеличиваем blur */
:root[data-theme="mother-dark"] #snow-canvas,
:root[data-theme="mother-dark"] .stars,
:root[data-theme="mother-dark"] .particles{
  opacity: .16 !important;
  filter: blur(.6px) !important;
}

/* Двухколоночный лейаут для секции "Авелия в пространстве природы" (фото + текст) */
.gallerySplit{
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1.1fr);
  gap: 32px;
  align-items: center;
  margin-top: 32px;
  margin-bottom: 40px;
}

.gallerySplit__photo img{
  border-radius: 22px;
  width: 100%;
  height: auto;
  display: block;
  box-shadow: 0 18px 50px rgba(47,42,37,.10);
}

.gallerySplit__text{
  align-self: center;
}

.gallerySplit__text .hB{
  font-size: 17px;
}

.gallerySplit__grid{
  margin-top: 8px;
}

@media (max-width: 980px){
  .gallerySplit{
    grid-template-columns: 1fr;
  }
}

/* Галерея с 3 фотками в ряд - ДЛЯ ВСЕХ ТЕМ */
.gallery-grid,
:root[data-theme="light"] .gallery-grid,
:root[data-theme="mother-dark"] .gallery-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
}

.gallery-item--large{
  grid-column: span 1;
}

@media (max-width: 980px){
  .gallery-grid{
    grid-template-columns: 1fr;
  }
  .gallery-item--large{
    grid-column: span 1;
  }
}

/* .possibilities — ПЕРЕНЕСЕНО В КОНЕЦ ФАЙЛА */

/* ============ CTA Entry (нижний экран) ============ */
.cta-entry{
  position: relative;
  text-align: center;
  padding: 120px 0 140px; /* меньше воздуха снизу, чтобы хвост аккуратно заходил на футер */
  overflow: visible;
  background:
    /* УБРАНО: старый источник света слева (18% 22%) */
    /* radial-gradient(900px 520px at 18% 22%, rgba(242,182,90,.18), transparent 70%), */
    radial-gradient(900px 520px at 10% 0%, rgba(158,198,232,.14), transparent 70%),
    linear-gradient(180deg, rgba(255,252,247,1), rgba(250,243,232,1));
}

/* === ФЕНИКС НА ПОСЛЕДНЕМ ЭКРАНЕ === */
.cta-entry::after{
  content:"";
  position:absolute;
  left: -8%;
  bottom: -150px;
  width: min(782px, 57.5vw);
  height: auto;
  aspect-ratio: 1 / 1;
  max-width: 782px;
  background:
    url("/static/images/logo/logo_transparent_1000.webp") left bottom/contain no-repeat;
  opacity:.6;
  filter: drop-shadow(0 0 50px rgba(242,182,90,.35));
  pointer-events:none;
  z-index: 1;
}

/* Адаптив для феникса в финальном экране */
@media (max-width: 768px){
  .cta-entry::after{
    left: -10%;
    top: 20px;
    bottom: auto;
    width: min(500px, 60vw);
    max-width: 500px;
    opacity:.35;
    transform: translateY(0);
  }
}
@media (max-width: 390px){
  .cta-entry::after{
    left: -15%;
    top: 15px;
    bottom: auto;
    width: min(380px, 65vw);
    max-width: 380px;
    opacity:.3;
    transform: translateY(0);
  }
}

/* === HERO-ROAD (анимация дороги) === */
.hero-road {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 1;
}

.hero-road svg {
  width: 100%;
  height: 100%;
  display: block;
}

.hero-road .road {
  fill: none;
  stroke: rgba(230, 122, 58, 0.26);
  stroke-width: 3;
  stroke-linecap: round;
  stroke-dasharray: 7 11;
  filter: drop-shadow(0 0 10px rgba(242, 182, 90, 0.35));
  animation: roadFlow 9s linear infinite;
}

.hero-road .glow {
  fill: none;
  stroke: rgba(242, 182, 90, 0.14);
  stroke-width: 10;
  stroke-linecap: round;
  filter: blur(0.3px);
}

@keyframes roadFlow {
  to { stroke-dashoffset: -260; }
}

/* В светлой теме хвост феникса чуть более небесный, без жёлтого пересвета */
:root[data-theme="light"] .cta-entry{
  background:
    radial-gradient(950px 540px at 18% 22%, rgba(164,208,255,.26), transparent 74%),
    radial-gradient(950px 540px at 15% 0%, rgba(242,182,90,.12), transparent 74%),
    linear-gradient(180deg, #FBFDFF, #F4F7FF);
}

/* Мать‑тьма: дорожка и птица в ночной палитре */
:root[data-theme="mother-dark"] .cta-entry{
  background:
    radial-gradient(1100px 640px at 82% 0%, rgba(34,56,96,.70), transparent 78%),
    radial-gradient(1100px 640px at 12% 0%, rgba(128,82,46,.55), transparent 78%),
    linear-gradient(180deg, #050509, #070710);
  color: var(--text); /* Текст должен быть светлым */
}

/* mother-dark cta-entry::after — ОТКЛЮЧЕН */

/* Текст в cta-entry в темной теме */
:root[data-theme="mother-dark"] .cta-entry h2,
:root[data-theme="mother-dark"] .cta-entry h3,
:root[data-theme="mother-dark"] .cta-entry p,
:root[data-theme="mother-dark"] .cta-entry .cta-bottom__text{
  color: var(--text);
}


.cta-bottom{
  max-width: 500px;
  width: 100%;
  margin: 0 0 0 auto;
  margin-right: 20%;
  padding: 40px 0 0;
  position: relative;
  z-index: 2;
  text-align: center;
}

/* Феникс на втором экране (#invite) - УДАЛЕНО: дублируется ниже с финальной позицией */

/* .cta-bottom__text — ПЕРЕНЕСЕНО В КОНЕЦ ФАЙЛА */

.cta-bottom__buttons{
  display: flex;
  justify-content: center;
  gap: 18px;
  flex-wrap: wrap;
  position: relative;
}

.ctaBottom-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 16px 34px;
  border-radius: 999px;
  text-decoration: none;
  font-family: var(--font-ui); /* Source Sans 3 для UI */
  font-size: 13px;
  letter-spacing: .18em;
  text-transform: uppercase;
  border: 1px solid rgba(47,42,37,.12);
  transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
}

.ctaBottom-btn--primary{
  background: rgba(230,122,58,.96);
  color: #fff;
  border-color: rgba(230,122,58,.25);
  box-shadow: 0 14px 40px rgba(230,122,58,.35);
}

.ctaBottom-btn--ghost{
  background: rgba(255,255,255,.85);
  color: var(--ink);
  box-shadow: 0 10px 30px rgba(47,42,37,.10);
}

@media (hover:hover){
  .ctaBottom-btn:hover{
    transform: translateY(-2px);
    box-shadow: 0 18px 50px rgba(47,42,37,.14);
  }
}

@media (max-width: 640px){
  .cta-bottom{
    padding-top: 20px;
    margin-right: 10%;
    max-width: 400px;
  }
  .cta-bottom__text{
    font-size: 18px;
  }
  .cta-bottom__buttons{
    flex-direction: column;
  }
}

/* ============ Buttons ============ */
.btn{
  display: inline-block;
  padding: var(--space-md) var(--space-lg);
  min-height: 44px;
  border-radius: 8px;
  text-decoration: none;
  font-family: var(--font-ui);
  font-size: var(--fs-body);
  font-weight: 500;
  letter-spacing: 0.02em;
  transition: all 0.2s ease;
  border: 1px solid var(--border);
  background: transparent;
  color: var(--text);
  box-shadow: none;
  position: relative;
  overflow: hidden;
}

.btn:hover{
  transform: translateY(-1px);
  box-shadow: var(--shadow);
}

/* Primary кнопка - золотой градиент */
.btn--primary,
.btn--dark{
  border: 1px solid rgba(242,182,90,.55);
  background: linear-gradient(135deg, rgba(242,182,90,.95), rgba(230,122,58,.92));
  color: #1b1510;
  box-shadow: 0 18px 46px rgba(230,122,58,.24);
  font-weight: 600;
}

.btn--primary:hover,
.btn--dark:hover{
  background: linear-gradient(135deg, rgba(242,182,90,1), rgba(230,122,58,.98));
  box-shadow: 0 22px 56px rgba(230,122,58,.34);
  transform: translateY(-2px);
}

:root[data-theme="mother-dark"] .btn{
  background: rgba(255,255,255,.06);
  color: var(--text);
}

:root[data-theme="mother-dark"] .btn--primary,
:root[data-theme="mother-dark"] .btn--dark{
  box-shadow: 0 18px 46px rgba(230,122,58,.35);
}

:root[data-theme="mother-dark"] .btn--primary:hover,
:root[data-theme="mother-dark"] .btn--dark:hover{
  box-shadow: 0 22px 56px rgba(230,122,58,.45);
}

/* Secondary кнопка - стеклянная */
.btn--ghost{
  background: linear-gradient(180deg, var(--card), var(--card2));
  color: var(--text);
  border: 1px solid var(--stroke);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.btn--ghost:hover{
  background: linear-gradient(180deg, var(--card2), var(--card));
  transform: translateY(-1px);
  box-shadow: var(--shadow2);
}

.telegram-btn{
  background: var(--telegram);
  color: #fff;
  font-size: 16px;
  padding: 16px 32px;
  border: none;
}

.telegram-btn:hover{
  background: #1e8bc4;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(38,165,228,.35);
}

.telegram-btn--primary{
  background: linear-gradient(135deg, #26A5E4, #1e8bc4);
}

/* ============ Footer ============ */
.footer{
  padding: 32px 0 40px;
  border-top: 1px solid rgba(0,0,0,.06);
  color: var(--text-muted);
  font-size: 14px;
  overflow: visible;
}

/* Футер в темной теме */
:root[data-theme="mother-dark"] .footer{
  border-top: 1px solid rgba(255,255,255,.12);
  color: var(--muted);
}

:root[data-theme="mother-dark"] .footer *{
  color: var(--muted);
}

:root[data-theme="mother-dark"] .footer a{
  color: var(--text);
}

:root[data-theme="mother-dark"] .footer a:hover{
  color: var(--accent);
}

/* КРИТИЧНО: футер справа для всех тем */
:root[data-theme="mother-dark"] .footer-left{
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  text-align: right !important;
}

:root[data-theme="mother-dark"] .footer-right{
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  margin-left: auto !important;
  margin-right: 0 !important;
  padding-right: 20px !important;
  text-align: right !important;
  flex-shrink: 0 !important;
}

:root[data-theme="mother-dark"] .footer-inner{
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
}

:root[data-theme="mother-dark"] .footer-logo,
:root[data-theme="mother-dark"] .footer-sub {
  text-align: right !important;
}

.footer-bottom .wrap{
  /* футер на всю ширину экрана, как шапка, но с отступами от краев */
  max-width: 100%;
  width: 100%;
  margin: 0;
  padding: 0 5vw; /* красивые отступы от краев экрана */
}

.footer-inner{
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  gap: 18px;
  max-width: 1200px;           /* как top-header__inner */
  margin: 0 0 0 auto !important; /* Прижимаем к правому краю */
  padding: 0 0 8px;          /* убрал боковые padding, они теперь в .wrap */
}

.footer-left{
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important; /* Справа */
  text-align: right !important; /* Текст справа */
}

.footer-logo{
  font-family: "Playfair Display", serif;
  letter-spacing: .16em;
  text-transform: uppercase;
  font-size: 13px;
  text-align: right !important; /* Справа */
  margin-right: -0.16em; /* компенсация letter-spacing после последней буквы */
}

.footer-sub{
  font-family: 'Miama Nueva', cursive; /* Исправлено: используем правильное имя шрифта */
  font-size: 8.75px !important; /* Увеличено в 2,5 раза: было 3.5px */
  letter-spacing: .14em;
  margin-top: 4px;
  text-align: right !important; /* Справа */
}

.footer-right{
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px;
  font-size: 13px;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-right: 0 !important;
  text-align: right !important; /* Текст справа */
  flex-shrink: 0 !important; /* Не сжимается */
}

.footer-right a{
  text-decoration: none;
  color: var(--text-muted);
}

.footer-right a:hover{
  color: var(--ink);
}

.footer-dot{
  opacity: .6;
}

@media (max-width: 640px){
  .footer-inner{
    flex-direction: column !important;
    align-items: flex-end !important; /* Справа на мобилке */
    justify-content: flex-end !important;
  }
  .footer-left{
    align-items: flex-end !important; /* Справа на мобилке */
    text-align: right !important; /* Справа на мобилке */
  }
  .footer-right{
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-right: 0 !important;
    align-self: flex-end !important; /* Кнопки справа */
    text-align: right !important; /* Текст справа */
  }
}

/* ============ Image River ============ */
.imgRiver{
  position: relative !important;
  margin: 0 auto !important; /* центрируем */
  border-radius: 18px;
  overflow: hidden;
  transform: translateZ(0) !important;
  background: rgba(255,255,255,.40);
  /* Единая тень для обеих тем - меняется только цвет через переменную */
  box-shadow: var(--shadow2);
  display: block !important; /* чтобы margin: auto работал */
  /* Фиксируем размеры - НЕ МЕНЯЮТСЯ при смене темы */
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  /* Убираем любые трансформации */
  scale: 1 !important;
}

.imgRiver img{
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-height: 500px !important;
  object-fit: cover !important;
  object-position: center !important;
  filter: saturate(.92) contrast(.96) brightness(.98);
  /* Убираем scale - он может создавать визуальный скачок */
  transform: translateZ(0) !important;
  scale: 1 !important;
  position: relative !important;
}

.imgRiver::before{
  content:"";
  position:absolute; inset:0;
  background:
    radial-gradient(700px 380px at 20% 10%, rgba(244,232,213,.18), transparent 60%),
    radial-gradient(900px 520px at 18% 22%, rgba(227,248,255,.16), transparent 62%),
    linear-gradient(180deg, rgba(255,255,255,.12) 0%, rgba(255,255,255,.00) 50%, rgba(255,255,255,.18) 100%);
  mix-blend-mode: soft-light;
  pointer-events:none;
}

.imgRiver::after{
  content:"";
  position:absolute; inset:0;
  background: radial-gradient(120% 110% at 50% 40%, transparent 55%, rgba(0,0,0,.12) 120%);
  opacity:.18;
  pointer-events:none;
}

.imgRiver--portrait{ border-radius: 22px; }

/* Небольшой мягкий фон для одиночного кадра перед "Формами соприкосновения" */
.sec-photo-break{
  background:
    radial-gradient(900px 520px at 15% 0%, rgba(227,248,255,.35), transparent 65%),
    linear-gradient(180deg, #F4F7FF, #FDFEFF);
}

/* Блок "Твоё присутствие здесь — не случайность" перед FAQ */
.sec-presence{
  background:
    radial-gradient(900px 520px at 18% 22%, rgba(242,182,90,.16), transparent 70%),
    linear-gradient(180deg, #FCF8F1, #FDFCF9);
}

.sec-presence .presenceGrid{
  display:grid;
  grid-template-columns: minmax(260px, 1.05fr) minmax(0, 1.15fr);
  gap: 40px;
  align-items: center;
}

.sec-presence .presencePhoto{
  max-width: 520px;
  margin: 0;
}

.sec-presence .presenceText p{
  margin-bottom: 10px;
}

@media (max-width: 900px){
  .sec-presence .presenceGrid{
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .sec-presence .presencePhoto{
    max-width: 420px;
    margin: 0 auto;
  }
}

/* ============ Header scroll behavior ============ */
.top-header.is-hidden{
  transform: translateY(-100%);
  opacity: 0;
  pointer-events: none;
}

/* Phoenix tail canvas under UI */
.phoenixTail{
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 5;
}

/* ============ Mobile ============ */
@media (max-width: 640px){
  .section{
    padding: 60px 0;
  }
  .wrap{
    padding: 0 20px;
  }
  .hA{
    font-size: 28px;
  }
  .hB{
    font-size: 16px;
  }
  .cta-buttons{
    flex-direction: column;
    align-items: stretch;
  }
  .telegram-btn{
    width: 100%;
  }
}

/* ====== Club типографика и ритм секций для best ====== */
:root{
  --bg0:#FFFBF2;
  --bg1:#F6F0E3;
  --ink: rgba(47,42,37,.88);
  --muted: rgba(47,42,37,.62);
  --whisper: rgba(47,42,37,.40);
  --sun: rgba(230,122,58,.18);
  --river: rgba(158,198,232,.16);
  --glass: rgba(255,255,255,.32);
  --line: rgba(47,42,37,.10);
  --shadow: 0 18px 60px rgba(47,42,37,.10);
}

/* Мать‑тьма: глубокая премиальная ночная тема (по чек-листу) */
:root[data-theme="mother-dark"]{
  --bg: #0B0C0F;
  --bg-2: #101218;
  --text: rgba(246,240,227,.92);
  --muted: rgba(246,240,227,.68);
  --card: rgba(255,255,255,.06);
  --card-2: rgba(255,255,255,.09);
  --border: rgba(255,255,255,.12);
  --shadow: 0 18px 60px rgba(0,0,0,.55);
  --accent: #C9A961; /* Премиум золотой */
  --accent-2:#D4AF37; /* Золотой */

  /* тёплый ночной фон: слоновая кость → графит */
  --bg0:#0E0F12;
  --bg1:#15161B;

  /* молочный текст и мягкие вторичные */
  --text:#F2EEE6;
  --text-muted:rgba(242,238,230,.70);
  --ink:#F2EEE6;
  --muted:rgba(242,238,230,.70);
  --whisper:rgba(196,186,170,.48);

  /* премиум золотые акценты + глубокая «река» */
  --sun: rgba(201,169,97,.22);
  --river: rgba(94,130,168,.32);

  /* стеклянные карточки и линии */
  --glass: rgba(255,255,255,.06);
  --line: rgba(242,238,230,.12);
  --shadow: 0 26px 80px rgba(0,0,0,.85);
}

/* фон-поток по всей странице - ВСЕ ИСТОЧНИКИ СВЕТА СЛЕВА */
body{
  background: radial-gradient(1200px 900px at 15% 10%, var(--river), transparent 60%),
              radial-gradient(1200px 900px at 18% 22%, var(--sun), transparent 62%),
              linear-gradient(180deg, var(--bg0), var(--bg1));
  color: var(--ink);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* ширина "журнальной" колонки (hero на весь экран, поэтому без portal-hero) */
/* Общее правило для всех тем */
.wrap, main, .container{
  max-width: 980px;
  margin-left:auto;
  margin-right:auto;
  padding-left: 22px;
}

/* Для темной темы - переопределяем */
:root[data-theme="mother-dark"] .wrap,
:root[data-theme="mother-dark"] main,
:root[data-theme="mother-dark"] .container{
  max-width: 980px;
  padding-right: 22px;
}

/* hero: тишина + легкий блик текста */
h1{
  font-family: var(--font-heading); /* Cormorant Garamond */
  font-weight: 500;
  letter-spacing: 0.02em; /* Премиальная типографика */
  text-transform: uppercase;
  font-size: clamp(34px, 5.8vw, 76px);
  margin: 0 0 10px;
  color: rgba(47,42,37,.92);
  text-shadow: 0 10px 40px rgba(255,255,255,.55);
}
h1 + p, h1 + div{
  font-size: 12px;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--whisper);
}

/* A/B/C громкость */
h2{
  font-family: var(--font-heading); /* Cormorant Garamond */
  font-weight: 500;
  letter-spacing: 0.02em; /* Премиальная типографика */
  line-height: 1.35;
  font-size: clamp(28px, 2.6vw, 40px);
  margin: 0 0 22px;
  color: rgba(47,42,37,.86);
}
h3{
  font-size: 16px;
  letter-spacing: .10em;
  text-transform: uppercase;
  color: rgba(47,42,37,.72);
  margin: 26px 0 10px;
}
p{
  font-family: var(--font-body); /* Source Serif 4 для основного текста */
  font-size: 17px;
  line-height: 1.65; /* Премиальная читаемость */
  color: var(--muted);
  margin: 0 0 16px;
}

/* секции как "страницы журнала" */
section, main > *{
  padding: 78px 0;
  position: relative;
}
@media (max-width: 640px){
  section, main > *{ padding: 58px 0; }
}

/* "переливы" между секциями */
section::before{
  content:"";
  position:absolute;
  left:0; right:0;
  top:-44px;
  height: 92px;
  pointer-events:none;
  background: radial-gradient(1200px 90px at 50% 0%, rgba(158,198,232,.22), transparent 68%);
  opacity:.55;
}
section::after{
  content:"";
  position:absolute;
  left:0; right:0;
  bottom:-54px;
  height: 120px;
  pointer-events:none;
  background: radial-gradient(1100px 110px at 50% 100%, rgba(242,182,90,.18), transparent 72%);
  opacity:.45;
}

/* убрать "маркерность" списков — сделать мягко */
ul{
  list-style: none;
  padding: 0;
  margin: 16px 0 24px;
}
ul li{
  position: relative;
  padding-left: 18px;
  margin: 10px 0;
  font-size: 17px;
  line-height: 1.8;
  color: var(--muted);
}
ul li::before{
  content:"";
  position:absolute;
  left:0; top:.75em;
  width: 6px; height: 6px;
  border-radius: 999px;
  background: rgba(230,122,58,.55);
  box-shadow: 0 0 0 6px rgba(230,122,58,.10);
}

/* тонкие разделители */
hr{
  border:0;
  height:1px;
  background: linear-gradient(90deg, transparent, var(--line), transparent);
  margin: 34px 0;
}

/* ====== Фото: единый премиальный слой ====== */
img{
  max-width: 100% !important;
  height: auto !important;
  /* Фиксируем размеры - НЕ МЕНЯЮТСЯ при смене темы */
  width: auto !important;
  object-fit: contain !important;
}

main img, section img, article img{
  border-radius: 18px;
  box-shadow: var(--shadow2);
  display: block !important;
  margin: 26px auto !important;
  filter: saturate(.92) contrast(.96) brightness(.99);
  transform: translateZ(0) !important;
  background: rgba(255,255,255,.22);
  /* Фиксируем размеры - не меняются при смене темы */
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  position: relative !important;
  /* Убираем любые трансформации, влияющие на размер */
  scale: 1 !important;
}

main img, section img, article img{
  outline: 1px solid var(--border);
  outline-offset: -1px;
}

/* В тёмной теме меняем ТОЛЬКО цвета, размеры остаются теми же */
:root[data-theme="mother-dark"] main img,
:root[data-theme="mother-dark"] section img,
:root[data-theme="mother-dark"] article img{
  background: rgba(255,255,255,.05) !important;
  outline-color: var(--border) !important;
  /* Размеры и позиция НЕ МЕНЯЮТСЯ */
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  transform: translateZ(0) !important;
  scale: 1 !important;
  box-shadow: var(--shadow2) !important;
  margin: 26px auto !important;
  display: block !important;
}

@media (hover:hover){
  main img:hover, section img:hover, article img:hover{
    filter: saturate(.98) contrast(.98) brightness(1.01);
    transform: translateY(-1px);
    transition: transform .28s ease, filter .28s ease;
  }
}

/* Об Авелии — СТИЛИ ПЕРЕНЕСЕНЫ В КОНЕЦ ФАЙЛА */

/* Ценности — 3 карточки-состояния */
.sec-values .cards3{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin-top: 18px;
}
@media (max-width: 900px){
  .sec-values .cards3{ grid-template-columns: 1fr; }
}
.cardGlow{
  position:relative;
  border-radius: 18px;
  padding: 22px 20px;
  background: rgba(255,255,255,.28);
  border: 1px solid rgba(47,42,37,.10);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: 0 18px 60px rgba(47,42,37,.08);
  overflow:hidden;
}
.cardGlow::before{
  content:"";
  position:absolute; inset:-40px;
  background: radial-gradient(300px 220px at 20% 20%, rgba(230,122,58,.18), transparent 60%),
              radial-gradient(360px 260px at 18% 22%, rgba(158,198,232,.16), transparent 62%);
  opacity:.9;
  pointer-events:none;
}
.cardGlow h3{ margin-top: 0; }

/* Форматы — мягкие плитки 2×2 */
.sec-formats .grid2{
  display:grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
  margin-top: 18px;
}
@media (max-width: 860px){
  .sec-formats .grid2{ grid-template-columns: 1fr; }
}
.cardSoft{
  border-radius: 18px;
  padding: 20px;
  background: rgba(255,255,255,.22);
  border: 1px solid rgba(47,42,37,.10);
  box-shadow: 0 14px 44px rgba(47,42,37,.08);
}
.cardSoft p{ margin-bottom: 0; }

/* Кнопки Telegram — стеклянный CTA */
a.btnTG{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding: 8px 14px;
  border-radius: 999px;
  text-decoration:none;
  font-size: 10px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(47,42,37,.82);
  background: rgba(255,255,255,.30);
  border: 1px solid rgba(47,42,37,.16);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  position:relative;
  overflow:hidden;
  transition: transform .25s ease, opacity .25s ease;
  white-space: nowrap;
  line-height: 1.2;
}

/* Мать‑тьма: стекло темнее, блик теплее, текст светлый */
:root[data-theme="mother-dark"] a.btnTG{
  color: var(--ink);
  background: rgba(12,12,18,.82);
  border-color: rgba(255,245,230,.16);
}

:root[data-theme="mother-dark"] a.btnTG::before{
  background: linear-gradient(110deg, transparent 30%, rgba(255,245,230,.45) 45%, transparent 60%);
}
a.btnTG::before{
  content:"";
  position:absolute;
  inset:-40px;
  background: linear-gradient(110deg, transparent 30%, rgba(255,255,255,.35) 45%, transparent 60%);
  transform: translateX(-40%);
  opacity:.55;
}
@media (hover:hover){
  a.btnTG:hover{ transform: translateY(-1px); }
  a.btnTG:hover::before{ transform: translateX(40%); transition: transform .9s ease; }
}

a.btnTG--primary{
  background: rgba(230,122,58,.92);
  color: #fff;
  border-color: rgba(230,122,58,.22);
}

:root[data-theme="mother-dark"] a.btnTG--primary{
  background: linear-gradient(130deg, rgba(210,152,92,1), rgba(175,112,66,1));
  box-shadow: 0 20px 60px rgba(0,0,0,.85);
}

/* Мягкие появления секций */
.reveal{
  opacity:0;
  transform: translateY(10px);
  transition: opacity .9s ease, transform .9s ease;
}
.reveal.is-in{
  opacity:1;
  transform: translateY(0);
}
@media (prefers-reduced-motion: reduce){
  .reveal{ opacity:1; transform:none; transition:none; }
  html{ scroll-behavior:auto; }
}

/* .possible-item, .possible-flow, .possible-anchor — ПЕРЕНЕСЕНО В КОНЕЦ ФАЙЛА */

/* FAQ заголовок */
#faq .hA {
  white-space: nowrap;
  font-size: clamp(1.4rem, 3vw, 2rem);
}

@media (max-width: 768px) {
  #faq .hA {
    white-space: normal;
    font-size: 1.5rem;
  }
}

/* Accordion (FAQ) из club */
.accordion{
  display:flex;
  flex-direction:column;
  gap: 10px;
  margin-top: 18px;
}

/* .accBtn, .accPanel — ПЕРЕНЕСЕНО В КОНЕЦ ФАЙЛА */

.accBtn[aria-expanded="true"] + .accPanel{
  display:block;
}

/* ============ ТЕМНАЯ ТЕМА - СТИЛИ ============ */
/* ============ Темная тема "Премиум" - стили ============ */

/* Заголовки в темной теме */
:root[data-theme="mother-dark"] h1,
:root[data-theme="mother-dark"] h2,
:root[data-theme="mother-dark"] h3,
:root[data-theme="mother-dark"] .hA,
:root[data-theme="mother-dark"] .hB{
  color: var(--text);
  text-shadow: 0 8px 28px rgba(0,0,0,.55);
}

/* Все параграфы в темной теме */
:root[data-theme="mother-dark"] p{
  color: var(--muted);
}

/* Секции в темной теме - темный фон */
:root[data-theme="mother-dark"] .section,
:root[data-theme="mother-dark"] .sec{
  background: transparent !important;
}

/* mother-dark .possibilities — ПЕРЕНЕСЕНО В КОНЕЦ ФАЙЛА */

/* Секция "Твоё присутствие" в темной теме */
:root[data-theme="mother-dark"] .sec-presence{
  background: transparent !important;
}

:root[data-theme="mother-dark"] .presenceText p,
:root[data-theme="mother-dark"] .presenceText .hB{
  color: var(--muted);
}

/* Карточки/плашки - стекло вместо серого бетона */
:root[data-theme="mother-dark"] .cardGlow,
:root[data-theme="mother-dark"] .touch__card,
:root[data-theme="mother-dark"] .card,
:root[data-theme="mother-dark"] .panel,
/* Accordion в темной теме */
:root[data-theme="mother-dark"] .accBtn{
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid rgba(255,255,255,.15) !important;
  color: #FFFFFF !important;
  box-shadow: none !important;
}

:root[data-theme="mother-dark"] .accBtn[aria-expanded="true"] {
  border-bottom-color: rgba(255,255,255,.3) !important;
}

:root[data-theme="mother-dark"] .accIcon{
  color: rgba(255,255,255,.75) !important;
}

:root[data-theme="mother-dark"] .accPanel{
  color: rgba(255,255,255,.9) !important;
}

:root[data-theme="mother-dark"] .faq-item,
:root[data-theme="mother-dark"] .glass{
  background: linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.05));
  border: 1px solid var(--border);
  box-shadow: var(--shadow);
}

:root[data-theme="mother-dark"] .cardGlow p,
:root[data-theme="mother-dark"] .touch__card p,
:root[data-theme="mother-dark"] .panel p{
  color: var(--muted);
}

/* Кнопки в темной теме — СВЕТЛЫЕ */
:root[data-theme="mother-dark"] .ctaBottom-btn--primary,
:root[data-theme="mother-dark"] .btnTG--primary,
:root[data-theme="mother-dark"] .btn-interaction,
:root[data-theme="mother-dark"] .tab-btn.active {
  background: linear-gradient(180deg, rgba(255,255,255,.95), rgba(255,255,255,.85)) !important;
  color: #1a1a1a !important;
  border-color: rgba(255,255,255,.9) !important;
  box-shadow: 0 12px 40px rgba(255,255,255,.15);
}

:root[data-theme="mother-dark"] .ctaBottom-btn--primary:hover,
:root[data-theme="mother-dark"] .btnTG--primary:hover,
:root[data-theme="mother-dark"] .btn-interaction:hover {
  background: linear-gradient(180deg, rgba(255,255,255,1), rgba(255,255,255,.95)) !important;
  box-shadow: 0 16px 50px rgba(255,255,255,.2);
}

:root[data-theme="mother-dark"] .ctaBottom-btn--ghost,
:root[data-theme="mother-dark"] .btnTG:not(.btnTG--primary),
:root[data-theme="mother-dark"] .tab-btn:not(.active) {
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(255,255,255,.25) !important;
  color: #fff !important;
}

:root[data-theme="mother-dark"] .ctaBottom-btn--ghost:hover,
:root[data-theme="mother-dark"] .btnTG:not(.btnTG--primary):hover,
:root[data-theme="mother-dark"] .tab-btn:not(.active):hover {
  background: rgba(255,255,255,.15) !important;
}

/* Фото-блоки - меняем ТОЛЬКО цвета, размеры остаются теми же */
:root[data-theme="mother-dark"] .imgRiver,
:root[data-theme="mother-dark"] .photo-card,
:root[data-theme="mother-dark"] .image-frame{
  background: rgba(255,255,255,.06) !important;
  border: 1px solid var(--border) !important;
  /* Используем ту же переменную тени для единообразия */
  box-shadow: var(--shadow2) !important;
  /* Размеры и позиция НЕ МЕНЯЮТСЯ */
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  transform: translateZ(0) !important;
  scale: 1 !important;
  margin: 0 auto !important;
  display: block !important;
}

/* Оптимизация на мобилке - УБРАНО: fx-слои отключены в темной теме */
@media (max-width: 480px){
  :root[data-theme="mother-dark"] .portal-hero__fx{
    display: none !important;
    opacity: 0 !important;
    filter: none !important;
  }
}

@media (prefers-reduced-motion: reduce){
  :root[data-theme="mother-dark"] .portal-hero__fx{
    animation: none !important;
  }
  :root[data-theme="mother-dark"] .portal-hero__fx::before,
  :root[data-theme="mother-dark"] .portal-hero__fx::after{
    animation: none !important;
  }
}

@media (prefers-reduced-motion: reduce){
  .gold-road .glow{ animation: none; opacity: .35; }
}

/* =========================
   FIX PATCH (ничего не удаляет)
   вставить в самый конец файла
   ========================= */

/* 1) Шрифт: ты используешь MiamaNuevaMedium, но @font-face у тебя "Miama Nueva" */
/* 2) Виджет языка: гарантированно скрываем .langWidget--hidden */
.langWidget--hidden{
  display: none !important;
}
.langWidget[aria-hidden="true"]{
  display: none !important;
}

/* 3) Тёмная тема: не даём позднему body (который ниже по файлу) убить фон/цвета */
/* УДАЛЕНО: дублируется ниже, оставлен только финальный вариант в конце файла */

/* 4) Тексты в тёмной теме: у тебя местами var(--text) / var(--ink) путаются */
:root[data-theme="mother-dark"]{
  --text: var(--ink);
  --text-muted: var(--muted);
}

/* 5) .portal-hero__fx - ПОЛНОСТЬЮ ОТКЛЮЧЕН в темной теме (создает пелену) */
.portal-hero__fx{
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:4;
  display:none;
}
/* КРИТИЧНО: отключаем fx-слои в темной теме - они создают серо-жёлтую вуаль */
:root[data-theme="mother-dark"] .portal-hero__fx{
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

/* 6) Перестраховка от горизонтального скролла на тяжёлых слоях */
.portal-hero,
.portal-hero__bg,
.portal-hero__bg-layer,
.gallery-scroll{
  max-width: 100vw !important;
}

/* 7) КРИТИЧНО: финальная защита от вуали в темной теме - отключаем ВСЕ возможные источники */
/* Это правило должно быть ПОСЛЕДНИМ в файле, чтобы переопределить все остальные */
/* ВАЖНО: moon-rays и fireflies НЕ отключаем - они нужны для эффектов */
:root[data-theme="mother-dark"] .portal-hero::before,
:root[data-theme="mother-dark"] .portal-hero::after,
:root[data-theme="mother-dark"] .portal-hero__bg::before,
:root[data-theme="mother-dark"] .portal-hero__bg::after,
:root[data-theme="mother-dark"] .portal-hero__veil,
:root[data-theme="mother-dark"] .portal-hero__fx,
:root[data-theme="mother-dark"] .portal-hero__fx::before,
:root[data-theme="mother-dark"] .portal-hero__fx::after{
  display: none !important;
  opacity: 0 !important;
  background: none !important;
  background-image: none !important;
  background-color: transparent !important;
  visibility: hidden !important;
  pointer-events: none !important;
  content: none !important;
  width: 0 !important;
  height: 0 !important;
  z-index: -9999 !important;
  filter: none !important;
  box-shadow: none !important;
  mix-blend-mode: normal !important;
  transform: none !important;
  /* Дополнительная защита - убираем все возможные эффекты */
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}


/* ============ HERO ШРИФТЫ ============ */
/* ============================================================
   ЭКРАН 1: Изменения заголовка и подзаголовка для всех тем
   ============================================================ */

/* Шрифты для тестирования заголовка - локальные файлы */
@font-face {
  font-family: 'Bonjour Mon Ami';
  src: url('/static/fonts/Bonjour Mon Ami.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'VLADOVSKIY';
  src: url('/static/fonts/VLADOVSKIY.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'PF Scandal Pro Display';
  src: url('/static/fonts/PF Scandal Pro Display.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Farabee Thin';
  src: url('/static/fonts/Farabee.ttf') format('truetype');
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}

/* Заголовок "ГОЛОС ЕСТЕСТВА" - белый цвет и свечение */
.portal-hero__title {
  color: #FFFFFF !important;
  text-shadow: 0 12px 60px rgba(0,0,0,.4), 0 8px 40px rgba(0,0,0,.3) !important;
}

:root[data-theme="mother-dark"] .portal-hero__title {
  color: #FFFFFF !important;
  text-shadow: 0 20px 80px rgba(0,0,0,.85), 0 12px 50px rgba(0,0,0,.6) !important;
}

/* 4 варианта заголовка с разными шрифтами для тестирования - все видимы */
.portal-hero__title--font-1 {
  font-family: 'Bonjour Mon Ami', 'Cormorant Garamond', serif !important;
  margin-bottom: 8px !important;
}

.portal-hero__title--font-2 {
  font-family: 'VLADOVSKIY', 'Cormorant Garamond', serif !important;
  margin-bottom: 8px !important;
}

.portal-hero__title--font-3 {
  font-family: 'PF Scandal Pro Display', 'Cormorant Garamond', serif !important;
  margin-bottom: 8px !important;
}

.portal-hero__title--font-4 {
  font-family: 'Farabee Thin', 'Cormorant Garamond', serif !important;
  font-weight: 100 !important;
  margin-bottom: 8px !important;
}

.portal-hero__title--font-5 {
  font-family: 'MS Mincho', serif !important;
  font-weight: 400 !important;
  font-size: clamp(42px, 5.5vw, 80px) !important;
  margin-bottom: 8px !important;
  margin-top: 8px !important;
}


.portal-hero__welcome {
  position: absolute !important;
  bottom: 70px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 100%;
  max-width: min(90vw, 600px);
  z-index: 4;
  text-align: center;
  padding: 0 20px;
  pointer-events: none;
}

.portal-hero__welcome-text {
  font-family: var(--font-body);
  font-size: clamp(12px, 1.2vw, 16px);
  line-height: 1.7;
  color: #8B4513;
  margin: 0;
  font-weight: 400;
  pointer-events: none;
}

:root[data-theme="mother-dark"] .portal-hero__welcome-text {
  color: rgba(255, 255, 255, 0.95);
  text-shadow: 0 2px 16px rgba(0,0,0,.6);
}

/* Кнопки */
.portal-hero__buttons {
  display: flex;
  gap: var(--space-3);
  flex-wrap: wrap;
  margin-top: var(--space-4);
}

.portal-hero__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-3) var(--space-5);
  border-radius: 999px;
  text-decoration: none;
  font-size: var(--fs-3);
  font-weight: var(--fw-medium);
  letter-spacing: 0.05em;
  transition: all 0.3s ease;
  border: 1px solid transparent;
}

.portal-hero__btn--primary {
  background: #E67A3A;
  color: #FFFFFF;
  box-shadow: 0 4px 16px rgba(230, 122, 58, 0.3);
}

.portal-hero__btn--primary:hover {
  box-shadow: 0 6px 24px rgba(230, 122, 58, 0.4);
}

.portal-hero__btn--outline {
  background: transparent;
  color: #8B4513;
  border-color: rgba(139, 69, 19, 0.3);
}

:root[data-theme="mother-dark"] .portal-hero__btn--outline {
  color: rgba(255, 255, 255, 0.9);
  border-color: rgba(255, 255, 255, 0.3);
}

.portal-hero__btn--outline:hover {
  background: rgba(139, 69, 19, 0.05);
  border-color: rgba(139, 69, 19, 0.5);
}

:root[data-theme="mother-dark"] .portal-hero__btn--outline:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.5);
}

/* Мобильная версия hero-grid */
@media (max-width: 1024px) {
  .portal-hero__grid {
    grid-template-columns: 1fr;
    gap: var(--space-6);
    padding: clamp(60px, 10vh, 100px) clamp(20px, 4vw, 32px);
  }
  
  .portal-hero__phoenix-column {
    order: 2;
  }
  
  .portal-hero__content-column {
    order: 1;
  align-items: center;
    text-align: center;
  }
  
  .portal-hero__title,
  .portal-hero__sub {
    text-align: center;
  }
  
  .portal-hero__welcome {
    bottom: 90px;
    max-width: 92vw;
  }
  
  .portal-hero__buttons {
    justify-content: center;
    width: 100%;
  }
  
  .portal-hero__phoenix {
    max-width: 400px;
  }
}


/* ========================================================================

/* ============ БЛОК "ОБ АВЕЛИИ" — ПРЕМИАЛЬНЫЙ ДИЗАЙН ============ */

/* ============ БЛОК 6: Об Авелии (Премиум) ============ */
.about-avelia {
  background: transparent;
  padding: var(--section-y) 0;
  position: relative;
}

/* Мягкий градиент на фоне (почти незаметный) */
.about-avelia::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: 900px;
  height: 100%;
  background: radial-gradient(ellipse 80% 60% at 50% 30%, rgba(242,182,90,.04), transparent 70%);
  pointer-events: none;
  z-index: 0;
}

.about-avelia .wrap {
  position: relative;
  z-index: 1;
}

.about-avelia__content {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  max-width: 1200px;
  margin: 0 auto;
}

.about-avelia__header {
  width: 100%;
  margin-bottom: var(--space-2);
}

.about-avelia__body {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(48px, 6vw, 80px);
  align-items: center;
}

.about-avelia__photo-wrapper {
  background: transparent;
  border: none;
  box-shadow: none;
}

.about-avelia__photo {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 0;
  object-fit: cover;
  filter: none;
}

.about-avelia__facts-wrapper {
  display: flex;
  align-items: flex-start;
  height: 100%;
}

.about-avelia__facts {
  align-self: center;
}

/* Заголовок блока */
.about-avelia__title {
  font-family: var(--font-heading);
  font-size: clamp(var(--fs-3), 3vw, var(--fs-4));
  font-weight: var(--fw-medium);
  color: var(--heading);
  margin: 0 0 var(--space-3) 0;
  width: 100%;
}

/* Лид (первый абзац чуть крупнее) */
.about-avelia__intro {
  font-family: var(--font-serif);
  font-size: clamp(var(--fs-4), 2vw, var(--fs-5));
  line-height: var(--lh-heading);
  color: var(--heading);
  margin: 0;
  max-width: 100%;
  width: 100%;
}

/* Список с нормальными маркерами и межстрочьем */
.about-avelia__facts {
  list-style: disc;
  padding-left: var(--space-5);
  margin: 0;
}

.about-avelia__facts li {
  font-family: var(--font-base);
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  color: var(--text);
  margin-bottom: var(--space-3);
  padding-left: var(--space-2);
}

.about-avelia__facts li:last-child {
  margin-bottom: 0;
}

@media (max-width: 980px) {
  .about-avelia__body {
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }
  
  .about-avelia__photo-wrapper {
    max-width: 300px;
    margin: 0 auto;
  }
}

@media (max-width: 768px) {
  .about-avelia {
    padding: var(--space-7) 0;
  }
  
  .about-avelia__content {
    gap: var(--space-5);
  }
  
  .about-avelia__intro {
    font-size: var(--fs-4);
    line-height: var(--lh-heading);
    margin-bottom: var(--space-5);
    max-width: 100%;
  }
  
  .about-avelia__facts {
    padding-left: var(--space-4);
  }
  
  .about-avelia__facts li {
    font-size: var(--fs-body);
    line-height: var(--lh-body);
    margin-bottom: clamp(6px, 0.8vw, 10px);
  }
}

@media (max-width: 768px) {
  .about-avelia {
    padding: 40px 0;
  }
  
  .about-avelia .wrap {
    padding: 0 20px;
  }
  
  .about-avelia__content {
    gap: 24px;
  }
  
  .about-avelia__intro {
    font-size: 1.05rem;
    line-height: 1.6;
    margin-bottom: 24px;
  }
  
  .about-avelia__facts li {
    font-size: 0.95rem;
    line-height: 1.7;
    padding: 4px 0;
    padding-left: 18px;
    margin-bottom: clamp(6px, 0.8vw, 10px);
  }
}

/* ============ ВКЛАДКИ (TABS) ============ */

.interaction-tabs .hA {
  text-align: center;
  margin-bottom: 32px;
}

.tabs-container {
  max-width: 900px;
  margin: 0 auto;
}

.tabs-header {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
  margin-bottom: 32px;
  border-bottom: 1px solid var(--border);
  padding-bottom: 16px;
}

.tab-btn {
  padding: 12px 20px;
  background: transparent;
  border: 1px solid var(--border);
  border-radius: 8px;
  font-family: var(--font-base);
  font-size: 15px;
  color: var(--text-muted);
  cursor: pointer;
  transition: all 0.2s;
}

.tab-btn:hover {
  background: rgba(255,255,255,.5);
  color: var(--text);
}

.tab-btn.active {
  background: var(--text);
  color: #FFFBF2;
  border-color: var(--text);
}

.tab-panel {
    display: none;
  padding: 24px;
  background: rgba(255,255,255,.3);
  border-radius: 12px;
  border: 1px solid var(--border);
}

.tab-panel.active {
  display: block;
}

.tab-panel ul {
  list-style: none;
  padding: 0;
  margin: 0 0 24px 0;
}

.tab-panel li {
  padding: 8px 0 8px 24px;
  position: relative;
  line-height: 1.6;
}

.tab-panel li::before {
  content: "·";
  position: absolute;
  left: 0;
  color: rgba(139, 69, 19, 0.4);
  font-size: 1.25rem;
}

.tab-panel h3 {
  font-family: var(--font-serif);
  font-size: var(--fs-lg);
  margin-bottom: 16px;
}

.btn-interaction {
  display: inline-block;
  padding: 14px 28px;
  background: var(--text);
  color: #FFFBF2;
  border-radius: 8px;
  font-size: 15px;
  font-weight: 500;
  text-decoration: none;
  transition: all 0.2s;
}

.btn-interaction:hover {
  background: #8B4513;
  transform: translateY(-2px);
}

@media (max-width: 768px) {
  .tabs-header {
    flex-direction: column;
    align-items: stretch;
  }
  
  .tab-btn {
    text-align: center;
  }
}

/* ============ БЛОК 5: Accordion (Способы взаимодействия - Премиум) ============ */
.interaction-accordion {
  background: transparent;
  padding: var(--section-y) 0;
}

.interaction-accordion .hA {
  text-align: center;
  margin-bottom: var(--space-7);
}

.accordion-container {
  max-width: var(--measure-wide);
  margin: 0 auto;
}

.accordion-item {
  background: transparent;
  border: none;
  box-shadow: none;
  margin-bottom: clamp(8px, 1vw, 12px);
}

.accordion-btn {
  width: 100%;
  padding: var(--space-5) var(--space-6) var(--space-5) 0;
  background: transparent;
  border: none;
  border-bottom: 1px solid rgba(139, 69, 19, 0.15);
  font-family: var(--font-serif);
  font-size: clamp(1.25rem, 2vw, 1.625rem);
  font-weight: var(--fw-medium);
  color: var(--heading);
  text-align: left;
  cursor: pointer;
  transition: color 0.3s ease;
  position: relative;
}

.accordion-btn::after {
  content: "+";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.25rem;
  font-weight: var(--fw-regular);
  color: var(--muted);
  transition: transform 0.3s ease, opacity 0.3s ease;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0.6;
}

.accordion-item.active .accordion-btn::after,
.accordion-btn.active::after {
  content: "−";
  transform: translateY(-50%) rotate(0deg);
  opacity: 1;
}

.accordion-btn:hover {
  color: var(--heading);
}

.accordion-btn:hover::after {
  opacity: 1;
}

.accordion-content {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1), 
              opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1),
              padding 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  padding: 0;
  background: transparent;
}

.accordion-item.active .accordion-content,
.accordion-content.active {
  max-height: 1000px;
  opacity: 1;
  padding: var(--space-4) var(--space-6) var(--space-5) 0;
}

.accordion-content p {
  margin: 0 0 var(--space-3) 0;
  color: var(--text);
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  max-width: var(--measure);
}

.accordion-content p:last-child {
  margin-bottom: 0;
}

@media (max-width: 768px) {
  .interaction-accordion {
    padding: var(--space-7) 0;
  }
  
  .interaction-accordion .hA {
    margin-bottom: var(--space-6);
  }
  
  .accordion-btn {
    padding: var(--space-3) var(--space-4);
    font-size: var(--fs-4);
  }
  
  .accordion-btn::after {
    right: var(--space-4);
  }
  
  .accordion-content {
    padding: 0 var(--space-4);
  }
  
  .accordion-content.active {
    padding: var(--space-3) var(--space-4) var(--space-4);
  }
  
  .accordion-content p {
    font-size: var(--fs-body);
    line-height: var(--lh-body);
    max-width: 100%;
  }
}

/* ============ MEETINGS SECTION ============ */

.meetings {
  text-align: center;
}

.meetings .hA {
  margin-bottom: 16px;
}

.meetings .hB {
  margin-bottom: 24px;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}

/* ============ ФИНАЛЬНЫЕ ИСПРАВЛЕНИЯ ============ */

/* Блок "О пространстве" - текст */
.about-space .hB {
  font-size: clamp(1.1rem, 2vw, 1.25rem);
  line-height: 1.75;
  max-width: 700px;
  margin: 0 auto 24px auto;
  text-align: center;
}

/* CTA блок - текст */
.cta-bottom__text {
  font-family: var(--font-serif);
  font-size: clamp(1.25rem, 2.5vw, 1.5rem);
  line-height: 1.6;
  margin-bottom: 40px;
  text-align: center;
}

/* Карточки ценностей */
.value-card h3 {
  font-family: var(--font-serif);
  font-size: var(--fs-lg);
  margin-bottom: 12px;
}

.value-card p {
  max-width: 100%;
  margin-bottom: 0;
}

/* ============ ACCORDION (FAQ) ============ */
/* ============ БЛОК 8: FAQ ============ */
#faq {
  background: transparent;
  padding: 80px 0;
}

#faq .wrap {
  max-width: 800px;
  margin: 0 auto;
  padding: 0 24px;
}

#faq .hA {
  text-align: center;
  margin-bottom: 48px;
}

.accordion {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-top: 0;
  max-width: 100%;
}

.accBtn {
  width: 100%;
  text-align: left;
  padding: 20px 0;
  border: none;
  border-bottom: 1px solid rgba(139, 69, 19, 0.15);
  background: transparent;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: var(--font-base);
  font-size: clamp(1.1rem, 1.5vw, 1.25rem);
  font-weight: 500;
  color: var(--text);
  transition: color 0.2s;
}

.accBtn:hover {
  color: var(--text);
}

.accBtn[aria-expanded="true"] {
  border-bottom-color: rgba(139, 69, 19, 0.3);
}

.accIcon {
  font-size: 1.5rem;
  width: 24px;
  text-align: center;
  color: var(--text-muted);
  transition: transform 0.3s ease;
}

.accBtn[aria-expanded="true"] .accIcon {
  transform: rotate(45deg);
}

.accPanel {
  display: none;
  padding: 0 0 24px 0;
  font-size: clamp(1rem, 1.3vw, 1.15rem);
  line-height: 1.75;
  color: var(--text);
  max-width: 100%;
}

.accPanel[aria-hidden="false"] {
  display: block;
}

@media (max-width: 768px) {
  #faq {
    padding: 60px 0;
  }
  
  #faq .wrap {
    padding: 0 20px;
  }
  
  #faq .hA {
    margin-bottom: 32px;
  }
  
  .accBtn {
    padding: 18px 0;
    font-size: 1.05rem;
  }
  
  .accPanel {
    padding: 0 0 20px 0;
    font-size: 1rem;
    line-height: 1.8;
  }
}

/* ============ ABOUT-AVELIA: ТЕКСТ С БУЛЛЕТАМИ ============ */
.about-avelia__text--bullets {
  max-width: 100%;
  padding-top: 16px;
}

.about-avelia__text--bullets ul {
  list-style: none;
  padding: 0;
  margin: 0 0 40px 0;
}

.about-avelia__text--bullets li {
  position: relative;
  padding-left: 32px;
  margin-bottom: 24px;
  font-size: clamp(1.05rem, 1.6vw, 1.2rem);
  line-height: 1.75;
  color: #8B4513 !important;
}

.about-avelia__text--bullets li:last-child {
  margin-bottom: 0;
}

.about-avelia__text--bullets li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 10px;
  width: 8px;
  height: 8px;
  background: linear-gradient(135deg, #D4A574, #8B4513);
  border-radius: 50%;
  opacity: 0.7;
}

.avelia-tempo {
  font-family: var(--font-serif);
  font-size: clamp(1rem, 1.4vw, 1.15rem);
  letter-spacing: 0.12em;
  color: #A0522D !important;
  margin: 0;
  padding-top: 24px;
  border-top: 1px solid rgba(139, 69, 19, 0.15);
}

.avelia-tempo em {
  font-style: italic;
}

@media (max-width: 1024px) {
  .about-avelia__bottom {
    grid-template-columns: 1fr 300px;
    gap: 40px;
  }
  
  .about-avelia__text--bullets {
    max-width: 100%;
  }
  
  .about-avelia__bottom .about-avelia__photo {
    border-radius: 20px;
  }
}

/* ============ VALUE CARDS ============ */
.value-card {
  padding: 24px;
  border-radius: 16px;
  background: rgba(255,255,255,.5);
  border: 1px solid var(--border);
  transition: transform 0.2s, box-shadow 0.2s;
}

.value-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-sm);
}

.value-card h3 {
  font-family: var(--font-serif);
  font-size: var(--fs-lg);
  font-weight: 400;
  margin: 0 0 12px;
  color: var(--text);
}

.value-card p {
  font-size: var(--fs-base);
  line-height: 1.6;
  margin: 0;
  max-width: 100%;
  color: var(--text);
}

/* ============ МОБИЛЬНАЯ АДАПТАЦИЯ ============ */
@media (max-width: 768px) {
  .about-space .hB {
    font-size: 1.05rem;
    padding: 0 16px;
  }
  
  .cta-bottom__text {
    font-size: 1.15rem;
  }
  
  .value-card {
    padding: 20px;
  }
  
  .accBtn {
    font-size: 1rem;
    padding: 14px 16px;
  }
  
  .values-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}

/* ============================================================
   ФИНАЛЬНЫЕ ИСПРАВЛЕНИЯ — ПРИОРИТЕТ
   ============================================================ */

/* === ABOUT-SPACE: УБИРАЕМ РАМКУ, ТЕКСТ НА ФОНЕ === */
.about-space.gradient-bg {
  background: transparent !important;
  animation: none !important;
}

.about-space {
  background: transparent;
  padding: 80px 0;
  position: relative;
  overflow: visible;
}

.about-space .wrap {
  max-width: 800px;
  margin: 0 auto;
  padding: 0 24px;
}

.about-space .hA {
  text-align: center;
  margin-bottom: 32px;
}

.about-space .hB {
  font-size: clamp(1.1rem, 2vw, 1.3rem) !important;
  line-height: 1.8 !important;
  max-width: 700px !important;
  margin: 0 auto 28px auto !important;
  text-align: center !important;
  color: var(--text) !important;
}

/* ============ БЛОК 2: ТЕКСТОВОЕ ПОЛЕ (Возвращение к себе) ============ */
.text-field {
  background: transparent;
  padding: 80px 0;
  position: relative;
}

.text-field .wrap {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
  position: relative;
}

.text-field__container {
  position: relative;
  min-height: 400px;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
}

.text-field__content {
  color: var(--text);
  font-size: clamp(0.95rem, 1.5vw, 1.1rem);
  line-height: 1.75;
  text-align: left;
  max-width: 600px;
  position: relative;
  z-index: 2;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
}

.text-field__content p {
  margin: 0 0 20px 0;
  color: var(--text);
}

.text-field__content p:last-child {
  margin-bottom: 0;
}

.text-field__logo {
  position: absolute;
  right: var(--about-phoenix-right) !important;
  top: var(--about-phoenix-top) !important;
  transform: translateY(-50%) !important;
  z-index: 1;
  pointer-events: none;
  opacity: var(--about-phoenix-opacity) !important;
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
}

.text-field__logo img {
  width: min(336px, 28vw);
  height: auto;
  display: block;
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  filter: none !important;
  mix-blend-mode: normal !important;
}

@media (max-width: 980px) {
  .text-field__container {
    min-height: 300px;
  }
  
  .text-field__logo {
    right: -20px;
    top: 20px;
    transform: translateY(0);
  }
  
  .text-field__logo img {
    width: 200px;
  }
}

@media (max-width: 768px) {
  .text-field {
    padding: 60px 0;
  }
  
  .text-field .wrap {
    padding: 0 20px;
  }
  
  .text-field__container {
    min-height: 250px;
  }
  
  .text-field__content {
    font-size: 0.95rem;
    line-height: 1.8;
    max-width: 100%;
  }
  
  .text-field__logo {
    right: -15px;
    top: 15px;
  }
  
  .text-field__logo img {
    width: 120px;
  }
}

/* Убираем рамки и фон в темной теме для text-field */
:root[data-theme="mother-dark"] .text-field,
:root[data-theme="mother-dark"] .text-field__container,
:root[data-theme="mother-dark"] .text-field__content,
:root[data-theme="mother-dark"] .text-field .wrap,
:root[data-theme="mother-dark"] .text-field__logo,
:root[data-theme="mother-dark"] .text-field__logo img {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
}

/* === GALLERY: СТРЕЛКИ СЛАЙДЕРА === */
.galleryNav {
  display: flex;
  align-items: center;
  gap: 16px;
  position: relative;
}

.galleryNav__arrow {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: 1px solid var(--border);
  background: rgba(255,255,255,.7);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s;
  flex-shrink: 0;
  color: var(--text);
}

.galleryNav__arrow:hover {
  background: rgba(255,255,255,.95);
  transform: scale(1.05);
  box-shadow: 0 4px 12px rgba(0,0,0,.1);
}

.galleryNav__arrow svg {
  width: 20px;
  height: 20px;
}

.gallery-scroll {
  flex: 1;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

.gallery-scroll::-webkit-scrollbar {
  display: none;
}

.gallery-scroll__inner {
  display: flex;
  gap: 16px;
  padding: 8px 0;
}

.slide {
  flex: 0 0 auto;
  width: 280px;
  margin: 0;
}

.slide img {
  width: 100%;
  height: auto;
  border-radius: 12px;
  display: block;
}

/* === ЧТО ПОЛУЧАЕТ ЖЕНЩИНА: ПРЕМИАЛЬНЫЙ ДИЗАЙН === */
.possibilities {
  background: transparent;
  border: none;
  box-shadow: none;
  padding: 100px 0;
  position: relative;
}

.possibilities .wrap {
  max-width: 900px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

.possibilities .hA {
  text-align: center;
  margin-bottom: 56px;
  font-size: clamp(1.75rem, 3.5vw, 2.25rem);
}

/* Премиальная сетка 2x4 */
.possible-flow {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  max-width: 800px;
  margin: 0 auto;
  padding: 0;
}

.possible-item {
  font-family: var(--font-serif);
  font-size: clamp(1rem, 1.4vw, 1.1rem);
  font-weight: 400;
  line-height: 1.65;
  color: var(--text);
  text-align: left;
  padding: 24px 28px;
  margin: 0;
  background: linear-gradient(135deg, rgba(255,255,255,.7), rgba(255,255,255,.4));
  border: 1px solid rgba(139, 69, 19, 0.08);
  border-radius: 20px;
  position: relative;
  transition: transform 0.3s ease, box-shadow 0.3s ease, background 0.3s ease;
  backdrop-filter: blur(8px);
}

/* Декоративный номер — стильные скошенные прямоугольники */
.possible-item::before {
  content: counter(item);
  counter-increment: item;
  position: absolute;
  top: -12px;
  width: 64px;
  height: 26px;
  background: linear-gradient(135deg, #D4A574 0%, #8B4513 100%);
  color: #fff;
  font-family: var(--font-serif);
  font-size: 0.9rem;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  clip-path: polygon(8% 0%, 100% 0%, 92% 100%, 0% 100%);
  box-shadow: 0 4px 12px rgba(139, 69, 19, 0.3);
  letter-spacing: 0.02em;
}

/* Нечетные (1,3,5,7) — слева, скос вправо */
.possible-item:nth-child(odd)::before {
  left: 16px;
  right: auto;
  clip-path: polygon(0% 0%, 92% 0%, 100% 100%, 8% 100%);
}

/* Четные (2,4,6,8) — справа, скос влево */
.possible-item:nth-child(even)::before {
  right: 16px;
  left: auto;
  clip-path: polygon(8% 0%, 100% 0%, 92% 100%, 0% 100%);
}

.possible-flow {
  counter-reset: item;
}

/* Hover эффект */
.possible-item:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(139, 69, 19, 0.12);
  background: linear-gradient(135deg, rgba(255,255,255,.9), rgba(255,255,255,.6));
}

.possible-anchor {
  font-family: var(--font-serif);
  font-size: clamp(1.05rem, 1.8vw, 1.2rem);
  font-style: italic;
  text-align: center;
  margin: 56px auto 0 auto;
  max-width: 100%;
  color: var(--text-muted);
  padding: 24px 48px;
  position: relative;
  line-height: 1.4;
  background: linear-gradient(135deg, rgba(212,165,116,.08), rgba(139,69,19,.04));
  border-radius: 100px;
  border: 1px solid rgba(139, 69, 19, 0.1);
  white-space: nowrap;
}

/* Декоративные элементы */
.possible-anchor::before,
.possible-anchor::after {
  content: "✦";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  font-size: 0.9rem;
  color: #D4A574;
  opacity: 0.6;
}

.possible-anchor::before {
  left: 16px;
}

.possible-anchor::after {
  right: 16px;
}

/* Темная тема */
:root[data-theme="mother-dark"] .possibilities,
:root[data-theme="mother-dark"] .possible {
  background: transparent;
  border: none;
  box-shadow: none;
}

:root[data-theme="mother-dark"] .possible-item {
  background: linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,.03));
  border-color: rgba(255,255,255,.1);
}

:root[data-theme="mother-dark"] .possible-item:hover {
  background: linear-gradient(135deg, rgba(255,255,255,.12), rgba(255,255,255,.06));
  box-shadow: 0 16px 40px rgba(0,0,0,.3);
}

:root[data-theme="mother-dark"] .possible-anchor {
  background: linear-gradient(135deg, rgba(212,165,116,.1), rgba(139,69,19,.05));
  border-color: rgba(255,255,255,.1);
}

:root[data-theme="mother-dark"] .galleryNav__arrow {
  background: rgba(255,255,255,.1);
  border-color: rgba(255,255,255,.15);
  color: var(--text);
}

:root[data-theme="mother-dark"] .galleryNav__arrow:hover {
  background: rgba(255,255,255,.2);
}

/* === МОБИЛЬНАЯ АДАПТАЦИЯ === */
@media (max-width: 768px) {
  .galleryNav__arrow {
    width: 40px;
    height: 40px;
  }
  
  .galleryNav__arrow svg {
  width: 18px;
  height: 18px;
  }
  
  .slide {
    width: 240px;
  }
  
  /* Что получает женщина — мобилка */
  .possibilities {
    padding: 72px 0;
  }
  
  .possibilities .hA {
    margin-bottom: 40px;
    font-size: 1.5rem;
  }
  
  .possible-flow {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  
  .possible-item {
    font-size: var(--fs-body);
  }
  
  .possible-anchor {
    margin-top: var(--space-6);
  }
  
  .possible-anchor::before {
    left: 12px;
  }
  
  .possible-anchor::after {
    right: 12px;
  }
  
  /* Об Авелии — нижний блок */
  .about-avelia__bottom {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  
  .about-avelia__bottom .about-avelia__photo {
    order: 2;
    max-width: 280px;
    margin: 0 auto;
    border-radius: 20px;
  }
  
  .about-avelia__text--bullets {
    order: 1;
  }
  
  .about-avelia__text--bullets li {
    font-size: 1rem;
    padding-left: 28px;
    margin-bottom: 20px;
  }
  
  .about-avelia__text--bullets li::before {
    width: 6px;
    height: 6px;
    top: 8px;
  }
  
  .avelia-tempo {
    font-size: 0.95rem;
    padding-top: 20px;
  }
}

@media (max-width: 480px) {
  .possible-item {
    font-size: 0.95rem;
    padding: 18px 20px;
  }
  
  .possible-anchor {
    font-size: 0.95rem;
    padding: 18px 36px;
  }
  
  .about-avelia__bottom .about-avelia__photo {
    max-width: 240px;
    border-radius: 16px;
  }
}

/* ============================================================
   HERO заголовок — БЕЛЫЙ
   ============================================================ */
.portal-hero__title,
.portal-hero__title--font-5 {
  color: #FFFFFF !important;
  text-shadow: 0 12px 60px rgba(0,0,0,.4), 0 8px 40px rgba(0,0,0,.3) !important;
}

/* ИСКЛЮЧЕНИЕ: Темная тема — БЕЛЫЙ текст */
:root[data-theme="mother-dark"] body,
:root[data-theme="mother-dark"] p,
:root[data-theme="mother-dark"] h1,
:root[data-theme="mother-dark"] h2,
:root[data-theme="mother-dark"] h3,
:root[data-theme="mother-dark"] .hA,
:root[data-theme="mother-dark"] .hB,
:root[data-theme="mother-dark"] li,
:root[data-theme="mother-dark"] a:not(.ctaBottom-btn):not(.btnTG):not(.btn-interaction),
:root[data-theme="mother-dark"] span,
:root[data-theme="mother-dark"] .meta,
:root[data-theme="mother-dark"] .avelia-subtitle,
:root[data-theme="mother-dark"] .possible-anchor,
:root[data-theme="mother-dark"] .possible-item,
:root[data-theme="mother-dark"] .cta-bottom__text,
:root[data-theme="mother-dark"] .about-avelia__text,
:root[data-theme="mother-dark"] .about-avelia__text--bullets li,
:root[data-theme="mother-dark"] .avelia-tempo,
:root[data-theme="mother-dark"] .value-card h3,
:root[data-theme="mother-dark"] .value-card p,
:root[data-theme="mother-dark"] .accBtn,
:root[data-theme="mother-dark"] .accPanel,
:root[data-theme="mother-dark"] .footer-logo,
:root[data-theme="mother-dark"] .footer-sub {
  color: #FFFFFF !important;
}

:root[data-theme="mother-dark"] .avelia-subtitle,
:root[data-theme="mother-dark"] .possible-anchor,
:root[data-theme="mother-dark"] .meta {
  color: rgba(255,255,255,.75) !important;
}

/* === ФЕНИКС НА ВТОРОМ ЭКРАНЕ (about-space) - АНИМАЦИЯ === */
#about-space .about-space__logo {
  position: absolute !important;
  left: -400px !important;
  right: auto !important;
  bottom: -200px !important;
  top: auto !important;
  transform: translateY(0) !important;
  opacity: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  clip-path: none !important;
  z-index: 3 !important;
  pointer-events: none !important;
  width: 336px !important;
  height: auto !important;
  transition: left 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94),
              bottom 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94),
              right 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94),
              top 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94),
              transform 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94),
              opacity 0.8s ease 0.3s !important;
  will-change: transform, opacity, left, bottom, right, top !important;
}

/* финальное состояние - при появлении секции */
#about-space .about-space__logo.is-animated {
  left: auto !important;
  right: var(--about-phoenix-right) !important;
  bottom: auto !important;
  top: var(--about-phoenix-top) !important;
  transform: translateY(-50%) !important;
  opacity: var(--about-phoenix-opacity) !important;
}


#about-space .about-space__logo img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  transform: none !important;
  filter: none !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

@media (max-width: 768px) {
  #about-space .about-space__logo,
  #about-space .about-space__logo.is-animated {
    right: -20px !important;
    top: 20px !important;
    transform: translateY(0) !important;
  }
  #about-space .about-space__logo {
    width: 120px !important;
  }
}

@media (max-width: 480px) {
  #about-space .about-space__logo,
  #about-space .about-space__logo.is-animated {
    right: -15px !important;
    top: 15px !important;
    transform: translateY(0) !important;
  }
  #about-space .about-space__logo {
    width: 100px !important;
  }
}

/* ========================================================================
   РЕДИЗАЙН: ДОРОГО, ВОЗДУШНО, САКРАЛЬНО, УВЕРЕННО
   Минимализм = точность. Убрать лишнее, оставить суть.
   ======================================================================== */

/* ============ 1. HERO: Композиционная ось (2 колонки) ============ */
.portal-hero {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  min-height: 100vh;
  overflow: hidden;
}

.portal-hero__bg {
  grid-column: 1 / -1;
  grid-row: 1;
  position: absolute;
  inset: 0;
}

/* Феникс: левая колонка, фиксированная позиция */
.portal-hero__phoenix {
  grid-column: 1;
  grid-row: 1;
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding-left: clamp(20px, 5vw, 80px);
  z-index: 2;
  pointer-events: none;
}

/* УДАЛЕНО: конфликтующее правило для grid layout - используется основное правило для fullscreen overlay */

/* Контент: правая колонка */
.portal-hero__content {
  grid-column: 2;
  grid-row: 1;
  position: relative;
  z-index: 3;
  max-width: none;
  margin: 0;
  padding: clamp(60px, 8vh, 120px) clamp(40px, 6vw, 120px);
  transform: none;
  text-align: left;
}

/* Заголовок: молочно-белый, без тумана */
.portal-hero__title {
  color: rgba(255, 251, 242, 0.95);
  text-shadow: none;
  text-align: left;
  margin-bottom: var(--space-3);
  font-weight: 500;
}

:root[data-theme="mother-dark"] .portal-hero__title {
  color: rgba(255, 251, 242, 0.95);
  text-shadow: none;
}

/* Подзаголовок: воздушный, letter-spacing увеличен */
.portal-hero__sub {
  color: rgba(255, 251, 242, 0.88);
  text-shadow: none;
  text-align: left;
  letter-spacing: 0.12em;
  margin-bottom: var(--space-5);
  font-size: clamp(16px, 1.8vw, 24px);
  line-height: 1.6;
}

:root[data-theme="mother-dark"] .portal-hero__sub {
  color: rgba(255, 251, 242, 0.88);
  text-shadow: none;
}

/* Welcome текст: теплый темно-коричневый, ограниченная ширина */
/* УДАЛЕНО: конфликтующее правило для grid - используем absolute позиционирование */

.portal-hero__welcome-text {
  color: #8B4513;
  text-shadow: none;
  font-size: clamp(14px, 1.4vw, 18px);
  line-height: 1.75;
  max-width: 60ch;
}

:root[data-theme="mother-dark"] .portal-hero__welcome-text {
  color: rgba(255, 251, 242, 0.85);
}

/* Кнопки в header: терракота + outline */
.top-header__cta {
  display: flex;
  gap: 12px;
  align-items: center;
}

a.btnTG {
  padding: 10px 20px;
  font-size: 11px;
  transition: background 0.3s ease, box-shadow 0.3s ease, transform 0.2s ease;
}

a.btnTG--primary {
  background: rgba(230, 122, 58, 0.95);
  color: #fff;
  border-color: rgba(230, 122, 58, 0.3);
  box-shadow: 0 4px 16px rgba(230, 122, 58, 0.25);
}

a.btnTG:not(.btnTG--primary) {
  background: transparent;
  border: 1px solid rgba(139, 69, 19, 0.3);
  color: var(--text);
}

@media (hover: hover) {
  a.btnTG:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(230, 122, 58, 0.35);
  }
  
  a.btnTG:not(.btnTG--primary):hover {
    box-shadow: 0 4px 12px rgba(139, 69, 19, 0.15);
  }
}

:root[data-theme="mother-dark"] a.btnTG:not(.btnTG--primary) {
  border-color: rgba(255, 251, 242, 0.25);
  color: rgba(255, 251, 242, 0.9);
}

/* Мобильная версия HERO */
@media (max-width: 980px) {
  .portal-hero {
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr;
  }
  
  .portal-hero__phoenix {
    grid-column: 1;
    grid-row: 1;
    padding: 40px 20px 20px;
    justify-content: center;
  }
  
  .portal-hero__content {
    grid-column: 1;
    grid-row: 2;
    text-align: center;
    padding: 40px 20px;
  }
  
  .portal-hero__title,
  .portal-hero__sub {
    text-align: center;
  }
  
  .portal-hero__welcome {
    bottom: 70px;
    max-width: 90vw;
  }
  
  .portal-hero__welcome-text {
    font-size: clamp(13px, 3.5vw, 18px);
    line-height: 1.6;
  }
}

/* ============ 2. БЛОК #text-field: Феникс как фон ============ */
.text-field {
  padding: var(--section-y) 0;
}

.text-field__container {
  position: relative;
  max-width: 900px;
  margin: 0 auto;
}

.text-field__content {
  position: relative;
  z-index: 2;
}

.text-field__content p {
  max-width: none;
  line-height: 1.85;
  margin-bottom: var(--space-4);
  font-size: clamp(1rem, 1.6vw, 1.2rem);
}

/* Феникс: использует переменные для позиционирования */
.text-field__logo {
  position: absolute;
  right: var(--about-phoenix-right) !important;
  top: var(--about-phoenix-top) !important;
  transform: translateY(-50%) !important;
  width: clamp(200px, 20vw, 300px);
  opacity: var(--about-phoenix-opacity) !important;
  z-index: 1;
  pointer-events: none;
}

.text-field__logo img {
  width: 100%;
  height: auto;
  filter: grayscale(0.2) brightness(1.1);
}

@media (max-width: 980px) {
  .text-field__logo {
    display: none;
  }
  
  .text-field__content p {
    max-width: 100%;
  }
}

/* ============ 3. БЛОК #values: Триптих (3 равных блока) ============ */
.values {
  padding: var(--section-y) 0;
}

.values-columns {
  display: grid;
  grid-template-columns: repeat(3, minmax(300px, 1fr));
  gap: clamp(32px, 4vw, 60px);
  max-width: 1600px;
  margin: 0 auto;
  align-items: stretch;
}

.values-column {
  background: transparent;
  border: none;
  padding: var(--space-5);
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 200px;
}

.values-column p {
  text-align: center;
  line-height: 1.9;
  font-size: clamp(1rem, 1.5vw, 1.15rem);
  margin: 0;
  max-width: none;
}

.values-column strong {
  font-weight: 600;
  color: var(--heading);
}

@media (max-width: 980px) {
  .values-columns {
    grid-template-columns: 1fr;
    gap: var(--space-6);
  }
  
  .values-column {
    min-height: auto;
    padding: var(--space-4);
  }
}

/* ============ 4. БЛОК #invitation: Фото слева, текст справа ============ */
.invitation {
  padding: var(--section-y) 0;
}

.invitation-content {
  display: grid;
  grid-template-columns: minmax(300px, 1fr) minmax(500px, 1.5fr);
  gap: clamp(40px, 6vw, 80px);
  align-items: center;
  max-width: 1600px;
  margin: 0 auto;
}

.invitation-photo {
  position: relative;
}

.invitation-photo img {
  width: 100%;
  height: auto;
  border-radius: 0;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08);
  display: block;
}

.invitation-text {
  max-width: 75%;
}

.invitation-text p {
  line-height: 1.85;
  font-size: clamp(1.1rem, 1.8vw, 1.3rem);
  margin: 0;
  max-width: none;
}

@media (max-width: 980px) {
  .invitation-content {
    grid-template-columns: 1fr;
    gap: var(--space-6);
  }
  
  .invitation-photo {
    order: 1;
  }
  
  .invitation-text {
    order: 2;
    max-width: 100%;
  }
}

/* ============ 5. БЛОК #interaction: Премиум-аккордеон ============ */
.interaction-accordion {
  padding: var(--section-y) 0;
}

.interaction-accordion .hA {
  margin-bottom: var(--space-7);
  font-size: clamp(2rem, 4vw, 3rem);
}

.accordion-container {
  max-width: 900px;
  margin: 0 auto;
}

.accordion-item {
  border-bottom: 1px solid rgba(139, 69, 19, 0.1);
  margin-bottom: clamp(8px, 1vw, 12px);
}

.accordion-btn {
  width: 100%;
  padding: var(--space-5) 0;
  text-align: left;
  background: transparent;
  border: none;
  font-family: var(--font-heading);
  font-size: clamp(1.3rem, 2.2vw, 1.8rem);
  font-weight: 500;
  color: var(--heading);
  cursor: pointer;
  position: relative;
  transition: color 0.3s ease;
}

.accordion-btn::after {
  content: "+";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.5em;
  font-weight: 300;
  transition: transform 0.3s ease, opacity 0.3s ease;
  opacity: 0.6;
}

.accordion-btn.active::after {
  transform: translateY(-50%) rotate(45deg);
}

.accordion-btn:hover {
  color: var(--gold);
}

.accordion-content {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition: max-height 0.4s ease, opacity 0.4s ease, padding 0.4s ease;
  padding: 0;
}

.accordion-content.active {
  max-height: 500px;
  opacity: 1;
  padding: 0 0 var(--space-5) 0;
}

.accordion-content p {
  line-height: 1.85;
  font-size: clamp(1rem, 1.5vw, 1.1rem);
  margin: 0;
  color: var(--text);
}

:root[data-theme="mother-dark"] .accordion-item {
  border-bottom-color: rgba(255, 255, 255, 0.1);
}

:root[data-theme="mother-dark"] .accordion-btn {
  color: rgba(255, 251, 242, 0.95);
}

:root[data-theme="mother-dark"] .accordion-btn:hover {
  color: var(--gold);
}

/* ============ 6. БЛОК #avelia: Заголовки как крыша, фото слева, регалии справа ============ */
/* УДАЛЕНО: дублирующие правила - используются основные выше */

.about-avelia__facts {
  list-style: none;
  padding: 0;
  margin: 0;
}

.about-avelia__facts li {
  position: relative; 
  padding-left: var(--space-4);
  margin-bottom: clamp(8px, 1vw, 12px);
  line-height: 1.85;
  font-size: clamp(1rem, 1.5vw, 1.1rem);
  color: var(--text);
}

.about-avelia__facts li::before {
  content: "·";
  position: absolute; 
  left: 0;
  color: var(--gold);
  font-size: 1.5em;
  line-height: 1;
}

/* УДАЛЕНО: дублирующее правило - используется основное выше */

/* ============ 7. ГАЛЕРЕЯ: Арт-витрина ============ */
.sec-gallery {
  padding: var(--section-y) 0;
}

.galleryNav {
  max-width: 1200px;
  margin: 0 auto;
}

.gallery-scroll {
  height: 500px;
  overflow: hidden;
}

.gallery-scroll__inner {
  display: flex;
  gap: 20px;
  height: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
}

.slide {
  flex: 0 0 auto;
  width: 400px;
  height: 100%;
  scroll-snap-align: start;
}

.slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

@media (max-width: 980px) {
  .gallery-scroll {
    height: 350px;
  }
  
  .slide {
    width: 280px;
  }
}

/* ============ 8. БЛОК #possibilities: Сетка 2×4 ============ */
.possibilities {
  padding: var(--section-y) 0;
}

.possibilities .hA {
  margin-bottom: var(--space-7);
}

.possible-flow {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-5);
  max-width: 900px;
  margin: 0 auto var(--space-7);
}

.possible-item {
  font-size: clamp(1rem, 1.6vw, 1.2rem);
  line-height: 1.85;
  color: var(--text);
  margin: 0;
  padding: var(--space-4);
  background: transparent;
  border: none;
  text-align: left;
}

.possible-anchor {
  text-align: center;
  font-size: clamp(1.1rem, 1.8vw, 1.3rem);
  line-height: 1.85;
  color: var(--muted);
  margin: var(--space-7) auto 0;
  max-width: 600px;
  padding: var(--space-6) 0;
}

@media (max-width: 768px) {
  .possible-flow {
    grid-template-columns: 1fr;
    gap: var(--space-4);
  }
}

/* ============ 9. ОБЩИЙ СТИЛЬ: Теплые цвета, мягкие градиенты ============ */
:root {
  --bg: #FFFEF9;
  --bg2: #FBF8F0;
  --text: #8B4513;
  --muted: #A0522D;
  --heading: #7B3F00;
  --accent-terracotta: #E67A3A;
}

:root[data-theme="mother-dark"] {
  --bg: #070B12;
  --bg2: #0B1220;
  --text: rgba(255, 255, 255, 0.92);
  --muted: rgba(255, 255, 255, 0.70);
  --heading: rgba(255, 255, 255, 0.96);
}

body {
  background: var(--bg);
  color: var(--text);
}

/* Мягкие градиенты для разделителей */
.section + .section::before {
  background: radial-gradient(60% 120% at 50% 50%, rgba(242, 182, 90, 0.06), transparent 60%);
}

:root[data-theme="mother-dark"] .section + .section::before {
  background: radial-gradient(60% 120% at 50% 50%, rgba(242, 182, 90, 0.04), transparent 60%);
}
