
.bw-skip { position: fixed; top: var(--bw-space-4); left: var(--bw-space-4); z-index: 1000; padding: var(--bw-space-3) var(--bw-space-4); background: var(--bw-bg); color: var(--bw-text); transform: translateY(calc(-100% - var(--bw-space-4) - 8px)); }
.bw-skip:focus { transform: translateY(0); outline: 2px solid var(--bw-focus); outline-offset: 3px; }

.bw-site-header { position: fixed; top: env(safe-area-inset-top, 0px); left: 0; right: 0; z-index: 60; padding-top: 14px; }
.bw-header-spacer { height: max(84px, var(--bw-menu-bottom, 0px)); }
.bw-site-header .bw-header { box-shadow: 0 10px 40px rgba(0,0,0,.25); background: var(--bw-header-bg); -webkit-backdrop-filter: none; backdrop-filter: none; }
[data-theme="paper"] .bw-site-header .bw-header { background: var(--bw-header-bg); box-shadow: 0 8px 30px rgba(60,40,20,.12); border-color: var(--bw-line); }
.bw-site-header .bw-header.is-open { background: var(--bw-header-bg); }
[data-theme="paper"] .bw-site-header .bw-header.is-open { background: var(--bw-header-bg); }
/* Мобильная CTA — непрозрачная подложка во всех темах (дир. 93 (8), #438): под ней не просвечивает контент. */
.bw-mobile-cta { background: var(--bw-ink-900); -webkit-backdrop-filter: none; backdrop-filter: none; }
.bw-site-header .bw-header__end .bw-btn--raised,
.bw-mobile-cta .bw-btn--raised { min-height:44px; min-width:44px; font-size:16px; background:var(--bw-surface-raised); color:var(--bw-text); border-color:var(--bw-line); }
@media (max-width: 979px) { .bw-site-header { padding-top: 10px; } .bw-header-spacer { height: 76px; } }
/* Узкий экран: длинная подпись кнопки переносится, а не вылезает за край. Высота сохраняется, пока текст в одну строку. */
@media (max-width: 480px) { .bw-btn { max-width: 100%; white-space: normal; height: auto; min-height: var(--h); padding-block: 10px; line-height: 1.3; } }
html { scroll-behavior: smooth; scroll-padding-top: 100px; color-scheme: dark; background: var(--bw-bg); }
html[data-theme="paper"], html[data-theme="jade"] { color-scheme: light; }
.bw-root [style*="position:sticky"] { top: 112px !important; }
@media (max-width: 979px) { .bw-root aside[style*="position:sticky"] { position: static !important; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

.bw-booking__content { max-width: 640px; gap: var(--bw-space-6); }
.bw-booking form { gap: var(--bw-space-5); }
.bw-booking__consent { flex-wrap: nowrap; align-items: flex-start; color: var(--bw-text-2); }
.bw-booking .bw-input { border-color: var(--bw-muted); }
.bw-booking :focus-visible { outline: 2px solid var(--bw-em); outline-offset: var(--bw-space-1); }
.bw-booking [hidden] { display: none; }
.bw-btn[data-payment-submit]:disabled, .bw-booking .bw-btn:disabled { color: var(--bw-text); }

.bw-booking [aria-invalid="true"] { border-color: var(--bw-danger-text); }
.bw-booking .bw-field-error { color: var(--bw-danger-text); }

/* Год-гармония на тёмной теме: приглушённый текст (4,25:1) на золотой плашке ниже 4,5:1, берём text-2 той же темы. */
[data-theme="jade"] .bw-years .is-harmony span:first-child { color: var(--bw-text-2); }

/* Shared header palette resolves once outside legacy themed menu islands. */
.bw-site-header { --bw-header-bg:var(--bw-surface-raised); --bw-header-panel:var(--bw-surface); --bw-header-text:var(--bw-text); --bw-header-text-2:var(--bw-text-2); --bw-header-muted:var(--bw-muted); --bw-header-em:var(--bw-em); --bw-header-line:var(--bw-line-strong); --bw-header-hover:var(--bw-surface-hover); --bw-header-focus:var(--bw-focus); --bw-header-ring:var(--bw-focus-ring); }
.bw-site-header nav.bw-header[data-shrink],.bw-site-header nav.bw-header[data-shrink].is-open { background:var(--bw-header-bg); color:var(--bw-header-text); border-color:var(--bw-header-line); view-transition-name:none; }
.bw-site-header :is(a,button) { min-height:44px; min-width:44px; font-size:16px; }
.bw-site-header :is(a,button):focus-visible { outline:2px solid var(--bw-header-focus); outline-offset:3px; box-shadow:var(--bw-header-ring); }
.bw-site-header .bw-header .bw-logo__word { color:var(--bw-header-text); }
.bw-site-header .bw-header .bw-logo__word em { color:var(--bw-header-em); }
.bw-site-header .bw-header__nav :is(a,button),.bw-site-header .bw-header__end :is(.bw-btn--quiet,.bw-btn--ghost,.bw-btn--raised) { color:var(--bw-header-text-2); }
.bw-site-header .bw-header__nav :is(a,button):hover,.bw-site-header .bw-header__end :is(.bw-btn--quiet,.bw-btn--ghost,.bw-btn--raised):hover { background:var(--bw-header-hover); color:var(--bw-header-text); }
.bw-site-header nav.bw-header .bw-chip--month[data-bw-month] { color:color-mix(in srgb,var(--bw-accent-live) 30%,var(--bw-header-text) 70%); font-size:16px; }
.bw-site-header .bw-mega__panel[role="region"] { background:var(--bw-header-panel); color:var(--bw-header-text); border-color:var(--bw-header-line); }
.bw-site-header .bw-mega__panel .bw-mega__link b { color:var(--bw-header-text); }
.bw-site-header .bw-mega__panel .bw-mega__link small { color:var(--bw-header-text-2); font-size:16px; }
.bw-site-header .bw-mega__panel .bw-mega__link .bw-mega__price { color:var(--bw-header-em); font-size:16px; }
.bw-site-header .bw-mega__panel .bw-mega__col > .bw-tag { color:var(--bw-header-muted); font-size:16px; }
.bw-site-header .bw-mega__panel .bw-mega__feature { background:var(--bw-header-bg); color:var(--bw-header-text); }
.bw-site-header .bw-mega__panel .bw-mega__feature .bw-title { color:var(--bw-header-text) !important; }
.bw-site-header .bw-mega__panel .bw-mega__feature .bw-title em { color:var(--bw-header-em) !important; }
.bw-site-header .bw-mega__panel .bw-mega__feature .bw-small { color:var(--bw-header-text-2) !important; }

/* TK-02: резерв под липкую плашку, зазор перед подвалом, зоны нажатия, читаемая колонка методологии. */
.bw-cta-reserve { height: 0; }
@media (max-width: 979px) { .bw-cta-reserve { height: 76px; } }
main ~ .bw-container .bw-footer { margin-top: 64px; }
@media (max-width: 979px) {
  .bw-logo { min-height: 44px; display: inline-flex; align-items: center; }
  .bw-footer__col a, .bw-footer__legal a { display: inline-flex; align-items: center; min-height: 44px; min-width: 44px; padding: 0; }
  label:has(> input[type="checkbox"]), label:has(> input[type="radio"]) { min-height: 44px; align-items: center; }
}
.bwc-method { max-width: 800px; }
.bwc-method h1 { font-size: clamp(40px, 5vw, 72px); line-height: 1; font-weight: 400; margin: 0 0 24px; }
.bwc-method p { font-size: 17px; line-height: 1.6; }
.bwc-method h2 { margin-top: 56px; }
.bwc-method h3 { margin-top: 32px; }
.bwc-method p a:not(.bw-btn) { color: var(--bw-link); font-weight: 600; text-underline-offset: 5px; }

/* 404: заголовок на узком экране держит место под три строки (tests/e2e/specs/notfound-heading.spec.mjs) */
@media (max-width:600px) { .bw-notfound h1 { min-block-size:3lh; } }

/* Столпы стихии Земля в темах lacquer/paper: светлая подпись на золотистом градиенте давала 3.2–3.9:1; светлый фон Земли и тёмный текст из токенов */
:is([data-theme="lacquer"], [data-theme="paper"]) .bw-column--earth { background: linear-gradient(180deg, var(--bw-earth-hi) 0%, var(--bw-earth-yin) 100%); color: var(--bw-ink-900); }
:is([data-theme="lacquer"], [data-theme="paper"]) .bw-column--earth :is(span, small, b) { color: var(--bw-ink-900); }

/* Дир. 181: «Главная» — пункт только мобильного меню (бургер); на широком экране домой ведёт логотип. */
nav.bw-header .bw-header__nav a.bw-nav-home { display: none !important; } /* !important: правила страниц `.bw-home-page a` и тем задают display сильнее */
@media (max-width: 979px) { nav.bw-header.is-open .bw-header__nav a.bw-nav-home { display: inline-flex !important; } }
/* Блок «Что дальше»: карточки-ссылки без подчёркивания, фокус виден. */
.bw-next .bw-card:is(a):is(:hover, :focus-visible) { border-color: var(--bw-line-strong); }
.bw-next .bw-card:is(a):focus-visible { outline: 2px solid var(--bw-em); outline-offset: 3px; }
