/* Official artwork remains untouched; SVG viewports create the compact lockup. */
:root {
  --font-ui: "Inter Variable", Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-editorial: var(--font-ui);
}
body { font-family: var(--font-ui); font-optical-sizing: auto; font-kerning: normal; }
button, input, select, textarea { font-family: var(--font-ui); }
h1, h2, h3 { text-wrap: balance; }
.rd-brand.ip-brand {
  display: inline-flex; align-items: center; justify-content: flex-start;
  gap: 10px; width: 202px; height: 58px; padding: 4px 0;
  flex: none; border-radius: 4px; background: transparent; box-shadow: none;
}
.ip-brand-symbol { display: block; width: 48px; height: 43px; flex: none; }
.ip-brand-wordmark { display: block; width: 140px; height: 53px; flex: none; }
.rd-brand.ip-brand:focus-visible { outline: 3px solid #00a77a; outline-offset: 5px; }
/* 75% of the prior sidebar logo lockup, without changing the approved artwork. */
.rd-sidebar .rd-brand.ip-brand { width: 75%; height: 44px; padding: 0; gap: 6.75px; margin: 0 0 20px; }
.rd-sidebar .ip-brand-symbol { width: 32.25px; height: 30px; }
.rd-sidebar .ip-brand-wordmark { width: min(105px, calc(100% - 39px)); height: 38.25px; }
.rh-nav { height: 74px; }
.rh-nav .rd-brand.ip-brand { width: 212px; }
.rh-nav>nav>button { font-size: 12px; }
.rh-nav-actions .btn { font-size: 11px; }
.rh-hero { padding-top: 100px; }
.rd-brand.ip-brand-stacked, .ip-brand-stacked {
  width: 105px; height: auto; display: block; padding: 0;
}
.ip-brand-stacked img { width: 100%; height: auto; display: block; }
.rh-footer .ip-brand-stacked { width: 105px; }
.rd-avatar-brand { background: #f4faf6; }
.rd-avatar-brand .ip-brand-symbol { width: 29px; height: 27px; }
.ip-dashboard-symbol { background: #f4faf6 !important; }
.ip-dashboard-symbol .ip-brand-symbol, .ip-dashboard-symbol img {
  display: block; width: 100%; height: 100%; padding: 14%; object-fit: contain;
}

/* All display headings use the same Inter family as the application UI. */
.rl-title h1, .rl-landlord-hero h1, .rl-hero-caption,
.ips-match-hero h1, .ips-match-empty h2, .ips-access-lifestyle h3,
.ips-access-photo-caption, .rh-handwritten {
  font-family: var(--font-ui); font-weight: 700; font-synthesis: none;
  letter-spacing: -.025em; line-height: 1.12;
}
.rl-title h1 em, .ips-match-hero h1 em { font-weight: 700; font-style: normal; }
.rh-hero h1, .rc-hero h1, .ips-access-hero h1 { letter-spacing: -.045em; line-height: 1.04; }
.rd-page-heading h1, .rpd-title-row h1 { letter-spacing: -.035em; line-height: 1.15; }
.rd-card-info h3 { letter-spacing: -.025em; line-height: 1.25; }
.rd-card-info h3 button { font-weight: 650; }
.rd-shell .stat strong, .rh-stat-strip strong, .rd-card-price strong,
.rl-metric strong, .rpd-price strong, .rpd-stats strong, .rm-heading-stats strong,
.rl-portfolio-occupancy, .rl-portfolio-price, .rl-property-table,
.house-three-summary, .house-three-selection strong, input[type="number"] {
  font-variant-numeric: lining-nums tabular-nums;
}

/* Secondary copy stays readable at desktop density. */
.rd-global-search input { font-size: 13px; }
.rd-side-caption { font-size: 11px; letter-spacing: .1em; }
.rd-demo-label, .rd-demo-footer, .rd-sidebar-profile small, .rd-account small,
.rd-campus-switch, .rd-sidebar-promo .btn { font-size: 11px; }
.rd-shell .rd-demo-footer button { font-size: 11px; }
.rd-distance, .rd-card-count, .rd-card-details>span, .rd-card-tags>span,
.rd-card-feature, .rd-image-count, .rd-property-card.compact .rd-distance,
.rd-property-card.compact .rd-card-count, .rd-property-card.compact .rd-card-price {
  font-size: 11px; line-height: 1.5;
}
.rd-property-card.compact h3 { font-size: 15px; }
.rd-shell input:not([type="checkbox"]):not([type="range"]),
.rd-shell select, .rd-shell textarea { font-size: 13px; }
.rh-search small { font-size: 10px; letter-spacing: .02em; white-space: normal; }
.rh-search select { font-size: 12px; }
.rh-popular, .rh-popular button, .rh-stat-strip small, .rh-verified small,
.rh-feature p, .rh-student-card>span, .rh-footer { font-size: 11px; }
.rh-intro p, .rh-campus-preview p { font-size: 13px; line-height: 1.6; }
.rh-feature h3 { font-size: 14px; line-height: 1.35; min-height: 38px; }
.rh-feature p { line-height: 1.6; }
.rh-campus-preview h2 { line-height: 1.2; }
.rh-kicker, .rh-intro .eyebrow, .rh-campus-preview .eyebrow { font-size: 10px; }

.rc-steps small, .rc-panel-heading p, .rc-school>span:nth-child(2)>small,
.rc-campus-copy>small, .rc-campus-copy>span, .rc-directory-note p,
.rc-directory-note b, .rc-photo-caption, .rc-source-badge small,
.rc-source-badge b, .rc-campus-cover p, .rc-campus-stats small,
.rc-map-description p, .rc-map-description li, .rc-overview-note,
.rc-hero-tag small { font-size: 11px; line-height: 1.45; }
.rc-campus-copy>b { font-size: 13px; }
.rc-campus-copy>small {
  display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2;
  max-height: none; overflow: hidden;
}
.rc-steps b { font-size: 13px; }
.rc-source-badge { max-width: 150px; }
.rc-campus-stats small { overflow-wrap: normal; }

.ips-match-promises small, .ips-filter-pill, .ips-filter-pill select,
.ips-filter-campus, .ips-more-filters>summary, .ips-results-heading p,
.ips-sort, .ips-sort select, .ips-match-reasons summary, .ips-match-reasons li,
.ips-score-note, .ips-view-switch button, .ips-panel-title button,
.ips-map-caption, .ips-map-caption b, .ips-map-demo, .ips-insights>p,
.ips-insight>span:nth-child(2), .ips-insight small, .ips-insight-note,
.ips-search-tip b, .ips-search-tip span, .ips-access-highlights,
.ips-access-features p, .ips-access-features li { font-size: 11px; line-height: 1.5; }
.ips-match-score>span { font-size: 8px; letter-spacing: .04em; }
.ips-access-intro-heading>p { font-size: 14px; line-height: 1.65; }
.ips-access-badge, .ips-eyebrow { font-size: 10px; }

.rl-scope-note, .rl-status, .rl-metric small, .rl-property-table th,
.rl-table-property small, .rl-table-sub, .rl-property-table .rl-status,
.rl-quick-actions b, .rl-quick-actions small, .rl-insight-banner small,
.rl-hero-features small, .rl-occupancy-metric small, .rl-view-switch button,
.rl-occupancy-badge, .rl-portfolio-description>p, .rl-property-tags>span,
.rl-portfolio-occupancy>span, .rl-portfolio-price>span,
.rl-portfolio-occupancy>small, .rl-portfolio-price>small,
.rl-portfolio-status>small, .rl-result-count, .rl-create-benefits b,
.rl-create-benefits small { font-size: 11px; line-height: 1.5; }
.rl-property-table td, .rl-table-property button, .rl-table-occupancy b,
.rl-metric-label { font-size: 12px; }
.rl-eyebrow { font-size: 10px; }
.rl-create-hero { min-height: 185px; }
.rl-form-grid>label, .rl-add-room>label, .rl-form-three>label { font-size: 12px; }
.rl-form-grid small, .rl-form-hint span, .rl-step-copy small, .rl-step-state {
  font-size: 11px; line-height: 1.5;
}
.rl-wizard-stepper button { font-size: 11px; line-height: 1.35; min-height: 38px; }
.rl-hero-features { background: linear-gradient(90deg,#f4faf800,#f4faf8 18%); padding-left: 12px; }
.ips-match-promises { background: linear-gradient(90deg,#f1f8f400,#f1f8f4 18%); padding-left: 12px; }

.rpd-tabs button, .rpd-photo-label, .rpd-all-photos, .rpd-photo-count,
.rpd-tag, .rpd-section-heading p, .rpd-lower-section>p,
.rpd-room-pick-copy strong, .rpd-room-pick-copy>span, .rpd-room-filter-note,
.rpd-selected-top small, .rpd-selected-top strong>span, .rpd-room-available,
.rpd-selected-meta, .rpd-local-note, .rpd-price-caption, .rpd-cta-note,
.rpd-stats span, .rpd-state-note, .rpd-context-card li, .rpd-fit-heading p,
.rpd-fit-tag, .rpd-fit-foot, .rpd-amenities>div, .rpd-follow,
.rpd-location-facts small { font-size: 11px; line-height: 1.5; }
.rpd-room-pick-copy strong { font-size: 12px; }
.rpd-eyebrow { font-size: 10px; }
.rd-demo-footer, .rd-card-count, .rd-distance { color: #586e73; }

@media (min-width: 1500px) {
  .rd-sidebar .rd-brand.ip-brand { max-width: 168px; margin-inline: auto; }
  .rd-sidebar .ip-brand-symbol { width: 40.5px; height: 36px; }
  .rd-sidebar .ip-brand-wordmark { width: 116.25px; height: 43.5px; }
}
@media (max-width: 1150px) {
  .rh-nav { gap: 15px; }
  .rh-nav .rd-brand.ip-brand { width: 186px; gap: 7px; }
  .rh-nav .ip-brand-symbol { width: 42px; }
  .rh-nav .ip-brand-wordmark { width: 132px; }
  .rh-nav>nav { gap: 17px; }
}
@media (max-width: 900px) and (min-width: 621px) {
  .rd-sidebar .rd-brand.ip-brand { justify-content: center; width: 100%; height: 50px; }
  .rd-sidebar .ip-brand-wordmark { display: none; }
  .rd-sidebar .ip-brand-symbol { width: 34.5px; height: 32.25px; }
}
@media (max-width: 760px) {
  .rh-nav { height: 70px; }
  .rh-hero { padding-top: 100px; }
  .rh-search select { font-size: 13px; }
  .rh-search small { font-size: 10px; }
  .rh-search>.btn { font-size: 13px; }
  .rh-feature p { font-size: 12px; }
  .rh-feature h3 { font-size: 15px; }
  .rh-footer { gap: 24px; }
  .rh-popular { row-gap: 10px; }
}
@media (max-width: 620px) {
  .rd-sidebar .rd-brand.ip-brand { justify-content: flex-start; width: 157.5px; margin: 8px 5px 19px; }
  .rd-sidebar .ip-brand-symbol { width: 36px; height: 32.25px; }
  .rd-sidebar .ip-brand-wordmark { display: block; width: 108.75px; height: 38.25px; }
  .rd-shell input:not([type="checkbox"]):not([type="range"]),
  .rd-shell select, .rd-shell textarea, .rd-global-search input { font-size: 16px; }
  .rd-global-search input { text-overflow: ellipsis; }
  .rd-demo-footer { font-size: 11px; line-height: 1.5; }
}
@media (max-width: 440px) {
  .rh-nav .rd-brand.ip-brand { width: 188px; }
  .mobile-nav-open .rh-nav nav { top: 70px; }
  .rh-hero h1 { font-size: clamp(38px,10.8vw,45px); }
}
