:root {
  --ink: #191818;
  --muted: #6e6964;
  --line: #e3ddd6;
  --surface: #ffffff;
  --canvas: #f7f5f2;
  --soft: #eee9e3;
  --purple: #5c356a;
  --purple-dark: #3f224b;
  --purple-soft: #f1e9f4;
  --green: #24764f;
  --green-soft: #e8f4ed;
  --shadow: 0 12px 32px rgba(41, 34, 29, 0.08);
  --radius: 20px;
}

* { box-sizing: border-box; }

html { background: var(--canvas); }

body {
  margin: 0;
  background: var(--canvas);
  color: var(--ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.5;
}

button, a { font: inherit; }
a { color: inherit; }

.utility-bar {
  min-height: 54px;
  display: flex;
  align-items: center;
  border-bottom: 1px solid rgba(0,0,0,.06);
  background: rgba(255,255,255,.84);
  backdrop-filter: blur(16px);
  position: sticky;
  top: 0;
  z-index: 20;
}

.platform-mark {
  width: min(1180px, calc(100% - 32px));
  margin: 0 auto;
  display: flex;
  align-items: baseline;
  gap: 9px;
  text-decoration: none;
  color: #292424;
}

.platform-mark > span {
  font-weight: 760;
  letter-spacing: -.025em;
  font-size: .96rem;
}

.platform-mark small {
  color: var(--muted);
  font-size: .72rem;
}

.page-shell {
  width: min(1180px, calc(100% - 32px));
  margin: 0 auto;
  padding: 26px 0 48px;
}

.loading-card,
.error-card {
  max-width: 680px;
  margin: 10vh auto;
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow);
}

.loading-card {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  color: var(--muted);
}

.loading-dot {
  width: 9px;
  height: 9px;
  border-radius: 99px;
  background: var(--purple);
  animation: pulse 1.1s ease-in-out infinite alternate;
}

@keyframes pulse { to { opacity: .25; transform: scale(.8); } }

.breadcrumb {
  display: flex;
  gap: 8px;
  align-items: center;
  color: var(--muted);
  font-size: .78rem;
  margin: 0 0 12px;
}

.breadcrumb strong { color: var(--ink); font-weight: 650; }

.property-banner {
  display: grid;
  grid-template-columns: 46px 1fr auto;
  align-items: center;
  gap: 12px;
  padding: 10px 13px;
  width: fit-content;
  min-width: 300px;
  border: 1px solid var(--line);
  border-radius: 15px;
  background: var(--surface);
  text-decoration: none;
  box-shadow: 0 6px 18px rgba(41, 34, 29, .045);
}

.property-thumb {
  width: 46px;
  height: 46px;
  border-radius: 11px;
  background: #f2eeee;
  overflow: hidden;
  display: grid;
  place-items: center;
}

.property-thumb img {
  width: 76%;
  height: 76%;
  object-fit: contain;
}

.property-copy { display: flex; flex-direction: column; }
.property-copy strong { font-size: .93rem; line-height: 1.25; }
.property-copy small { color: var(--muted); font-size: .72rem; margin-top: 2px; }
.property-arrow { color: var(--muted); font-size: 1.35rem; padding-left: 4px; }

.listing-heading { padding: 24px 0 20px; }
.title-row { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }

h1, h2, p { margin-top: 0; }
h1 { margin-bottom: 0; font-size: clamp(2rem, 5vw, 3.15rem); line-height: 1.02; letter-spacing: -.05em; }
h2 { margin-bottom: 16px; font-size: 1rem; letter-spacing: -.02em; }

.promo-pill {
  display: inline-flex;
  align-items: center;
  min-height: 29px;
  padding: 5px 10px;
  border-radius: 999px;
  background: var(--purple-soft);
  color: var(--purple-dark);
  font-size: .71rem;
  font-weight: 800;
  letter-spacing: .055em;
}

.room-summary {
  max-width: 690px;
  margin: 12px 0 7px;
  color: #4e4945;
  font-size: .98rem;
}

.location-line,
.rate-line {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 5px 0 0;
  color: var(--muted);
  font-size: .85rem;
}

.rate-line { color: var(--ink); font-weight: 720; font-size: .94rem; }
.promo-copy { margin: 8px 0 0; color: var(--purple-dark); font-size: .85rem; font-weight: 650; }

.desktop-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(250px, .82fr) minmax(245px, .68fr);
  gap: 18px;
  align-items: start;
}

.gallery-stage {
  position: relative;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  border-radius: var(--radius);
  background: #e9e4df;
  box-shadow: var(--shadow);
}

.gallery-stage img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.gallery-control {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  border: 0;
  border-radius: 50%;
  background: rgba(255,255,255,.9);
  color: #292424;
  box-shadow: 0 4px 14px rgba(0,0,0,.13);
  cursor: pointer;
  font-size: 1.55rem;
  line-height: 1;
}

.gallery-control:hover { background: white; }
.gallery-control.previous { left: 12px; }
.gallery-control.next { right: 12px; }

.gallery-counter {
  position: absolute;
  right: 12px;
  bottom: 12px;
  padding: 5px 9px;
  border-radius: 999px;
  background: rgba(24,22,21,.72);
  color: white;
  font-size: .7rem;
  font-weight: 700;
}

.gallery-thumbs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-top: 8px;
}

.gallery-thumb {
  padding: 0;
  border: 2px solid transparent;
  border-radius: 11px;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  background: var(--soft);
  cursor: pointer;
}

.gallery-thumb[aria-current="true"] { border-color: var(--purple); }
.gallery-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }

.phase0-photo-note {
  margin: 9px 2px 0;
  color: var(--muted);
  font-size: .7rem;
}

.details-column,
.action-column { display: grid; gap: 12px; }

.content-card,
.highlight-card,
.availability-card {
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}

.content-card h2 { margin-bottom: 13px; }

.icon-features {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px 6px;
}

.icon-feature {
  min-width: 0;
  min-height: 66px;
  padding: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 2px;
  text-align: center;
}

.icon-feature-mark {
  width: 44px;
  height: 44px;
  flex: 0 0 auto;
  display: block;
}

.icon-feature-mark img {
  display: block;
  width: 100%;
  height: 100%;
}

.icon-feature-label {
  max-width: 100%;
  color: rgba(73, 68, 64, .28);
  font-size: .62rem;
  font-weight: 600;
  line-height: 1.05;
  overflow-wrap: anywhere;
}

.icon-feature-empty {
  grid-column: 1 / -1;
  min-height: 54px;
  display: grid;
  place-items: center;
  color: var(--muted);
  font-size: .76rem;
}

@media (max-width: 680px) {
  .icon-features {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 5px 5px;
  }

  .icon-feature {
    min-height: 62px;
  }

  .icon-feature-mark {
    width: 42px;
    height: 42px;
  }
}

.inclusions-block {
  margin-top: 10px;
  padding-top: 0;
}

.inclusions-title {
  margin: 0 0 5px;
  color: var(--ink);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .075em;
}

.inclusions-grid {
  display: grid;
  margin: 0;
  overflow: hidden;
  border-radius: 9px;
  background: #fbfaf8;
}

.inclusion-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  min-height: 24px;
  padding: 3px 8px;
}

.inclusion-row:nth-child(odd) {
  background: #f3f0ec;
}

.inclusion-row:nth-child(even) {
  background: #faf8f5;
}

.inclusion-row dt,
.inclusion-row dd {
  margin: 0;
  font-size: .76rem;
  line-height: 1.15;
}

.inclusion-row dt {
  color: #494440;
}

.inclusion-row dd {
  color: var(--ink);
  font-weight: 500;
  text-align: right;
  white-space: nowrap;
}

.inclusion-value--yes { color: var(--green) !important; }
.inclusion-value--no { color: #4b4541 !important; }
.inclusion-value--detail { color: var(--purple-dark) !important; }

.room-details-feature-list {
  margin-top: 16px;
  padding-top: 0;
  border-top: 0;
}

.feature-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  row-gap: 4px;
  column-gap: 14px;
}

.feature-list--two-column {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.feature-list li {
  position: relative;
  min-width: 0;
  padding-left: 17px;
  color: #494440;
  font-size: .82rem;
  line-height: 1.25;
}

.feature-list li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--green);
  font-weight: 800;
}

.collateral-card {
  --room-details-collateral-ratio: 16 / 9;
  position: relative;
  overflow: hidden;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}

.collateral-carousel {
  width: 100%;
  min-width: 0;
}

.collateral-slide {
  width: 100%;
  aspect-ratio: var(--room-details-collateral-ratio);
  overflow: hidden;
  background: #fff;
}

.collateral-slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  user-select: none;
  pointer-events: none;
}

.collateral-carousel .slick-prev,
.collateral-carousel .slick-next {
  z-index: 4;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .72);
  box-shadow: none;
  opacity: .56;
  transition: opacity .15s ease;
}

.collateral-carousel .slick-prev { left: 9px; }
.collateral-carousel .slick-next { right: 9px; }
.collateral-carousel .slick-prev:hover,
.collateral-carousel .slick-next:hover,
.collateral-carousel .slick-prev:focus-visible,
.collateral-carousel .slick-next:focus-visible { opacity: .82; }
.collateral-carousel .slick-prev:before,
.collateral-carousel .slick-next:before {
  color: #5f5c57;
  font-size: 18px;
  opacity: .72;
}

.collateral-carousel.slick-dotted.slick-slider {
  margin-bottom: 0;
}

.collateral-carousel .slick-dots {
  bottom: 7px;
  z-index: 5;
}

.collateral-carousel .slick-dots li {
  width: 14px;
  height: 14px;
  margin: 0 1px;
}

.collateral-carousel .slick-dots li button {
  width: 14px;
  height: 14px;
  padding: 2px;
}

.collateral-carousel .slick-dots li button:before {
  color: #fff;
  font-size: 7px;
  opacity: .42;
  text-shadow: 0 1px 3px rgba(0,0,0,.35);
}

.collateral-carousel .slick-dots li.slick-active button:before {
  color: #fff;
  opacity: .76;
}

.collateral-controls {
  position: absolute;
  left: 10px;
  right: 10px;
  bottom: 9px;
  display: grid;
  grid-template-columns: 28px 1fr 28px;
  align-items: center;
  gap: 8px;
  pointer-events: none;
}

.collateral-control {
  width: 28px;
  height: 28px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(255,255,255,.72);
  color: #5f5c57;
  font: inherit;
  font-size: 18px;
  line-height: 1;
  opacity: .62;
  cursor: pointer;
  pointer-events: auto;
}

.collateral-control-status {
  justify-self: center;
  padding: 3px 7px;
  border-radius: 999px;
  background: rgba(37,35,33,.42);
  color: rgba(255,255,255,.82);
  font-size: .64rem;
  font-weight: 700;
}

.highlight-card { background: #faf7fb; border-color: #e6dbea; }
.highlight-card p { margin: 8px 0 0; font-size: .84rem; color: #463b49; }

.eyebrow {
  display: block;
  color: var(--muted);
  text-transform: uppercase;
  font-size: .63rem;
  letter-spacing: .11em;
  font-weight: 800;
}

.availability-card {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  padding: 19px;
  background: var(--green-soft);
  border-color: #cae5d6;
}

.availability-dot {
  width: 11px;
  height: 11px;
  margin-top: 4px;
  border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 0 5px rgba(36,118,79,.1);
}

.availability-card h2 {
  margin: 5px 0 6px;
  color: #155c3b;
  font-size: 1.22rem;
}

.availability-card p { margin: 0; color: #406351; font-size: .76rem; }

.cta-stack { display: grid; gap: 9px; }
.cta {
  min-height: 48px;
  border-radius: 13px;
  display: grid;
  place-items: center;
  text-decoration: none;
  font-size: .78rem;
  letter-spacing: .06em;
  font-weight: 850;
  transition: transform .15s ease, box-shadow .15s ease;
}
.cta:hover { transform: translateY(-1px); }
.cta.primary { background: var(--purple); color: white; box-shadow: 0 9px 18px rgba(92,53,106,.18); }
.cta.secondary { border: 1px solid #cabdce; color: var(--purple-dark); background: var(--surface); }
.listing-footer {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  margin-top: 28px;
  padding: 16px 2px 0;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: .68rem;
}

.toast {
  position: fixed;
  left: 50%;
  bottom: 22px;
  transform: translateX(-50%);
  width: min(420px, calc(100% - 32px));
  padding: 12px 15px;
  border-radius: 13px;
  background: #262222;
  color: white;
  box-shadow: 0 12px 30px rgba(0,0,0,.2);
  text-align: center;
  font-size: .8rem;
  z-index: 50;
}

.error-card h1 { font-size: 1.55rem; letter-spacing: -.03em; margin-bottom: 10px; }
.error-card p { color: var(--muted); margin-bottom: 0; }

@media (max-width: 930px) {
  .desktop-grid { grid-template-columns: minmax(0, 1.25fr) minmax(250px, .75fr); }
  .action-column { grid-column: 1 / -1; grid-template-columns: 1fr 1fr; }
  .action-column .cta-note { grid-column: 2; }
}

@media (max-width: 680px) {
  .utility-bar { min-height: 48px; }
  .platform-mark { width: min(100% - 24px, 1180px); }
  .platform-mark small { display: none; }
  .page-shell { width: min(100% - 24px, 1180px); padding: 18px 0 34px; }
  .breadcrumb { font-size: .72rem; margin-bottom: 9px; }
  .property-banner { width: 100%; min-width: 0; padding: 9px 11px; }
  .property-thumb { width: 42px; height: 42px; }
  .listing-heading { padding: 20px 1px 17px; }
  h1 { font-size: 2.14rem; }
  .room-summary { font-size: .91rem; }
  .desktop-grid { display: grid; grid-template-columns: 1fr; gap: 13px; }
  .gallery-column, .details-column, .action-column { min-width: 0; }
  .gallery-stage { border-radius: 17px; aspect-ratio: 1.06 / 1; }
  .gallery-thumbs { display: none; }
  .phase0-photo-note { font-size: .66rem; }
  .details-column { gap: 10px; }
  .content-card, .highlight-card, .availability-card { border-radius: 17px; padding: 16px; }
  .collateral-card { border-radius: 17px; }
  .collateral-carousel .slick-prev,
  .collateral-carousel .slick-next {
    width: 28px;
    height: 28px;
    opacity: .48;
  }
  .collateral-carousel .slick-prev { left: 7px; }
  .collateral-carousel .slick-next { right: 7px; }
  .collateral-carousel .slick-dots { bottom: 5px; }
  .collateral-control {
    width: 28px;
    height: 28px;
    opacity: .54;
  }
  .icon-features { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .icon-feature { min-height: 62px; }
  .action-column { grid-template-columns: 1fr; gap: 10px; }
  .action-column .cta-note { grid-column: auto; }
  .cta { min-height: 50px; }
  .listing-footer { flex-direction: column; gap: 4px; margin-top: 22px; }
}

@media (max-width: 390px) {
  .icon-features { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
  .collateral-carousel .slick-track { transition: none !important; }
}


/* RENTDAVAO-P1C-P6 — public listing Slick gallery */
.gallery-main{width:100%;height:100%}
.gallery-main:not(.slick-initialized){height:100%}
.gallery-main .slick-list,.gallery-main .slick-track,.gallery-main .slick-slide,.gallery-main .slick-slide>div{height:100%}
.gallery-slide{width:100%;height:100%;background:#e9e4df}
.gallery-slide img{width:100%;height:100%;display:block;object-fit:cover}
.gallery-empty{height:100%;display:grid;place-items:center;color:var(--muted);font-size:.78rem;background:#eee9e3}
.gallery-main .slick-prev,.gallery-main .slick-next{z-index:4;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.9);box-shadow:0 4px 14px rgba(0,0,0,.13)}
.gallery-main .slick-prev{left:12px}.gallery-main .slick-next{right:12px}
.gallery-main .slick-prev:before,.gallery-main .slick-next:before{color:#292424;font-size:22px;opacity:1}
.gallery-main .slick-dots{bottom:11px;z-index:5}
.gallery-main .slick-dots li button:before{color:#fff;opacity:.65;text-shadow:0 1px 4px rgba(0,0,0,.5)}
.gallery-main .slick-dots li.slick-active button:before{color:#fff;opacity:1}
.gallery-thumbs.slick-initialized{display:block;margin-top:8px}
.gallery-thumbs .slick-list{margin:0 -4px}
.gallery-thumbs .slick-slide{padding:0 4px}
.gallery-thumbs .gallery-thumb{display:block}
.gallery-thumbs .slick-current .gallery-thumb{border-color:var(--purple)}

@media (max-width:680px){
  .gallery-thumbs{display:none!important}
}


/* RD-AUTH-HF3 — public Landing Page root */
.landing-page{
  --landing-bg:#f3f4ef;
  --landing-surface:#fcfcfa;
  --landing-surface2:#eef0e8;
  --landing-text:#222520;
  --landing-muted:#6f7468;
  --landing-line:#d8dccf;
  --landing-accent:#c7cab6;
  --landing-accent-dark:#868c79;
  --landing-shadow:0 14px 30px rgba(47,54,44,.06);
  --landing-radius:11px;
  background:var(--landing-bg);
  color:var(--landing-text);
  min-height:100vh;
}
.landing-shell{width:min(calc(100% - 32px),1180px);margin:0 auto}
.landing-site-header{border-bottom:1px solid rgba(216,220,207,.88);background:rgba(243,244,239,.94)}
.landing-topbar{height:72px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.landing-brand{display:flex;align-items:center;gap:12px}
.landing-brand-mark{width:38px;height:38px;border-radius:8px;background:var(--landing-accent);display:grid;place-items:center;color:#465043;font-weight:800}
.landing-brand-title{font-weight:800}
.landing-brand-sub,.landing-utility{font-size:12px;color:var(--landing-muted)}
.landing-main{padding:28px 0 56px}
.landing-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:22px;align-items:stretch;margin-bottom:28px}
.landing-hero-copy{background:var(--landing-surface);border:1px solid var(--landing-line);border-radius:14px;padding:34px;box-shadow:var(--landing-shadow);display:flex;flex-direction:column;justify-content:center}
.landing-eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:12px;color:var(--landing-accent-dark);font-weight:800;margin-bottom:12px}
.landing-hero h1{margin:0;font-size:clamp(38px,7vw,70px);line-height:.95;letter-spacing:-.055em;max-width:720px}
.landing-hero-copy>p{margin:20px 0 0;max-width:660px;color:var(--landing-muted);font-size:17px}
.landing-hero-actions{margin-top:26px;display:flex;flex-wrap:wrap;gap:10px}
.landing-btn{border:0;border-radius:999px;padding:12px 18px;font-weight:750;cursor:pointer}
.landing-btn-primary{background:var(--landing-accent);color:#3f473a}
.landing-btn-secondary{background:var(--landing-surface2);color:#4a5143;border:1px solid var(--landing-line)}
.landing-hero-visual{min-height:420px;border-radius:14px;overflow:hidden;position:relative;background:linear-gradient(to top,rgba(72,78,67,.36),rgba(72,78,67,0) 62%),linear-gradient(145deg,#eef0e8 0%,#d9ddcf 42%,#b4baa5 100%);background-size:cover;background-position:center;box-shadow:var(--landing-shadow);border:1px solid var(--landing-line)}
.landing-building{position:absolute;left:10%;right:10%;bottom:0;height:74%;background:#e6e8de;border-radius:10px 10px 0 0}
.landing-hero-visual.has-image .landing-building{display:none}
.landing-hero-caption{position:absolute;left:24px;right:24px;bottom:22px;color:#fff;display:flex;align-items:flex-end;justify-content:space-between;gap:16px;z-index:2;text-shadow:0 1px 3px rgba(0,0,0,.3)}
.landing-hero-caption strong{display:block;font-size:22px}
.landing-hero-caption span{font-size:13px}
.landing-section-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:8px 0 18px}
.landing-section-head h2{margin:0;font-size:32px;letter-spacing:-.04em}
.landing-filter{display:flex;gap:8px;background:var(--landing-surface);border:1px solid var(--landing-line);border-radius:999px;padding:5px}
.landing-filter button{border:0;background:transparent;border-radius:999px;padding:9px 13px;color:var(--landing-muted);font-weight:700;font-size:13px;cursor:pointer}
.landing-filter button.active{background:var(--landing-accent);color:#465043}
.landing-rooms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.landing-room-card{background:var(--landing-surface);border:1px solid var(--landing-line);border-radius:var(--landing-radius);overflow:hidden;box-shadow:0 8px 20px rgba(47,54,44,.05)}
.landing-room-photo{aspect-ratio:4/3;position:relative;overflow:hidden;background:#f7f7f7;background-size:cover;background-position:center}
.landing-room-photo.no-image::after{content:"No photo";position:absolute;inset:0;display:grid;place-items:center;color:#9a9e94;font-size:12px;font-weight:750}
.landing-room-status{position:absolute;top:14px;left:14px;color:#fff;font-size:12px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;text-shadow:0 1px 2px rgba(0,0,0,.35);z-index:2}
.landing-room-photo.no-image .landing-room-status{color:#596050;text-shadow:none}
.landing-room-body{padding:18px}
.landing-room-title-row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.landing-room-title{font-size:21px;font-weight:850;letter-spacing:-.03em}
.landing-room-type{color:var(--landing-muted);font-size:13px;margin-top:2px}
.landing-room-price{text-align:right;font-weight:850;white-space:nowrap;font-size:18px}
.landing-room-price.missing{color:#8d6a47;font-size:13px}
.landing-room-price small{display:block;color:var(--landing-muted);font-weight:600;font-size:11px}
.landing-room-price .landing-room-occupancy{margin-top:2px;font-size:10px;font-weight:650;letter-spacing:.01em}
.landing-room-footer{display:flex;justify-content:flex-end;margin-top:18px;padding-top:14px;border-top:1px solid var(--landing-line)}
.landing-room-jump{width:34px;height:34px;border-radius:50%;background:var(--landing-accent);color:#465043;display:grid;place-items:center;font-size:18px;text-decoration:none}
.landing-room-jump.disabled{opacity:.38;cursor:not-allowed}
.landing-rooms-empty{grid-column:1/-1;padding:32px;border:1px dashed var(--landing-line);border-radius:var(--landing-radius);text-align:center;color:var(--landing-muted);background:var(--landing-surface)}
.landing-property-collateral{
  position:relative;
  margin-top:34px;
  overflow:hidden;
  border:1px solid var(--landing-line);
  border-radius:var(--landing-radius);
  background:var(--landing-surface);
}
.landing-property-collateral[hidden]{display:none!important}
.landing-property-collateral-carousel{width:100%;min-width:0}
.landing-property-collateral-slide{
  width:100%;
  aspect-ratio:16/9;
  overflow:hidden;
  background:#fff;
}
.landing-property-collateral-slide img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  user-select:none;
  pointer-events:none;
}
.landing-property-collateral-carousel .slick-prev,
.landing-property-collateral-carousel .slick-next{
  z-index:4;
  width:30px;
  height:30px;
  border-radius:50%;
  background:rgba(255,255,255,.72);
  opacity:.56;
}
.landing-property-collateral-carousel .slick-prev{left:10px}
.landing-property-collateral-carousel .slick-next{right:10px}
.landing-property-collateral-carousel .slick-prev:before,
.landing-property-collateral-carousel .slick-next:before{
  color:#5f5c57;
  font-size:18px;
  opacity:.72;
}
.landing-property-collateral-carousel.slick-dotted.slick-slider{
  margin-bottom:0;
}
.landing-property-collateral-carousel .slick-dots{
  bottom:7px;
  z-index:5;
}
.landing-property-collateral-carousel .slick-dots li button:before{
  color:#fff;
  opacity:.42;
  text-shadow:0 1px 3px rgba(0,0,0,.35);
}
.landing-property-collateral-carousel .slick-dots li.slick-active button:before{
  color:#fff;
  opacity:.76;
}
.landing-property-collateral-controls{
  position:absolute;
  left:10px;
  right:10px;
  bottom:9px;
  display:grid;
  grid-template-columns:28px 1fr 28px;
  align-items:center;
  gap:8px;
  pointer-events:none;
}
.landing-property-collateral-control{
  width:28px;
  height:28px;
  padding:0;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.72);
  color:#5f5c57;
  font:inherit;
  font-size:18px;
  line-height:1;
  opacity:.62;
  cursor:pointer;
  pointer-events:auto;
}
.landing-property-collateral-status{
  justify-self:center;
  padding:3px 7px;
  border-radius:999px;
  background:rgba(37,35,33,.42);
  color:rgba(255,255,255,.82);
  font-size:.64rem;
  font-weight:700;
}
.landing-supporting{margin-top:34px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.landing-support-card{background:var(--landing-surface);border:1px dashed #d4d8ca;border-radius:var(--landing-radius);padding:24px}
.landing-support-card h3{margin:0 0 8px;font-size:20px}
.landing-support-card p{margin:0;color:var(--landing-muted);font-size:14px}
.landing-footer{margin-top:48px;border-top:1px solid var(--landing-line);padding:26px 0 36px;color:var(--landing-muted);font-size:12px}
.landing-footer-row{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.landing-powered{font-weight:700;color:#4a5143}
@media(max-width:900px){
  .landing-hero{grid-template-columns:1fr}
  .landing-hero-visual{min-height:300px}
  .landing-rooms{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .landing-shell{width:min(calc(100% - 22px),1180px)}
  .landing-hero-copy{padding:24px;border-radius:11px}
  .landing-hero h1{font-size:46px}
  .landing-hero-copy>p{font-size:15px}
  .landing-hero-visual{min-height:250px;border-radius:11px}
  .landing-section-head{align-items:flex-start;flex-direction:column}
  .landing-filter{width:100%;overflow:auto}
  .landing-filter button{flex:1;white-space:nowrap}
  .landing-rooms{grid-template-columns:1fr}
  .landing-property-collateral{
    border-radius:11px;
  }
  .landing-property-collateral-carousel .slick-prev,
  .landing-property-collateral-carousel .slick-next{
    width:28px;
    height:28px;
    opacity:.48;
  }
  .landing-supporting{grid-template-columns:1fr}
}


/* INT-P1 — forward-only INTERESTED qualification shell */
.interested-page {
  width: min(720px, 100%);
  max-width: 100%;
  min-width: 0;
  margin: 0 auto;
  padding: 18px 0 42px;
  overflow-wrap: anywhere;
}

.interested-shell {
  display: grid;
  gap: 18px;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.interested-eyebrow {
  color: var(--muted);
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.interested-shell h1 {
  max-width: 620px;
  font-size: clamp(1.85rem, 5vw, 2.7rem);
  line-height: 1.05;
}

.interested-step-host {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.interested-step-host > * {
  max-width: 100%;
}

.interested-flow-actions {
  display: flex;
  justify-content: flex-start;
  min-height: 44px;
}

.interested-start-over,
.interested-back-home {
  min-height: 44px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--purple-dark);
  font: inherit;
  font-size: .82rem;
  font-weight: 750;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}

.interested-start-over:focus-visible,
.interested-back-home:focus-visible {
  outline: 3px solid rgba(92,53,106,.25);
  outline-offset: 4px;
  border-radius: 4px;
}

@media (max-width: 680px) {
  .interested-page {
    padding: 10px 0 30px;
  }

  .interested-shell {
    gap: 15px;
  }

  .interested-shell h1 {
    font-size: clamp(1.75rem, 9vw, 2.25rem);
  }
}


/* INT-P1H — 320–390 px containment */
@media (max-width: 390px) {
  .interested-page,
  .interested-shell,
  .interested-step-host,
  .interested-flow-actions {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .interested-shell h1 {
    overflow-wrap: anywhere;
  }
}


/* INT-P2 — Step 1 hard filters */
.interested-step-prompt {
  margin: 0;
  color: #4e4945;
  font-size: .94rem;
  line-height: 1.45;
}

.interested-step1-form,
.interested-incompatibility {
  display: grid;
  gap: 18px;
  width: 100%;
  min-width: 0;
}

.interested-choice-list {
  display: grid;
  gap: 9px;
}

.interested-choice {
  min-height: 52px;
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-width: 0;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: var(--surface);
  cursor: pointer;
}

.interested-choice input {
  width: 20px;
  height: 20px;
  margin: 0;
  flex: 0 0 auto;
  accent-color: var(--purple);
}

.interested-choice span {
  min-width: 0;
  font-size: .92rem;
  font-weight: 650;
  overflow-wrap: anywhere;
}

.interested-primary-action {
  min-height: 50px;
  width: 100%;
  max-width: 420px;
  display: grid;
  place-items: center;
  padding: 12px 18px;
  border: 0;
  border-radius: 13px;
  background: var(--purple);
  color: #fff;
  font: inherit;
  font-size: .8rem;
  font-weight: 850;
  letter-spacing: .055em;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
}

.interested-primary-action:focus-visible,
.interested-choice:focus-within {
  outline: 3px solid rgba(92,53,106,.25);
  outline-offset: 3px;
}

.interested-incompatibility-list {
  display: grid;
  gap: 8px;
  padding: 15px 16px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: var(--surface);
}

.interested-incompatibility-list p {
  margin: 0;
  color: #4e4945;
  font-size: .92rem;
}

.interested-return-property {
  letter-spacing: 0;
  text-transform: none;
}

@media (max-width: 390px) {
  .interested-choice,
  .interested-primary-action,
  .interested-incompatibility-list {
    max-width: 100%;
  }
}


/* INT-P3 — Step 2 occupancy qualification */
.interested-step2-form {
  display: grid;
  gap: 18px;
  width: 100%;
  min-width: 0;
}

.interested-question {
  display: grid;
  gap: 9px;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.interested-question legend {
  margin: 0 0 2px;
  padding: 0;
  color: var(--ink);
  font-size: .86rem;
  font-weight: 760;
}

.interested-choice-copy {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.interested-choice-main {
  display: block;
}

.interested-choice-note {
  display: block;
  color: var(--muted);
  font-size: .74rem;
  font-weight: 600;
  line-height: 1.3;
}

.interested-validation {
  margin: -4px 0 0;
  color: #8b3d2f;
  font-size: .8rem;
  font-weight: 650;
}

@media (max-width: 390px) {
  .interested-step2-form,
  .interested-question,
  .interested-choice-copy {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }
}


/* INT-P4 — Step 3 Regular / Lower Rent */
.interested-step3,
.interested-rent-card,
.interested-lower-rent-card {
  display: grid;
  gap: 16px;
  width: 100%;
  min-width: 0;
}

.interested-rent-card,
.interested-lower-rent-card {
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 15px;
  background: var(--surface);
}

.interested-rent-amount,
.interested-new-rate {
  font-size: clamp(1.35rem, 5vw, 1.85rem);
  line-height: 1.15;
  font-weight: 820;
  letter-spacing: -.025em;
}

.interested-rent-disclosure {
  margin: -3px 0 0;
  color: var(--muted);
  font-size: .82rem;
}

.interested-text-action {
  width: fit-content;
  min-height: 40px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--purple-dark);
  font: inherit;
  font-size: .82rem;
  font-weight: 760;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}

.interested-text-action:focus-visible {
  outline: 3px solid rgba(92,53,106,.25);
  outline-offset: 4px;
  border-radius: 4px;
}

.interested-lower-rent-card h2 {
  margin: 0;
  font-size: 1rem;
}

.interested-restriction-list {
  display: grid;
  gap: 7px;
  margin: 0;
  padding-left: 20px;
  color: #4e4945;
  font-size: .9rem;
}

.interested-lower-rent-ack {
  min-height: 50px;
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: #faf8f6;
  cursor: pointer;
}

.interested-lower-rent-ack input {
  width: 20px;
  height: 20px;
  margin: 0;
  flex: 0 0 auto;
  accent-color: var(--purple);
}

.interested-lower-rent-ack span {
  min-width: 0;
  font-size: .9rem;
  font-weight: 680;
}

.interested-lower-rent-ack:focus-within {
  outline: 3px solid rgba(92,53,106,.25);
  outline-offset: 3px;
}

.interested-new-rate {
  padding-top: 4px;
}

.interested-cancel {
  margin-top: -2px;
}

@media (max-width: 390px) {
  .interested-step3,
  .interested-rent-card,
  .interested-lower-rent-card,
  .interested-lower-rent-ack {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }
}


/* INT-P5 — Step 4 plan-aware fit */
.interested-step4,
.interested-fit-card {
  display: grid;
  gap: 15px;
  width: 100%;
  min-width: 0;
}

.interested-fit-card {
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 15px;
  background: var(--surface);
}

.interested-fit-card h2 {
  margin: 0;
  font-size: 1rem;
}

.interested-fit-statement,
.interested-fit-caption {
  margin: 0;
  color: #4e4945;
  font-size: .92rem;
  line-height: 1.45;
}

.interested-fit-caption {
  font-weight: 700;
}

.interested-fit-schedule {
  display: grid;
  gap: 4px;
  padding: 12px 14px;
  border-radius: 12px;
  background: #faf8f6;
}

.interested-fit-schedule p {
  margin: 0;
  color: #4e4945;
  font-size: .86rem;
  line-height: 1.4;
}

@media (max-width: 390px) {
  .interested-step4,
  .interested-fit-card,
  .interested-fit-schedule {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }
}


/* INT-P6 / INT-P7 — Timing, work, Messenger */
.interested-step5,
.interested-step5-form,
.interested-step6 {
  display: grid;
  gap: 16px;
  width: 100%;
  min-width: 0;
}

.interested-field {
  display: grid;
  gap: 7px;
  width: 100%;
  min-width: 0;
}

.interested-field > span {
  color: var(--ink);
  font-size: .84rem;
  font-weight: 740;
}

.interested-field input {
  width: 100%;
  min-width: 0;
  min-height: 50px;
  box-sizing: border-box;
  padding: 11px 12px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--surface);
  color: var(--ink);
  font: inherit;
  font-size: .92rem;
}

.interested-field input:focus-visible {
  outline: 3px solid rgba(92,53,106,.25);
  outline-offset: 3px;
}

.interested-messenger-reference-label {
  margin: 0;
  color: var(--ink);
  font-size: .84rem;
  font-weight: 740;
}

.interested-messenger-reference {
  display: block;
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  margin: 0;
  padding: 14px 15px;
  overflow-wrap: anywhere;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: #faf8f6;
  color: #4e4945;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.4;
  letter-spacing: .025em;
  text-align: center;
  user-select: text;
}

@media (max-width: 390px) {
  .interested-step5,
  .interested-step5-form,
  .interested-step6,
  .interested-field,
  .interested-messenger-reference {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }
}


/* INTERESTED qualification hotfix — auto-resolved answers */
.interested-question input:disabled {
  opacity: .75;
  cursor: default;
}

.interested-question:has(input:disabled) .interested-choice {
  cursor: default;
}
