.estates-page { --estate-gold: #c8a779; background: #0b0c0e; }
.estates-header { position: absolute; inset: 0 0 auto; background: linear-gradient(180deg,rgba(5,6,7,.76),transparent); }
.estates-header .wordmark small { margin: 4px 0 0 10px; color: #aaa9a4; font: 500 8px/1 var(--sans); letter-spacing: .24em; }
.estates-hero { min-height: 720px; height: min(850px,calc(100svh - 0px)); position: relative; display: flex; align-items: center; padding: 105px clamp(24px,8vw,130px) 80px; overflow: hidden; isolation: isolate; background: #0b0c0e; }
.estates-hero-video,.estates-hero-shade,.estates-hero-grid { position: absolute; inset: 0; width: 100%; height: 100%; }
.estates-hero-video { z-index: -3; object-fit: cover; object-position: center 47%; opacity: .64; filter: saturate(.72); }
.estates-hero-shade { z-index: -2; background: linear-gradient(90deg,rgba(8,9,11,.98) 0%,rgba(8,9,11,.83) 36%,rgba(8,9,11,.24) 76%,rgba(8,9,11,.48) 100%),linear-gradient(0deg,#0b0c0e 0%,transparent 22%,rgba(8,9,11,.2) 100%); }
.estates-hero-grid { z-index: -1; opacity: .15; background-image: linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px); background-size: 90px 90px; mask-image: linear-gradient(90deg,black,transparent 85%); }
.estates-hero-copy { width: min(680px,70%); padding-top: 50px; }
.estates-eyebrow { display: flex; align-items: center; gap: 11px; color: #c1c0bd; font-size: 8px; letter-spacing: .2em; }
.eyebrow-divider { color: var(--estate-gold); margin: 0 2px; }
.estates-hero h1 { margin: 38px 0 23px; font: 500 clamp(62px,9vw,132px)/.91 var(--display); letter-spacing: -.085em; }
.estates-hero h1 em,.estates-intro h2 em,.estates-heading h2 em,.estates-outro h2 em { color: var(--estate-gold); font-family: var(--serif); font-weight: 400; letter-spacing: -.055em; }
.estates-hero-copy > p { max-width: 405px; color: #c1c2c5; font-size: 13px; line-height: 1.9; }
.estates-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 26px; margin-top: 33px; }
.estates-actions .button { min-width: 180px; justify-content: space-between; }
.estates-hero-foot { display: flex; gap: 28px; margin-top: 76px; color: #97999e; font-size: 7px; letter-spacing: .16em; }
.estates-hero-foot span:first-child { color: var(--estate-gold); }
.estates-hero-caption { position: absolute; right: clamp(24px,6vw,90px); bottom: 112px; display: flex; align-items: center; gap: 12px; color: #d1d0cc; font-size: 8px; letter-spacing: .13em; text-transform: uppercase; }
.estates-hero-caption span:first-child { color: var(--estate-gold); }
.estates-disclaimer { position: absolute; bottom: 22px; left: clamp(24px,6vw,100px); right: clamp(24px,6vw,100px); display: flex; align-items: center; gap: 9px; padding-top: 14px; border-top: 1px solid rgba(255,255,255,.14); color: #a3a4a8; font-size: 8px; letter-spacing: .04em; }
.estates-disclaimer .status-dot { flex: 0 0 5px; width: 5px; height: 5px; }
.estates-intro { display: grid; grid-template-columns: .36fr 1fr; gap: 40px; padding-top: 124px; padding-bottom: 140px; }
.estates-intro .section-kicker { align-self: start; padding-top: 10px; }
.estates-intro-copy { max-width: 880px; }
.estates-overline { margin-bottom: 21px; color: var(--estate-gold); font-size: 8px; letter-spacing: .18em; text-transform: uppercase; }
.estates-intro h2 { margin-bottom: 37px; font: 500 clamp(38px,5.2vw,72px)/1.08 var(--display); letter-spacing: -.07em; }
.estates-intro-bottom { display: flex; justify-content: space-between; align-items: end; gap: 35px; padding-top: 25px; border-top: 1px solid var(--line); }
.estates-intro-bottom p { max-width: 485px; margin: 0; color: #a2a4ab; font-size: 11px; line-height: 1.9; }
.estates-index { color: #777a82; font-size: 7px; letter-spacing: .17em; line-height: 1.8; text-align: right; }
.estates-selection { padding-top: 100px; padding-bottom: 125px; background: #101115; }
.estates-heading { align-items: end; margin-bottom: 40px; }
.estates-heading h2 { margin: 26px 0 0; font: 500 clamp(40px,5.5vw,76px)/1.02 var(--display); letter-spacing: -.07em; }
.estates-heading h2 em { display: inline-block; }
.estates-heading .section-heading-note { max-width: 220px; }
.estates-filters { display: flex; flex-wrap: wrap; gap: 8px; padding: 0 0 23px; margin-bottom: 17px; border-bottom: 1px solid var(--line); }
.estate-filter { display: flex; align-items: center; gap: 13px; padding: 10px 13px; border: 1px solid transparent; background: none; color: #8c8e96; font: inherit; font-size: 9px; cursor: pointer; transition: .2s ease; }
.estate-filter:hover,.estate-filter.is-active { border-color: rgba(200,167,121,.42); color: #eeeae4; background: rgba(200,167,121,.07); }
.estate-filter span { color: var(--estate-gold); font-size: 7px; }
.estates-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 27px 13px; align-items: stretch; }
.estate-card { display: flex; flex-direction: column; padding: 10px 10px 18px; min-width: 0; border: 1px solid rgba(243,241,237,.08); background: #15171c; transition: transform 220ms ease,border-color 220ms ease,background 220ms ease; }
.estate-card:hover { transform: translateY(-4px); border-color: rgba(200,167,121,.42); background: #191b21; }
.estate-card[hidden] { display: none; }
.estate-image-wrap { position: relative; height: 235px; overflow: hidden; background: #202229; }
.estate-card-feature .estate-image-wrap,.estate-card-wide .estate-image-wrap { height: 310px; }
.estate-image-wrap img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform 700ms cubic-bezier(.2,.75,.25,1); }
.estate-card:hover .estate-image-wrap img { transform: scale(1.045); }
.estate-number { position: absolute; left: 13px; top: 13px; color: #fff; text-shadow: 0 1px 12px #000; font-size: 8px; letter-spacing: .16em; }
.estate-open { position: absolute; right: 12px; top: 12px; width: 30px; height: 30px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.55); border-radius: 50%; color: #fff; background: rgba(10,11,13,.34); font-size: 13px; }
.estate-meta { display: flex; justify-content: space-between; gap: 8px; margin: 21px 2px 9px; color: var(--estate-gold); font-size: 7px; letter-spacing: .15em; }
.estate-card h3 { margin: 0 2px 9px; font: 500 21px/1.2 var(--display); letter-spacing: -.04em; }
.estate-card p { margin: 0 2px 18px; color: #a2a4aa; font-size: 10px; line-height: 1.8; }
.estate-source { display: flex; justify-content: space-between; align-items: center; margin: auto 2px 0; padding-top: 12px; border-top: 1px solid rgba(255,255,255,.1); color: #ddd9d1; font-size: 8px; letter-spacing: .06em; }
.estate-source span { color: var(--estate-gold); font-size: 14px; }
.estates-footnote { margin: 25px 0 0; color: #767982; font-size: 8px; line-height: 1.8; }
.estates-footnote span { color: var(--estate-gold); }
.estates-footnote a { color: #bdbdc1; text-decoration: underline; text-decoration-color: rgba(200,167,121,.45); text-underline-offset: 3px; }
.estates-footnote a:hover { color: var(--estate-gold); }
.estates-outro { display: flex; flex-direction: column; align-items: center; text-align: center; padding-top: 118px; padding-bottom: 115px; background: radial-gradient(ellipse at 50% 100%,rgba(200,167,121,.09),transparent 52%); }
.estates-outro .section-kicker { justify-content: center; }
.estates-outro h2 { margin: 32px 0 17px; font: 500 clamp(39px,6vw,79px)/1.05 var(--display); letter-spacing: -.075em; }
.estates-outro > p { max-width: 390px; color: #9fa1a8; font-size: 11px; line-height: 1.8; }
.estates-outro .button { margin-top: 14px; }
.estates-back { margin-top: 37px; color: #8f9198; font-size: 9px; transition: color .2s ease; }
.estates-back:hover { color: var(--estate-gold); }
.estates-page .site-footer { border-top: 1px solid var(--line); }
@media (max-width: 850px) {
  .estates-hero { min-height: 660px; }
  .estates-hero-copy { width: 80%; }
  .estates-intro { grid-template-columns: 1fr; gap: 28px; }
  .estates-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .estate-card-feature .estate-image-wrap,.estate-card-wide .estate-image-wrap { height: 260px; }
}
@media (max-width: 600px) {
  .estates-header .site-nav { background: rgba(12,13,16,.97); }
  .estates-hero { min-height: 710px; height: 100svh; max-height: 900px; padding: 115px 24px 85px; align-items: center; }
  .estates-hero-video { object-position: 57% center; opacity: .48; }
  .estates-hero-shade { background: linear-gradient(90deg,rgba(8,9,11,.92),rgba(8,9,11,.55)),linear-gradient(0deg,#0b0c0e 0%,transparent 48%); }
  .estates-hero-copy { width: 100%; padding: 38px 0 0; }
  .estates-eyebrow { font-size: 7px; gap: 8px; }
  .estates-hero h1 { margin: 35px 0 18px; font-size: clamp(57px,15vw,86px); }
  .estates-hero-copy > p { max-width: 330px; font-size: 11px; }
  .estates-actions { align-items: flex-start; flex-direction: column; gap: 19px; margin-top: 27px; }
  .estates-hero-foot { flex-direction: column; gap: 7px; margin-top: 52px; font-size: 6px; }
  .estates-hero-caption { right: 23px; bottom: 105px; font-size: 6px; }
  .estates-disclaimer { left: 23px; right: 23px; bottom: 16px; font-size: 7px; line-height: 1.6; }
  .estates-intro { padding-top: 83px; padding-bottom: 88px; }
  .estates-intro h2 { margin-bottom: 26px; font-size: clamp(38px,10vw,55px); }
  .estates-intro-bottom { gap: 18px; }
  .estates-intro-bottom p { font-size: 10px; }
  .estates-selection { padding-top: 77px; padding-bottom: 85px; }
  .estates-heading { align-items: start; gap: 18px; }
  .estates-heading h2 { font-size: 48px; }
  .estates-heading .section-heading-note { margin: 0; font-size: 9px; }
  .estates-filters { gap: 4px; }
  .estate-filter { padding: 9px 8px; font-size: 8px; gap: 6px; }
  .estates-grid { grid-template-columns: 1fr; gap: 13px; }
  .estate-card { padding: 8px 8px 15px; }
  .estate-image-wrap,.estate-card-feature .estate-image-wrap,.estate-card-wide .estate-image-wrap { height: 265px; }
  .estate-card h3 { font-size: 20px; }
  .estate-card p { font-size: 9px; }
  .estates-outro { padding-top: 88px; padding-bottom: 85px; }
  .estates-outro h2 { font-size: 43px; }
}
@media (prefers-reduced-motion: reduce) { .estate-card,.estate-image-wrap img { transition: none; } }
