/* Editorial panels replace the temporary illustrated motifs. */
.hero { background: var(--cream); }
.hero-art,
.interior-hero-art,
.market-hero-art,
.pm-hero-art {
  background: linear-gradient(145deg, #173f35 0%, #255448 100%);
  color: #fff;
}
.hero-art::after,
.interior-hero-art::before,
.interior-hero-art::after,
.market-hero-art::before,
.market-hero-art::after,
.pm-hero-art::after { display: none; }
.panel-mark {
  position: relative;
  z-index: 2;
  font-size: .66rem;
  font-weight: 700;
  letter-spacing: .18em;
  line-height: 1.4;
  text-transform: uppercase;
  color: #ddc69e;
}
.hero-art {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 3rem;
  padding: clamp(2rem, 5vw, 4.5rem);
  background-image: linear-gradient(90deg, rgba(10, 32, 27, .82), rgba(10, 32, 27, .61)), url('/assets/architectural-limestone-v1.webp');
  background-size: cover;
  background-position: center;
}
.hero-market-list { display: grid; align-content: center; flex: 1; }
.hero-market-list span {
  display: block;
  font-family: var(--serif);
  font-size: clamp(2.9rem, 5vw, 5.8rem);
  font-weight: 400;
  letter-spacing: -.045em;
  line-height: 1.03;
  overflow-wrap: break-word;
}
.hero-market-list span + span {
  border-top: 1px solid rgba(255,255,255,.25);
  margin-top: 1.25rem;
  padding-top: 1.25rem;
}
.location-note {
  position: static;
  display: block;
  border-top: 1px solid rgba(255,255,255,.25);
  padding-top: 1.2rem;
}
.location-note strong {
  display: block;
  max-width: 23ch;
  margin-top: .55rem;
  font-size: clamp(1.3rem, 2vw, 2rem);
  line-height: 1.15;
}
.interior-hero-art,
.market-hero-art,
.pm-hero-art {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: clamp(2rem, 5vw, 4.5rem);
}
.pm-hero-art {
  background-image: linear-gradient(90deg, rgba(10, 32, 27, .58), rgba(10, 32, 27, .35)), url('/assets/evergreen-walnut-v1.webp');
  background-size: cover;
  background-position: center;
}
.interior-hero-art.buyer-art {
  background-image: linear-gradient(180deg, rgba(10, 32, 27, .2), rgba(10, 32, 27, .74)), url('/assets/buyer-walkthrough-2026.jpg');
  background-size: cover;
  background-position: center;
}
.market-hero-art.grapevine-photo,
.market-hero-art.colleyville-photo,
.market-hero-art.southlake-photo {
  background-size: cover;
  background-position: center;
}
.market-hero-art.grapevine-photo {
  background-image: linear-gradient(180deg, rgba(10, 32, 27, .12), rgba(10, 32, 27, .78)), url('/assets/grapevine-home-2026.jpg');
}
.market-hero-art.colleyville-photo {
  background-image: linear-gradient(180deg, rgba(10, 32, 27, .12), rgba(10, 32, 27, .78)), url('/assets/colleyville-ranch-2026.jpg');
}
.market-hero-art.southlake-photo {
  background-image: linear-gradient(180deg, rgba(10, 32, 27, .12), rgba(10, 32, 27, .78)), url('/assets/southlake-home-2026.jpg');
}
.interior-hero-art.seller-art {
  background-image: linear-gradient(180deg, rgba(10, 32, 27, .27), rgba(10, 32, 27, .78)), url('/assets/seller-walnut-v1.webp');
  background-size: cover;
  background-position: center;
}
.interior-art-copy,
.market-art-copy,
.promise-stack {
  position: relative;
  inset: auto;
  width: 100%;
  margin-top: auto;
  border-top: 1px solid rgba(255,255,255,.28);
  padding-top: 1.4rem;
}
.interior-art-copy strong,
.market-art-copy strong { max-width: 15ch; line-height: 1.05; }
.pm-hero-art .promise-stack { left: auto; right: auto; bottom: auto; }
.pm-hero-art .promise-stack div { align-items: baseline; }
.agent-placeholder,
.agent-placeholder.alt {
  background: #e7e9e2;
  color: #235145;
  border: 1px solid rgba(21,63,53,.12);
}
.agent-placeholder span { font-size: clamp(3rem, 5vw, 4.7rem); letter-spacing: -.06em; }
.agent-placeholder svg { display: none; }
@media (max-width: 980px) {
  .hero-art { min-height: 480px; }
  .interior-hero-art,
  .market-hero-art,
  .pm-hero-art { min-height: 340px; }
}
@media (max-width: 650px) {
  .hero-art { min-height: 390px; }
  .hero-market-list span { font-size: clamp(2rem, 9vw, 3.6rem); }
  .interior-hero-art,
  .market-hero-art,
  .pm-hero-art { min-height: 310px; }
  .pm-hero-art .promise-stack div { display: block; }
  .pm-hero-art .promise-stack span { display: block; padding-top: .2rem; }
}

/* Make the homepage service choices unmistakably interactive. */
.pathways {
  display: block;
  padding: clamp(3.5rem, 6vw, 6rem) clamp(1.25rem, 6vw, 6.5rem);
  background: #eee9dd;
  color: var(--ink);
}
.pathways-intro { margin-bottom: 2rem; }
.pathways-intro .eyebrow { color: var(--brass); }
.pathways-intro h2 { max-width: 850px; margin: .45rem 0 .65rem; }
.pathways-intro p:last-child { max-width: 650px; color: var(--muted); }
.pathways-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.pathways-grid .pathway-card,
.pathways-grid .pathway-card:first-child {
  display: flex;
  flex-direction: column;
  min-height: 245px;
  padding: 1.6rem;
  border: 1px solid rgba(23, 63, 53, .2);
  border-radius: 2px;
  background: #fff;
  color: var(--ink);
  box-shadow: 0 10px 25px rgba(14, 41, 34, .055);
  text-decoration: none;
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.pathways-grid .pathway-card:hover {
  transform: translateY(-5px);
  border-color: var(--green);
  background: #fff;
  box-shadow: 0 18px 35px rgba(14, 41, 34, .12);
}
.pathways-grid .pathway-card:focus-visible { outline: 3px solid var(--brass); outline-offset: 3px; }
.pathways-grid .pathway-number {
  display: block;
  color: var(--brass);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .14em;
}
.pathways-grid .pathway-card strong {
  display: block;
  margin-top: 1rem;
  font-family: var(--serif);
  font-size: clamp(1.55rem, 2vw, 2rem);
  font-weight: 500;
  line-height: 1.1;
}
.pathways-grid .pathway-card small { display: block; margin-top: .7rem; color: var(--muted); font-size: .78rem; line-height: 1.5; }
.pathways-grid .pathway-action {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .8rem;
  width: 100%;
  margin-top: auto;
  padding-top: 1rem;
  border-top: 1px solid var(--line);
  color: var(--green);
  font-size: .76rem;
  font-weight: 700;
}
.pathways-grid .pathway-action span { display: inline-block; font-size: 1.1rem; line-height: 1; color: var(--green); transition: transform .2s ease; }
.pathways-grid .pathway-card:hover .pathway-action span { transform: translate(3px, -3px); }
.management-teaser {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, .75fr);
  gap: clamp(2rem, 8vw, 8rem);
  align-items: center;
  background: #fff;
  border-bottom: 1px solid var(--line);
}
.management-teaser h2 { max-width: 780px; }
.management-teaser-detail p { max-width: 540px; color: var(--muted); font-size: 1.08rem; line-height: 1.65; }
.management-teaser-detail .button { margin-top: 1.3rem; }
.management-teaser-detail .button span { margin-left: .65rem; }
@media (max-width: 1080px) { .pathways-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) { .management-teaser { grid-template-columns: 1fr; gap: 1.2rem; } }
@media (max-width: 650px) {
  .pathways-grid { grid-template-columns: 1fr; }
  .pathways-grid .pathway-card { min-height: 210px; }
  .management-teaser-detail .button { width: 100%; justify-content: center; }
}

/* Keep the mobile menu consistent across browsers and Willow pages. */
.menu-toggle {
  appearance: none;
  min-height: 44px;
  padding: .65rem 1rem;
  border: 1px solid rgba(21, 63, 53, .28);
  border-radius: 2px;
  background: var(--cream);
  color: var(--green);
  cursor: pointer;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .12em;
  line-height: 1;
  text-transform: uppercase;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
.menu-toggle:hover,
.menu-toggle[aria-expanded="true"] {
  background: var(--green);
  border-color: var(--green);
  color: var(--white);
}
.menu-toggle:focus-visible { outline: 3px solid var(--brass); outline-offset: 3px; }
