/* ============================================================
   PHONE / TABLET / LARGE-SCREEN ADJUSTMENTS
   Rules here override the files above on small or very large screens.
   ============================================================ */
/* ---------- responsive ---------- */
@media (max-width: 1200px) {
  .nav-links,
  .nav .btn {
    display: none;
  }
  .burger {
    display: grid;
  }
}
@media (min-width: 1500px) {
  .grid {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media (max-width: 1100px) {
  .nav-links {
    gap: 22px;
  }
  .p-grid > .p-tile {
    flex-basis: calc((100% - 32px) / 3);
  }
}
@media (max-width: 980px) {
  .nav-links,
  .nav .btn {
    display: none;
  }
  .burger {
    display: grid;
  }
  .grid {
    grid-template-columns: 1fr 1fr;
    gap: 18px;
  }
  .vault:first-child {
    margin-top: 40px;
  }
  .vault,
  .vault.blush {
    grid-template-columns: 1fr;
    min-height: 0;
    margin-top: 120px;
    padding-top: min(58vw, 420px);
    align-items: end;
  }
  .vault .copy,
  .vault.blush .copy {
    grid-column: 1;
    padding: 24px 28px 48px;
  }
  .vault.blush {
    padding-top: min(86vw, 560px);
  }
  .g-row {
    grid-template-columns: 1fr 1fr;
  }
  .g-item:nth-child(2) {
    margin-top: 50px;
  }
  .g-item:nth-child(3) {
    display: none;
  }
  .timeline {
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
  }
  .timeline .rail {
    display: none;
  }
  .stats {
    grid-template-columns: 1fr 1fr;
  }
  .stat:nth-child(3) {
    border-left: 0;
  }
  .stat:nth-child(n + 3) {
    border-top: 1px solid var(--line);
  }
  .ap-box {
    grid-template-columns: 1fr;
  }
  .slide.s1::after,
  .slide.s2::after,
  .slide.s3::after,
  .has-video .slide.video::after {
    background: linear-gradient(
      0deg,
      rgba(26, 4, 9, 0.95) 0%,
      rgba(26, 4, 9, 0.7) 40%,
      rgba(26, 4, 9, 0.1) 75%
    );
  }
  .slide.s1 img {
    object-position: 72% 50%;
  }
  .frame {
    inset: 12px;
  }
  .c1,
  .c2,
  .c3 {
    left: var(--pad);
    right: var(--pad);
    top: auto;
    bottom: 12vh;
    transform: none;
    text-align: left;
    max-width: none;
  }
  .c2 .eyebrow,
  .c3 .eyebrow {
    justify-content: flex-start;
  }
  .c3 .eyebrow::after {
    display: none;
  }
  .c2 p,
  .c3 p {
    margin: 0;
  }
  .chapter h1,
  .chapter h2 {
    font-size: clamp(40px, 10vw, 64px);
    margin: 14px 0 12px;
  }
  .chapter .ctas {
    margin-top: 22px;
  }
  .scroll-cue {
    display: none;
  }
  .stage {
    background:
      radial-gradient(ellipse 90% 50% at 50% 36%, #7b2233 0%, rgba(90, 21, 34, 0) 70%),
      radial-gradient(ellipse at 50% 120%, #4a0f1b 0%, #2a0810 60%), #2a0810;
  }
}
@media (max-width: 620px) {
  body {
    font-size: 14.5px;
  }
  .ticker {
    height: 26px;
  }
  .ticker-track {
    line-height: 26px;
  }
  .nav {
    height: 64px;
  }
  .brand b {
    font-size: 20px;
  }
  .brand .mono {
    width: 36px;
    height: 36px;
  }
  .grid {
    grid-template-columns: 1fr;
  }
  .timeline {
    grid-template-columns: 1fr;
  }
  .p-grid > .p-tile {
    flex-basis: calc((100% - 16px) / 2);
  }
  .fields {
    grid-template-columns: 1fr;
  }
  .chapter .sub {
    font-size: 20px;
  }
  .chapter p {
    font-size: 14px;
  }
  .chapter .btn {
    padding: 13px 18px;
  }
  .chapter-meta {
    bottom: 20px;
  }
  .collections,
  .legacy,
  .partners,
  .appoint,
  .quote {
    padding: 90px 0;
  }
  .tabs {
    border-radius: 14px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .ticker-track {
    animation: none;
  }
}
