@font-face{font-family:"Kenao";src:url(/fonts/kenao.woff2) format("woff2");font-weight:400 700;font-display:swap}
@font-face{font-family:"Cormorant";font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/cormorant-500-cyrillic.woff2) format("woff2");unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:"Cormorant";font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/cormorant-500-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:"Cormorant";font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/cormorant-500-latin.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:400 500;font-display:swap;src:url(/fonts/dmsans-400-500-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:400 500;font-display:swap;src:url(/fonts/dmsans-400-500-latin.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

/* Геометрия — единственное, что этот файл объявляет сам: styles.css на
   страницу политики не подключается, а <slug>/theme.css радиусов не знает.
   Палитра и шрифты приходят из theme.css, который build.py дописывает следом;
   держать здесь их копию нельзя — она была фиолетовой для обеих студий. */
:root {
    --radius-md:18px; --radius-pill:100px; --radius-lg:26px;
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{background:var(--paper);color:var(--ink);font-family:var(--font-body);font-weight:400;line-height:1.75}

  nav{
    position:fixed;top:0;left:0;right:0;z-index:100;
    padding:1.1rem 3rem;display:flex;justify-content:space-between;align-items:center;
    background:var(--privacy-nav-bg);backdrop-filter:blur(20px);
    border-bottom:1px solid rgb(var(--footer-line-rgb) / 0.15);
  }
  .nav-back{color:var(--purple-pale);text-decoration:none;font-size:0.8rem;letter-spacing:0.08em;text-transform:uppercase;display:flex;align-items:center;gap:0.5rem;transition:color 0.2s}
  .nav-back:hover{color:var(--white)}
  .nav-logo-text{font-size:1rem;letter-spacing:0.12em;color:var(--white-muted)}

  .lang-toggle{display:flex}
  .lang-btn{background:transparent;border:1px solid var(--control-line-dark);color:var(--white-muted);padding:0.3rem 0.85rem;font-family:var(--font-body);font-size:0.7rem;cursor:pointer;transition:all 0.2s}
  .lang-btn:first-child{border-radius:var(--radius-pill) 0 0 var(--radius-pill)}
  .lang-btn:last-child{border-radius:0 var(--radius-pill) var(--radius-pill) 0;border-left:none}
  .lang-btn.active{background:var(--accent-solid);border-color:var(--accent-solid);color:var(--on-accent-alt)}

  .page-wrap{max-width:760px;margin:0 auto;padding:8rem 2rem 5rem}

  .page-title{font-size:clamp(2rem,5vw,3rem);font-weight:500;line-height:1.1;margin-bottom:0.75rem;color:var(--ink)}
  .page-meta{font-size:0.8rem;color:var(--ink-soft);margin-bottom:3rem;padding-bottom:2rem;border-bottom:1px solid var(--line-soft)}

  h2{font-size:1.2rem;font-weight:500;color:var(--ink);margin:2.5rem 0 0.75rem}
  p{font-size:0.9rem;color:var(--ink-soft);margin-bottom:0.9rem}
  ul{font-size:0.9rem;color:var(--ink-soft);padding-left:1.4rem;margin-bottom:0.9rem}
  ul li{margin-bottom:0.4rem}
  a{color:var(--purple-900);text-decoration:none}
  a:hover{color:var(--purple-700)}

  .highlight-box{background:var(--paper2);border:1px solid var(--line-soft);border-radius:var(--radius-md);padding:1.5rem 1.75rem;margin:2rem 0;font-size:0.88rem;color:var(--ink-soft)}
  .highlight-box strong{color:var(--ink)}

  footer{background:var(--bg-dark);color:var(--white-muted);padding:2rem 3rem;display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgb(var(--footer-line-rgb) / 0.14);font-size:0.72rem}
  footer a{color:var(--purple-pale);text-decoration:none}
  footer a:hover{color:var(--white)}

  /* hidden/show per lang */
  [data-lang]{display:none}
  body.lang-lv [data-lang="lv"]{display:block}
  body.lang-ru [data-lang="ru"]{display:block}
  h2[data-lang], p[data-lang], ul[data-lang], .page-title[data-lang], .page-meta[data-lang], .highlight-box[data-lang]{display:none}
  body.lang-lv h2[data-lang="lv"],body.lang-lv p[data-lang="lv"],body.lang-lv ul[data-lang="lv"],body.lang-lv .page-title[data-lang="lv"],body.lang-lv .page-meta[data-lang="lv"],body.lang-lv .highlight-box[data-lang="lv"]{display:block}
  body.lang-ru h2[data-lang="ru"],body.lang-ru p[data-lang="ru"],body.lang-ru ul[data-lang="ru"],body.lang-ru .page-title[data-lang="ru"],body.lang-ru .page-meta[data-lang="ru"],body.lang-ru .highlight-box[data-lang="ru"]{display:block}

  @media(max-width:700px){
    nav{padding:1rem 1.5rem}
    .page-wrap{padding:7rem 1.25rem 4rem}
    footer{flex-direction:column;gap:0.75rem;text-align:center}
  }

/* ── Studio palette — YASHA ─────────────────────────────────────────────────
   Appended to shared/styles.css and shared/privacy.css by build.py, so these
   :root declarations win. Only colour and typography tokens belong here, plus
   rules unique to this studio. Never redefine --gutter/--container/--pad-x:
   shared/styles.css overrides those inside a media query that this file would
   silently outrank.

   Два слоя токенов:
     1) ЛЕГАСИ-ШКАЛА (--purple-*, --paper*, --ink*, --white*) — исторические
        имена Яши. Их читают правила shared напрямую.
     2) СЕМАНТИЧЕСКИЕ токены (--on-accent, --line, --shadow-tint, --scrim-*…) —
        роли, а не цвета. Введены на шаге 0, чтобы shared/*.css перестал знать
        про фиолетовый. Их значения ниже — ровно те литералы, что были
        захардкожены в shared до токенизации, hex в hex.
   ────────────────────────────────────────────────────────────────────────── */
:root{
  --bg-dark:#0d0b15;--bg-dark2:#181228;
  --purple-900:#4a3580;--purple-700:#8b69c9;--purple-600:#9d7ed5;--purple-cta:#7a56bb;
  --purple-light:#b89fd8;--purple-pale:#d4c0ed;--purple-pale-text:#7b5cb5;
  --card-bg:#f2edfb;--card-bg2:#e9e1f7;
  --paper:#ffffff;--paper2:#f8f5fe;
  --ink:#1c1726;--ink-soft:rgba(28,23,38,0.65);--ink-dim:rgba(28,23,38,0.38);
  --white:#faf7ff;--white-muted:rgba(250,247,255,0.72);--white-dim:rgba(250,247,255,0.62);
  --font-display:"Kenao",Georgia,serif;--font-body:"DM Sans",sans-serif;

  /* ── Линии ────────────────────────────────────────────────────────────────
     --line-rgb — триплет для всей лестницы альф (0.07…0.45) в shared.
     --line / --line-soft — бывшие --card-border / --card-border-light.
     --line-strong — рамка контрола (переключатель языка, бургер, теги). */
  --line-rgb:155 130 210;
  --line:rgba(155,130,210,0.22);
  --line-soft:rgba(155,130,210,0.18);
  --line-strong:rgba(155,130,210,0.35);

  /* Тени. Две разные, потому что в Яше их исторически две: мягкая под
     карточками и плотная под плавающими элементами. */
  --shadow-tint:120 90 180;
  --shadow-tint-deep:74 53 128;

  /* Тёмная фурнитура поверх фото: точки слайдера, стрелки, затемнение шторки */
  --ink-rgb:28 23 38;

  /* Волосяные линии подвала: осветлённый тон студии на --bg-dark */
  --footer-line-rgb:196 174 224;

  /* Фирменный светлый Marketerra (White Jade) — наведение на подпись
     разработчика в подвале. Палитра чужая и в остальной странице не участвует:
     это подпись агентства, а не элемент студии. */
  --made-by-hover:#DAE0B7;

  /* Четвёртый фиолетовый Яши, вне основной шкалы: иконка FAQ, рамка кнопки
     карты, ореол под секцией контактов. У Saffron сводится к бордо. */
  --accent-alt-rgb:83 74 163;

  /* ── Герой ────────────────────────────────────────────────────────────────
     Вся стратегия героя живёт в теме: подложка и три слоя скрима отдаются
     значениями целиком, чтобы студия со светлым героем меняла их, не трогая
     shared. Порядок слоёв = порядок наложения, первый сверху.
       --scrim-main   диагональ, читаемость текста слева
       --scrim-bottom виньетка у нижнего края
       --scrim-top    виньетка под шапкой */
  --hero-glow:
    radial-gradient(ellipse 65% 55% at 75% 35%,rgba(180,150,230,0.22) 0%,transparent 60%),
    radial-gradient(ellipse 50% 60% at 15% 75%,rgba(195,170,240,0.16) 0%,transparent 55%),
    radial-gradient(ellipse 40% 40% at 50% 10%,rgba(210,190,245,0.12) 0%,transparent 50%);
  --scrim-main:
    linear-gradient(100deg,
      rgba(16, 11, 28, 0.90) 0%,
      rgba(16, 11, 28, 0.70) 32%,
      rgba(16, 11, 28, 0.26) 62%,
      rgba(16, 11, 28, 0.08) 100%);
  --scrim-bottom:linear-gradient(to top, rgba(16, 11, 28, 0.55) 0%, transparent 42%);
  --scrim-top:linear-gradient(to bottom, rgba(16, 11, 28, 0.55) 0%, rgba(16, 11, 28, 0.12) 14%, transparent 22%);

  /* Фурнитура поверх СЫРОГО фото — точки и стрелки слайдшоу, хром лайтбокса.
     Всегда светлая: под ней фотография, а не скрим. */
  --on-media:#fff;
  --on-media-rgb:255 255 255;

  /* Текст и шапка ПОВЕРХ ГЕРОЯ. Отдельно от --on-media*: у студии со светлым
     героем это тёмный цвет, а точки слайдера всё равно остаются белыми.
     Меняется в паре со --scrim-*. */
  --on-hero:#fff;
  --on-hero-rgb:255 255 255;
  --on-hero-accent:#c6a9f2;
  /* Самая тихая надпись героя (индикатор прокрутки). Отдельным именем,
     потому что альфа 0.6 читается только на тёмном скриме. */
  --on-hero-quiet:rgb(var(--on-hero-rgb) / 0.6);

  /* Матовые светлые плашки: шапка, бейдж зала, пилюли на цветной карточке.
     Отдельно от --on-media-rgb: это подложка, а не текст на фото. */
  --plate-rgb:255 255 255;

  /* ── Подписи на цветных заливках ───────────────────────────────────────────
     ⚠ Ровно те восемь мест, из-за которых прямая перекраска shared дала бы
     ~2.7:1 у Saffron. Два имени, потому что Яша исторически красит их двумя
     разными белыми: #fff в .btn-primary и --white (#faf7ff) в .nav-cta.
     Студия со светлой заливкой обязана поставить сюда тёмный цвет. */
  --on-accent:#fff;                /* .btn-primary .btn-hall:hover .consent-accept .mobile-cta-btn */
  --on-accent-alt:var(--white);    /* .nav-cta .lang-btn.active .mm-cta .faq-icon */

  /* ── Акцент по РОЛЯМ ───────────────────────────────────────────────────────
     У Яши --purple-600/--purple-700 работают сразу и заливкой, и текстом по
     бумаге. Одному имени два значения не выдать, а светлой студии нужно ровно
     это: заливка светлеет, текст темнеет. Значения ниже — те же литералы Яши.
       --accent-lift    заливка «светлее основной»: ховер кнопок, активный язык
       --accent-solid   сплошная акцентная заливка: иконка FAQ, кнопка в шторке
       --accent-display крупный акцентный текст (em в заголовках), полоски, иконки
     Что осталось на легаси-именах: --purple-cta — заливка покоя; --purple-600
     и --purple-700 — акцентный ТЕКСТ и границы по светлому; --purple-900 —
     самый плотный акцентный текст. */
  --accent-lift:#9d7ed5;           /* = --purple-600 */
  --accent-solid:#8b69c9;          /* = --purple-700 */
  --accent-display:#8b69c9;        /* = --purple-700 */

  /* Границы КОНТРОЛОВ, где общая альфа-линия не дотягивает до 3:1 (WCAG 1.4.11).
     У Яши остаются прежние альфы — тема вправе поставить сплошную линию. */
  --control-line:rgb(var(--line-rgb) / 0.4);        /* .btn-hall */
  --plate-line:rgb(var(--line-rgb) / 0.3);          /* бургер на прокрученной шапке */
  --control-line-dark:rgb(var(--footer-line-rgb) / 0.3); /* переключатель языка в политике */
  --pill-line:var(--line-soft);                     /* .social-link .wa-inline */
  --map-line:rgb(var(--accent-alt-rgb) / 0.18);     /* .map-btn */

  /* Featured-карточка прайса: своя заливка, своя рамка, свои подписи */
  --featured-grad:linear-gradient(160deg,#7352b4 0%,#5a3f96 100%);
  --featured-border:#5a3f96;
  --on-featured:#fff;
  --on-featured-soft:rgba(255,255,255,0.86);

  /* ── Поверхности ──────────────────────────────────────────────────────────
     Четыре почти одинаковых градиента — исторический разнобой Яши. Отданы
     значениями целиком: студия с плоской бумагой ставит сюда сплошной цвет
     и не переписывает ни одного селектора shared. */
  /* Полоса «что входит в стоимость»: плотнее бумаги, карточка на ней светлее
     полосы. Правило живёт в shared, тон — здесь. */
  --band-bg:var(--card-bg);        /* #f2edfb — плотнее и --paper, и --paper2 */
  --band-card:var(--paper);        /* белая карточка поверх полосы            */
  /* Карточка оборудования. Правило живёт в shared, тон — здесь: бумага Яши
     белая, поэтому карточке нужен тинт, иначе на #ffffff её видно только по
     рамке. Секция #halls, где стоит блок, красится var(--paper). */
  --equip-bg:var(--paper2);        /* #f8f5fe                                 */

  --card-grad:linear-gradient(160deg,#f5f0fd 0%,#ede6f9 100%);       /* .hall-card .price-card .rule-item */
  --card-grad-soft:linear-gradient(160deg,#f7f3fd 0%,#f0eafb 100%);  /* .faq-item */
  --form-grad:linear-gradient(160deg,#f5f0fd 0%,#ede8fb 100%);       /* .booking-form */
  --panel-grad:linear-gradient(160deg,#f7f3fd 0%,#efe8fa 100%);      /* .contact-info-block */
  --placeholder-grad:linear-gradient(135deg,#e4d8f7,#d8ccf0);        /* .hall-img под слайдшоу */
  --skeleton-grad:linear-gradient(100deg,#f2ecfb 30%,#e7dff6 50%,#f2ecfb 70%); /* мерцание карты */
  --combo-grad:linear-gradient(160deg,#c4a8e8 0%,#a882d4 100%);      /* .combo-card */

  /* Одиночные поверхности */
  --consent-bg:rgba(245,240,253,0.98);
  --lightbox-bg:rgba(14,10,24,0.94);
  --privacy-nav-bg:rgba(13,11,21,0.92);
  --consent-link-line:rgba(123,92,181,0.45);

  /* WhatsApp: заливка и глиф раздельно, чтобы студия могла взять бордовую
     заливку и оставить белый значок. */
  --wa-grad:linear-gradient(145deg,var(--purple-700),var(--purple-cta));
  --on-wa:#fff;
  --wa-pulse-ring:rgba(139,105,201,0.45);

  /* Кольцо фокуса — одно на всю страницу */
  --focus:var(--purple-cta);
}
body.lang-ru{--font-display:"Cormorant","Cormorant Garamond",Georgia,serif}

/* ══ ПАЛИТРА СОСЕДА ═══════════════════════════════════════════════════════
   Блок «вторая студия» перед подвалом красится не нашими цветами, а цветами
   той студии, про которую он рассказывает: иначе на карточке Шафрана тёплый
   бренд выходит сиреневым, и стилистика, ради которой блок и стоит, врёт.

   Значения ниже — КОПИИ литералов из src/saffron/theme.css. Копия здесь
   неизбежна: build.py склеивает shared + ТОЛЬКО СВОЮ тему, и палитре Шафрана
   больше неоткуда взяться в этом файле. Расхождение не молчаливое — цвет
   виден глазом на собственной странице Шафрана рядом.
   Переименование в Шафране сюда НЕ доедет: при правке его палитры проверять
   этот блок вручную.

   Селектор по слагу, а не по слову «другая»: с третьей студией «другая»
   перестаёт быть одной, и тогда рядом просто встаёт второй такой блок
   [data-palette="<слаг>"], а правила в shared/styles.css не меняются.

   Контраст посчитан по WCAG 2.1 на заливке карточки #fefbf6:
     --other-ink       #321813  15.95
     --other-ink-soft  #69524c   6.99
     --other-accent    #6e2827  10.19
     --other-on-fill на --other-fill      #2b100d на #e18518  6.40
     --other-on-fill на --other-fill-lift #2b100d на #f09b40  8.01
   ⚠ Главный запрет палитры Шафрана держится и здесь: НИКАКОГО БЕЛОГО ТЕКСТА
   НА ШАФРАНОВОЙ ЗАЛИВКЕ — белый по #e18518 даёт 2.73. Подпись пилюли всегда
   --espresso, а ховер СВЕТЛЕЕТ (в тёплой светлой системе так, наоборот
   к Яше).
   ══════════════════════════════════════════════════════════════════════════ */
[data-palette="saffron"]{
  --other-card-bg:    #fefbf6;   /* = saffron --card      */
  --other-media-bg:   #f6e9d8;   /* = saffron --sand      */
  --other-ink:        #321813;   /* = saffron --ink       */
  --other-ink-soft:   #69524c;   /* = saffron --ink-soft  */
  --other-accent:     #6e2827;   /* = saffron --oxblood   */
  --other-fill:       #e18518;   /* = saffron --saffron      */
  --other-fill-lift:  #f09b40;   /* = saffron --saffron-lift */
  --other-on-fill:    #2b100d;   /* = saffron --espresso  */
  --other-line:       #e0cdbe;   /* = saffron --line      */
  --other-shadow-rgb: 110 40 39; /* = saffron --oxblood   */
  --other-focus:      #6e2827;   /* = saffron --focus     */
}
