/* ==========================================================================
   OPUS-G2-CO1 — RESPONSIVE & MOBILE ADAPTATION
   ========================================================================== */

/* --- TABLET / SMALL LAPTOP (max-width: 1100px) --- */
@media (max-width: 1100px) {
  .page-container {
    padding: 5rem 2rem 0;
  }

  .top-utilities-dock {
    right: 2rem;
  }

  .hero-split-grid {
    grid-template-columns: 1fr;
    gap: 3.5rem;
  }

  .portfolio-wide-split {
    grid-template-columns: 1fr;
    gap: 3.5rem;
  }

  .exp-firm-block {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  .contact-wide-split {
    grid-template-columns: 1fr;
    gap: 3rem;
  }

  .preview-grid-3col {
    grid-template-columns: 1fr;
    gap: 1.75rem;
  }

  .projects-wide-grid,
  .research-wide-grid,
  .articles-wide-grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}

/* --- MOBILE (max-width: 768px) --- */
@media (max-width: 768px) {
  .page-container {
    padding: 4.5rem 1.25rem 0;
  }

  .orb-trigger-fixed {
    top: 1.25rem;
    left: 1.25rem;
  }

  .glowing-orb-btn {
    width: 42px;
    height: 42px;
  }

  /* Bubbly Popover on Mobile */
  .bubble-menu-popover {
    top: 4.5rem;
    left: 1.25rem;
    width: calc(100vw - 2.5rem);
    max-width: 320px;
    padding: 1.25rem 1.35rem;
  }

  .bubble-item-link {
    font-size: 1.05rem;
    padding: 0.45rem 0.65rem;
  }

  .top-utilities-dock {
    top: 1.5rem;
    right: 1.25rem;
    gap: 1rem;
    font-size: 0.75rem;
  }

  .hero-main-name {
    font-size: 2.75rem;
  }

  .hero-role-title {
    font-size: 1.15rem;
  }

  .hero-bio-lead {
    font-size: 1rem;
  }

  .page-title {
    font-size: 2.25rem;
  }

  .page-subtitle {
    font-size: 1rem;
  }

  .page-intro {
    padding: 1.5rem 0 2rem;
    margin-bottom: 2.5rem;
  }

  .hero-actions-dock {
    flex-direction: column;
    align-items: stretch;
  }

  .btn-action-primary,
  .btn-action-secondary {
    justify-content: center;
    text-align: center;
  }

  .cert-row {
    flex-direction: column;
    gap: 0.25rem;
  }

  .cert-domain-txt {
    text-align: left;
  }

  .article-modal {
    padding: 4.5rem 1.25rem 2rem;
  }

  .btn-close-article {
    top: 1rem;
    right: 1rem;
  }

  /* Contact hero statement — mobile sizing */
  .contact-hero-statement {
    font-size: 1.75rem;
  }

  .footer-inner {
    padding: 0 1.25rem;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.25rem;
  }

  .footer-nav {
    flex-wrap: wrap;
    gap: 1rem;
  }

  /* G2 Aesthetics Mobile Adaptations */
  .ambient-mouse-spotlight {
    display: none !important;
  }

  .telemetry-ticker-bar {
    margin: 2.25rem 0 1.75rem;
    padding: 0.65rem 0;
  }

  .ticker-track {
    font-size: 0.7rem;
    gap: 1.5rem;
    animation-duration: 28s;
  }

  .corner-bracket:hover::before,
  .corner-bracket:hover::after {
    transform: none;
  }
}

/* --- PRINT RULES --- */
@media print {
  body {
    background: #ffffff !important;
    color: #000000 !important;
  }

  .orb-trigger-fixed,
  .bubble-menu-popover,
  .top-utilities-dock,
  .toast-alert,
  .article-modal,
  .genre-ledger-dock,
  .projects-filter-bar {
    display: none !important;
  }

  .page-container {
    max-width: 100% !important;
    padding: 0 !important;
  }

  a {
    text-decoration: underline !important;
  }
}

/* --- ACCESSIBILITY: REDUCED MOTION --- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
