.landing-hero {
  grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
  min-height: 0;
  gap: clamp(1.1rem, 3.5vw, 3.5rem);
  padding: clamp(1.6rem, 3.7vw, 3.6rem) 0 clamp(1.6rem, 3vw, 3rem);
}

.landing-hero h1 {
  max-width: 19ch;
  font-size: clamp(2.45rem, 5.25vw, 5rem);
  line-height: .99;
  overflow-wrap: anywhere;
}

.landing-hero .intro { max-width: 47ch; margin-top: .95rem; }
.landing-hero .hero-actions { gap: .55rem 1rem; margin-top: 1.2rem; }
.landing-hero .hero-art { transform: none; }
.landing-hero .category-art { order: initial; }
.landing-shortlist {
  margin-top: 1.1rem;
  padding: .9rem 1rem;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 1.2rem;
}

.landing-shortlist h2 { margin: 0 0 .3rem; font-size: clamp(1rem, 2vw, 1.2rem); line-height: 1.3; }
.landing-shortlist-rows { margin: 0; padding: 0; list-style: none; }
.landing-shortlist-row {
  display: grid;
  grid-template-columns: 4.25rem minmax(0, 1fr) auto;
  align-items: center;
  gap: .65rem;
  padding: .55rem 0;
}

.landing-shortlist-row + .landing-shortlist-row { border-top: 1px solid var(--line); }
.landing-shortlist > .text-link { display: inline-block; margin-top: .35rem; font-size: .9rem; }
.landing-shortlist > .small { margin: .4rem 0 0; }
.landing-brand-mark { display: grid; width: 100%; min-height: 2.5rem; place-items: center; padding: .25rem; border-radius: .5rem; }
.landing-brand-mark img { display: block; width: 100%; height: 2.25rem; object-fit: contain; }
.landing-brand-name { min-width: 0; overflow-wrap: anywhere; }
.landing-brand-name > a, .landing-brand-name > strong { display: inline-block; font-size: .98rem; font-weight: 800; line-height: 1.2; }
.landing-brand-name small { display: block; margin-top: .12rem; color: var(--ink-soft); line-height: 1.3; }
.landing-brand-name h3, .landing-brand-name p { margin: 0; }
.landing-brand-name p { margin-top: .35rem; }
.landing-row-cta.button { min-height: 2.75rem; padding: .5rem .82rem; font-size: .85rem; text-align: center; }
.landing-references { max-width: 57rem; }
.landing-references h2 { margin-top: 0; }
.landing-references .landing-shortlist-row { grid-template-columns: 5.6rem minmax(0, 1fr) auto; padding: .9rem 0; }
.landing-references .landing-shortlist-row:target { background: var(--white); }
.landing-list-note { max-width: 68ch; }
.locale-directory .locale-operator-card .operator-actions { margin: .65rem 0; }
.locale-operator-card .entity { margin: 0; }
#directory, #free-games, #scores, #international-casinos, #local-guide, #auction-results,
.landing-references .landing-shortlist-row { scroll-margin-top: 6rem; }

@media (max-width: 760px) {
  .landing-hero { grid-template-columns: minmax(0, 1fr); }
  .landing-hero h1 { font-size: clamp(2.35rem, 9.3vw, 3.8rem); }
  .landing-hero .hero-art img, .landing-hero .category-art img { aspect-ratio: 2.5; }
  .landing-hero .category-art { order: initial; }
  .landing-shortlist { padding: .65rem .75rem; }
}

@media (max-width: 450px) {
  .landing-shortlist-row { grid-template-columns: 3.15rem minmax(0, 1fr) auto; gap: .45rem; }
  .landing-brand-name small { font-size: .74rem; }
  .landing-row-cta.button { padding-inline: .52rem; font-size: .78rem; }
  .landing-references .landing-shortlist-row { grid-template-columns: 3.15rem minmax(0, 1fr); }
  .landing-references .landing-row-cta { grid-column: 2; justify-self: start; }
}

.landing-venue-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(16rem, 100%), 1fr)); gap: .7rem; margin: 1rem 0; padding: 0; list-style: none; }
.landing-venue-list li { padding: 1rem; background: var(--white); border: 1px solid var(--line); border-radius: .8rem; }
.landing-venue-list p { margin: .25rem 0; }
.landing-review .hero-actions { margin-top: 1.1rem; }

/* 2026-11-13: bigger brand logos + welcome offer line on brand rows */
.landing-shortlist-row { grid-template-columns: 7.5rem minmax(0, 1fr) auto; gap: .85rem; padding: .7rem 0; }
.landing-brand-mark { min-height: 3.75rem; padding: .35rem .5rem; border-radius: .7rem; }
.landing-brand-mark img { height: 3.1rem; }
.landing-references .landing-shortlist-row { grid-template-columns: 10rem minmax(0, 1fr) auto; gap: 1.1rem; padding: 1.05rem 0; }
.landing-references .landing-brand-mark { min-height: 5rem; }
.landing-references .landing-brand-mark img { height: 4.1rem; }
.landing-bonus { display: block; margin-top: .2rem; color: var(--ink, #14182b); font-size: 1rem; font-weight: 800; line-height: 1.3; }
.landing-references .landing-bonus { font-size: 1.12rem; }
.landing-brand-name small { font-size: .82rem; }
.landing-terms { margin-top: .6rem; color: var(--ink-soft); }

@media (max-width: 760px) {
  .landing-references .landing-shortlist-row { grid-template-columns: 7.5rem minmax(0, 1fr) auto; }
  .landing-references .landing-brand-mark { min-height: 3.9rem; }
  .landing-references .landing-brand-mark img { height: 3.2rem; }
}

@media (max-width: 450px) {
  .landing-shortlist-row,
  .landing-references .landing-shortlist-row { grid-template-columns: 6.5rem minmax(0, 1fr); gap: .45rem .75rem; }
  .landing-brand-mark, .landing-references .landing-brand-mark { min-height: 3.5rem; }
  .landing-brand-mark img, .landing-references .landing-brand-mark img { height: 2.9rem; }
  .landing-bonus, .landing-references .landing-bonus { font-size: .95rem; }
  .landing-brand-name small { font-size: .8rem; }
  .landing-row-cta.button,
  .landing-references .landing-row-cta { grid-column: 1 / -1; justify-self: stretch; min-height: 2.75rem; font-size: .9rem; }
}
