/* Общий слой лендингов (дизайн-код 06.11.2026): шрифты клуба и общий футер.
   Подключается сборкой (scripts/landing-kit.mjs) после styles.css лендинга. */
@font-face{font-family:LkRounded;font-style:normal;font-weight:800;font-display:swap;src:url(fonts/rounded-800-cyrillic-v22.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:LkRounded;font-style:normal;font-weight:800;font-display:swap;src:url(fonts/rounded-800-latin-v22.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:LkMontserrat;font-style:normal;font-weight:600;font-display:swap;src:url(fonts/montserrat-600-cyrillic-v31.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:LkMontserrat;font-style:normal;font-weight:600;font-display:swap;src:url(fonts/montserrat-600-latin-v31.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:LkRoboto;font-style:normal;font-weight:100 900;font-display:swap;src:url(fonts/roboto-variable-cyrillic-v51.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:LkRoboto;font-style:normal;font-weight:100 900;font-display:swap;src:url(fonts/roboto-variable-latin-v51.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:LkRoboto;font-style:normal;font-weight:100 900;font-display:swap;src:url(fonts/roboto-variable-ruble-v51.woff2) format('woff2');unicode-range:U+20BD}

:root{--lk-orange:#ff5c22;--lk-green:#557614;--lk-forest:#263821;--lk-cream:#f5f4ec;--lk-ink:#182316;--lk-muted:#5b6655;--lk-line:#d8dece;
  --lk-round:LkRounded,"Arial Rounded MT Bold",Arial,sans-serif;--lk-body:LkRoboto,Arial,sans-serif;--lk-label:LkMontserrat,Arial,sans-serif}

/* ---------- Общий футер клуба ---------- */
.lk-footer{background:var(--lk-cream);color:var(--lk-ink);font:400 16px/1.55 var(--lk-body);border-top:1px solid var(--lk-line);padding:56px 0 32px}
.lk-footer *{box-sizing:border-box}
.lk-footer a{color:inherit;text-decoration:none}
.lk-footer a:hover{color:var(--lk-green)}
.lk-footer a:focus-visible{outline:3px solid var(--lk-orange);outline-offset:3px;border-radius:4px}
.lk-footer.lk-footer p{margin:0}
.lk-footer.lk-footer p+p{margin-top:0}
.lk-footer__inner{width:min(1180px,calc(100% - 80px));margin-inline:auto;display:grid;grid-template-columns:1.3fr 1fr 1.4fr;gap:40px 56px;align-items:start}
.lk-footer__brand{display:grid;gap:14px;align-content:start}
.lk-footer__brand img{display:block;width:220px;max-width:100%;height:auto}
.lk-footer .lk-footer__brand p{color:var(--lk-muted);font-size:15px;max-width:30ch}
.lk-footer.lk-footer .lk-footer__label{font:600 12px/1.3 var(--lk-label);letter-spacing:.14em;text-transform:uppercase;color:var(--lk-green);margin-bottom:12px}
.lk-footer__links,.lk-footer__contacts{display:grid;gap:10px;align-content:start}
.lk-footer__links a{font-weight:500}
.lk-footer__contacts a{display:inline-flex;align-items:center;gap:12px;font-weight:500;width:max-content;max-width:100%}
.lk-footer__contacts small{color:var(--lk-muted);font-size:14px;font-weight:400}
.lk-footer svg{width:22px;height:22px;flex-shrink:0;fill:none;stroke:var(--lk-green);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.lk-footer__social{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:6px;font-size:15px;color:var(--lk-muted)}
.lk-footer__social a{text-decoration:underline;text-underline-offset:4px;text-decoration-color:#a4b393}
.lk-footer__legal{width:min(1180px,calc(100% - 80px));margin:40px auto 0;padding-top:22px;border-top:1px solid var(--lk-line);display:grid;gap:6px;font-size:13px;line-height:1.5;color:var(--lk-muted)}
@media (max-width:900px){.lk-footer__inner{grid-template-columns:1fr 1fr}.lk-footer__brand{grid-column:1/-1}}
@media (max-width:600px){
  .lk-footer{padding:44px 0 112px}
  .lk-footer__inner,.lk-footer__legal{width:calc(100% - 40px)}
  .lk-footer__inner{grid-template-columns:1fr;gap:32px}
  .lk-footer__contacts a{min-height:40px}
}

/* ---------- Общая шапка лендинга ----------
   ≥1360 px: одна строка — логотип, разделы похода, «Все походы», кнопка.
   <1360 px: логотип и кнопка «Разделы», под ней панель (разделы плитками, ссылки клуба, оранжевая кнопка). */
html{scroll-padding-top:88px}
.lk-header{position:sticky;top:0;z-index:60;background:#fff;border-bottom:1px solid var(--lk-line);font-family:var(--lk-body);color:var(--lk-ink)}
.lk-header *{box-sizing:border-box}
.lk-header a{color:inherit;text-decoration:none}
.lk-header a:focus-visible,.lk-header button:focus-visible{outline:3px solid var(--lk-orange);outline-offset:3px;border-radius:6px}
.lk-header__inner{width:min(1320px,calc(100% - 64px));height:72px;margin-inline:auto;display:flex;align-items:center;gap:28px}
.lk-header__brand{display:block;flex:none;width:210px}
.lk-header__brand img{display:block;width:100%;height:auto}
.lk-header__sections{display:flex;align-items:center;gap:4px;margin-left:auto}
.lk-header__sections a{font:600 14px/1 var(--lk-label);padding:10px 10px;border-radius:8px;white-space:nowrap;color:var(--lk-forest)}
.lk-header__sections a:hover{color:var(--lk-green);background:#f1f3ea}
.lk-header__sections a[aria-current="true"]{color:var(--lk-green);box-shadow:inset 0 -2px 0 var(--lk-green);border-radius:0}
.lk-header__club{display:flex;align-items:center;gap:20px;padding-left:20px;border-left:1px solid var(--lk-line)}
.lk-header__club>a:not(.lk-btn){font:600 14px/1 var(--lk-label);color:var(--lk-muted);white-space:nowrap}
.lk-header__club>a:not(.lk-btn):hover{color:var(--lk-green)}
.lk-header .lk-header__toggle{display:none;margin-left:auto;align-items:center;gap:12px;height:46px;padding:0 14px 0 16px;border:1px solid var(--lk-forest);border-radius:12px;background:var(--lk-cream);color:var(--lk-forest);font:600 15px/1 var(--lk-label);cursor:pointer}
.lk-burger{display:grid;gap:5px;width:20px}
.lk-burger i{display:block;height:2px;background:currentColor;border-radius:2px;transition:transform .2s}
.lk-header__toggle[aria-expanded="true"] .lk-burger i:first-child{transform:translateY(3.5px) rotate(45deg)}
.lk-header__toggle[aria-expanded="true"] .lk-burger i:last-child{transform:translateY(-3.5px) rotate(-45deg)}
.lk-menu{position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--lk-line);box-shadow:0 18px 30px rgba(24,35,22,.12);padding:18px 0 22px;max-height:calc(100dvh - 72px);overflow-y:auto}
.lk-menu__inner{width:min(720px,calc(100% - 32px));margin-inline:auto;display:grid;gap:12px}
.lk-menu .lk-menu__label{margin:6px 0 0;font:600 12px/1.3 var(--lk-label);letter-spacing:.14em;text-transform:uppercase;color:var(--lk-green)}
.lk-menu__tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.lk-menu__tiles a{display:flex;align-items:center;min-height:52px;padding:0 16px;border-radius:12px;background:var(--lk-cream);font:600 16px/1.2 var(--lk-label);color:var(--lk-forest)}
.lk-menu__tiles a[aria-current="true"]{background:#e6efcf;color:var(--lk-green)}
.lk-menu__club{display:flex;flex-wrap:wrap;gap:6px 22px;padding-top:2px}
.lk-menu__club a{display:inline-flex;align-items:center;min-height:40px;font:600 16px/1.2 var(--lk-label);color:var(--lk-forest)}
.lk-menu .lk-btn{width:100%;margin-top:6px}
/* Кнопки клуба (система Охты): оранжевая, обводка, малая; стрелка — SVG */
.lk-header .lk-btn,.lk-btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:56px;padding:0 24px;border-radius:14px;border:2px solid transparent;font:700 16px/1.2 var(--lk-body);text-decoration:none;white-space:nowrap;transition:background .18s,transform .18s,border-color .18s}
.lk-btn svg{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.lk-btn:hover{transform:translateY(-1px)}
.lk-btn.lk-btn--orange{background:var(--lk-orange);color:var(--lk-ink)}
.lk-btn.lk-btn--orange:hover{background:#ff7443}
.lk-btn.lk-btn--outline{background:transparent;border-color:var(--lk-forest);color:var(--lk-forest)}
.lk-btn.lk-btn--outline:hover{background:#f1f3ea}
.lk-header .lk-btn.lk-btn--small,.lk-btn.lk-btn--small{min-height:44px;padding:0 16px;font-size:15px;gap:10px}
.lk-btn.lk-btn--small svg{width:20px;height:20px}
@media (max-width:1359px){
  .lk-header__sections,.lk-header__club{display:none}
  .lk-header .lk-header__toggle{display:inline-flex}
}
@media (max-width:600px){
  html{scroll-padding-top:76px}
  .lk-header__inner{width:calc(100% - 32px);height:64px;gap:12px}
  .lk-header__brand{width:170px}
  .lk-menu{max-height:calc(100dvh - 64px)}
}
@media (prefers-reduced-motion:reduce){.lk-btn,.lk-burger i{transition:none}.lk-btn:hover{transform:none}}
html[data-lk-menu-open] .mobile-cta,html[data-lk-menu-open] #mobile-cta{display:none!important}

/* ---------- Шаг 2: первый экран, кнопки, форма, цена, нижняя кнопка (общие для трёх лендингов) ---------- */
body{margin:0}
/* Первый экран: единая типографика */
:is(.mezmay-landing,.okhta-landing,.pra-landing) .hero h1{font-family:var(--lk-round);font-weight:800;font-size:clamp(42px,5.6vw,80px);line-height:1.04;letter-spacing:-.04em}
:is(.mezmay-landing,.okhta-landing,.pra-landing) .hero :is(.hero-kicker,.eyebrow){font:600 13px/1.4 var(--lk-label);letter-spacing:.14em;text-transform:uppercase;color:#e0ebcb}
:is(.mezmay-landing,.okhta-landing,.pra-landing) .hero .hero-lead{font-family:var(--lk-body);font-size:clamp(17px,1.45vw,20px);line-height:1.55}
:is(.mezmay-landing,.okhta-landing,.pra-landing) .hero .hero-dates{font-size:15px;line-height:1.55}
:is(.mezmay-landing,.okhta-landing,.pra-landing) .hero .hero-link{font:700 16px/1.3 var(--lk-body)}
:is(.mezmay-landing,.okhta-landing,.pra-landing) .hero :is(.hero-caption,.hero-note){font-size:13px}
/* Кнопки — система Охты */
:is(.mezmay-landing,.okhta-landing,.pra-landing) .button.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:56px;padding:12px 24px;border-radius:14px;border:2px solid transparent;font:700 16px/1.25 var(--lk-body);letter-spacing:0;text-transform:none;text-decoration:none}
:is(.mezmay-landing,.okhta-landing,.pra-landing) .button.button svg{width:22px;height:22px;flex:none}
:is(.mezmay-landing,.okhta-landing,.pra-landing) .button.button:is(.button-orange,.orange){background:var(--lk-orange);color:var(--lk-ink);border-color:transparent}
:is(.mezmay-landing,.okhta-landing,.pra-landing) .button.button:is(.button-orange,.orange):hover{background:#ff7443}
:is(.mezmay-landing,.okhta-landing,.pra-landing) .button.button:is(.button-outline,.outline){background:transparent;border-color:var(--lk-forest);color:var(--lk-forest)}
:is(.mezmay-landing,.okhta-landing,.pra-landing) .button.button:is(.button-outline,.outline):hover{background:#f1f3ea}
:is(.mezmay-landing,.okhta-landing,.pra-landing) .button.button:is(.button-small,.small){min-height:44px;padding:8px 16px;font-size:15px;gap:10px}
:is(.mezmay-landing,.okhta-landing,.pra-landing) .text-link{font:700 16px/1.3 var(--lk-body)}
:is(.mezmay-landing,.okhta-landing,.pra-landing) .text-link svg{width:22px;height:22px;flex:none}
/* Форма */
:is(.mezmay-landing,.okhta-landing,.pra-landing) .webform-submission-form .form-item label{font:700 15px/1.4 var(--lk-body)}
:is(.mezmay-landing,.okhta-landing,.pra-landing) #webform-submission-req-pohod-add-form :is(input[type=text],input[type=email],input[type=tel],input[type=number],select){height:48px;min-height:48px;border-radius:10px;font-family:var(--lk-body);font-size:16px}
:is(.mezmay-landing,.okhta-landing,.pra-landing) #webform-submission-req-pohod-add-form textarea{border-radius:10px;font-family:var(--lk-body);font-size:16px}
:is(.mezmay-landing,.okhta-landing,.pra-landing) .webform-submission-form input.webform-button--submit.form-submit{min-height:56px;padding:12px 28px;border:0;border-radius:14px;background:var(--lk-orange);color:var(--lk-ink);font:700 16px/1.25 var(--lk-body);cursor:pointer}
:is(.mezmay-landing,.okhta-landing,.pra-landing) .webform-submission-form input.webform-button--submit.form-submit:hover{background:#ff7443}
/* Цена */
:is(.mezmay-landing,.okhta-landing,.pra-landing) .prices strong,.pra-landing .price-tbd strong{font:800 clamp(30px,3vw,36px)/1.05 var(--lk-round);letter-spacing:-.02em;color:#fff}
:is(.mezmay-landing,.okhta-landing) .prices strong small{font:inherit;font-size:.75em;letter-spacing:0}
/* Нижняя кнопка на телефоне: «даты · взрослый» и цена (у Пры — название) */
:is(.mezmay-landing,.okhta-landing,.pra-landing) .mobile-cta>div{display:flex;flex-direction:column;gap:2px;min-width:0}
:is(.mezmay-landing,.okhta-landing,.pra-landing) .mobile-cta>div>span{display:block;font:600 11px/1.3 var(--lk-label);letter-spacing:.03em;color:var(--lk-muted);white-space:nowrap}
:is(.mezmay-landing,.okhta-landing,.pra-landing) .mobile-cta>div>strong{display:block;font:800 17px/1.15 var(--lk-round);color:var(--lk-forest);letter-spacing:-.01em;white-space:nowrap}
:is(.mezmay-landing,.okhta-landing,.pra-landing) .mobile-cta .button.button{min-height:48px;padding:8px 14px;font-size:15px;gap:10px;flex:none}
:is(.mezmay-landing,.okhta-landing,.pra-landing) .mobile-cta .button svg{width:20px;height:20px}

/* ---------- Шаг 3: полоса фактов, фото «лист», подписи ---------- */
/* Полоса фактов: пиктограмма + крупное значение + подпись (у Охты: число + подпись в две строки) */
:is(.mezmay-landing .fact-strip,.okhta-landing .facts,.pra-landing .facts){display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;padding-block:28px;margin-top:0;border-bottom:1px solid var(--lk-line)}
:is(.mezmay-landing .fact-strip,.okhta-landing .facts,.pra-landing .facts)>div{display:flex;flex-direction:row;align-items:center;gap:14px;padding:0;border:0;min-width:0}
:is(.mezmay-landing .fact-strip,.okhta-landing .facts,.pra-landing .facts) svg{width:43px;height:43px;flex:none;fill:none;stroke:var(--lk-green);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
:is(.mezmay-landing .fact-strip,.pra-landing .facts) strong{display:block;font:800 21px/1.15 var(--lk-round);letter-spacing:-.01em;color:var(--lk-green)}
.okhta-landing .facts .fact-number{font:800 30px/1 var(--lk-round);letter-spacing:-.03em;color:var(--lk-green);white-space:nowrap}
.okhta-landing .facts p{font-size:15px;line-height:1.35}
.okhta-landing .facts p strong{display:block;font:700 15px/1.35 var(--lk-body);color:var(--lk-ink)}
:is(.mezmay-landing .fact-strip,.okhta-landing .facts,.pra-landing .facts) span:not(.fact-number){display:block;margin-top:4px;font:400 14px/1.45 var(--lk-body);color:var(--lk-muted)}
@media (max-width:900px){
  :is(.mezmay-landing .fact-strip,.okhta-landing .facts,.pra-landing .facts){grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 28px;padding-block:24px}
}
@media (max-width:600px){
  :is(.mezmay-landing .fact-strip,.okhta-landing .facts,.pra-landing .facts){gap:20px 16px}
  :is(.mezmay-landing .fact-strip,.okhta-landing .facts,.pra-landing .facts)>div{align-items:flex-start;gap:10px}
  :is(.mezmay-landing .fact-strip,.okhta-landing .facts,.pra-landing .facts) svg{width:34px;height:34px}
  :is(.mezmay-landing .fact-strip,.pra-landing .facts) strong{font-size:17px}
  .okhta-landing .facts .fact-number{font-size:24px}
  .okhta-landing .facts>div{display:grid;grid-template-columns:34px minmax(0,1fr);column-gap:10px;row-gap:4px;align-items:start}
  .okhta-landing .facts>div>svg{grid-row:1 / span 2}
  .okhta-landing .facts>div>p{grid-column:2;min-width:0;margin:0}
  .okhta-landing .facts>div{align-content:start}
  .okhta-landing .facts p,.okhta-landing .facts p strong{font-size:14px}
  :is(.mezmay-landing .fact-strip,.okhta-landing .facts,.pra-landing .facts) span:not(.fact-number){font-size:13px}
}
/* Фото «лист» у Пры, как у Мезмая и Охты */
.pra-landing .photo,.pra-landing .guide-photo{border-radius:4px 36px 4px 4px}
/* Подписи «из прошлых походов» — 14 px, приглушённым */
:is(.mezmay-landing,.okhta-landing,.pra-landing) .archive-note{font-size:14px;line-height:1.55;color:var(--lk-muted)}

/* ---------- Шаг 4: надзаголовки-функции и блок безопасности ---------- */
/* Надзаголовок раздела: одно слово-функция, совпадает с пунктом меню */
:is(.mezmay-landing,.okhta-landing,.pra-landing) section :is(.lk-overline,.eyebrow){font:600 13px/1.4 var(--lk-label);letter-spacing:.14em;text-transform:uppercase;color:var(--lk-green);margin:0 0 14px}
:is(.mezmay-landing,.okhta-landing,.pra-landing) :is(.price-section,.closing,.hero) :is(.lk-overline,.eyebrow){color:#e0ebcb}
.pra-landing .closing .lk-overline{margin-bottom:14px}
/* Безопасность */
.lk-safety{background:var(--lk-cream);padding-block:88px;color:var(--lk-ink);font-family:var(--lk-body)}
.lk-safety__inner{width:min(1180px,calc(100% - 80px));margin-inline:auto}
.lk-safety h2{font-family:var(--lk-round);font-weight:800;font-size:clamp(34px,3.6vw,48px);line-height:1.08;letter-spacing:-.03em;margin:0 0 36px;color:var(--lk-ink);text-wrap:balance}
.lk-safety__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.lk-safety__grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.lk-safety__card{background:#fff;border:1px solid var(--lk-line);border-radius:4px 30px 4px 4px;padding:22px;display:grid;gap:10px;align-content:start}
.lk-safety__card .lk-icon{width:43px;height:43px;fill:none;stroke:var(--lk-green);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.lk-safety .lk-safety__card h3{margin:0;font:800 20px/1.2 var(--lk-round);color:var(--lk-ink);letter-spacing:-.01em}
.lk-safety .lk-safety__card p{margin:0;font-size:16px;line-height:1.55;color:var(--lk-ink)}
@media (max-width:1000px){.lk-safety__grid,.lk-safety__grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){
  .lk-safety{padding-block:56px}
  .lk-safety__inner{width:calc(100% - 32px)}
  .lk-safety__grid,.lk-safety__grid--4{grid-template-columns:1fr;gap:12px}
  .lk-safety__card{padding:18px}
}
/* Чередование фонов: у Охты и Пры соседние блоки кремовые — там безопасность на белом, карточки кремовые */
:is(.okhta-landing,.pra-landing) .lk-safety{background:#fff}
:is(.okhta-landing,.pra-landing) .lk-safety__card{background:var(--lk-cream);border-color:transparent}
