.gc-listing-page { background: var(--gc-bg-deep); }

.gc-listing-hero { padding: 36px 0 20px; }

.gc-listing-hero__inner {
  position: relative;
  isolation: isolate;
  display: flex;
  min-height: 280px;
  align-items: end;
  justify-content: space-between;
  gap: 36px;
  overflow: hidden;
  padding: clamp(30px, 5vw, 56px);
  border: 1px solid var(--gc-line);
  border-radius: var(--gc-r-lg);
  background-image: linear-gradient(90deg, rgba(2,8,6,.96), rgba(2,8,6,.56), rgba(2,8,6,.24)), url("../images/premium/hero-overlook.png");
  background-position: center;
  background-size: cover;
  box-shadow: var(--gc-shadow);
}

.gc-listing-hero__inner > div:first-child { max-width: 820px; }
.gc-listing-hero .gc-title { margin-top: 12px; font-size: clamp(3rem, 6.2vw, 6rem); }
.gc-listing-hero .gc-subtitle { max-width: 540px; margin: 0; color: #d7e0da; }
.gc-listing-hero .gc-header-search { position: static; flex: 0 0 min(360px, 34vw); }
.gc-listing-content { padding: 30px 0 clamp(72px, 8vw, 116px); }
.gc-listing-content > .gc-container > .gc-section-head { margin-bottom: 22px; }
.gc-listing-content .gc-card__body { padding: 17px; }
.gc-listing-content .gc-card__title { font-size: clamp(1.25rem, 1.8vw, 1.6rem); }
.gc-listing-content .gc-card__excerpt { margin-bottom: 12px; -webkit-line-clamp: 2; }
.gc-search-results-grid { align-items: start; }
.gc-search-results-grid .gc-card__media { aspect-ratio: 16 / 9; }

@media (max-width: 900px) {
  .gc-listing-hero__inner { min-height: 250px; align-items: start; flex-direction: column; justify-content: end; }
  .gc-listing-hero .gc-header-search { width: 100%; flex-basis: auto; }
}

@media (max-width: 640px) {
  .gc-listing-hero { padding-top: 22px; }
  .gc-listing-hero__inner { min-height: 230px; padding: 26px 22px; }
  .gc-listing-hero .gc-title { font-size: clamp(2.8rem, 14vw, 4.7rem); }
  .gc-listing-content { padding-top: 24px; }
  .gc-search-results-grid { gap: 16px; }
  .gc-search-results-grid .gc-card__body { padding: 14px; }
  .gc-search-results-grid .gc-card__title { font-size: 1.12rem; }
}

.gc-sidebar-panel .gc-sidebar-widget { display: grid; gap: 7px; }
.gc-sidebar-panel .gc-sidebar-widget > a { display: block; padding: 9px 10px; border-radius: 7px; color: var(--gc-muted); }
.gc-sidebar-panel .gc-sidebar-widget > a:hover { background: rgba(138,232,63,.09); color: var(--gc-green); }
