.featuredListing,
.searchOpportunity {
  padding: 96px 0;
}

.featuredListing {
  background: #f7f3e9;
}

.featureGrid,
.listingHeroGrid {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 56px;
  align-items: center;
}

.featureCopy h2,
.listingHero h1,
.listingSection h2,
.searchOpportunity h2 {
  font-family: Georgia, serif;
  font-weight: 400;
  letter-spacing: -.035em;
}

.featureCopy h2,
.searchOpportunity h2 {
  margin: 12px 0 20px;
  font-size: clamp(2.25rem, 4vw, 4rem);
  line-height: 1.04;
}

.featureCopy > p:not(.eyebrow),
.searchOpportunity .sectionLead {
  color: #55625d;
  max-width: 760px;
  font-size: 1.05rem;
}

.featureFacts,
.listingFacts {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1px;
  background: #d7d1c2;
  border: 1px solid #d7d1c2;
}

.featureFacts div,
.listingFacts div {
  background: #fffefa;
  padding: 23px;
}

.featureFacts span,
.listingFacts span,
.statusPill,
.listingKicker {
  display: block;
  color: #8a6328;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.featureFacts strong,
.listingFacts strong {
  display: block;
  margin-top: 5px;
  color: #17382f;
  font: 400 1.35rem Georgia, serif;
}

.featureActions,
.listingActions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  align-items: center;
  margin-top: 30px;
}

.textLink {
  color: #875f24;
  font-weight: 750;
}

.listingHero {
  color: #fff;
  background: #0b3028;
  padding: 74px 0 70px;
}

.listingHero .breadcrumbs,
.listingHero .breadcrumbs a,
.listingHero .breadcrumbs span {
  color: #c8d8d2;
}

.listingHero h1 {
  max-width: 830px;
  margin: 16px 0 24px;
  font-size: clamp(2.7rem, 5.2vw, 5.1rem);
  line-height: .98;
}

.listingHero .heroIntro {
  color: #d4e0dc;
  max-width: 780px;
}

.listingPrice {
  color: #f0cf91;
  margin: 26px 0 8px;
  font: 400 clamp(2.3rem, 5vw, 4.4rem) Georgia, serif;
}

.listingPriceNote {
  color: #b8ccc5;
  font-size: .82rem;
}

.listingGraphic {
  min-height: 460px;
  border: 1px solid #ffffff38;
  background:
    linear-gradient(135deg, #e5c17e1c, transparent 48%),
    linear-gradient(25deg, #1e5b4d, #09271f);
  padding: 34px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.listingGraphic b {
  max-width: 420px;
  color: #fff;
  font: 400 clamp(2.4rem, 5vw, 4.8rem)/.95 Georgia, serif;
}

.listingGraphic small {
  color: #c6d6d0;
  max-width: 400px;
}

.listingSummary {
  padding: 0 0 76px;
  margin-top: -1px;
  background: #0b3028;
}

.listingFacts {
  grid-template-columns: repeat(5, 1fr);
}

.listingFacts div {
  background: #153f35;
  border-top: 1px solid #ffffff1f;
}

.listingFacts span {
  color: #d8b979;
}

.listingFacts strong {
  color: #fff;
}

.listingMain {
  padding: 96px 0;
}

.listingLayout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 70px;
  align-items: start;
}

.listingSection {
  border-top: 1px solid #d9d3c6;
  padding: 40px 0;
}

.listingSection:first-child {
  border-top: 0;
  padding-top: 0;
}

.listingSection h2 {
  margin: 8px 0 18px;
  font-size: clamp(1.9rem, 3vw, 2.8rem);
}

.listingSection p + p {
  margin-top: 15px;
}

.amenityGrid,
.documentGrid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  margin-top: 24px;
}

.amenityGrid li,
.documentGrid div {
  background: #f4f1e8;
  padding: 14px 16px;
}

.listingSidebar {
  position: sticky;
  top: 106px;
  background: #f4f1e8;
  border: 1px solid #d8d1c2;
  padding: 28px;
}

.listingSidebar h2 {
  margin: 9px 0 14px;
  font: 400 2rem/1.08 Georgia, serif;
}

.listingSidebar ul {
  margin: 23px 0;
  padding: 0;
  list-style: none;
}

.listingSidebar li {
  border-top: 1px solid #d8d1c2;
  padding: 11px 0;
  font-size: .9rem;
}

.listingSidebar .button {
  width: 100%;
}

.sourceStatus {
  background: #fffefa;
  border-left: 4px solid #c6964e;
  padding: 22px 24px;
  margin: 24px 0;
}

.sourceStatus strong {
  display: block;
  margin-bottom: 5px;
}

.priceMethod {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  margin: 24px 0;
}

.priceMethod div {
  background: #0b3028;
  color: #fff;
  padding: 22px;
}

.priceMethod strong {
  color: #f0cf91;
  font: 400 1.65rem Georgia, serif;
  display: block;
}

.photoNotice {
  color: #52615b;
  background: #ebe6da;
  border: 1px dashed #b3a994;
  padding: 20px;
  margin-top: 24px;
}

.keywordTable td:first-child {
  font-weight: 750;
}

.sourceLine {
  color: #66736e;
  font-size: .78rem;
}

@media (max-width: 980px) {
  .featureGrid,
  .listingHeroGrid,
  .listingLayout {
    grid-template-columns: 1fr;
  }

  .listingGraphic {
    min-height: 340px;
  }

  .listingFacts {
    grid-template-columns: repeat(2, 1fr);
  }

  .listingSidebar {
    position: static;
  }
}

@media (max-width: 620px) {
  .featuredListing,
  .searchOpportunity,
  .listingMain {
    padding: 68px 0;
  }

  .featureFacts,
  .listingFacts,
  .amenityGrid,
  .documentGrid,
  .priceMethod {
    grid-template-columns: 1fr;
  }

  .listingHero {
    padding: 55px 0;
  }

  .listingGraphic {
    min-height: 290px;
  }
}

/* Authorized property catalog */
.catalogPropertyHero { padding: 68px 0 52px; background: #f4f0e7; }
.catalogHeroGrid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 54px; align-items: center; }
.catalogHeroGrid h1 { font: 400 clamp(2.4rem,5vw,4.9rem)/.98 Georgia,serif; margin: 18px 0; color:#10372f; }
.catalogHeroPhoto { margin:0; aspect-ratio:4/3; overflow:hidden; background:#d8d3c8; }
.catalogHeroPhoto img { width:100%; height:100%; object-fit:cover; display:block; }
.catalogPrice { font:400 2rem Georgia,serif; color:#10372f; margin:24px 0; }
.catalogChecked { margin-top:20px; color:#60706a; font-size:.82rem; }
.catalogFacts { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:#ccd2cd; border:1px solid #ccd2cd; margin-top:-1px; }
.catalogFacts div { background:#fff; padding:22px; }
.catalogFacts span { display:block; color:#68756f; font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; }
.catalogFacts strong { display:block; margin-top:7px; color:#163c33; }
.catalogGallery { padding:88px 0; }
.catalogGalleryGrid { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; margin-top:32px; }
.catalogPhoto { margin:0; aspect-ratio:4/3; overflow:hidden; background:#e6e1d7; }
.catalogPhotoMain { grid-column:1/-1; aspect-ratio:16/8; }
.catalogPhoto img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .4s ease; }
.catalogPhoto:hover img { transform:scale(1.015); }
.catalogBody { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:72px; padding:28px 0 96px; align-items:start; }
.catalogBody article>h2 { font:400 2rem/1.15 Georgia,serif; color:#153d34; margin:44px 0 16px; }
.catalogBody article>p { color:#495a54; line-height:1.75; }
.listingSource { border-left:4px solid #c89f5d; background:#f3efe7; padding:24px; margin:42px 0; }
.listingSource strong { color:#173d34; }
.listingSource a,.catalogEmail { color:#236556; font-weight:700; }
.catalogEmail { display:block; margin-top:16px; }
.propertyCatalog { padding:90px 0; }
.catalogIntro { max-width:760px; margin-bottom:38px; }
.catalogIntro h2 { font:400 2.7rem/1.08 Georgia,serif; color:#153d34; }
.propertyGrid { display:grid; grid-template-columns:repeat(2,1fr); gap:26px; }
.propertyCard { border:1px solid #d8d4ca; background:#fff; }
.propertyCard>a { color:inherit; text-decoration:none; display:block; }
.propertyCard img { width:100%; aspect-ratio:4/3; object-fit:cover; display:block; background:#e8e3d8; }
.propertyCard div { padding:26px; }
.propertyCard span { color:#67756f; font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; }
.propertyCard h2 { font:400 1.65rem/1.12 Georgia,serif; color:#143b32; margin:10px 0; }
.propertyCard p { color:#53625c; line-height:1.55; }
.propertyCard strong,.propertyCard small,.propertyCard b { display:block; }
.propertyCard strong { color:#163e34; font:400 1.35rem Georgia,serif; margin-top:18px; }
.propertyCard small { color:#68756f; margin-top:5px; }
.propertyCard b { color:#236556; margin-top:18px; }
@media(max-width:980px){.catalogHeroGrid,.catalogBody{grid-template-columns:1fr}.catalogFacts{grid-template-columns:repeat(2,1fr)}.catalogBody{gap:28px}.propertyGrid{grid-template-columns:1fr}}
@media(max-width:620px){.catalogPropertyHero{padding:46px 0}.catalogGallery{padding:58px 0}.catalogGalleryGrid{grid-template-columns:1fr}.catalogPhotoMain{grid-column:auto;aspect-ratio:4/3}.catalogFacts{grid-template-columns:1fr 1fr}.catalogFacts div{padding:16px}.catalogHeroGrid{gap:28px}}
