:root { --homie-space-1: 4px; --homie-space-2: 8px; --homie-space-3: 12px; --homie-space-4: 16px; --homie-space-5: 24px; --homie-space-6: 32px; --homie-space-7: 40px; --homie-space-8: 48px; --homie-space-10: 64px; --homie-space-12: 80px; --homie-ink: #0a2437; --homie-ink-soft: #405563; --homie-muted: #6f7680; --homie-canvas: #f6f6fb; --homie-surface: #ffffff; --homie-surface-soft: #fafafe; --homie-line: #e1e3eb; --homie-gold: #c9a96e; --homie-gold-deep: #9a7439; --homie-radius-control: 12px; --homie-radius-card: 24px; --homie-radius-feature: 32px; --homie-shadow-1: 0 1px 2px rgba(10,36,55,.04),0 8px 24px rgba(10,36,55,.05); --homie-shadow-2: 0 2px 4px rgba(10,36,55,.04),0 20px 52px rgba(10,36,55,.09); --homie-shadow-3: 0 32px 90px rgba(10,36,55,.15); --homie-ease: cubic-bezier(.22,1,.36,1); --homie-fast: 160ms; --homie-standard: 280ms; --homie-content: 1400px; }
.premiumCollectionInsight { color: var(--homie-ink-soft); }
.marketEstimateFeature { display: grid; grid-template-columns: minmax(0px, 1fr) auto; gap: 7px 14px; margin: 20px 0px 4px; padding: 20px 0px; border-top: 1px solid var(--homie-line); border-bottom: 1px solid var(--homie-line); color: var(--homie-ink); }
.marketEstimateEyebrow { grid-column: 1 / -1; color: var(--homie-gold-deep); font-size: 10px; font-weight: 900; letter-spacing: 0.12em; line-height: 1.4; text-transform: uppercase; }
.marketEstimateValue { font-size: 30px; line-height: 1; font-weight: 900; letter-spacing: -0.045em; }
.marketEstimateConfidence { align-self: end; color: var(--homie-muted); font-size: 11px; font-weight: 750; white-space: nowrap; }
.marketEstimateFeature p { grid-column: 1 / -1; margin: 3px 0px 0px; color: var(--homie-ink-soft); font-size: 12px; line-height: 1.55; }
.marketEstimateWithheld { font-size: 18px; line-height: 1.2; }
.marketEstimateLoading { grid-column: 1 / -1; display: flex; align-items: center; gap: 6px; min-height: 30px; color: var(--homie-muted); font-size: 12px; }
.marketEstimateLoading i { width: 7px; height: 7px; border-radius: 50%; background: var(--homie-gold); animation: 1.15s ease-in-out 0s infinite normal none running marketEstimatePulse; }
.marketEstimateLoading i:nth-child(2) { animation-delay: 0.14s; }
.marketEstimateLoading i:nth-child(3) { animation-delay: 0.28s; }
.marketEstimateLoading span { margin-left: 7px; }
@keyframes marketEstimatePulse { 
  0%, 70%, 100% { opacity: 0.28; transform: translateY(0px); }
  35% { opacity: 1; transform: translateY(-3px); }
}
@media (max-width: 700px) {
  .marketEstimateFeature { margin-top: 18px; padding: 18px 0px; }
  .marketEstimateValue { font-size: 28px; }
  .marketEstimateFeature p { font-size: 13px; }
}
@media (min-width: 1081px) {
  html { scroll-padding-top: 96px; }
  body { background: radial-gradient(circle at 12% 8%,rgba(201,169,110,.045),transparent 24%),var(--homie-canvas) !important; color: var(--homie-ink) !important; }
  body::before { content: ""; position: fixed; inset: 0px; z-index: -1; pointer-events: none; background: linear-gradient(90deg, rgba(255, 255, 255, 0.28), transparent 18%, transparent 82%, rgba(255, 255, 255, 0.24)); }
  .wrap:has(#buyerApp:not(.hidden)) { max-width: var(--homie-content) !important; padding-inline: 32px !important; }
  :where(button, a, input, select, textarea, [role="tab"]):focus-visible { outline: rgba(201, 169, 110, 0.48) solid 3px !important; outline-offset: 3px !important; }
  .portalBrandHero { min-height: 236px !important; margin-top: -38px !important; margin-bottom: 56px !important; padding-block: 28px !important; background: linear-gradient(112deg, rgb(32, 40, 50) 0%, rgb(41, 49, 59) 58%, rgb(37, 44, 53) 100%) !important; box-shadow: rgba(10, 20, 30, 0.16) 0px 24px 70px !important; }
  .portalBrandHeroInner { max-width: var(--homie-content) !important; grid-template-columns: 470px minmax(0px, 1fr) !important; gap: 56px !important; }
  .portalHeaderAdvisor { grid-template-columns: 138px minmax(0px, 1fr) !important; gap: 24px !important; padding-right: 48px !important; }
  .headerAdvisorPortrait { width: 138px !important; height: 138px !important; padding: 4px !important; box-shadow: rgba(0, 0, 0, 0.2) 0px 16px 40px !important; }
  .headerAdvisorEyebrow { margin-bottom: 8px !important; font-size: 9px !important; letter-spacing: 0.22em !important; }
  .headerAdvisorIdentity h2 { font-size: 34px !important; letter-spacing: -0.045em !important; }
  .headerAdvisorRole { margin-top: 11px !important; font-size: 14px !important; }
  .headerAdvisorBrokerage { font-size: 13px !important; }
  .headerAdvisorContacts { gap: 18px !important; margin-top: 15px !important; padding-top: 14px !important; }
  .headerAdvisorContactLink { font-size: 12px !important; }
  .portalBrandHeroMark { gap: 24px !important; }
  .vfTeamLogo { width: min(30vw, 420px) !important; }
  .valeryLogo { width: min(18vw, 230px) !important; }
  .collaborationDivider { height: 104px !important; }
  .search-section-title { margin: 0px 0px 16px !important; }
  .search-section-title h2 { font-size: clamp(40px, 3.6vw, 52px) !important; line-height: 1 !important; letter-spacing: -0.055em !important; }
  #buyerApp > .toolbar { position: sticky !important; top: 16px !important; z-index: 30 !important; margin: 0px 0px 72px !important; padding: 8px !important; border: 1px solid rgba(10, 36, 55, 0.1) !important; border-radius: 18px !important; background: rgba(250, 250, 254, 0.86) !important; box-shadow: var(--homie-shadow-1) !important; backdrop-filter: blur(20px) saturate(1.15) !important; }
  #buyerApp > .toolbar .search { height: 54px !important; padding: 0px 20px !important; border: 0px !important; border-radius: 12px !important; background: rgb(255, 255, 255) !important; box-shadow: rgba(10, 36, 55, 0.08) 0px 0px 0px 1px inset !important; font-size: 15px !important; transition: box-shadow var(--homie-fast) ease !important; }
  #buyerApp > .toolbar .search:focus { outline: 0px !important; box-shadow: rgba(10, 36, 55, 0.46) 0px 0px 0px 2px inset, rgba(10, 36, 55, 0.07) 0px 8px 24px !important; }
  .listingSection { margin-bottom: 96px !important; }
  .listingSection + .listingSection { margin-top: 84px !important; }
  .listingSection > .section-title { align-items: end !important; margin-bottom: 30px !important; padding-bottom: 22px !important; border-bottom: 1px solid var(--homie-line) !important; }
  .listingSection > .section-title h2 { font-size: clamp(38px, 3.5vw, 50px) !important; letter-spacing: -0.055em !important; line-height: 1 !important; }
  .section-control-row { margin-top: 18px !important; }
  .section-view-controls { padding: 4px !important; border-radius: 14px !important; background: rgba(255, 255, 255, 0.76) !important; box-shadow: none !important; }
  .section-view-controls .tab { height: 40px !important; min-width: 88px !important; padding-inline: 16px !important; border-radius: 10px !important; font-size: 11px !important; letter-spacing: 0.08em !important; }
  .listingFilters { min-height: 48px !important; border-radius: 14px !important; background: rgba(255, 255, 255, 0.64) !important; }
  #newCount, #oldCount { font-size: 15px !important; letter-spacing: 0.11em !important; transform: none !important; }
  #newCount::before, #oldCount::before { width: 32px !important; height: 2px !important; }
  .premiumCollectionInsight { max-width: 720px; margin: 14px 0px 0px; font-size: 14px; line-height: 1.65; letter-spacing: -0.005em; }
  .sectionCards { display: grid !important; grid-template-columns: minmax(0px, 1fr) !important; gap: 32px !important; }
  .card.listing.editorialListing { position: relative !important; display: grid !important; grid-template-columns: minmax(300px, 0.92fr) minmax(230px, 0.58fr) minmax(420px, 1.08fr) !important; gap: 36px !important; align-items: center !important; min-height: 404px !important; padding: 32px !important; border: 1px solid rgba(10, 36, 55, 0.08) !important; border-radius: var(--homie-radius-feature) !important; background: rgba(255, 255, 255, 0.93) !important; box-shadow: var(--homie-shadow-1) !important; overflow: hidden !important; transform: none !important; transition: transform var(--homie-standard) var(--homie-ease),box-shadow var(--homie-standard) var(--homie-ease),border-color var(--homie-fast) ease !important; }
  .card.listing.editorialListing::before { content: ""; position: absolute; inset: 0px auto 0px 0px; width: 3px; background: linear-gradient(180deg,transparent,var(--homie-gold),transparent); opacity: 0; transition: opacity var(--homie-standard) ease; }
  .card.listing.editorialListing:hover { transform: translateY(-4px) !important; border-color: rgba(10, 36, 55, 0.14) !important; box-shadow: var(--homie-shadow-2) !important; }
  .card.listing.editorialListing:hover::before { opacity: 0.85; }
  .editorialListing .listingCopy { min-width: 0px !important; align-self: stretch !important; display: flex !important; flex-direction: column !important; justify-content: center !important; padding: 4px 0px !important; }
  .cardFavouriteRow { margin-bottom: 18px !important; }
  .cardSummaryFav { width: 48px !important; height: 48px !important; border-radius: 14px !important; box-shadow: none !important; }
  .cardSummaryFav svg { width: 21px !important; height: 21px !important; }
  .editorialListing .statusLine { margin-bottom: 12px !important; font-size: 10px !important; letter-spacing: 0.12em !important; }
  .listingCopy .conditionsLine, .listingCopy .openHouseLine, .priceChangeLine { margin-bottom: 14px !important; font-size: 9px !important; line-height: 1.35 !important; letter-spacing: 0.065em !important; }
  .editorialListing .listingCopy .addr { margin: 0px 0px 8px !important; font-size: clamp(31px, 2.7vw, 43px) !important; line-height: 0.98 !important; letter-spacing: -0.055em !important; word-spacing: 0.12em !important; }
  .listingSubline { font-size: 13px !important; line-height: 1.5 !important; }
  .listingBlurb { -webkit-line-clamp: 3; -webkit-box-orient: vertical; display: -webkit-box !important; overflow: hidden !important; max-width: 48ch !important; margin: 18px 0px 24px !important; color: var(--homie-muted) !important; font-size: 13px !important; line-height: 1.65 !important; }
  .editorialActions { margin-top: auto !important; }
  .editorialActions .btn, .editorialActions .statusCheckBtn { height: 48px !important; min-width: 136px !important; border-radius: 12px !important; font-size: 14px !important; box-shadow: none !important; }
  .editorialActions .btn:hover, .editorialActions .statusCheckBtn:hover { transform: translateY(-1px) !important; }
  .editorialListing .listingMetrics { align-self: center !important; min-width: 0px !important; transform: none !important; padding: 0px !important; }
  .listingPriceBlock { display: block !important; }
  .soldPriceLine { margin-top: 12px !important; }
  .editorialListing .editorialPrice { font-size: clamp(31px, 2.6vw, 42px) !important; letter-spacing: -0.055em !important; }
  .editorialListing .miniStats.iconMiniStats { margin-top: 24px !important; padding-top: 6px !important; border-top: 1px solid var(--homie-line) !important; }
  .editorialListing .miniStats.iconMiniStats > * { padding-block: 13px !important; border-bottom: 1px solid rgba(10, 36, 55, 0.07) !important; }
  .editorialListing .miniStats.iconMiniStats > :last-child { border-bottom: 0px !important; }
  .card.listing.editorialListing .listingMedia { min-width: 0px !important; transform: none !important; }
  .editorialListing .listingMedia .photo { height: 340px !important; min-height: 340px !important; border: 0px !important; border-radius: 24px !important; background: rgb(236, 236, 244) !important; box-shadow: rgba(10, 36, 55, 0.08) 0px 0px 0px 1px, rgba(10, 36, 55, 0.12) 0px 18px 44px !important; transition: box-shadow var(--homie-standard) ease !important; }
  .card.listing.editorialListing:hover .listingMedia .photo { box-shadow: rgba(10, 36, 55, 0.09) 0px 0px 0px 1px, rgba(10, 36, 55, 0.16) 0px 24px 58px !important; }
  .editorialListing .listingMedia .photo img.cardPhotoBase { transition: transform 700ms var(--homie-ease),opacity 300ms ease !important; }
  .card.listing.editorialListing:hover .listingMedia .photo img.cardPhotoBase { transform: scale(1.025) !important; }
  #listingApp.active { max-width: none !important; }
  #listingDetail { display: grid !important; grid-template-columns: minmax(0px, 1fr) 372px !important; column-gap: 48px !important; align-items: start !important; max-width: var(--homie-content) !important; margin: 0px auto !important; padding: 0px 32px 96px !important; }
  #listingDetail > .detailHero { display: contents !important; }
  .detailHero .detailPhoto { grid-area: 1 / 1 / auto / -1 !important; width: 100vw !important; height: clamp(620px, 70vh, 760px) !important; min-height: 620px !important; margin-left: calc(50% - 50vw) !important; margin-top: -73px !important; background: var(--homie-canvas) !important; }
  .detailHero .detailPhoto > img { width: min(72vw, 1120px) !important; filter: saturate(1.01) contrast(1.025) !important; }
  .detailHero .detailPanel { grid-area: 2 / 2 / span 8 !important; position: sticky !important; top: 24px !important; z-index: 8 !important; align-self: start !important; max-height: calc(-48px + 100vh) !important; margin: 32px 0px 0px !important; padding: 28px !important; border: 1px solid rgba(10, 36, 55, 0.09) !important; border-radius: var(--homie-radius-card) !important; background: rgba(255, 255, 255, 0.93) !important; box-shadow: var(--homie-shadow-2) !important; backdrop-filter: blur(20px) saturate(1.08) !important; overflow-y: auto !important; overscroll-behavior: contain !important; scrollbar-width: thin !important; }
  .detailHero .detailPanel .propertySummaryTitle { margin-bottom: 20px !important; }
  .detailHero .detailPanel .propertySummaryTitle h2 { font-size: 28px !important; letter-spacing: -0.04em !important; }
  .detailHero .detailPanel .facts.iconStats { grid-template-columns: 1fr 1fr !important; gap: 0px !important; margin: 0px !important; }
  .detailHero .detailPanel .facts.iconStats > * { min-width: 0px !important; padding: 15px 8px !important; border-top: 1px solid var(--homie-line) !important; }
  .detailHero .detailPanel .facts.iconStats > .sizeStat, .detailHero .detailPanel .facts.iconStats > .domDetailStat { grid-column: 1 / -1 !important; display: grid !important; grid-template-columns: 112px minmax(0px, 1fr) !important; align-items: center !important; gap: 12px !important; }
  .detailHero .detailPanel .facts.iconStats > .sizeStat > div, .detailHero .detailPanel .facts.iconStats > .domDetailStat > div { justify-self: end !important; min-width: 0px !important; }
  .detailHero .detailPanel .facts.iconStats > .sizeStat b, .detailHero .detailPanel .facts.iconStats > .domDetailStat b { font-size: 24px !important; white-space: nowrap !important; }
  .detailHero .detailPanel .marketEstimateFeature { margin: 17px 0px 0px !important; padding: 17px 0px !important; }
  .detailHero .detailPanel .marketEstimateValue { font-size: 28px !important; }
  .detailHero .detailPanel .marketEstimateFeature p { display: -webkit-box !important; -webkit-box-orient: vertical !important; -webkit-line-clamp: 3 !important; overflow: hidden !important; }
  .detailHero .detailPanel .listingDescriptionBlock { margin-top: 16px !important; }
  .detailHero .detailPanel .listingDescriptionBlock > summary { min-height: 48px !important; font-size: 13px !important; }
  .detailHero .detailPanel .listingDescriptionBlock .summary { max-height: 112px; overflow: auto; font-size: 12px !important; line-height: 1.6 !important; }
  #listingDetail > .onehomeTabs { grid-area: 2 / 1 !important; position: sticky !important; top: 16px !important; z-index: 7 !important; display: flex !important; align-items: center !important; gap: 26px !important; margin: 24px 0px 0px !important; padding: 16px 20px 12px !important; border: 1px solid rgba(10, 36, 55, 0.08) !important; border-radius: 16px !important; background: rgba(250, 250, 254, 0.9) !important; box-shadow: var(--homie-shadow-1) !important; backdrop-filter: blur(18px) !important; overflow-x: auto !important; }
  #listingDetail > .onehomeTabs > span { position: relative !important; flex: 0 0 auto !important; width: auto !important; min-width: 0px !important; min-height: 0px !important; padding: 6px 0px 12px !important; border: 0px !important; border-radius: 0px !important; background: transparent !important; color: var(--homie-muted) !important; font-size: 13px !important; line-height: 1 !important; font-weight: 850 !important; letter-spacing: 0.01em !important; white-space: nowrap !important; }
  #listingDetail > .onehomeTabs > span.active, #listingDetail > .onehomeTabs > span:hover { background: transparent !important; color: var(--homie-ink) !important; }
  #listingDetail > .onehomeTabs > span.active::after { content: "" !important; display: block !important; position: absolute !important; left: 0px !important; bottom: 0px !important; width: 28px !important; height: 2px !important; background: var(--homie-gold) !important; }
  #listingDetail > #photosSection { grid-area: 3 / 1 !important; margin-top: 56px !important; }
  #listingDetail > #propertyDetailsSection { grid-area: 4 / 1 !important; }
  #listingDetail > #schoolsSection { grid-area: 5 / 1 !important; }
  #listingDetail > #commuteSection { grid-area: 6 / 1 !important; }
  #listingDetail > .detailContentSection { min-width: 0px !important; }
  #listingDetail .section-title h2, #listingDetail .propertyDetailsTitle h2 { font-size: clamp(34px, 3.2vw, 46px) !important; line-height: 1 !important; letter-spacing: -0.05em !important; }
  .photoStage { height: clamp(480px, 58vw, 700px) !important; border-radius: var(--homie-radius-card) !important; overflow: hidden !important; box-shadow: var(--homie-shadow-2) !important; }
  .thumbStrip { gap: 10px !important; margin-top: 14px !important; }
  .thumbStrip img { width: 92px !important; height: 64px !important; border-radius: 10px !important; }
  .onehomeDetailsV2 .detailAccordion, .onehomeSchoolsSection #schoolsContent, .commuteMap, .roomDetailsSection .roomTableScroll { box-shadow: var(--homie-shadow-1) !important; }
  .floatingBackBtn { left: 24px !important; bottom: 24px !important; box-shadow: var(--homie-shadow-2) !important; }
}
@media (min-width: 1081px) and (max-width: 1240px) {
  .card.listing.editorialListing { grid-template-columns: minmax(280px, 0.9fr) minmax(205px, 0.54fr) minmax(360px, 1fr) !important; gap: 26px !important; padding: 28px !important; }
  .editorialListing .listingMedia .photo { height: 320px !important; min-height: 320px !important; }
  #listingDetail { grid-template-columns: minmax(0px, 1fr) 340px !important; column-gap: 32px !important; padding-inline: 24px !important; }
  .detailHero .detailPanel { padding: 24px !important; }
}
@media (prefers-reduced-motion: reduce) {
  *, ::before, ::after { scroll-behavior: auto !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
}
