/* ====== ШРИФТ САЙТА: Lora (self-hosted, OFL) ====== */
@font-face {
  font-family: 'Lora';
  src: url('media/fonts/Lora-VariableFont_wght.ttf') format('truetype');
  font-weight: 400 700; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Lora';
  src: url('media/fonts/Lora-Italic-VariableFont_wght.ttf') format('truetype');
  font-weight: 400 700; font-style: italic; font-display: swap;
}

/* ====== VARIABLES ====== */
/* Цвета взяты с логотипа: тёмный фон + яркий зелёно-бирюзовый градиент.
   Менять палитру — здесь. */
:root {
  /* Палитра строго по логотипу: тёмно-синий фон (navy) + кремовый акцент.
     Без градиентов-переливов — все цвета сплошные и чёткие. */
  --bg:        #222c39;   /* основной фон (navy) */
  --bg-2:      #1a222d;   /* темнее (футер, виньетки) */
  --surface:   #2a3543;   /* секции/карточки — как фон логотипа */
  --surface-2: #33404f;   /* рамки, элементы */
  --text:      #f0e8d4;   /* кремовый текст (как в лого) */
  --muted:     #a3acba;   /* приглушённый сине-серый */
  --primary:   #efe7d3;   /* кремовый акцент (единственный) */
  --primary-2: #efe7d3;   /* тот же кремовый — без второго цвета */
  --primary-soft: rgba(239,231,211,.10);
  --gradient:  #efe7d3;   /* сплошной кремовый (никаких переливов) */
  --glow:      0 0 0 rgba(0,0,0,0);
  --border:    rgba(240,232,212,.12);
  --border-green: rgba(239,231,211,.32);  /* акцентная кремовая рамка */
  --maxw:      1140px;
  --header-h:  78px;   /* фактическая высота шапки — обновляется из JS при скролле/ресайзе */
  --r:         6px;    /* радиус медиа-фигур (единый минимал) */
  --r-lg:      8px;    /* крупные медиа-фигуры */
  --ease:      cubic-bezier(.22,.61,.36,1);  /* основная плавность */
  /* широкая техно-геометрия в духе Eurostile / Microgramma Extended.
     Tektur — для заголовков (широкий техно), Exo 2 — для текста (читаемый).
     Оба тянут латиницу + кириллицу + азербайджанские буквы. */
  --font:         'Lora', Georgia, 'Times New Roman', serif;
  --font-display: 'Lora', Georgia, 'Times New Roman', serif;
}

* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top: calc(var(--header-h) + 18px); }
body {
  font-family: var(--font);
  background: var(--bg);
  color: var(--text);
  line-height: 1.7;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
a { color: inherit; text-decoration: none; }
img { max-width:100%; display:block; }
.container { width:100%; max-width: var(--maxw); margin:0 auto; padding:0 24px; }

/* широкий техно-шрифт (Eurostile-стиль) на заголовках и акцентах */
.nav a, .lang-toggle button, .btn,
.hero-tag, .hero-subtitle,
.section-title, .stat-num, .stat-label,
.eco-name, .eco-sub, .card h3,
.prose h2, .page-hero h1, .step h3, .member-name, .ph-num {
  font-family: var(--font-display);
}

/* ====== Элегантная типографика Lora — тонко, воздушно, изящно ====== */
body { font-optical-sizing:auto; font-synthesis:none; text-rendering:optimizeLegibility; }
.section-title, .page-hero h1, .phero-title, .prose h2 {
  font-weight:400; letter-spacing:.045em; line-height:1.16;
}
.eco-name { font-weight:400; letter-spacing:.06em; }
.section-lead, .hero-subtitle, .page-hero .sub, .eco-text {
  font-weight:400; letter-spacing:.012em; line-height:1.72;
}
.eco-name .g { font-weight:400; letter-spacing:.02em; }

/* ====== LOGO — настоящий логотип картинкой ====== */
.logo-img { height:44px; width:auto; display:block; }
.hero-logo-img { width:min(380px,76vw); height:auto; display:block; margin:0 auto; }
.footer-logo-img { height:54px; width:auto; display:block; }

/* Перетаскивать/открывать как картинку, а не как ссылку на весь сайт.
   Ссылка-логотип не перехватывает drag; перетаскивается само изображение. */
.logo { -webkit-user-drag: none; user-drag: none; }
.logo-img, .hero-logo-img, .footer-logo-img {
  -webkit-user-drag: element; user-drag: element;
}

/* ====== LOGO (текстовый запасной вариант) ====== */
.logo {
  display:inline-flex; flex-direction:column; align-items:center;
  line-height:.86; user-select:none;
}
.logo-neo {
  font-weight:300; font-size:1em; letter-spacing:.08em;
  background: var(--gradient); -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:var(--primary);
}
.logo-estate {
  font-weight:300; font-size:.32em; letter-spacing:.64em;
  color: var(--text); opacity:.92; margin-top:.5em; padding-left:.64em;
}

/* ====== HEADER ====== */
.site-header {
  position: sticky; top:0; z-index:60;
  background: rgba(20,23,27,.82);
  backdrop-filter: blur(14px);
  border-bottom:1px solid var(--border);
  transition: background .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.site-header.scrolled {
  background: rgba(18,21,26,.94);
  box-shadow: 0 10px 34px rgba(0,0,0,.38);
  border-bottom-color: var(--border-green);
}
.site-header.scrolled .header-inner { height:62px; }
.header-inner { display:flex; align-items:center; justify-content:space-between; height:78px; gap:20px; transition:height .3s ease; position:relative; }
/* логотип строго по центру шапки (меню слева, глобус+телефон справа не двигаются) */
.logo-center { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); }
.site-header .logo { font-size:1.7rem; }

/* Языки */
.header-right { display:flex; align-items:center; gap:16px; }
/* кнопка «позвонить» в шапке — телефон перенесён из бокового меню на видное место */
.header-call { position:relative; display:inline-flex; align-items:center; margin-left:18px; }
/* десктоп — номер текстом */
.call-num {
  font-family:var(--font-display); font-size:.92rem; letter-spacing:.02em;
  color:var(--primary); white-space:nowrap; transition:color .2s var(--ease);
}
.call-num:hover { color:var(--text); text-decoration:underline; text-underline-offset:3px; }
/* телефон — иконка-кнопка (показывается только на маленьких экранах) */
.call-icon-btn {
  display:none; align-items:center; justify-content:center; cursor:pointer;
  background:transparent; border:none; color:var(--primary); padding:6px;
  transition:color .2s var(--ease);
}
.call-icon-btn:hover, .header-call.open .call-icon-btn { color:var(--text); }
/* всплывашка с номером (не звонит — просто показывает) */
.call-popup {
  position:absolute; top:calc(100% + 8px); right:0; z-index:80;
  background:rgba(26,34,45,.98); border:1px solid var(--border-green); border-radius:8px;
  padding:10px 15px; box-shadow:0 18px 44px -14px rgba(0,0,0,.7); backdrop-filter:blur(10px);
  opacity:0; transform:translateY(-6px); pointer-events:none;
  transition:opacity .22s var(--ease), transform .22s var(--ease);
}
.call-popup a { font-family:var(--font-display); color:var(--primary); font-size:.95rem; letter-spacing:.02em; white-space:nowrap; }
.header-call.open .call-popup { opacity:1; transform:translateY(0); pointer-events:auto; }
/* язык — компактная глобус-кнопка с выпадающим меню (одинаково на всех экранах) */
.lang-toggle { position:relative; display:inline-flex; }
.lang-globe-btn {
  display:inline-flex; align-items:center; gap:6px; cursor:pointer;
  background:transparent; border:1px solid var(--muted); border-radius:12px;
  padding:6px 11px; color:var(--muted); font-family:var(--font-display);
  font-size:.82rem; letter-spacing:.06em; transition:border-color .25s var(--ease), color .2s var(--ease);
}
.lang-globe-btn:hover, .lang-toggle.open .lang-globe-btn { border-color:var(--primary); color:var(--text); }
.lang-globe { flex:none; transition:transform .5s var(--ease); }
.lang-globe-btn:hover .lang-globe { transform:rotate(20deg); }
.lang-chev { flex:none; opacity:.8; transition:transform .3s var(--ease); }
.lang-toggle.open .lang-chev { transform:rotate(180deg); }
.lang-menu {
  position:absolute; top:calc(100% + 8px); right:0; z-index:80;
  display:flex; flex-direction:column; min-width:96px;
  background:rgba(26,34,45,.98); border:1px solid var(--border-green); border-radius:8px;
  padding:6px; box-shadow:0 18px 44px -14px rgba(0,0,0,.7); backdrop-filter:blur(10px);
  opacity:0; transform:translateY(-6px); pointer-events:none;
  transition:opacity .22s var(--ease), transform .22s var(--ease);
}
.lang-toggle.open .lang-menu { opacity:1; transform:translateY(0); pointer-events:auto; }
.lang-menu button {
  font-family:var(--font-display); cursor:pointer; background:transparent; border:none; text-align:left;
  color:var(--muted); font-size:.86rem; letter-spacing:.08em; padding:9px 14px; border-radius:5px;
  transition:color .18s, background .18s;
}
.lang-menu button:hover { color:var(--text); background:var(--primary-soft); }
.lang-menu button.active { color:#1a222d; background:var(--gradient); font-weight:400; }

/* ====== HERO ====== */
.hero {
  position:relative; padding:130px 0 120px; text-align:center; overflow:hidden;
  background:
    radial-gradient(55% 80% at 50% -5%, rgba(239,231,211,.10), transparent 60%),
    radial-gradient(45% 60% at 82% 8%, rgba(239,231,211,.07), transparent 60%),
    radial-gradient(40% 55% at 15% 20%, rgba(239,231,211,.05), transparent 60%);
}
/* ---- Фоновое видео ---- */
.hero-media {
  position:absolute; inset:0; z-index:0; overflow:hidden;
  /* медленный «ken-burns»: фон еле заметно дышит, добавляет жизни без отвлечения */
  animation: heroZoom 26s ease-in-out infinite alternate;
  transform-origin:center;
}
.hero-video {
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  min-width:100%; min-height:100%; width:auto; height:auto; object-fit:cover;
  /* объекты «зашифрованы»: сильное размытие + ч/б; чуть заметнее, чем было */
  filter: blur(12px) grayscale(.5) brightness(.7) contrast(1.05);
  opacity:.62;
}
/* тонировка под бренд (navy + кремовый блик) + затемнение к краям, чтобы текст читался */
.hero-overlay {
  position:absolute; inset:0;
  background:
    radial-gradient(60% 70% at 50% 45%, rgba(239,231,211,.10), transparent 70%),
    linear-gradient(180deg, rgba(34,44,57,.70) 0%, rgba(34,44,57,.48) 45%, rgba(26,34,45,.92) 100%);
  mix-blend-mode:normal;
}
.hero-inner { position:relative; z-index:2; display:flex; flex-direction:column; align-items:center; gap:24px; }
.hero-tag {
  text-transform:uppercase; letter-spacing:.26em; font-size:.76rem; color:var(--primary);
  border:1px solid var(--border-green); padding:9px 20px; border-radius:4px;
  background:var(--primary-soft);
}
.hero-logo { font-size: clamp(3rem, 10vw, 6rem); margin:.05em 0 .15em; }
.hero-subtitle {
  font-size: clamp(1.25rem, 3vw, 1.85rem); font-weight:300; max-width:760px;
}
.hero-subtitle b, .accent { color:var(--primary); font-weight:400; }
.hero-text { max-width:640px; color:var(--muted); font-size:1.05rem; }
.hero-actions { display:flex; gap:14px; flex-wrap:wrap; justify-content:center; margin-top:8px; }

/* ====== BUTTONS ====== */
.btn {
  font-family:inherit; font-size:.95rem; letter-spacing:.05em; font-weight:500;
  padding:15px 32px; border-radius:4px; cursor:pointer; display:inline-block;
  transition: transform .15s, box-shadow .25s, background .25s, color .2s, border-color .2s;
}
.btn-primary {
  background: var(--gradient); color:#1a222d; font-weight:400;
  box-shadow:0 10px 28px rgba(0,0,0,.35);
}
.btn-primary:hover { transform:translateY(-2px); box-shadow:0 14px 34px rgba(0,0,0,.45); }
.btn-ghost { border:1px solid var(--border-green); color:var(--primary); }
.btn-ghost:hover { background:var(--primary-soft); transform:translateY(-2px); }

/* ====== SECTIONS ====== */
.section { padding:96px 0; }
.section-alt { background: var(--surface); }
.section-head { text-align:center; max-width:720px; margin:0 auto 56px; }
.section-title {
  font-size: clamp(1.9rem, 4vw, 2.7rem); font-weight:400; letter-spacing:.04em;
  position:relative; display:inline-block; padding-bottom:16px;
}
.section-title::after {
  content:""; position:absolute; left:50%; transform:translateX(-50%); bottom:0;
  width:72px; height:1px; background:var(--primary); opacity:.55;
}
.section-lead { color:var(--muted); font-size:1.08rem; font-weight:300; margin-top:18px; }
.center { text-align:center; }

/* ====== STATS ====== */
.stats { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin:36px auto 0; max-width:900px; position:relative; z-index:2; }
/* ── «Hearthlit Material»: тёплая матовая плитка, в покое неподвижна,
   при наведении оседает в тёплый «очаговый» свет + волосок-подчёркивание. */
.stat {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 6px;
  padding: 34px 20px;
  text-align: center;
  position: relative;
  overflow: hidden;
  box-shadow:
    0 1px 2px rgba(0,0,0,.20),
    inset 0 0 50px -28px rgba(0,0,0,.32);
  transition:
    transform .55s var(--ease),
    border-color .55s var(--ease),
    background .55s var(--ease),
    box-shadow .6s var(--ease);
}
.section-alt .stat { background: var(--surface-2); }
.stat::before {
  content: ""; position: absolute; inset: 0; border-radius: inherit;
  background:
    radial-gradient(110% 95% at 50% 106%, rgba(239,231,211,.14), transparent 64%),
    radial-gradient(100% 80% at 50% 0%,   rgba(239,231,211,.10), transparent 66%);
  opacity: 0; transition: opacity .65s var(--ease); pointer-events: none; z-index: 0;
}
.stat::after {
  content: ""; position: absolute; left: 50%; bottom: 0; width: 0; height: 1px;
  background: linear-gradient(90deg, transparent, var(--border-green), transparent);
  transform: translateX(-50%); transition: width .6s var(--ease); pointer-events: none; z-index: 1;
}
.stat-num, .stat-label { position: relative; z-index: 2; }
.stat:hover {
  transform: translateY(-3px); border-color: var(--border-green);
  box-shadow:
    0 10px 30px -8px rgba(0,0,0,.45),
    0 18px 40px -28px rgba(120,80,30,.26),
    0 0 28px rgba(239,231,211,.06),
    inset 0 0 50px -28px rgba(0,0,0,.28);
}
.stat:hover::before { opacity: 1; }
.stat:hover::after  { width: 44%; }
.stat-num {
  font-size: 2.4rem; font-weight: 500; letter-spacing: .02em;
  background: var(--gradient);
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
  transition: filter .55s var(--ease);
}
.stat:hover .stat-num { filter: brightness(1.12) drop-shadow(0 0 12px rgba(239,231,211,.25)); }
.stat-label { color: var(--muted); font-size: .9rem; margin-top: 8px; }

/* ====== ABOUT (home) ====== */
.about-grid { display:grid; grid-template-columns:1fr 1fr; gap:38px; max-width:960px; margin:0 auto 18px; }
.about-grid p { color:var(--muted); font-size:1.05rem; }
.about-grid p:first-child { color:var(--text); }

/* ====== SERVICES / CARDS GRID ====== */
.cards { display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.cards.cols-2 { grid-template-columns:repeat(2,1fr); }
/* ── Карточки в духе Avenue 8 (наши цвета лого + Lora): минимал, тихая
   роскошь. Иконка — тонкий контур; при наведении кремовая линия
   прочерчивается слева направо снизу, карточка сдержанно приподнимается. */
.card {
  background: var(--surface); border: 1px solid var(--border); border-radius: 6px;
  padding: 36px 30px 32px; position: relative; overflow: hidden;
  transition: transform .55s var(--ease), border-color .55s var(--ease), background .55s var(--ease), box-shadow .55s var(--ease);
}
.section-alt .card { background: var(--surface-2); }
.card::after {
  content: ""; position: absolute; left: 0; bottom: 0; height: 2px; width: 100%;
  background: var(--primary); transform: scaleX(0); transform-origin: left;
  transition: transform .6s var(--ease); pointer-events: none;
}
.card-icon, .card h3, .card p { position: relative; z-index: 1; }
.card:hover { transform: translateY(-4px); border-color: var(--border-green); background: var(--surface-2); box-shadow: 0 20px 44px -22px rgba(0,0,0,.5); }
.section-alt .card:hover { background: #2f3a48; }
.card:hover::after { transform: scaleX(1); }
.card-icon {
  font-size: 1.6rem; width: 54px; height: 54px; border-radius: 6px;
  display: flex; align-items: center; justify-content: center; margin-bottom: 22px;
  background: transparent; color: var(--primary); border: 1px solid var(--border-green);
  transition: border-color .5s var(--ease), background .5s var(--ease), transform .5s var(--ease);
}
.card:hover .card-icon { border-color: var(--primary); background: var(--primary-soft); transform: translateY(-2px); }
.card h3 { font-size: 1.18rem; font-weight: 400; margin-bottom: 10px; letter-spacing: .01em; }
.card p  { color: var(--muted); font-size: .96rem; }

@media (prefers-reduced-motion: reduce) {
  .card, .stat, .card-icon, .card::after, .stat::after { transition: none; }
  .card:hover, .stat:hover, .card:hover .card-icon { transform: none; }
  .card:hover::after, .stat:hover::after { transform: scaleX(1); }
}

/* ====== ECOSYSTEM ====== */
.eco-wrap { max-width:880px; margin:0 auto; text-align:center; }
.eco-text { color:var(--muted); font-size:1.08rem; max-width:760px; margin:0 auto 44px; }
.eco-cols { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.eco-col {
  border:1px solid var(--border); border-radius:4px; padding:30px 18px; transition:.25s;
}
.eco-col.is-estate { border-color:var(--border-green); background:var(--primary-soft); }
.eco-col:hover { transform:translateY(-4px); border-color:var(--border-green); }
.eco-name { font-size:1.25rem; font-weight:400; letter-spacing:.04em; }
.eco-name .g { background:var(--gradient); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.eco-sub { color:var(--muted); font-size:.85rem; text-transform:uppercase; letter-spacing:.12em; margin-top:8px; }

/* ====== PARTNERS — ряд одинаковых карточек с логотипами ====== */
.logo-grid {
  display:grid; grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:28px; max-width:920px; margin:0 auto;
}
.logo-item {
  display:flex; align-items:center; justify-content:center;
  aspect-ratio:5 / 2;              /* широкий низкий прямоугольник, как бренд-блоки */
  padding:18px 26px;
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--r-lg);
  box-shadow:0 14px 34px -20px rgba(0,0,0,.7);
  transition:transform .4s var(--ease), border-color .3s var(--ease), background .3s var(--ease);
}
.logo-item img {
  max-width:100%; max-height:100%; width:auto; height:auto;
  object-fit:contain; display:block;
  transition:transform .4s var(--ease);
}
.logo-item:hover {
  transform:translateY(-6px);
  border-color:var(--border-green);
  background:var(--surface-2);
}
.logo-item:hover img { transform:scale(1.03); }
@media (max-width:720px) {
  .logo-grid { grid-template-columns:repeat(3, 1fr); gap:14px; }
}
@media (max-width:520px) {
  .logo-grid { grid-template-columns:1fr; max-width:320px; gap:16px; }
}

/* ====== PORTFOLIO ====== */
.carousel { position:relative; max-width:920px; margin:0 auto; }
.carousel-viewport { position:relative; overflow:hidden; border-radius:8px; border:1px solid var(--border-green); }
.carousel-track { display:flex; transition:transform .5s cubic-bezier(.4,0,.2,1); }
.slide { min-width:100%; }
.slide img { width:100%; height:500px; object-fit:cover; }
.slide-ph {
  height:500px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px;
  background: repeating-linear-gradient(45deg, var(--surface-2) 0 16px, var(--surface) 16px 32px);
  position:relative; color:var(--muted);
}
.ph-icon { font-size:3rem; opacity:.55; }
.ph-text { text-transform:uppercase; letter-spacing:.16em; font-size:.85rem; }
.ph-num {
  position:absolute; bottom:18px; right:26px; font-size:1.5rem; font-weight:500;
  background:var(--gradient); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}
.carousel-btn {
  position:absolute; top:50%; transform:translateY(-50%);
  width:50px; height:50px; border-radius:50%; cursor:pointer;
  background:rgba(20,22,26,.7); color:var(--text); border:1px solid var(--border-green);
  font-size:1.9rem; line-height:1; display:flex; align-items:center; justify-content:center;
  backdrop-filter:blur(6px); transition:.2s;
}
.carousel-btn:hover { background:var(--gradient); color:#1a222d; }
.carousel-btn.prev { left:14px; } .carousel-btn.next { right:14px; }
.carousel-dots { display:flex; gap:10px; justify-content:center; margin-top:26px; flex-wrap:wrap; }
.dot { width:9px; height:9px; border-radius:50%; background:var(--surface-2); border:none; cursor:pointer; padding:0; transition:.2s; }
.dot.active { background:var(--gradient); transform:scale(1.3); }

/* ====== CONTACT ====== */
.contact-inner { text-align:center; }
.phones { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-top:8px; }
.phone {
  font-size:1.15rem; letter-spacing:.04em; font-weight:500; color:var(--text);
  padding:13px 30px; border:1px solid var(--border-green); border-radius:4px; transition:.2s;
}
.phone:hover { border-color:var(--primary); color:var(--primary); }

/* ====== ABOUT PAGE ====== */
.page-hero {
  position:relative; padding:100px 0 70px; text-align:center; overflow:hidden;
  background: radial-gradient(60% 90% at 50% -10%, rgba(239,231,211,.10), transparent 60%);
}
.page-hero h1 { font-size:clamp(2.2rem,6vw,3.4rem); font-weight:400; margin:14px 0 12px; }
.page-hero .sub { color:var(--muted); font-size:1.15rem; font-weight:300; max-width:640px; margin:0 auto; }

.prose { max-width:820px; margin:0 auto; }
.prose h2 {
  font-size:clamp(1.5rem,3.5vw,2.1rem); font-weight:400; margin:0 0 18px;
  display:inline-block; padding-bottom:12px; position:relative;
}
.prose h2::after { content:""; position:absolute; left:0; bottom:0; width:56px; height:1px; background:var(--primary); opacity:.55; }
.prose p { color:var(--muted); font-size:1.06rem; margin-bottom:16px; }
.prose p strong { color:var(--text); }

/* шаги */
.steps { max-width:880px; margin:0 auto; display:flex; flex-direction:column; gap:18px; }
.step {
  display:flex; gap:22px; align-items:flex-start; background:var(--bg);
  border:1px solid var(--border); border-radius:4px; padding:24px 26px; transition:.25s;
}
.section-alt .step { background:var(--surface-2); }
.step:hover { border-color:var(--border-green); transform:translateX(4px); }
.step-num {
  flex:none; width:48px; height:48px; border-radius:6px; font-size:1.3rem; font-weight:500;
  display:flex; align-items:center; justify-content:center;
  background:var(--primary-soft); border:1px solid var(--border-green);
  color:var(--primary);
}
.step h3 { font-size:1.12rem; font-weight:400; margin-bottom:6px; }
.step p { color:var(--muted); font-size:.97rem; }

/* блок выноска */
.callout {
  max-width:820px; margin:0 auto; background:var(--primary-soft);
  border:1px solid var(--border-green); border-radius:4px; padding:34px 32px; text-align:center;
}
.callout h2 { color:var(--text); }
.callout p { color:var(--text); font-size:1.06rem; }

/* команда */
.team { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; max-width:960px; margin:0 auto; }
.member {
  background:var(--bg); border:1px solid var(--border); border-radius:4px; padding:26px 24px; transition:.25s;
}
.section-alt .member { background:var(--surface-2); }
.member:hover { border-color:var(--border-green); transform:translateY(-4px); }
/* одинокая 7-я карточка — по центру нижнего ряда (средняя колонка) */
.member--center { grid-column:2; }
/* на 2 колонки (621–920px) одинокая карточка центрируется на всю ширину ряда */
@media (max-width:920px) and (min-width:621px){
  .member--center { grid-column:1 / -1; justify-self:center; width:calc(50% - 10px); }
}
@media (max-width:620px){ .member--center { grid-column:auto; width:auto; } }
.member-name { font-size:1.15rem; font-weight:400; }
.member-name .g { background:var(--gradient); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.member p { color:var(--muted); font-size:.93rem; margin-top:8px; }

.cta-block { text-align:center; }
.back-link { display:inline-block; margin-top:30px; color:var(--primary); letter-spacing:.04em; font-size:.95rem; transition:.2s; }
.back-link:hover { opacity:.75; }

/* ====== FOOTER ====== */
.footer { background:var(--bg-2); border-top:1px solid var(--border); padding:50px 0; }
.footer-inner { display:flex; flex-direction:column; align-items:center; gap:18px; text-align:center; }
.footer-logo { font-size:1.5rem; }
.bina-link {
  display:inline-flex; align-items:center; gap:10px;
  color:var(--text); font-size:.95rem; letter-spacing:.03em;
  padding:11px 22px; border:1px solid var(--border-green); border-radius:4px;
  background:var(--primary-soft); transition:transform .25s ease, background .25s ease, color .2s ease, box-shadow .25s ease;
}
.bina-link .bina-pin { color:var(--primary); transition:color .2s ease; }
.bina-link:hover {
  background:var(--gradient); color:#1a222d; border-color:var(--gradient);
  transform:translateY(-2px); box-shadow:0 10px 26px rgba(0,0,0,.35);
}
.bina-link:hover .bina-pin { color:#1a222d; }
.socials { display:flex; gap:14px; }
.socials a {
  width:40px; height:40px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  color:var(--muted); border:1px solid var(--border); transition:.2s;
}
.socials a:hover { color:var(--primary); border-color:var(--primary); transform:translateY(-2px); }
.footer-contact {
  display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:12px;
  color:var(--muted); font-size:.95rem; letter-spacing:.02em;
}
.footer-contact a { color:var(--text); transition:color .2s; }
.footer-contact a:hover { color:var(--primary); }
.footer-sep { opacity:.5; }
.copyright { color:var(--muted); font-size:.82rem; opacity:.7; }

/* ====== REVEAL ====== */
.reveal { opacity:0; transform:translateY(30px); transition:opacity .9s var(--ease), transform .9s var(--ease); }
.reveal.in { opacity:1; transform:none; }

/* ====== ПРИЯТНЫЕ АНИМАЦИИ ====== */

/* каскадное появление hero */
.hero-inner .reveal:nth-child(1){ transition-delay:.05s; }
.hero-inner .reveal:nth-child(2){ transition-delay:.15s; }
.hero-inner .reveal:nth-child(3){ transition-delay:.25s; }
.hero-inner .reveal:nth-child(4){ transition-delay:.35s; }
.hero-inner .reveal:nth-child(5){ transition-delay:.45s; }

/* каскадное появление сеток (карточки, статистика, экосистема, команда, шаги) */
.stats .reveal:nth-child(2),.cards .reveal:nth-child(2),.eco-cols .reveal:nth-child(2),.team .reveal:nth-child(2),.steps .reveal:nth-child(2){ transition-delay:.09s; }
.stats .reveal:nth-child(3),.cards .reveal:nth-child(3),.eco-cols .reveal:nth-child(3),.team .reveal:nth-child(3),.steps .reveal:nth-child(3){ transition-delay:.18s; }
.stats .reveal:nth-child(4),.cards .reveal:nth-child(4),.team .reveal:nth-child(4),.steps .reveal:nth-child(4){ transition-delay:.27s; }
.team .reveal:nth-child(5),.steps .reveal:nth-child(5){ transition-delay:.36s; }
.team .reveal:nth-child(6),.steps .reveal:nth-child(6){ transition-delay:.45s; }

/* зум фото/заглушки портфолио при наведении */
.slide img { transition: transform .7s cubic-bezier(.2,.6,.2,1); }
.carousel-viewport:hover .slide img { transform: scale(1.04); }
.ph-icon { transition: transform .5s cubic-bezier(.34,1.4,.64,1); }
.carousel-viewport:hover .ph-icon { transform: scale(1.12) translateY(-4px); }

/* блик на главной кнопке */
.btn-primary { position:relative; overflow:hidden; }
.btn-primary::after {
  content:""; position:absolute; top:0; left:-130%; width:60%; height:100%;
  background:linear-gradient(110deg, transparent, rgba(255,255,255,.22), transparent);
  transform:skewX(-18deg); transition:left .6s ease; pointer-events:none;
}
.btn-primary:hover::after { left:140%; }

/* строка-подсказка «листай вниз» */
.scroll-cue {
  position:absolute; left:50%; bottom:22px; z-index:2;
  width:34px; height:34px; display:flex; align-items:center; justify-content:center;
  color:var(--primary); opacity:.7; transform:translateX(-50%);
  animation:cueFloat 2.2s ease-in-out infinite;
}
.scroll-cue:hover { opacity:1; }
@keyframes cueFloat {
  0%,100% { transform:translate(-50%,0); }
  50%     { transform:translate(-50%,9px); }
}

/* мягкое затухание контента при смене языка */
@keyframes contentFade { from { opacity:.45; } to { opacity:1; } }
body.fx-fade { animation:contentFade .4s ease; }

/* ====== RESPONSIVE ====== */
@media (max-width:920px) {
  .stats { grid-template-columns:repeat(3,1fr); }
  .cards { grid-template-columns:repeat(2,1fr); }
  .team { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:760px) {
  .site-header .logo { font-size:1.45rem; }
  .header-right { gap:8px; }
  .menu-label { display:none; }
  .lang-current, .lang-chev { display:none; }
  .lang-globe-btn { padding:7px; }
  .lang-globe { width:15px; height:15px; }
  .header-call { margin-left:6px; }
  .call-num { display:none; }                    /* телефон — иконка + попап с номером */
  .call-icon-btn { display:inline-flex; }
}
@media (max-width:620px) {
  .container { padding:0 18px; }
  .header-inner { height:66px; }
  .logo-img { height:36px; }
  .footer-logo-img { height:46px; }
  .hero { padding:96px 0 80px; }
  /* видео в hero показываем и на телефонах (по просьбе) — baku.mp4 ~3,3 МБ, приемлемо */
  .hero-tag { letter-spacing:.18em; font-size:.7rem; }
  .section { padding:60px 0; }
  .section-head { margin-bottom:38px; }
  .stats { grid-template-columns:1fr; gap:14px; margin-top:20px; }
  .stat { padding:22px 12px; }
  .stat-num { font-size:1.9rem; }
  .about-grid, .cards, .cards.cols-2, .eco-cols, .team { grid-template-columns:1fr; }
  .card { padding:28px 22px; }
  .slide img, .slide-ph { height:280px; }
  .carousel-btn { width:42px; height:42px; font-size:1.5rem; }
  .carousel-btn.prev { left:8px; } .carousel-btn.next { right:8px; }
  .step { gap:16px; padding:22px; }
  .btn { padding:14px 26px; }
  .phone { font-size:.95rem; }
  .footer-contact { flex-direction:column; gap:6px; text-align:center; }
  .footer-sep { display:none; }
  .menu-btn { min-height:44px; }
}
@media (max-width:400px) {
  .hero-logo { font-size:2.6rem; }
  .hero-actions { width:100%; }
  .hero-actions .btn { width:100%; }
  .stats { grid-template-columns:1fr; }
}

/* ====== НОВЫЕ АНИМАЦИИ / ПОЛИРОВКА ====== */

/* «ken-burns» фона hero */
@keyframes heroZoom {
  from { transform:scale(1); }
  to   { transform:scale(1.09); }
}

/* индикатор прогресса прокрутки страницы — тонкая кремовая линия сверху */
.scroll-progress {
  position:fixed; top:0; left:0; height:2px; width:0; z-index:100;
  background:linear-gradient(90deg, rgba(239,231,211,.55), var(--primary));
  box-shadow:0 0 10px rgba(239,231,211,.4);
  transition:width .1s linear; pointer-events:none;
}

/* прогресс автопрокрутки карусели — заполняется к моменту смены слайда */
.carousel-progress {
  height:3px; max-width:160px; margin:18px auto 0; width:100%;
  background:var(--surface-2); border-radius:3px; overflow:hidden;
}
.carousel-progress > span {
  display:block; height:100%; width:0; background:var(--gradient);
  transform-origin:left;
}

/* счётчик статистики: лёгкое проявление цифры */
.stat-num.counting { opacity:.92; }

/* плавный «подъём» reveal — чуть живее, с микромасштабом */
.reveal { will-change:opacity, transform; }

/* реакция кнопок-стрелок карусели на наведение */
.carousel-btn:hover { transform:translateY(-50%) scale(1.08); }
.carousel-btn:active { transform:translateY(-50%) scale(.96); }

/* экономия батареи / уважение к настройкам пользователя */
@media (prefers-reduced-motion: reduce) {
  .reveal { opacity:1; transform:none; transition:none; }
  .hero-video, .hero-media { display:none; }
  .hero-media { animation:none; }
  .scroll-cue { animation:none; }
  .btn-primary::after { display:none; }
  body.fx-fade { animation:none; }
  .scroll-progress { display:none; }
  .carousel-progress { display:none; }
  .card:hover .card-icon,
  .carousel-viewport:hover .slide img,
  .carousel-viewport:hover .ph-icon { transform:none; }
}

/* =================================================================
   ВОССТАНОВЛЕНО: партнёрские страницы, галерея, страница локации,
   видео-модалка. (Эти секции были удалены — возвращены обратно.)
   ================================================================= */

/* ====== PARTNER HERO (картинка/видео-фон) ====== */
.phero {
  position:relative; min-height:78vh; display:flex; align-items:center;
  overflow:hidden; text-align:center;
}
.phero-media { position:absolute; inset:0; z-index:0; }
.phero-video, .phero-img {
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  min-width:100%; min-height:100%; width:auto; height:auto; object-fit:cover;
}
.phero-overlay {
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(26,34,45,.55) 0%, rgba(26,34,45,.65) 55%, rgba(26,34,45,.95) 100%);
}
.phero-inner { position:relative; z-index:2; width:100%; display:flex; flex-direction:column; align-items:center; gap:16px; }
.phero-title { font-family:var(--font-display); font-weight:400; font-size:clamp(2.4rem,6vw,4.4rem); line-height:1.08; }
.phero-sub { color:var(--muted); font-size:1.05rem; letter-spacing:.02em; }

/* ====== KICKER ====== */
.kicker {
  display:inline-block; text-transform:uppercase; letter-spacing:.3em;
  font-size:.7rem; color:var(--primary); margin-bottom:14px;
}

/* ====== PARTNER DETAIL ====== */
.partner-row { display:grid; grid-template-columns:1.15fr 1fr; gap:54px; align-items:center; }
.partner--reverse .partner-row { grid-template-columns:1fr 1.15fr; }
.partner--reverse .partner-media { order:2; }
.partner-media { display:grid; gap:16px; }
.partner-media figure {
  margin:0; overflow:hidden; border-radius:var(--r);
  border:1px solid var(--border); background:var(--surface);
}
.partner-hero-img { display:flex; }
.partner-hero-img img {
  width:100%; height:100%; min-height:340px; object-fit:cover; display:block;
  transition:transform .9s cubic-bezier(.2,.6,.2,1);
}
.partner-hero-tall img { min-height:470px; }
.partner-hero-img:hover img { transform:scale(1.04); }
.partner-thumbs { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.partner-thumbs figure { height:100%; }
.partner-thumbs img {
  width:100%; height:100%; object-fit:cover; display:block; min-height:150px;
  transition:transform .9s cubic-bezier(.2,.6,.2,1);
}
.partner-thumbs figure:hover img { transform:scale(1.05); }

.partner-info .section-title { display:inline-block; padding-bottom:18px; }
.partner-info .section-title::after { left:0; transform:none; }
.partner-lead { color:var(--muted); font-size:1.08rem; font-style:italic; line-height:1.75; margin:6px 0 26px; }

/* факты */
.partner-facts { display:grid; grid-template-columns:1fr 1fr; gap:18px 26px; margin-bottom:30px; }
.fact { display:flex; flex-direction:column; gap:4px; padding-bottom:14px; border-bottom:1px solid var(--border); }
.fact-label { font-size:.66rem; letter-spacing:.2em; text-transform:uppercase; color:var(--muted); }
.fact-val { font-size:1rem; color:var(--text); }

/* поблизости */
.proximity { margin-top:6px; }
.prox-title { display:block; font-size:.66rem; letter-spacing:.24em; text-transform:uppercase; color:var(--primary); margin-bottom:14px; }
.prox-list { display:grid; grid-template-columns:1fr 1fr; gap:12px 22px; }
.prox-item { display:flex; flex-direction:column; gap:2px; padding-left:14px; border-left:2px solid var(--border-green); }
.prox-name { font-size:.96rem; color:var(--text); }
.prox-cat { font-size:.66rem; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); }

/* ====== CATALOG CARD ====== */
.catalog-row { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:40px; }
.catalog-card {
  display:flex; align-items:stretch; overflow:hidden; margin-top:40px;
  border:1px solid var(--border); border-radius:var(--r-lg); background:var(--surface);
  transition:transform .35s var(--ease), border-color .3s var(--ease), box-shadow .4s var(--ease);
}
.catalog-row .catalog-card { margin-top:0; }
.section-alt .catalog-card { background:var(--bg); }
.catalog-card:hover { transform:translateY(-4px); border-color:var(--border-green); box-shadow:0 22px 50px rgba(0,0,0,.34); }
.catalog-cover { position:relative; flex:none; width:230px; overflow:hidden; }
.catalog-cover img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .8s cubic-bezier(.2,.6,.2,1); }
.catalog-card:hover .catalog-cover img { transform:scale(1.06); }
.catalog-badge {
  position:absolute; top:12px; left:12px; font-size:.62rem; letter-spacing:.18em; font-weight:700;
  color:#161d26; background:var(--primary); padding:5px 10px; border-radius:3px;
}
.catalog-body { display:flex; flex-direction:column; justify-content:center; gap:8px; padding:26px 30px; }
.catalog-kicker { text-transform:uppercase; letter-spacing:.2em; font-size:.66rem; color:var(--muted); }
.catalog-title { font-family:var(--font-display); font-size:1.4rem; color:var(--text); line-height:1.2; }
.catalog-sub { color:var(--muted); font-size:.95rem; font-style:italic; }
.catalog-open { margin-top:8px; color:var(--primary); font-size:.78rem; letter-spacing:.14em; text-transform:uppercase; transition:letter-spacing .3s var(--ease); }
.catalog-card:hover .catalog-open { letter-spacing:.2em; }

/* ====== FEATURED LOCATION (большой блок с фоном) ====== */
.feature-loc { position:relative; padding:120px 0; overflow:hidden; }
.feature-bg {
  position:absolute; inset:0; z-index:0;
  background-image:var(--feat-bg); background-size:cover; background-position:center;
  transform:scale(1.05); transition:transform 1.2s var(--ease);
}
.feature-loc::after {
  content:""; position:absolute; inset:0; z-index:1;
  background:linear-gradient(90deg, rgba(26,34,45,.92) 0%, rgba(26,34,45,.7) 45%, rgba(26,34,45,.4) 100%);
}
.feature-loc:hover .feature-bg { transform:scale(1.1); }
.feature-inner { position:relative; z-index:2; display:flex; align-items:center; justify-content:space-between; gap:40px; flex-wrap:wrap; }
.feature-text { max-width:560px; }
.feature-name { font-family:var(--font-display); font-weight:400; font-size:clamp(1.8rem,4vw,2.8rem); line-height:1.15; margin-bottom:14px; }
.feature-desc { color:var(--text); opacity:.9; font-style:italic; line-height:1.7; }
.feature-badge {
  flex:none; display:flex; flex-direction:column; align-items:center; justify-content:center;
  width:128px; height:128px; border-radius:50%; border:1px solid var(--border-green);
  background:rgba(26,34,45,.5); backdrop-filter:blur(6px);
}
.fb-num { font-family:var(--font-display); font-size:2.6rem; line-height:1; color:var(--primary); }
.fb-min { font-size:.7rem; letter-spacing:.22em; text-transform:uppercase; color:var(--muted); margin-top:4px; }

/* ====== PARTNER GALLERY (карусель-витрина) ====== */
.pgallery { background:var(--bg-2); padding:80px 0; overflow:hidden; }
.pgallery-head { text-align:center; margin-bottom:42px; }
.pgallery-phrase {
  display:block; font-family:var(--font-display); font-style:italic;
  font-size:clamp(1.6rem,4vw,2.8rem); color:var(--primary); opacity:.88;
  letter-spacing:.02em; line-height:1.3; margin-bottom:8px;
}
.pgallery-sub { font-size:.78rem; letter-spacing:.28em; text-transform:uppercase; color:var(--muted); }
.pgallery-viewport { position:relative; }
.pgallery-track {
  display:flex; gap:20px; overflow-x:auto; scroll-snap-type:x mandatory;
  padding:0 26px 24px; -webkit-overflow-scrolling:touch; scrollbar-width:none;
}
.pgallery-track::-webkit-scrollbar { display:none; }
.pgallery-slide {
  flex:0 0 42%; min-width:300px; scroll-snap-align:center;
  position:relative; border-radius:var(--r-lg); overflow:hidden;
  border:1px solid var(--border); aspect-ratio:3/4;
  transition:transform .5s var(--ease), box-shadow .5s var(--ease);
}
.pgallery-slide:hover { transform:translateY(-6px); box-shadow:0 24px 60px rgba(0,0,0,.45); }
.pgallery-slide img { width:100%; height:100%; object-fit:cover; display:block; transition:transform 1s cubic-bezier(.2,.6,.2,1); }
.pgallery-slide:hover img { transform:scale(1.06); }
.pgallery-overlay {
  position:absolute; inset:0; display:flex; align-items:flex-end; justify-content:center;
  background:linear-gradient(0deg, rgba(20,26,34,.7) 0%, transparent 50%);
  padding:28px 18px; opacity:0; transition:opacity .4s var(--ease);
}
.pgallery-slide:hover .pgallery-overlay { opacity:1; }
.pgallery-label { font-size:.72rem; letter-spacing:.22em; text-transform:uppercase; color:var(--primary); }
.pgallery-foot { display:flex; flex-wrap:wrap; justify-content:center; gap:16px; margin-top:32px; }
.pgallery-bina {
  display:inline-flex; align-items:center; justify-content:center; gap:11px;
  min-width:280px; min-height:52px; margin:0 !important;
  color:var(--text); font-size:.82rem; letter-spacing:.14em; text-transform:uppercase;
  padding:14px 30px; border:1px solid var(--border-green); border-radius:4px;
  background:transparent; transition:transform .3s var(--ease), background .3s var(--ease), color .25s var(--ease), box-shadow .3s var(--ease);
}
@media(max-width:620px){ .pgallery-bina { min-width:min(280px,86vw); } }
.pgallery-bina:hover { background:var(--primary); color:#161d26; border-color:var(--primary); transform:translateY(-2px); box-shadow:0 12px 30px rgba(0,0,0,.35); }
.pgallery-bina svg { transition:color .25s var(--ease); }
.pgallery-bina:hover svg { color:#161d26; }
.pgallery-arr {
  position:absolute; top:50%; z-index:3; width:52px; height:52px;
  border-radius:50%; border:1px solid var(--border-green); background:rgba(20,26,34,.75);
  color:var(--primary); display:flex; align-items:center; justify-content:center;
  cursor:pointer; backdrop-filter:blur(8px); transition:.3s var(--ease); transform:translateY(-50%);
  font-size:1.6rem; line-height:1;
}
.pgallery-arr:hover { background:var(--primary); color:#161d26; border-color:var(--primary); transform:translateY(-50%) scale(1.08); }
.pgallery-arr--prev { left:20px; }
.pgallery-arr--next { right:20px; }
@media(max-width:700px){
  .pgallery-slide { flex:0 0 78%; min-width:260px; }
  .pgallery { padding:54px 0; }
  .pgallery-arr { width:40px; height:40px; }
  .pgallery-arr--prev { left:8px; }
  .pgallery-arr--next { right:8px; }
}

/* ====== LOCATION PAGE (отдельная страница локации) ====== */
.loc-page { background:var(--bg); padding:0; }
.loc-intro { padding:120px 0 60px; text-align:center; }
.loc-intro .kicker { margin-bottom:18px; }
.loc-intro h1 {
  font-family:var(--font-display); font-weight:400;
  font-size:clamp(2rem,5vw,3.6rem); line-height:1.15; max-width:820px; margin:0 auto;
}
.loc-intro h1 em { font-style:italic; color:var(--primary); }
.loc-intro p { color:var(--muted); margin-top:18px; font-style:italic; max-width:560px; margin-left:auto; margin-right:auto; }
.loc-list { max-width:1080px; margin:0 auto; padding:40px 24px 80px; position:relative; }
.loc-list::before {
  content:""; position:absolute; top:0; bottom:0; left:50%;
  width:1px; background:linear-gradient(180deg, transparent, var(--border-green) 12%, var(--border-green) 88%, transparent);
  transform:translateX(-.5px);
}
.loc-row { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; padding:60px 0; position:relative; }
.loc-row::before {
  content:""; position:absolute; top:50%; left:50%;
  width:14px; height:14px; border-radius:50%;
  background:var(--bg); border:2px solid var(--primary);
  transform:translate(-50%,-50%); z-index:3; box-shadow:0 0 0 6px var(--bg);
  transition:width .4s var(--ease), height .4s var(--ease), background .4s var(--ease), box-shadow .4s var(--ease);
}
/* пульсирующее кольцо вокруг шарика */
.loc-row::after {
  content:""; position:absolute; top:50%; left:50%;
  width:14px; height:14px; border-radius:50%;
  border:1px solid var(--primary); opacity:0;
  transform:translate(-50%,-50%); z-index:2;
  animation:locPulse 2.6s var(--ease) infinite;
}
.loc-row:nth-child(2)::after { animation-delay:.6s; }
.loc-row:nth-child(3)::after { animation-delay:1.2s; }
@keyframes locPulse {
  0%   { width:14px; height:14px; opacity:.7; }
  70%  { width:54px; height:54px; opacity:0; }
  100% { width:54px; height:54px; opacity:0; }
}
/* наведение на ряд — шарик «загорается» */
.loc-row:hover::before {
  width:22px; height:22px; background:var(--primary);
  box-shadow:0 0 0 6px var(--bg), 0 0 24px 4px rgba(239,231,211,.5);
}
.loc-fig { position:relative; border-radius:var(--r-lg); overflow:hidden; border:1px solid var(--border); aspect-ratio:4/3; }
.loc-fig img { width:100%; height:100%; object-fit:cover; display:block; transition:transform 1.2s cubic-bezier(.2,.6,.2,1); }
.loc-row:hover .loc-fig img { transform:scale(1.04); }
.loc-text { padding:0 18px; }
.loc-row:nth-child(even) .loc-fig { order:2; }
.loc-row:nth-child(even) .loc-text { order:1; text-align:right; }
.loc-num {
  font-family:var(--font-display); font-style:italic; font-weight:400;
  font-size:clamp(4rem,9vw,7.2rem); line-height:1; color:var(--primary);
  display:flex; align-items:baseline; gap:14px; margin-bottom:14px;
}
.loc-row:nth-child(even) .loc-num { justify-content:flex-end; }
.loc-num-unit { font-size:.78rem; letter-spacing:.32em; text-transform:uppercase; color:var(--muted); font-family:var(--font); font-style:normal; }
.loc-name { font-family:var(--font-display); font-size:1.6rem; line-height:1.25; color:var(--text); margin-bottom:8px; }
.loc-cat { font-size:.7rem; letter-spacing:.28em; text-transform:uppercase; color:var(--primary); margin-bottom:14px; }
.loc-desc { color:var(--muted); font-style:italic; line-height:1.75; max-width:440px; }
.loc-row:nth-child(even) .loc-desc { margin-left:auto; }
.loc-bottom { text-align:center; padding:40px 0 90px; }
@media(max-width:760px){
  .loc-list::before { left:18px; }
  .loc-row { grid-template-columns:1fr; gap:20px; padding:36px 0 36px 36px; }
  .loc-row::before { left:18px; }
  .loc-row:nth-child(even) .loc-fig { order:0; }
  .loc-row:nth-child(even) .loc-text { order:0; text-align:left; }
  .loc-row:nth-child(even) .loc-num { justify-content:flex-start; }
  .loc-text { padding:0; }
  .loc-intro { padding:90px 0 40px; }
}

/* ====== RESPONSIVE — партнёрские блоки ====== */
@media(max-width:860px){
  .partner-row { grid-template-columns:1fr; gap:32px; }
  .partner--reverse .partner-media { order:0; }
  .catalog-row { grid-template-columns:1fr; }
  .catalog-card { flex-direction:column; }
  .catalog-cover { width:100%; height:200px; }
  .feature-inner { flex-direction:column; align-items:flex-start; }
}
@media(max-width:560px){
  .partner-facts, .prox-list { grid-template-columns:1fr; }
  .phero { min-height:64vh; }
}


/* =================================================================
   ВОССТАНОВЛЕНО: меню (бургер + боковой сайдбар) и центр-логотип.
   ================================================================= */

/* ---- кнопка-бургер ---- */
.menu-btn {
  display:inline-flex; align-items:center; gap:11px;
  background:none; border:none; cursor:pointer; padding:6px 4px;
  color:var(--text); font-family:var(--font-display);
}
.menu-icon { display:inline-flex; flex-direction:column; gap:5px; width:22px; }
.menu-icon span { display:block; height:2px; width:100%; background:var(--text); border-radius:2px; transition:.3s var(--ease); }
.menu-btn:hover .menu-icon span { background:var(--primary); }
.menu-btn[aria-expanded="true"] .menu-icon span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.menu-btn[aria-expanded="true"] .menu-icon span:nth-child(2){ opacity:0; }
.menu-btn[aria-expanded="true"] .menu-icon span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
.menu-label { font-size:.8rem; letter-spacing:.18em; text-transform:uppercase; color:var(--muted); transition:color .2s; }
.menu-btn:hover .menu-label { color:var(--text); }

/* ---- логотип по центру ---- */
.logo-center { display:inline-flex; align-items:center; justify-content:center; }

/* ---- затемнение под сайдбаром ---- */
.sidebar-overlay {
  position:fixed; inset:0; z-index:80;
  background:rgba(10,14,18,.62); backdrop-filter:blur(3px);
  opacity:0; transition:opacity .35s var(--ease);
}
.sidebar-overlay.show { opacity:1; }

/* ---- боковая панель ---- */
.sidebar {
  position:fixed; top:0; left:0; z-index:90;
  width:min(440px,90vw); height:100%;
  background:var(--bg-2); border-right:1px solid var(--border-green);
  display:flex; flex-direction:column;
  transform:translateX(-100%); transition:transform .4s var(--ease);
  box-shadow:0 0 60px rgba(0,0,0,.5);
  overflow-y:auto;
}
.sidebar.open { transform:translateX(0); }

.sidebar-head { display:flex; align-items:center; justify-content:space-between; padding:22px 26px; border-bottom:1px solid var(--border); }
.sidebar-logo { height:42px; width:auto; }
.sidebar-close {
  background:none; border:none; cursor:pointer; color:var(--muted);
  font-size:2rem; line-height:1; padding:0 6px; transition:color .2s, transform .3s var(--ease);
}
.sidebar-close:hover { color:var(--primary); transform:rotate(90deg); }

.sidebar-nav { display:flex; flex-direction:column; padding:18px 0; flex:1; }
.sidebar-nav > a, .sidebar-parent {
  display:flex; align-items:center; justify-content:space-between;
  padding:20px 34px; color:var(--text); font-family:var(--font-display);
  font-size:1.35rem; letter-spacing:.02em; transition:background .2s, color .2s; cursor:pointer;
  background:none; border:none; width:100%; text-align:left;
}
.sidebar-nav > a:hover, .sidebar-parent:hover { background:var(--surface); color:var(--primary); }

/* ==== Анимация меню: пункты выезжают СЛЕВА по очереди + линия при наведении ==== */
.sidebar-nav > a, .sidebar-parent { position:relative; }
/* стартовое состояние — сдвинуты влево и прозрачны */
.sidebar-nav > a,
.sidebar-nav > .sidebar-group {
  opacity:0; transform:translateX(-52px);
  transition:opacity .8s var(--ease), transform .9s var(--ease);
}
/* меню открыто — встают на место друг за другом, с заметными паузами */
.sidebar.open .sidebar-nav > a,
.sidebar.open .sidebar-nav > .sidebar-group { opacity:1; transform:none; }
.sidebar.open .sidebar-nav > *:nth-child(1) { transition-delay:.18s; }
.sidebar.open .sidebar-nav > *:nth-child(2) { transition-delay:.34s; }
.sidebar.open .sidebar-nav > *:nth-child(3) { transition-delay:.50s; }
.sidebar.open .sidebar-nav > *:nth-child(4) { transition-delay:.66s; }
.sidebar.open .sidebar-nav > *:nth-child(5) { transition-delay:.82s; }
/* ховер: вместо плашки — тонкая кремовая линия слева направо */
.sidebar-nav > a:hover, .sidebar-parent:hover { background:none; }
.sidebar-nav > a::after, .sidebar-parent::after {
  content:''; position:absolute; left:34px; bottom:13px; height:1px;
  width:calc(100% - 68px); background:var(--primary); opacity:.75;
  transform:scaleX(0); transform-origin:left;
  transition:transform .4s var(--ease);
}
.sidebar-nav > a:hover::after, .sidebar-parent:hover::after { transform:scaleX(1); }
@media (prefers-reduced-motion: reduce) {
  .sidebar-nav > a, .sidebar-nav > .sidebar-group { opacity:1; transform:none; transition:none; }
  .sidebar-nav > a::after, .sidebar-parent::after { transition:none; }
}

/* раскрывающаяся группа «Партнёры» */
.sidebar-group { display:flex; flex-direction:column; }
.sidebar-parent .chev { transition:transform .3s var(--ease); flex:none; }
.sidebar-group.open .sidebar-parent .chev { transform:rotate(180deg); }
.sidebar-sub { max-height:0; overflow:hidden; transition:max-height .4s var(--ease); }
.sidebar-group.open .sidebar-sub { max-height:320px; }
.sidebar-sub-inner { display:flex; flex-direction:column; padding:4px 0 10px; }
.sidebar-sub-inner a {
  padding:11px 28px 11px 40px; color:var(--muted); font-size:.96rem;
  transition:color .2s, background .2s;
}
.sidebar-sub-inner a:hover { color:var(--primary); background:var(--surface); }
.sidebar-sub-inner a[aria-current="page"] { color:var(--primary); }

/* ==== Соцсети внизу меню — кружочки ==== */
.sidebar-social {
  margin-top:auto; display:flex; gap:14px;
  padding:22px 34px 34px; border-top:1px solid var(--border);
  opacity:0; transform:translateX(-52px);
  transition:opacity .8s var(--ease), transform .9s var(--ease);
}
.sidebar.open .sidebar-social { opacity:1; transform:none; transition-delay:.98s; }
.sidebar-social a {
  width:46px; height:46px; border-radius:50%;
  display:grid; place-items:center;
  border:1px solid var(--border-green); color:var(--text);
  transition:color .25s var(--ease), background .25s var(--ease), border-color .25s var(--ease), transform .25s var(--ease);
}
.sidebar-social a:hover {
  color:#1a222d; background:var(--primary); border-color:var(--primary);
  transform:translateY(-3px);
}
@media (prefers-reduced-motion: reduce) {
  .sidebar-social { opacity:1; transform:none; transition:none; }
}

.sidebar-foot { padding:22px 28px; border-top:1px solid var(--border); display:flex; flex-direction:column; gap:6px; }
.sidebar-foot-label { font-size:.66rem; letter-spacing:.24em; text-transform:uppercase; color:var(--muted); }
.sidebar-phone { font-family:var(--font-display); font-size:1.2rem; color:var(--primary); }

/* =================================================================
   ПАРТНЁРСКИЕ СТРАНИЦЫ: характеристики-«scroll-круг» + презентации-чипы
   ================================================================= */

/* ===== ХАРАКТЕРИСТИКИ — scroll-круг (sticky: листаешь — характеристики меняются) ===== */
.facts-circle { position:relative; height:calc((var(--steps,4) + 1) * 85vh); background:var(--bg); }
.fc-stage { position:sticky; top:0; height:100vh; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:36px; overflow:hidden; }
.fc-ring { position:relative; width:min(74vw,64vh,460px); aspect-ratio:1; display:grid; place-items:center; }
.fc-ring svg { position:absolute; inset:0; width:100%; height:100%; transform:rotate(-90deg); overflow:visible; }
.fc-track { fill:none; stroke:var(--border-green); stroke-width:.8; opacity:.55; }
.fc-arc { fill:none; stroke:var(--primary); stroke-width:1.6; stroke-linecap:round; stroke-dasharray:704; stroke-dashoffset:704; transition:stroke-dashoffset .7s var(--ease); }
.fc-steps { position:relative; display:grid; place-items:center; text-align:center; width:76%; }
.fc-step { grid-area:1 / 1; opacity:0; transform:translateY(16px); transition:opacity .45s var(--ease), transform .5s var(--ease); pointer-events:none; }
.fc-step.is-active { opacity:1; transform:none; }
.fc-label { display:block; text-transform:uppercase; letter-spacing:.26em; font-size:.72rem; color:var(--muted); margin-bottom:16px; }
.fc-val { display:block; font-family:var(--font-display); font-weight:400; font-size:clamp(1.5rem,3.6vw,2.4rem); line-height:1.25; color:var(--primary); overflow-wrap:break-word; max-width:100%; }
.fc-dots { list-style:none; display:flex; gap:11px; padding:0; margin:0; }
.fc-dots li { width:8px; height:8px; border-radius:50%; background:var(--surface-2); transition:.3s var(--ease); }
.fc-dots li.is-active { background:var(--primary); transform:scale(1.4); }
@media (prefers-reduced-motion: reduce){
  .facts-circle { height:auto; }
  .fc-stage { position:static; height:auto; padding:12vh 0; gap:0; }
  .fc-dots { display:none; }
  .fc-arc { stroke-dashoffset:200; transition:none; }
  .fc-step { grid-area:auto; position:static; opacity:1; transform:none; margin:1.3em 0; }
}
@media (max-width:560px){ .fc-ring { width:84vw; } }

/* ===== ПРЕЗЕНТАЦИИ — компактные чипы (иконка PDF + название) ===== */
.pres-chips { display:flex; flex-wrap:wrap; gap:16px; justify-content:center; margin-top:44px; }
.pres-chip { display:inline-flex; align-items:center; gap:14px; padding:9px 24px 9px 9px; border:1px solid var(--border); border-radius:50px; background:var(--surface); transition:transform .3s var(--ease), border-color .3s var(--ease), background .3s var(--ease); }
.pres-chip:hover { transform:translateY(-2px); border-color:var(--border-green); background:var(--surface-2); }
.pres-pdf { width:46px; height:46px; border-radius:50%; border:1px solid var(--border-green); display:flex; align-items:center; justify-content:center; font-size:.64rem; letter-spacing:.06em; color:var(--primary); flex:none; }
.pres-chip-name { font-size:.98rem; color:var(--text); letter-spacing:.02em; }
.footer .pres-chips { margin-top:0; margin-bottom:6px; }

/* фон под кругом характеристик (как Sea Breeze: картинка + затемнение) */
.fc-bg { position:absolute; inset:0; z-index:0; background:var(--fc-img) center/cover no-repeat; }
.fc-shade { position:absolute; inset:0; z-index:1; background:linear-gradient(180deg, rgba(15,19,26,.58), rgba(15,19,26,.74)); }
.fc-ring, .fc-dots { position:relative; z-index:2; }

/* =================================================================
   ПАРТНЁР: статистика из презентации / фразы на фоне фото / планы этажей
   ================================================================= */

/* статистика — круги-медальоны на фоне фото */
.stat-band { position:relative; overflow:hidden; }
.stat-band::before { content:""; position:absolute; inset:0; background:var(--sb-img) center/cover no-repeat; transform:scale(1.05); }
.stat-band-shade { position:absolute; inset:0; background:linear-gradient(180deg, rgba(16,22,30,.8), rgba(16,22,30,.9)); }
.stat-band-inner { position:relative; z-index:2; }
.stat-band .section-head { margin-bottom:40px; }
.stat-circles { display:grid; grid-template-columns:repeat(4,1fr); gap:26px; }
.stat-circle { display:flex; flex-direction:column; align-items:center; text-align:center; }
/* ── форма «дуга-прогресс»: число в центре, тонкая кремовая дуга прочерчивается вокруг
   при появлении секции. SVG-кольцо вставляется скриптом (initArcDials). ── */
.sc-dial { width:clamp(128px,15vw,178px); aspect-ratio:1; display:flex; align-items:center; justify-content:center; position:relative; transition:transform .5s var(--ease); }
.sc-ring { position:absolute; inset:0; width:100%; height:100%; transform:rotate(-90deg); overflow:visible; }
.sc-ring-track { fill:none; stroke:var(--border); stroke-width:1.3; }
.sc-ring-arc { fill:none; stroke:var(--primary); stroke-width:2; stroke-linecap:round; stroke-dasharray:var(--circ,283); stroke-dashoffset:var(--circ,283); transition:stroke-dashoffset 1.5s var(--ease); }
.stat-circle.in .sc-ring-arc { stroke-dashoffset:var(--arc-off,74); }
.stat-circle:hover .sc-dial { transform:translateY(-5px); }
.stat-circle:hover .sc-ring-arc { filter:drop-shadow(0 0 9px rgba(239,231,211,.45)); }
.sc-dial .stat-num { position:relative; z-index:2; font-size:clamp(1.8rem,3vw,2.6rem); }
.sc-label { margin-top:18px; color:var(--text); opacity:.82; font-size:.9rem; letter-spacing:.02em; max-width:17ch; }
@media(max-width:640px){ .stat-circles { grid-template-columns:repeat(2,1fr); gap:30px 18px; } }

/* фразы — «фотоальбом»: умеренное фото + текст рядом, чередование сторон */
.pq2 .pq2-row { display:grid; grid-template-columns:1fr 1fr; gap:clamp(24px,5vw,58px); align-items:center; }
.pq2--rev .pq2-media { order:2; }
.pq2-media { margin:0; overflow:hidden; border-radius:var(--r-lg); border:1px solid var(--border); aspect-ratio:4/3; }
.pq2-media img { width:100%; height:100%; object-fit:cover; display:block; transition:transform 1s var(--ease); }
.pq2:hover .pq2-media img { transform:scale(1.05); }
.pq2-kicker { display:block; text-transform:uppercase; letter-spacing:.3em; font-size:.7rem; color:var(--primary); margin-bottom:16px; }
.pq2-title { font-family:var(--font-display); font-weight:400; font-size:clamp(1.6rem,3.4vw,2.6rem); line-height:1.16; color:var(--text); margin:0; }
.pq2-text-p { color:var(--muted); font-size:1.05rem; line-height:1.7; margin-top:18px; }
@media(max-width:760px){ .pq2 .pq2-row { grid-template-columns:1fr; } .pq2--rev .pq2-media { order:0; } }

/* планы этажей — галерея + лайтбокс */
.plans-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.plans-grid--3 { grid-template-columns:repeat(3,1fr); }
.plans-grid--2 { grid-template-columns:repeat(2,1fr); }

/* Планы-«паспарту»: чертёж показан ЦЕЛИКОМ на тёплом «бумажном» листе, как
   печатный спецлист. Не обрезаем как фотку — от этого раньше выглядело дёшево.
   Клик открывает лайтбокс (значок-лупа появляется на наведении). */
.plan-card {
  position:relative; display:flex; flex-direction:column; padding:0;
  border:1px solid rgba(240,232,212,.14); border-radius:var(--r-lg); overflow:hidden;
  background:#f6f1e7; cursor:zoom-in; text-align:left; font:inherit;
  box-shadow:0 1px 2px rgba(0,0,0,.28);
  transition:transform .4s var(--ease), border-color .4s var(--ease), box-shadow .4s var(--ease);
}
.plan-card:hover { transform:translateY(-4px); border-color:var(--border-green); box-shadow:0 26px 54px -26px rgba(0,0,0,.7); }
.plan-card img {
  width:100%; height:230px; object-fit:contain; object-position:center;
  display:block; background:#f6f1e7; padding:18px;
  transition:transform .5s var(--ease);
}
.plan-card:hover img { transform:scale(1.02); }
.plan-card::after {
  content:""; position:absolute; top:12px; right:12px; width:32px; height:32px; border-radius:50%;
  background:rgba(34,44,57,.82) url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23efe7d3'%20stroke-width='2'%20stroke-linecap='round'%3E%3Ccircle%20cx='11'%20cy='11'%20r='7'/%3E%3Cpath%20d='m21%2021-4.35-4.35'/%3E%3C/svg%3E") center/15px no-repeat;
  opacity:0; transform:scale(.85); transition:opacity .3s var(--ease), transform .3s var(--ease); pointer-events:none;
}
.plan-card:hover::after { opacity:1; transform:scale(1); }
.plan-cap {
  display:block; padding:13px 16px 15px; margin-top:auto;
  background:#ece5d7; border-top:1px solid rgba(34,44,57,.10);
  font-family:var(--font-display); font-size:1.02rem; color:#222c39;
}
.plan-cap small { display:block; color:#5b6675; font-size:.8rem; margin-top:3px; letter-spacing:.03em; }
@media(max-width:900px){ .plans-grid, .plans-grid--3, .plans-grid--2 { grid-template-columns:repeat(2,1fr); } }
@media(max-width:520px){ .plans-grid, .plans-grid--3, .plans-grid--2 { grid-template-columns:1fr; } .plan-card img { height:300px; } }

.plan-lightbox { position:fixed; inset:0; z-index:9999; display:none; align-items:center; justify-content:center; background:rgba(8,11,15,.93); backdrop-filter:blur(4px); padding:20px; }
.plan-lightbox.open { display:flex; }
.plan-lightbox img { max-width:96vw; max-height:92vh; object-fit:contain; border-radius:6px; box-shadow:0 30px 80px rgba(0,0,0,.6); background:#fff; }
.plan-lightbox-close { position:absolute; top:16px; right:22px; width:44px; height:44px; border-radius:50%; border:1px solid var(--border-green); background:rgba(20,26,34,.72); color:var(--primary); font-size:1.7rem; line-height:1; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:transform .3s var(--ease); }
.plan-lightbox-close:hover { transform:rotate(90deg); }

/* =================================================================
   НОВЫЙ СЛОЙ: киноэффекты (маски/параллакс/прочерк) + люкс фото-блоки
   + компоненты данных из презентаций (удобства / характеристики).
   Цвета — только из палитры логотипа. Всё уважает reduced-motion.
   ================================================================= */

/* ---- параллакс фоновых слоёв (реальные элементы, двигает скрипт через --px) ---- */
.px { will-change: transform; }

/* ---- прочерк подчёркивания заголовка секции при появлении ---- */
.section-title.reveal::after { transform: translateX(-50%) scaleX(0); transform-origin: center; transition: transform .85s var(--ease) .15s; }
.section-title.reveal.in::after { transform: translateX(-50%) scaleX(1); }

/* ---- люкс фото-блок .pq2: «журнальный» разворот (заменяет вид «конструктор») ---- */
.pq2 { counter-increment: pq; }
/* матовая рамка-оффсет позади фото — «музейный» кадр вместо простого прямоугольника */
.pq2-media { border: none; box-shadow: 0 0 0 1px var(--border), 18px 18px 0 -1px rgba(239,231,211,.10); }
.pq2--rev .pq2-media { box-shadow: 0 0 0 1px var(--border), -18px 18px 0 -1px rgba(239,231,211,.10); }
.pq2-text { position: relative; }
.pq2-text::before {
  content: counter(pq, decimal-leading-zero);
  position: absolute; top: -.62em; right: 0;
  font-family: var(--font-display); font-style: italic; font-weight: 400;
  font-size: clamp(4rem, 9vw, 7.5rem); line-height: 1;
  color: var(--primary); opacity: .08; pointer-events: none; z-index: 0;
}
.pq2--rev .pq2-text::before { right: auto; left: 0; }
.pq2-kicker { display: inline-flex; align-items: center; gap: 12px; }
.pq2-kicker::before { content: ""; width: 34px; height: 1px; background: var(--primary); opacity: .55; }
.pq2-kicker, .pq2-title, .pq2-text-p { position: relative; z-index: 1; }
.pq2-title { letter-spacing: .004em; }
.pq2-text-p { max-width: 46ch; }
@media (max-width:760px){ .pq2-text::before { font-size: 4rem; top: -.5em; } }

/* ---- партнёрский hero: постер сразу, видео — по готовности; на телефоне не грузим ---- */
.phero-media { background: var(--bg-2); }
.phero-poster { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); min-width:100%; min-height:100%; width:auto; height:auto; object-fit:cover; z-index:0; }
@media (max-width:620px){
  .phero-video { display: none; }
}

/* ---- секция «удобства»: сетка карточек-иконок ---- */
.amenities-wrap { max-width: var(--maxw); }
.amenities { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 14px; }
.amenity {
  display: flex; align-items: center; gap: 14px; padding: 17px 20px;
  border: 1px solid var(--border); border-radius: var(--r-lg); background: var(--surface);
  transition: transform .45s var(--ease), border-color .45s var(--ease), background .45s var(--ease);
}
.section-alt .amenity { background: var(--surface-2); }
.amenity:hover { transform: translateY(-3px); border-color: var(--border-green); background: var(--surface-2); }
.amenity-ic { flex: none; width: 30px; height: 30px; color: var(--primary); display: flex; align-items: center; justify-content: center; }
.amenity-ic svg { width: 100%; height: 100%; }
.amenity span { font-size: .97rem; color: var(--text); letter-spacing: .01em; }

/* ---- секция «характеристики»: список ключ → значение ---- */
.spec-list { display: grid; grid-template-columns: 1fr 1fr; gap: 0 clamp(30px,5vw,64px); max-width: 940px; margin: 0 auto; }
.spec-row { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; padding: 18px 0; border-bottom: 1px solid var(--border); }
.spec-k { color: var(--muted); font-size: .7rem; letter-spacing: .18em; text-transform: uppercase; }
.spec-v { color: var(--text); font-size: 1.02rem; text-align: right; font-family: var(--font-display); }
@media (max-width:640px){ .spec-list { grid-template-columns: 1fr; } }

/* курсорный «блик» на партнёрском hero (мягкое пятно за курсором) */
.phero-glow { position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: radial-gradient(220px 220px at var(--mx,50%) var(--my,40%), rgba(239,231,211,.10), transparent 70%);
  opacity: 0; transition: opacity .6s var(--ease); }
.phero:hover .phero-glow { opacity: 1; }

@media (prefers-reduced-motion: reduce){
  .px { transform: none !important; }
  .sc-ring-arc { stroke-dashoffset: var(--arc-off,74) !important; transition: none; }
  .section-title.reveal::after { transform: translateX(-50%) scaleX(1); }
  .phero-glow { display: none; }
}

/* ---- «фишки» проекта: крупное фото + номер/название/описание ----
   Фото плавно увеличивается по мере прокрутки (в духе Sea Breeze).
   Fail-safe: масштаб задаёт только JS; без JS/при reduced-motion фото видно целиком. */
.hl-row {
  display: grid; grid-template-columns: 1.2fr 1fr;
  gap: clamp(28px, 5vw, 62px); align-items: center;
  padding: clamp(26px, 5vh, 52px) 0;
}
.hl-row--rev .hl-fig { order: 2; }
.hl-fig {
  margin: 0; overflow: hidden; border-radius: var(--r-lg);
  border: 1px solid var(--border); aspect-ratio: 16/10; background: var(--surface);
}
.hl-fig img { width: 100%; height: 100%; object-fit: cover; display: block; will-change: transform; }
.hl-text { position: relative; }
.hl-num {
  display: block; font-family: var(--font-display); font-style: italic; font-weight: 400;
  font-size: clamp(2rem, 4vw, 3.2rem); line-height: 1; color: var(--primary);
  opacity: .85; margin-bottom: 14px;
}
.hl-title {
  font-family: var(--font-display); font-weight: 400;
  font-size: clamp(1.45rem, 3vw, 2.2rem); line-height: 1.18; color: var(--text);
  display: inline-block; padding-bottom: 14px; margin: 0;
  border-bottom: 1px solid var(--border-green);
}
.hl-desc { color: var(--muted); font-size: 1.02rem; line-height: 1.7; margin-top: 16px; max-width: 44ch; }
@media (max-width:760px){
  .hl-row { grid-template-columns: 1fr; gap: 18px; }
  .hl-row--rev .hl-fig { order: 0; }
}

/* компактный перечень остальных удобств под «фишками» */
.amenities--compact { margin-top: clamp(26px, 5vh, 48px); }

/* ---- карточки на странице «Партнёры» (ранее без стилей) ---- */
.partner-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.pcard {
  display: flex; flex-direction: column; overflow: hidden;
  border: 1px solid var(--border); border-radius: var(--r-lg); background: var(--surface);
  transition: transform .5s var(--ease), border-color .5s var(--ease), box-shadow .5s var(--ease);
}
.pcard:hover { transform: translateY(-6px); border-color: var(--border-green); box-shadow: 0 30px 60px -30px rgba(0,0,0,.7); }
.pcard-img { position: relative; overflow: hidden; aspect-ratio: 4/3; }
.pcard-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 1s var(--ease); }
.pcard:hover .pcard-img img { transform: scale(1.06); }
.pcard-body { padding: 24px 26px 28px; display: flex; flex-direction: column; gap: 7px; }
.pcard-body .kicker { margin-bottom: 2px; }
.pcard-title { font-family: var(--font-display); font-size: 1.35rem; font-weight: 400; color: var(--text); line-height: 1.2; }
.pcard-sub { color: var(--muted); font-size: .94rem; }
.pcard-open { margin-top: 8px; color: var(--primary); font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; transition: letter-spacing .3s var(--ease); }
.pcard:hover .pcard-open { letter-spacing: .2em; }
@media (max-width:860px){ .partner-cards { grid-template-columns: 1fr 1fr; } }
@media (max-width:560px){ .partner-cards { grid-template-columns: 1fr; } }

/* ============================================================
   УДОБСТВА — секция с бегущим заголовком-«табло» и слайдером
   «Фокус-рейл». Без скролл-морфа: доскроллил — и всё на месте.
   ============================================================ */
.ascreen { position: relative; background: var(--surface); overflow: hidden; }
.ascreen-stage { padding: clamp(64px, 10vh, 120px) 0; }
.ascreen-shape, .ascreen-inner { position: static; }
.ascreen-content {
  display: flex; flex-direction: column; justify-content: center;
  gap: clamp(24px, 5vh, 52px);
}

/* верх — только кикер */
.ascreen-top { text-align: center; }
.ascreen-kicker {
  display: block; color: var(--primary);
  font-size: .74rem; letter-spacing: .24em; text-transform: uppercase; margin-bottom: 6px;
}

/* бегущий ЗАГОЛОВОК-«табло» (едет вправо, одна фраза, без разделителей) */
.ascreen-marquee {
  display: block; margin: 0; overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
          mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
}
.ascreen-marquee-track {
  display: inline-flex; align-items: center; white-space: nowrap;
  will-change: transform; animation: ascreenMarquee 45s linear infinite reverse;
}
/* отступ «зашит» в каждое слово (padding-right) — при чётном числе копий
   сдвиг на -50% всегда попадает точно на копию → петля бесшовная */
.ascreen-marquee-track > span {
  font-family: var(--font-display); font-weight: 400; color: var(--text);
  font-size: clamp(44px, 7.5vw, 104px); line-height: 1.1; letter-spacing: .02em;
  padding-right: clamp(52px, 8vw, 128px);
}
@keyframes ascreenMarquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* лента-фраза на просторах страниц: огромный текст, одна фраза, едет вправо */
.tick {
  overflow: hidden; padding: clamp(36px, 7vh, 72px) 0; background: var(--bg);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
          mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
}
.tick--alt { background: var(--surface); }
.tick-track {
  display: inline-flex; align-items: center; white-space: nowrap;
  will-change: transform; animation: ascreenMarquee 50s linear infinite reverse;
}
.tick-track > span {
  font-family: var(--font-display); font-weight: 400; color: var(--text);
  font-size: clamp(38px, 6vw, 88px); line-height: 1.1; letter-spacing: .02em; opacity: .92;
  padding-right: clamp(52px, 8vw, 128px);
}

/* слайдер «Фокус-рейл» */
.arail { display: flex; flex-direction: column; gap: clamp(12px, 2vh, 20px); }
.arail-viewport { overflow: hidden; }
.arail-track {
  display: flex; gap: clamp(14px, 2vw, 28px); list-style: none;
  padding: 6px 0; transition: transform .6s var(--ease); will-change: transform;
}
.arail-card {
  position: relative; flex: 0 0 auto; width: min(74vw, 900px);
  border-radius: var(--r-lg); overflow: hidden; cursor: pointer;
  opacity: .38; transform: scale(.9);
  transition: opacity .55s var(--ease), transform .55s var(--ease);
}
.arail-card.is-active { opacity: 1; transform: scale(1); cursor: default; }
.arail-card figure { margin: 0; aspect-ratio: 16 / 9; }
.arail-card img { width: 100%; height: 100%; object-fit: cover; display: block; }
/* подпись — «стеклянная плашка» (frosted glass) в углу карточки */
.arail-cap {
  position: absolute; left: clamp(16px, 2.2vw, 26px); right: auto;
  bottom: clamp(16px, 2.2vw, 26px);
  display: inline-flex; align-items: center; gap: 14px;
  padding: 12px 22px 12px 18px; border-radius: 100px;
  background: rgba(20, 26, 34, .38);
  -webkit-backdrop-filter: blur(16px) saturate(130%);
          backdrop-filter: blur(16px) saturate(130%);
  border: 1px solid rgba(240, 232, 212, .18);
  box-shadow: 0 10px 34px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.10);
  opacity: 0; transform: translateY(12px) scale(.98);
  transition: opacity .55s var(--ease), transform .55s var(--ease);
}
.arail-card.is-active .arail-cap { opacity: 1; transform: none; }
.arail-n {
  position: relative; font-family: var(--font-display); color: var(--primary);
  font-size: 1.05rem; letter-spacing: .04em; padding-right: 14px;
}
.arail-n::after {                       /* волосяной разделитель */
  content: ""; position: absolute; right: 0; top: 50%; transform: translateY(-50%);
  width: 1px; height: 15px; background: rgba(240, 232, 212, .28);
}
.arail-cap h3 {
  font-family: var(--font-display); font-weight: 500; color: var(--text);
  font-size: clamp(15px, 1.5vw, 21px); letter-spacing: .01em; line-height: 1;
}
/* тонкая рамка-«оправа» на активном кадре */
.arail-card::after {
  content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none;
  box-shadow: inset 0 0 0 1px rgba(240, 232, 212, .16);
  opacity: 0; transition: opacity .55s var(--ease);
}
.arail-card.is-active::after { opacity: 1; }

/* контролы: линии-стрелки, счётчик, полоса прогресса */
.arail-ctl { display: flex; align-items: center; justify-content: center; gap: clamp(16px, 3vw, 34px); }
.arail-arr { background: none; border: 0; color: var(--muted); cursor: pointer; padding: 6px; transition: color .3s; }
.arail-arr:hover { color: var(--primary); }
.arail-arr svg { display: block; }
.arail-arr-line { stroke-dasharray: 60; stroke-dashoffset: 34; transition: stroke-dashoffset .38s var(--ease); }
.arail-arr:hover .arail-arr-line { stroke-dashoffset: 0; }
.arail-arr-head { opacity: .5; transition: opacity .38s var(--ease); }
.arail-arr:hover .arail-arr-head { opacity: 1; }
.arail-arr:disabled { opacity: .25; cursor: default; color: var(--muted); }
.arail-meta { display: flex; flex-direction: column; align-items: center; gap: 8px; min-width: 130px; }
.arail-index { font-family: var(--font-display); color: var(--text); letter-spacing: .08em; font-size: .95rem; }
.arail-index b { color: var(--primary); font-weight: 600; }
.arail-bar { position: relative; width: 130px; height: 2px; background: var(--border); overflow: hidden; }
.arail-bar i { position: absolute; left: 0; top: 0; height: 100%; width: 25%; background: var(--primary); transition: width .55s var(--ease); }

@media (max-width: 760px) {
  .arail-card { width: 88vw; }
  .ascreen-marquee-track > span { font-size: clamp(30px, 9vw, 44px); }
  .tick-track > span { font-size: clamp(26px, 8vw, 38px); }
}

/* доступность: без анимаций строки стоят на месте */
@media (prefers-reduced-motion: reduce) {
  .ascreen-marquee-track, .tick-track { animation: none; }
}

/* ============================================================
   ПЛАНИРОВКИ (plans.html) — выбор проекта + панели
   ============================================================ */
.lp-hero { padding-top: calc(var(--header-h) + 60px); }
.lp-hero-sub { color: var(--muted); max-width: 560px; margin: 12px auto 0; text-align: center; }
.lp-hero .section-head { text-align: center; }
.lp-choose {
  display: grid; grid-template-columns: repeat(2, minmax(0, 460px));
  justify-content: center; gap: clamp(16px, 3vw, 32px);
  margin-top: clamp(28px, 5vh, 48px);
}
.lp-choice {
  position: relative; display: block; padding: 0; border: 1px solid var(--border);
  border-radius: var(--r-lg); overflow: hidden; cursor: pointer; background: var(--surface);
  text-align: left; transition: border-color .35s var(--ease), transform .35s var(--ease);
}
.lp-choice figure { margin: 0; aspect-ratio: 16 / 9; }
.lp-choice img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  filter: grayscale(.45) brightness(.7); transition: filter .45s var(--ease), transform .8s var(--ease);
}
.lp-choice-cap {
  position: absolute; left: 0; right: 0; bottom: 0; padding: 18px 22px;
  display: flex; flex-direction: column; gap: 3px;
  background: linear-gradient(to top, rgba(26,34,45,.92), rgba(26,34,45,0));
}
.lp-choice-cap b { font-family: var(--font-display); font-weight: 500; color: var(--text); font-size: clamp(17px, 1.8vw, 23px); }
.lp-choice-cap small { color: var(--muted); font-size: .85rem; letter-spacing: .06em; }
.lp-choice:hover img { transform: scale(1.04); }
.lp-choice.is-active { border-color: var(--border-green); }
.lp-choice.is-active img { filter: none; }
.lp-choice.is-active::after {
  content: "✓"; position: absolute; top: 12px; right: 14px;
  color: var(--bg-2); background: var(--primary);
  width: 26px; height: 26px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: .9rem; font-weight: 700;
}
@media (max-width: 700px) { .lp-choose { grid-template-columns: 1fr; } }
