/* Студия 1908 — стили лендинга.
   Перенесено из bundled-шаблона (_template_extracted.html, блок <style> 295–450).
   Классы-хуки (.adv-card, .fmt-card, .eq-card, .step-card, .price-*, .blog-card …)
   используются секциями index.html. Разметка секций — с inline-стилями (как в шаблоне),
   здесь — только hover/анимации/адаптив/медиа-запросы. */

*{box-sizing:border-box}
/* [hidden] должен побеждать инлайновый display (модалка, слайды, вкладки, меню) */
[hidden]{display:none !important}
/* ── Единая шкала радиусов (Shape Consistency Lock) ──
   Разметка на inline-стилях, поэтому нормализуем через хук-классы с !important.
   --r-btn:2px  — кнопки, инпуты, CTA (уже консистентны в разметке)
   --r-card:14px — карточки и панели-поверхности
   --r-chip:10px — иконки-плитки внутри карточек
   пилюли/теги/круги — 999px / 50% (не трогаем) */
:root{--r-btn:2px;--r-card:14px;--r-chip:10px;
  /* Кривые движения (Emil Kowalski): сильный ease-out для UI, ease-in-out для перемещений */
  --ease-out:cubic-bezier(.23,1,.32,1);--ease-in-out:cubic-bezier(.77,0,.175,1)}
.adv-card,.fmt-card,.eq-card,.step-card,.blog-card,
.js-faq-item,.js-about-photo,.booking-card,.price-grid>div,.pkg-row{border-radius:var(--r-card) !important}
.adv-icon,.fmt-icon,.step-icon{border-radius:var(--r-chip) !important}
.price-cta{border-radius:var(--r-btn) !important}
html{scroll-behavior:smooth}
body{margin:0;background:#0c0c0c;color:#f2f1ec;font-family:'Golos Text',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:clip}
html{overflow-x:clip}
img{max-width:100%;display:block}
@keyframes marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@keyframes fbpulse{0%{box-shadow:0 12px 34px rgba(200,242,63,.32),0 0 0 0 rgba(200,242,63,.5)}70%{box-shadow:0 12px 34px rgba(200,242,63,.32),0 0 0 14px rgba(200,242,63,0)}100%{box-shadow:0 12px 34px rgba(200,242,63,.32),0 0 0 0 rgba(200,242,63,0)}}
.float-book{animation:fbpulse 2.6s ease-out infinite;transition:transform .25s ease,background .25s ease,opacity .3s ease}
.float-book:hover{transform:translateY(-3px)}
.float-book.is-hidden{opacity:0;transform:translateY(16px) scale(.92);pointer-events:none;animation:none}
@media(prefers-reduced-motion:reduce){.float-book{animation:none}.float-book.is-hidden{transform:none}}
@media(max-width:560px){
  .float-book{right:16px !important;bottom:16px !important;padding:15px !important;border-radius:50% !important}
  .float-book .float-book-label{display:none !important}
}
::selection{background:#c8f23f;color:#0c0c0c}
/* reviews scroll-progress bar, styled to the site */
.reviews-track{scrollbar-width:thin;scrollbar-color:#c8f23f rgba(255,255,255,.10);padding-bottom:22px}
.reviews-track::-webkit-scrollbar{height:6px}
.reviews-track::-webkit-scrollbar-track{background:rgba(255,255,255,.10);border-radius:20px}
.reviews-track::-webkit-scrollbar-thumb{background:#c8f23f;border-radius:20px}
.reviews-track::-webkit-scrollbar-thumb:hover{background:#d7ff52}
.burger{display:none}
/* ── UX polish ── */
section[id]{scroll-margin-top:84px}
a:focus-visible,button:focus-visible{outline:2px solid #c8f23f;outline-offset:2px}
a,button{transition:background .25s ease,color .25s ease,border-color .25s ease}
a{color:inherit}
/* ── Press-feedback (Emil): кнопки должны «слышать» нажатие ── */
.hdr-book,.price-cta,.float-book,.step-cta,.js-equip-tab,[data-open-booking],
.booking-card button,#booking-modal .js-modal-close,.hero-cta,button[type="submit"]{
  transition:transform .16s var(--ease-out),background .25s ease,color .25s ease,border-color .25s ease}
.hdr-book:active,.price-cta:active,.step-cta:active,.js-equip-tab:active,
[data-open-booking]:active,.booking-card button:active,.hero-cta:active,button[type="submit"]:active{transform:scale(.97)}
.float-book:active{transform:scale(.95)}
/* ── Модалка брони: плавный вход/выход (origin:center — верно для модалок) ── */
#booking-modal{opacity:0;transition:opacity .2s var(--ease-out)}
#booking-modal.is-open{opacity:1}
#booking-modal .booking-card{opacity:0;transform:translateY(8px) scale(.96);
  transition:opacity .24s var(--ease-out),transform .24s var(--ease-out)}
#booking-modal.is-open .booking-card{opacity:1;transform:none}
/* ── Сброс залипающего hover на тач-устройствах ── */
@media (hover:none){
  .adv-card:hover,.eq-card:hover,.step-card:hover,.fmt-card:hover,.blog-card:hover,
  .price-grid>div:hover,.cases-grid>div:hover,.pkg-row:hover,.zone-card:hover{transform:none}
}
/* nav link hover */
.desktop-nav a:hover{color:#c8f23f}
.hdr-book:hover{background:#d7ff52}
/* price block polish */
.price-grid>div{transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s ease}
.price-grid>div:hover{transform:translateY(-6px);box-shadow:0 20px 44px rgba(0,0,0,.35)}
.price-cta:hover{background:#d7ff52 !important}
.price-row:hover{background:rgba(200,242,63,.06) !important}
/* blog cards */
.blog-card{transition:transform .35s cubic-bezier(.2,.7,.2,1),border-color .35s ease}
.blog-card:hover{transform:translateY(-6px);border-color:rgba(200,242,63,.4)}
.blog-card .blog-cover img,.blog-card .blog-cover>div:last-child{transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.blog-card:hover .blog-cover img{transform:scale(1.06)}
.blog-card .blog-arrow{transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.blog-card:hover .blog-arrow{transform:translateX(5px)}
input:focus,select:focus,textarea:focus{border-color:rgba(200,242,63,.65) !important;outline:none}
@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}}
/* unified card motion hierarchy */
.adv-grid>div,.equip-grid>div,.steps-grid>div,.cases-grid>div{transition:transform .35s cubic-bezier(.2,.7,.2,1),border-color .35s ease}
.equip-grid>div:hover,.steps-grid>div:hover{transform:translateY(-4px)}
.eq-card:hover{transform:translateY(-5px);border-color:rgba(200,242,63,.4)}
.eq-card .eq-bar{transition:width .5s cubic-bezier(.2,.7,.2,1)}
.eq-card:hover .eq-bar{width:100%}
.eq-card .eq-idx{transition:color .4s ease}
.eq-card:hover .eq-idx{color:rgba(200,242,63,.13)}
.eq-card .eq-glyph{transition:background .35s ease,color .35s ease,border-color .35s ease,transform .45s cubic-bezier(.2,.7,.2,1)}
.eq-card:hover .eq-glyph{background:#c8f23f;color:#0c0c0c;border-color:#c8f23f;transform:scale(1.06)}
.eq-card .eq-media img{transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.eq-card:hover .eq-media img{transform:scale(1.06)}
.cases-grid>div:hover{transform:translateY(-4px)}
.step-card{transition:transform .35s cubic-bezier(.2,.7,.2,1),border-color .35s ease}
.step-card:hover{transform:translateY(-5px);border-color:rgba(200,242,63,.4)}
.step-card .step-bar{transition:width .5s cubic-bezier(.2,.7,.2,1)}
.step-card:hover .step-bar{width:100%}
.step-card .step-icon{transition:background .35s ease,color .35s ease,border-color .35s ease,transform .45s cubic-bezier(.2,.7,.2,1)}
.step-card:hover .step-icon{background:#c8f23f;color:#0c0c0c;border-color:#c8f23f;transform:scale(1.06)}
.step-card .step-cta{transition:background .25s ease,color .25s ease,border-color .25s ease}
.step-card .step-cta:hover{background:#c8f23f;color:#0c0c0c;border-color:#c8f23f}
.step-card .step-arrow{transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.step-card .step-cta:hover .step-arrow{transform:translateX(4px)}
/* advantage cards */
.adv-card:hover{transform:translateY(-5px);border-color:rgba(200,242,63,.4)}
.adv-card .adv-bar{transition:width .5s cubic-bezier(.2,.7,.2,1)}
.adv-card:hover .adv-bar{width:100%}
.adv-card .adv-icon{transition:background .35s ease,color .35s ease,border-color .35s ease}
.adv-card:hover .adv-icon{background:#c8f23f;color:#0c0c0c;border-color:#c8f23f}
.cases-grid .case-play{transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.cases-grid>div:hover .case-play{transform:scale(1.1)}
.pkg-row{transition:transform .3s cubic-bezier(.2,.7,.2,1),border-color .3s ease}
.pkg-row:hover{transform:translateX(5px)}
/* zone cards (grid, стиль zg-card из standalone) */
.zones-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
@media(max-width:900px){.zones-grid{grid-template-columns:1fr}}
.zone-card{transition:transform .4s var(--ease-out),border-color .4s ease}
.zone-card:hover{transform:translateY(-6px);border-color:rgba(200,242,63,.5)}
.zone-card .zg-photo img{transition:transform .6s var(--ease-out)}
.zone-card:hover .zg-photo img{transform:scale(1.05)}
.zg-arrow{transition:background .25s ease,color .25s ease}
.zg-arrow:hover{background:#c8f23f !important;color:#0c0c0c !important}
/* scroll-reveal (progressive enhancement, opacity only) */
@supports (animation-timeline: view()){
  @keyframes rv{from{opacity:0}to{opacity:1}}
  .adv-grid>div,.cases-grid>div,.equip-grid>div,.steps-grid>div,.fmt-card{animation:rv .6s both;animation-timeline:view();animation-range:entry 0% entry 55%}
}
/* fresh formats cards */
.fmt-card{transition:border-color .35s cubic-bezier(.2,.7,.2,1),transform .45s cubic-bezier(.2,.7,.2,1)}
.fmt-card:hover{transform:translateY(-6px)}
.fmt-card .fmt-photo{transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .5s ease}
.fmt-card:hover .fmt-photo{transform:scale(1.07)}
.fmt-card .fmt-veil{transition:opacity .5s ease}
.fmt-card:hover .fmt-veil{opacity:.55}
.fmt-card .fmt-bar{transition:width .5s cubic-bezier(.2,.7,.2,1)}
.fmt-card:hover .fmt-bar{width:100% !important}
.fmt-card .fmt-idx{transition:color .4s ease,opacity .4s ease}
.fmt-card:hover .fmt-idx{color:#c8f23f;opacity:.9}
.fmt-card .fmt-go{transition:transform .4s cubic-bezier(.2,.7,.2,1),background .3s ease,color .3s ease}
.fmt-card:hover .fmt-go{transform:translate(4px,-4px);background:#c8f23f;color:#0c0c0c}
.fmt-card .fmt-icon{transition:background .35s ease,color .35s ease,border-color .35s ease}
.fmt-card:hover .fmt-icon{background:#c8f23f;color:#0c0c0c;border-color:#c8f23f}
/* глифы форматов (▶ и ↗): inline-color перебивает hover — нужен !important, чтобы на лайме были тёмными и видимыми; line-height:1 центрирует глиф в круге */
.fmt-card .fmt-go,.fmt-card .fmt-icon{line-height:1}
.fmt-card:hover .fmt-go,.fmt-card:hover .fmt-icon{color:#0c0c0c !important}
@media(max-width:960px){
  .desktop-nav{display:none !important}
  .burger{display:flex !important}
  .hdr-book{margin-left:auto !important}
  .adv-grid,.fmt-grid,.cases-grid,.equip-grid,.blog-grid{grid-template-columns:repeat(2,1fr) !important}
  .fmt-grid>*{grid-column:auto !important}
  .zone-card,.prod-grid,.about-grid,.contact-grid,.steps-grid,.price-grid,.footer-grid{grid-template-columns:1fr !important}
  .steps-pills>div{flex:1 1 260px !important}
}
@media(max-width:560px){
  .adv-grid,.cases-grid,.blog-grid{grid-template-columns:1fr !important}
  .equip-grid{grid-template-columns:repeat(2,1fr) !important}
  .fmt-grid{grid-template-columns:1fr !important;gap:14px !important}
}
@media(max-width:680px){
  [style*="max-width: 1280px"],[style*="max-width: 920px"]{padding-left:18px !important;padding-right:18px !important}
  header [style*="max-width: 1280px"]{gap:12px !important}
  .hdr-logo{font-size:24px !important}
  .hdr-book{padding:10px 14px !important;font-size:13px !important}
  .hero-frame{min-height:auto !important}
  .hero-content{padding:74px 18px 36px !important}
  .hero-wm{font-size:108px !important;bottom:-8px !important;right:4px !important}
  .hero-chip{top:16px !important;left:16px !important;font-size:11px !important;padding:6px 10px !important}
  .rev-card{flex-basis:82vw !important}
  .steps-pills{flex-direction:column !important;gap:10px !important}
  .steps-pills>div{width:100% !important;flex:0 0 auto !important;padding:11px 15px !important;gap:11px !important;border-radius:11px !important}
  .steps-grid>div{padding:26px 22px !important}
}
@media(max-width:380px){
  .hdr-book{display:none !important}
  .burger{margin-left:auto !important}
}
h1,h2,h3{font-family:'Oswald',system-ui,sans-serif}
