/* Premium collection landing pages. Scoped so the homepage and app surfaces stay unchanged. */
body[data-seo-landing="true"] {
  --landing-ink: #12343b;
  --landing-deep: #0f3037;
  --landing-muted: #66797d;
  --landing-line: #dde6e1;
  --landing-soft: #f4f7f5;
  --landing-gold: #b88a34;
  --landing-green: #16745f;
  background: #fff;
}

body[data-seo-landing="true"] .seo-breadcrumb {
  min-height: 34px;
  margin-top: 0;
  padding: 9px 0;
  color: #728286;
  font-size: 12px;
  font-weight: 600;
}

body[data-seo-landing="true"] .seo-breadcrumb a {
  color: var(--landing-deep);
}

body[data-seo-landing="true"] .hero {
  position: relative;
  min-height: 340px;
  align-items: end;
  overflow: visible;
  color: var(--landing-ink);
  background:
    linear-gradient(90deg, rgba(255, 255, 255, .98) 0%, rgba(255, 255, 255, .92) 34%, rgba(255, 255, 255, .36) 62%, rgba(255, 255, 255, .03) 100%),
    url("/assets/hero-3t-customer-bright.webp") center / cover;
  border-bottom: 1px solid rgba(228, 235, 230, .86);
}

body[data-seo-landing="true"] .hero::before {
  display: none;
}

body[data-seo-landing="true"] .hero-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas:
    "eyebrow"
    "title"
    "copy"
    "search"
    "proof";
  min-height: 0;
  gap: 8px;
  width: min(var(--page-max, 1360px), calc(100% - 40px));
  padding: 38px 0 0;
}

body[data-seo-landing="true"] .hero .eyebrow {
  width: fit-content;
  padding: 6px 10px;
  border: 1px solid rgba(20, 57, 65, .10);
  background: rgba(255, 255, 255, .72);
  color: #9b7b2f;
  font-size: 12px;
  font-weight: 720;
  letter-spacing: .045em;
  backdrop-filter: blur(10px);
}

body[data-seo-landing="true"] .hero h1 {
  max-width: 650px;
  margin: 4px 0 0;
  color: #123e45;
  font-size: clamp(34px, 3.1vw, 50px);
  line-height: 1.08;
  letter-spacing: -.025em;
  text-wrap: balance;
}

body[data-seo-landing="true"] .hero-copy {
  max-width: 600px;
  margin: 2px 0 0;
  color: #52696d;
  font-size: 16px;
  line-height: 1.55;
}

body[data-seo-landing="true"] .hero-actions,
body[data-seo-landing="true"] .landing-hero-metrics {
  display: none;
}

body[data-seo-landing="true"] .hero-actions .btn,
body[data-seo-landing="true"] .quick-search,
body[data-seo-landing="true"] .control,
body[data-seo-landing="true"] .quick-row .btn {
  border-radius: 8px;
}

body[data-seo-landing="true"] .hero-actions .btn.primary,
body[data-seo-landing="true"] .quick-row .btn.primary {
  border-color: #174b54;
  background: #174b54;
}

body[data-seo-landing="true"] .hero-actions .btn.primary:hover,
body[data-seo-landing="true"] .quick-row .btn.primary:hover {
  background: #0f3941;
}

body[data-seo-landing="true"] .quick-search {
  width: min(1180px, 100%);
  max-width: none;
  margin-top: 20px;
  margin-bottom: -34px;
  padding: 14px;
  border-color: rgba(228, 235, 230, .95);
  border-radius: 16px;
  background: rgba(255, 255, 255, .97);
  box-shadow: 0 18px 46px rgba(18, 47, 54, .14);
  backdrop-filter: blur(14px);
}

body[data-seo-landing="true"] .landing-context-chips {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 9px;
  margin-top: 16px;
}

body[data-seo-landing="true"] .landing-context-chips span,
body[data-seo-landing="true"] .landing-context-chips a {
  min-height: 32px;
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--landing-line);
  border-radius: 10px;
  padding: 6px 11px;
  color: #345a61;
  background: rgba(255, 255, 255, .92);
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
}

body[data-seo-landing="true"] .landing-context-chips a {
  border-color: #e4ebe6;
  color: #345a61;
  background: rgba(255, 255, 255, .92);
}

body[data-seo-landing="true"] #rentals {
  scroll-margin-top: 74px;
  padding-top: 76px;
}

body[data-seo-landing="true"] #rentals > .section-head {
  align-items: end;
  margin-bottom: 18px;
}

body[data-seo-landing="true"] #rentals > .section-head h2 {
  max-width: 860px;
  margin-bottom: 7px;
  font-size: clamp(26px, 2.4vw, 36px);
  line-height: 1.16;
  letter-spacing: 0;
}

body[data-seo-landing="true"] #rentals > .section-head .sub {
  max-width: 820px;
  line-height: 1.55;
}

body[data-seo-landing="true"] .landing-filter-summary {
  margin-bottom: 18px;
  display: grid;
  grid-template-columns: minmax(230px, .9fr) minmax(320px, 1.45fr) auto;
  gap: 16px;
  align-items: center;
  border: 1px solid var(--landing-line);
  border-left: 4px solid var(--landing-gold);
  border-radius: 8px;
  padding: 16px 18px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(18, 52, 59, .06);
}

body[data-seo-landing="true"] .landing-filter-summary-copy {
  display: grid;
  gap: 3px;
}

body[data-seo-landing="true"] .landing-filter-summary-copy span,
body[data-seo-landing="true"] .landing-card-heading span,
body[data-seo-landing="true"] .landing-section-label {
  color: var(--landing-gold);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

body[data-seo-landing="true"] .landing-filter-summary-copy strong {
  color: var(--landing-ink);
  font-size: 15px;
  line-height: 1.35;
}

body[data-seo-landing="true"] .landing-filter-tags {
  min-width: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

body[data-seo-landing="true"] .landing-filter-tags span {
  border: 1px solid #dce7e2;
  border-radius: 999px;
  padding: 7px 10px;
  color: #35575e;
  background: var(--landing-soft);
  font-size: 12px;
  font-weight: 700;
}

body[data-seo-landing="true"] .landing-filter-actions {
  display: grid;
  grid-template-columns: auto auto;
  gap: 8px;
}

body[data-seo-landing="true"] .landing-filter-actions .btn {
  min-height: 42px;
  border-radius: 8px;
  white-space: nowrap;
}

body[data-seo-landing="true"] .finder {
  align-items: start;
}

body[data-seo-landing="true"] .filters,
body[data-seo-landing="true"] .property,
body[data-seo-landing="true"] .results-toolbar {
  border-color: var(--landing-line);
  box-shadow: 0 10px 26px rgba(18, 52, 59, .055);
}

body[data-seo-landing="true"] .seo-landing-content {
  width: 100%;
  max-width: none;
  margin-top: 62px;
  padding: 60px max(32px, calc((100% - 1180px) / 2));
  display: grid;
  gap: 22px;
  background: var(--landing-soft);
}

body[data-seo-landing="true"] .landing-content-head {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr);
  gap: 44px;
  align-items: end;
  margin-bottom: 4px;
}

body[data-seo-landing="true"] .landing-content-head h2 {
  max-width: 740px;
  margin: 8px 0 0;
  color: var(--landing-ink);
  font-size: clamp(28px, 3vw, 42px);
  line-height: 1.15;
  letter-spacing: 0;
}

body[data-seo-landing="true"] .landing-content-head > p {
  margin: 0;
  color: var(--landing-muted);
  font-size: 15px;
  line-height: 1.7;
}

body[data-seo-landing="true"] .landing-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

body[data-seo-landing="true"] .landing-step {
  min-height: 210px;
  display: grid;
  align-content: start;
  gap: 10px;
  border: 1px solid var(--landing-line);
  border-radius: 8px;
  padding: 22px;
  background: #fff;
  box-shadow: 0 10px 26px rgba(18, 52, 59, .05);
}

body[data-seo-landing="true"] .landing-step > span {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  color: #fff;
  background: var(--landing-deep);
  font-size: 12px;
  font-weight: 800;
}

body[data-seo-landing="true"] .landing-step strong {
  color: var(--landing-ink);
  font-size: 17px;
  line-height: 1.3;
}

body[data-seo-landing="true"] .landing-step p {
  margin: 0;
  color: var(--landing-muted);
  font-size: 14px;
  line-height: 1.65;
}

body[data-seo-landing="true"] .guide-card,
body[data-seo-landing="true"] .landing-related {
  border: 1px solid var(--landing-line);
  border-radius: 8px;
  padding: 24px;
  background: #fff;
  box-shadow: 0 10px 26px rgba(18, 52, 59, .05);
}

body[data-seo-landing="true"] .guide-card h3,
body[data-seo-landing="true"] .landing-related h3 {
  margin: 5px 0 10px;
  color: var(--landing-ink);
  font-size: 22px;
  line-height: 1.3;
}

body[data-seo-landing="true"] .guide-card > p {
  color: var(--landing-muted);
  line-height: 1.7;
}

body[data-seo-landing="true"] .seo-opportunity {
  border-left: 4px solid var(--landing-green);
}

body[data-seo-landing="true"] .seo-student-market {
  border-top: 4px solid var(--landing-gold);
}

body[data-seo-landing="true"] .seo-student-market-metrics article {
  border: 1px solid #e4ebe7;
  border-radius: 8px;
  background: var(--landing-soft);
}

body[data-seo-landing="true"] .seo-student-market-breakdown {
  gap: 38px;
}

body[data-seo-landing="true"] .seo-university-card {
  border-radius: 8px;
  background: var(--landing-soft);
}

body[data-seo-landing="true"] .landing-faq details {
  border-top: 1px solid var(--landing-line);
}

body[data-seo-landing="true"] .landing-faq details:last-child {
  border-bottom: 1px solid var(--landing-line);
}

body[data-seo-landing="true"] .landing-faq summary {
  position: relative;
  padding: 17px 42px 17px 0;
  color: var(--landing-ink);
  font-size: 15px;
  font-weight: 750;
  line-height: 1.45;
  cursor: pointer;
  list-style: none;
}

body[data-seo-landing="true"] .landing-faq summary::-webkit-details-marker {
  display: none;
}

body[data-seo-landing="true"] .landing-faq summary::after {
  content: "+";
  position: absolute;
  top: 50%;
  right: 4px;
  width: 26px;
  height: 26px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  color: var(--landing-deep);
  background: var(--landing-soft);
  font-size: 18px;
  transform: translateY(-50%);
}

body[data-seo-landing="true"] .landing-faq details[open] summary::after {
  content: "−";
}

body[data-seo-landing="true"] .landing-faq details p {
  max-width: 900px;
  margin: -4px 0 18px;
  color: var(--landing-muted);
  line-height: 1.7;
}

body[data-seo-landing="true"] .landing-related .footer-links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
}

body[data-seo-landing="true"] .landing-related .footer-links a {
  min-height: 44px;
  display: flex;
  align-items: center;
  border: 1px solid var(--landing-line);
  border-radius: 8px;
  padding: 10px 12px;
  color: #24484f;
  background: var(--landing-soft);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.35;
  text-decoration: none;
}

body[data-seo-landing="true"] .landing-related .footer-links a:hover {
  border-color: #9eb6ad;
  background: #fff;
}

@media (max-width: 1120px) {
  body[data-seo-landing="true"] .landing-filter-summary {
    grid-template-columns: minmax(220px, .8fr) minmax(0, 1.2fr);
  }

  body[data-seo-landing="true"] .landing-filter-actions {
    grid-column: 1 / -1;
    justify-content: end;
  }
}

@media (max-width: 820px) {
  body[data-seo-landing="true"] .landing-content-head {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  body[data-seo-landing="true"] .landing-steps {
    grid-template-columns: 1fr;
  }

  body[data-seo-landing="true"] .landing-step {
    min-height: 0;
  }

  body[data-seo-landing="true"] .landing-related .footer-links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 740px) {
  body[data-seo-landing="true"] .seo-breadcrumb {
    width: calc(100% - 24px);
    min-height: 30px;
    gap: 5px;
    padding: 7px 0;
    overflow: hidden;
    font-size: 11px;
    white-space: nowrap;
  }

  body[data-seo-landing="true"] .seo-breadcrumb span[aria-current="page"] {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  body[data-seo-landing="true"] .hero,
  body[data-seo-landing="true"] .hero-inner {
    min-height: auto;
  }

  body[data-seo-landing="true"] .hero {
    background:
      linear-gradient(180deg, rgba(255, 255, 255, .96) 0%, rgba(255, 255, 255, .90) 36%, rgba(255, 255, 255, .30) 100%),
      url("/assets/hero-3t-customer-bright.webp") center top / cover;
  }

  body[data-seo-landing="true"] .hero-inner {
    width: calc(100% - 24px);
    padding: 18px 0 0;
    gap: 7px;
  }

  body[data-seo-landing="true"] .hero .eyebrow {
    padding: 5px 8px;
    font-size: 10.5px;
  }

  body[data-seo-landing="true"] .hero h1 {
    max-width: 310px;
    font-size: clamp(24px, 7.6vw, 32px);
    line-height: 1.12;
  }

  body[data-seo-landing="true"] .hero-copy {
    max-width: 320px;
    font-size: 13.5px;
    line-height: 1.45;
  }

  body[data-seo-landing="true"] .quick-search {
    margin-top: 12px;
    margin-bottom: -30px;
    padding: 10px;
    border-radius: 14px;
  }

  body[data-seo-landing="true"] .quick-row .control-area,
  body[data-seo-landing="true"] .quick-row .control-budget,
  body[data-seo-landing="true"] .quick-row .control-home {
    display: none;
  }

  body[data-seo-landing="true"] .quick-row {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  body[data-seo-landing="true"] .quick-row .btn {
    grid-column: auto;
    min-width: 92px;
    padding-inline: 12px;
  }

  body[data-seo-landing="true"] .control-search {
    min-width: 0;
  }

  body[data-seo-landing="true"] .landing-context-chips {
    flex-wrap: nowrap;
    justify-content: flex-start;
    overflow-x: auto;
    scrollbar-width: none;
  }

  body[data-seo-landing="true"] .landing-context-chips::-webkit-scrollbar {
    display: none;
  }

  body[data-seo-landing="true"] .landing-context-chips span,
  body[data-seo-landing="true"] .landing-context-chips a {
    flex: 0 0 auto;
  }

  body[data-seo-landing="true"] #rentals {
    scroll-margin-top: 62px;
    padding-top: 62px;
  }

  body[data-seo-landing="true"] #rentals > .section-head {
    align-items: stretch;
  }

  body[data-seo-landing="true"] #rentals > .section-head h2 {
    font-size: 26px;
  }

  body[data-seo-landing="true"] .landing-filter-summary {
    grid-template-columns: 1fr;
    gap: 12px;
    margin-bottom: 14px;
    padding: 14px;
  }

  body[data-seo-landing="true"] .landing-filter-actions {
    grid-column: auto;
    grid-template-columns: 1fr 1fr;
  }

  body[data-seo-landing="true"] .landing-filter-actions .btn {
    width: 100%;
  }

  body[data-seo-landing="true"] .seo-landing-content {
    margin-top: 38px;
    padding: 40px 12px;
    gap: 14px;
  }

  body[data-seo-landing="true"] .landing-content-head h2 {
    font-size: 28px;
  }

  body[data-seo-landing="true"] .landing-step,
  body[data-seo-landing="true"] .guide-card,
  body[data-seo-landing="true"] .landing-related {
    padding: 18px;
  }

  body[data-seo-landing="true"] .guide-card h3,
  body[data-seo-landing="true"] .landing-related h3 {
    font-size: 20px;
  }

  body[data-seo-landing="true"] .seo-student-market-head,
  body[data-seo-landing="true"] .seo-student-market-breakdown {
    display: grid;
  }

  body[data-seo-landing="true"] .seo-student-market-metrics {
    grid-template-columns: 1fr;
  }

  body[data-seo-landing="true"] .landing-related .footer-links {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  body[data-seo-landing="true"] *,
  body[data-seo-landing="true"] *::before,
  body[data-seo-landing="true"] *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
}
