/* ==========================================================================
   Royalty Technology — Responsive
   Breakpoints: 1280 / 1080 / 900 / 720 / 560
   ========================================================================== */

@media (max-width: 1280px) {
  .services-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .industries { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .desktop-nav a { padding-inline: 9px; }
}

@media (max-width: 1080px) {
  :root { --gutter: 20px; }

  /* ---- Shell ---- */
  .topbar__email { display: none; }
  .desktop-nav { display: none; }
  .menu-button { display: grid; }
  .header__quote { display: none; }
  .header__inner { justify-content: space-between; }

  /* ---- Home ---- */
  .hero { min-height: auto; padding-block: var(--space-16) var(--space-20); }
  .hero__content { max-width: none; }
  .credibility__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .credibility__item { padding: var(--space-8) var(--space-6); }
  .credibility__item:nth-child(odd) { padding-left: 0; border-left: 0; }

  .section-head--split { grid-template-columns: 1fr; gap: var(--space-6); }
  .section-head--split > p { padding-bottom: 0; }

  .services-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .systems-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .why-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .process__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  .intelligence__layout,
  .spotlight__layout,
  .infra__layout,
  .team__layout,
  .channels,
  .cta-band__inner { grid-template-columns: 1fr; gap: var(--space-12); }

  .infra__layout > .infra__media { order: 2; }
  .team__layout > .team__media { order: 2; }
  .cta-band__actions { max-width: 420px; }

  /* ---- Internal pages ---- */
  .page-hero__inner { grid-template-columns: 1fr; gap: var(--space-10); }
  .page-hero__media--art img { width: min(88%, 470px); }
  .support-console__inner { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .support-console__art { grid-column: 1 / -1; }
  .support-console__art img { width: min(72%, 260px); }
  .page-cta__inner { grid-template-columns: 1fr; gap: var(--space-8); }
  .page-cta__actions { max-width: 420px; }
  .support-console__inner { grid-template-columns: 1fr; gap: var(--space-10); }
  .about-story__layout,
  .about-team__layout { grid-template-columns: 1fr; gap: var(--space-12); }
  .about-story__layout > .about-story__media { order: 2; }
  .about-story__media img { aspect-ratio: 3 / 2; }
  .about-foundations__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  /* ---- Collections ---- */
  .project-card-grid,
  .article-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .featured-article__layout { grid-template-columns: 1fr; }
  .featured-article__body { padding: var(--space-8); }

  /* ---- Forms ---- */
  .form-layout { grid-template-columns: 1fr; gap: var(--space-12); }

  /* ---- Legal ---- */
  .legal-layout { grid-template-columns: 1fr; gap: var(--space-10); }
  .legal-toc { position: static; }
  .legal-toc ol { grid-template-columns: repeat(2, minmax(0, 1fr)); display: grid; }
}

@media (max-width: 900px) {
  .topbar__inner { justify-content: center; }
  .topbar__contact { display: none; }

  .industries { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .intelligence__pillars { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page-sections__grid,
  .page--store .page-sections__grid,
  .page--support .page-sections__grid { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
  :root {
    --gutter: 18px;
    --section-y: 64px;
    --section-y-tight: 52px;
  }

  /* Phone/email live in the mobile menu — the topbar just crowds the screen. */
  .topbar { display: none; }

  .brand img { width: 36px; height: 36px; }
  .header__inner { min-height: 66px; }
  html { scroll-padding-top: 78px; }
  .page-jump { top: 66px; }
  .page-section { scroll-margin-top: 124px; }

  .hero__actions { flex-direction: column; align-items: stretch; }
  .hero__actions .button { width: 100%; }

  .services-grid,
  .systems-grid,
  .why-grid,
  .process__steps,
  .intelligence__pillars,
  .channels__list,
  .spotlight__features,
  .industries,
  .project-card-grid,
  .article-grid,
  .about-foundations__grid,
  .form-grid,
  .checklist--two { grid-template-columns: 1fr; }

  .page-section,
  .enquiry-form { padding: var(--space-6); }
  .page-section--art { padding-top: 0; }
  .page-section__art { margin-inline: calc(var(--space-6) * -1); }
  .page-section__art img { width: min(66%, 230px); }

  /* Decorative-only art is dropped on small screens so the interface
     stays compact and text-first. */
  .support-console__art,
  .form-art { display: none; }

  .page-hero__media--art img { width: min(80%, 380px); }
  .featured-article__media.is-art { padding: var(--space-6); }
  .featured-article__media.is-art img,
  .article-card__cover.is-art img { width: min(64%, 240px); }
  .spotlight__visual,
  .intelligence__visual { padding: var(--space-4); }

  .footer__top { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-10) var(--space-6); }
  .footer__brand { grid-column: 1 / -1; }
  .footer__bottom { flex-direction: column; align-items: flex-start; padding-block: var(--space-6); }

  .collection-cta__inner { flex-direction: column; align-items: flex-start; }
  .collection-cta__inner .button { width: 100%; }

  .legal-toc ol { grid-template-columns: 1fr; }
  .legal-contact { grid-template-columns: 1fr; }
  .legal-section + .legal-section { margin-top: var(--space-10); padding-top: var(--space-10); }
}

@media (max-width: 560px) {
  .credibility__grid { grid-template-columns: 1fr; }
  .credibility__item { padding-inline: 0; border-left: 0; }
  .credibility__item + .credibility__item { border-top: 1px solid var(--border-inverse); }

  .footer__top { grid-template-columns: 1fr; }
  .search-dialog { padding: var(--space-6); }
  .filter-bar { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: thin; }
  .login-options { flex-direction: column; align-items: flex-start; gap: var(--space-3); }
}

/* ---- Print --------------------------------------------------------------- */

@media print {
  .topbar, .header, .mobile-panel, .search-dialog,
  .cta-band, .page-cta, .collection-cta,
  .page-jump, .filter-bar, .footer__bottom nav { display: none !important; }

  .reveal { opacity: 1 !important; transform: none !important; }
  body { color: #000; background: #fff; }
  .section--inverse, .hero, .page-hero, .collection-hero, .footer {
    color: #000 !important;
    background: #fff !important;
  }
  .hero::before, .hero__media { display: none; }
  a[href^="http"]::after { content: " (" attr(href) ")"; font-size: .85em; }
}
