.mobile-menu__contacts{display:none}

@media(max-width:700px){
  .mobile-menu{
    top:0!important;
    left:0!important;
    right:0!important;
    width:100vw!important;
    max-width:none!important;
    height:100dvh!important;
    min-height:100dvh!important;
    padding:16px 24px 24px!important;
    border-radius:0!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
    transform:translateY(-8px)!important;
    display:flex!important;
    flex-direction:column!important;
  }
  .mobile-menu.open{transform:none!important}

  .mobile-menu__head{
    position:relative!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    width:100%!important;
    height:48px!important;
    flex:0 0 48px!important;
  }
  .mobile-menu__head .brand{transform:translateX(-10px)!important}
  .mobile-menu__head .icon-button{
    right:0!important;
    top:12px!important;
  }

  .mobile-menu nav{
    position:relative!important;
    left:auto!important;
    top:auto!important;
    width:100%!important;
    height:auto!important;
    margin:20px 0 0!important;
    flex:0 0 auto!important;
  }

  .mobile-menu__contacts{
    display:flex!important;
    flex-direction:column!important;
    gap:7px!important;
    margin-top:24px!important;
    padding-top:22px!important;
    border-top:1px solid #e4e8f1!important;
  }
  [data-theme="dark"] .mobile-menu__contacts{border-top-color:#2b3750!important}
  .mobile-menu__contacts span{
    color:#66789f!important;
    font-size:12px!important;
    line-height:18px!important;
    font-weight:600!important;
    letter-spacing:.02em!important;
    text-transform:uppercase!important;
  }
  [data-theme="dark"] .mobile-menu__contacts span{color:#91a0bd!important}
  .mobile-menu__contacts a{
    width:max-content!important;
    max-width:100%!important;
    color:#121d48!important;
    font-size:17px!important;
    line-height:25px!important;
    font-weight:600!important;
    text-decoration:none!important;
  }
  [data-theme="dark"] .mobile-menu__contacts a{color:#edf2ff!important}

  .mobile-menu>.button{
    position:relative!important;
    left:auto!important;
    top:auto!important;
    width:100%!important;
    margin-top:auto!important;
    flex:0 0 52px!important;
  }

  body:has(.mobile-menu.open){overflow:hidden!important}

  /* Hero geometry is owned by responsive.css; the menu stylesheet must not shift it. */
  .hero{padding-top:32px!important}
}

@media(max-width:360px){
  .mobile-menu{padding-left:20px!important;padding-right:20px!important}
  .mobile-menu nav a{height:52px!important;min-height:52px!important;font-size:17px!important}
  .mobile-menu__contacts{margin-top:18px!important;padding-top:18px!important}
}

/* Contact section — mobile flow: photo, short fade and form as one compact composition. */
@media (max-width:700px){
  .contact,
  [data-theme="dark"] .contact{
    position:relative!important;
    display:block!important;
    height:auto!important;
    min-height:0!important;
    padding:300px 14px 52px!important;
    overflow:hidden!important;
    background:var(--bg)!important;
  }

  .contact__photo,
  [data-theme="dark"] .contact__photo{
    position:absolute!important;
    inset:0 0 auto 0!important;
    width:100%!important;
    height:320px!important;
    background-position:center top!important;
    z-index:0!important;
  }

  .contact__veil,
  [data-theme="dark"] .contact__veil{
    position:absolute!important;
    inset:120px 0 auto 0!important;
    width:100%!important;
    height:220px!important;
    z-index:1!important;
    background:linear-gradient(180deg,transparent 0%,var(--bg) 82%,var(--bg) 100%)!important;
    pointer-events:none!important;
  }

  .contact-card,
  [data-theme="dark"] .contact-card{
    position:relative!important;
    z-index:3!important;
    top:auto!important;
    bottom:auto!important;
    left:auto!important;
    right:auto!important;
    inset:auto!important;
    width:min(100%,640px)!important;
    height:auto!important;
    min-height:0!important;
    margin:-68px auto 0!important;
    transform:none!important;
  }
  .contact-card.reveal,
  .contact-card.reveal.is-visible{transform:none!important}

  .telegram-float,
  .telegram-float svg{
    width:44px!important;
    height:44px!important;
  }
  .telegram-float{
    right:10px!important;
    bottom:14px!important;
  }
}

@media(max-width:430px){
  .contact,
  [data-theme="dark"] .contact{
    padding-left:12px!important;
    padding-right:12px!important;
  }
}

@media (max-width:360px){
  .contact,
  [data-theme="dark"] .contact{
    padding:286px 10px 44px!important;
  }
  .contact__photo,
  [data-theme="dark"] .contact__photo{height:304px!important}
  .contact-card,
  [data-theme="dark"] .contact-card{margin-top:-62px!important}
}
