@media (max-width: 1100px) {
  body.rj-home-page .nav-search-bar { display: none; }
}

@media (max-width: 1024px) {
  .rj-hero {
    padding-top: 36px;
  }

  .rj-hero__grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .rj-hero__desc { max-width: none; }

  .rj-hero__stage {
    min-height: 0;
    max-width: 560px;
    margin: 0 auto;
    width: 100%;
  }

  .rj-hero__thumbs {
    top: auto;
    right: 16px;
    bottom: 96px;
    flex-direction: row;
  }

  .rj-hero__thumb:hover { transform: translateY(-4px); }

  .rj-finder__bar {
    grid-template-columns: 1fr 1fr;
  }

  .rj-finder__bar input { grid-column: 1 / -1; }
  .rj-finder__bar .rj-btn--solid { grid-column: 1 / -1; }

  .rj-bento__grid { grid-template-columns: 1fr; }

  .rj-route__inner {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .rj-voices__grid {
    grid-template-columns: 1fr;
    max-width: 560px;
    margin: 0 auto;
  }

  .rj-journal__list {
    grid-template-columns: 1fr;
  }

  .rj-unit {
    --rj-visible-cards: 2;
  }
}

@media (max-width: 768px) {
  body.rj-home-page {
    --rj-band-inset: 24px;
    --rj-band-fade-y: 12px;
  }

  body.rj-home-page,
  body.rj-home-page main,
  body.rj-home-page .rj-home {
    overflow-x: clip;
  }

  .rj-hero {
    padding: 8px 0 20px;
  }

  .rj-hero__grid {
    gap: 20px;
    padding-bottom: 12px;
  }

  .rj-hero__badge {
    margin-bottom: 14px;
    font-size: 0.7rem;
  }

  .rj-hero__title-line {
    font-size: clamp(1.72rem, 8.2vw, 2.25rem);
  }

  .rj-hero__desc {
    font-size: 0.9rem;
    line-height: 1.62;
    margin-bottom: 16px;
  }

  .rj-hero__cta {
    flex-direction: column;
    gap: 10px;
    margin-bottom: 18px;
  }

  .rj-hero__cta .rj-btn {
    width: 100%;
    justify-content: center;
    min-height: 48px;
  }

  .rj-hero__metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    padding-top: 18px;
  }

  .rj-hero__metrics > div {
    flex: unset;
    width: auto;
    padding: 11px 8px;
    text-align: center;
  }

  .rj-hero__metrics dt {
    font-size: clamp(1.15rem, 4.8vw, 1.45rem);
  }

  .rj-hero__metrics dd {
    font-size: 0.58rem;
    margin-top: 5px;
  }

  .rj-hero__stage {
    max-width: none;
  }

  .rj-hero__thumbs {
    position: static;
    margin-top: 12px;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;
  }

  .rj-hero__thumb {
    width: calc(33.333% - 6px);
    min-width: 84px;
    max-width: 108px;
  }

  .rj-hero__thumb:hover { transform: none; }

  .rj-finder {
    margin-top: 0;
    width: 100%;
    max-width: 100%;
    padding: 18px 16px;
    border-radius: var(--rj-radius);
  }

  .rj-finder__bar {
    grid-template-columns: 1fr;
  }

  .rj-marquee__frame {
    padding-block: 14px;
  }

  body.rj-home-page .rj-band {
    padding-inline: 20px;
  }

  .rj-collection {
    padding: 48px 0 60px;
  }

  .rj-section-head {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 24px;
  }

  .rj-section-head h2 {
    font-size: clamp(1.6rem, 7vw, 2rem);
  }

  .rj-section-head .rj-section-lead {
    max-width: none;
    font-size: 0.9rem;
  }

  .rj-section-head__actions {
    width: 100%;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
  }

  .rj-section-head--center {
    align-items: center;
    text-align: center;
    margin-bottom: 32px;
  }

  .rj-collection__arrow {
    width: 44px;
    height: 44px;
  }

  .rj-unit:hover {
    transform: none;
    box-shadow: none;
  }

  .rj-unit__foot {
    flex-wrap: wrap;
    gap: 8px;
  }

  .rj-bento {
    padding-block: 28px 56px;
  }

  .rj-bento__grid {
    gap: 14px;
  }

  .rj-bento__cell {
    min-height: 0;
    padding: 22px 20px 20px;
    border-radius: var(--rj-radius);
  }

  .rj-bento__cell:hover {
    transform: none;
    box-shadow: none;
  }

  .rj-bento__cell--feature {
    min-height: 0;
  }

  .rj-bento__eyebrow {
    top: 18px;
    right: 18px;
  }

  .rj-bento__cta-inner {
    flex-direction: column;
    align-items: stretch;
    padding: 22px 20px;
    gap: 18px;
  }

  .rj-bento__cta-copy {
    flex-direction: column;
    gap: 14px;
  }

  .rj-bento__cell--cta .rj-btn {
    width: 100%;
    justify-content: center;
  }

  .rj-route,
  .rj-destinations,
  .rj-voices {
    padding: 56px 0;
  }

  .rj-route__inner {
    gap: 28px;
  }

  .rj-route__steps li {
    padding: 0 0 28px 26px;
  }

  .rj-route__steps p {
    max-width: none;
  }

  .rj-destinations__panel {
    padding: 32px 22px;
    border-radius: var(--rj-radius);
  }

  .rj-destinations__tags {
    gap: 6px;
  }

  .rj-voice {
    min-height: 0;
  }

  .rj-voice:hover {
    transform: none;
    box-shadow: none;
  }

  .rj-journal {
    padding-bottom: 56px;
  }

  .rj-journal__item h3 {
    font-size: 1.12rem;
  }

  .rj-strip {
    padding: 40px 0;
  }

  .rj-strip__inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
  }

  .rj-strip__actions {
    width: 100%;
  }

  .rj-strip__actions .rj-btn {
    flex: 1;
    min-width: 0;
    justify-content: center;
  }

  .rj-strip__inner h2 {
    font-size: clamp(1.5rem, 6vw, 1.85rem);
  }

  body.rj-home-page .topbar-left span:not(:first-child) {
    display: none;
  }
}

@media (max-width: 480px) {
  .rj-hero__title-line {
    font-size: clamp(1.85rem, 10vw, 2.35rem);
  }

  .rj-hero__thumb {
    width: 88px;
    max-width: none;
  }

  .rj-unit__body {
    padding: 14px 16px 16px;
  }

  .rj-unit__specs {
    gap: 6px;
  }

  .rj-unit__specs li {
    font-size: 0.72rem;
    padding: 5px 8px;
  }

  .rj-unit__price {
    font-size: 1.05rem;
  }

  .rj-spotlight__meta {
    left: 14px;
    right: 14px;
    bottom: 14px;
    padding: 14px;
  }

  .rj-destinations__tags span {
    font-size: 0.72rem;
    padding: 6px 12px;
  }

  .rj-bento__cell h3 {
    font-size: 1rem;
  }

  .rj-bento__cell p {
    font-size: 0.86rem;
  }
}
