/* ReferenceGuides — единый стиль сайта, версия 3.
   Палитра — светлые жёлто-золотистые тона (пергамент и золото).
   Все страницы, включая главную, устроены одинаково: шапка → (хлебные крошки) → иконка, заголовок, вводный текст → содержимое.
   Плитки (.grid и списки ссылок ul.links) выкладываются симметрично: ряды центрируются, неполный последний ряд стоит по центру.
   Классы раскладки: .grid — 3 в ряд, .grid.g2 — 2 в ряд, .grid.g4 — 4 в ряд. */
:root{
  --bg:#fbf4df;      /* пергамент — фон */
  --bg2:#f5e9c3;     /* чередующиеся секции */
  --panel:#fffbee;   /* плитки */
  --gold:#d9b64a;    /* рамки, акценты */
  --deep:#8d6b14;    /* кнопки, ссылки */
  --deep2:#75590f;   /* наведение */
  --ink:#4a3a10;     /* текст */
  --muted:#7c6526;   /* вторичный текст */
  --line:#e9d89e;    /* линии */
  --sans:system-ui,'Segoe UI',Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Georgia,'Times New Roman',serif;background:var(--bg);color:var(--ink);line-height:1.65;font-size:17px}
h1,h2,h3{line-height:1.22;margin:0 0 .5em;font-weight:700;color:#3f3109}
h1{font-size:clamp(2rem,4.4vw,2.9rem);letter-spacing:-.01em}
h2{font-size:clamp(1.35rem,3vw,1.85rem)}
h3{font-size:1.12rem}
p{margin:.4em 0 1em}
a{color:var(--deep)}
a:focus-visible{outline:3px solid var(--deep);outline-offset:2px;border-radius:4px}
.wrap{max-width:1080px;margin:0 auto;padding:0 22px}

/* ── Шапка: одинаковая на всех страницах ── */
header.site{background:linear-gradient(180deg,#f6e7b2,#f1dda0);border-bottom:2px solid var(--gold)}
header.site .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:6px 26px;padding-top:16px;padding-bottom:4px}
.logo{display:inline-flex;align-items:center;gap:11px;color:#3f3109;text-decoration:none;font-size:1.35rem;font-weight:700}
.logo .mark{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--panel);border:2px solid var(--gold);font-size:1.15rem}
.lang{margin-left:auto;font-family:var(--sans);font-size:.85rem;color:#a08a50;line-height:2.2}
.lang a,.lang b{display:inline-block;padding:1px 9px;border-radius:999px;line-height:1.7}
.lang a{color:#6b5410;text-decoration:none;border:1px solid var(--gold);background:var(--panel)}
.lang a:hover{color:#3f3109;background:#fdf3cf}
.lang b{background:var(--deep);color:#fff8dd;border:1px solid var(--deep)}
nav.main{flex-basis:100%;display:flex;flex-wrap:wrap;gap:2px 4px;font-family:var(--sans);font-size:.93rem;padding:4px 0 8px}
nav.main a{color:#6b5410;text-decoration:none;padding:7px 11px;border-radius:999px;border:1px solid transparent}
nav.main a:hover{background:#fdf3cf;border-color:var(--line);color:#3f3109}
nav.main a[aria-current]{background:var(--panel);border-color:var(--gold);color:#3f3109;font-weight:600}
.cta-row{border-top:1px solid #d9b64a66;padding-top:10px;padding-bottom:14px}
.cta-zoom{display:inline-block;background:var(--deep);color:#fff8dd;text-decoration:none;padding:10px 22px;border-radius:999px;font-family:var(--sans);font-weight:600;font-size:.95rem;box-shadow:0 2px 6px #8d6b1440;transition:background .15s}
.cta-zoom:hover{background:var(--deep2);color:#fff}

/* ── Структура содержимого ── */
section{padding:44px 0}
section.alt{background:var(--bg2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.crumbs{font-family:var(--sans);font-size:.88rem;margin:18px auto 0;color:var(--muted)}
.crumbs a{text-decoration:none}
.crumbs + section{padding-top:24px}
header.site + section{padding-top:65px} /* главная без крошек: заголовок на той же высоте, что и на остальных страницах */
p.lead{font-size:1.1rem;max-width:68ch;color:#53420f;margin:.5em 0 1.2em}
p.note{color:var(--muted);font-size:.95rem;max-width:72ch}
.kicker{font-family:var(--sans);font-size:.86rem;color:var(--deep);margin-bottom:6px}
.kicker::before{content:'◆ ';font-size:.7em;vertical-align:.15em}
section ul:not(.links){max-width:72ch}

/* ── Иконки разделов ── */
.icon{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:13px;background:#f7ecc6;border:1px solid var(--gold);color:var(--deep);margin-bottom:12px}
.icon.page{width:52px;height:52px;margin-bottom:14px}
.icon svg{display:block}

/* ── Кнопки ── */
.btn{display:inline-block;background:var(--deep);color:#fff8dd;text-decoration:none;padding:12px 24px;border-radius:999px;font-family:var(--sans);font-weight:600;margin:0 10px 10px 0;box-shadow:0 2px 6px #8d6b1440;transition:background .15s}
.btn:hover{background:var(--deep2);color:#fff}
.btn.ghost{background:#fffbee99;color:#6b5410;border:1px solid var(--deep);box-shadow:none}
.btn.ghost:hover{background:var(--panel)}
.btn.wa{background:#a07c16;color:#fff8dd}
.btn.wa:hover{background:var(--deep2)}

/* ── Плитки: симметричная раскладка, вся плитка кликабельна ── */
.grid{display:flex;flex-wrap:wrap;justify-content:center;gap:20px;margin-top:24px}
.grid>*{flex:0 1 calc((100% - 40px)/3);min-width:0}
.grid.g2>*{flex-basis:calc((100% - 20px)/2)}
.grid.g4>*{flex-basis:calc((100% - 60px)/4)}
.card{position:relative;display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:22px 24px;transition:border-color .15s,box-shadow .15s}
.card:hover{border-color:var(--gold)}
.card:has(.more):hover{box-shadow:0 4px 14px #c9a22733}
.card>.icon,.card>.btn,.card>.cat{align-self:flex-start}
.card h3{margin-top:0}
.card .tags{font-family:var(--sans);font-size:.78rem;color:var(--muted);margin:6px 0 0}
.card a.more{margin-top:auto;padding-top:14px;font-family:var(--sans);font-weight:600;text-decoration:none}
.card a.more::after{content:'';position:absolute;inset:0;border-radius:inherit}

/* ── Списки ссылок каталога — тоже плитки ── */
ul.links{list-style:none;padding:0;margin:16px 0 0;display:flex;flex-wrap:wrap;justify-content:center;gap:14px}
ul.links li{position:relative;flex:0 1 calc((100% - 14px)/2);min-width:0;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px 18px;transition:border-color .15s}
ul.links:not(:has(.desc)) li{flex-basis:calc((100% - 28px)/3)}
ul.links:not(:has(.desc)):has(>li:nth-child(4):last-child) li,
ul.links:not(:has(.desc)):has(>li:nth-child(2):last-child) li{flex-basis:calc((100% - 14px)/2)}
ul.links li:hover{border-color:var(--gold)}
ul.links a{font-weight:700;text-decoration:none}
ul.links a::after{content:'';position:absolute;inset:0;border-radius:inherit}
.country{display:inline-block;margin-left:8px;font-family:var(--sans);font-size:.72rem;color:var(--muted);border:1px solid var(--line);background:#fdf6df;border-radius:999px;padding:0 9px;vertical-align:middle}
ul.links p.desc{margin:4px 0 0;color:var(--muted);font-size:.93rem;font-family:var(--sans)}

/* ── Цифры ── */
.stats{display:flex;flex-wrap:wrap;justify-content:center;gap:20px;margin-top:28px}
.stat{flex:1 1 200px;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:20px;text-align:center}
.stat b{display:block;font-size:2.2rem;color:var(--deep)}
.stat span{color:var(--muted);font-size:.9rem;font-family:var(--sans)}

/* ── Поиск / фильтр ── */
.filter{margin:20px 0 6px}
.filter input{width:100%;max-width:440px;padding:12px 16px;border:1px solid var(--gold);border-radius:999px;font-size:1rem;background:var(--panel);color:var(--ink);font-family:var(--sans)}
.filter input:focus{outline:3px solid #d9b64a88;outline-offset:1px}
.count{color:var(--muted);font-size:.9rem;margin-top:8px;font-family:var(--sans)}

/* ── Новости ── */
.news .card .cat{font-family:var(--sans);font-size:.78rem;font-weight:700;color:var(--deep)}
.news .card .place{font-family:var(--sans);font-size:.8rem;color:var(--muted);margin:.2em 0 .4em}

/* ── Врезки и подвал ── */
.disclaimer{background:#f7ecc6;border:1px solid var(--gold);border-radius:14px;padding:16px 22px;margin-top:28px;font-size:.95rem}
footer.site{background:#f1dd9f;border-top:2px solid var(--gold);color:#6b5410;padding:26px 0;font-family:var(--sans);font-size:.92rem}
footer.site a{color:#5d4a0e}
footer.site .cols{display:flex;flex-wrap:wrap;gap:12px 36px;justify-content:space-between;align-items:center}

/* ── Узкие экраны ── */
@media (max-width:920px){
  .grid>*,.grid.g4>*{flex-basis:calc((100% - 20px)/2)}
  ul.links:not(:has(.desc)) li{flex-basis:calc((100% - 14px)/2)}
}
@media (max-width:600px){
  body{font-size:16px}
  section{padding:32px 0}
  .grid>*,ul.links>li{flex-basis:100% !important}
  .lang{margin-left:0;flex-basis:100%}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .card,.cta-zoom,.btn,ul.links li{transition:none}
}

/* ── Плитки-действия (версия 3.1): практический шаг — купить билеты, записаться на урок ──
   Архитектура: в каждом разделе два типа плиток.
   «Источник» (обычная плитка) — изучить и прочитать; «Действие» (.act) — сделать: купить, записаться, забронировать. */
.card.act,ul.links li.act{background:linear-gradient(180deg,#faeec8,#f3e1a6);border-color:#b8962e}
.card.act:hover,ul.links li.act:hover{border-color:var(--deep)}
.card.act a.more{align-self:flex-start;margin-top:auto;padding:9px 18px;border-radius:999px;background:var(--deep);color:#fff8dd}
.do{display:inline-block;margin-top:10px;padding:5px 14px;border-radius:999px;background:var(--deep);color:#fff8dd;font-family:var(--sans);font-size:.84rem;font-weight:600}
.card a.buy{position:relative;z-index:2;align-self:flex-start;margin-top:10px;padding:6px 14px;border-radius:999px;border:1px solid var(--deep);background:#fdf3cf;color:#5d4a0e;font-family:var(--sans);font-size:.85rem;font-weight:600;text-decoration:none}
.card a.buy:hover{background:var(--deep);color:#fff8dd}
/* Подсказка о двух типах плиток */
.legend{font-family:var(--sans);font-size:.9rem;color:var(--muted);margin:.2em 0 .8em}
.legend .t{display:inline-block;margin-right:6px;padding:1px 10px;border-radius:999px;border:1px solid var(--line);background:var(--panel);color:var(--ink)}
.legend .t.act{background:#f3e1a6;border-color:#b8962e}
/* Встроенное окно (афиша Tomsarkgh) */
.window{margin-top:24px;border:1px solid #b8962e;border-radius:14px;overflow:hidden;background:#fff}
.window-bar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;padding:10px 16px;background:#f1dd9f;border-bottom:1px solid var(--gold);font-family:var(--sans);font-size:.9rem;color:#5d4a0e}
.window-bar a{font-weight:600;text-decoration:none}
.window iframe{display:block;width:100%;height:720px;border:0}
@media (max-width:600px){.window iframe{height:560px}}

/* ── Глобус ресурсов (версия 3.2): кнопка в левом нижнем углу и окно с глобусом ── */
.geo{scroll-margin-top:16px}
.globe-fab{position:fixed;left:18px;bottom:18px;z-index:900;width:58px;height:58px;border-radius:50%;border:2px solid #fffbee;background:radial-gradient(circle at 35% 30%,#f8ebbd,#d9b64a 62%,#8d6b14);color:#3f3109;box-shadow:0 4px 14px #8d6b1466;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .15s}
.globe-fab:hover{transform:scale(1.07)}
.globe-fab:focus-visible{outline:3px solid var(--deep);outline-offset:3px}
.globe-fab svg{width:30px;height:30px}
.globe-overlay{position:fixed;inset:0;z-index:1000;background:#3f310966;display:flex;align-items:center;justify-content:center;padding:2vh 2vw}
.globe-overlay[hidden]{display:none}
.globe-dialog{position:relative;width:min(1140px,96vw);height:min(740px,94vh);background:var(--bg);border:1px solid #b8962e;border-radius:18px;box-shadow:0 20px 60px #3f310966;display:grid;grid-template-columns:minmax(0,1fr) 370px;overflow:hidden}
.globe-stage{position:relative;min-height:0;background:radial-gradient(circle at 50% 46%,#fffbee 0,#f7ecca 60%,#f1dda0 100%)}
.globe-stage svg{position:absolute;inset:0;width:100%;height:100%;display:block;cursor:grab;touch-action:none}
.globe-stage svg:active{cursor:grabbing}
.g-ocean{fill:#fdf3d6;stroke:#b8962e;stroke-width:1.2}
.g-grat{fill:none;stroke:#e6d39a;stroke-width:.5}
.g-land{fill:#efe2b8;stroke:#c9a74a;stroke-width:.4;cursor:pointer}
.g-land.has{fill:#dcbb55}
.g-land:hover{fill:#c9a227}
.g-land.sel{fill:#8d6b14;stroke:#3f3109;stroke-width:.9}
.g-dot{fill:#6b5410;stroke:#fffbee;stroke-width:1.5;pointer-events:none}
.g-label{font-family:var(--sans);font-size:12px;font-weight:700;fill:#3f3109;paint-order:stroke;stroke:#fffbee;stroke-width:3px;stroke-linejoin:round;pointer-events:none}
.globe-tools{position:absolute;left:14px;top:14px;display:flex;gap:6px;z-index:2}
.globe-tools button,.globe-close{font-family:var(--sans);font-size:.95rem;font-weight:700;min-width:38px;height:38px;padding:0 12px;border-radius:999px;border:1px solid #b8962e;background:#fffbee;color:#5d4a0e;cursor:pointer}
.globe-tools button:hover,.globe-close:hover{background:var(--deep);color:#fff8dd}
.globe-close{position:absolute;right:12px;top:12px;z-index:3}
.globe-hint{position:absolute;left:14px;right:14px;bottom:10px;margin:0;font-family:var(--sans);font-size:.8rem;color:var(--muted);pointer-events:none;z-index:2}
.globe-msg{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:24px;text-align:center;font-family:var(--sans);color:var(--muted)}
.globe-tip{position:absolute;z-index:3;pointer-events:none;background:#3f3109;color:#fff8dd;padding:3px 10px;border-radius:8px;font-family:var(--sans);font-size:.82rem;white-space:nowrap;transform:translate(-50%,-140%)}
.globe-tip[hidden]{display:none}
.globe-side{min-height:0;overflow-y:auto;border-left:1px solid var(--line);background:var(--panel);padding:58px 22px 24px}
.globe-side h2{font-size:1.55rem;margin:0 0 .35em}
.globe-side h3{font-size:1rem;margin:18px 0 6px;font-family:var(--sans);color:var(--muted)}
.globe-side p{font-size:.95rem}
.globe-side ul{list-style:none;padding:0;margin:8px 0 0;display:flex;flex-direction:column;gap:8px}
.globe-side li{position:relative;border:1px solid var(--line);border-radius:10px;padding:9px 13px;background:#fffdf4;font-size:.95rem}
.globe-side li:hover{border-color:var(--gold)}
.globe-side li.act{background:linear-gradient(180deg,#faeec8,#f3e1a6);border-color:#b8962e}
.globe-side li a{display:block;font-weight:700;line-height:1.35;text-decoration:none}
.globe-side li a::after{content:'';position:absolute;inset:0;border-radius:inherit}
.globe-side li .do{display:block;width:max-content;max-width:100%;margin-top:8px;line-height:1.3}
.globe-more{display:inline-block;margin-top:14px;font-family:var(--sans);font-weight:600;text-decoration:none}
.globe-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.globe-chips button{font-family:var(--sans);font-size:.85rem;padding:5px 12px;border-radius:999px;border:1px solid var(--gold);background:#fdf6df;color:#5d4a0e;cursor:pointer}
.globe-chips button:hover{border-color:var(--deep)}
.globe-chips button[aria-pressed="true"]{background:var(--deep);color:#fff8dd;border-color:var(--deep)}
@media (max-width:820px){
  .globe-dialog{grid-template-columns:1fr;grid-template-rows:minmax(0,54%) minmax(0,46%);height:94vh}
  .globe-side{border-left:0;border-top:1px solid var(--line);padding-top:18px}
  .globe-hint{display:none}
}
@media (prefers-reduced-motion:reduce){.globe-fab{transition:none}}

/* ── 3.3 (19.10.2026): все плитки кликабельны целиком; цифры на главной — ссылки; крупная цветная вращающаяся кнопка-глобус ── */
/* слой-ссылка повторяет скругление плитки: у кнопки-«пилюли» в плитке-действии скругление 999px, из-за него углы плитки не нажимались */
.card a.more::after,.card a.stretch::after{content:'';position:absolute;inset:0;border-radius:14px}
.card a.stretch{position:static}
a.stat{display:block;text-decoration:none;color:inherit;transition:border-color .15s,box-shadow .15s,transform .15s}
a.stat:hover{border-color:var(--gold);box-shadow:0 4px 14px #c9a22733;transform:translateY(-2px)}
a.stat:focus-visible{outline:3px solid var(--deep);outline-offset:3px}
.globe-fab{width:84px;height:84px;padding:0;border:3px solid #e9c75a;color:#fff8dd;background:radial-gradient(circle at 35% 30%,#5aa9e6,#0e3f78 70%);box-shadow:0 0 0 2px #fffbee,0 0 18px 5px #6fb8ff59,0 6px 16px #00000038;overflow:hidden}
.globe-fab canvas{display:block;width:100%;height:100%;border-radius:50%}
.globe-fab:hover{transform:scale(1.06)}
@media (max-width:640px){.globe-fab{width:68px;height:68px;left:12px;bottom:12px}}
@media (prefers-reduced-motion:reduce){a.stat{transition:none}a.stat:hover{transform:none}}
/* 3.4 (19.10.2026, Claude) — длинные слова переводов (армянский, немецкий): перенос внутри плитки и заголовка вместо выхода за край */
h1,h2,h3,.card p,ul.links li,.crumbs{overflow-wrap:anywhere;hyphens:auto}
@media (max-width:600px){h1{font-size:clamp(1.55rem,7.4vw,2rem)}}
/* 3.5 (19.10.2026, Claude) — короткое меню «5 разделов + Ещё», переход к содержимому, кнопка «Наверх» (по советам AutoClaw) */
nav.main{position:relative;align-items:center}
nav.main details.more{position:static}
nav.main details.more>summary{list-style:none;cursor:pointer;color:#6b5410;padding:7px 11px;border-radius:999px;border:1px solid transparent;user-select:none}
nav.main details.more>summary::-webkit-details-marker{display:none}
nav.main details.more>summary::after{content:'';display:inline-block;width:.42em;height:.42em;margin:0 0 .2em .5em;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .15s}
nav.main details.more[open]>summary::after{transform:rotate(-135deg);margin-bottom:-.05em}
nav.main details.more>summary:hover,nav.main details.more[open]>summary{background:#fdf3cf;border-color:var(--line);color:#3f3109}
nav.main details.more:has(a[aria-current])>summary{background:var(--panel);border-color:var(--gold);color:#3f3109;font-weight:600}
nav.main details.more>summary:focus-visible{outline:3px solid var(--deep);outline-offset:2px}
nav.main .more-list{position:absolute;z-index:40;left:0;right:0;top:calc(100% - 4px);display:flex;flex-wrap:wrap;gap:2px 4px;padding:10px;background:var(--panel);border:1px solid var(--gold);border-radius:14px;box-shadow:0 12px 28px #5d4a0e2e}
.skip{position:absolute;left:-9999px;top:10px;z-index:100;background:var(--deep);color:#fff8dd;padding:10px 18px;border-radius:999px;font-family:var(--sans);font-weight:600;text-decoration:none}
.skip:focus{left:16px}
.to-top{position:fixed;right:18px;bottom:18px;z-index:30;display:flex;align-items:center;justify-content:center;width:50px;height:50px;border-radius:50%;background:var(--deep);color:#fff8dd;text-decoration:none;font-family:var(--sans);font-size:1.45rem;line-height:1;box-shadow:0 0 0 2px #fffbee,0 6px 16px #00000030;opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .2s,transform .2s,visibility .2s,background .15s}
.to-top.show{opacity:1;visibility:visible;transform:none}
.to-top:hover{background:var(--deep2)}
@media (max-width:640px){.to-top{right:12px;bottom:14px;width:46px;height:46px}}
@media (prefers-reduced-motion:reduce){.to-top,nav.main details.more>summary::after{transition:none}}
@media (max-width:600px){nav.main{font-size:.88rem}nav.main a,nav.main details.more>summary{padding:6px 9px}}
/* 3.6 (19.10.2026, Claude) — детская страница: метки возраста и кнопки-фильтры (совет AutoClaw) */
[hidden]{display:none!important}
.age{display:inline-block;margin-left:6px;font-family:var(--sans);font-size:.72rem;font-weight:700;color:#5d4a0e;background:#f6e3a3;border:1px solid var(--gold);border-radius:999px;padding:0 8px;vertical-align:middle}
.age-filter{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:14px 0 2px;font-family:var(--sans)}
.age-filter .label{color:var(--muted);font-size:.92rem;margin-right:2px}
.age-filter button{font-family:var(--sans);font-size:.9rem;font-weight:600;padding:6px 15px;border-radius:999px;border:1px solid var(--gold);background:#fdf6df;color:#5d4a0e;cursor:pointer}
.age-filter button:hover{border-color:var(--deep)}
.age-filter button[aria-pressed="true"]{background:var(--deep);border-color:var(--deep);color:#fff8dd}
.age-filter button:focus-visible{outline:3px solid var(--deep);outline-offset:2px}
/* 3.7 (19.10.2026, Claude) — новости с датами и рубриками (совет Анри) */
.card .when{font-family:var(--sans);font-size:.84rem;font-weight:700;color:#3f3109;margin:.35em 0 0}
.chips{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:6px 0 14px;font-family:var(--sans)}
.chips button{font-family:var(--sans);font-size:.9rem;font-weight:600;padding:6px 15px;border-radius:999px;border:1px solid var(--gold);background:#fdf6df;color:#5d4a0e;cursor:pointer}
.chips button:hover{border-color:var(--deep)}
.chips button[aria-pressed="true"]{background:var(--deep);border-color:var(--deep);color:#fff8dd}
.chips button:focus-visible{outline:3px solid var(--deep);outline-offset:2px}

/* ── 3.8 (19.10.2026, подпись: Claude) Глобус вместо значка над заголовком; всё, что похоже на кнопку, нажимается ── */
.icon.page.globe-top{width:56px;height:56px;padding:0;border-radius:50%;border:2px solid #e9c75a;color:#fff8dd;background:radial-gradient(circle at 35% 30%,#5aa9e6,#0e3f78 70%);box-shadow:0 0 0 2px #fffbee,0 0 12px 3px #6fb8ff40;overflow:hidden;cursor:pointer;transition:transform .15s}
.icon.page.globe-top canvas{display:block;width:100%;height:100%;border-radius:50%}
.icon.page.globe-top svg{width:30px;height:30px}
.icon.page.globe-top:hover{transform:scale(1.06)}
.icon.page.globe-top:focus-visible{outline:3px solid var(--deep);outline-offset:3px}
.globe-fab{transition:opacity .25s,transform .25s}
.globe-fab.away{opacity:0;transform:scale(.4);pointer-events:none}
ul.links li .country,ul.links li .age{position:relative;z-index:1;cursor:pointer}
ul.links li .country:hover,ul.links li .age:hover{border-color:var(--deep);background:#fdf0c4}
ul.links li .country:focus-visible,ul.links li .age:focus-visible,.legend .t:focus-visible{outline:3px solid var(--deep);outline-offset:2px}
.legend .t{cursor:pointer}
.legend .t:hover{border-color:var(--deep)}
.legend .t[aria-pressed="true"]{background:var(--deep);border-color:var(--deep);color:#fff8dd}
.lang a.cur{padding:0;border:0;background:none}
.rg-bar{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);z-index:950;display:flex;flex-wrap:wrap;align-items:center;gap:8px;max-width:calc(100% - 200px);padding:8px 10px 8px 16px;border-radius:999px;background:var(--deep);color:#fff8dd;font-family:var(--sans);font-size:.92rem;box-shadow:0 6px 18px #00000040}
.rg-bar button{font:inherit;font-size:.86rem;font-weight:600;padding:4px 13px;border-radius:999px;border:1px solid #e9c75a;background:#fff8dd;color:#3f3109;cursor:pointer}
.rg-bar button:hover{background:#fdf0c4}
.rg-bar button:focus-visible{outline:3px solid #e9c75a;outline-offset:2px}
@media (max-width:600px){.rg-bar{left:10px;right:10px;transform:none;max-width:none;bottom:88px;border-radius:14px}}
@media (prefers-reduced-motion:reduce){.globe-fab,.icon.page.globe-top{transition:none}}
/* ── 3.9 (19.10.2026, подпись: Claude) Первый экран главной: что это, для кого, бесплатно ── */
ul.hero-points{list-style:none;margin:.5em 0 1.4em;padding:0;display:grid;gap:6px;max-width:74ch}
ul.hero-points li{padding:6px 0 6px 14px;border-left:3px solid var(--gold);font-size:1.06rem;line-height:1.5;color:#53420f}
ul.hero-points b{color:var(--deep)}
@media (max-width:600px){ul.hero-points li{font-size:1rem}}
/* ── 3.10 (19.10.2026, подпись: Claude) Страница «Онлайн-ТВ и радио» (tv.html): поиск, части света, страны раскрываются ── */
.tv-tools{display:grid;gap:10px;margin:16px 0 8px}
.tv-tools input[type=search]{font:inherit;font-family:var(--sans);font-size:1rem;padding:10px 14px;border:1px solid var(--gold);border-radius:12px;background:#fffdf5;color:var(--ink);width:100%;max-width:520px;box-sizing:border-box}
.tv-tools input[type=search]:focus-visible{outline:3px solid var(--deep);outline-offset:2px}
.tv-tools .chips{margin:0}
.tv-tools .count{margin:0;font-family:var(--sans);font-size:.92rem;color:var(--muted)}
.tv-none{font-family:var(--sans);color:var(--muted)}
details.tvc{border:1px solid var(--line);border-radius:12px;background:var(--panel);margin:8px 0;scroll-margin-top:12px}
details.tvc>summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:10px;padding:12px 16px;font-weight:700;border-radius:12px}
details.tvc>summary::-webkit-details-marker{display:none}
details.tvc>summary::before{content:"▸";color:var(--gold);transition:transform .15s}
details.tvc[open]>summary::before{transform:rotate(90deg)}
details.tvc>summary:hover{background:#fdf6df}
details.tvc>summary:focus-visible{outline:3px solid var(--deep);outline-offset:2px}
.tvc-n{margin-left:auto;font-family:var(--sans);font-size:.78rem;font-weight:700;color:#5d4a0e;background:#f6e3a3;border:1px solid var(--gold);border-radius:999px;padding:0 9px}
details.tvc h3{margin:8px 16px 6px;font-family:var(--sans);font-size:.95rem;color:var(--muted)}
ul.tvl{list-style:none;margin:0 12px 12px;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px}
ul.tvl li{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:#fffdf5}
ul.tvl li:hover{border-color:var(--gold)}
ul.tvl a{font-weight:700;text-decoration:none;overflow-wrap:anywhere}
ul.tvl a::after{content:"";position:absolute;inset:0;border-radius:inherit}
ul.tvl .lng{position:relative;z-index:1;cursor:pointer;font-family:var(--sans);font-size:.72rem;color:var(--muted);border:1px solid var(--line);background:#fdf6df;border-radius:999px;padding:0 8px}
ul.tvl .lng:hover{border-color:var(--deep);color:var(--ink)}
ul.tvl .lng:focus-visible{outline:3px solid var(--deep);outline-offset:2px}
.tv-note{margin-top:18px}
@media (max-width:600px){ul.tvl{grid-template-columns:1fr;margin:0 8px 10px}details.tvc>summary{padding:11px 12px}}
@media (prefers-reduced-motion:reduce){details.tvc>summary::before{transition:none}}
/* ── 3.11 (19.10.2026, подпись: Claude) Длинные армянские и немецкие слова в заголовке на узком экране:
      «Նախադպրոցականների,» и «Naturwissenschaften» не помещались в строку и рвались посреди слова ── */
@media (max-width:600px){html[lang="hy"] h1,html[lang="de"] h1{font-size:clamp(1.3rem,6.6vw,2rem)}}@media (max-width:600px){html[lang="hy"] .card h3{font-size:.96em}}

/* ── 3.12 (20.10.2026, подпись: Claude) Глобус над заголовком крупнее — просьба Руди: 56 → 88 пикселей, на телефоне 72 ── */
.icon.page.globe-top{width:88px;height:88px;border-width:3px;box-shadow:0 0 0 2px #fffbee,0 0 16px 4px #6fb8ff4d,0 4px 12px #00000026}
.icon.page.globe-top svg{width:40px;height:40px}
@media (max-width:600px){.icon.page.globe-top{width:72px;height:72px}}/* 3.13 (20.10.2026, Claude): раздел «География» — большой глобус прямо на странице, справка о стране, поиск, таблица всех стран;
   на странице видео- и аудиоресурсов — общие каталоги веб-камер */
.geo-find{margin:14px 0 0}
.geo-find input[type=search]{font:inherit;font-family:var(--sans);font-size:1rem;padding:10px 14px;border:1px solid var(--gold);border-radius:12px;background:#fffdf5;color:var(--ink);width:100%;max-width:520px;box-sizing:border-box}
.geo-find input[type=search]:focus-visible{outline:3px solid var(--deep);outline-offset:2px}
.geo-globe.globe-inline{margin:14px 0 18px;scroll-margin-top:10px}
.globe-inline .globe-dialog{width:100%;height:min(720px,82vh);box-shadow:0 8px 28px #3f31092e}
.globe-inline .globe-side{padding-top:22px}
.geo-flag{display:block;width:60px;height:auto;margin:0 0 10px;border:1px solid var(--line);border-radius:4px;background:#fff}
dl.geo-facts{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:5px 12px;margin:6px 0 12px;font-size:.95rem}
dl.geo-facts dt{font-family:var(--sans);font-size:.82rem;color:var(--muted);padding-top:2px}
dl.geo-facts dd{margin:0;overflow-wrap:anywhere}
.geo-nb{font:inherit;font-family:var(--sans);font-size:.8rem;margin:0 5px 5px 0;padding:1px 10px;border:1px solid var(--line);border-radius:999px;background:#fdf6df;color:var(--ink);cursor:pointer}
.geo-nb:hover{border-color:var(--deep)}
.geo-nb:focus-visible{outline:3px solid var(--deep);outline-offset:2px}
details.geo-all{border:1px solid var(--line);border-radius:12px;background:var(--panel);margin:8px 0 18px}
details.geo-all>summary{cursor:pointer;padding:12px 16px;font-weight:700;font-family:var(--sans);border-radius:12px}
details.geo-all>summary:hover{background:#fdf6df}
details.geo-all>summary:focus-visible{outline:3px solid var(--deep);outline-offset:2px}
.geo-table-wrap{overflow-x:auto;padding:0 8px 10px}
table.geo-table{border-collapse:collapse;width:100%;font-size:.93rem}
table.geo-table th,table.geo-table td{padding:6px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
table.geo-table th{font-family:var(--sans);font-size:.85rem;color:var(--muted)}
table.geo-table td:nth-child(3),table.geo-table td:nth-child(4),table.geo-table th:nth-child(3),table.geo-table th:nth-child(4){text-align:right;white-space:nowrap}
table.geo-table img{width:24px;height:auto;vertical-align:-2px;margin-right:6px;border:1px solid var(--line)}
table.geo-table tr:target{background:#fbefc6}
.geo-page h3{margin:18px 0 8px}
.cams-top{margin:14px 0 6px}
.cams-top h2{font-size:1.2rem;margin:0 0 8px}
@media (max-width:820px){
  .globe-inline .globe-dialog{height:auto;grid-template-rows:380px auto}
  .globe-inline .globe-side{overflow:visible}
}
.cams-top .cdesc{flex-basis:100%;font-family:var(--sans);font-size:.82rem;color:var(--muted);line-height:1.35}
ul.tvl li.map{background:#fdf6df;border-style:dashed}
/* 3.14 (20.10.2026, Claude, просьба Рудольфа): название каждой страницы — рядом с верхним глобусом, а не под ним */
.icon.page{vertical-align:middle;margin:0 16px 0 0}
.icon.page+h1{display:inline-block;vertical-align:middle;max-width:calc(100% - 112px);margin:0}
.icon.page+h1+p.lead{margin-top:.9em}
@media (max-width:600px){.icon.page{margin-right:12px}.icon.page+h1{max-width:calc(100% - 90px)}}
/* 3.15 (20.10.2026, Claude): меню по функции посетителя (nav_groups_v1.ps1) — 7 пунктов, три раскрывающиеся группы;
   на телефоне чуть плотнее, чтобы меню занимало три строки вместо четырёх-пяти */
@media (max-width:600px){nav.main{gap:2px 2px;font-size:.86rem}nav.main a,nav.main details.more>summary{padding:6px 8px}nav.main details.more>summary::after{margin-left:.35em}}
/* 3.16 (20.10.2026, Claude, просьба Рудольфа): кнопки «записаться на консультацию» — ярко-жёлтые, золотистые;
   «Гид по сайту» — профессор в мантии (кнопка справа внизу, окно с функциями посетителя, облачко-подсказка);
   круглая кнопка языков в стиле глобуса — слева внизу, видна всегда */
.cta-zoom,.btn.wa.stretch{background:linear-gradient(180deg,#ffe76e 0%,#ffd21f 55%,#f2b600 100%);color:#3a2a00;border:1px solid #c99a00;box-shadow:inset 0 0 0 2px #fff4c2,0 3px 12px #f2b60073;text-shadow:0 1px 0 #fff3b0;font-weight:700}
.cta-zoom:hover,.btn.wa.stretch:hover{background:linear-gradient(180deg,#fff18f 0%,#ffd935 55%,#f7c10f 100%);color:#2a1e00}
.cta-zoom:focus-visible,.btn.wa.stretch:focus-visible{outline:3px solid #8d6b14;outline-offset:3px}
.guide-fab{position:fixed;right:18px;bottom:80px;z-index:905;width:68px;height:68px;padding:0;border-radius:50%;border:3px solid #e9c75a;background:radial-gradient(circle at 40% 35%,#fffbee,#f7e3a0 70%,#e9c75a);box-shadow:0 0 0 2px #fffbee,0 0 16px 4px #f2c23059,0 6px 16px #00000030;cursor:pointer;overflow:hidden;transition:bottom .25s,transform .15s}
.guide-fab svg{display:block;width:100%;height:100%}
.guide-fab:hover{transform:scale(1.06)}
.guide-fab:focus-visible{outline:3px solid var(--deep);outline-offset:3px}
.to-top:not(.show)~.guide-fab{bottom:18px}
.guide-tip{position:fixed;right:98px;bottom:96px;z-index:906;max-width:250px;padding:11px 15px;border-radius:16px 16px 4px 16px;background:#fffbee;border:2px solid #e9c75a;box-shadow:0 8px 22px #5d4a0e40;font-family:var(--sans);font-size:.92rem;line-height:1.35;color:#3f3109;cursor:pointer}
.to-top:not(.show)~.guide-tip{bottom:34px}
.guide-overlay{position:fixed;inset:0;z-index:1001;background:#3f310966;display:flex;align-items:center;justify-content:center;padding:2vh 2vw}
.guide-overlay[hidden]{display:none}
.guide-dialog{position:relative;width:min(1040px,96vw);max-height:94vh;overflow:auto;background:var(--bg);border:1px solid #b8962e;border-radius:18px;box-shadow:0 20px 60px #3f310966;display:grid;grid-template-columns:220px minmax(0,1fr);gap:8px 20px;padding:22px 24px}
.guide-close{position:absolute;right:12px;top:12px;z-index:2}
.guide-prof{align-self:start;position:sticky;top:0}
.guide-prof svg{display:block;width:100%;height:auto;filter:drop-shadow(0 6px 12px #3f310933)}
.guide-body h2{margin:4px 0 4px;font-size:1.6rem}
.guide-hello{margin:0 0 14px;padding:10px 14px;border-radius:16px 16px 16px 4px;background:#fdf3cf;border:1px solid var(--gold);font-size:1.02rem}
.guide-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}
.guide-card{border:1px solid var(--line);border-left:5px solid var(--gold);border-radius:14px;background:var(--panel);padding:10px 14px 12px}
.guide-card.g-learn{border-left-color:#4f8cc9}.guide-card.g-find{border-left-color:#3c9a6b}.guide-card.g-cult{border-left-color:#b5577b}.guide-card.g-help{border-left-color:#f2b600}.guide-card.g-about{border-left-color:#8d6b14}
.guide-card h3{margin:2px 0 8px;font-size:1.15rem}
.guide-card ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.guide-card li>a:not(.cta-zoom){display:block;padding:7px 10px;border-radius:10px;border:1px solid transparent;font-family:var(--sans);font-weight:700;font-size:.93rem;text-decoration:none;color:#3f3109}
.guide-card li>a:not(.cta-zoom):hover{background:#fdf3cf;border-color:var(--line)}
.guide-card li>a[aria-current]{background:#fdf3cf;border-color:var(--gold)}
.guide-card small{display:block;margin-top:2px;font-weight:400;font-size:.8rem;color:var(--muted);line-height:1.3}
.guide-card li.consult{margin-top:4px}
.guide-card .cta-zoom{display:inline-block;padding:8px 16px;font-size:.88rem;border-radius:999px;text-decoration:none}
.lang-fab{position:fixed;left:18px;bottom:114px;z-index:905;transition:bottom .25s}
.globe-fab.away~.lang-fab{bottom:18px}
.lang-btn{position:relative;width:58px;height:58px;padding:0;border-radius:50%;border:3px solid #e9c75a;color:#fff8dd;background:radial-gradient(circle at 35% 30%,#5aa9e6,#0e3f78 70%);box-shadow:0 0 0 2px #fffbee,0 0 14px 4px #6fb8ff4d,0 4px 12px #00000030;cursor:pointer;font-family:var(--sans);font-weight:800;font-size:.95rem;letter-spacing:.02em}
.lang-btn svg{position:absolute;inset:6px;width:calc(100% - 12px);height:calc(100% - 12px);fill:none;stroke:#fff8dd66;stroke-width:1.2}
.lang-btn span{position:relative}
.lang-btn:hover{transform:scale(1.06)}
.lang-btn:focus-visible{outline:3px solid var(--deep);outline-offset:3px}
.lang-list{position:absolute;left:5px;bottom:66px;display:flex;flex-direction:column;gap:7px}
.lang-list[hidden]{display:none}
.lang-list a{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;border:2px solid #e9c75a;background:radial-gradient(circle at 35% 30%,#7bbdf0,#155a9e 72%);color:#fff8dd;font-family:var(--sans);font-weight:800;font-size:.86rem;text-decoration:none;box-shadow:0 0 0 2px #fffbee,0 4px 10px #00000030}
.lang-list a:hover{transform:scale(1.08)}
.lang-list a:focus-visible{outline:3px solid var(--deep);outline-offset:2px}
@media (max-width:820px){.guide-dialog{grid-template-columns:1fr;padding:18px 16px}.guide-prof{position:static;width:130px;margin:0 auto}}
@media (max-width:640px){.guide-fab{right:12px;bottom:72px;width:58px;height:58px}.to-top:not(.show)~.guide-fab{bottom:14px}.guide-tip{right:80px;bottom:80px;max-width:210px}.lang-fab{left:12px;bottom:92px}.globe-fab.away~.lang-fab{bottom:12px}.lang-btn{width:52px;height:52px}.lang-list a{width:44px;height:44px}.lang-list{bottom:60px;left:4px}}
@media (prefers-reduced-motion:reduce){.guide-fab,.lang-fab,.lang-btn,.lang-list a{transition:none}.guide-fab:hover,.lang-btn:hover,.lang-list a:hover{transform:none}}
/* 3.17 (20.10.2026, Claude): на телефоне название рядом с глобусом — чуть мельче и без разрыва слов посередине */
@media (max-width:600px){.icon.page+h1{font-size:clamp(1.3rem,6.4vw,1.9rem);overflow-wrap:break-word;hyphens:manual}}
.guide-fh{margin:-4px 0 8px;font-family:var(--sans);font-size:.84rem;color:#5d4a0e;line-height:1.35}

/* ===== ReferenceGuides UI v6 — 20.10.2026, AutoClaw =====
   Ярко-золотые кнопки записи, гид-профессор с поиском и экскурсией,
   языковой глобус в шапке и плавающий при прокрутке. */

/* 1. Кнопки «записаться на консультацию» — яркое золото */
a.cta-zoom,
a.gold-cta {
  background: linear-gradient(180deg, #FFF59A 0%, #FFD21F 38%, #F5A800 100%) !important;
  color: #2B1E00 !important;
  border: 1px solid #B87900 !important;
  border-radius: 999px !important;
  box-shadow: inset 0 0 0 2px #FFF3B0, 0 4px 14px rgba(245, 168, 0, .45), 0 0 22px rgba(255, 210, 31, .28) !important;
  text-shadow: 0 1px 0 #FFF6C7 !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  position: relative;
  overflow: hidden;
  transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
}
a.cta-zoom:hover,
a.gold-cta:hover {
  background: linear-gradient(180deg, #FFF9BC 0%, #FFDC3D 38%, #FFB400 100%) !important;
  color: #241900 !important;
  transform: translateY(-1px);
  box-shadow: inset 0 0 0 2px #FFFBDA, 0 7px 20px rgba(245, 168, 0, .55), 0 0 28px rgba(255, 210, 31, .38) !important;
}
a.cta-zoom:active,
a.gold-cta:active { transform: translateY(1px); }
a.cta-zoom:focus-visible,
a.gold-cta:focus-visible { outline: 3px solid #1E5AA8; outline-offset: 3px; }
a.cta-zoom::after,
a.gold-cta::after {
  content: "";
  position: absolute;
  top: -60%;
  bottom: -60%;
  left: -40%;
  width: 32%;
  background: linear-gradient(115deg, transparent 0%, rgba(255, 255, 255, .65) 50%, transparent 100%);
  transform: rotate(18deg) translateX(-220%);
  transition: transform .55s ease;
  pointer-events: none;
}
a.cta-zoom:hover::after,
a.gold-cta:hover::after { transform: rotate(18deg) translateX(620%); }

/* старая версия гида и языковой кнопки — скрыта, работает v6 */
.guide-fab, .guide-tip, .lang-fab, .guide-overlay { display: none !important; }

/* 2. Языковой глобус в шапке */
.gd2-js .lang .gd2-lang-native { display: none !important; }
.gd2-js .lang { display: flex; align-items: center; justify-content: flex-end; }
.gd2-lang { position: relative; display: inline-flex; align-items: center; }
.gd2-lang-btn {
  display: inline-flex; align-items: center; gap: 7px;
  border: 1px solid #D7C37A; border-radius: 999px;
  background: linear-gradient(180deg, #FFFDF4, #F7E8B8);
  color: #4A3A10; padding: 6px 10px 6px 8px;
  font: 800 .82rem/1 var(--sans); cursor: pointer;
  box-shadow: 0 2px 6px #8d6b1420;
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.gd2-lang-btn svg { width: 18px; height: 18px; fill: none; stroke: #2E5E9E; stroke-width: 1.7; stroke-linecap: round; }
.gd2-lang-btn span { letter-spacing: .04em; }
.gd2-lang-btn i { font-style: normal; font-size: .72rem; color: #8A7A4A; }
.gd2-lang-btn:hover { border-color: #C98A00; transform: translateY(-1px); box-shadow: 0 4px 10px #8d6b1430; }
.gd2-lang-btn:focus-visible { outline: 3px solid #1E5AA8; outline-offset: 2px; }
.gd2-lang-menu {
  position: absolute; right: 0; top: calc(100% + 6px); z-index: 10040;
  min-width: 190px; padding: 6px;
  background: #FFFDF6; border: 1px solid #D9B64A; border-radius: 12px;
  box-shadow: 0 14px 34px #3f310940; display: none;
}
.gd2-lang.open .gd2-lang-menu,
.gd2-lang-fab.open .gd2-lang-menu { display: block; }
.gd2-lang-menu a {
  display: flex; justify-content: space-between; gap: 12px;
  padding: 8px 10px; border-radius: 8px; text-decoration: none;
  color: #4A3A10; font: 600 .86rem/1.2 var(--sans);
}
.gd2-lang-menu a:hover { background: #FFF3C4; }
.gd2-lang-menu a[aria-current="true"] { background: #FFE99A; }
.gd2-lang-menu small { color: #8A7A4A; font-weight: 800; }

.gd2-lang-fab {
  position: fixed; right: 14px; top: 14px; z-index: 10030;
  opacity: 0; transform: translateY(-8px); pointer-events: none;
  transition: opacity .2s ease, transform .2s ease;
}
.gd2-lang-fab.show { opacity: 1; transform: none; pointer-events: auto; }
.gd2-lang-fab .gd2-lang-btn {
  width: 52px; height: 52px; padding: 0; justify-content: center;
  border: 2px solid #D9B64A; border-radius: 50%;
  background: radial-gradient(circle at 35% 30%, #7BBDF0, #155A9E 72%);
  color: #FFF8DD; box-shadow: 0 0 0 2px #FFFBEE, 0 6px 16px #0003;
}
.gd2-lang-fab .gd2-lang-btn svg { width: 24px; height: 24px; stroke: #FFF8DD; }
.gd2-lang-fab .gd2-lang-btn span { font-size: .78rem; color: #FFF8DD; }
.gd2-lang-fab .gd2-lang-btn i { display: none; }
.gd2-lang-fab .gd2-lang-menu { top: calc(100% + 8px); }

/* 3. Кнопка гида */
.gd2-fab {
  position: fixed; right: 18px; bottom: 18px; z-index: 10010;
  width: 84px; height: 84px; padding: 0; border-radius: 50%;
  border: 3px solid #D99A00; cursor: pointer; overflow: hidden;
  background: radial-gradient(circle at 38% 28%, #FFFDF0 0%, #FFE680 38%, #F5B800 100%);
  box-shadow: 0 0 0 3px #FFF9DC, 0 0 0 7px rgba(245, 184, 0, .18), 0 10px 24px rgba(63, 49, 9, .28);
  transition: transform .18s ease, box-shadow .18s ease;
}
.gd2-fab svg { width: 100%; height: 100%; display: block; }
.gd2-fab:hover { transform: scale(1.06) rotate(-2deg); box-shadow: 0 0 0 3px #FFF9DC, 0 0 0 10px rgba(245, 184, 0, .22), 0 14px 30px rgba(63, 49, 9, .34); }
.gd2-fab:focus-visible { outline: 3px solid #1E5AA8; outline-offset: 4px; }
/* когда появилась стрелка «наверх», гид поднимается над ней */
.to-top.show ~ .gd2-fab { bottom: 84px; }
.gd2-fab-tip {
  position: fixed; right: 112px; bottom: 40px; z-index: 10010;
  background: #2B2410; color: #FFF6D8; border: 1px solid #D9B64A;
  border-radius: 9px; padding: 7px 11px; font: 700 .8rem/1.2 var(--sans);
  white-space: nowrap; opacity: 0; pointer-events: none;
  transform: translateX(6px); transition: opacity .15s ease, transform .15s ease;
}
.gd2-fab:hover + .gd2-fab-tip, .gd2-fab:focus-visible + .gd2-fab-tip { opacity: 1; transform: none; }

/* 4. Окно гида */
.gd2-overlay {
  position: fixed; inset: 0; z-index: 10020;
  background: rgba(28, 20, 5, .56); backdrop-filter: blur(3px);
  display: flex; align-items: center; justify-content: center; padding: 18px;
}
.gd2-overlay[hidden] { display: none; }
body.gd2-lock { overflow: hidden; }
body.gd2-lock .gd2-lang-fab { display: none; }
.gd2-dialog {
  position: relative; width: min(1000px, 96vw); max-height: 92vh;
  display: grid; grid-template-columns: 260px minmax(0, 1fr);
  background: linear-gradient(180deg, #FFFDF4, #FBF4DF);
  border: 1px solid #B8962E; border-radius: 20px;
  box-shadow: 0 30px 80px rgba(28, 20, 5, .4), inset 0 0 0 1px #FFF9DF;
  overflow: hidden; color: var(--ink);
  animation: gd2in .18s ease both;
}
@keyframes gd2in { from { opacity: 0; transform: translateY(8px) scale(.985); } to { opacity: 1; transform: none; } }
.gd2-side {
  position: relative; padding: 22px 20px 20px; text-align: center;
  display: flex; flex-direction: column; align-items: center;
  background: radial-gradient(circle at 50% 18%, #FFF6CE 0%, #F7E3A0 55%, #EBC66A 100%);
  border-right: 1px solid #D9B64A; overflow: hidden;
}
.gd2-halo {
  position: absolute; top: 10px; left: 50%; width: 210px; height: 210px;
  transform: translateX(-50%); border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 255, 255, .8), rgba(255, 255, 255, 0) 68%);
  pointer-events: none;
}
.gd2-portrait { position: relative; width: 100%; max-width: 218px; z-index: 1; }
.gd2-portrait svg { display: block; width: 100%; height: auto; filter: drop-shadow(0 10px 14px rgba(63, 49, 9, .18)); }
.gd2-name { position: relative; z-index: 1; margin-top: 4px; font: 800 1.05rem/1.2 var(--sans); color: #3F3109; }
.gd2-role { position: relative; z-index: 1; margin: 4px 0 14px; font: 500 .8rem/1.35 var(--sans); color: #6B5410; }
.gd2-consult { position: relative; z-index: 1; display: block; width: 100%; padding: 10px 12px !important; font-size: .8rem !important; line-height: 1.25 !important; text-align: center; border-radius: 999px !important; }
.gd2-main { position: relative; padding: 22px 26px 16px; display: flex; flex-direction: column; overflow: hidden; max-height: 92vh; }
.gd2-close {
  position: absolute; right: 12px; top: 12px; z-index: 2;
  width: 40px; height: 40px; padding: 0; border: none; border-radius: 10px;
  background: #F1E7C8; color: #3F3109; font: 400 1.65rem/1 var(--sans); cursor: pointer;
}
.gd2-close:hover { background: #FFE99A; }
.gd2-close:focus-visible { outline: 3px solid #1E5AA8; outline-offset: 2px; }
.gd2-main h2 { margin: 2px 44px 6px 0; font-size: clamp(1.45rem, 2.4vw, 1.8rem); color: #3F3109; }
.gd2-hello {
  margin: 0 0 12px; padding: 10px 14px; border-radius: 14px 14px 14px 4px;
  background: #FFF7D8; border: 1px solid #D9B64A; font: 500 .9rem/1.45 var(--sans); color: #4A3A10;
}
.gd2-search { position: relative; margin: 12px 0 10px; }
.gd2-search > svg {
  position: absolute; left: 13px; top: 50%; width: 19px; height: 19px;
  transform: translateY(-50%); fill: none; stroke: #8A6A00; stroke-width: 1.8; pointer-events: none;
}
.gd2-search input {
  width: 100%; padding: 11px 38px 11px 40px; border: 1px solid #D9C98A; border-radius: 999px;
  background: #FFFDF6; color: #3F3109; font: 500 .9rem/1.3 var(--sans);
  outline: none; transition: border-color .15s ease, box-shadow .15s ease;
}
.gd2-search input::placeholder { color: #9A8A62; }
.gd2-search input:focus { border-color: #C98A00; box-shadow: 0 0 0 3px rgba(217, 182, 74, .25); }
.gd2-clear {
  position: absolute; right: 7px; top: 50%; width: 28px; height: 28px;
  transform: translateY(-50%); border: none; border-radius: 50%;
  background: #F1E7C8; color: #6B5410; font: 400 1rem/1 var(--sans); cursor: pointer;
}
.gd2-clear:hover { background: #FFE99A; }
.gd2-chips { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; margin: 8px 0 12px; }
.gd2-chip {
  display: inline-flex; align-items: center; justify-content: center; gap: 5px;
  padding: 6px 10px; border: 1px solid #D9C98A; border-radius: 999px;
  background: #FFFDF6; color: #5D4A0E; font: 700 .78rem/1.1 var(--sans); cursor: pointer;
  transition: background .15s ease, border-color .15s ease, color .15s ease;
}
.gd2-chip svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.gd2-chip:hover { background: #FFF3C4; border-color: #C9A227; }
.gd2-chip.active {
  background: linear-gradient(180deg, #FFF59A, #FFD21F 55%, #F5A800);
  border-color: #B87900; color: #2B1E00; box-shadow: 0 2px 8px rgba(245, 168, 0, .3);
}
.gd2-chip:focus-visible { outline: 3px solid #1E5AA8; outline-offset: 2px; }
.gd2-results { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; align-items: start; overflow: auto; min-height: 0; padding-right: 4px; }
.gd2-group {
  padding: 11px 12px; border: 1px solid #E9D89E; border-radius: 13px;
  background: #FFFDF6; box-shadow: 0 2px 8px rgba(63, 49, 9, .04);
}
.gd2-group[hidden] { display: none; }
.gd2-group h3 { display: flex; align-items: center; gap: 7px; margin: 0 0 3px; font: 800 .98rem/1.2 var(--sans); color: #3F3109; }
.gd2-gicon { display: inline-flex; color: #B87900; }
.gd2-gicon svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.gd2-gdesc { margin: 0 0 7px; font: 500 .74rem/1.3 var(--sans); color: #7C6526; }
.gd2-group ul { list-style: none; margin: 0; padding: 0; }
.gd2-group li { margin: 0; }
.gd2-group li[hidden] { display: none; }
.gd2-group li > a {
  display: block; padding: 6px 8px; border-radius: 8px; text-decoration: none;
  color: #3F3109; border: 1px solid transparent;
}
.gd2-group li > a:hover { background: #FFF6D8; border-color: #E9D89E; }
.gd2-group li > a[aria-current="page"] { background: #FFF1BF; border-color: #D9B64A; }
.gd2-group li > a b { display: block; font: 700 .84rem/1.2 var(--sans); }
.gd2-group li > a small { display: block; margin-top: 1px; font: 500 .7rem/1.25 var(--sans); color: #8A7A4A; }
.gd2-group li > a.cta-zoom { margin-top: 6px; color: #2B1E00; text-align: center; }
.gd2-group li > a.cta-zoom b,
.gd2-group li > a.cta-zoom small { display: none; }
.gd2-group li.gd2-consult-li { margin-top: 4px; }
.gd2-empty { margin: 14px 0; padding: 12px; border: 1px dashed #D9C98A; border-radius: 10px; color: #7C6526; font: 500 .86rem/1.35 var(--sans); text-align: center; }
.gd2-foot { flex: 0 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 13px; padding-top: 11px; border-top: 1px solid #E9D89E; }
.gd2-tour {
  display: inline-flex; align-items: center; gap: 7px;
  padding: 8px 13px; border: 1px solid #C9A227; border-radius: 999px;
  background: #FFF6D8; color: #5D4A0E; font: 800 .8rem/1 var(--sans); cursor: pointer;
}
.gd2-tour svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.gd2-tour:hover { background: #FFE99A; border-color: #B87900; }
.gd2-tour:focus-visible { outline: 3px solid #1E5AA8; outline-offset: 2px; }
.gd2-esc { font: 600 .72rem/1 var(--sans); color: #9A8A62; letter-spacing: .08em; }

/* 5. Экскурсия */
.gd2-tour-layer { position: fixed; inset: 0; z-index: 10050; pointer-events: auto; }
.gd2-spot {
  position: fixed; border: 3px solid #FFD21F; border-radius: 14px;
  box-shadow: 0 0 0 9999px rgba(20, 14, 3, .62), 0 0 0 6px rgba(255, 210, 31, .22);
  pointer-events: none; transition: left .2s ease, top .2s ease, width .2s ease, height .2s ease;
}
.gd2-tour-card {
  position: fixed; z-index: 10051; pointer-events: auto;
  background: #FFFDF4; border: 1px solid #D9B64A; border-radius: 16px;
  box-shadow: 0 20px 50px rgba(0, 0, 0, .38); padding: 15px 17px 13px;
  color: #3F3109; animation: gd2in .18s ease both;
}
.gd2-tour-count { font: 800 .7rem/1 var(--sans); letter-spacing: .1em; text-transform: uppercase; color: #B87900; }
.gd2-tour-title { margin: 5px 0 5px; font-size: 1.08rem; line-height: 1.25; }
.gd2-tour-text { margin: 0 0 12px; font: 500 .86rem/1.42 var(--sans); color: #5D4A0E; }
.gd2-tour-btns { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.gd2-tour-nav { display: inline-flex; gap: 6px; }
.gd2-btn {
  padding: 7px 12px; border-radius: 999px; border: 1px solid transparent;
  font: 800 .78rem/1 var(--sans); cursor: pointer;
}
.gd2-btn-ghost { background: #FFF6D8; border-color: #D9C98A; color: #5D4A0E; }
.gd2-btn-ghost:hover { background: #FFE99A; }
.gd2-btn-gold {
  background: linear-gradient(180deg, #FFF59A, #FFD21F 45%, #F5A800);
  border-color: #B87900; color: #2B1E00; box-shadow: 0 2px 8px rgba(245, 168, 0, .35);
}
.gd2-btn-gold:hover { filter: brightness(1.05); }
.gd2-btn:focus-visible { outline: 3px solid #1E5AA8; outline-offset: 2px; }

/* 6. Подсказки к меню и облачко первого захода */
.gd2-navtip {
  position: fixed; z-index: 10060; max-width: 310px; padding: 8px 11px;
  background: #2B2410; color: #FFF6D8; border: 1px solid #D9B64A; border-radius: 10px;
  font: 500 .8rem/1.35 var(--sans); box-shadow: 0 8px 24px #0005;
  pointer-events: none; opacity: 0; transform: translateY(4px); transition: opacity .12s ease, transform .12s ease;
}
.gd2-navtip.show { opacity: 1; transform: none; }
.gd2-tip {
  position: fixed; right: 116px; bottom: 30px; z-index: 10011;
  max-width: 285px; padding: 11px 34px 11px 14px;
  background: #FFFDF4; border: 2px solid #E9C75A; border-radius: 16px 16px 4px 16px;
  box-shadow: 0 12px 30px rgba(63, 49, 9, .25);
  color: #3F3109; font: 500 .88rem/1.4 var(--sans); cursor: pointer;
  animation: gd2in .22s ease both;
}
.gd2-tip b { display: block; margin-bottom: 2px; font-size: .94rem; color: #2B1E00; }
.gd2-tip-close {
  position: absolute; right: 5px; top: 5px; width: 24px; height: 24px;
  border: none; border-radius: 50%; background: #F1E7C8; color: #6B5410;
  font: 400 .95rem/1 var(--sans); cursor: pointer;
}
.gd2-tip-close:hover { background: #FFE99A; }

/* 7. Телефон и уменьшенная анимация */
@media (max-width: 760px) {
  .gd2-dialog { grid-template-columns: 1fr; max-height: 94vh; overflow: auto; }
  .gd2-side {
    flex-direction: row; text-align: left; align-items: center; gap: 12px;
    padding: 12px 14px; border-right: none; border-bottom: 1px solid #D9B64A;
  }
  .gd2-halo { display: none; }
  .gd2-portrait { width: 92px; flex: 0 0 92px; }
  .gd2-name { margin: 0; font-size: .98rem; }
  .gd2-role { margin: 2px 0 0; font-size: .74rem; }
  .gd2-consult { width: auto; margin-left: auto; padding: 8px 10px !important; font-size: .72rem !important; max-width: 160px; }
  .gd2-main { display: block; padding: 16px 14px 12px; max-height: none; overflow: visible; }
  .gd2-main h2 { font-size: 1.35rem; margin-right: 40px; }
  .gd2-results { grid-template-columns: 1fr; }
  .gd2-chips { display: flex; flex-wrap: nowrap; overflow-x: auto; padding-bottom: 3px; scrollbar-width: thin; }
  .gd2-chip { flex: 0 0 auto; }
  .gd2-results { overflow: visible; padding-right: 0; }
  .gd2-fab { width: 68px; height: 68px; right: 12px; bottom: 12px; border-width: 2px; }
  .to-top.show ~ .gd2-fab { bottom: 84px; }
  .gd2-fab-tip { display: none; }
  .gd2-tip { right: 12px; bottom: 90px; max-width: calc(100vw - 24px); }
  .gd2-lang-fab { right: 10px; top: 10px; }
  .gd2-lang-fab .gd2-lang-btn { width: 48px; height: 48px; }
  .gd2-tour-card { left: 12px !important; right: 12px; width: auto !important; }
}
@media (max-width: 420px) {
  .gd2-side { flex-wrap: wrap; }
  .gd2-consult { margin-left: 0; width: 100%; max-width: none; }
  .gd2-dialog { width: 100vw; max-height: 100vh; border-radius: 0; }
  .gd2-overlay { padding: 0; }
}
/* телефон: убираем горизонтальный разлив и делаем боковую карточку сеткой */
@media (max-width: 760px) {
  .gd2-dialog { width: 100%; max-width: 100vw; display: flex; flex-direction: column; overflow-x: hidden; }
  .gd2-side {
    display: grid; grid-template-columns: 84px minmax(0, 1fr); gap: 4px 10px;
    align-items: center; text-align: left; padding: 10px 12px; flex: 0 0 auto;
  }
  .gd2-portrait { width: 84px; grid-row: 1 / 3; }
  .gd2-name { grid-column: 2; align-self: end; margin: 0; font-size: .96rem; }
  .gd2-role { grid-column: 2; align-self: start; margin: 0; font-size: .72rem; }
  .gd2-consult { grid-column: 1 / -1; width: 100%; max-width: none; margin: 6px 0 0; padding: 9px 10px !important; font-size: .74rem !important; }
  .gd2-main { flex: 1 1 auto; min-width: 0; width: 100%; min-height: 0; overflow: auto; }
  .gd2-search input { min-width: 0; }
  .gd2-chips { max-width: 100%; }
  .gd2-results { min-width: 0; width: 100%; }
  .gd2-group { min-width: 0; overflow-wrap: anywhere; }
}
@media (max-width: 420px) {
  .gd2-side { grid-template-columns: 72px minmax(0, 1fr); }
  .gd2-portrait { width: 72px; }
  .gd2-dialog { width: 100vw; height: 100vh; max-height: 100vh; border-radius: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .gd2-dialog, .gd2-tour-card, .gd2-tip { animation: none; }
  a.cta-zoom, a.gold-cta, .gd2-fab, .gd2-lang-btn, .gd2-spot { transition: none; }
  a.cta-zoom:hover, a.gold-cta:hover, .gd2-fab:hover { transform: none; }
}
@media print {
  .gd2-fab, .gd2-fab-tip, .gd2-overlay, .gd2-lang-fab, .gd2-tip, .gd2-tour-layer, .gd2-navtip { display: none !important; }
}


/* 3.18 (20.10.2026, Claude, решение Рудольфа 15:06) — «Справочные таблицы»: быстрый справочник значений
   (блок собирает tools\make_quickref.py, поиск — build\globe.js версия 7), заголовки каталога, метки типа справочника.
   На телефоне строки таблицы складываются в карточки: название сверху, под ним плотность и температура с подписями. */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.qref{margin:26px 0 42px;padding:22px 22px 16px;background:var(--panel);border:1px solid var(--line);border-radius:16px}
.qref h2{margin-bottom:.35em}
.qref .note{margin:0 0 12px}
.qref-tools{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;margin:6px 0 14px}
.qref-tools[hidden]{display:none}
.qref-lbl{width:100%;font-family:var(--sans);font-size:.9rem;color:var(--muted)}
.qref-tools input{flex:1 1 260px;max-width:440px;padding:11px 16px;border:1px solid var(--gold);border-radius:999px;font-size:1rem;background:#fff;color:var(--ink);font-family:var(--sans)}
.qref-tools input:focus{outline:3px solid #d9b64a88;outline-offset:1px}
.qref-groups{display:flex;flex-wrap:wrap;gap:6px}
.qref-groups button{font-family:var(--sans);font-size:.85rem;padding:6px 12px;border-radius:999px;border:1px solid var(--line);background:#fdf6df;color:var(--ink);cursor:pointer}
.qref-groups button span{color:var(--muted);margin-left:3px}
.qref-groups button:hover{border-color:var(--gold)}
.qref-groups button[aria-pressed="true"]{background:var(--deep);border-color:var(--deep);color:#fff}
.qref-groups button[aria-pressed="true"] span{color:#fbefc6}
.qref-groups button:focus-visible{outline:3px solid var(--deep);outline-offset:2px}
.qref-count{width:100%;margin:0;font-family:var(--sans);font-size:.9rem;color:var(--muted)}
.qref-count b{color:var(--ink)}
.qref-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:12px;background:#fff}
table.qref-t{border-collapse:collapse;width:100%;font-size:.95rem}
.qref-t caption{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.qref-t th,.qref-t td{padding:8px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.qref-t thead th{background:#fbf1d2;font-family:var(--sans);font-size:.8rem;color:var(--muted);font-weight:600}
.qref-t thead th.num{text-align:right}
.qref-t thead button{background:none;border:0;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer;text-align:inherit}
.qref-t thead button::after{content:' ↕';opacity:.45}
.qref-t th[aria-sort="ascending"] button::after{content:' ↑';opacity:1}
.qref-t th[aria-sort="descending"] button::after{content:' ↓';opacity:1}
.qref-t thead button:hover{color:var(--ink)}
.qref-t thead button:focus-visible{outline:3px solid var(--deep);outline-offset:2px;border-radius:4px}
.qref-t tbody th{font-weight:600;color:#3f3109}
.qref-t .qf{font-family:var(--sans);font-weight:400;font-size:.82rem;color:var(--muted);margin-left:4px;white-space:nowrap}
.qref-t .num{text-align:right;white-space:nowrap;font-family:var(--sans);font-variant-numeric:tabular-nums}
.qref-t td.dash{color:var(--muted)}
.qref-t .qs{font-size:.84rem;line-height:1.5;color:var(--muted);min-width:240px}
.qref-t .qs a{white-space:nowrap}
.qref-t tbody tr:nth-child(even){background:#fffdf6}
.qref-t tbody tr:hover{background:#fdf3d6}
.qref-t tbody tr:target{background:#fbefc6;box-shadow:inset 4px 0 0 var(--gold)}
.qref-t tr[hidden]{display:none}
.qref-empty{margin:12px 0 0;font-family:var(--sans);color:var(--deep)}
.qref-foot{margin:12px 0 0;font-size:.84rem}
.cat-top{margin-top:8px}
h3.cat-h{font-size:clamp(1.15rem,2.4vw,1.42rem);margin:34px 0 .35em}
.links .country.kind{background:#fff;border-color:var(--gold);color:var(--deep);font-weight:600}
@media (max-width:700px){
  .qref{padding:16px 12px 12px;border-radius:14px}
  .qref-scroll{border:0;background:transparent;overflow:visible}
  .qref-t thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .qref-t,.qref-t tbody{display:block}
  .qref-t tbody tr{display:grid;grid-template-columns:1fr 1fr;gap:4px 14px;padding:10px 12px;margin:0 0 8px;border:1px solid var(--line);border-radius:12px;background:#fff}
  .qref-t tbody tr:nth-child(even){background:#fff}
  .qref-t tbody tr[hidden]{display:none}
  .qref-t th,.qref-t td{display:block;padding:0;border:0;text-align:left}
  .qref-t tbody th{grid-column:1/-1;font-size:1.02rem}
  .qref-t td.num{text-align:left;white-space:normal}
  .qref-t td.num::before{content:attr(data-l);display:block;font-size:.72rem;color:var(--muted)}
  .qref-t td.qs{grid-column:1/-1;min-width:0;margin-top:2px}
  .qref-t .qs a{white-space:normal}
}
@media print{
  .qref-tools{display:none!important}
}

/* 3.19 (21.10.2026, AutoClaw, просьба Рудольфа): профессор — сверху справа; кнопка записи на урок — круглая и кликабельная по всей плитке */
@media (min-width: 1260px) {
  .gd2-fab { top: 16px; right: 18px; bottom: auto; width: 64px; height: 64px; border-width: 2px; }
  .gd2-fab-tip { top: 88px; right: 18px; bottom: auto; }
  .to-top.show ~ .gd2-fab { top: 16px; bottom: auto; }
  body.gd2-scrolled .gd2-fab { top: 80px; }
  body.gd2-scrolled .gd2-fab-tip { top: 152px; }
}
@media (max-width: 760px) {
  .gd2-fab { top: 8px; right: 10px; bottom: auto; width: 52px; height: 52px; border-width: 2px; }
  .gd2-fab-tip { display: none; }
  .to-top.show ~ .gd2-fab { top: 8px; bottom: auto; }
  body.gd2-scrolled .gd2-fab { top: 68px; }
}
/* Плитка-действие: вся карточка ведёт по ссылке, а круглая плашка становится её видимой кнопкой */
ul.links li.act { position: relative; }
ul.links li.act > a:first-child::after { content: ""; position: absolute; inset: 0; z-index: 1; border-radius: inherit; }
ul.links li.act .do { position: relative; z-index: 2; pointer-events: none; display: inline-flex; align-items: center; min-height: 30px; padding: 5px 15px; border-radius: 999px; }
ul.links li.act:hover .do { background: var(--deep2); }
ul.links li.act:focus-within { outline: 3px solid #1e5aa8; outline-offset: 3px; border-radius: 14px; }


/* ============================================================
   3.19 UI v8 — приказ Рудольфа 21.10 22:5x:
   1) профессор «Гид» — всегда СПРАВА СВЕРХУ;
   2) «живая» картинка (покачивание + золотой ореол);
   3) подписи карточек гида — красивые и симметричные;
   4) кнопка «Записаться на консультацию» — КРУГЛАЯ,
      подпись СНАРУЖИ круга (структуру делает cta_circle.js).
   EDITED BY: AutoClaw (осн. чат), 21.10.2026, дописыванием;
   всё выше не тронуто. Бэкап: backups\2026-10-20\style.css.before_uiv8_20261021
   ============================================================ */

/* 1) Профессор — справа сверху на всех экранах */
html body .gd2-fab{top:12px;right:14px;bottom:auto}
html body .to-top.show ~ .gd2-fab{top:12px;right:14px;bottom:auto}
html body .gd2-fab-tip{top:106px;right:16px;bottom:auto;left:auto}
html body.gd2-scrolled .gd2-fab{top:12px}
html body.gd2-scrolled .gd2-fab-tip{top:106px}
html body .gd2-lang-fab{top:14px;right:118px}
@media (max-width:760px){
  html body .gd2-fab{top:8px;right:10px}
  html body .to-top.show ~ .gd2-fab{top:8px;right:10px;bottom:auto}
  html body .gd2-fab-tip{display:none}
  html body .gd2-lang-fab{top:10px;right:70px}
  html body .gd2-lang-fab .gd2-lang-btn{width:46px;height:46px}
}

/* 2) «Живой» профессор */
@keyframes gd2-bob{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-5px) rotate(2.5deg)}}
@keyframes gd2-halo{0%,100%{box-shadow:0 0 0 3px #FFF9DC,0 0 0 7px rgba(245,184,0,.18),0 10px 24px rgba(63,49,9,.28)}50%{box-shadow:0 0 0 3px #FFF9DC,0 0 0 13px rgba(245,184,0,.30),0 12px 28px rgba(63,49,9,.34)}}
html body .gd2-fab svg{animation:gd2-bob 3.4s ease-in-out infinite;transform-origin:50% 82%}
html body .gd2-fab{animation:gd2-halo 3.4s ease-in-out infinite}
html body .gd2-fab:hover svg{animation-duration:1.6s}
@media (prefers-reduced-motion:reduce){html body .gd2-fab,html body .gd2-fab svg{animation:none}}

/* 3) Симметричные карточки и подписи гида */
.guide-grid{grid-auto-rows:1fr}
.guide-card{display:flex;flex-direction:column;align-items:center;text-align:center;min-height:100%;padding:14px 12px 12px;border-radius:14px;border:1px solid #EADFB8;background:linear-gradient(180deg,#FFFDF4,#FFF8E4);box-shadow:0 2px 10px rgba(63,49,9,.08);transition:box-shadow .15s ease,transform .15s ease,border-color .15s ease}
.guide-card:hover{transform:translateY(-2px);border-color:#E0B94A;box-shadow:0 6px 18px rgba(63,49,9,.16)}
.guide-card h3{margin:2px 0 6px;font-size:1.02rem;letter-spacing:.02em}
.guide-card .guide-fh{margin:0 0 8px;font-size:.86rem;color:#6B5B2A}
.guide-card ul.links{width:100%;margin:0;padding:0 0 0 18px;text-align:left}

/* 4) Круглая кнопка «Записаться» — подпись СНАРУЖИ (класс ставит cta_circle.js) */
a.cta-zoom.cta-round{display:inline-flex;flex-direction:column;align-items:center;gap:9px;background:none!important;border:0!important;box-shadow:none!important;padding:0!important;border-radius:0!important;color:inherit}
a.cta-zoom.cta-round .cta-ic{width:96px;height:96px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:36px;line-height:1;background:radial-gradient(circle at 35% 28%,#FFF6C9 0%,#FFD84A 45%,#F2A400 100%);border:2px solid #D89400;color:#3A2B00;box-shadow:0 0 0 3px #FFF9DC,0 8px 22px rgba(63,49,9,.30);transition:transform .15s ease,box-shadow .15s ease}
a.cta-zoom.cta-round:hover .cta-ic{transform:scale(1.05);box-shadow:0 0 0 3px #FFF9DC,0 10px 26px rgba(63,49,9,.38)}
a.cta-zoom.cta-round:focus-visible{outline:3px solid #1E5AA8;outline-offset:4px;border-radius:12px}
a.cta-zoom.cta-round .cta-label{max-width:200px;font:800 .93rem/1.25 var(--sans);color:#6E5200;text-align:center}
.cta-row a.cta-zoom.cta-round .cta-label{max-width:150px;font-size:.85rem}
@media (max-width:760px){a.cta-zoom.cta-round .cta-ic{width:84px;height:84px;font-size:32px}}


/* ============================================================
   3.20 (23.10.2026, подпись: Claude «Маисовый полоз цена») — вид сайта по решению совета 20.10 («БЛОК 1»)
   и слову Рудольфа 23.10 00:3x («профессор от 00:05 годится»):
   1) все окна — окно гида, меню языков и групп, подсказки, облачка, полоса фильтра, карточка экскурсии, окно глобуса —
      светлые: фон #fef9e8, рамка #e6d9a3, текст #3d2b1f (тёмные окна — ошибка);
   2) золото — только на кнопках записи; чипы гида — как языковые пилюли; ореол профессора — не золотой;
   3) профессор (рисунки Анри 23.10) — сверху справа, прилипает при прокрутке; под ним — круглая золотая кнопка
      «Записаться на занятие», подпись снаружи круга; кнопка записи в шапке при этом скрыта (в HTML остаётся);
   4) шапка на телефоне — два ряда: логотип, поиск и язык; меню — одной прокручиваемой строкой; зоны нажатия 44 px;
   5) окно гида: блок «Найдено на страницах сайта» (сквозной поиск), три позы профессора;
   6) плитки явно нажимаются: приподнимаются при наведении, рамка при переходе клавишей Tab.
   Всё выше не тронуто. Копия до правки: backups\2026-10-23\before_site_v8\style.css
   ============================================================ */
:root{--win-bg:#fef9e8;--win-line:#e6d9a3;--win-ink:#3d2b1f;--win-shadow:0 12px 30px rgba(61,43,31,.16)}

/* 1) Светлые окна */
.gd2-dialog{background:var(--win-bg);border-color:var(--win-line);color:var(--win-ink);box-shadow:0 30px 80px rgba(28,20,5,.30)}
.gd2-side{background:#fbf3df;border-right-color:var(--win-line)}
.gd2-halo{background:radial-gradient(circle,rgba(255,255,255,.9),rgba(255,255,255,0) 68%)}
.gd2-name,.gd2-main h2,.gd2-group h3{color:var(--win-ink)}
.gd2-role,.gd2-gdesc{color:#6b5a45}
.gd2-hello{background:#fffdf6;border-color:var(--win-line);color:var(--win-ink)}
.gd2-close,.gd2-clear,.gd2-tip-close{background:#f3ead2;color:var(--win-ink)}
.gd2-close:hover,.gd2-clear:hover,.gd2-tip-close:hover{background:#eadfc0}
.gd2-search input{border-color:var(--win-line);background:#fffdf6;color:var(--win-ink)}
.gd2-search input:focus{border-color:#b59b5a;box-shadow:0 0 0 3px rgba(181,155,90,.22)}
.gd2-search>svg{stroke:#8a7350}
.gd2-group{border-color:var(--win-line);background:#fffdf6}
.gd2-gicon{color:#8a6d3b}
.gd2-group li>a{color:var(--win-ink)}
.gd2-group li>a:hover{background:#f8efd6;border-color:var(--win-line)}
.gd2-group li>a[aria-current="page"]{background:#f3e8c8;border-color:#d9c79a}
.gd2-group li>a small{color:#857158}
.gd2-empty{border-color:var(--win-line);color:#6b5a45}
.gd2-foot{border-top-color:var(--win-line)}
.gd2-tour{background:#fffdf6;border-color:var(--win-line);color:var(--win-ink)}
.gd2-tour:hover{background:#f3ead2;border-color:#d9c79a}
.gd2-esc{color:#9a8a70}
.gd2-spot{border-color:#fffdf6;box-shadow:0 0 0 9999px rgba(20,14,3,.55),0 0 0 6px rgba(255,253,246,.35)}
.gd2-tour-card{background:var(--win-bg);border-color:var(--win-line);color:var(--win-ink);box-shadow:var(--win-shadow)}
.gd2-tour-count{color:#8a6d3b}
.gd2-tour-text{color:#5b4a36}
.gd2-btn-ghost{background:#fffdf6;border-color:var(--win-line);color:var(--win-ink)}
.gd2-btn-ghost:hover{background:#f3ead2}
.gd2-btn-gold{background:#efe3bf;border-color:#c9b27a;color:var(--win-ink);box-shadow:none}
.gd2-btn-gold:hover{background:#e8d9ad;filter:none}
.gd2-navtip,.gd2-fab-tip{background:var(--win-bg);color:var(--win-ink);border-color:var(--win-line);box-shadow:var(--win-shadow)}
.gd2-tip{background:var(--win-bg);border:1px solid var(--win-line);border-radius:16px 4px 16px 16px;color:var(--win-ink);box-shadow:var(--win-shadow);right:8px;top:170px;bottom:auto}
.gd2-tip b{color:var(--win-ink)}
.globe-tip{background:var(--win-bg);color:var(--win-ink);border:1px solid var(--win-line);box-shadow:0 4px 12px rgba(61,43,31,.15)}
.rg-bar{background:var(--win-bg);color:var(--win-ink);border:1px solid var(--win-line);box-shadow:var(--win-shadow)}
.rg-bar button{background:#fff;border-color:var(--win-line);color:var(--win-ink)}
.rg-bar button:hover{background:#f3ead2}
.rg-bar button:focus-visible{outline-color:#8a6d3b}
.gd2-lang-menu{background:var(--win-bg);border-color:var(--win-line);box-shadow:var(--win-shadow)}
.gd2-lang-menu a{color:var(--win-ink)}
.gd2-lang-menu a:hover{background:#f6ecd0}
.gd2-lang-menu a[aria-current="true"]{background:#efe2bd}
.gd2-lang-fab .gd2-lang-btn{border-color:var(--win-line)}
nav.main .more-list{background:var(--win-bg);border-color:var(--win-line);box-shadow:var(--win-shadow)}
.globe-dialog{background:var(--win-bg);border-color:var(--win-line)}
.globe-side{background:#fffdf6;border-left-color:var(--win-line)}

/* 2) Чипы гида — как языковые пилюли, без яркого золота */
.gd2-chip{border:1px solid #d7c37a;background:linear-gradient(180deg,#fffdf4,#f7e8b8);color:#4a3a10;box-shadow:0 1px 3px rgba(141,107,20,.10)}
.gd2-chip:hover{background:linear-gradient(180deg,#fffdf4,#f3e1a6);border-color:#c9ae5c}
.gd2-chip.active{background:#eedfae;border-color:#a88a3d;color:var(--win-ink);box-shadow:inset 0 1px 3px rgba(61,43,31,.20)}

/* 3) Профессор сверху справа и под ним круглая кнопка записи (подпись снаружи круга) */
.rg-dock{position:fixed;top:10px;right:6px;z-index:10012;width:104px;display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none}
.rg-dock>*{pointer-events:auto}
.rg-prof{position:relative;width:64px;height:64px;padding:0;border-radius:50%;border:2px solid var(--win-line);background:var(--win-bg);overflow:hidden;cursor:pointer;
  box-shadow:0 0 0 3px #fffdf6,0 6px 16px rgba(61,43,31,.22);animation:rg-halo 3.6s ease-in-out infinite;transition:transform .15s ease}
.rg-prof img{display:block;width:100%;height:100%;object-fit:cover;animation:rg-bob 3.6s ease-in-out infinite;transform-origin:50% 85%}
.rg-prof svg{display:block;width:100%;height:100%}
.rg-prof:hover{transform:scale(1.06)}
.rg-prof:hover img{animation-duration:1.7s}
.rg-prof:focus-visible{outline:3px solid #1e5aa8;outline-offset:3px}
@keyframes rg-bob{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-3px) rotate(1.5deg)}}
@keyframes rg-halo{0%,100%{box-shadow:0 0 0 3px #fffdf6,0 0 0 6px rgba(110,140,165,.14),0 6px 16px rgba(61,43,31,.22)}
  50%{box-shadow:0 0 0 3px #fffdf6,0 0 0 11px rgba(110,140,165,.24),0 8px 20px rgba(61,43,31,.26)}}
.rg-enroll{display:inline-flex;flex-direction:column;align-items:center;gap:4px;text-decoration:none;color:var(--win-ink);font-family:var(--sans)}
.rg-enroll-ic{display:flex;align-items:center;justify-content:center;width:50px;height:50px;border-radius:50%;color:#3a2b00;
  background:radial-gradient(circle at 35% 28%,#fff6c9 0%,#ffd84a 45%,#f2a400 100%);border:2px solid #d89400;
  box-shadow:0 0 0 3px #fff9dc,0 6px 16px rgba(63,49,9,.28);transition:transform .15s ease,box-shadow .15s ease}
.rg-enroll-ic svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.rg-enroll:hover .rg-enroll-ic{transform:scale(1.06);box-shadow:0 0 0 3px #fff9dc,0 8px 20px rgba(63,49,9,.36)}
.rg-enroll:focus-visible{outline:3px solid #1e5aa8;outline-offset:3px;border-radius:12px}
.rg-enroll-label{display:block;max-width:104px;padding:2px 7px;border-radius:9px;background:rgba(254,249,232,.94);font:800 .74rem/1.2 var(--sans);color:#6e5200;text-align:center}
.rg-enroll .rg-s{display:none}
.rg-enroll-side{position:relative;z-index:1;margin-top:6px}
.rg-enroll-side .rg-enroll-ic{width:58px;height:58px}
.rg-enroll-side .rg-enroll-label{max-width:210px;font-size:.82rem;background:transparent}
.rg-dock-on header.site .cta-row{display:none}
@media (min-width:761px) and (max-width:1320px){header.site .wrap{padding-right:122px}}
html body .gd2-lang-fab{top:16px;right:118px}
/* облачко-подсказка профессора к строке таблицы */
.rg-bubble{position:fixed;z-index:10013;display:flex;gap:10px;align-items:flex-start;max-width:min(360px,calc(100vw - 16px));padding:10px 34px 10px 10px;
  background:var(--win-bg);border:1px solid var(--win-line);border-radius:16px 4px 16px 16px;box-shadow:var(--win-shadow);color:var(--win-ink);
  font:500 .86rem/1.4 var(--sans);animation:gd2in .2s ease both}
.rg-bubble img{flex:0 0 auto;width:64px;height:auto}
.rg-bubble b{display:block;margin-bottom:2px;font-size:.84rem;color:#6e5200}
.rg-bubble p{margin:0}
.rg-bubble-x{position:absolute;right:6px;top:6px;width:26px;height:26px;border:0;border-radius:50%;background:#f3ead2;color:var(--win-ink);font:400 1rem/1 var(--sans);cursor:pointer}
.rg-bubble-x:hover{background:#eadfc0}
.qref-t tbody tr[id^="v-"]{cursor:pointer}
.qref-t tbody tr.rg-on{background:#fbefc6;box-shadow:inset 4px 0 0 var(--gold)}

/* 4) Кнопка поиска в шапке */
.rg-search-btn{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:36px;height:36px;margin-right:8px;padding:0;border:1px solid #d7c37a;border-radius:50%;
  background:linear-gradient(180deg,#fffdf4,#f7e8b8);color:#4a3a10;cursor:pointer;box-shadow:0 2px 6px #8d6b1420}
.rg-search-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round}
.rg-search-btn:hover{border-color:#b08a2a}
.rg-search-btn:focus-visible{outline:3px solid #1e5aa8;outline-offset:2px}

/* 5) Окно гида: позы профессора и найденное на страницах */
.gd2-portrait img.rg-pose{display:block;width:100%;height:auto;filter:drop-shadow(0 8px 12px rgba(61,43,31,.16))}
.rg-hits{grid-column:1/-1;padding:10px 12px;border:1px solid var(--win-line);border-radius:13px;background:#fffdf6}
.rg-hits-h{display:flex;align-items:center;gap:8px;margin:0 0 6px;font:800 .92rem/1.2 var(--sans);color:var(--win-ink)}
.rg-hits-h svg{width:17px;height:17px;fill:none;stroke:#8a6d3b;stroke-width:1.9;stroke-linecap:round}
.rg-hits-h span{font-weight:700;font-size:.74rem;padding:1px 8px;border-radius:999px;background:#f3ead2;color:#6b5a45}
.rg-hits ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.rg-hits a{display:block;padding:7px 9px;border-radius:9px;border:1px solid transparent;text-decoration:none;color:var(--win-ink)}
.rg-hits a:hover,.rg-hits a:focus-visible{background:#f8efd6;border-color:var(--win-line)}
.rg-hits b{display:block;font:700 .84rem/1.25 var(--sans)}
.rg-hits small{display:block;margin-top:2px;font:500 .76rem/1.35 var(--sans);color:#6b5a45;overflow-wrap:anywhere}
.rg-hits mark{background:#f6e3a3;color:inherit;border-radius:3px;padding:0 1px}

/* 6) Плитки явно нажимаются */
.card:has(a.more),.card:has(a.stretch),ul.links li{cursor:pointer}
.card:has(a.more):hover,.card:has(a.stretch):hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(201,162,39,.20)}
ul.links li:hover{box-shadow:0 4px 12px rgba(201,162,39,.18)}
.card:focus-within,ul.links li:focus-within{outline:3px solid #1e5aa8;outline-offset:2px}

/* Телефон: шапка в два ряда, зоны нажатия 44 px, профессор и кнопка записи — меньше */
@media (max-width:760px){
  header.site .wrap{position:relative;padding-left:14px;padding-right:66px;gap:6px 8px}
  .logo{font-size:1rem;gap:8px}
  .logo .mark{width:34px;height:34px;font-size:.95rem}
  .lang{margin-left:auto;flex-basis:auto}
  .gd2-lang-btn{min-height:44px;padding:0 10px}
  .gd2-lang-btn i{display:none}
  .rg-search-btn{width:44px;height:44px;margin-right:6px}
  nav.main{position:static;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:6px;padding:2px 0 10px}
  nav.main::-webkit-scrollbar{display:none}
  nav.main>a,nav.main details.more{flex:0 0 auto}
  nav.main>a,nav.main details.more>summary{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;white-space:nowrap;border:1px solid var(--line);background:#fffdf4;border-radius:999px}
  nav.main .more-list{left:14px;right:66px;top:calc(100% - 6px);max-height:60vh;overflow:auto}
  nav.main .more-list a{display:inline-flex;align-items:center;min-height:44px}
  .rg-dock{top:8px;right:4px;width:58px;gap:4px}
  .rg-prof{width:46px;height:46px}
  .rg-enroll-ic{width:40px;height:40px}
  .rg-enroll-ic svg{width:19px;height:19px}
  .rg-enroll-dock .rg-l{display:none}
  .rg-enroll-dock .rg-s{display:inline}
  .rg-enroll-dock .rg-enroll-label{max-width:62px;padding:1px 4px;font-size:.62rem}
  html body .gd2-lang-fab{top:8px;right:66px}
  .gd2-side{border-bottom-color:var(--win-line)}
  .rg-enroll-side{grid-column:1/-1;flex-direction:row;justify-content:center;gap:10px;margin:6px 0 0}
  .rg-enroll-side .rg-enroll-ic{width:44px;height:44px}
}
@media (max-width:380px){
  .logo{font-size:.92rem}
  .gd2-lang-btn svg{display:none}
}
@media (max-width:340px){
  .logo{font-size:0;gap:0}
  .logo .mark{font-size:.95rem}
}
@media (prefers-reduced-motion:reduce){
  .rg-prof,.rg-prof img{animation:none}
  .rg-prof,.rg-enroll-ic,.card:has(a.more),.card:has(a.stretch){transition:none}
  .rg-prof:hover,.rg-enroll:hover .rg-enroll-ic,.card:has(a.more):hover,.card:has(a.stretch):hover{transform:none}
}
@media print{
  .rg-dock,.rg-bubble,.rg-search-btn{display:none!important}
}

/* 3.20a (23.10.2026, Claude «Маисовый полоз цена») — страница 404 (tools\make_404_pages.py): крупный номер ошибки и кнопка «На главную» */
.err-code{margin:14px 0 4px;font:800 clamp(56px,16vw,120px)/1 var(--sans);letter-spacing:-.02em;color:#c9b27a}
.err-home{margin:26px 0 10px}

/* 3.20b (23.10.2026, Claude «Маисовый полоз цена») — по снимкам проверки: у строки поиска гида одна кнопка очистки (своя), без второго
   встроенного крестика браузера; на сенсорных экранах и телефоне подсказка-при-наведении к меню не закрывает раскрытую группу */
.gd2-search input::-webkit-search-cancel-button,.gd2-search input::-webkit-search-decoration{-webkit-appearance:none;appearance:none;display:none}
@media (hover:none),(max-width:760px){.gd2-navtip{display:none!important}}

/* 3.21 (23.10.2026, Claude «Маисовый полоз цена», слово Рудольфа 01:02): три плавающие кнопки в ряд сверху справа — язык, запись
   на занятие, профессор; все одного размера, как профессор. Кнопка языка теперь всегда в этом ряду (раньше появлялась только
   при прокрутке), поэтому кнопка языка в шапке скрыта (ссылки языков остаются в HTML). Подпись «Записаться на занятие» —
   под кругом, снаружи (на телефоне — только круг, подпись во всплывающем названии). */
.rg-dock{flex-direction:row;align-items:flex-start;width:auto;gap:10px;top:10px;right:12px}
html body .rg-dock .gd2-lang-fab{position:relative;top:auto;right:auto;left:auto;opacity:1;transform:none;pointer-events:auto;z-index:auto}
.rg-dock .gd2-lang-fab .gd2-lang-btn{width:64px;height:64px;border-width:2px}
.rg-dock .gd2-lang-fab .gd2-lang-btn svg{width:26px;height:26px}
.rg-dock .gd2-lang-fab .gd2-lang-btn span{font-size:.84rem}
.rg-dock .rg-enroll{position:relative}
.rg-dock .rg-enroll-ic{width:64px;height:64px}
.rg-dock .rg-enroll-ic svg{width:28px;height:28px}
.rg-dock .rg-enroll-dock .rg-enroll-label{position:absolute;left:50%;top:calc(100% + 5px);transform:translateX(-50%);width:108px;max-width:none}
.rg-dock-on header.site .gd2-lang{display:none}
@media (min-width:761px) and (max-width:1560px){header.site .wrap{padding-right:236px}}
@media (max-width:760px){
  .rg-dock{gap:6px;top:8px;right:6px;width:auto}
  .rg-dock .gd2-lang-fab .gd2-lang-btn,.rg-dock .rg-enroll-ic,.rg-prof{width:44px;height:44px}
  .rg-dock .gd2-lang-fab .gd2-lang-btn svg{width:18px;height:18px}
  .rg-dock .gd2-lang-fab .gd2-lang-btn span{font-size:.66rem}
  .rg-dock .rg-enroll-ic svg{width:20px;height:20px}
  .rg-dock .rg-enroll-dock .rg-enroll-label{display:none}
  header.site .wrap{padding-right:160px}
  nav.main{flex-basis:calc(100% + 146px);max-width:none;margin-right:-146px}
  .logo{font-size:.86rem}
  nav.main .more-list{right:14px}
}
@media (max-width:380px){.logo{font-size:0;gap:0}}

/* 3.21a (23.10.2026, Claude «Маисовый полоз цена») — по снимку 390 точек: название сайта чуть мельче, чтобы логотип и лупа
   помещались в первом ряду рядом с тремя кнопками (уже 380 точек — только значок книги) */
@media (max-width:760px) and (min-width:381px){.logo{font-size:.78rem;gap:6px}}

/* 3.22 (23.10.2026, Claude «Маисовый полоз цена», слово Рудольфа 01:13):
   1) открытая книга у названия сайта — круглая кнопка того же размера, что остальные круглые (64 точки, на телефоне 44),
      цвета фона сайта; ведёт к справочникам (reference-catalogs.html); название сайта по-прежнему ведёт на главную;
   2) кнопка «наверх» — лифт: панель с дверями лифта и двумя кнопками — ▲ наверх и ▼ вниз страницы, светлая, в тех же тонах;
      у самого верха страницы гаснет ▲, у самого низа — ▼. Без JavaScript — прежняя кнопка «наверх». */
.rg-book{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:64px;height:64px;margin-right:-12px;border-radius:50%;
  background:var(--bg);border:2px solid var(--win-line);box-shadow:0 0 0 3px #fffdf6,0 6px 16px rgba(61,43,31,.18);
  text-decoration:none;font-size:34px;line-height:1;transition:transform .15s ease}
.rg-book:hover{transform:scale(1.06)}
.rg-book:focus-visible{outline:3px solid #1e5aa8;outline-offset:3px}
.rg-book-on header.site .logo .mark{display:none}
.rg-lift{position:fixed;right:18px;bottom:18px;z-index:930;display:flex;flex-direction:column;align-items:center;gap:6px;width:64px;padding:9px 0 10px;
  border-radius:32px;background:var(--win-bg);border:2px solid var(--win-line);box-shadow:0 0 0 3px #fffdf6,0 8px 20px rgba(61,43,31,.20)}
.rg-lift-doors{display:flex;color:#8a6d3b}
.rg-lift-doors svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.rg-lift-btn{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;text-decoration:none;color:var(--win-ink);
  background:radial-gradient(circle at 38% 30%,#fffdf6,#f6e7b2 78%);border:2px solid #d9c79a;box-shadow:inset 0 -2px 0 rgba(61,43,31,.08);
  transition:transform .12s ease,background .12s ease,opacity .2s ease}
.rg-lift-btn svg{width:20px;height:20px;fill:currentColor}
.rg-lift-btn:hover{transform:scale(1.06);background:radial-gradient(circle at 38% 30%,#fffdf6,#f1dda0 78%)}
.rg-lift-btn:focus-visible{outline:3px solid #1e5aa8;outline-offset:2px}
.rg-lift.at-top .rg-lift-up,.rg-lift.at-bottom .rg-lift-down{opacity:.38;pointer-events:none}
.rg-lift-on .to-top{display:none!important}
@media (max-width:760px){
  .rg-book{width:44px;height:44px;font-size:24px;margin-right:-4px}
  .rg-lift{right:10px;bottom:12px;width:54px;padding:6px 0 7px;gap:4px;border-radius:27px}
  .rg-lift-btn{width:44px;height:44px}
  .rg-lift-doors svg{width:18px;height:18px}
}
@media (max-width:380px){.rg-book{margin-right:0}}
@media (prefers-reduced-motion:reduce){.rg-book,.rg-lift-btn{transition:none}.rg-book:hover,.rg-lift-btn:hover{transform:none}}
@media print{.rg-lift,.rg-book{display:none!important}}

/* 3.22a (23.10.2026, Claude «Маисовый полоз цена») — по снимку: значок дверей лифта крупнее, чтобы панель сразу читалась как лифт */
.rg-lift-doors svg{width:28px;height:28px;stroke-width:1.7}
@media (max-width:760px){.rg-lift-doors svg{width:22px;height:22px}}

/* 3.22b (23.10.2026, Claude «Маисовый полоз цена», слово Рудольфа 01:19): книга на круглой кнопке — свой рисунок книжных цветов
   (кремовые страницы, коричневый переплёт) вместо эмодзи 📖, которое Windows рисует синим */
.rg-book svg{display:block;width:44px;height:44px}
@media (max-width:760px){.rg-book svg{width:31px;height:31px}}

/* 3.23 (23.10.2026, Claude «Маисовый полоз цена», слово Рудольфа 01:22):
   1) подпись «Записаться на занятие» — под тремя плавающими кнопками (язык, запись, профессор), во всю ширину их ряда, крупными
      буквами; подпись — тоже ссылка на запись; прежняя мелкая подпись под золотым кругом убрана (globe.js, buildDock);
   2) книга у названия сайта — толстая, объёмная: обрез страниц, коричневый переплёт, красная закладка; ведёт на главную страницу
      (globe.js, initBookBtn).
   На телефоне строка меню больше не заходит под плавающие кнопки: под ними теперь подпись. */
.rg-dock{flex-direction:column;align-items:stretch;gap:8px}
.rg-dock-row{display:flex;align-items:flex-start;gap:10px;pointer-events:none}
.rg-dock-row>*{pointer-events:auto}
.rg-dock .rg-dock-cap{display:block;box-sizing:border-box;width:0;min-width:100%;padding:5px 4px;border-radius:14px;text-align:center;
  text-decoration:none;font:700 16px/1.2 var(--sans);color:#3a2b00;text-wrap:balance;
  background:linear-gradient(180deg,#fff6c9,#ffd84a 62%,#f5b000);border:2px solid #d89400;
  box-shadow:0 0 0 3px #fff9dc,0 6px 16px rgba(63,49,9,.24);transition:transform .15s ease}
.rg-dock .rg-dock-cap:hover{transform:scale(1.03)}
.rg-dock .rg-dock-cap:focus-visible{outline:3px solid #1e5aa8;outline-offset:3px}
.rg-book svg{width:46px;height:46px}
@media (max-width:760px){
  .rg-dock{gap:6px}
  .rg-dock-row{gap:6px}
  .rg-dock .rg-dock-cap{padding:3px 3px;border-radius:10px;font-size:13px;line-height:1.15}
  nav.main{flex-basis:100%;margin-right:0}
  .rg-book svg{width:32px;height:32px}
}
@media (prefers-reduced-motion:reduce){.rg-dock .rg-dock-cap{transition:none}.rg-dock .rg-dock-cap:hover{transform:none}}

/* 3.24 (23.10.2026, Claude «Маисовый полоз цена», слово Рудольфа 01:36, его выбор «Вариант 1»): рисунки Анри в цветах сайта —
   книга у названия сайта (img/ui/book.webp) и кнопка языков: старинный глобус с сеткой координат цвета пергамента
   (img/ui/globe.webp) вместо синего круга; буквы языка (RU и другие) — тёмно-коричневые на светлой плашке.
   Подлинники рисунков: C:\Jarvis\wayfinder\site_launch\icons\. */
.rg-book{overflow:hidden;padding:0}
.rg-book img{display:block;width:100%;height:100%;border-radius:50%}
.gd2-lang-fab .gd2-lang-btn{background:#fbf4df url(img/ui/globe.webp) center/cover no-repeat;border-color:var(--win-line);color:#3d2b1f}
.gd2-lang-fab .gd2-lang-btn svg{display:none}
.gd2-lang-fab .gd2-lang-btn span{background:rgba(251,244,223,.9);color:#3d2b1f;border-radius:9px;padding:1px 6px;font-weight:800}

/* 3.25 (23.10.2026, Claude «Маисовый полоз цена», слово Рудольфа 01:5x): весь сайт — по первому акварельному предпросмотру
   Анри 01:49, без серых точек; книга раскрыта; все глобусы наклонные (кнопка языков — наклонный глобус Анри; вращающиеся
   глобусы над заголовком и в углу — пергаментные, с сеткой координат; большой глобус ресурсов — с наклонной осью; globe.js).
   Фон и шапка — светлый пергамент с лёгкими акварельными пятнами (без точек); меню — пилюли с коричнево-золотой обводкой;
   кнопки — пергаментные круги в тонкой чернильной обводке, кнопка записи без жёлтого; под кнопками подписи «язык · запись ·
   профессор» (на компьютере, пока страница не прокручена) и «Записаться на занятие» тёмными буквами с золотой чертой;
   карточки — пергамент с двойной рамкой; лифт и глобусы — пергаментные. */
:root{--ink-line:#a88b55}
body{background-color:var(--bg);background-image:radial-gradient(ellipse 60% 40% at 8% 18%,rgba(222,196,140,.16),transparent 70%),
  radial-gradient(ellipse 50% 35% at 92% 62%,rgba(222,196,140,.13),transparent 70%),radial-gradient(ellipse 45% 30% at 30% 92%,rgba(205,178,120,.10),transparent 70%);
  background-attachment:fixed}
header.site{background:radial-gradient(ellipse 40% 90% at 6% 40%,rgba(214,186,130,.20),transparent 70%),
  radial-gradient(ellipse 35% 80% at 70% 20%,rgba(214,186,130,.14),transparent 70%),linear-gradient(180deg,#faf4e4,#f3e8cc);border-bottom:2px solid #c9b07a}
nav.main{gap:6px 8px}
nav.main>a,nav.main details.more>summary{background:#f8f1df;border:1.5px solid #b89a5e;color:#3d2b1f;box-shadow:0 1px 0 rgba(61,43,31,.10)}
nav.main>a:hover,nav.main details.more>summary:hover,nav.main details.more[open]>summary{background:#efe2c0;border-color:#9a7b43;color:#2b1d12}
nav.main>a[aria-current],nav.main details.more:has(a[aria-current])>summary{background:#ecdcb4;border-color:#8d6e3a;color:#2b1d12;font-weight:600}
.gd2-lang-fab .gd2-lang-btn{background-image:url(img/ui/globe.webp?v=2)}
.rg-dock .gd2-lang-fab .gd2-lang-btn,.rg-prof,.rg-book{border-color:var(--ink-line)}
.rg-dock .rg-enroll-ic{background:radial-gradient(circle at 38% 30%,#fffaf0,#f1e5c6 80%);border-color:var(--ink-line);color:#3d2b1f;
  box-shadow:0 0 0 3px #fffaf0,0 6px 14px rgba(61,43,31,.18)}
.rg-enroll:hover .rg-enroll-ic{box-shadow:0 0 0 3px #fffaf0,0 8px 18px rgba(61,43,31,.26)}
.rg-dock-labels{display:flex;gap:10px;height:16px;margin-top:-2px;pointer-events:none;transition:opacity .2s ease,visibility .2s}
.rg-dock-labels span{flex:0 0 64px;text-align:center;white-space:nowrap;font:600 12px/16px var(--sans);color:#5b4a2e;text-shadow:0 0 3px #fbf4df}
.rg-scrolled .rg-dock-labels{opacity:0;visibility:hidden}
.rg-dock .rg-dock-cap{background-color:rgba(250,244,228,.94);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 10' preserveAspectRatio='none'%3E%3Cpath d='M2 6C40 3 90 2.5 198 4.5V6C120 8.5 60 8.6 2 7.6Z' fill='%23c9a24a'/%3E%3C/svg%3E");background-repeat:no-repeat;
  background-position:50% calc(100% - 3px);background-size:84% 7px;border:0;box-shadow:none;color:#3d2b1f;
  font:700 18px/1.15 Georgia,'Times New Roman',serif;padding:3px 4px 13px;border-radius:12px}
.rg-dock .rg-dock-cap:hover{transform:none;color:#2b1d12;background-color:rgba(243,232,204,.96)}
.card{background:linear-gradient(180deg,#fcf8ee,#f6eedb);border:1.5px solid #c9b07a;
  box-shadow:inset 0 0 0 4px #fcf8ee,inset 0 0 0 5px #dccaa2,0 2px 8px rgba(61,43,31,.06)}
.card:hover{border-color:#9a7b43}
.card:has(a.more):hover,.card:has(a.stretch):hover{box-shadow:inset 0 0 0 4px #fcf8ee,inset 0 0 0 5px #dccaa2,0 8px 18px rgba(61,43,31,.14)}
ul.links li,.stat{background:linear-gradient(180deg,#fcf8ee,#f6eedb);border-color:#d8c49a}
.icon{background:#f6ecd4;border:1.5px solid #b89a5e;color:#5b4a2e}
.globe-fab,.icon.page.globe-top{background:#f8f1df;border-color:var(--ink-line);color:#5b4a2e;box-shadow:0 0 0 2px #fffaf0,0 4px 14px rgba(61,43,31,.22)}
.g-ocean{fill:#f8f0da}
.g-grat{stroke:#c9a961;stroke-width:.6}
.rg-lift{background:#f8f1df;border-color:#b89a5e;box-shadow:0 0 0 3px #fffaf0,0 8px 20px rgba(61,43,31,.18)}
.rg-lift-btn{background:radial-gradient(circle at 38% 30%,#fffaf0,#efe2c0 80%);border-color:var(--ink-line);color:#3d2b1f}
.rg-lift-btn:hover{background:radial-gradient(circle at 38% 30%,#fffaf0,#e6d3a6 80%)}
.rg-lift-doors{color:#6b5a3a}
@media (max-width:760px){
  .rg-dock-labels{display:none}
  .rg-dock .rg-dock-cap{font-size:14px;padding:2px 3px 10px;background-size:80% 5px}
}
@media (prefers-reduced-motion:reduce){.rg-dock-labels{transition:none}}

/* 3.25a (23.10.2026, Claude «Маисовый полоз цена»): кнопка записи — перо Анри (02:00, повёрнуто наискосок, как на образце 01:49)
   на пергаменте вместо ручки; подпись «Записаться на занятие» на компьютере — в одну строку */
.rg-dock .rg-enroll-ic{background:#f8f1df url(img/ui/quill.webp) center/cover no-repeat}
.rg-dock .rg-enroll-ic svg{display:none}
.rg-dock .rg-dock-cap{font-size:17px;white-space:nowrap;letter-spacing:-.01em;padding:3px 0 12px}
@media (max-width:760px){.rg-dock .rg-dock-cap{font-size:14px;white-space:normal;letter-spacing:0;padding:2px 3px 10px}}

/* 3.25b (23.10.2026, Claude «Маисовый полоз цена»): кнопка поиска в шапке — пергаментный круг в чернильной обводке, как остальные */
.rg-search-btn{background:radial-gradient(circle at 38% 30%,#fffaf0,#f1e5c6 80%);border:2px solid var(--ink-line);color:#3d2b1f}
.rg-search-btn:hover{background:radial-gradient(circle at 38% 30%,#fffaf0,#e6d3a6 80%)}

/* 3.26 (23.10.2026, Claude «Маисовый полоз цена», слово Рудольфа 02:12): книга у названия сайта — при наведении курсора страницы
   листаются: курсор на правой половине книги — справа налево, на левой — слева направо (globe.js, initBookBtn, .rg-leaf).
   На телефоне и при системной настройке «меньше движения» — без листания. */
.rg-book{position:relative;perspective:150px}
.rg-leaf{position:absolute;top:25%;left:50%;width:31%;height:33%;opacity:0;pointer-events:none;transform-origin:0 50%;border-radius:0 3px 3px 0;
  background:repeating-linear-gradient(180deg,transparent 0 3px,rgba(140,110,60,.30) 3px 4px) 18% 22%/66% 62% no-repeat,
    linear-gradient(90deg,#e8dab6,#fffaf0 24%,#f7ecd3);
  box-shadow:0 1px 2px rgba(61,43,31,.25)}
.rg-book.leaf-r .rg-leaf{animation:rg-leaf-r 1.15s ease-in-out infinite}
.rg-book.leaf-l .rg-leaf{left:21%;width:29%;top:26%;height:31%;transform-origin:100% 50%;border-radius:3px 0 0 3px;
  background-position:16% 22%,0 0;animation:rg-leaf-l 1.15s ease-in-out infinite}
@keyframes rg-leaf-r{0%{opacity:0;transform:rotateY(0)}10%{opacity:1;transform:rotateY(-10deg)}
  50%{opacity:1;transform:rotateY(-92deg);filter:brightness(.85)}90%{opacity:1;transform:rotateY(-176deg)}100%{opacity:0;transform:rotateY(-180deg)}}
@keyframes rg-leaf-l{0%{opacity:0;transform:rotateY(0)}10%{opacity:1;transform:rotateY(10deg)}
  50%{opacity:1;transform:rotateY(92deg);filter:brightness(.85)}90%{opacity:1;transform:rotateY(176deg)}100%{opacity:0;transform:rotateY(180deg)}}
@media (prefers-reduced-motion:reduce){.rg-leaf{display:none}}

/* 3.26a (23.10.2026, Claude «Маисовый полоз цена»): перелистываемый лист — рисунок Анри (02:15, лист с загнутым краем, вырезан из фона)
   вместо листа, нарисованного кодом; лист сначала приподнимается, потом переворачивается */
.rg-leaf{background:url(img/ui/leaf_r.webp) center/100% 100% no-repeat;box-shadow:none;border-radius:0;filter:drop-shadow(0 1px 1px rgba(61,43,31,.3))}
.rg-book.leaf-l .rg-leaf{background:url(img/ui/leaf_l.webp) center/100% 100% no-repeat}
@keyframes rg-leaf-r{0%{opacity:0;transform:rotateY(0)}15%{opacity:1;transform:rotateY(-20deg)}
  50%{opacity:1;transform:rotateY(-92deg)}85%{opacity:1;transform:rotateY(-170deg)}100%{opacity:0;transform:rotateY(-180deg)}}
@keyframes rg-leaf-l{0%{opacity:0;transform:rotateY(0)}15%{opacity:1;transform:rotateY(20deg)}
  50%{opacity:1;transform:rotateY(92deg)}85%{opacity:1;transform:rotateY(170deg)}100%{opacity:0;transform:rotateY(180deg)}}

/* 3.27 (23.10.2026, Claude «Маисовый полоз цена», слово Рудольфа 02:17): все глобусы вращаются при наведении курсора —
   кнопка языков: поверх рисунка Анри проступает вращающийся пергаментный глобус (globe.js, miniGlobe keep/hoverOnly);
   глобусы-значки в карточках наклонены, при наведении на карточку бегут меридианы; большой глобус — в globe.js */
.gd2-lang-fab .gd2-lang-btn{position:relative;overflow:hidden}
.gd2-lang-fab .gd2-lang-btn span{position:relative;z-index:1}
.gd2-lang-btn .rg-mini{position:absolute;inset:0;width:100%;height:100%;border-radius:50%;opacity:0;transition:opacity .3s ease;pointer-events:none}
.gd2-lang-btn:hover .rg-mini,.gd2-lang-btn:focus-visible .rg-mini{opacity:1}
.rg-gl .rg-m{transform-box:fill-box;transform-origin:center}
.rg-gl .rg-m1{transform:scaleX(.4)}
.rg-gl .rg-m2,.rg-gl .rg-m3{opacity:0}
.card:hover .rg-gl .rg-m,.rg-gl:hover .rg-m{opacity:1;animation:rg-meri 2.4s linear infinite}
.card:hover .rg-gl .rg-m2,.rg-gl:hover .rg-m2{animation-delay:-.8s}
.card:hover .rg-gl .rg-m3,.rg-gl:hover .rg-m3{animation-delay:-1.6s}
@keyframes rg-meri{0%{transform:scaleX(0)}25%{transform:scaleX(.71)}50%{transform:scaleX(1)}75%{transform:scaleX(.71)}100%{transform:scaleX(0)}}
@media (prefers-reduced-motion:reduce){.card:hover .rg-gl .rg-m,.rg-gl:hover .rg-m{animation:none}}

/* 3.28 (23.10.2026, Claude «Маисовый полоз цена»):
   1) слово Рудольфа 02:24 «страницы не перелистываются»: корень — в Windows выключены анимации, браузер просит «меньше движения»,
      а листание книги и меридианы значка-глобуса при этой настройке были выключены. Движение по наведению начинает сам человек —
      теперь оно работает и при этой настройке;
   2) слово Рудольфа 02:23: при наведении профессор шевелится и здоровается (облачко «Здравствуйте!»), перо на кнопке записи пишет
      (перо — вырезанный рисунок Анри img/ui/quill_cut.webp, строка проявляется чернилами). */
@media (prefers-reduced-motion:reduce){
  .rg-leaf{display:block}
  .card:hover .rg-gl .rg-m,.rg-gl:hover .rg-m{animation:rg-meri 2.4s linear infinite}
  .card:hover .rg-gl .rg-m2,.rg-gl:hover .rg-m2{animation-delay:-.8s}
  .card:hover .rg-gl .rg-m3,.rg-gl:hover .rg-m3{animation-delay:-1.6s}
}
.rg-prof:hover img,.rg-prof:focus-visible img{animation:rg-hi 1.6s ease-in-out infinite}
@keyframes rg-hi{0%,100%{transform:rotate(0) translateY(0)}12%{transform:rotate(-8deg) translateY(-2px)}24%{transform:rotate(7deg) translateY(-3px)}
  36%{transform:rotate(-6deg) translateY(-2px)}48%{transform:rotate(4deg) translateY(-1px)}62%{transform:rotate(0) translateY(0)}
  74%{transform:translateY(3px) scale(1.02)}86%{transform:translateY(0)}}
.rg-hello{position:absolute;right:-4px;top:82px;z-index:3;padding:6px 12px;border-radius:12px;background:var(--win-bg);border:1.5px solid var(--win-line);
  color:var(--win-ink);font:700 15px/1.2 Georgia,'Times New Roman',serif;white-space:nowrap;box-shadow:0 6px 16px rgba(61,43,31,.18);
  opacity:0;transform:translateY(-6px);transition:opacity .2s ease,transform .2s ease;pointer-events:none}
.rg-hello::before{content:"";position:absolute;right:26px;top:-7px;width:12px;height:12px;background:var(--win-bg);
  border-left:1.5px solid var(--win-line);border-top:1.5px solid var(--win-line);transform:rotate(45deg)}
.rg-dock.rg-hi-on .rg-hello{opacity:1;transform:none}
.rg-dock .rg-enroll-ic{position:relative;overflow:hidden;background:radial-gradient(circle at 38% 30%,#fffaf0,#f1e5c6 80%)}
.rg-dock .rg-enroll-ic .rg-quill{position:absolute;inset:0;background:url(img/ui/quill_cut.webp) center/cover no-repeat;pointer-events:none}
.rg-dock .rg-enroll-ic svg.rg-ink{display:block;position:absolute;left:31%;top:65%;width:24%;height:12%;fill:none;stroke:#3d2b1f;stroke-width:1.5px;
  stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:60;stroke-dashoffset:60;opacity:0;pointer-events:none}
.rg-enroll:hover .rg-enroll-ic .rg-quill,.rg-enroll:focus-visible .rg-enroll-ic .rg-quill{animation:rg-write 1.9s ease-in-out infinite}
.rg-enroll:hover .rg-enroll-ic svg.rg-ink,.rg-enroll:focus-visible .rg-enroll-ic svg.rg-ink{animation:rg-ink 1.9s linear infinite}
@keyframes rg-write{0%{transform:translate(14%,-12%) rotate(0)}8%{transform:translate(16.5%,-14%) rotate(-3deg)}16%{transform:translate(19%,-11%) rotate(2deg)}
  24%{transform:translate(21.5%,-14%) rotate(-3deg)}32%{transform:translate(24%,-11%) rotate(2deg)}40%{transform:translate(26.5%,-14%) rotate(-3deg)}
  48%{transform:translate(29%,-11%) rotate(2deg)}56%{transform:translate(31.5%,-14%) rotate(-3deg)}64%{transform:translate(34%,-12%) rotate(0)}
  78%{transform:translate(34%,-20%) rotate(-8deg)}100%{transform:translate(14%,-12%) rotate(0)}}
@keyframes rg-ink{0%{stroke-dashoffset:60;opacity:1}64%{stroke-dashoffset:0;opacity:1}80%{stroke-dashoffset:0;opacity:1}94%{stroke-dashoffset:0;opacity:0}
  100%{stroke-dashoffset:60;opacity:0}}
@media (max-width:760px){.rg-hello{top:56px;font-size:13px}}

/* 3.29 (23.10.2026, Claude «Маисовый полоз цена», слово Рудольфа 02:37):
   1) профессор при наведении не качается по сторонам, а слегка кланяется и улыбается (02:46: губами не шевелит; globe.js, bowSmile) — на кнопке профессора,
      в окне гида и в облачке подсказки; без наведения при настройке «меньше движения» — неподвижен;
   2) перо пишет на листке: при наведении появляется листок, перо пишет на нём две строки слева направо;
   3) лифт продублирован слева; вращающийся глобус в левом нижнем углу поднят над левым лифтом. */
.rg-face{position:relative;display:block}
.rg-prof .rg-face{width:100%;height:100%;animation:rg-bob 3.6s ease-in-out infinite;transform-origin:50% 85%}
.rg-prof img{animation:none}
.rg-bubble .rg-face{flex:0 0 auto;width:64px}
.rg-prof:hover img,.rg-prof:focus-visible img{animation:none}
.rg-prof:hover .rg-face,.rg-prof:focus-visible .rg-face,.gd2-portrait:hover .rg-face,.rg-bubble .rg-face:hover{animation:rg-bow .9s ease-out both;transform-origin:50% 100%}
@keyframes rg-bow{0%{transform:none}35%{transform:perspective(300px) translateY(4%) rotateX(-14deg) scale(1.03)}
  70%{transform:perspective(300px) translateY(1%) rotateX(-3deg)}100%{transform:none}}
@media (prefers-reduced-motion:reduce){.rg-prof .rg-face{animation:none}}
.rg-dock .rg-enroll-ic .rg-sheet{position:absolute;left:22%;top:55%;width:56%;height:30%;background:#fffdf6;border:1px solid #d8c49a;border-radius:2px;
  box-shadow:0 1px 2px rgba(61,43,31,.18);transform:rotate(-4deg);opacity:0;transition:opacity .2s ease;pointer-events:none}
.rg-dock .rg-enroll-ic .rg-sheet svg{display:block;position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:#3d2b1f;stroke-width:1px;
  vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:100;stroke-dashoffset:100}
.rg-dock .rg-enroll-ic .rg-sheet path{vector-effect:non-scaling-stroke}
.rg-enroll:hover .rg-enroll-ic .rg-sheet,.rg-enroll:focus-visible .rg-enroll-ic .rg-sheet{opacity:1}
.rg-dock .rg-enroll-ic .rg-quill{transform-origin:18.2% 85.4%}
.rg-enroll:hover .rg-enroll-ic .rg-quill,.rg-enroll:focus-visible .rg-enroll-ic .rg-quill{animation:rg-quill 2.8s linear infinite}
.rg-enroll:hover .rg-sheet .rg-l1,.rg-enroll:focus-visible .rg-sheet .rg-l1{animation:rg-l1 2.8s linear infinite}
.rg-enroll:hover .rg-sheet .rg-l2,.rg-enroll:focus-visible .rg-sheet .rg-l2{animation:rg-l2 2.8s linear infinite}
@keyframes rg-quill{0%{transform:none}5%{transform:translate(7.5%,-19.4%) scale(.62)}10%{transform:translate(13.5%,-21%) scale(.62)}
  15%{transform:translate(19.4%,-19%) scale(.62)}20%{transform:translate(25.4%,-21%) scale(.62)}25%{transform:translate(31.3%,-19.6%) scale(.62)}
  30%{transform:translate(37.3%,-21.6%) scale(.62)}35%{transform:translate(43.2%,-20.2%) scale(.62)}40%{transform:translate(49.2%,-22%) scale(.62)}
  45%{transform:translate(55.1%,-21.9%) scale(.62)}47.5%{transform:translate(31%,-18%) scale(.62) rotate(-5deg)}50%{transform:translate(7.5%,-9.9%) scale(.62)}
  55%{transform:translate(12.9%,-11.2%) scale(.62)}60%{transform:translate(18.2%,-9.6%) scale(.62)}65%{transform:translate(23.5%,-11.6%) scale(.62)}
  70%{transform:translate(28.9%,-10%) scale(.62)}75%{transform:translate(34.2%,-12%) scale(.62)}80%{transform:translate(39.6%,-10.4%) scale(.62)}
  85%{transform:translate(44.9%,-11.9%) scale(.62)}92%{transform:translate(44.9%,-18%) scale(.62) rotate(-6deg)}100%{transform:none}}
@keyframes rg-l1{0%,5%{stroke-dashoffset:100;opacity:1}45%{stroke-dashoffset:0;opacity:1}92%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:0;opacity:0}}
@keyframes rg-l2{0%,50%{stroke-dashoffset:100;opacity:1}85%{stroke-dashoffset:0;opacity:1}92%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:0;opacity:0}}
.rg-lift.rg-lift-left{right:auto;left:18px}
.rg-lift-on .globe-fab{bottom:192px}
@media (max-width:760px){.rg-lift.rg-lift-left{right:auto;left:10px}.rg-lift-on .globe-fab{bottom:156px}}

/* 3.29a (23.10.2026, Claude «Маисовый полоз цена»): подвал — светлый пергамент с коричнево-золотой линией, как шапка (весь сайт —
   по акварельному образцу Анри 01:49, слово Рудольфа 01:5x) */
footer.site{background:radial-gradient(ellipse 40% 90% at 90% 60%,rgba(214,186,130,.18),transparent 70%),linear-gradient(180deg,#f3e8cc,#faf4e4);
  border-top:2px solid #c9b07a;color:#5b4a2e}
footer.site a{color:#4a3622}
/* 3.29b (23.10.2026, Claude «Маисовый полоз цена», слово Рудольфа 02:46 «губами шевелить не нужно… пусть лучше просто улыбнется»):
   движение губ убрано; на кнопке профессора при наведении поверх портрета проявляется улыбающийся профессор (img/prof/face-smile.webp) */
.rg-face .rg-smile{position:absolute;left:0;top:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .35s ease;pointer-events:none}
.rg-prof:hover .rg-smile,.rg-prof:focus-visible .rg-smile{opacity:1}
/* 3.30 (23.10.2026, Claude «Маисовый полоз цена», решение Рудольфа 10:02 перед публикацией: «все права защищены»):
   в подвале после названия каталога — «Все права защищены.» на языке страницы */
footer.site .rights::before{content:" · "}
footer.site .rights{white-space:nowrap}

/* 3.31 (23.10.2026, Claude «Маисовый полоз цена», слово Рудольфа 10:09):
   1) лифт — круглая кнопка, как остальные (64 точки, на телефоне 44): верхняя половинка ▲, нижняя ▼; короткое нажатие — к началу
      или к концу страницы, удержание — прокрутка, пока держишь (globe.js, initLift); лифты слева и справа;
   2) золотистый тон страниц — с 10:17 светло-жёлто-золотистый, цвета — токены в 3.32. */
.rg-lift{width:64px;height:64px;padding:0;gap:0;border-radius:50%;display:flex;flex-direction:column;overflow:hidden;
  background:radial-gradient(circle at 38% 30%,#fffaf0,#f1e5c6 80%);border:2px solid var(--ink-line);box-shadow:0 0 0 3px #fffaf0,0 6px 16px rgba(61,43,31,.22)}
.rg-lift-btn{flex:1 1 50%;width:100%;height:auto;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;
  display:flex;align-items:center;justify-content:center;color:#3d2b1f;cursor:pointer;touch-action:none;user-select:none;-webkit-user-select:none;
  font:inherit;transition:background .12s ease,opacity .2s ease}
.rg-lift-up{border-bottom:1px solid rgba(168,139,85,.6)}
.rg-lift-btn svg{width:18px;height:18px;fill:currentColor}
.rg-lift-up svg{margin-top:5px}
.rg-lift-down svg{margin-bottom:5px}
.rg-lift-btn:hover{background:rgba(214,186,130,.28);transform:none}
.rg-lift-btn.is-held{background:rgba(201,162,74,.42)}
.rg-lift-btn:focus-visible{outline:3px solid #1e5aa8;outline-offset:-3px}
.rg-lift.at-top .rg-lift-up,.rg-lift.at-bottom .rg-lift-down{opacity:.32;pointer-events:none}
.rg-lift-on .globe-fab{bottom:98px}
@media (max-width:760px){
  .rg-lift{width:44px;height:44px;padding:0;gap:0;border-radius:50%}
  .rg-lift-btn{width:100%;height:auto}
  .rg-lift-btn svg{width:14px;height:14px}
  .rg-lift-up svg{margin-top:3px}
  .rg-lift-down svg{margin-bottom:3px}
  .rg-lift-on .globe-fab{bottom:68px}
}
/* 3.32 (23.10.2026, Claude «Маисовый полоз цена», слово Рудольфа 10:17 «тон должен стать светло-желто-золотистым»; предложение Анри
   10:14 — закрепить тон токенами, чтобы он не «плыл» по страницам): цвета фона страниц, шапки, подвала и карточек — переменные ниже,
   менять тон — только здесь. Окна, меню и подсказки остаются светлыми (#fef9e8). */
:root{--page-top:#fff8db;--page-bottom:#fbecb2;--page-base:#fdf3c8;--page-stain:rgba(246,204,84,.20);
  --head-top:#fff7d6;--head-bottom:#f8e39a;--gold-rule:#dcb84e;--card-top:#fffdf3;--card-bottom:#fdf4d8;--card-line:#dcc27a;--card-inner:#efdfaa}
body{background-color:var(--page-base);background-image:radial-gradient(ellipse 60% 40% at 8% 18%,var(--page-stain),transparent 70%),
  radial-gradient(ellipse 50% 35% at 92% 62%,var(--page-stain),transparent 70%),linear-gradient(180deg,var(--page-top),var(--page-bottom));background-attachment:fixed}
header.site{background:radial-gradient(ellipse 40% 90% at 6% 40%,var(--page-stain),transparent 70%),linear-gradient(180deg,var(--head-top),var(--head-bottom));
  border-bottom:2px solid var(--gold-rule)}
footer.site{background:linear-gradient(180deg,var(--head-bottom),var(--head-top));border-top:2px solid var(--gold-rule)}
.card{background:linear-gradient(180deg,var(--card-top),var(--card-bottom));border-color:var(--card-line);
  box-shadow:inset 0 0 0 4px var(--card-top),inset 0 0 0 5px var(--card-inner),0 2px 8px rgba(120,90,20,.08)}
.card:has(a.more):hover,.card:has(a.stretch):hover{box-shadow:inset 0 0 0 4px var(--card-top),inset 0 0 0 5px var(--card-inner),0 8px 18px rgba(120,90,20,.16)}
ul.links li,.stat{background:linear-gradient(180deg,var(--card-top),var(--card-bottom));border-color:var(--card-line)}

/* 3.33 — круги 1 и 2 разбора 23.10.2026 (решение Рудольфа):
   контраст кнопок WhatsApp и счётчика на активной плашке справочных таблиц — не ниже 4,5;
   кнопка «Открыть афишу» вместо встроенного окна (окно встраивается только по щелчку, код в globe.js);
   длинный список телеканалов рисуется по мере прокрутки; строка «ReferenceGuides, Ереван, 2026» под заголовком главной */
.btn.wa{background:var(--deep)}
.qref-groups button[aria-pressed="true"] span{color:#fff8dd}
.window-lazy{display:flex;align-items:center;justify-content:center;min-height:200px;padding:28px 16px;background:linear-gradient(180deg,var(--card-top),var(--card-bottom));text-align:center}
.window-lazy .btn{margin:0}
details.tvc{content-visibility:auto;contain-intrinsic-size:auto 48px}
.byline{margin:4px 0 18px;color:#5a4632;font-style:italic;font-size:.98rem}

/* 3.34 — дополнение к разбору 23.10.2026 (проверка axe на живом сайте): рубрика над заголовком (.kicker) темнее —
   контраст 5,4 на карточке #f5e9c3 (было 4,08 при норме 4,5) */
.kicker{color:var(--deep2)}
