/* ELSE v2: общий шелл внутренних страниц (шапка, меню, футер, модалка). Источник — главная. */

*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; background: #0B1220; font-family: 'Space Grotesk', sans-serif; }
a { color: inherit; text-decoration: none; }
@media (max-width: 1080px) {
  [data-m="route"] { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; row-gap: 26px !important; }
  [data-m="route"] > svg { display: none !important; }
  [data-m="route"] > div:nth-child(4) > div:first-child > div:last-child { background: transparent !important; }
}
@media (max-width: 980px) {
  section, footer { padding-left: 22px !important; padding-right: 22px !important; padding-top: 84px !important; padding-bottom: 88px !important; }
  [data-m="g2"] { grid-template-columns: minmax(0, 1fr) !important; gap: 44px !important; align-items: start !important; }
  [data-m="g3"] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  [data-m="gres"] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  [data-m="gres"] > div[style*="span 2"] { grid-column: span 1 !important; }
  [data-m="g4"] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; margin-top: 72px !important; }
  [data-m="gfoot"] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 36px !important; }
  [data-m="steps"] { grid-template-columns: minmax(0, 1fr) !important; row-gap: 0 !important; }
  [data-m="steps"] > div:not([style*="grid-column: 1 / -1"]) { padding-top: 0 !important; padding-bottom: 18px !important; }
  [data-m="steps"] > div[style*="letter-spacing: 0.14em"] { padding-top: 0 !important; padding-bottom: 16px !important; }
  [data-m="steps"] > div[style*="grid-column: 1 / -1"] { padding: 0 !important; margin: 30px 0 34px !important; }
  [data-m="photo"] { height: auto !important; min-height: 0 !important; aspect-ratio: 4 / 5; max-height: 560px; }
  [data-m="photo"] > img { height: 100% !important; }
  #header-pill > nav:not(#nav-sheet) { display: none !important; }
  #header-pill { position: relative !important; }

  #burger { display: block !important; }
}
@media (max-width: 620px) {
  section, footer { padding-left: 18px !important; padding-right: 18px !important; padding-top: 68px !important; padding-bottom: 72px !important; }
  [data-m="g3"], [data-m="g4"], [data-m="route"], [data-m="gfoot"] { grid-template-columns: minmax(0, 1fr) !important; }
  [data-m="g3"] > *, [data-m="g4"] > * { grid-row: auto !important; grid-column: auto !important; min-height: 0 !important; }
  [data-m="g3"] > div[style*="span 2"] { flex-direction: column !important; align-items: flex-start !important; gap: 22px !important; }
  [data-m="g3"] > div[style*="span 2"] > div[style*="text-align: right"] { text-align: left !important; }
  .blog-cover { height: 300px !important; }
  [data-m="photo"] { aspect-ratio: 3 / 4; max-height: 460px; }
  #pill-cta { display: none !important; }
  #pdf-mock { padding-left: 0 !important; }
  #pdf-mock > div:first-child { display: none !important; }
  #pdf-mock > div:last-child { padding: 26px 22px 24px !important; }
  [data-m="wideIn"] { flex-wrap: wrap !important; padding: 26px 22px 24px !important; gap: 18px !important; }
  [data-m="wideIn"] > * { flex: 1 1 100% !important; text-align: left !important; }
  [data-m="wideIn"] div[style*="font-size: 76px"] { font-size: 54px !important; }
  [data-m="rail"] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 8px !important; padding-bottom: 40px !important; }
  [data-m="rail"] > *:last-child { grid-column: 1 / -1 !important; }
  [data-m="gres"] { grid-template-columns: minmax(0, 1fr) !important; }
  [data-m="tiles"] { grid-template-columns: minmax(0, 1fr) !important; }
  [data-m="screen"] { padding: 22px 18px !important; }
  [data-m="screen"] div[style*="font-size: 44px"] { font-size: 38px !important; }
  [data-m="name"] { display: flex !important; border-radius: 20px !important; padding: 16px 18px !important; }
  [data-m="aboutCta"] { width: 100% !important; }
  [data-m="quote"] { max-width: none !important; }
  img, svg, image-slot { max-width: 100% !important; }
}
@keyframes elseRoute { from { stroke-dashoffset: 800; } to { stroke-dashoffset: -70; } }
@keyframes elsePulse { 0%,100% { opacity: .35; } 50% { opacity: 1; } }

html { scroll-behavior: smooth; scroll-padding-top: 96px; }
body { background: #F5F4F0; color: #0B1220; font-family: 'Space Grotesk', sans-serif; }
body { -webkit-font-smoothing: antialiased; }
img { max-width: 100%; }
input, textarea, button { outline: none; }
input:focus, textarea:focus { border-color: rgba(53,255,201,0.6) !important; }
input::placeholder, textarea::placeholder { color: #7C88A3; }
#nav-sheet[hidden], #nav-scrim[hidden] { display: none !important; }
#nav-sheet { opacity: 0; transform: translateY(-6px); transition: opacity .18s ease, transform .18s ease; }
#nav-sheet.open { opacity: 1; transform: none; }
#nav-sheet a.active { color: #FFFFFF !important; }
.burger-icon { position: absolute; right: 13px; top: 50%; margin-top: -6px; width: 18px; height: 12px; pointer-events: none; }
.burger-icon i { position: absolute; left: 0; width: 18px; height: 2px; border-radius: 2px; background: #FFFFFF; transition: transform .2s ease, opacity .15s ease, top .2s ease; }
.burger-icon i:nth-child(1) { top: 0; } .burger-icon i:nth-child(2) { top: 5px; } .burger-icon i:nth-child(3) { top: 10px; }
#burger[aria-expanded="true"] .burger-icon i:nth-child(1) { top: 5px; transform: rotate(45deg); }
#burger[aria-expanded="true"] .burger-icon i:nth-child(2) { opacity: 0; }
#burger[aria-expanded="true"] .burger-icon i:nth-child(3) { top: 5px; transform: rotate(-45deg); }
body.nav-open, body.modal-open { overflow: hidden; }
#book-modal::backdrop { background: rgba(4,9,18,0.72); backdrop-filter: blur(6px); }
#book-modal[open] { animation: modalIn .18s ease; }
@keyframes modalIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.modal-close:hover { background: rgba(255,255,255,0.12); }
.book-form input:not([type="hidden"]), .book-form textarea { display: block; }
@media (max-width: 620px) { #book-modal [data-m="g2"] { grid-template-columns: 1fr !important; } #book-modal > div { padding: 26px 20px 22px !important; } }
.anchor-alias { display: block; position: relative; top: -96px; height: 0; visibility: hidden; }
a[href^="#"], #header-pill nav a { transition: color .2s ease; }
#header-pill nav a:hover { color: #FFFFFF; }
#header-pill nav a.active { color: #FFFFFF; }
#pill-cta:hover, .bf-submit:hover, a[style*="linear-gradient(100deg, #2E6BFF, #35FFC9)"]:hover { filter: brightness(1.06); }
.blog-cover svg { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
@media (min-width: 981px) and (max-height: 820px) {
  #top [data-m="g4"] > div { padding: 16px 18px !important; }
  #top [data-m="g4"] > div > div:nth-child(2) { font-size: 30px !important; padding: 10px 0 6px !important; }
  #top h1 { margin-bottom: 20px !important; }
  #top h1 + p { margin-bottom: 24px !important; }
}
@media (prefers-reduced-motion: reduce) { [data-m="route"] > svg path { animation: none !important; } html { scroll-behavior: auto; } }
@media (max-width: 980px) {
  #header-pill { position: relative !important; padding: 9px 9px 9px 18px !important; }
  #header-pill > nav:not(#nav-sheet) { display: none !important; }
  #hdr { padding: 12px 16px !important; }
  #top { padding-top: 40px !important; min-height: 0 !important; }
  #top [data-m="g4"] { margin-top: 56px !important; }
  #top [data-m="g2"] > div:last-child > div[style*="position: absolute"] { left: 12px !important; top: 12px !important; }
  .blog-all { justify-content: flex-start !important; }
  #book [data-m="g2"] > div[data-m="g2"] { grid-template-columns: 1fr 1fr !important; gap: 14px !important; }
}
@media (max-width: 620px) {
  #pill-cta { display: none !important; }
  h1 { font-size: 34px !important; }
  #top [data-m="g4"] > div > div:nth-child(2) { font-size: 32px !important; }
  #pain [data-m="g2"] > div:last-child > div { max-width: 100% !important; font-size: 16.5px !important; padding: 16px 20px !important; }
  #book [data-m="g2"] > div[data-m="g2"] { grid-template-columns: 1fr !important; }
  [data-m="gfoot"] { gap: 28px !important; }
  .blog-cover { height: 208px !important; }
}

@media (max-width: 620px) { table { display: block; max-width: 100%; overflow-x: auto; } }
