/* ========================================
   RESPONSIVE STYLES - Tablet (max-width: 1024px)
   ======================================== */
@media (max-width: 1024px) {
  .merits-grid {
    grid-template-columns: 1fr;
  }

  .company-grid {
    grid-template-columns: 1fr;
  }

  .merits-image {
    width: 100%;
    max-width: 400px;
  }

  .merits-image img {
    height: auto;
  }

  .merits-right img {
    max-width: 400px;
  }

  .hero {
    padding: 0 0 60px 80px;
  }

  .merits-section,
  .company-section {
    padding: 80px 40px;
  }

  .contact-section {
    padding: 60px 40px;
  }
}

/* ========================================
   RESPONSIVE STYLES - Mobile (max-width: 768px)
   ======================================== */
@media (max-width: 768px) {
  /* Hide desktop sidebar nav */
  .sidebar-nav {
    display: none;
  }

  /* Hide desktop language toggle */
  .lang-toggle-fixed {
    display: none;
  }

  /* Show mobile nav */
  .mobile-nav {
    display: block !important;
  }

  /* Hide top navigation on mobile (hamburger menu is used instead) */
  .top-nav {
    display: none !important;
  }

  /* Header logo adjustments */
  .header-logo {
    top: 20px;
    right: 20px;
  }

  .header-logo img {
    width: 140px;
  }

  /* Hero section */
  .hero {
    padding: 0 20px 50px 20px;
    align-items: flex-end;
  }

  .hero-content h1 {
    font-size: 2rem;
  }

  .hero-content p {
    font-size: 16px;
  }

  /* Hero CTA button */
  .hero-cta {
    right: 20px;
    bottom: 40px;
  }

  .hero-cta a {
    font-size: 12px;
    padding: 10px 20px;
  }

  .hero-cta .cta-text,
  .hero-cta .cta-arrow {
    display: none;
  }

  .hero-cta a {
    width: 46px;
    height: 46px;
    padding: 0;
    border-radius: 50%;
    justify-content: center;
    background: rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1px solid rgba(255, 255, 255, 0.25);
    box-shadow: 0 0 12px rgba(0, 168, 255, 0.15), inset 0 0 12px rgba(255, 255, 255, 0.04);
    transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  }

  .hero-cta a:hover,
  .hero-cta a:active {
    background: rgba(255, 255, 255, 0.15);
    border-color: rgba(255, 255, 255, 0.45);
    box-shadow: 0 0 20px rgba(0, 168, 255, 0.35), inset 0 0 12px rgba(255, 255, 255, 0.06);
  }

  .hero-cta a svg {
    width: 20px;
    height: 20px;
  }

  /* System section mobile */
  .system-section {
    padding: 100px 0;
    min-height: 80vh;
  }

  .system-diagram {
    height: 80vh;
  }

  .system-center {
    width: 100px;
    height: 100px;
  }

  .system-center h2 {
    font-size: 1.1rem;
  }

  /* Orbit rings - larger on mobile */
  .orbit-ring-1 {
    width: 30vw;
    height: 30vw;
    margin-left: -15vw;
    margin-top: -15vw;
  }
  .orbit-ring-2 {
    width: 55vw;
    height: 55vw;
    margin-left: -27.5vw;
    margin-top: -27.5vw;
  }
  .orbit-ring-3 {
    width: 80vw;
    height: 80vw;
    margin-left: -40vw;
    margin-top: -40vw;
  }
  .orbit-ring-4 {
    width: 105vw;
    height: 105vw;
    margin-left: -52.5vw;
    margin-top: -52.5vw;
  }
  .orbit-ring-5 {
    width: 130vw;
    height: 130vw;
    margin-left: -65vw;
    margin-top: -65vw;
  }

  /* Orbit labels */
  .orbit-label {
    font-size: 10px;
    padding: 6px 10px;
    gap: 4px;
    border-radius: 8px;
  }

  .orbit-label .dot {
    width: 5px;
    height: 5px;
  }

  /* Marquee */
  .marquee-track span {
    font-size: 2.5rem;
    padding: 0 30px;
  }

  /* Merits section */
  .merits-section,
  .company-section {
    padding: 60px 20px;
  }

  .merits-section .section-title,
  .company-section .section-title {
    font-size: 1.8rem;
    margin-bottom: 36px;
  }

  .merits-grid {
    gap: 30px;
  }

  .merits-image {
    width: 100%;
    max-width: 100%;
  }

  .merits-image img {
    height: auto;
  }

  .merits-right img {
    max-width: 100%;
  }

  .merit-item h3 {
    font-size: 1.2rem;
  }

  .merit-tag {
    font-size: 0.75rem;
  }

  /* Company section */
  .company-table th {
    font-size: 0.8rem;
    width: 90px;
    padding: 10px 10px 10px 0;
  }

  .company-table td {
    font-size: 0.8rem;
    padding: 10px 0;
  }

  .company-photo-switcher {
    height: 260px;
  }

  .photo-card .photo-label {
    padding-top: 30px;
  }

  /* Contact section */
  .contact-section {
    padding: 50px 20px;
  }

  .contact-section .section-title {
    font-size: 1.8rem;
  }

  .contact-grid {
    flex-direction: column;
    gap: 30px;
    align-items: flex-start;
  }

  .contact-logo img {
    width: 160px !important;
  }
}

/* ========================================
   RESPONSIVE STYLES - Extra Small (max-width: 480px)
   ======================================== */
@media (max-width: 480px) {
  /* Header logo */
  .header-logo {
    top: 15px;
    right: 15px;
  }

  .header-logo img {
    width: 110px;
  }

  /* Hero */
  .hero {
    padding: 0 16px 40px 16px;
  }

  .hero-content h1 {
    font-size: 1.6rem;
  }

  .hero-content p {
    font-size: 14px;
  }

  .hero-cta {
    right: 16px;
    bottom: 30px;
  }

  /* System section */
  .system-center h2 {
    font-size: 0.9rem;
  }

  .orbit-label {
    font-size: 9px;
    padding: 4px 8px;
  }

  /* Merits & Company */
  .merits-section,
  .company-section {
    padding: 40px 16px;
  }

  .merits-section .section-title,
  .company-section .section-title {
    font-size: 1.5rem;
    margin-bottom: 28px;
  }

  /* Contact */
  .contact-section {
    padding: 40px 16px;
  }

  .contact-section .section-title {
    font-size: 1.5rem;
  }

  .contact-logo {
    display: none;
  }

  /* Marquee */
  .marquee-track span {
    font-size: 1.8rem;
    padding: 0 20px;
    -webkit-text-stroke: 1px var(--primary);
  }
}
