/* ==========================================================================
   Легаста — светлая премиальная тема поверх исходной концепции.
   Слой надстройки: структура, сетки и компоненты остаются прежними,
   меняются палитра, материал поверхностей, свет и дисплейная гарнитура.
   ========================================================================== */

/* --- Дисплейная гарнитура: Piazzolla (self-hosted, OFL) ------------------- */

@font-face{
  font-family:'Piazzolla';font-style:normal;font-weight:400 800;font-display:swap;
  src:url('/fonts/piazzolla-cyrillic.woff2') format('woff2');
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
@font-face{
  font-family:'Piazzolla';font-style:normal;font-weight:400 800;font-display:swap;
  src:url('/fonts/piazzolla-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2122,U+2212;
}
@font-face{
  font-family:'Piazzolla';font-style:italic;font-weight:400 800;font-display:swap;
  src:url('/fonts/piazzolla-italic-cyrillic.woff2') format('woff2');
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
@font-face{
  font-family:'Piazzolla';font-style:italic;font-weight:400 800;font-display:swap;
  src:url('/fonts/piazzolla-italic-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2122,U+2212;
}

/* --- Палитра: «стальная бумага» ------------------------------------------ */

:root{
  --color-bg:#EAE7DF;
  --color-bg-elev:#F2F0EA;
  --color-surface:#FBFAF7;
  --color-surface-2:#EFECE5;

  --color-text:#161A26;
  --color-text-muted:#444A5B;
  --color-text-dim:#5D6373;

  --color-border:#161a2618;
  --color-border-strong:#161a2630;
  --color-ink-border:#161a2618;

  --color-brand:#1F3FCC;
  --color-brand-hover:#16309F;
  --color-brand-soft:#1f3fcc12;
  --color-brand-border:#1f3fcc38;

  --color-success:#0F7A45;
  --color-success-soft:#0f7a4514;
  --color-success-border:#0f7a4540;

  --shadow-sm:0 1px 2px #161a260d;
  --shadow-md:0 6px 18px -10px #161a2640, 0 1px 2px #161a260f;

  --paper-fold:#DDD8CC;
  --display-face:'Piazzolla',Georgia,'Times New Roman',serif;
}

/* Зерно на подложке — под содержимым, текст остаётся чистым */
body::before{
  content:'';
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  opacity:.55;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='lg'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.88' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3CfeComponentTransfer%3E%3CfeFuncA type='linear' slope='0.045'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23lg)'/%3E%3C/svg%3E");
}
/* Ничего не позиционируем на верхнем уровне: sticky-шапка должна остаться
   sticky. Зерно уводим под содержимое отрицательным z-index. */

/* --- Флагманские страницы: тот же слой, но светлый и с направленным светом */

.theme-ink{
  --color-bg:#EAE7DF;
  --color-bg-elev:#F2F0EA;
  --color-surface:#FBFAF7;
  --color-surface-2:#EFECE5;

  --color-text:#161A26;
  --color-text-muted:#444A5B;
  --color-text-dim:#5D6373;

  --color-border:#161a2614;
  --color-border-strong:#161a262e;
  --color-ink-border:#161a2614;

  --color-success:#0F7A45;
  --color-success-soft:#0f7a4514;
  --color-success-border:#0f7a4540;
  --color-brand-soft:#1f3fcc14;
  --color-brand-border:#1f3fcc3d;

  color:var(--color-text);
  background-image:
    radial-gradient(56% 40% at 16% 0%, rgba(255,253,247,.7) 0%, rgba(252,251,247,.3) 40%, rgba(234,231,223,0) 74%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n2'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3CfeComponentTransfer%3E%3CfeFuncA type='linear' slope='0.05'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n2)'/%3E%3C/svg%3E"),
    linear-gradient(#F2F0EA, #EAE7DF 46%, #E0DCD2);
}

/* --- Тёмные полосы вне .theme-ink: подвал и врезки ------------------------ */

.ink-section{
  --color-border:#161a2614;
  --color-border-strong:#161a262e;
  --color-ink-border:#161a2618;
  --color-text:#161A26;
  --color-text-muted:#444A5B;
  --color-text-dim:#5D6373;
  --color-brand-soft:#1f3fcc14;
  --color-brand-border:#1f3fcc3d;
  color:var(--color-text);
  background:linear-gradient(168deg,#EFECE5 0,#E4E0D6 58%,#D9D4C8 100%);
}
.ink-section:after{
  background:linear-gradient(118deg,#ffca8226,#ffca820f 26%,#0000 46%);
}

/* Липкая шапка: тот же материал, но светлое стекло (перебиваем inline-стиль) */
body > header.sticky{
  background:rgba(247,245,240,.82) !important;
  border-bottom-color:var(--color-border) !important;
  box-shadow:0 1px 0 rgba(255,255,255,.6) inset;
}

/* Изометрический знак: верхняя грань и фацетные обводки жили на белом фоне */
svg[viewBox="0 0 48 48"] path[fill="#FFFFFF"]{fill:#9DB3F2}
svg[viewBox="0 0 48 48"] path[stroke="white"]{stroke:var(--color-surface)}

/* Инлайновые полупрозрачные белые плашки на бывших тёмных полосах */
:is(.theme-ink,.ink-section,.hero-blue) [style*="background:rgba(255,255,255"]{
  background:rgba(22,26,38,.08) !important;
  color:var(--color-text) !important;
}
:is(.theme-ink,.ink-section,.hero-blue) [style*="color:rgba(255,255,255"]{
  color:var(--color-text-muted) !important;
}

/* Инлайновый белый текст (логотип-надпись в шапке и подвале).
   Элементы, которые сами несут тёмную заливку, не трогаем. */
[style*="color:white"]:not([style*="background"]){
  color:var(--color-text) !important;
}

/* Прямые правки утилит, зашитых под тёмный фон -------------------------- */

/* Белая типографика жила на тёмных полосах. Правим только цвет ТЕКСТА —
   bg-white и border-white остаются настоящими белыми (это карточки и канты). */

:is(.theme-ink,.ink-section,.hero-blue) .text-white,
:is(.theme-ink,.ink-section,.hero-blue) .text-white\/90{color:var(--color-text)}
:is(.theme-ink,.ink-section,.hero-blue) .text-white\/85,
:is(.theme-ink,.ink-section,.hero-blue) .text-white\/80,
:is(.theme-ink,.ink-section,.hero-blue) .text-white\/75,
:is(.theme-ink,.ink-section,.hero-blue) .text-white\/70,
:is(.theme-ink,.ink-section,.hero-blue) .text-white\/65,
:is(.theme-ink,.ink-section,.hero-blue) .text-white\/60{color:var(--color-text-muted)}
:is(.theme-ink,.ink-section,.hero-blue) .text-white\/55,
:is(.theme-ink,.ink-section,.hero-blue) .text-white\/50{color:var(--color-text-dim)}
:is(.theme-ink,.ink-section,.hero-blue) .text-white\/35{color:#161a2670}
:is(.theme-ink,.ink-section,.hero-blue) .text-white\/\[0\.09\]{color:#161a2624}
:is(.theme-ink,.ink-section,.hero-blue) .hover\:text-white:hover{color:var(--color-text)}
:is(.theme-ink,.ink-section,.hero-blue) .border-white\/10{border-color:#161a261a}
:is(.theme-ink,.ink-section,.hero-blue) .border-white\/15{border-color:#161a2626}
:is(.theme-ink,.ink-section,.hero-blue) .border-white\/25{border-color:#161a2638}
:is(.theme-ink,.ink-section,.hero-blue) .border-white\/80{border-color:#161a2699}
:is(.theme-ink,.ink-section,.hero-blue) .bg-white\/\[0\.08\]{background-color:#161a260d}

/* Утилиты с зашитыми цветами, рассчитанными на тёмный фон.
   Все поверхности сайта теперь светлые, поэтому правим глобально. */

.text-\[rgba\(226\,232\,249\,0\.68\)\]{color:var(--color-text-muted)}
.text-\[\#9db2ff\]{color:var(--color-brand)}
.text-\[\#6e6e78\]{color:var(--color-text-dim)}
.text-\[\#5a5a64\]{color:var(--color-text-muted)}
.bg-\[\#9db2ff\]{background-color:var(--color-brand)}
.bg-\[\#c9d4ff\],.bg-\[\#dfe6ff\]{background-color:var(--paper-fold)}
.bg-\[\#2c3c66\]{background-color:#D6D1C5}
.border-\[\#ececf0\]{border-color:var(--color-border)}
.divide-\[\#ececf0\]{border-color:var(--color-border)}

body > header .hover\:text-white:hover{color:var(--color-text)}

/* Состояния наводки и раскрытия остаются условными — правим только цвет */
.group-open\:text-\[\#9db2ff\]:is(:where(.group):is([open],:popover-open,:open) *){color:var(--color-brand)}
.group-open\:border-\[\#9db2ff\]:is(:where(.group):is([open],:popover-open,:open) *){border-color:var(--color-brand)}
@media (hover:hover){
  .group-hover\:text-\[\#9db2ff\]:is(:where(.group):hover *){color:var(--color-brand)}
  .group-hover\:text-\[\#c9d4ff\]:is(:where(.group):hover *){color:var(--color-brand-hover)}
  .group-hover\:border-\[\#9db2ff\]:is(:where(.group):hover *){border-color:var(--color-brand)}
}

.week-num,.theme-ink .week-num{color:#1f3fcc1c}

/* --- Синяя шапка разделов: тот же приём, светлая подача ------------------- */

.hero-blue{
  --color-text:#161A26;
  --color-text-muted:#444A5B;
  --color-text-dim:#5D6373;
  color:var(--color-text);
  background:linear-gradient(#F3F1EB,#E6E2D9);
}
.hero-blue:before{
  background:radial-gradient(circle,#1f3fcc16,#1f3fcc07 60%,#0000 70%);
}
.hero-blue:after{
  background:linear-gradient(118deg,#ffca8226,#ffca820f 26%,#0000 46%);
}
.hero-blue .text-white\/70{color:var(--color-text-muted)}
.hero-blue .text-white\/80,
.hero-blue .text-white\/60{color:var(--color-text-muted)}

/* Карточки на бывшей тёмной подложке */
.bg-\[var\(--color-ink-2\)\]{background-color:var(--color-surface)}
.bg-\[var\(--color-ink\)\]{background-color:var(--color-bg-elev)}
.ink-edge{
  border:1px solid var(--color-border);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75);
}

/* Зелёная плашка была светловата для белого текста */
[style*="background:#1aa75d"]{background:#0F7A45 !important}
/* Красная метка PDF — тоже добираем контраст */
[style*="background:#d6453d"]{background:#C2352E !important}

/* --- Дисплейная типографика ---------------------------------------------- */

.display{
  font-family:var(--display-face);
  font-variation-settings:'opsz' 30;
  font-weight:700;
  letter-spacing:-.015em;
}
h1.display,h2.display{letter-spacing:-.018em}
h1.display{line-height:1.02}

/* --- Поверхности: тональная подача вместо контурной ----------------------- */

.card{
  background:
    linear-gradient(180deg, rgba(255,255,255,.55), rgba(255,255,255,0) 46%),
    var(--color-surface);
  border:1px solid var(--color-border);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.7),
    0 1px 1px #161a2610,
    0 8px 18px -14px #161a2659;
}
.card:hover{
  border-color:var(--color-border-strong);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.8),
    0 1px 1px #161a2614,
    0 12px 24px -14px #161a265c;
}

/* --- Кнопки: плотный цвет, тень в цвет заливки, без свечения -------------- */

.btn-primary{
  background:var(--color-brand);
  color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22), 0 2px 3px -1px #1f3fcc4d;
}
.btn-primary:hover{
  background:var(--color-brand-hover);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22), 0 2px 3px -1px #16309f5c;
}
.btn-light{
  background:#fff;
  color:var(--color-text);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9), 0 2px 4px -2px #161a2640;
}
.btn-light:hover{background:#F3F1EB}
.btn-secondary{
  background:var(--color-surface);
  color:var(--color-text);
  border:1px solid var(--color-border-strong);
}
.btn-secondary:hover{background:var(--color-bg-elev);border-color:#161a2645}
.btn-outline-light{
  color:var(--color-text);
  border:1px solid var(--color-border-strong);
  background:0 0;
}
.btn-outline-light:hover{background:#161a260a;border-color:#161a2650}
.btn-gradient{
  color:#fff;
  background:linear-gradient(45deg,#2A4AD8,#1F3FCC 52%,#16309F);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22), 0 2px 3px -1px #1f3fcc4d;
}
.btn-gradient:hover{background:linear-gradient(45deg,#23409F,#1B37B4 52%,#122880)}

/* --- Мелочи --------------------------------------------------------------- */

/* .badge намеренно не трогаем: он и так собран на токенах, а собственное
   правило перебивало цветные варианты (.badge-success и родню). */
.badge-lessons{background:#161a26b3}

::selection{background:#1f3fcc26;color:var(--color-text)}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
  }
}

/* --- Исключение: тёмные медиа-плитки остаются тёмными ---------------------
   Обложки видео (bg-[#0e0e1a]) — настоящая тёмная поверхность, надписи
   поверх неё должны остаться белыми. Правило стоит последним намеренно. */

[class*="bg-[#0e0e1a]"] .text-white{color:#fff}
[class*="bg-[#0e0e1a]"] .text-white\/70{color:#ffffffb3}
[class*="bg-[#0e0e1a]"] .text-white\/60{color:#fff9}
[class*="bg-[#0e0e1a]"] .text-white\/55{color:#ffffff8c}

/* Статусные подписи на страницах сценариев: зелёный и янтарный были
   рассчитаны на белый фон и не добирали контраст на стальной бумаге. */
[style*="color:#16a34a"]{color:#0F7A45 !important}
[style*="color:#c2740a"]{color:#8A5106 !important}

/* Надпись логотипа набрана инлайном — приводим её к дисплейной гарнитуре,
   чтобы знак, заголовки и цифры говорили одним голосом. */
body > header [style*="color:white"],
.ink-section [style*="color:white"]{
  font-family:var(--display-face) !important;
  font-weight:700 !important;
  letter-spacing:-.012em !important;
}

/* --- Основатели: статус читается сразу ------------------------------------
   Строка под именем несёт роль в платформе, а не повтор биографии,
   поэтому подаём её как статус: фирменный цвет и вес, но мельче имени. */
#experts .text-\[13px\]{
  color:var(--color-brand);
  font-weight:600;
  letter-spacing:.005em;
}

/* --- Первый экран: композиция ---------------------------------------------
   Было три типовых промаха разом: мелкий лейбл над крупным заголовком,
   заголовок-лесенка в четыре строки и акцентное слово, повисшее в середине.
   Разбираем: утверждение держим в две строки дисплейной гарнитурой,
   продолжение фразы уводим вниз нейтральным шрифтом, лейбл переносим
   под текст и снимаем с него капслок. */

.theme-ink h1.display[style*="2.75vw"]{
  font-size:clamp(30px,4.15vw,53px) !important;
  line-height:1.06;
  letter-spacing:-.022em;
  max-width:24ch;
  margin-bottom:20px;
}

/* Хвост предложения: тихий, нейтральной гарнитурой, отдельным блоком */
.theme-ink h1.display[style*="2.75vw"] > span{
  display:block;
  margin-top:18px;
  font-family:'Golos Text',system-ui,sans-serif;
  font-size:clamp(16.5px,1.5vw,19px);
  font-weight:400;
  line-height:1.6;
  letter-spacing:0;
  color:var(--color-text-muted);
  max-width:44ch;
}

/* Колонка первого экрана: утверждение → пояснение → действие.
   Строка аудитории и счётчик событий из героя убраны — правила, которые
   их стилизовали, тоже сняты, иначе они падали на строку с кнопкой. */
.theme-ink .beam ~ .container-page > div:first-child{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.theme-ink .beam ~ .container-page > div:first-child > h1{ order:1 }
.theme-ink .beam ~ .container-page > div:first-child > p{ order:2; margin-bottom:30px }
.theme-ink .beam ~ .container-page > div:first-child > div{ order:3 }

/* Свет: направленный, с длинным затуханием, а не диагональная плёнка */
.theme-ink .beam{
  background:
    radial-gradient(68% 54% at 6% -12%, rgba(255,253,247,.9) 0%, rgba(252,251,247,.4) 36%, rgba(234,231,223,0) 70%),
    linear-gradient(112deg, rgba(31,63,204,.055), rgba(31,63,204,.018) 32%, rgba(0,0,0,0) 54%);
}

/* Карточка события — главный предметный объект экрана: даём ей вес */
.theme-ink .paper.dogear-lg{
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.9),
    0 2px 4px -2px rgba(22,26,38,.18),
    0 26px 50px -34px rgba(22,26,38,.55);
}
.theme-ink .sheen{
  background:linear-gradient(105deg, rgba(255,255,255,0) 42%, rgba(255,255,255,.5) 50%, rgba(255,255,255,0) 58%);
}

/* Кегль под две строки: на 53px «образовательная» не влезала и фраза
   ломалась на три ступеньки. */
.theme-ink h1.display[style*="2.75vw"]{
  font-size:clamp(28px,3.5vw,45px) !important;
  max-width:27ch;
}
.theme-ink h1.display[style*="2.75vw"] > span{ margin-top:15px }
.theme-ink .beam ~ .container-page > div:first-child > p{ margin-top:8px }

/* Первый экран держит высоту окна: следующая секция больше не заглядывает
   краем в кадр. Шапка липкая, поэтому вычитаем её высоту. */
/* Содержимое прижато к верху, а не по центру: так текст и карточка
   освобождают низ экрана под панораму и не ложатся на графику. */
.theme-ink > section:first-child:has(h1.display[style*="2.75vw"]){
  min-height:calc(100vh - 68px);
  min-height:calc(100svh - 68px);
  display:flex;
  align-items:flex-start;
}
.theme-ink > section:first-child:has(h1.display[style*="2.75vw"]) > .container-page{
  width:100%;
}

/* Карточка события лежит на поверхности как лист бумаги: лёгкий поворот,
   тень по одному источнику света сверху слева. Загнутый угол уже был
   в исходной концепции — поворот его поддерживает, а не спорит с ним. */
.theme-ink > section:first-child:has(h1.display[style*="2.75vw"]) .paper.dogear-lg{
  transform:rotate(-1.15deg);
  transform-origin:60% 40%;
}
.theme-ink > section:first-child:has(h1.display[style*="2.75vw"]) .paper.dogear-lg:hover{
  transform:rotate(-0.5deg);
}

/* --- Узкие экраны: шапка не влезала --------------------------------------
   На 320px строку шапки распирала кнопка «Подать заявку» — появлялась
   горизонтальная прокрутка всей страницы. Поджимаем кнопку и логотип. */
@media (max-width:359px){
  body > header .btn-gradient{
    padding-left:12px !important;
    padding-right:12px !important;
    font-size:13px !important;
  }
  body > header [style*="font-size:22.8px"]{
    font-size:18px !important;
  }
  body > header .container-page{
    padding-left:14px;
    padding-right:14px;
    gap:10px;
  }
}


/* --- Подложка первого экрана: панорама набережной -------------------------
   Бумага оригинала вырезана в прозрачность по глобальному порогу (уровень
   бумаги в кадре ровный, 231–240, поэтому поле подсветки не нужно — а без
   него нет и полос от сетки). Растворение всех четырёх краёв впечено прямо
   в альфу, поэтому рисунок нигде не обрывается. Режим наложения не нужен. */
.theme-ink > section:first-child:has(h1.display[style*="2.75vw"])::after{
  content:'';
  position:absolute;
  /* На всю высоту экрана. Ограничивать панораму высотой текста было
     ошибкой: текст стоит слева над пустым небом, а высокое здание — у
     правого края, под карточкой. Они друг другу не мешают. */
  inset:0;
  z-index:0;
  pointer-events:none;
  /* Во всю ширину и прижата к низу: панорама — это земля, на которой
     стоит экран, а не картинка посередине. Высокие объекты не режутся,
     а тают в дымке — за это отвечает длинный градиент маски ниже. */
  /* Сдвиг вниз в vw: высота картинки растёт с шириной окна, поэтому и
     сдвиг должен расти с ней — крыши уходят под кнопку на любом мониторе. */
  background:url('/images/hero-legasta.png?v=20260912') no-repeat center bottom -4vw;
  background-size:100% auto;
  opacity:.95;
  /* Город и здание в полную силу до верха здания (~54% высоты экрана),
     выше — только тихое небо со схемами, его приглушаем. */
  -webkit-mask-image:linear-gradient(to top,
    transparent 0%, #000 7%, #000 62%, rgba(0,0,0,.85) 74%, rgba(0,0,0,.65) 86%, rgba(0,0,0,.45) 100%);
  mask-image:linear-gradient(to top,
    transparent 0%, #000 7%, #000 62%, rgba(0,0,0,.85) 74%, rgba(0,0,0,.65) 86%, rgba(0,0,0,.45) 100%);
}
.theme-ink > section:first-child:has(h1.display[style*="2.75vw"]) > .container-page{
  position:relative;
  z-index:1;
}

/* На узких экранах панорама кадрируется по высоте, а не сжимается в полоску */
@media (max-width:900px){
  .theme-ink > section:first-child:has(h1.display[style*="2.75vw"])::after{
    top:auto;
    height:250px;
    background-size:auto 250px;
    background-position:bottom left;
    opacity:.85;
  }
}

/* --- Невысокие экраны: поджимаем текст, чтобы панорама выросла -------------
   На окне 768–860px текстовый блок занимал 513px и панораме оставалось
   меньше 250px — она начинала лезть под заголовок. Уменьшаем отступы и
   кегль: текст кончается выше, картинка занимает освободившееся место. */
@media (min-width:901px) and (max-height:900px){
  .theme-ink > section:first-child:has(h1.display[style*="2.75vw"]) > .container-page{
    padding-top:40px;
    padding-bottom:0;
  }
  .theme-ink h1.display[style*="2.75vw"]{
    font-size:clamp(26px,3.05vw,38px) !important;
    margin-bottom:14px;
  }
  .theme-ink h1.display[style*="2.75vw"] > span{
    margin-top:12px;
    font-size:16.5px;
    line-height:1.5;
  }
  .theme-ink .beam ~ .container-page > div:first-child > p{
    margin-top:2px;
    margin-bottom:20px;
  }
}
@media (min-width:901px) and (max-height:790px){
  .theme-ink > section:first-child:has(h1.display[style*="2.75vw"]) > .container-page{
    padding-top:28px;
  }
  .theme-ink h1.display[style*="2.75vw"]{
    font-size:clamp(24px,2.7vw,33px) !important;
    margin-bottom:11px;
  }
  .theme-ink h1.display[style*="2.75vw"] > span{ margin-top:10px; font-size:15.5px }
  .theme-ink .beam ~ .container-page > div:first-child > p{ margin-bottom:16px }
}


/* ==========================================================================
   Точечные правки главной, 12.09.2026. Структура и тексты не тронуты.
   ========================================================================== */

/* 1. Кнопки: плотная заливка вместо градиента, тень в цвет заливки */
.btn-gradient{
  background:var(--color-brand);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18), 0 2px 3px -1px rgba(31,63,204,.4);
}
.btn-gradient:hover{background:var(--color-brand-hover)}

/* 2. Бегущий блик на бумажных карточках снят: бумага не блестит */
.sheen{display:none}

/* 3. Кикеры карточек: курсив дисплейной гарнитуры вместо разрядки капсом */
.paper .text-\[11px\].uppercase{
  text-transform:none;
  letter-spacing:0;
  font-family:var(--display-face);
  font-style:italic;
  font-weight:400;
  font-size:15.5px;
  color:var(--color-brand);
}
/* Заголовки колонок подвала: тот же курсив, но тихий */
.ink-section .text-\[11px\].uppercase{
  text-transform:none;
  letter-spacing:0;
  font-family:var(--display-face);
  font-style:italic;
  font-weight:400;
  font-size:15.5px;
  color:var(--color-text-dim);
}

/* 4. Карточка события: тень от одного источника, а не облако вокруг */
#events a.group{
  box-shadow:0 1px 1px rgba(22,26,38,.05), 0 14px 26px -22px rgba(22,26,38,.35) !important;
}
#events a.group:hover{
  box-shadow:0 1px 1px rgba(22,26,38,.06), 0 18px 30px -22px rgba(22,26,38,.4) !important;
}

/* 5. Спикеры: кромка тоном, а не линией; фото крупнее и спокойнее по радиусу */
#experts .grid > div{
  border-color:transparent;
  box-shadow:inset 0 0 0 1px rgba(22,26,38,.07), inset 0 1px 0 rgba(255,255,255,.8), 0 1px 1px rgba(22,26,38,.04);
}
#experts .grid img{width:136px;height:136px;border-radius:12px}

/* 6. FAQ: голый плюс вместо плюса в кружке */
#faq summary > span:last-child{border:0}
#faq summary:hover > span:first-child{color:var(--color-brand)}

/* 7. Подвал продолжает поверхность страницы без шва и уходит на чуть более
   тёмный пол; водяной знак набран синими чернилами, как гравюра в шапке */
.ink-section{background:linear-gradient(180deg,#E0DCD2 0,#DBD6CA 55%,#D4CFC2 100%)}
.ink-section:after{background:linear-gradient(118deg,#ffca821f,#ffca820a 26%,#0000 46%)}
.ink-section .text-white\/\[0\.09\]{color:rgba(31,63,204,.11)}
/* Верхний отступ подвала оголял фон body полосой между секциями:
   отступ переносим внутрь основной области, поверхность идёт без разрыва */
footer.ink-section{margin-top:0}
.theme-ink{padding-bottom:64px}
/* Янтарная подсветка подвала начиналась резко от его верхнего края и читалась
   как шов: свечение, обрезанное границей секции. Снимаем, подвал держит тон. */
.ink-section:after{background:none}
