@layer fluid-adaptation {
  @media (max-width: 1200px) {
    .gfhv-footer__brand { grid-column: span 12; }
    .gfhv-footer__col { grid-column: span 4; }
    .gfhv-footer__col--wide { grid-column: span 12; }
  }

  @media (max-width: 1024px) {
    .gfhv-hero__statement { grid-column: 1 / span 8; }
    .gfhv-hero__aside { grid-column: 1 / span 8; }

    .gfhv-split__media,
    .gfhv-split__body { grid-column: 1 / -1; }

    .gfhv-split--flip .gfhv-split__media { order: 0; }

    .gfhv-board__cell { grid-column: span 6; }
    .gfhv-board__cell:nth-child(3n-1) { transform: none; }

    .gfhv-span-3,
    .gfhv-span-4,
    .gfhv-span-5 { grid-column: span 6; }

    .gfhv-span-7,
    .gfhv-span-8,
    .gfhv-span-9 { grid-column: 1 / -1; }

    .gfhv-offset-1,
    .gfhv-offset-2 { grid-column-start: auto; }
  }

  @media (max-width: 860px) {
    .gfhv-primary-nav { display: none; }
    .gfhv-nav-toggle { display: inline-flex; }
    .gfhv-route-flag { display: none; }
  }

  @media (max-width: 720px) {
    .gfhv-board__cell { grid-column: 1 / -1; }
    .gfhv-footer__col { grid-column: span 6; }

    .gfhv-lane {
      grid-template-columns: auto 1fr;
    }

    .gfhv-lane__aside {
      grid-column: 1 / -1;
      justify-items: start;
      flex-direction: row;
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: var(--gfhv-space-s);
      border-block-start: 1px dashed var(--gfhv-line);
      padding-block-start: var(--gfhv-space-2xs);
    }

    .gfhv-backdrop-word,
    .gfhv-marquee-word {
      font-size: clamp(2.6rem, 14vw, 5rem);
    }

    .gfhv-consent__inner {
      inline-size: 100%;
    }
  }

  @media (max-width: 480px) {
    .gfhv-footer__col { grid-column: span 12; }

    .gfhv-btn {
      inline-size: 100%;
    }

    .gfhv-hero__actions .gfhv-btn {
      inline-size: 100%;
    }

    .gfhv-brand small { display: none; }
  }

  @media (min-width: 1500px) {
    .gfhv-route-flag { display: block; }
  }

  @supports (container-type: inline-size) {
    .gfhv-ranking {
      container-type: inline-size;
      container-name: ranking;
    }
  }
}
