/* ==========================================================================
   Tablet / Small Desktop (max-width: 991px)
   ========================================================================== */
@media (max-width: 991px) {
  .container { padding: 0 24px; }

  /* Header → hamburger */
  .site-mobile-logo { display: block; }
  .toggle-menu { display: flex; }

  .site-nav {
    position: fixed;
    top: 0;
    right: -300px;
    width: 300px;
    height: 100vh;
    background: #0a0f1a;
    flex-direction: column;
    align-items: flex-start;
    padding: 80px 24px 24px;
    gap: 0;
    transition: right 0.3s;
    z-index: 10000;
    overflow-y: auto;
  }

  .sidebar-open .site-nav { right: 0; }

  .close-menu {
    display: block;
    position: absolute;
    top: 24px;
    right: 24px;
    cursor: pointer;
    color: #fff;
    font-size: 16px;
  }

  .site-logo { display: none; }

  .menu-wrapper {
    margin-left: 0;
    width: 100%;
  }

  .site-main-menu {
    flex-direction: column;
    gap: 24px;
    width: 100%;
  }

  .site-main-menu li a { font-size: 18px; }

  /* Hero */
  .fullscreen { padding: 140px 0 50px; min-height: auto; }
  .hero-globe { display: none; }
  .title-big { font-size: 48px; }
  .hero-desc { font-size: 18px; }

  /* HIW */
  .hiw-header { padding: 40px 24px 16px; }
  .hiw-steps { flex-direction: column; }
  .hiw-step { min-height: auto; padding: 24px; }
  .hiw-step--left { border-right: none; padding-left: 24px; }
  .hiw-step--right { padding-right: 24px; }
  .hiw-step--left,
  .hiw-step--right { border-bottom: 1px solid var(--color-border); }

  /* Features */
  .features-header { padding: 16px 24px; }
  .features-grid { flex-direction: column; }
  .features-col--left { width: 100%; }
  .features-col--left .feature-card { border-right: none; }
  .feature-card { padding: 24px; }
  .features-col--right .feature-card { padding: 24px; }

  /* Footer */
  .footer-wrapper { flex-direction: column; gap: 24px; text-align: center; }
  .footer-nav-wrapper { flex-wrap: wrap; gap: 24px; justify-content: center; }

  /* Back to top */
  .back-to-top { bottom: 20px; right: 20px; width: 44px; height: 44px; }

  /* Uninstall */
  .uninstall-layout { flex-direction: column; gap: 40px; padding-top: 0; }
  .uninstall-steps { max-width: 100%; }

  /* Contact */
  .contact-cards { flex-direction: column; }
  .contact-card { width: 100%; }

  /* Status pages (Thanks, 404, Removed) */
  .status-layout { flex-direction: column; padding-top: 100px; padding-bottom: 60px; }
  .status-layout .status-content { width: 100%; }
  .thanks-mockups {
    position: relative;
    width: 100%;
    min-height: 320px;
  }
  .thanks-mockup { width: 80%; max-width: 400px; }
  .thanks-mockup:first-child { left: 0; }
  .thanks-mockup:last-of-type { left: 40px; top: 130px; }
  .thanks-arrow { left: 20px; top: 160px; }
  .globe-hero { min-height: auto; }
  .globe-hero .status-content { padding-top: 100px; padding-bottom: 80px; }
  .globe-hero--removed .status-content { padding-top: 100px; }
  .globe-bg__composition { max-width: none; width: 150%; left: auto; right: -30%; top: 0; transform: none; }
  .thanks-bg__image { width: 900px; height: 900px; left: auto; right: -200px; }
}

/* ==========================================================================
   Mobile Landscape (max-width: 767px)
   ========================================================================== */
@media (max-width: 767px) {
  .title-big { font-size: 38px; }
  .hiw-header .title,
  .features-header .title,
  .contact-section .title,
  .terms-section .title,
  .uninstall-text .title,
  .status-content .title,
  .inner-page-title { font-size: 32px; }

  .hiw-step__title,
  .feature-card__title { font-size: 20px; }

  .hiw-step__desc,
  .feature-card__desc,
  .hero-desc,
  .uninstall-desc,
  .status-desc { font-size: 16px; }

  .fullscreen { padding: 120px 0 40px; }
}

/* ==========================================================================
   Mobile Portrait (max-width: 575px)
   ========================================================================== */
@media (max-width: 575px) {
  .container { padding: 0 16px; }

  .title-big { font-size: 32px; }

  .hiw-header .title,
  .features-header .title { font-size: 28px; }

  .btn { font-size: 16px; padding: 10px 14px 10px 20px; }

  .contact-card { min-height: auto; padding: 24px; }
  .contact-card .btn { width: 100%; justify-content: center; }

  .uninstall-step { padding: 16px; }
  .uninstall-step__text { font-size: 16px; }

  .footer { padding: 32px 0; }
  .footer-nav-wrapper { gap: 16px; }
}

/* ==========================================================================
   Small Mobile (max-width: 480px)
   ========================================================================== */
@media (max-width: 480px) {
  .title-big { font-size: 28px; }

  .logo-text { font-size: 28px; }
  .logo-now img { height: 28px; }

  .terms-body { font-size: 14px; }
}
