/*! bundle 0.9.45 */

/* base */
/* ============================================================
   Park Realty Base Styles
   Reset, typography defaults, link styling, utility helpers.
   ============================================================ */

*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; padding: 0; }

html { scroll-behavior: smooth; }

/* Higher specificity to defeat Bricks default body styles */
html body,
html body.brx-body {
  font-family: var(--f-body);
  font-weight: 300;
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  background: var(--c-ink) !important;
  color: var(--c-cream) !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin: 0;
  overflow-x: hidden;
  overflow-x: clip;           /* modern; prevents any negative-margin bleeds from creating horizontal scroll */
}
html { overflow-x: hidden; overflow-x: clip; }

/* Bricks adds a brx-container around content — keep it transparent */
.brx-container,
.brxe-section {
  background: transparent;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--f-display);
  font-weight: 400;
  line-height: var(--lh-display);
  letter-spacing: var(--ls-display);
}

a {
  color: inherit;
  text-decoration: none;
  transition: color var(--t-fast);
}
a:hover { color: var(--c-orange-bright); }

em, .italic {
  font-style: italic;
  font-variation-settings: "SOFT" 100, "WONK" 1; /* Fraunces variable font */
}

img, svg, video { display: block; max-width: 100%; height: auto; }

button { font: inherit; cursor: pointer; }

/* ============================================================
   Utility / helper classes
   ============================================================ */

.pr-wrap {
  max-width: var(--wrap-max);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}

.pr-eyebrow {
  font-size: var(--fs-eyebrow);
  letter-spacing: var(--ls-eyebrow);
  text-transform: uppercase;
  color: var(--c-orange);
  font-weight: 500;
}

.pr-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;             /* WCAG / Lighthouse tap-target floor */
  padding: 12px 32px;
  border: 1px solid var(--c-orange);
  background: transparent;
  color: var(--c-orange);
  font-family: var(--f-body);
  font-size: 11px;
  line-height: 1.3;
  letter-spacing: .24em;
  text-transform: uppercase;
  font-weight: 500;
  text-decoration: none;
  transition: all var(--t-fast);
  cursor: pointer;
}
.pr-btn:focus-visible {
  outline: 3px solid var(--c-orange);
  outline-offset: 2px;
}
.pr-btn:hover {
  background: var(--c-orange);
  color: var(--c-ink);
}
.pr-btn--solid {
  background: var(--c-orange);
  color: var(--c-ink);
}
.pr-btn--solid:hover {
  background: var(--c-orange-bright);
  border-color: var(--c-orange-bright);
}
.pr-btn--on-cream {
  border-color: var(--c-ink);
  color: var(--c-ink);
}
.pr-btn--on-cream:hover {
  background: var(--c-ink);
  color: var(--c-cream);
}

/* Section vertical rhythm */
.pr-section {
  padding-top: var(--s-3xl);
  padding-bottom: var(--s-3xl);
}
.pr-section--tight {
  padding-top: var(--s-xl);
  padding-bottom: var(--s-xl);
}

/* ============================================================
   Hide WP admin bar artifacts on customizer/preview
   ============================================================ */
html[lang][class*="customize"] body { overflow: hidden; }

/* ============================================================
   Accessibility + Tap Target safety net
   ============================================================ */

/* Skip-to-content link (rendered by header.php) */
.pr-skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 999;
  background: var(--c-orange);
  color: var(--c-ink);
  padding: 12px 18px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  text-decoration: none;
}
.pr-skip-link:focus { left: 12px; top: 12px; outline: 3px solid var(--c-cream); }

/* Screen-reader-only utility */
.sr-only {
  position: absolute !important;
  width: 1px !important; height: 1px !important;
  padding: 0 !important; margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Default focus ring on all interactive elements that don't set their own */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
  outline: 3px solid var(--c-orange);
  outline-offset: 2px;
}

/* Larger tap targets for native inputs */
input[type=text],
input[type=email],
input[type=tel],
input[type=number],
input[type=search],
input[type=url],
select,
textarea {
  min-height: 44px;
}
input[type=checkbox],
input[type=radio] {
  min-width: 20px;
  min-height: 20px;
}

/* Touch-action hint for buttons / links inside scrolling regions */
button, [role="button"], .pr-btn, .pr-filter { touch-action: manipulation; }

/* ============================================================
   GLOBAL RESPONSIVE SAFETY NET — applies to all pages.
   Catches grid patterns regardless of which CSS file defines them.
   ============================================================ */

/* iPad portrait + small laptop */
@media (max-width: 1024px) {
  .pr-hero__frame,
  .pr-listings__head,
  .pr-neigh-lead__inner,
  .pr-about-hero__inner,
  .pr-newsletter__inner,
  .pr-journal-lead__card,
  .pr-contact-hero__inner,
  .pr-cma-hero__inner,
  .pr-team-hero__inner {
    grid-template-columns: 1fr !important;
    gap: 28px;
  }
}

/* Tablet — 3-up grids → 2-up
   (homepage listings + neighborhood grids handled specially below — they
   become horizontal scroll carousels on phone to cut scroll length.) */
@media (max-width: 900px) {
  .pr-journeys__grid,
  .pr-journal-grid,
  .pr-about-beliefs__grid,
  .pr-404__paths,
  .pr-promises,
  .pr-cover {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* Phone — everything 1-up + tighter padding */
@media (max-width: 600px) {
  .pr-journeys__grid,
  .pr-journal-grid,
  .pr-about-beliefs__grid,
  .pr-404__paths,
  .pr-promises,
  .pr-cover,
  .pr-about-partners__grid,
  .pr-about-story__cols,
  .pr-partners__grid {
    grid-template-columns: 1fr !important;
  }

  /* Hero stats strips */
  .pr-about-hero__stats,
  .pr-team-hero__stats,
  .pr-journal-hero__stats,
  .pr-neigh-hero__stats {
    grid-template-columns: 1fr 1fr !important;
    border-left: 0 !important;
    border-top: 1px solid var(--c-rule);
    padding: 24px 0 0 !important;
  }

  /* Buttons full-width on phone for easier taps */
  .pr-hero__actions .pr-btn,
  .pr-about-hero__actions .pr-btn,
  .pr-journeys .pr-btn,
  .pr-about-cta__actions .pr-btn,
  .pr-newsletter__form button {
    width: 100%;
    justify-content: center;
  }

  /* Tap target generosity */
  .pr-btn { padding: 14px 24px; }
  .pr-filter { padding: 14px 16px; }
}

/* Very small (iPhone SE) */
@media (max-width: 380px) {
  .pr-utility .left { display: none; }
  .pr-about-hero__stats,
  .pr-team-hero__stats,
  .pr-journal-hero__stats { grid-template-columns: 1fr !important; }
}

/* ============================================================
   MOBILE COMPRESSION — horizontal scroll carousels
   Long vertical grids on the homepage become side-swipe rails
   on phone (≤768px) so first-load scroll is much shorter.
   ============================================================ */
@media (max-width: 768px) {

  /* HOMEPAGE LISTINGS — was 9 cards stacked. Becomes a snap carousel. */
  .pr-listings .pr-listings__grid {
    display: flex !important;
    grid-template-columns: none !important;
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    gap: 14px;
    margin: 0 calc(var(--gutter) * -1);
    padding: 4px var(--gutter) 14px;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }
  .pr-listings .pr-listings__grid::-webkit-scrollbar { display: none; }
  .pr-listings .pr-listings__grid > .pr-card {
    flex: 0 0 84vw;
    max-width: 340px;
    scroll-snap-align: start;
  }
  .pr-listings .pr-listings__grid > .pr-card:first-child { margin-left: 0; }
  /* Soft gradient hints (left/right) so users see "scrollable" without dots */
  .pr-listings { position: relative; }
  .pr-listings::after {
    content: "";
    position: absolute; right: 0; top: 0; bottom: 0;
    width: 28px;
    background: linear-gradient(90deg, transparent, var(--c-ink));
    pointer-events: none;
    z-index: 2;
  }

  /* HOMEPAGE NEIGHBORHOODS — was 32 cards stacked. Becomes snap carousel. */
  .pr-neigh-grid-wrap .pr-neigh-grid {
    display: flex !important;
    grid-template-columns: none !important;
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    gap: 12px;
    margin: 0 calc(var(--gutter) * -1);
    padding: 4px var(--gutter) 14px;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }
  .pr-neigh-grid-wrap .pr-neigh-grid::-webkit-scrollbar { display: none; }
  .pr-neigh-grid-wrap .pr-neigh-grid > .pr-neigh-card {
    flex: 0 0 68vw;
    max-width: 280px;
    aspect-ratio: 3/4;
    scroll-snap-align: start;
  }
  .pr-neigh-grid-wrap { position: relative; }
  .pr-neigh-grid-wrap::after {
    content: "";
    position: absolute; right: 0; top: 0; bottom: 100px;
    width: 28px;
    background: linear-gradient(90deg, transparent, var(--c-ink));
    pointer-events: none;
    z-index: 2;
  }

  /* Tighten section heads so the carousel sits closer to its title */
  .pr-listings__head { padding-bottom: 16px; }
  .pr-listings__filter { padding-bottom: 8px; gap: 8px; }
  .pr-listings__filter .pr-filter:nth-child(n+4) { display: none; }  /* drop the noisy filters on phone */
  .pr-listings__cta { margin-top: 18px; text-align: center; }
}

/* ============================================================
   UNIVERSAL ACTION BAR
   - MOBILE (≤768): Mockup C — orange primary fills, secondary border-left.
   - DESKTOP (≥769): renders as two plain .pr-btn-style buttons in a row
     (visually identical to the pre-Mockup-C look).
   ============================================================ */

/* Desktop default — flex row of regular buttons */
.pr-action-bar {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin: 24px 0 0;
}
.pr-action-bar > a,
.pr-action-bar > button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 12px 28px;
  font-family: var(--f-body);
  font-size: 11px;
  line-height: 1.3;
  letter-spacing: .24em;
  text-transform: uppercase;
  font-weight: 500;
  text-decoration: none;
  transition: all var(--t-fast);
  cursor: pointer;
}
/* Secondary (when present without explicit primary) defaults to ghost */
.pr-action-bar > a:not(.pr-action-bar__primary),
.pr-action-bar > button:not(.pr-action-bar__primary) {
  background: transparent;
  border: 1px solid var(--c-orange);
  color: var(--c-orange);
}
.pr-action-bar > a > span,
.pr-action-bar > button > span { display: inline; }
.pr-action-bar__primary {
  background: var(--c-orange);
  color: var(--c-ink);
  border: 1px solid var(--c-orange);
}
.pr-action-bar__primary:hover {
  background: var(--c-orange-bright);
  border-color: var(--c-orange-bright);
}
.pr-action-bar__secondary:hover {
  background: var(--c-orange);
  color: var(--c-ink);
}

/* Mobile — full-bleed split bar (Mockup C) */
@media (max-width: 768px) {
  .pr-action-bar {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 0;
    margin: 22px calc(var(--gutter) * -1) 0;
    border-top: 1px solid var(--c-rule);
    border-bottom: 1px solid var(--c-rule);
    width: calc(100% + (var(--gutter) * 2));
    max-width: calc(100vw);
    overflow: hidden;
  }
  .pr-action-bar > a,
  .pr-action-bar > button {
    min-height: 60px;
    padding: 0 22px;
    font-size: 12px;
    border: 0 !important;
    background: transparent;
    color: var(--c-cream);
    font-weight: 600;
  }
  .pr-action-bar__primary {
    background: var(--c-orange);
    color: var(--c-ink);
    gap: 10px;
  }
  .pr-action-bar__primary::after {
    content: "→";
    font-family: var(--f-display);
    font-style: italic;
    font-weight: 300;
    font-size: 20px;
    line-height: 1;
  }
  .pr-action-bar__secondary {
    border-left: 1px solid var(--c-rule) !important;
    color: var(--c-cream);
    font-weight: 500;
  }
  .pr-action-bar__secondary:hover {
    background: var(--c-ink-soft);
    color: var(--c-orange-bright);
  }
}


/* header */
/* ============================================================
   Header — top utility strip + brand + nav + dropdowns + mobile drawer
   ============================================================ */

.pr-utility {
  background: var(--c-ink) !important;
  color: var(--c-muted);
  font-size: var(--fs-eyebrow);
  letter-spacing: .18em;
  text-transform: uppercase;
  border-bottom: 1px solid var(--c-rule);
  padding: 14px var(--gutter);
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.pr-utility a:hover { color: var(--c-orange-bright); }
.pr-utility .right { display: flex; gap: 32px; }

.pr-header {
  padding: 32px var(--gutter);
  background: var(--c-ink) !important;
  position: relative;
  z-index: 100;
}
.pr-header__inner {
  max-width: var(--wrap-max);
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
}
.pr-brand {
  font-family: var(--f-display);
  font-size: 30px;
  letter-spacing: .18em;
  font-weight: 300;
  line-height: 1;
  text-transform: uppercase;
  color: var(--c-cream);
  display: flex;
  align-items: center;
  gap: 14px;
  flex-shrink: 0;
  text-decoration: none;
}
.pr-brand::before {
  content: "";
  display: block;
  width: 24px;
  height: 24px;
  border: 1px solid var(--c-orange);
  border-radius: 50%;
}

/* Mobile CTA cluster (Call pill + hamburger) — only renders on small screens */
.pr-header__mobile-cta {
  display: flex;
  align-items: center;
  gap: 10px;
}
.pr-header__call {
  display: none;                /* hidden on desktop */
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 14px;
  font-family: var(--f-body);
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--c-orange);
  border: 1px solid var(--c-orange);
  text-decoration: none;
  transition: background .2s, color .2s;
}
.pr-header__call:hover,
.pr-header__call:focus-visible {
  background: var(--c-orange);
  color: var(--c-ink);
}

/* ============================================================
   PRIMARY NAV
   ============================================================ */
.pr-nav {
  display: flex;
  gap: 32px;
  font-size: 12px;
  letter-spacing: .22em;
  text-transform: uppercase;
  align-items: center;
}
.pr-nav > a,
.pr-nav-toggle {
  padding: 6px 0;
  position: relative;
  color: var(--c-cream);
  background: transparent;
  border: 0;
  font-family: var(--f-body);
  font-size: 12px;
  font-weight: 300;
  letter-spacing: .22em;
  text-transform: uppercase;
  cursor: pointer;
  line-height: 1.6;
}
.pr-nav > a::after,
.pr-nav-toggle::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 1px;
  background: var(--c-orange);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--t-mid);
}
.pr-nav > a:hover,
.pr-nav-toggle:hover { color: var(--c-orange-bright); }
.pr-nav > a:hover::after,
.pr-nav-toggle:hover::after { transform: scaleX(1); }

/* ============================================================
   DROPDOWN ("Work With Us")
   ============================================================ */
.pr-nav-dropdown {
  position: relative;
}
.pr-nav-toggle {
  display: inline-flex; align-items: center; gap: 6px;
}
.pr-nav-caret {
  display: inline-block;
  font-size: 10px;
  transition: transform .2s;
  color: var(--c-orange);
}
.pr-nav-dropdown.is-open .pr-nav-caret,
.pr-nav-dropdown:hover .pr-nav-caret {
  transform: rotate(180deg);
}
.pr-nav-menu {
  position: absolute;
  top: calc(100% + 12px);
  left: 50%;
  transform: translateX(-50%) translateY(-6px);
  min-width: 320px;
  background: var(--c-ink-soft);
  border: 1px solid var(--c-rule-strong);
  padding: 12px;
  display: grid;
  gap: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity .2s, transform .2s, visibility .2s;
  box-shadow: 0 24px 60px -20px rgba(0,0,0,.6);
  z-index: 200;
}
.pr-nav-dropdown:hover .pr-nav-menu,
.pr-nav-dropdown.is-open .pr-nav-menu,
.pr-nav-dropdown:focus-within .pr-nav-menu {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}
.pr-nav-menu a {
  display: block;
  padding: 14px 16px;
  text-transform: none;
  letter-spacing: 0;
  color: var(--c-cream);
  border-radius: 2px;
  transition: background .2s;
}
.pr-nav-menu a:hover { background: rgba(217,112,71,.10); }
.pr-nav-menu a::after { display: none; }
.pr-nav-menu__title {
  display: block;
  font-family: var(--f-display);
  font-size: 17px;
  font-weight: 400;
  line-height: 1.2;
  margin-bottom: 4px;
}
.pr-nav-menu__sub {
  display: block;
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--c-muted);
  font-weight: 500;
}

/* ============================================================
   MOBILE HAMBURGER
   ============================================================ */
.pr-nav-burger {
  display: none;
  background: transparent;
  border: 0;
  cursor: pointer;
  padding: 12px;
  width: 48px; height: 48px;
  position: relative;
  z-index: 250;
}
.pr-nav-burger span {
  display: block;
  width: 24px; height: 1.5px;
  background: var(--c-cream);
  margin: 5px auto;
  transition: transform .25s, opacity .25s;
}
.pr-nav-burger[aria-expanded="true"] span:nth-child(1) {
  transform: translateY(6.5px) rotate(45deg);
}
.pr-nav-burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.pr-nav-burger[aria-expanded="true"] span:nth-child(3) {
  transform: translateY(-6.5px) rotate(-45deg);
}

/* ============================================================
   MOBILE NAV DRAWER + compact header chrome
   ============================================================ */
@media (max-width: 980px) {
  /* Hide the utility strip entirely on phone — its contents
     are reachable via the Call pill + the hamburger menu */
  .pr-utility { display: none; }

  /* Compact, sticky header with translucent backdrop */
  .pr-header {
    position: sticky;
    top: 0;
    padding: 12px var(--gutter);
    background: rgba(10,10,10,.92) !important;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-bottom: 1px solid var(--c-rule);
  }
  .pr-header__inner { gap: 10px; }

  /* Smaller brand mark on mobile */
  .pr-brand {
    font-size: 13px;
    letter-spacing: .32em;
    gap: 8px;
  }
  .pr-brand::before { width: 14px; height: 14px; }

  .pr-header__call { display: inline-flex; }
  .pr-nav-burger { display: block; padding: 8px; width: 40px; height: 40px; }
  .pr-nav-burger span { width: 20px; }

  .pr-nav {
    position: fixed;
    inset: 0;
    background: var(--c-ink);
    padding: 100px 32px 48px;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    overflow-y: auto;
    transform: translateX(100%);
    transition: transform .3s ease;
    z-index: 200;
  }
  .pr-nav.is-open { transform: translateX(0); }

  .pr-nav > a,
  .pr-nav-toggle {
    font-size: 22px;
    letter-spacing: .04em;
    text-transform: none;
    font-family: var(--f-display);
    font-weight: 300;
    color: var(--c-cream);
    padding: 18px 0;
    border-bottom: 1px solid var(--c-rule);
    width: 100%;
    text-align: left;
    justify-content: space-between;
  }
  .pr-nav > a::after,
  .pr-nav-toggle::after { display: none; }
  .pr-nav > a:hover, .pr-nav-toggle:hover { color: var(--c-orange-bright); }

  /* Mobile dropdown becomes always-visible nested list */
  .pr-nav-dropdown {
    width: 100%;
    border-bottom: 1px solid var(--c-rule);
  }
  .pr-nav-dropdown .pr-nav-toggle {
    border-bottom: 0;
  }
  .pr-nav-menu {
    position: static;
    transform: none !important;
    min-width: 0;
    width: 100%;
    background: transparent;
    border: 0;
    box-shadow: none;
    padding: 0 0 16px 0;
    opacity: 1;
    visibility: visible;
    display: none;
  }
  .pr-nav-dropdown.is-open .pr-nav-menu { display: grid; }
  .pr-nav-menu a {
    padding: 12px 0 12px 18px;
    border-left: 1px solid var(--c-rule);
    border-radius: 0;
  }
  .pr-nav-menu a:hover { background: transparent; color: var(--c-orange-bright); }
  .pr-nav-menu__title { font-size: 16px; }
  .pr-nav-menu__sub   { font-size: 10px; }
}

/* Body scroll-lock when mobile drawer is open */
body.pr-nav-open { overflow: hidden; }

/* When the mobile drawer is open, lift the entire header above the drawer
   so the hamburger (now an X) and brand stay clickable. Without this the
   drawer's z-index buries the close button. */
@media (max-width: 980px) {
  body.pr-nav-open .pr-header {
    z-index: 250;
    background: var(--c-ink) !important;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
  body.pr-nav-open .pr-header__call { display: none; }   /* free the corner for the X */
  /* Drawer top padding aligned to compact header height */
  body.pr-nav-open .pr-nav { padding-top: 80px; }
}


/* hero */
/* ============================================================
   Hero — desktop keeps the original framed-split look,
   mobile (≤768) flips to the Mockup C "split storefront" layout.
   ============================================================ */

.pr-hero,
.pr-hero--storefront {
  background: var(--c-ink);
  width: 100%;
  box-sizing: border-box;
  overflow: hidden;            /* contain any negative margins / bleeds */
}

/* ============================================================
   DESKTOP (≥769px) — original framed split:
   copy on the LEFT (eyebrow + h1 + lead + 2 buttons + persona pills),
   lifestyle image on the RIGHT, single 1px frame around both.
   ============================================================ */
@media (min-width: 769px) {
  .pr-hero--storefront {
    padding: 40px var(--gutter) 80px;
    display: block;
    overflow: visible;
  }
  .pr-hero__inner-frame,
  .pr-hero--storefront {
    /* the section IS the frame on desktop */
  }
  .pr-hero--storefront > * { box-sizing: border-box; }

  /* The whole hero becomes a grid frame */
  .pr-hero--storefront {
    background: var(--c-ink);
  }
  .pr-hero--storefront::before {
    content: "";
    display: block;
    height: 0;
  }
  /* Use grid-template-areas inside a wrapping grid */
  .pr-hero--storefront {
    display: grid;
    grid-template-columns: 1fr 1.4fr;
    grid-template-areas:
      "copy  cover"
      "bar   cover"
      "chips cover";
    grid-template-rows: auto auto 1fr;
    max-width: var(--wrap-max);
    margin: 40px auto 80px;
    padding: 0;
    border: 1px solid var(--c-rule);
  }
  .pr-hero__cover {
    grid-area: cover;
    position: relative;
    min-height: 620px;
    overflow: hidden;
    background: #000;
  }
  .pr-hero__cover img {
    position: absolute; inset: 0;
    width: 100%; height: 100%; object-fit: cover;
    filter: saturate(.95) contrast(1.03);
  }
  .pr-hero__cover::after {
    content: "";
    position: absolute; inset: 0;
    background: linear-gradient(to right, rgba(10,10,10,.25), transparent 30%);
  }
  /* Hide the mobile-only chrome (eyebrow + marker) inside the image on desktop;
     eyebrow re-renders inside the copy block below. */
  .pr-hero__cover-chrome { display: none; }

  .pr-hero__copy {
    grid-area: copy;
    padding: 80px 64px 0 64px;
    background: transparent;
    margin-top: 0;
  }
  /* On desktop, render the eyebrow above the H1 manually since the cover-chrome eyebrow is hidden */
  .pr-hero__copy::before {
    content: "A boutique Atlanta brokerage";
    display: block;
    font-size: var(--fs-eyebrow);
    letter-spacing: var(--ls-eyebrow);
    text-transform: uppercase;
    color: var(--c-orange);
    font-weight: 500;
    margin-bottom: 24px;
  }
  .pr-hero__copy h1 {
    font-size: clamp(var(--fs-h1-min), 6vw, var(--fs-h1-max));
    line-height: .98;
    margin: 0 0 28px;
    font-weight: 300;
    color: var(--c-cream);
  }
  .pr-hero__copy h1 em {
    color: var(--c-orange); font-style: italic; font-weight: 400;
  }
  .pr-hero__lead {
    font-family: var(--f-display);
    font-style: italic;
    font-size: 22px;
    line-height: 1.5;
    max-width: 32ch;
    color: var(--c-cream-warm);
    margin: 0 0 0 0;
    font-weight: 300;
    opacity: .85;
  }

  /* Action bar on desktop reverts to two regular buttons side by side */
  .pr-hero__bar {
    grid-area: bar;
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    padding: 32px 64px 0;
    border: 0;
  }
  .pr-hero__bar-primary,
  .pr-hero__bar-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 12px 28px;
    background: transparent;
    border: 1px solid var(--c-orange);
    color: var(--c-orange);
    font-family: var(--f-body);
    font-size: 11px;
    letter-spacing: .24em;
    text-transform: uppercase;
    font-weight: 500;
    text-decoration: none;
    line-height: 1.3;
    transition: all var(--t-fast);
  }
  .pr-hero__bar-primary {
    background: var(--c-orange);
    color: var(--c-ink);
  }
  .pr-hero__bar-primary:hover {
    background: var(--c-orange-bright);
    border-color: var(--c-orange-bright);
  }
  .pr-hero__bar-secondary:hover {
    background: var(--c-orange);
    color: var(--c-ink);
  }
  .pr-hero__bar-arrow { display: none; }   /* hide the mobile arrow on desktop */

  /* Chips on desktop render as a pill row inside the copy column */
  .pr-hero__chips {
    grid-area: chips;
    padding: 28px 64px 80px;
    background: transparent;
    border: 0;
  }
  .pr-hero__chips-label {
    margin: 0 0 10px;
    font-family: var(--f-display);
    font-style: italic;
    font-size: 14px;
    color: var(--c-muted);
    letter-spacing: 0;
    text-transform: none;
    font-weight: 300;
  }
  .pr-hero__chips-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 12px;
    overflow: visible;
    margin: 0;
    padding: 0;
  }
  .pr-hero__chips-row a {
    flex: 0 0 auto;
    display: inline-block;
    padding: 8px 14px;
    min-height: 0;
    border: 1px solid var(--c-rule-strong);
    color: var(--c-cream);
    font-size: 12px;
    letter-spacing: .14em;
    text-transform: uppercase;
    font-weight: 500;
    border-radius: 2px;
    transition: border-color .2s, color .2s, background .2s;
  }
  .pr-hero__chips-row a:first-child {
    color: var(--c-cream);
    border-color: var(--c-rule-strong);
  }
  .pr-hero__chips-row a:hover {
    border-color: var(--c-orange);
    color: var(--c-orange-bright);
  }
}

/* ============================================================
   MOBILE (≤768px) — Mockup C "Split Storefront"
   cover image on top, headline tucked, full-width orange action bar,
   persona chips strip. Designed for iPhone 13/14 size.
   ============================================================ */
@media (max-width: 768px) {
  .pr-hero--storefront {
    margin: 0;
    padding: 0;
    border: 0;
    display: grid;
    grid-template-areas:
      "cover"
      "copy"
      "bar"
      "chips";
    grid-template-rows: minmax(46vh, 440px) auto auto auto;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
  }

  .pr-hero__cover {
    grid-area: cover;
    position: relative;
    overflow: hidden;
    background: var(--c-ink-soft);
    width: 100%;
  }
  .pr-hero__cover img {
    width: 100%; height: 100%;
    object-fit: cover;
    filter: saturate(.92) contrast(1.04);
    display: block;
    max-width: 100%;
  }
  .pr-hero__cover::after {
    content: "";
    position: absolute; inset: 0;
    background: linear-gradient(
      180deg,
      rgba(10,10,10,.22) 0%,
      rgba(10,10,10,.04) 22%,
      rgba(10,10,10,.55) 80%,
      var(--c-ink) 100%
    );
    pointer-events: none;
    z-index: 1;
  }

  .pr-hero__cover-chrome {
    position: absolute; inset: 0;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 18px var(--gutter) 0;
    color: var(--c-cream);
    pointer-events: none;
  }
  .pr-hero__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    align-self: flex-start;
    font-size: 10px;
    letter-spacing: .32em;
    text-transform: uppercase;
    font-weight: 500;
    color: var(--c-cream);
    margin: 0;
    text-shadow: 0 1px 12px rgba(0,0,0,.5);
  }
  .pr-hero__eyebrow::before {
    content: "";
    display: block;
    width: 26px; height: 1px;
    background: var(--c-orange);
  }
  .pr-hero__marker {
    align-self: flex-end;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    font-size: 9.5px;
    letter-spacing: .5em;
    text-transform: uppercase;
    color: rgba(254,235,211,.7);
    font-weight: 500;
    padding: 0 2px;
    text-shadow: 0 1px 12px rgba(0,0,0,.5);
  }

  .pr-hero__copy {
    grid-area: copy;
    position: relative;
    z-index: 3;
    background: linear-gradient(180deg, transparent 0%, var(--c-ink) 70%);
    padding: 0 var(--gutter) 20px;
    margin-top: -50px;
  }
  .pr-hero__copy::before { display: none; }
  .pr-hero__copy h1 {
    font-family: var(--f-display);
    font-weight: 300;
    font-size: clamp(44px, 12.5vw, 80px);
    line-height: .94;
    letter-spacing: -.012em;
    color: var(--c-cream);
    margin: 0;
  }
  .pr-hero__copy h1 em {
    font-style: italic; color: var(--c-orange); font-weight: 400;
  }
  .pr-hero__lead {
    font-family: var(--f-display);
    font-style: italic;
    font-weight: 300;
    font-size: 16px;
    line-height: 1.45;
    color: var(--c-cream-warm);
    margin: 14px 0 0;
    max-width: 36ch;
  }

  .pr-hero__bar {
    grid-area: bar;
    display: grid;
    grid-template-columns: 1fr auto;
    border-top: 1px solid var(--c-rule);
    width: 100%;
    overflow: hidden;
  }
  .pr-hero__bar-primary {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 60px;
    padding: 0 20px;
    background: var(--c-orange);
    color: var(--c-ink);
    font-family: var(--f-body);
    font-size: 12px;
    letter-spacing: .22em;
    text-transform: uppercase;
    font-weight: 600;
    text-decoration: none;
    border: 0;
  }
  .pr-hero__bar-primary:hover { background: var(--c-orange-bright); }
  .pr-hero__bar-arrow {
    font-family: var(--f-display);
    font-style: italic;
    font-weight: 300;
    font-size: 20px; line-height: 1;
  }
  .pr-hero__bar-secondary {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 60px;
    padding: 0 18px;
    color: var(--c-cream);
    font-family: var(--f-body);
    font-size: 12px;
    letter-spacing: .22em;
    text-transform: uppercase;
    font-weight: 500;
    text-decoration: none;
    border-left: 1px solid var(--c-rule);
  }
  .pr-hero__bar-secondary:hover { color: var(--c-orange-bright); background: var(--c-ink-soft); }

  .pr-hero__chips {
    grid-area: chips;
    padding: 20px var(--gutter) 26px;
    border-top: 1px solid var(--c-rule);
    background: var(--c-ink);
    width: 100%;
    overflow: hidden;
  }
  .pr-hero__chips-label {
    margin: 0 0 12px;
    font-size: 10px;
    letter-spacing: .32em;
    text-transform: uppercase;
    font-weight: 500;
    color: var(--c-muted);
  }
  .pr-hero__chips-row {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    padding: 0;
    margin: 0;
  }
  .pr-hero__chips-row::-webkit-scrollbar { display: none; }
  .pr-hero__chips-row a {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    padding: 0 14px;
    font-size: 10.5px;
    letter-spacing: .18em;
    text-transform: uppercase;
    font-weight: 500;
    color: var(--c-cream-warm);
    border: 1px solid var(--c-rule);
    text-decoration: none;
    white-space: nowrap;
  }
  .pr-hero__chips-row a:first-child {
    color: var(--c-orange-bright);
    border-color: var(--c-orange);
  }
}

/* Very small phone */
@media (max-width: 380px) {
  .pr-hero--storefront { grid-template-rows: 42vh auto auto auto; }
  .pr-hero__copy { margin-top: -42px; }
  .pr-hero__copy h1 { font-size: clamp(36px, 11.5vw, 56px); }
  .pr-hero__bar-secondary { padding: 0 14px; min-width: 76px; }
}


/* search */
/* ============================================================
   Search bar — full-width strip below hero
   Routes to dsIDXpress (or, eventually, our Trestle endpoint)
   ============================================================ */

.pr-search {
  background: var(--c-ink) !important;
  padding: 0 var(--gutter) var(--s-2xl);
}
.pr-search__card {
  max-width: var(--wrap-max);
  margin: 0 auto;
  background: var(--c-ink-soft);
  border: 1px solid var(--c-rule);
  padding: 36px 40px;
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr 1fr auto;
  gap: 32px;
  align-items: end;
}
.pr-search__field { min-width: 0; }
.pr-search__label {
  display: block;
  font-size: 10px;
  letter-spacing: .24em;
  text-transform: uppercase;
  color: var(--c-orange);
  margin-bottom: 10px;
  font-weight: 500;
}
.pr-search__input,
.pr-search__select {
  width: 100%;
  min-height: 44px;
  padding: 10px 0 12px;
  border: 0;
  border-bottom: 1px solid var(--c-rule);
  font-family: var(--f-display);
  font-size: 18px;
  color: var(--c-cream);
  background: transparent;
  outline: none;
  -webkit-appearance: none;
  appearance: none;
}
.pr-search__input::placeholder {
  /* WCAG AA 4.5:1 against #0a0a0a → need at least ~#7a766f. We use cream at 65% (~5.4:1). */
  color: rgba(254, 235, 211, .65);
}
.pr-search__input:focus,
.pr-search__select:focus {
  border-bottom-color: var(--c-orange);
}
.pr-search__select {
  cursor: pointer;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='%23d97047'><path d='M2 4l4 4 4-4z'/></svg>");
  background-repeat: no-repeat;
  background-position: right 0 center;
  padding-right: 18px;
}
.pr-search__select option {
  background: var(--c-ink-soft);
  color: var(--c-cream);
}
.pr-search__submit {
  padding: 12px 32px;
  min-height: 44px;
  background: var(--c-orange);
  color: var(--c-ink);
  border: 0;
  font-family: var(--f-body);
  font-size: 11px;
  letter-spacing: .24em;
  text-transform: uppercase;
  font-weight: 600;
  cursor: pointer;
  transition: background var(--t-fast);
}
.pr-search__submit:focus-visible {
  outline: 3px solid var(--c-cream);
  outline-offset: 2px;
}
.pr-search__submit:hover {
  background: var(--c-orange-bright);
}

@media (max-width: 980px) {
  .pr-search__card {
    grid-template-columns: 1fr 1fr;
    gap: 24px 20px;
    padding: 28px;
  }
  /* Location takes full width on mobile */
  .pr-search__field--location { grid-column: 1 / -1; }
  .pr-search__submit { grid-column: 1 / -1; padding: 18px; }
}


/* listings */
/* ============================================================
   Portfolio listings — section head, filter pills, card grid.
   Active listings first, then sold (by price descending).
   ============================================================ */

.pr-listings {
  background: var(--c-ink) !important;
  padding: 0 var(--gutter) var(--s-3xl);
}

.pr-listings__head {
  max-width: var(--wrap-max);
  margin: 0 auto;
  padding: var(--s-2xl) 0 var(--s-l);
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  flex-wrap: wrap;
  gap: var(--s-s);
}
.pr-listings__head h2 {
  font-size: var(--fs-h2);
  max-width: 24ch;
}
.pr-listings__head h2 em { color: var(--c-orange); }
.pr-listings__head .pr-more {
  font-size: 12px;
  letter-spacing: .2em;
  text-transform: uppercase;
  border-bottom: 1px solid var(--c-orange);
  color: var(--c-orange);
  padding-bottom: 3px;
}

.pr-listings__filter {
  max-width: var(--wrap-max);
  margin: 0 auto;
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  padding-bottom: var(--s-m);
  border-bottom: 1px solid var(--c-rule);
}
.pr-filter {
  font-size: 11px;
  letter-spacing: .22em;
  text-transform: uppercase;
  font-weight: 500;
  padding: 12px 18px;
  min-height: 44px;
  border: 1px solid var(--c-rule);
  color: var(--c-cream-warm);
  transition: all var(--t-fast);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  cursor: pointer;
}
.pr-filter:focus-visible {
  outline: 3px solid var(--c-orange);
  outline-offset: 2px;
}
.pr-filter:hover { border-color: var(--c-orange); color: var(--c-orange); }
.pr-filter--active {
  background: var(--c-orange);
  border-color: var(--c-orange);
  color: var(--c-ink);
}
.pr-filter .cnt {
  font-family: var(--f-display);
  font-style: italic;
  font-size: 13px;
  opacity: .7;
  font-weight: 400;
  letter-spacing: 0;
}
.pr-filter--active .cnt { opacity: 1; }

.pr-listings__grid {
  max-width: var(--wrap-max);
  margin: var(--s-l) auto 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 36px;
}

.pr-card {
  background: var(--c-ink-soft) !important;
  color: var(--c-cream);
  border: 1px solid var(--c-rule);
  text-decoration: none;
  overflow: hidden;
  transition: transform var(--t-mid), border-color var(--t-mid);
}
.pr-card:hover {
  transform: translateY(-6px);
  border-color: var(--c-orange);
}
.pr-card__img {
  aspect-ratio: 4/3;
  overflow: hidden;
  position: relative;
}
.pr-card__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--t-slow), filter var(--t-mid);
}
.pr-card:hover .pr-card__img img { transform: scale(1.05); }

.pr-card__tag {
  position: absolute;
  top: 18px;
  left: 18px;
  background: var(--c-cream);
  color: var(--c-ink);
  font-size: 10px;
  letter-spacing: .2em;
  text-transform: uppercase;
  padding: 6px 12px;
  font-weight: 600;
  z-index: 2;
}
.pr-card__tag--orange { background: var(--c-orange); color: var(--c-ink); }
.pr-card__tag--sold   {
  background: rgba(10,10,10,.85);
  color: var(--c-cream);
  backdrop-filter: blur(8px);
  border: 1px solid var(--c-rule-strong);
}

.pr-card__body { padding: 28px 32px 32px; }
.pr-card__loc {
  font-size: 10px;
  letter-spacing: .24em;
  text-transform: uppercase;
  color: var(--c-orange);
  margin-bottom: 10px;
}
.pr-card__title {
  font-size: var(--fs-h3);
  line-height: 1.1;
  margin-bottom: 12px;
  color: var(--c-cream);
}
.pr-card__title em {
  color: var(--c-orange);
  font-style: italic;
  font-weight: 400;
  font-variation-settings: "SOFT" 100, "WONK" 1;
}
.pr-card--sold .pr-card__title em {
  color: var(--c-orange-bright);
}
.pr-card__meta {
  font-size: 13px;
  color: var(--c-muted);
  display: flex;
  gap: 14px;
  margin-bottom: 14px;
}
.pr-card__price {
  font-family: var(--f-display);
  font-style: italic;
  font-size: 26px;
  color: var(--c-cream);
  font-weight: 400;
}

/* Sold card variant — muted treatment */
.pr-card--sold .pr-card__img img {
  filter: saturate(.7) brightness(.92);
}
.pr-card--sold:hover .pr-card__img img { filter: none; }
.pr-card--sold .pr-card__loc { color: var(--c-muted); }
.pr-card--sold .pr-card__price {
  font-size: 20px;
  color: var(--c-cream-warm);
  opacity: .75;
}
.pr-card--sold .pr-card__price::before {
  content: "Sold · ";
  font-family: var(--f-body);
  font-style: normal;
  font-size: 10px;
  letter-spacing: .24em;
  text-transform: uppercase;
  color: var(--c-orange);
  margin-right: 8px;
  vertical-align: 2px;
  opacity: .9;
}

.pr-listings__cta {
  text-align: center;
  margin-top: var(--s-l);
}

@media (max-width: 980px) {
  .pr-listings__grid { grid-template-columns: repeat(2, 1fr); gap: 24px; }
  .pr-listings__head h2 { font-size: 42px; }
}
@media (max-width: 600px) {
  .pr-listings__grid { grid-template-columns: 1fr; }
}


/* archive */
/* ============================================================
   Property archive page (/featured-listings/)
   Adds page hero, compact qsearch, sticky filter toolbar, pagination
   on top of the .pr-listings + .pr-card already styled in listings.css
   ============================================================ */

.pr-archive-hero {
  padding: var(--s-xl) var(--gutter) var(--s-l);
  max-width: var(--wrap-max);
  margin: 0 auto;
}
.pr-archive-hero__inner {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: var(--s-l);
  flex-wrap: wrap;
}
.pr-archive-hero h1 {
  font-size: clamp(48px, 6vw, 84px);
  line-height: 1;
  margin: 18px 0 0;
  font-weight: 300;
}
.pr-archive-hero h1 em { color: var(--c-orange); font-weight: 400; }
.pr-archive-hero__stats {
  font-family: var(--f-display);
  font-style: italic;
  font-size: 22px;
  color: var(--c-cream-warm);
  opacity: .85;
  max-width: 38ch;
  line-height: 1.4;
}
.pr-archive-hero__stats strong {
  color: var(--c-orange-bright);
  font-style: italic;
  font-weight: 400;
}

/* Compact qsearch on archive (similar to homepage search but tighter) */
.pr-qsearch {
  max-width: var(--wrap-max);
  margin: 0 auto;
  padding: 0 var(--gutter);
}
.pr-qsearch__card {
  background: var(--c-ink-soft);
  border: 1px solid var(--c-rule);
  padding: 20px 28px;
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr 1fr auto;
  gap: 20px;
  align-items: end;
}
.pr-qsearch__card label {
  display: block;
  font-size: 10px;
  letter-spacing: .24em;
  text-transform: uppercase;
  color: var(--c-orange);
  margin-bottom: 8px;
  font-weight: 500;
}
.pr-qsearch__card input,
.pr-qsearch__card select {
  width: 100%;
  padding: 6px 0 8px;
  border: 0;
  border-bottom: 1px solid var(--c-rule);
  font-family: var(--f-display);
  font-size: 17px;
  color: var(--c-cream);
  background: transparent;
  outline: none;
}
.pr-qsearch__card input::placeholder { color: rgba(254,235,211,.35); }
.pr-qsearch__card input:focus,
.pr-qsearch__card select:focus { border-bottom-color: var(--c-orange); }

/* Sticky filter toolbar */
.pr-toolbar {
  background: var(--c-ink) !important;
  border-top: 1px solid var(--c-rule);
  border-bottom: 1px solid var(--c-rule);
  position: sticky;
  top: 0;
  z-index: 10;
  padding: 20px var(--gutter);
  margin-top: var(--s-l);
}
.pr-toolbar__inner {
  max-width: var(--wrap-max);
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}
.pr-toolbar__pills {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
}
.pr-toolbar__pills .pr-filter {
  padding: 12px 16px;
  min-height: 44px;
}
.pr-toolbar__right {
  display: flex;
  gap: 16px;
  align-items: center;
  font-size: 12px;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.pr-sort {
  background: var(--c-ink-soft);
  border: 1px solid var(--c-rule);
  color: var(--c-cream);
  padding: 9px 14px;
  font-family: var(--f-body);
  font-size: 12px;
  letter-spacing: .16em;
  text-transform: uppercase;
  cursor: pointer;
}
.pr-view-toggle { display: flex; gap: 0; border: 1px solid var(--c-rule); }
.pr-view-toggle a {
  padding: 8px 12px;
  font-size: 11px;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.pr-view-toggle a.active {
  background: var(--c-orange);
  color: var(--c-ink);
}

/* Photo count badge on cards */
.pr-card__photos {
  position: absolute;
  bottom: 14px;
  right: 14px;
  background: rgba(10,10,10,.7);
  backdrop-filter: blur(6px);
  color: var(--c-cream);
  padding: 5px 10px;
  font-size: 11px;
  letter-spacing: .1em;
  font-weight: 500;
  z-index: 2;
}

/* Override the archive grid to 3-col with smaller gap */
.pr-listings-archive .pr-listings__grid {
  grid-template-columns: repeat(3, 1fr);
  gap: 36px;
}

/* Pagination */
.pr-pagination {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: var(--s-2xl);
}
.pr-pagination a,
.pr-pagination span {
  padding: 11px 16px;
  min-width: 42px;
  text-align: center;
  border: 1px solid var(--c-rule);
  font-size: 13px;
  font-family: var(--f-display);
  font-style: italic;
  color: var(--c-cream-warm);
}
.pr-pagination a:hover {
  border-color: var(--c-orange);
  color: var(--c-orange);
}
.pr-pagination .current {
  background: var(--c-orange);
  color: var(--c-ink);
  border-color: var(--c-orange);
  font-weight: 500;
}
.pr-pagination .dots { border: 0; }

@media (max-width: 980px) {
  .pr-qsearch__card { grid-template-columns: 1fr 1fr; gap: 20px; }
  .pr-toolbar__right { order: -1; width: 100%; }
  .pr-listings-archive .pr-listings__grid { grid-template-columns: repeat(2, 1fr); gap: 24px; }
}
@media (max-width: 600px) {
  .pr-listings-archive .pr-listings__grid { grid-template-columns: 1fr; }
  .pr-filter { padding: 12px 14px; min-height: 44px; font-size: 10px; }
}


/* single */
/* ============================================================
   Single property page
   Sections: breadcrumb, gallery, title block, stat strip, body,
             neighborhood strip, similar listings
   ============================================================ */

/* Bricks sets body{display:flex;flex-direction:column} so flex children
   shrink-to-fit unless we explicitly stretch them. Force full width on
   every top-level section. */
.pr-breadcrumb,
.pr-prop-title,
.pr-prop-subhead,
.pr-gallery,
.pr-prop-stats,
.pr-prop-body,
.pr-prop-neigh,
.pr-prop-similar {
  width: 100% !important;
  box-sizing: border-box;
}

/* Breadcrumb */
.pr-breadcrumb {
  padding: 20px var(--gutter);
  max-width: var(--wrap-max);
  margin: 0 auto;
  font-size: 11px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--c-muted);
}
.pr-breadcrumb a:hover { color: var(--c-orange-bright); }
.pr-breadcrumb .sep { margin: 0 12px; opacity: .5; }

/* ============================================================
   Gallery — hero image + horizontal thumbnail strip below
   Clicking a thumbnail swaps it into the hero (JS in functions.php)
   ============================================================ */
.pr-gallery {
  padding: 0 var(--gutter) var(--s-m);
  max-width: var(--wrap-max);
  margin: 0 auto;
}
.pr-gallery .pr-gallery__layout {
  display: grid !important;
  grid-template-columns: 1.75fr 1fr !important;
  gap: 8px !important;
  align-items: stretch !important;
  width: 100% !important;
  height: clamp(360px, 32vw, 460px) !important;
}
.pr-gallery .pr-gallery__hero {
  position: relative !important;
  overflow: hidden !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  background: var(--c-ink-soft);
}
.pr-gallery__hero img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.pr-gallery__hero .pr-gallery__counter {
  position: absolute;
  bottom: 18px;
  right: 18px;
  background: rgba(10,10,10,.75);
  backdrop-filter: blur(8px);
  color: var(--c-cream);
  padding: 8px 14px;
  font-size: 11px;
  letter-spacing: .18em;
  text-transform: uppercase;
  font-weight: 500;
  border: 1px solid var(--c-cream);
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.pr-gallery__hero .pr-gallery__counter:hover { background: var(--c-orange); border-color: var(--c-orange); color: var(--c-ink); }

.pr-gallery .pr-gallery__strip {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  grid-auto-rows: 1fr !important;
  gap: 8px !important;
  width: 100% !important;
  height: 100% !important;
}
.pr-gallery .pr-gallery__thumb {
  position: relative !important;
  display: block !important;
  overflow: hidden !important;
  cursor: pointer;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  background: var(--c-ink-soft);
  transition: transform .25s ease;
}
.pr-gallery__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--t-mid), opacity .2s;
  display: block;
}
.pr-gallery__thumb:hover img { transform: scale(1.06); opacity: .9; }
.pr-gallery__thumb.is-active::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 2px solid var(--c-orange);
  pointer-events: none;
}
.pr-gallery__thumb--more {
  position: relative;
  background: var(--c-ink-soft);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--c-cream);
  text-decoration: none;
}
.pr-gallery__thumb--more::before {
  content: "";
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  filter: brightness(.4);
  z-index: 0;
}
.pr-gallery__thumb--more .pr-gallery__more-text {
  position: relative;
  z-index: 1;
  font-family: var(--f-display);
  font-size: 16px;
  font-style: italic;
  text-align: center;
  line-height: 1.2;
  color: var(--c-cream);
}
.pr-gallery__thumb--more .pr-gallery__more-count {
  display: block;
  font-size: 24px;
  color: var(--c-orange-bright);
  margin-bottom: 4px;
  font-style: italic;
}

/* Title block — sits ABOVE the gallery so it lands above the fold */
.pr-prop-title {
  padding: 20px var(--gutter) 18px;
  max-width: var(--wrap-max);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: var(--s-l);
  align-items: end;
}
.pr-prop-title h1 { margin: 0; }
.pr-prop-subhead {
  padding: 14px var(--gutter) 0;
  max-width: var(--wrap-max);
  margin: 0 auto;
}
.pr-prop-subhead p {
  font-family: var(--f-display);
  font-style: italic;
  font-size: 18px;
  color: var(--c-cream-warm);
  opacity: .85;
  margin: 0;
  max-width: 70ch;
}
.pr-prop-title__tag {
  display: inline-block;
  background: var(--c-orange);
  color: var(--c-ink);
  font-size: 10px;
  letter-spacing: .22em;
  text-transform: uppercase;
  padding: 6px 12px;
  font-weight: 600;
  margin-bottom: 12px;
}
.pr-prop-title__tag--sold {
  background: rgba(10,10,10,.85);
  color: var(--c-cream);
  border: 1px solid var(--c-rule-strong);
}
.pr-prop-title__loc {
  font-size: 11px;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--c-orange);
  margin-bottom: 10px;
}
.pr-prop-title h1 {
  font-size: clamp(32px, 3.6vw, 48px);
  line-height: 1.02;
  font-weight: 300;
  margin: 0;
}
.pr-prop-title h1 em { color: var(--c-orange); font-weight: 400; }
.pr-prop-title__sub {
  font-family: var(--f-display);
  font-style: italic;
  font-size: 20px;
  color: var(--c-cream-warm);
  opacity: .85;
  margin-top: 14px;
}
.pr-prop-title__price { text-align: right; }
.pr-prop-title__price-label {
  font-size: 10px;
  letter-spacing: .24em;
  text-transform: uppercase;
  color: var(--c-orange);
  margin-bottom: 8px;
  font-weight: 500;
}
.pr-prop-title__price-big {
  font-family: var(--f-display);
  font-size: clamp(34px, 3.4vw, 46px);
  line-height: 1;
  color: var(--c-cream);
  font-weight: 400;
}

/* Stats strip */
.pr-prop-stats {
  padding: var(--s-m) var(--gutter) var(--s-xl);
  max-width: var(--wrap-max);
  margin: 0 auto;
  border-bottom: 1px solid var(--c-rule);
}
.pr-prop-stats__inner {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: var(--s-l);
  padding: 30px 0;
}
.pr-prop-stat-label {
  font-size: 10px;
  letter-spacing: .24em;
  text-transform: uppercase;
  color: var(--c-orange);
  margin-bottom: 8px;
  font-weight: 500;
}
.pr-prop-stat-value {
  font-family: var(--f-display);
  font-size: 32px;
  color: var(--c-cream);
  line-height: 1;
  font-weight: 400;
}
.pr-prop-stat-sub {
  font-size: 13px;
  color: var(--c-muted);
  margin-top: 6px;
  font-family: var(--f-body);
  font-style: italic;
  font-weight: 300;
}

/* Body two-col */
.pr-prop-body {
  padding: var(--s-xl) var(--gutter);
  max-width: var(--wrap-max);
  margin: 0 auto;
}
.pr-prop-body__grid {
  display: grid;
  grid-template-columns: 1.6fr 1fr;
  gap: 80px;
  align-items: start;
}

.pr-prop-desc h2 {
  font-size: 42px;
  margin-bottom: 24px;
  font-weight: 400;
}
.pr-prop-desc h2 em { color: var(--c-orange); }
.pr-prop-desc p {
  font-size: 17px;
  line-height: 1.75;
  color: var(--c-cream-warm);
  margin-bottom: 18px;
  max-width: 60ch;
}
.pr-prop-desc p strong {
  color: var(--c-cream);
  font-weight: 500;
}

/* Metadata key/value grid */
.pr-prop-meta-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0;
  margin: var(--s-l) 0;
  border-top: 1px solid var(--c-rule);
}
.pr-prop-meta-grid > div {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 14px 0;
  border-bottom: 1px solid var(--c-rule);
}
.pr-prop-meta-grid > div:nth-child(odd) {
  padding-right: 24px;
  border-right: 1px solid var(--c-rule);
}
.pr-prop-meta-grid > div:nth-child(even) { padding-left: 24px; }
.pr-prop-meta-grid .k {
  font-size: 11px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--c-muted);
  font-weight: 500;
}
.pr-prop-meta-grid .v {
  font-family: var(--f-display);
  font-size: 17px;
  color: var(--c-cream);
  font-style: italic;
}

/* Features list */
.pr-prop-features {
  margin: var(--s-l) 0;
  padding-top: var(--s-l);
  border-top: 1px solid var(--c-rule);
}
.pr-prop-features h3 {
  font-size: 24px;
  margin-bottom: 20px;
  font-weight: 400;
}
.pr-prop-features h3 em { color: var(--c-orange); }
.pr-prop-features-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px 32px;
  font-size: 15px;
  color: var(--c-cream-warm);
  line-height: 1.5;
}
.pr-prop-features-list li {
  padding-left: 20px;
  position: relative;
  list-style: none;
}
.pr-prop-features-list li::before {
  content: "–";
  position: absolute;
  left: 0;
  color: var(--c-orange);
}

/* Sidebar (agent + form) */
.pr-prop-sidebar { position: sticky; top: 32px; }
.pr-agent-card {
  background: var(--c-ink-soft);
  border: 1px solid var(--c-rule);
  padding: 32px 28px;
}
.pr-agent-card__pre {
  font-size: 10px;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--c-orange);
  margin-bottom: 18px;
}
.pr-agent-card__head {
  display: flex;
  gap: 20px;
  align-items: center;
  margin-bottom: 24px;
}
.pr-agent-card__head img {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
  filter: grayscale(.15);
}
.pr-agent-card__head h4 {
  font-family: var(--f-display);
  font-size: 24px;
  line-height: 1.1;
  font-weight: 400;
  margin-bottom: 6px;
}
.pr-agent-card__head h4 em { color: var(--c-orange); }
.pr-agent-card__role {
  font-size: 10px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--c-muted);
  font-weight: 500;
}
.pr-agent-card__actions {
  display: grid;
  gap: 10px;
  margin-bottom: 24px;
}
.pr-agent-card__actions .pr-btn {
  width: 100%;
  border-color: var(--c-cream);
  color: var(--c-cream);
}
.pr-agent-card__actions .pr-btn:hover {
  background: var(--c-cream);
  color: var(--c-ink);
}
.pr-agent-card__quote {
  font-family: var(--f-display);
  font-style: italic;
  font-size: 15px;
  line-height: 1.4;
  color: var(--c-cream-warm);
  opacity: .9;
  border-top: 1px solid var(--c-rule);
  padding-top: 20px;
}

.pr-show-form {
  margin-top: var(--s-l);
}
.pr-show-form h4 {
  font-family: var(--f-display);
  font-size: 22px;
  font-weight: 400;
  margin-bottom: 18px;
}
.pr-show-form h4 em { color: var(--c-orange); }
.pr-show-form input,
.pr-show-form textarea {
  width: 100%;
  padding: 14px 16px;
  border: 1px solid var(--c-rule);
  background: var(--c-ink-soft);
  color: var(--c-cream);
  font-family: var(--f-body);
  font-size: 14px;
  margin-bottom: 10px;
  outline: none;
}
.pr-show-form input::placeholder,
.pr-show-form textarea::placeholder { color: rgba(254,235,211,.4); }
.pr-show-form input:focus,
.pr-show-form textarea:focus { border-color: var(--c-orange); }
.pr-show-form textarea {
  min-height: 90px;
  resize: vertical;
}
.pr-show-form .pr-btn--solid { width: 100%; }
.pr-show-form .pr-show-form__note {
  margin-top: 14px;
  font-size: 11px;
  color: var(--c-muted);
  line-height: 1.4;
}
.pr-show-form .pr-show-form__note em {
  color: var(--c-orange-bright);
  font-style: italic;
  font-family: var(--f-display);
  font-size: 13px;
}

/* Neighborhood strip on listing detail */
.pr-prop-neigh {
  padding: var(--s-xl) var(--gutter);
  background: var(--c-cream) !important;
  color: var(--c-ink) !important;
}
.pr-prop-neigh__inner {
  max-width: var(--wrap-max);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
}
.pr-prop-neigh__img img {
  aspect-ratio: 4/3;
  object-fit: cover;
  width: 100%;
}
.pr-prop-neigh__copy h2 {
  font-size: 42px;
  margin: 14px 0 18px;
  color: var(--c-ink);
  font-weight: 400;
}
.pr-prop-neigh__copy h2 em {
  color: var(--c-orange);
  font-style: italic;
  font-weight: 400;
}
.pr-prop-neigh__copy .pr-eyebrow { color: var(--c-orange-deep); }
.pr-prop-neigh__copy p {
  font-size: 16px;
  line-height: 1.7;
  color: #3a3530;
  margin-bottom: 14px;
  max-width: 55ch;
}
.pr-prop-neigh__stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin: 28px 0;
  padding: 18px 0;
  border-top: 1px solid rgba(10,10,10,.15);
  border-bottom: 1px solid rgba(10,10,10,.15);
}
.pr-prop-neigh__stat-label {
  font-size: 10px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--c-orange-deep);
  font-weight: 600;
}
.pr-prop-neigh__stat-value {
  font-family: var(--f-display);
  font-size: 24px;
  color: var(--c-ink);
  margin-top: 4px;
}

/* Similar listings */
.pr-similar {
  padding: var(--s-xl) var(--gutter);
  background: var(--c-ink-soft) !important;
}
.pr-similar__inner {
  max-width: var(--wrap-max);
  margin: 0 auto;
}
.pr-similar__head {
  display: flex;
  justify-content: space-between;
  align-items: end;
  margin-bottom: 36px;
  flex-wrap: wrap;
  gap: 16px;
}
.pr-similar__head h2 {
  font-size: 42px;
  font-weight: 400;
}
.pr-similar__head h2 em { color: var(--c-orange); }
.pr-similar__head a {
  font-size: 12px;
  letter-spacing: .18em;
  text-transform: uppercase;
  border-bottom: 1px solid var(--c-orange);
  color: var(--c-orange);
  padding-bottom: 3px;
}
.pr-similar__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}

@media (max-width: 980px) {
  .pr-gallery .pr-gallery__layout { grid-template-columns: 1fr !important; }
  .pr-gallery .pr-gallery__hero { aspect-ratio: 16/9 !important; max-height: none; }
  .pr-gallery .pr-gallery__strip { grid-template-columns: repeat(4, 1fr) !important; grid-auto-rows: auto !important; height: auto !important; }
  .pr-gallery .pr-gallery__thumb { aspect-ratio: 4/3 !important; height: auto !important; }
  .pr-prop-title {
    grid-template-columns: 1fr;
  }
  .pr-prop-title__price { text-align: left; }
  .pr-prop-stats__inner { grid-template-columns: repeat(2, 1fr); gap: 24px; }
  .pr-prop-body__grid { grid-template-columns: 1fr; gap: 48px; }
  .pr-prop-sidebar { position: static; }
  .pr-prop-neigh__inner { grid-template-columns: 1fr; gap: 32px; }
  .pr-similar__grid { grid-template-columns: 1fr; }
  .pr-prop-meta-grid { grid-template-columns: 1fr; }
  .pr-prop-meta-grid > div:nth-child(odd) {
    padding-right: 0;
    border-right: 0;
  }
  .pr-prop-meta-grid > div:nth-child(even) { padding-left: 0; }
  .pr-prop-features-list { grid-template-columns: 1fr; }
}

/* ============================================================
   IDX embed (dsIDXpress shortcode output)
   - dsIDXpress emits inline styles + .dsidx-* classes; we wrap it
     and normalize so it inherits our typography / colors.
   ============================================================ */
.pr-idx-embed {
  margin: 32px 0;
  padding: 32px;
  background: var(--c-ink-soft);
  border: 1px solid var(--c-rule);
}
.pr-idx-embed .dsidx-pictures,
.pr-idx-embed .dsidx-resp-row { margin-bottom: 16px; }
.pr-idx-embed img { max-width: 100%; height: auto; display: block; }

/* dsIDXpress table normalization */
.pr-idx-embed table {
  width: 100% !important;
  border-collapse: collapse;
  font-size: 14px;
  color: var(--c-cream-warm);
  margin: 12px 0;
  background: transparent !important;
}
.pr-idx-embed th, .pr-idx-embed td {
  padding: 8px 12px !important;
  border-bottom: 1px solid var(--c-rule) !important;
  text-align: left !important;
  background: transparent !important;
}
.pr-idx-embed th {
  font-family: var(--f-body);
  font-size: 10px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--c-orange) !important;
  font-weight: 500;
}
.pr-idx-embed td { color: var(--c-cream) !important; font-family: var(--f-display); font-style: italic; }

/* Labels / headings dsIDXpress emits */
.pr-idx-embed h1, .pr-idx-embed h2, .pr-idx-embed h3 {
  font-family: var(--f-display);
  font-size: 22px;
  color: var(--c-cream);
  font-weight: 400;
  margin: 0 0 12px;
}
.pr-idx-embed .dsidx-price { color: var(--c-orange-bright) !important; font-family: var(--f-display); font-size: 20px; }
.pr-idx-embed a { color: var(--c-orange-bright); }
.pr-idx-embed a:hover { color: var(--c-orange); text-decoration: underline; }

/* Hide dsIDXpress' "Powered by" / disclaimer footer cosmetics, keep legal */
.pr-idx-embed .dsidx-disclaimer {
  font-size: 11px;
  color: var(--c-muted);
  margin-top: 18px;
  font-style: italic;
}

/* Loading state if we ever defer-render */
.pr-idx-embed--loading {
  min-height: 200px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--c-muted);
  font-style: italic;
}

/* dsIDXpress error state for active listings — small inline notice */
.pr-idx-embed .dsidx-error {
  color: var(--c-muted);
  font-style: italic;
  font-size: 14px;
  margin: 0;
  padding: 12px 0;
}
.pr-idx-embed:empty,
.pr-idx-embed--archived:empty { display: none; }

/* ============================================================
   Closing Story (narrative attached to sold listings)
   ============================================================ */
.pr-prop-closing-story {
  margin-top: 48px;
  padding: 32px 36px;
  background: var(--c-ink-soft);
  border: 1px solid var(--c-rule);
  border-left: 3px solid var(--c-orange);
}
.pr-prop-closing-story h3 {
  font-family: var(--f-display); font-size: 28px;
  font-weight: 400; line-height: 1.15;
  margin: 12px 0 16px;
  color: var(--c-cream);
}
.pr-prop-closing-story h3 em { color: var(--c-orange); font-style: italic; font-weight: 400; }
.pr-prop-closing-story__body p {
  font-size: 16px; line-height: 1.75;
  color: var(--c-cream-warm);
  margin-bottom: 16px;
  max-width: 64ch;
}
.pr-prop-closing-story__body strong { color: var(--c-cream); font-weight: 500; }


/* neighborhoods */
/* ============================================================
   Neighborhoods — archive + single deep-guide pages
   Patterns mirror listings.css / single.css for consistency.
   Token references: --c-ink, --c-cream, --c-orange, --f-display, etc.
   ============================================================ */

.pr-neigh-hero,
.pr-neigh-grid,
.pr-neigh-why,
.pr-neigh-cta,
.pr-neigh-single-hero,
.pr-neigh-stats,
.pr-neigh-body,
.pr-neigh-amen,
.pr-neigh-listings,
.pr-neigh-single-cta,
.pr-neigh-nearby {
  width: 100% !important;
  box-sizing: border-box;
}

/* ============================================================
   ARCHIVE HERO
   ============================================================ */
.pr-neigh-hero {
  padding: 48px var(--gutter) 64px;
  max-width: var(--wrap-max);
  margin: 0 auto;
}
.pr-neigh-hero__inner {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 80px;
  align-items: end;
}
.pr-neigh-hero h1 {
  font-size: clamp(48px, 6vw, 84px);
  font-weight: 300;
  line-height: 1;
  margin-top: 14px;
}
.pr-neigh-hero h1 em { color: var(--c-orange); font-style: italic; font-weight: 400; }
.pr-neigh-hero__lead {
  font-family: var(--f-display);
  font-style: italic;
  font-size: 22px;
  color: var(--c-cream-warm);
  opacity: .85;
  max-width: 32ch;
  margin-top: 24px;
}
.pr-neigh-hero__stats {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
  padding-left: 48px;
  border-left: 1px solid var(--c-rule);
}
.pr-neigh-hero__stats > div strong {
  font-family: var(--f-display);
  font-size: 36px;
  color: var(--c-cream);
  display: block;
  font-weight: 400;
}
.pr-neigh-hero__stats > div span {
  font-size: 12px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--c-orange);
  margin-top: 6px;
  display: block;
  font-weight: 500;
}

/* ============================================================
   ARCHIVE GRID
   ============================================================ */
.pr-neigh-grid {
  padding: 48px var(--gutter) 96px;
  max-width: var(--wrap-max);
  margin: 0 auto;
}
.pr-neigh-grid__inner {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px 24px;
}
.pr-neigh-card { display: block; color: inherit; text-decoration: none; }
.pr-neigh-card__img {
  position: relative;
  aspect-ratio: 4/5;
  overflow: hidden;
  background: var(--c-ink-soft);
  margin-bottom: 18px;
}
.pr-neigh-card__img img {
  width: 100%; height: 100%; object-fit: cover;
  transition: transform .6s ease;
}
.pr-neigh-card:hover .pr-neigh-card__img img { transform: scale(1.05); }
.pr-neigh-card__img::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 50%, rgba(10,10,10,.55) 100%);
  pointer-events: none;
}
.pr-neigh-card__badge {
  position: absolute; top: 16px; left: 16px;
  background: rgba(10,10,10,.8); backdrop-filter: blur(6px);
  color: var(--c-cream); padding: 6px 12px;
  font-size: 10px; letter-spacing: .2em; text-transform: uppercase;
  font-weight: 500; border: 1px solid var(--c-rule-strong); z-index: 1;
}
.pr-neigh-card__badge--soon { color: var(--c-muted); }
.pr-neigh-card--soon .pr-neigh-card__img img { opacity: .45; }
.pr-neigh-card__name {
  font-family: var(--f-display); font-size: 32px; line-height: 1.05;
  font-weight: 400; margin-bottom: 6px;
}
.pr-neigh-card__name em { color: var(--c-orange); font-weight: 400; font-style: italic; }
.pr-neigh-card__tag {
  font-size: 11px; letter-spacing: .18em; text-transform: uppercase;
  color: var(--c-muted); margin-bottom: 14px;
}
.pr-neigh-card__meta {
  display: flex; gap: 24px;
  font-family: var(--f-display); font-style: italic;
  font-size: 14px; color: var(--c-cream-warm);
  border-top: 1px solid var(--c-rule); padding-top: 14px;
}
.pr-neigh-card__meta strong {
  color: var(--c-orange); font-style: normal;
  font-family: var(--f-body); font-weight: 500; font-size: 13px;
}
.pr-neigh-card__soon-note { color: var(--c-muted); font-style: italic; }

/* ============================================================
   WHY INTOWN BAND
   ============================================================ */
.pr-neigh-why {
  background: var(--c-paper);
  padding: 96px var(--gutter);
  border-top: 1px solid var(--c-rule);
  border-bottom: 1px solid var(--c-rule);
}
.pr-neigh-why__inner {
  max-width: var(--wrap-max); margin: 0 auto;
  display: grid; grid-template-columns: 1fr 1fr; gap: 96px;
  align-items: center;
}
.pr-neigh-why h2 {
  font-size: clamp(36px, 4vw, 56px);
  font-weight: 300; margin: 14px 0 24px;
}
.pr-neigh-why h2 em { color: var(--c-orange); font-style: italic; font-weight: 400; }
.pr-neigh-why p {
  font-size: 17px; line-height: 1.75;
  color: var(--c-cream-warm); margin-bottom: 18px;
}
.pr-neigh-why__list { margin-top: 36px; }
.pr-neigh-why__list .item {
  display: flex; gap: 18px; padding: 18px 0;
  border-top: 1px solid var(--c-rule);
}
.pr-neigh-why__list .item:last-child { border-bottom: 1px solid var(--c-rule); }
.pr-neigh-why__list .num {
  font-family: var(--f-display); font-size: 24px;
  color: var(--c-orange); font-style: italic; min-width: 36px;
}
.pr-neigh-why__list .item strong {
  display: block; color: var(--c-cream); font-weight: 500; margin-bottom: 4px;
}
.pr-neigh-why__list .item span { color: var(--c-muted); font-size: 14px; }
.pr-neigh-why__illu {
  aspect-ratio: 4/5; background: var(--c-ink-soft); overflow: hidden;
}
.pr-neigh-why__illu img {
  width: 100%; height: 100%; object-fit: cover; filter: saturate(.85);
}

/* ============================================================
   CTAs
   ============================================================ */
.pr-neigh-cta,
.pr-neigh-single-cta {
  padding: 120px var(--gutter);
  text-align: center;
  max-width: var(--wrap-max); margin: 0 auto;
}
.pr-neigh-cta h2,
.pr-neigh-single-cta h2 {
  font-size: clamp(42px, 5vw, 72px);
  font-weight: 300; line-height: 1.05;
  margin: 14px 0 24px;
}
.pr-neigh-cta h2 em,
.pr-neigh-single-cta h2 em { color: var(--c-orange); font-style: italic; font-weight: 400; }
.pr-neigh-cta p,
.pr-neigh-single-cta p {
  font-family: var(--f-display); font-style: italic;
  font-size: 20px; color: var(--c-cream-warm); opacity: .85;
  max-width: 46ch; margin: 0 auto 40px;
}
.pr-neigh-cta__actions,
.pr-neigh-single-cta__actions {
  display: flex; gap: 16px; justify-content: center; flex-wrap: wrap;
}

/* ============================================================
   SINGLE HERO
   ============================================================ */
.pr-neigh-single-hero {
  position: relative; height: 560px; overflow: hidden;
}
.pr-neigh-single-hero img {
  width: 100%; height: 100%; object-fit: cover;
  filter: saturate(.95) brightness(.78);
}
.pr-neigh-single-hero__overlay {
  position: absolute; inset: 0;
  display: flex; align-items: flex-end;
  padding: 80px var(--gutter);
}
.pr-neigh-single-hero__inner {
  max-width: var(--wrap-max); width: 100%; margin: 0 auto;
}
.pr-neigh-single-hero__loc {
  display: inline-block; padding: 6px 14px;
  background: rgba(10,10,10,.65); backdrop-filter: blur(8px);
  border: 1px solid var(--c-rule-strong);
  font-size: 11px; letter-spacing: .22em; text-transform: uppercase;
  color: var(--c-orange); margin-bottom: 20px; font-weight: 500;
}
.pr-neigh-single-hero h1 {
  font-size: clamp(56px, 8vw, 108px); line-height: .95; font-weight: 300;
  color: var(--c-cream); text-shadow: 0 2px 24px rgba(0,0,0,.5);
  max-width: 780px; margin: 0;
}
.pr-neigh-single-hero h1 em { color: var(--c-orange); font-style: italic; font-weight: 400; }
.pr-neigh-single-hero__sub {
  font-family: var(--f-display); font-style: italic;
  font-size: 24px; color: var(--c-cream-warm);
  margin-top: 18px; max-width: 780px;
  text-shadow: 0 2px 12px rgba(0,0,0,.5);
}

/* ============================================================
   SINGLE STATS STRIP
   ============================================================ */
.pr-neigh-stats {
  background: var(--c-paper);
  border-bottom: 1px solid var(--c-rule);
}
.pr-neigh-stats__inner {
  max-width: var(--wrap-max); margin: 0 auto;
  padding: 32px var(--gutter);
  display: grid; grid-template-columns: repeat(5, 1fr); gap: 32px;
}
.pr-neigh-stat-label {
  font-size: 10px; letter-spacing: .24em; text-transform: uppercase;
  color: var(--c-orange); font-weight: 500; margin-bottom: 8px;
}
.pr-neigh-stat-value {
  font-family: var(--f-display); font-size: 32px;
  color: var(--c-cream); line-height: 1; font-weight: 400;
}
.pr-neigh-stat-sub {
  font-size: 12px; color: var(--c-muted); margin-top: 6px;
  font-style: italic; font-family: var(--f-body);
}

/* ============================================================
   SINGLE BODY (narrative + sidebar)
   ============================================================ */
.pr-neigh-body {
  padding: 96px var(--gutter);
  max-width: var(--wrap-max); margin: 0 auto;
  display: grid; grid-template-columns: 1.6fr 1fr; gap: 80px;
  align-items: start;
}
.pr-neigh-body__narr h2 {
  font-size: 48px; margin-bottom: 28px; margin-top: 14px; font-weight: 300;
}
.pr-neigh-body__narr h2:not(:first-of-type) { margin-top: 64px; }
.pr-neigh-body__narr h2 em { color: var(--c-orange); font-style: italic; font-weight: 400; }
.pr-neigh-body__narr p {
  font-size: 18px; line-height: 1.8;
  color: var(--c-cream-warm); margin-bottom: 20px; max-width: 64ch;
}
.pr-neigh-body__narr p strong { color: var(--c-cream); font-weight: 500; }
.pr-neigh-body__narr blockquote {
  font-family: var(--f-display); font-style: italic;
  font-size: 32px; color: var(--c-cream); line-height: 1.3;
  padding: 40px 0 40px 32px;
  border-left: 3px solid var(--c-orange);
  margin: 40px 0;
}
.pr-neigh-body__narr blockquote cite {
  display: block; margin-top: 18px; font-style: normal;
  font-family: var(--f-body);
  font-size: 11px; letter-spacing: .22em; text-transform: uppercase;
  color: var(--c-orange); font-weight: 500;
}

/* Sidebar */
.pr-neigh-body__side { position: sticky; top: 32px; }
.pr-neigh-agent-card {
  background: var(--c-ink-soft); border: 1px solid var(--c-rule);
  padding: 32px 28px;
}
.pr-neigh-agent-card .pre-label {
  font-size: 10px; letter-spacing: .28em; text-transform: uppercase;
  color: var(--c-orange); margin-bottom: 18px; font-weight: 500;
}
.pr-neigh-agent-card__flex {
  display: flex; gap: 20px; align-items: center; margin-bottom: 24px;
}
.pr-neigh-agent-card__flex img {
  width: 80px; height: 80px; border-radius: 50%; object-fit: cover;
  flex-shrink: 0; filter: grayscale(.15);
}
.pr-neigh-agent-card__flex h4 {
  font-family: var(--f-display); font-size: 24px; line-height: 1.1;
  font-weight: 400; margin-bottom: 6px;
}
.pr-neigh-agent-card__flex h4 em { color: var(--c-orange); font-style: italic; }
.pr-neigh-agent-card__flex .role {
  font-size: 10px; letter-spacing: .2em; text-transform: uppercase;
  color: var(--c-muted); font-weight: 500;
}
.pr-neigh-agent-card__actions {
  display: grid; gap: 10px; margin-bottom: 24px;
}
.pr-neigh-agent-card__quote {
  font-family: var(--f-display); font-style: italic;
  font-size: 15px; line-height: 1.4;
  color: var(--c-cream-warm); opacity: .9;
  border-top: 1px solid var(--c-rule); padding-top: 20px;
}

.pr-neigh-glance {
  margin-top: 32px; background: var(--c-ink-soft);
  border: 1px solid var(--c-rule); padding: 28px;
}
.pr-neigh-glance h4 {
  font-family: var(--f-display); font-size: 18px;
  margin-bottom: 18px; font-weight: 400;
}
.pr-neigh-glance .row {
  display: flex; justify-content: space-between;
  padding: 12px 0; border-top: 1px solid var(--c-rule);
  font-size: 14px;
}
.pr-neigh-glance .row:first-of-type { border-top: 0; padding-top: 0; }
.pr-neigh-glance .k {
  color: var(--c-muted); font-size: 11px;
  letter-spacing: .18em; text-transform: uppercase; font-weight: 500;
}
.pr-neigh-glance .v {
  font-family: var(--f-display); font-style: italic; color: var(--c-cream);
}

/* ============================================================
   AMENITIES GRID
   ============================================================ */
.pr-neigh-amen {
  background: var(--c-paper);
  padding: 96px var(--gutter);
  border-top: 1px solid var(--c-rule);
  border-bottom: 1px solid var(--c-rule);
}
.pr-neigh-amen__inner { max-width: var(--wrap-max); margin: 0 auto; }
.pr-neigh-amen__head {
  display: flex; justify-content: space-between;
  align-items: flex-end; margin-bottom: 48px;
}
.pr-neigh-amen__head h2 {
  font-size: 48px; font-weight: 300; max-width: 18ch;
}
.pr-neigh-amen__head h2 em { color: var(--c-orange); font-style: italic; font-weight: 400; }
.pr-neigh-amen__head .lead {
  font-family: var(--f-display); font-style: italic;
  color: var(--c-cream-warm); font-size: 18px;
  max-width: 36ch; text-align: right;
}
.pr-neigh-amen__grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px;
}
.pr-neigh-amen__card {
  background: var(--c-ink-soft); border: 1px solid var(--c-rule);
  padding: 28px;
}
.pr-neigh-amen__card .icon {
  width: 42px; height: 42px;
  border: 1px solid var(--c-orange);
  display: flex; align-items: center; justify-content: center;
  color: var(--c-orange); font-family: var(--f-display); font-style: italic;
  font-size: 20px; margin-bottom: 18px;
}
.pr-neigh-amen__card h4 {
  font-family: var(--f-display); font-size: 22px;
  font-weight: 400; margin-bottom: 6px;
}
.pr-neigh-amen__card h4 em { color: var(--c-orange); font-style: italic; }
.pr-neigh-amen__card .meta {
  font-size: 11px; letter-spacing: .18em; text-transform: uppercase;
  color: var(--c-orange); font-weight: 500; margin-bottom: 14px;
}
.pr-neigh-amen__card ul { list-style: none; padding: 0; margin: 0; }
.pr-neigh-amen__card li {
  padding: 8px 0; border-top: 1px solid var(--c-rule);
  font-size: 14px; color: var(--c-cream-warm);
  display: flex; justify-content: space-between;
}
.pr-neigh-amen__card li:first-child { border-top: 0; }
.pr-neigh-amen__card li span {
  color: var(--c-muted); font-size: 12px; font-style: italic;
}

/* ============================================================
   LISTINGS BAND
   ============================================================ */
.pr-neigh-listings {
  padding: 96px var(--gutter);
  max-width: var(--wrap-max); margin: 0 auto;
}
.pr-neigh-listings--sold { padding-top: 0; }
.pr-neigh-listings__head {
  display: flex; justify-content: space-between;
  align-items: flex-end; margin-bottom: 40px;
}
.pr-neigh-listings__head h2 {
  font-size: 48px; font-weight: 300;
}
.pr-neigh-listings__head h2 em { color: var(--c-orange); font-style: italic; font-weight: 400; }
.pr-neigh-listings__head a {
  font-size: 11px; letter-spacing: .22em; text-transform: uppercase;
  color: var(--c-orange); font-weight: 500;
}
.pr-neigh-listings__grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px;
}
.pr-neigh-lcard { display: block; color: inherit; text-decoration: none; }
.pr-neigh-lcard__img {
  aspect-ratio: 4/3; overflow: hidden;
  background: var(--c-ink-soft); position: relative; margin-bottom: 14px;
}
.pr-neigh-lcard__img img {
  width: 100%; height: 100%; object-fit: cover;
  transition: transform .5s;
}
.pr-neigh-lcard:hover .pr-neigh-lcard__img img { transform: scale(1.04); }
.pr-neigh-lcard__tag {
  position: absolute; top: 14px; left: 14px;
  background: var(--c-orange); color: var(--c-ink);
  padding: 5px 10px; font-size: 10px; letter-spacing: .18em;
  text-transform: uppercase; font-weight: 600;
}
.pr-neigh-lcard__tag--sold {
  background: rgba(10,10,10,.85); color: var(--c-cream);
  border: 1px solid var(--c-rule-strong);
}
.pr-neigh-lcard__loc {
  font-size: 10px; letter-spacing: .2em; text-transform: uppercase;
  color: var(--c-orange); margin-bottom: 6px; font-weight: 500;
}
.pr-neigh-lcard h3 {
  font-family: var(--f-display); font-size: 22px;
  font-weight: 400; line-height: 1.2; margin-bottom: 8px;
}
.pr-neigh-lcard h3 em { color: var(--c-orange); font-style: italic; font-weight: 400; }
.pr-neigh-lcard__meta {
  display: flex; gap: 14px; font-size: 12px;
  color: var(--c-muted); margin-bottom: 8px;
}
.pr-neigh-lcard__price {
  font-family: var(--f-display); font-size: 18px; color: var(--c-cream);
}

/* ============================================================
   NEARBY
   ============================================================ */
.pr-neigh-nearby {
  padding: 64px var(--gutter) 120px;
  max-width: var(--wrap-max); margin: 0 auto;
}
.pr-neigh-nearby h3 {
  font-family: var(--f-display); font-size: 14px;
  letter-spacing: .22em; text-transform: uppercase;
  color: var(--c-orange); margin-bottom: 24px; font-weight: 500;
}
.pr-neigh-nearby__grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px;
}
.pr-neigh-near {
  display: block; padding: 24px;
  border: 1px solid var(--c-rule);
  transition: border-color .25s;
  color: inherit; text-decoration: none;
}
.pr-neigh-near:hover { border-color: var(--c-orange); }
.pr-neigh-near h4 {
  font-family: var(--f-display); font-size: 22px;
  font-weight: 400; margin-bottom: 6px;
}
.pr-neigh-near h4 em { color: var(--c-orange); font-style: italic; font-weight: 400; }
.pr-neigh-near span {
  font-size: 11px; letter-spacing: .18em; text-transform: uppercase;
  color: var(--c-muted);
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 980px) {
  .pr-neigh-hero__inner { grid-template-columns: 1fr; gap: 40px; }
  .pr-neigh-hero__stats {
    padding-left: 0; border-left: 0;
    border-top: 1px solid var(--c-rule); padding-top: 24px;
  }
  .pr-neigh-grid__inner { grid-template-columns: repeat(2, 1fr); }
  .pr-neigh-why__inner { grid-template-columns: 1fr; gap: 48px; }
  .pr-neigh-single-hero { height: auto; aspect-ratio: 4/5; }
  .pr-neigh-single-hero__overlay { padding: 40px var(--gutter); }
  .pr-neigh-stats__inner { grid-template-columns: repeat(2, 1fr); gap: 24px; }
  .pr-neigh-body { grid-template-columns: 1fr; gap: 48px; }
  .pr-neigh-body__side { position: static; }
  .pr-neigh-amen__head {
    flex-direction: column; gap: 18px; align-items: flex-start;
  }
  .pr-neigh-amen__head .lead { text-align: left; }
  .pr-neigh-amen__grid { grid-template-columns: 1fr; }
  .pr-neigh-listings__grid { grid-template-columns: 1fr; }
  .pr-neigh-nearby__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
  .pr-neigh-grid__inner { grid-template-columns: 1fr; }
  .pr-neigh-stats__inner { grid-template-columns: 1fr; }
}

/* ============================================================
   HOMEPAGE NEIGHBORHOOD LEAD + GRID
   Used by front-page.php sections .pr-neigh-lead and .pr-neigh-grid-wrap.
   These are not the archive layout — they're a magazine-style intro
   card followed by a 3-column overlay-card grid.
   ============================================================ */
.pr-neigh-lead {
  padding: 96px var(--gutter) 48px;
  background: var(--c-ink);
}
.pr-neigh-lead__inner {
  max-width: var(--wrap-max); margin: 0 auto;
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 64px;
  align-items: center;
}
.pr-neigh-lead__img {
  position: relative;
  aspect-ratio: 4/3;
  overflow: hidden;
  background: var(--c-ink-soft);
}
.pr-neigh-lead__img img {
  width: 100%; height: 100%; object-fit: cover;
  transition: transform .6s ease;
}
.pr-neigh-lead__img:hover img { transform: scale(1.03); }
.pr-neigh-lead__num {
  position: absolute; top: 18px; left: 18px;
  background: var(--c-orange); color: var(--c-ink);
  font-family: var(--f-display); font-style: italic;
  font-size: 16px; font-weight: 400;
  padding: 8px 14px; letter-spacing: .08em;
  z-index: 2;
}
.pr-neigh-lead__copy h2 {
  font-family: var(--f-display);
  font-size: clamp(36px, 4.5vw, 56px);
  font-weight: 300; line-height: 1.08;
  margin: 14px 0 22px;
}
.pr-neigh-lead__copy h2 em { color: var(--c-orange); font-style: italic; font-weight: 400; }
.pr-neigh-lead__copy p {
  font-size: 17px; line-height: 1.75;
  color: var(--c-cream-warm);
  margin-bottom: 16px;
  max-width: 54ch;
}
.pr-neigh-lead__copy p.tagline {
  font-family: var(--f-display); font-style: italic;
  font-size: 22px; color: var(--c-orange-bright);
  margin-top: 24px;
}

/* HOMEPAGE GRID (override of the archive .pr-neigh-grid padding pattern) */
.pr-neigh-grid-wrap {
  padding: 32px var(--gutter) 96px;
  background: var(--c-ink);
}
.pr-neigh-grid-wrap .pr-neigh-grid {
  max-width: var(--wrap-max); margin: 0 auto;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}
.pr-neigh-grid-wrap .pr-neigh-card {
  position: relative;
  aspect-ratio: 4/5;
  overflow: hidden;
  background: var(--c-ink-soft);
  border: 1px solid var(--c-rule);
  transition: border-color .25s, transform .25s;
}
.pr-neigh-grid-wrap .pr-neigh-card:hover {
  border-color: var(--c-orange);
  transform: translateY(-4px);
}
.pr-neigh-grid-wrap .pr-neigh-card img {
  position: absolute; inset: 0;
  width: 100%; height: 100%; object-fit: cover;
  transition: transform .6s ease, opacity .25s;
}
.pr-neigh-grid-wrap .pr-neigh-card:hover img { transform: scale(1.06); }
.pr-neigh-card__overlay {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(10,10,10,0) 30%, rgba(10,10,10,.88) 95%);
  display: flex; flex-direction: column; justify-content: flex-end;
  padding: 24px 22px 24px;
  color: var(--c-cream);
  z-index: 2;
}
.pr-neigh-card__num {
  font-size: 10px; letter-spacing: .22em; text-transform: uppercase;
  color: var(--c-orange-bright); font-weight: 500;
  margin-bottom: 10px;
}
.pr-neigh-grid-wrap .pr-neigh-card h3 {
  font-family: var(--f-display);
  font-size: 28px; font-weight: 400; line-height: 1.1;
  color: var(--c-cream);
  margin-bottom: 8px;
}
.pr-neigh-grid-wrap .pr-neigh-card h3 em {
  color: var(--c-orange); font-style: italic; font-weight: 400;
}
.pr-neigh-grid-wrap .pr-neigh-card p {
  font-size: 13px; line-height: 1.55;
  color: var(--c-cream-warm);
  margin-bottom: 0;
  max-width: 32ch;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.pr-neigh-card__arrow {
  position: absolute; top: 18px; right: 18px;
  width: 40px; height: 40px;
  border: 1px solid rgba(254,235,211,.4);
  background: rgba(10,10,10,.45);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  color: var(--c-cream);
  font-size: 18px; font-weight: 300;
  z-index: 3;
  transition: background .2s, border-color .2s, transform .2s;
}
.pr-neigh-grid-wrap .pr-neigh-card:hover .pr-neigh-card__arrow {
  background: var(--c-orange); border-color: var(--c-orange);
  transform: translateX(4px);
}

@media (max-width: 1000px) {
  .pr-neigh-lead__inner { grid-template-columns: 1fr; gap: 32px; }
  .pr-neigh-grid-wrap .pr-neigh-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .pr-neigh-grid-wrap .pr-neigh-grid { grid-template-columns: 1fr; }
  .pr-neigh-lead { padding: 64px var(--gutter) 32px; }
  .pr-neigh-grid-wrap { padding: 24px var(--gutter) 64px; }
}

/* ============================================================
   Market data "At a glance" block (sidebar on single-neighborhood)
   ============================================================ */
.pr-stat-block {
  background: var(--c-ink-soft);
  border: 1px solid var(--c-rule);
  padding: 24px 22px;
  margin: 0 0 24px;
}
.pr-stat-block .pr-eyebrow {
  margin: 0 0 14px;
}
.pr-stat-block__list {
  display: grid;
  gap: 14px;
  margin: 0;
}
.pr-stat {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--c-rule);
}
.pr-stat:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}
.pr-stat dt {
  font-size: 11px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--c-muted);
  font-weight: 500;
  margin: 0;
  flex-shrink: 0;
}
.pr-stat dd {
  font-family: var(--f-display);
  font-size: 22px;
  font-weight: 400;
  line-height: 1;
  color: var(--c-cream);
  margin: 0;
  text-align: right;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 4px;
}
.pr-stat__delta {
  font-family: var(--f-body);
  font-size: 11px;
  letter-spacing: .04em;
  text-transform: none;
  font-weight: 500;
}
.pr-stat__delta--up   { color: #6bbf5d; }
.pr-stat__delta--down { color: var(--c-orange-bright); }
.pr-stat-block__stamp {
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid var(--c-rule);
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--c-muted);
  font-style: italic;
  font-family: var(--f-display);
}


/* partners */
/* ============================================================
   Partners section — John + Drew, founder spotlight
   ============================================================ */

.pr-partners {
  padding: var(--s-3xl) var(--gutter);
  background: var(--c-ink) !important;
}
.pr-partners__head {
  max-width: 680px;
  margin: 0 auto var(--s-2xl);
  text-align: center;
}
.pr-partners__head h2 {
  font-size: var(--fs-h2);
  margin-top: 18px;
  line-height: 1.05;
}
.pr-partners__head h2 em { color: var(--c-orange); }
.pr-partners__head p {
  font-family: var(--f-display);
  font-style: italic;
  font-size: 20px;
  color: var(--c-cream-warm);
  margin-top: 18px;
}

.pr-partners__grid {
  max-width: 1180px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
}

.pr-partner { position: relative; }

.pr-partner__img {
  aspect-ratio: 4/5;
  overflow: hidden;
  margin-bottom: 32px;
  position: relative;
  background: var(--c-ink-soft);
}
.pr-partner__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(.15) contrast(1.05);
}
.pr-partner__img::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(10,10,10,.4), transparent 50%);
}
.pr-partner__num {
  position: absolute;
  top: -12px;
  left: -8px;
  font-family: var(--f-display);
  font-style: italic;
  font-size: 120px;
  line-height: 1;
  color: var(--c-orange);
  opacity: .85;
  z-index: 2;
}

.pr-partner__label {
  font-size: 10px;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--c-orange);
  margin-bottom: 10px;
  font-weight: 500;
}
.pr-partner__name {
  font-family: var(--f-display);
  font-size: 48px;
  line-height: 1;
  margin-bottom: 14px;
  font-weight: 300;
}
.pr-partner__name em { color: var(--c-orange); font-weight: 400; }

.pr-partner__role {
  font-family: var(--f-display);
  font-style: italic;
  font-size: 18px;
  color: var(--c-cream-warm);
  margin-bottom: 24px;
}
.pr-partner__bio {
  font-size: 16px;
  line-height: 1.7;
  color: var(--c-cream-warm);
  margin-bottom: 20px;
  max-width: 42ch;
  opacity: .85;
}
.pr-partner__quote {
  font-family: var(--f-display);
  font-style: italic;
  font-size: 22px;
  line-height: 1.4;
  color: var(--c-cream);
  border-left: 2px solid var(--c-orange);
  padding: 6px 0 6px 20px;
  margin-top: 24px;
}
.pr-partner__meta {
  display: flex;
  gap: 32px;
  margin-top: 28px;
  padding-top: 24px;
  border-top: 1px solid var(--c-rule);
  font-size: 13px;
  color: var(--c-muted);
}
.pr-partner__meta strong {
  display: block;
  color: var(--c-orange);
  font-size: 11px;
  letter-spacing: .2em;
  text-transform: uppercase;
  margin-bottom: 4px;
  font-weight: 500;
}

@media (max-width: 980px) {
  .pr-partners__grid { grid-template-columns: 1fr; gap: 48px; }
  .pr-partner__name { font-size: 36px; }
  .pr-partners__head h2 { font-size: 42px; }
}


/* agents */
/* ============================================================
   Agents — single profile page + (later) team archive
   Mirrors mockup H + I.
   ============================================================ */

.pr-agent-hero, .pr-agent-stats, .pr-agent-body,
.pr-agent-pull, .pr-agent-approach, .pr-agent-listings,
.pr-agent-testimonials, .pr-agent-cta, .pr-agent-team-strip {
  width: 100% !important;
  box-sizing: border-box;
}

/* HERO */
.pr-agent-hero {
  padding: 48px var(--gutter) 80px;
  max-width: var(--wrap-max); margin: 0 auto;
}
.pr-agent-hero__inner {
  display: grid; grid-template-columns: 1fr 1.3fr;
  gap: 80px; align-items: end;
}
.pr-agent-hero__portrait {
  aspect-ratio: 4/5; overflow: hidden;
  background: var(--c-ink-soft);
}
.pr-agent-hero__portrait img {
  width: 100%; height: 100%; object-fit: cover;
  filter: grayscale(.15) contrast(1.05);
}
.pr-agent-hero__text h1 {
  font-size: clamp(56px, 7.5vw, 108px); line-height: .95;
  font-weight: 300; margin: 14px 0 18px;
}
.pr-agent-hero__text h1 em { color: var(--c-orange); font-style: italic; font-weight: 400; }
.pr-agent-hero__role {
  font-size: 13px; letter-spacing: .22em; text-transform: uppercase;
  color: var(--c-orange); font-weight: 500; margin-bottom: 24px;
}
.pr-agent-hero__lead {
  font-family: var(--f-display); font-style: italic;
  font-size: 22px; color: var(--c-cream-warm); opacity: .95;
  max-width: 34ch; line-height: 1.4; margin-bottom: 32px;
}
.pr-agent-hero__actions { display: flex; gap: 12px; flex-wrap: wrap; }

/* STATS */
.pr-agent-stats {
  background: var(--c-paper);
  border-top: 1px solid var(--c-rule);
  border-bottom: 1px solid var(--c-rule);
}
.pr-agent-stats__inner {
  max-width: var(--wrap-max); margin: 0 auto;
  padding: 32px var(--gutter);
  display: grid; grid-template-columns: repeat(5, 1fr); gap: 32px;
}
.pr-agent-stat-label {
  font-size: 10px; letter-spacing: .24em; text-transform: uppercase;
  color: var(--c-orange); font-weight: 500; margin-bottom: 8px;
}
.pr-agent-stat-value {
  font-family: var(--f-display); font-size: 36px;
  color: var(--c-cream); line-height: 1; font-weight: 400;
}
.pr-agent-stat-sub {
  font-size: 12px; color: var(--c-muted); margin-top: 6px;
  font-style: italic; font-family: var(--f-body);
}

/* BIO BODY */
.pr-agent-body {
  padding: 96px var(--gutter);
  max-width: var(--wrap-max); margin: 0 auto;
  display: grid; grid-template-columns: 1.6fr 1fr; gap: 80px;
  align-items: start;
}
.pr-agent-body__narr h2 {
  font-size: 42px; margin: 14px 0 24px; font-weight: 300;
}
.pr-agent-body__narr h2:not(:first-of-type) { margin-top: 56px; }
.pr-agent-body__narr h2 em { color: var(--c-orange); font-style: italic; font-weight: 400; }
.pr-agent-body__narr p {
  font-size: 18px; line-height: 1.8;
  color: var(--c-cream-warm); margin-bottom: 20px; max-width: 64ch;
}
.pr-agent-body__narr p strong { color: var(--c-cream); font-weight: 500; }

.pr-agent-body__side { position: sticky; top: 32px; }
.pr-agent-side-card {
  background: var(--c-ink-soft); border: 1px solid var(--c-rule);
  padding: 32px 28px; margin-bottom: 24px;
}
.pr-agent-side-card h4 {
  font-family: var(--f-display); font-size: 18px;
  margin-bottom: 18px; font-weight: 400;
}
.pr-agent-side-card h4 em { color: var(--c-orange); font-style: italic; }

.pr-agent-where { list-style: none; padding: 0; margin: 0; }
.pr-agent-where li {
  display: flex; justify-content: space-between;
  padding: 12px 0; border-top: 1px solid var(--c-rule);
  font-size: 14px; color: var(--c-cream-warm);
}
.pr-agent-where li:first-child { border-top: 0; padding-top: 0; }
.pr-agent-where li a {
  color: var(--c-cream-warm);
  border-bottom: 1px solid transparent;
  transition: color .25s, border-color .25s;
}
.pr-agent-where li a:hover {
  color: var(--c-orange-bright);
  border-bottom-color: var(--c-orange-bright);
}
.pr-agent-where li .lead-tag {
  color: var(--c-orange); font-size: 10px;
  letter-spacing: .18em; text-transform: uppercase; font-weight: 500;
}
.pr-agent-side-link {
  display: inline-block;
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid var(--c-rule);
  width: 100%;
  font-size: 11px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--c-orange);
  font-weight: 500;
  transition: color .25s;
}
.pr-agent-side-link:hover { color: var(--c-orange-bright); }

.pr-agent-contact { display: grid; gap: 8px; margin-top: 18px; }
.pr-agent-contact a {
  display: block; padding: 12px 14px;
  border: 1px solid var(--c-rule); font-size: 13px;
  transition: border-color .25s; cursor: pointer;
}
.pr-agent-contact a:hover { border-color: var(--c-orange); }
.pr-agent-contact .small {
  font-size: 10px; letter-spacing: .18em; text-transform: uppercase;
  color: var(--c-orange); display: block; margin-bottom: 4px;
}
.pr-agent-contact .v {
  font-family: var(--f-display); font-style: italic;
  color: var(--c-cream); font-size: 16px;
}

/* PULL QUOTE */
.pr-agent-pull {
  background: var(--c-paper);
  padding: 96px var(--gutter);
  border-top: 1px solid var(--c-rule);
  border-bottom: 1px solid var(--c-rule);
}
.pr-agent-pull__inner {
  max-width: 920px; margin: 0 auto; text-align: center;
}
.pr-agent-pull blockquote {
  font-family: var(--f-display); font-style: italic;
  font-size: 36px; line-height: 1.3; color: var(--c-cream);
  margin: 14px 0 24px; font-weight: 400;
}
.pr-agent-pull blockquote em { color: var(--c-orange); }
.pr-agent-pull cite {
  display: block; font-style: normal; font-family: var(--f-body);
  font-size: 11px; letter-spacing: .22em; text-transform: uppercase;
  color: var(--c-orange); font-weight: 500;
}

/* APPROACH */
.pr-agent-approach {
  padding: 96px var(--gutter);
  max-width: var(--wrap-max); margin: 0 auto;
}
.pr-agent-approach__head {
  display: flex; justify-content: space-between;
  align-items: flex-end; margin-bottom: 48px;
}
.pr-agent-approach__head h2 {
  font-size: 48px; font-weight: 300;
}
.pr-agent-approach__head h2 em { color: var(--c-orange); font-style: italic; font-weight: 400; }
.pr-agent-approach__head .lead {
  font-family: var(--f-display); font-style: italic;
  color: var(--c-cream-warm); font-size: 18px;
  max-width: 36ch; text-align: right;
}
.pr-agent-approach__grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px;
}
.pr-agent-approach__card {
  background: var(--c-ink-soft); border: 1px solid var(--c-rule);
  padding: 32px 28px;
}
.pr-agent-approach__card .num {
  font-family: var(--f-display); font-style: italic;
  font-size: 36px; color: var(--c-orange); margin-bottom: 18px;
}
.pr-agent-approach__card h4 {
  font-family: var(--f-display); font-size: 22px;
  font-weight: 400; margin-bottom: 10px;
}
.pr-agent-approach__card h4 em { color: var(--c-orange); font-style: italic; }
.pr-agent-approach__card p {
  font-size: 14px; line-height: 1.6; color: var(--c-cream-warm);
}

/* LISTINGS */
.pr-agent-listings {
  padding: 96px var(--gutter);
  max-width: var(--wrap-max); margin: 0 auto;
}
.pr-agent-listings--sold { padding-top: 0; }
.pr-agent-listings__head {
  display: flex; justify-content: space-between;
  align-items: flex-end; margin-bottom: 40px;
}
.pr-agent-listings__head h2 {
  font-size: 42px; font-weight: 300;
}
.pr-agent-listings__head h2 em { color: var(--c-orange); font-style: italic; font-weight: 400; }
.pr-agent-listings__head a {
  font-size: 11px; letter-spacing: .22em; text-transform: uppercase;
  color: var(--c-orange); font-weight: 500;
}
.pr-agent-listings__grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px;
}
.pr-agent-lcard { display: block; color: inherit; text-decoration: none; }
.pr-agent-lcard__img {
  aspect-ratio: 4/3; overflow: hidden;
  background: var(--c-ink-soft); position: relative; margin-bottom: 14px;
}
.pr-agent-lcard__img img {
  width: 100%; height: 100%; object-fit: cover;
  transition: transform .5s;
}
.pr-agent-lcard:hover .pr-agent-lcard__img img { transform: scale(1.04); }
.pr-agent-lcard__tag {
  position: absolute; top: 14px; left: 14px;
  background: var(--c-orange); color: var(--c-ink);
  padding: 5px 10px; font-size: 10px; letter-spacing: .18em;
  text-transform: uppercase; font-weight: 600;
}
.pr-agent-lcard__tag--sold {
  background: rgba(10,10,10,.85); color: var(--c-cream);
  border: 1px solid var(--c-rule-strong);
}
.pr-agent-lcard__loc {
  font-size: 10px; letter-spacing: .2em; text-transform: uppercase;
  color: var(--c-orange); margin-bottom: 6px; font-weight: 500;
}
.pr-agent-lcard h3 {
  font-family: var(--f-display); font-size: 22px;
  font-weight: 400; line-height: 1.2; margin-bottom: 8px;
}
.pr-agent-lcard h3 em { color: var(--c-orange); font-style: italic; font-weight: 400; }
.pr-agent-lcard__meta {
  display: flex; gap: 14px; font-size: 12px;
  color: var(--c-muted); margin-bottom: 8px;
}
.pr-agent-lcard__price {
  font-family: var(--f-display); font-size: 18px; color: var(--c-cream);
}

/* TESTIMONIALS */
.pr-agent-testimonials {
  background: var(--c-paper);
  padding: 96px var(--gutter);
  border-top: 1px solid var(--c-rule);
  border-bottom: 1px solid var(--c-rule);
}
.pr-agent-testimonials__inner { max-width: var(--wrap-max); margin: 0 auto; }
.pr-agent-testimonials__head { margin-bottom: 48px; }
.pr-agent-testimonials__head h2 {
  font-size: 48px; font-weight: 300; max-width: 20ch;
}
.pr-agent-testimonials__head h2 em { color: var(--c-orange); font-style: italic; font-weight: 400; }
.pr-agent-testimonials__grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px;
}
.pr-agent-t-card {
  background: var(--c-ink-soft); border: 1px solid var(--c-rule);
  padding: 32px 28px;
}
.pr-agent-t-card blockquote {
  font-family: var(--f-display); font-style: italic;
  font-size: 18px; line-height: 1.5;
  color: var(--c-cream-warm); margin-bottom: 24px;
}
.pr-agent-t-card cite {
  font-style: normal; font-family: var(--f-body);
  font-size: 11px; letter-spacing: .22em; text-transform: uppercase;
  color: var(--c-orange); font-weight: 500; display: block;
  padding-top: 18px; border-top: 1px solid var(--c-rule);
}
.pr-agent-t-card cite span {
  display: block; color: var(--c-muted); margin-top: 4px;
  letter-spacing: .16em;
}

/* CTA */
.pr-agent-cta {
  padding: 120px var(--gutter);
  text-align: center;
  max-width: var(--wrap-max); margin: 0 auto;
}
.pr-agent-cta h2 {
  font-size: clamp(42px, 5vw, 72px);
  font-weight: 300; line-height: 1.05; margin: 14px 0 24px;
}
.pr-agent-cta h2 em { color: var(--c-orange); font-style: italic; font-weight: 400; }
.pr-agent-cta p {
  font-family: var(--f-display); font-style: italic;
  font-size: 20px; color: var(--c-cream-warm); opacity: .85;
  max-width: 46ch; margin: 0 auto 40px;
}
.pr-agent-cta__actions {
  display: flex; gap: 16px; justify-content: center; flex-wrap: wrap;
}

/* TEAM STRIP (bottom) */
.pr-agent-team-strip {
  padding: 64px var(--gutter) 120px;
  max-width: var(--wrap-max); margin: 0 auto;
  text-align: center;
}
.pr-agent-team-strip h3 {
  font-family: var(--f-display); font-size: 36px;
  font-weight: 300; margin: 18px 0 32px;
}
.pr-agent-team-strip h3 em { color: var(--c-orange); font-style: italic; font-weight: 400; }
.pr-agent-team-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 24px;
  max-width: 900px; margin: 0 auto;
}
.pr-agent-team-card {
  display: flex; gap: 18px; padding: 24px;
  border: 1px solid var(--c-rule); text-align: left;
  align-items: center; transition: border-color .25s;
  color: inherit; text-decoration: none;
}
.pr-agent-team-card:hover { border-color: var(--c-orange); }
.pr-agent-team-card img {
  width: 70px; height: 70px; border-radius: 50%;
  object-fit: cover; flex-shrink: 0; filter: grayscale(.15);
}
.pr-agent-team-card h4 {
  font-family: var(--f-display); font-size: 22px;
  font-weight: 400; margin-bottom: 4px;
}
.pr-agent-team-card h4 em { color: var(--c-orange); font-style: italic; font-weight: 400; }
.pr-agent-team-card span {
  font-size: 10px; letter-spacing: .2em; text-transform: uppercase;
  color: var(--c-muted);
}

/* RESPONSIVE */
@media (max-width: 980px) {
  .pr-agent-hero__inner { grid-template-columns: 1fr; gap: 48px; }
  .pr-agent-stats__inner { grid-template-columns: repeat(2, 1fr); gap: 24px; }
  .pr-agent-body { grid-template-columns: 1fr; gap: 48px; }
  .pr-agent-body__side { position: static; }
  .pr-agent-approach__head { flex-direction: column; gap: 18px; align-items: flex-start; }
  .pr-agent-approach__grid { grid-template-columns: 1fr 1fr; }
  .pr-agent-listings__grid { grid-template-columns: 1fr; }
  .pr-agent-testimonials__grid { grid-template-columns: 1fr; }
  .pr-agent-team-grid { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .pr-agent-stats__inner { grid-template-columns: 1fr; }
  .pr-agent-approach__grid { grid-template-columns: 1fr; }
  .pr-agent-pull blockquote { font-size: 26px; }
}


/* team */
/* ============================================================
   Team archive — /team/
   Based on mockup J.
   ============================================================ */

.pr-team-hero, .pr-team-partners, .pr-team-grid-wrap, .pr-team-join {
  width: 100% !important; box-sizing: border-box;
}

/* HERO */
.pr-team-hero {
  padding: 48px var(--gutter) 64px;
  max-width: var(--wrap-max); margin: 0 auto;
}
.pr-team-hero__inner {
  display: grid; grid-template-columns: 1.4fr 1fr;
  gap: 80px; align-items: end;
}
.pr-team-hero h1 {
  font-size: clamp(48px, 6vw, 84px);
  font-weight: 300; line-height: 1; margin-top: 14px;
}
.pr-team-hero h1 em { color: var(--c-orange); font-style: italic; font-weight: 400; }
.pr-team-hero__lead {
  font-family: var(--f-display); font-style: italic;
  font-size: 22px; color: var(--c-cream-warm); opacity: .85;
  max-width: 34ch; margin-top: 24px; line-height: 1.4;
}
.pr-team-hero__stats {
  display: grid; grid-template-columns: 1fr; gap: 18px;
  padding-left: 48px; border-left: 1px solid var(--c-rule);
}
.pr-team-hero__stats > div strong {
  font-family: var(--f-display); font-size: 36px;
  color: var(--c-cream); display: block; font-weight: 400;
}
.pr-team-hero__stats > div span {
  font-size: 12px; letter-spacing: .18em; text-transform: uppercase;
  color: var(--c-orange); margin-top: 6px; display: block; font-weight: 500;
}

/* PARTNERS */
.pr-team-partners {
  padding: 48px var(--gutter) 64px;
  max-width: var(--wrap-max); margin: 0 auto;
}
.pr-team-partners__head { margin-bottom: 32px; }
.pr-team-partners__head h2 { font-size: 32px; font-weight: 300; margin-top: 12px; }
.pr-team-partners__head h2 em { color: var(--c-orange); font-style: italic; font-weight: 400; }
.pr-team-partners__grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 32px;
}
.pr-team-partner-card {
  display: grid; grid-template-columns: 1fr 1.3fr; gap: 32px;
  padding: 32px; border: 1px solid var(--c-rule);
  transition: border-color .25s; align-items: center;
  color: inherit; text-decoration: none;
}
.pr-team-partner-card:hover { border-color: var(--c-orange); }
.pr-team-partner-card__img {
  aspect-ratio: 1; overflow: hidden;
  background: var(--c-ink-soft);
}
.pr-team-partner-card__img img {
  width: 100%; height: 100%; object-fit: cover;
  filter: grayscale(.15) contrast(1.05);
}
.pr-team-partner-card .meta {
  font-size: 10px; letter-spacing: .22em; text-transform: uppercase;
  color: var(--c-orange); margin-bottom: 10px;
}
.pr-team-partner-card h3 {
  font-family: var(--f-display); font-size: 32px;
  font-weight: 400; line-height: 1.05; margin-bottom: 8px;
}
.pr-team-partner-card h3 em { color: var(--c-orange); font-style: italic; font-weight: 400; }
.pr-team-partner-card .role {
  font-size: 12px; letter-spacing: .18em; text-transform: uppercase;
  color: var(--c-muted); margin-bottom: 14px;
}
.pr-team-partner-card p {
  font-size: 15px; line-height: 1.6;
  color: var(--c-cream-warm); margin-bottom: 18px;
  font-family: var(--f-display); font-style: italic;
}
.pr-team-partner-card .read-more {
  font-size: 11px; letter-spacing: .22em; text-transform: uppercase;
  color: var(--c-orange); font-weight: 500;
}

/* TEAM GRID */
.pr-team-grid-wrap {
  padding: 48px var(--gutter) 96px;
  max-width: var(--wrap-max); margin: 0 auto;
  border-top: 1px solid var(--c-rule);
}
.pr-team-grid-head { margin: 32px 0; }
.pr-team-grid-head h2 { font-size: 32px; font-weight: 300; margin-top: 12px; }
.pr-team-grid-head h2 em { color: var(--c-orange); font-style: italic; font-weight: 400; }
.pr-team-grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px;
}
.pr-team-card {
  display: block; color: inherit; text-decoration: none;
  transition: transform .35s;
}
.pr-team-card__img {
  aspect-ratio: 1; overflow: hidden;
  background: var(--c-ink-soft); margin-bottom: 14px;
}
.pr-team-card__img img {
  width: 100%; height: 100%; object-fit: cover;
  filter: grayscale(.15) contrast(1.05); transition: transform .6s;
}
.pr-team-card:hover .pr-team-card__img img { transform: scale(1.05); }
.pr-team-card h4 {
  font-family: var(--f-display); font-size: 22px;
  font-weight: 400; margin-bottom: 4px;
}
.pr-team-card h4 em { color: var(--c-orange); font-style: italic; font-weight: 400; }
.pr-team-card .role {
  font-size: 10px; letter-spacing: .2em; text-transform: uppercase;
  color: var(--c-muted); margin-bottom: 8px;
}
.pr-team-card .areas {
  font-size: 13px; color: var(--c-cream-warm);
  font-family: var(--f-display); font-style: italic;
}

/* JOIN */
.pr-team-join {
  background: var(--c-paper);
  padding: 96px var(--gutter);
  border-top: 1px solid var(--c-rule);
  border-bottom: 1px solid var(--c-rule);
}
.pr-team-join__inner {
  max-width: var(--wrap-max); margin: 0 auto;
  display: grid; grid-template-columns: 1fr 1.4fr; gap: 80px;
  align-items: start;
}
.pr-team-join__copy h2 {
  font-size: 48px; font-weight: 300; margin: 14px 0 24px;
}
.pr-team-join__copy h2 em { color: var(--c-orange); font-style: italic; font-weight: 400; }
.pr-team-join__copy p {
  font-size: 17px; line-height: 1.7; color: var(--c-cream-warm);
  margin-bottom: 18px; max-width: 36ch;
}
.pr-team-join__copy p strong { color: var(--c-cream); font-weight: 500; }
.pr-team-join__bullets {
  margin-top: 24px; display: grid; gap: 12px;
  list-style: none; padding: 0;
}
.pr-team-join__bullets li {
  padding-left: 20px; position: relative;
  font-size: 14px; color: var(--c-cream-warm); line-height: 1.5;
}
.pr-team-join__bullets li::before {
  content: '•'; position: absolute; left: 0;
  color: var(--c-orange); font-size: 18px; line-height: 1;
}

.pr-team-join__form {
  background: var(--c-ink-soft); border: 1px solid var(--c-rule);
  padding: 44px; position: relative;
}
.pr-team-join__row { margin-bottom: 24px; }
.pr-team-join__row label {
  display: block; font-size: 10px; letter-spacing: .22em;
  text-transform: uppercase; color: var(--c-orange);
  margin-bottom: 10px; font-weight: 500;
}
/* Scope to the form wrapper so cols + rows both pick this up regardless of nesting */
.pr-team-join__form label {
  display: block; font-size: 10px; letter-spacing: .22em;
  text-transform: uppercase; color: var(--c-orange);
  margin-bottom: 10px; font-weight: 500;
  font-family: var(--f-body); line-height: 1.4;
}
.pr-team-join__form input[type=text],
.pr-team-join__form input[type=email],
.pr-team-join__form input[type=tel],
.pr-team-join__form select,
.pr-team-join__form textarea {
  width: 100%; box-sizing: border-box; display: block;
  padding: 16px 18px;
  background: var(--c-ink); border: 1px solid var(--c-rule-strong);
  color: var(--c-cream); font-family: var(--f-body);
  font-size: 15px; font-weight: 300; line-height: 1.4;
  border-radius: 2px;
  transition: border-color .2s, background .2s, box-shadow .2s;
  -webkit-appearance: none; -moz-appearance: none; appearance: none;
}
.pr-team-join__row input::placeholder,
.pr-team-join__row textarea::placeholder { color: var(--c-muted); opacity: .7; }
.pr-team-join__row input:hover,
.pr-team-join__row select:hover,
.pr-team-join__row textarea:hover { border-color: var(--c-orange-bright); }
.pr-team-join__row input:focus,
.pr-team-join__row select:focus,
.pr-team-join__row textarea:focus {
  outline: none; border-color: var(--c-orange);
  box-shadow: 0 0 0 3px rgba(217,112,71,.18);
}
.pr-team-join__row textarea {
  min-height: 120px; resize: vertical;
  font-family: var(--f-body);
}
.pr-team-join__row select {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none'><path d='M1 1l5 5 5-5' stroke='%23d97047' stroke-width='1.5'/></svg>");
  background-repeat: no-repeat;
  background-position: right 18px center;
  padding-right: 42px;
}
.pr-team-join__cols {
  display: grid; grid-template-columns: 1fr 1fr; gap: 18px;
  margin-bottom: 0;
}
.pr-team-join__cols > div { margin-bottom: 18px; }
.pr-team-join__foot {
  margin-top: 8px; display: flex;
  justify-content: space-between; align-items: center;
  gap: 18px; flex-wrap: wrap;
}
.pr-team-join__foot .small {
  font-size: 11px; color: var(--c-muted); font-style: italic;
  max-width: 32ch;
}
.pr-team-join__hp {
  position: absolute !important; left: -9999px !important;
  opacity: 0 !important; pointer-events: none !important;
  height: 0; width: 0;
}
.pr-team-join__status {
  margin-top: 16px; font-size: 14px; font-style: italic;
  min-height: 22px;
}
.pr-team-join__status.success { color: var(--c-orange-bright); }
.pr-team-join__status.error   { color: #e88; }

@media (max-width: 980px) {
  .pr-team-hero__inner { grid-template-columns: 1fr; gap: 40px; }
  .pr-team-hero__stats { padding-left: 0; border-left: 0; border-top: 1px solid var(--c-rule); padding-top: 24px; }
  .pr-team-partners__grid { grid-template-columns: 1fr; }
  .pr-team-partner-card { grid-template-columns: 1fr; }
  .pr-team-grid { grid-template-columns: repeat(2, 1fr); }
  .pr-team-join__inner { grid-template-columns: 1fr; gap: 48px; }
  .pr-team-join__cols { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .pr-team-grid { grid-template-columns: 1fr; }
}


/* personas */
/* ============================================================
   Persona landing pages — /buyers/, /sellers/, /first-time-buyers/,
   /investors/, /1031/. Locked-in pattern from mockups K + L.
   ============================================================ */

/* Local button variant */
.pr-btn--muted { border-color: var(--c-rule); color: var(--c-cream-warm); }

/* Force-stretch all top-level sections (Bricks shrinks them by default) */
.pr-persona-hero, .pr-persona-promises, .pr-persona-process,
.pr-persona-body, .pr-persona-pull, .pr-persona-faq,
.pr-persona-tell-us, .pr-persona-listings, .pr-persona-neigh, .pr-persona-cta {
  width: 100% !important; box-sizing: border-box;
}

/* HERO */
.pr-persona-hero {
  padding: 64px var(--gutter) 96px;
  max-width: var(--wrap-max); margin: 0 auto;
  display: grid; grid-template-columns: 1.5fr 1fr;
  gap: 80px; align-items: end;
}
.pr-persona-hero h1 {
  font-size: clamp(56px, 7.5vw, 108px);
  line-height: .95; font-weight: 300;
  margin-top: 18px; margin-bottom: 32px;
}
.pr-persona-hero h1 em { color: var(--c-orange); font-style: italic; font-weight: 400; }
.pr-persona-hero__lead {
  font-family: var(--f-display); font-style: italic;
  font-size: 24px; color: var(--c-cream-warm); opacity: .95;
  max-width: 36ch; line-height: 1.45; margin-bottom: 40px;
}
.pr-persona-hero__actions { display: flex; gap: 16px; flex-wrap: wrap; }
.pr-persona-hero__illu {
  aspect-ratio: 4/5; overflow: hidden;
  background: var(--c-ink-soft); position: relative;
}
.pr-persona-hero__illu img {
  width: 100%; height: 100%; object-fit: cover;
  filter: saturate(.95) contrast(1.05);
}
.pr-persona-hero__illu::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 60%, rgba(10,10,10,.45));
  pointer-events: none;
}

/* PROMISES */
.pr-persona-promises {
  background: var(--c-paper);
  padding: 64px var(--gutter);
  border-top: 1px solid var(--c-rule);
  border-bottom: 1px solid var(--c-rule);
}
.pr-persona-promises__inner {
  max-width: var(--wrap-max); margin: 0 auto;
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 48px;
}
.pr-persona-promise h3 {
  font-family: var(--f-display); font-size: 24px;
  font-weight: 400; margin: 14px 0 10px;
}
.pr-persona-promise h3 em { color: var(--c-orange); font-style: italic; font-weight: 400; }
.pr-persona-promise p {
  font-size: 14px; line-height: 1.65; color: var(--c-cream-warm);
}

/* PROCESS */
.pr-persona-process {
  padding: 96px var(--gutter);
  max-width: var(--wrap-max); margin: 0 auto;
}
.pr-persona-process__head {
  display: flex; justify-content: space-between;
  align-items: flex-end; margin-bottom: 48px;
}
.pr-persona-process__head h2 {
  font-size: 56px; font-weight: 300; max-width: 18ch;
}
.pr-persona-process__head h2 em { color: var(--c-orange); font-style: italic; font-weight: 400; }
.pr-persona-process__head .lead {
  font-family: var(--f-display); font-style: italic;
  color: var(--c-cream-warm); font-size: 18px;
  max-width: 34ch; text-align: right;
}
.pr-persona-process__list { display: grid; gap: 0; }
.pr-persona-process__step {
  display: grid; grid-template-columns: 120px 1fr; gap: 48px;
  padding: 32px 0; border-top: 1px solid var(--c-rule);
  align-items: start;
}
.pr-persona-process__step:last-child { border-bottom: 1px solid var(--c-rule); }
.pr-persona-process__step .n {
  font-family: var(--f-display); font-style: italic;
  font-size: 48px; color: var(--c-orange); line-height: 1;
}
.pr-persona-process__step h3 {
  font-family: var(--f-display); font-size: 28px;
  font-weight: 400; margin-bottom: 10px;
}
.pr-persona-process__step h3 em { color: var(--c-orange); font-style: italic; font-weight: 400; }
.pr-persona-process__step p {
  font-size: 16px; line-height: 1.7;
  color: var(--c-cream-warm); max-width: 60ch;
}

/* BODY */
.pr-persona-body {
  background: var(--c-paper);
  border-top: 1px solid var(--c-rule);
  border-bottom: 1px solid var(--c-rule);
  padding: 0;
}
.pr-persona-body__inner {
  display: grid; grid-template-columns: 1.6fr 1fr; gap: 80px;
  max-width: var(--wrap-max); margin: 0 auto;
  padding: 96px var(--gutter); align-items: start;
}
.pr-persona-body h2 {
  font-size: 48px; font-weight: 300; margin-bottom: 24px;
}
.pr-persona-body h2 em { color: var(--c-orange); font-style: italic; font-weight: 400; }
.pr-persona-body p {
  font-size: 17px; line-height: 1.7;
  color: var(--c-cream-warm); margin-bottom: 20px; max-width: 64ch;
}
.pr-persona-cover { margin-top: 32px; display: grid; gap: 0; }
.pr-persona-cover__item {
  display: grid; grid-template-columns: 48px 1fr; gap: 24px;
  padding: 24px 0; border-top: 1px solid var(--c-rule);
  align-items: start;
}
.pr-persona-cover__item:last-child { border-bottom: 1px solid var(--c-rule); }
.pr-persona-cover__item .icon {
  font-family: var(--f-display); font-style: italic;
  font-size: 28px; color: var(--c-orange); line-height: 1;
}
.pr-persona-cover__item h4 {
  font-family: var(--f-display); font-size: 22px;
  font-weight: 400; margin-bottom: 6px;
}
.pr-persona-cover__item h4 em { color: var(--c-orange); font-style: italic; font-weight: 400; }
.pr-persona-cover__item p {
  font-size: 14px; line-height: 1.6;
  color: var(--c-cream-warm); margin: 0;
}

/* SPECIALIST sidebar */
.pr-persona-specialist { position: sticky; top: 32px; }
.pr-persona-specialist__card {
  background: var(--c-ink-soft); border: 1px solid var(--c-rule);
  padding: 32px;
}
.pr-persona-specialist__card .pre-label {
  font-size: 10px; letter-spacing: .28em; text-transform: uppercase;
  color: var(--c-orange); margin-bottom: 18px; font-weight: 500;
}
.pr-persona-specialist__card h4 {
  font-family: var(--f-display); font-size: 22px; line-height: 1.2;
  font-weight: 400; margin-bottom: 14px;
}
.pr-persona-specialist__card h4 em { color: var(--c-orange); font-style: italic; font-weight: 400; }
.pr-persona-specialist__blurb {
  font-size: 14px; line-height: 1.6;
  color: var(--c-cream-warm); margin-bottom: 20px;
}
.pr-persona-specialist__actions { display: grid; gap: 10px; margin-bottom: 18px; }
.pr-persona-specialist__quote {
  font-family: var(--f-display); font-style: italic;
  font-size: 15px; line-height: 1.5;
  color: var(--c-cream-warm); opacity: .9;
  border-top: 1px solid var(--c-rule); padding-top: 18px;
}

/* PULL QUOTE */
.pr-persona-pull {
  padding: 96px var(--gutter);
  max-width: 920px; margin: 0 auto; text-align: center;
}
.pr-persona-pull blockquote {
  font-family: var(--f-display); font-style: italic;
  font-size: 36px; line-height: 1.3;
  color: var(--c-cream); margin: 14px 0 24px;
}
.pr-persona-pull blockquote em { color: var(--c-orange); font-style: italic; font-weight: 400; }
.pr-persona-pull cite {
  display: block; font-style: normal; font-family: var(--f-body);
  font-size: 11px; letter-spacing: .22em; text-transform: uppercase;
  color: var(--c-orange); font-weight: 500;
}
.pr-persona-pull cite span {
  display: block; color: var(--c-muted);
  margin-top: 6px; letter-spacing: .16em;
}

/* FAQ */
.pr-persona-faq {
  background: var(--c-paper);
  border-top: 1px solid var(--c-rule);
  border-bottom: 1px solid var(--c-rule);
  padding: 0;
}
.pr-persona-faq__inner {
  display: grid; grid-template-columns: 1fr 1.6fr; gap: 80px;
  max-width: var(--wrap-max); margin: 0 auto;
  padding: 96px var(--gutter);
}
.pr-persona-faq__head h2 {
  font-size: 48px; font-weight: 300;
  max-width: 14ch; margin-top: 14px;
}
.pr-persona-faq__head h2 em { color: var(--c-orange); font-style: italic; font-weight: 400; }
.pr-persona-faq__head p {
  font-family: var(--f-display); font-style: italic;
  font-size: 17px; color: var(--c-cream-warm);
  opacity: .85; margin-top: 20px; max-width: 32ch;
}
.pr-persona-faq__list { display: grid; gap: 0; }
.pr-persona-faq__item {
  border-top: 1px solid var(--c-rule); padding: 24px 0;
}
.pr-persona-faq__item:last-child { border-bottom: 1px solid var(--c-rule); }
.pr-persona-faq__item h4 {
  font-family: var(--f-display); font-size: 22px;
  font-weight: 400; margin-bottom: 10px;
}
.pr-persona-faq__item h4 em { color: var(--c-orange); font-style: italic; font-weight: 400; }
.pr-persona-faq__item p {
  font-size: 15px; line-height: 1.65;
  color: var(--c-cream-warm); max-width: 60ch;
}

/* TELL-US-WHERE-YOU-ARE */
.pr-persona-tell-us {
  padding: 96px var(--gutter);
  max-width: var(--wrap-max); margin: 0 auto;
}
.pr-persona-tell-us__inner {
  display: grid; grid-template-columns: 1fr 1.3fr; gap: 80px;
  align-items: start;
}
.pr-persona-tell-us__copy h2 {
  font-size: 48px; font-weight: 300; margin: 14px 0 20px;
}
.pr-persona-tell-us__copy h2 em { color: var(--c-orange); font-style: italic; font-weight: 400; }
.pr-persona-tell-us__copy p {
  font-size: 17px; line-height: 1.7;
  color: var(--c-cream-warm); margin-bottom: 16px; max-width: 36ch;
}
.pr-persona-tell-us__copy p strong { color: var(--c-cream); font-weight: 500; }

.pr-persona-tell-us__form {
  background: var(--c-ink-soft); border: 1px solid var(--c-rule);
  padding: 44px; position: relative;
}
.pr-persona-tell-us__form .pr-persona-tell-us__row { margin-bottom: 24px; }
.pr-persona-tell-us__form label {
  display: block; font-size: 10px; letter-spacing: .22em;
  text-transform: uppercase; color: var(--c-orange);
  margin-bottom: 10px; font-weight: 500;
  font-family: var(--f-body); line-height: 1.4;
}
.pr-persona-tell-us__form input[type=text],
.pr-persona-tell-us__form input[type=email],
.pr-persona-tell-us__form input[type=tel],
.pr-persona-tell-us__form select,
.pr-persona-tell-us__form textarea {
  width: 100%; box-sizing: border-box; display: block;
  padding: 16px 18px;
  background: var(--c-ink); border: 1px solid var(--c-rule-strong);
  color: var(--c-cream); font-family: var(--f-body);
  font-size: 15px; font-weight: 300; line-height: 1.4;
  border-radius: 2px;
  transition: border-color .2s, background .2s, box-shadow .2s;
  -webkit-appearance: none; -moz-appearance: none; appearance: none;
}
.pr-persona-tell-us__form input::placeholder,
.pr-persona-tell-us__form textarea::placeholder {
  color: var(--c-muted); opacity: .65;
}
.pr-persona-tell-us__form input:hover,
.pr-persona-tell-us__form select:hover,
.pr-persona-tell-us__form textarea:hover {
  border-color: var(--c-orange-bright);
}
.pr-persona-tell-us__form input:focus,
.pr-persona-tell-us__form select:focus,
.pr-persona-tell-us__form textarea:focus {
  outline: none; border-color: var(--c-orange);
  box-shadow: 0 0 0 3px rgba(217,112,71,.18);
}
.pr-persona-tell-us__form textarea { min-height: 120px; resize: vertical; }

.pr-persona-tell-us__cols {
  display: grid; grid-template-columns: 1fr 1fr; gap: 18px;
}
.pr-persona-tell-us__cols > div { margin-bottom: 24px; }

.pr-persona-tell-us__stage {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin-top: 4px;
}
.pr-persona-tell-us__opt {
  display: flex; align-items: flex-start; gap: 12px;
  padding: 18px; border: 1px solid var(--c-rule-strong);
  cursor: pointer; transition: border-color .2s, background .2s;
  letter-spacing: 0; text-transform: none; font-weight: 300;
  color: var(--c-cream-warm); font-size: 13px; line-height: 1.4;
  margin-bottom: 0; border-radius: 2px; font-family: var(--f-body);
}
.pr-persona-tell-us__opt:hover { border-color: var(--c-orange-bright); background: rgba(217,112,71,.04); }
.pr-persona-tell-us__opt.is-on {
  border-color: var(--c-orange); background: rgba(217,112,71,.10);
  box-shadow: 0 0 0 1px var(--c-orange) inset;
}
.pr-persona-tell-us__opt input[type=radio] {
  margin: 3px 0 0 0 !important; width: auto !important; padding: 0 !important;
  background: transparent !important; border: 0 !important; box-shadow: none !important;
  accent-color: var(--c-orange); flex-shrink: 0;
  -webkit-appearance: radio; appearance: radio;
}
.pr-persona-tell-us__opt strong {
  display: block; color: var(--c-cream); font-weight: 500;
  font-size: 13px; margin-bottom: 3px;
}

.pr-persona-tell-us__foot {
  margin-top: 12px; display: flex;
  justify-content: space-between; align-items: center;
  gap: 18px; flex-wrap: wrap;
}
.pr-persona-tell-us__foot .small {
  font-size: 11px; color: var(--c-muted); font-style: italic;
  max-width: 32ch; line-height: 1.5;
}
.pr-persona-tell-us__hp {
  position: absolute !important; left: -9999px !important;
  opacity: 0 !important; pointer-events: none !important;
  height: 0; width: 0;
}
.pr-persona-tell-us__status {
  margin-top: 14px; font-size: 14px; font-style: italic;
  min-height: 22px;
}
.pr-persona-tell-us__status.success { color: var(--c-orange-bright); }
.pr-persona-tell-us__status.error   { color: #e88; }

/* LISTINGS */
.pr-persona-listings {
  padding: 96px var(--gutter);
  max-width: var(--wrap-max); margin: 0 auto;
}
.pr-persona-listings__head {
  display: flex; justify-content: space-between;
  align-items: flex-end; margin-bottom: 40px;
}
.pr-persona-listings__head h2 { font-size: 42px; font-weight: 300; }
.pr-persona-listings__head h2 em { color: var(--c-orange); font-style: italic; font-weight: 400; }
.pr-persona-listings__head a {
  font-size: 11px; letter-spacing: .22em; text-transform: uppercase;
  color: var(--c-orange); font-weight: 500;
}
.pr-persona-listings__grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px;
}
.pr-persona-lcard { display: block; color: inherit; text-decoration: none; }
.pr-persona-lcard__img {
  aspect-ratio: 4/3; overflow: hidden;
  background: var(--c-ink-soft); position: relative; margin-bottom: 14px;
}
.pr-persona-lcard__img img {
  width: 100%; height: 100%; object-fit: cover;
  transition: transform .5s;
}
.pr-persona-lcard:hover .pr-persona-lcard__img img { transform: scale(1.04); }
.pr-persona-lcard__tag {
  position: absolute; top: 14px; left: 14px;
  background: var(--c-orange); color: var(--c-ink);
  padding: 5px 10px; font-size: 10px; letter-spacing: .18em;
  text-transform: uppercase; font-weight: 600;
}
.pr-persona-lcard__tag--sold {
  background: rgba(10,10,10,.85); color: var(--c-cream);
  border: 1px solid var(--c-rule-strong);
}
.pr-persona-lcard__loc {
  font-size: 10px; letter-spacing: .2em; text-transform: uppercase;
  color: var(--c-orange); margin-bottom: 6px; font-weight: 500;
}
.pr-persona-lcard h3 {
  font-family: var(--f-display); font-size: 22px;
  font-weight: 400; line-height: 1.2; margin-bottom: 8px;
}
.pr-persona-lcard h3 em { color: var(--c-orange); font-style: italic; font-weight: 400; }
.pr-persona-lcard__meta {
  display: flex; gap: 14px; font-size: 12px;
  color: var(--c-muted); margin-bottom: 8px;
}
.pr-persona-lcard__price {
  font-family: var(--f-display); font-size: 18px; color: var(--c-cream);
}

/* NEIGHBORHOODS */
.pr-persona-neigh {
  padding: 0 var(--gutter) 96px;
  max-width: var(--wrap-max); margin: 0 auto;
}
.pr-persona-neigh__head { margin-bottom: 32px; }
.pr-persona-neigh__head h3 {
  font-size: 24px; letter-spacing: .04em;
  font-weight: 300; margin-top: 14px;
}
.pr-persona-neigh__head h3 em { color: var(--c-orange); font-style: italic; font-weight: 400; }
.pr-persona-neigh__grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px;
}
.pr-persona-neigh__card {
  display: block; padding: 20px 22px;
  border: 1px solid var(--c-rule); transition: border-color .25s;
  color: inherit; text-decoration: none;
}
.pr-persona-neigh__card:hover { border-color: var(--c-orange); }
.pr-persona-neigh__card h4 {
  font-family: var(--f-display); font-size: 20px;
  font-weight: 400; margin-bottom: 4px;
}
.pr-persona-neigh__card h4 em { color: var(--c-orange); font-style: italic; font-weight: 400; }
.pr-persona-neigh__card span {
  font-size: 11px; letter-spacing: .18em;
  text-transform: uppercase; color: var(--c-muted);
}

/* CTA */
.pr-persona-cta {
  padding: 120px var(--gutter);
  text-align: center;
  max-width: var(--wrap-max); margin: 0 auto;
}
.pr-persona-cta h2 {
  font-size: clamp(48px, 5.5vw, 80px);
  font-weight: 300; line-height: 1.05;
  margin: 14px 0 24px;
}
.pr-persona-cta h2 em { color: var(--c-orange); font-style: italic; font-weight: 400; }
.pr-persona-cta p {
  font-family: var(--f-display); font-style: italic;
  font-size: 20px; color: var(--c-cream-warm); opacity: .85;
  max-width: 44ch; margin: 0 auto 40px;
}
.pr-persona-cta__actions {
  display: flex; gap: 16px; justify-content: center; flex-wrap: wrap;
}

/* RESPONSIVE */
@media (max-width: 980px) {
  .pr-persona-hero { grid-template-columns: 1fr; gap: 48px; }
  .pr-persona-promises__inner { grid-template-columns: 1fr; gap: 32px; }
  .pr-persona-process__head { flex-direction: column; gap: 20px; align-items: flex-start; }
  .pr-persona-process__head .lead { text-align: left; }
  .pr-persona-process__step { grid-template-columns: 1fr; gap: 12px; }
  .pr-persona-body__inner { grid-template-columns: 1fr; gap: 48px; padding: 64px var(--gutter); }
  .pr-persona-specialist { position: static; }
  .pr-persona-faq__inner { grid-template-columns: 1fr; gap: 48px; padding: 64px var(--gutter); }
  .pr-persona-tell-us__inner { grid-template-columns: 1fr; gap: 48px; }
  .pr-persona-tell-us__cols { grid-template-columns: 1fr; }
  .pr-persona-tell-us__stage { grid-template-columns: 1fr; }
  .pr-persona-listings__grid { grid-template-columns: 1fr; }
  .pr-persona-neigh__grid { grid-template-columns: 1fr 1fr; }
}


/* home-value */
/* ============================================================
   /what-is-my-home-worth/ page
   Same brand language as persona pages. CMA request as the central
   conversion point.
   ============================================================ */

.pr-hv-hero, .pr-hv-why, .pr-hv-form-section,
.pr-hv-next, .pr-hv-proof, .pr-hv-cta {
  width: 100% !important; box-sizing: border-box;
}

/* HERO */
.pr-hv-hero {
  padding: 64px var(--gutter) 96px;
  max-width: var(--wrap-max); margin: 0 auto;
  display: grid; grid-template-columns: 1.5fr 1fr;
  gap: 80px; align-items: end;
}
.pr-hv-hero h1 {
  font-size: clamp(56px, 7.5vw, 108px);
  line-height: .95; font-weight: 300;
  margin-top: 18px; margin-bottom: 32px;
}
.pr-hv-hero h1 em { color: var(--c-orange); font-style: italic; font-weight: 400; }
.pr-hv-hero__lead {
  font-family: var(--f-display); font-style: italic;
  font-size: 22px; color: var(--c-cream-warm); opacity: .95;
  max-width: 40ch; line-height: 1.45; margin-bottom: 40px;
}
.pr-hv-hero__actions { display: flex; gap: 16px; flex-wrap: wrap; }
.pr-hv-hero__illu {
  aspect-ratio: 4/5; overflow: hidden;
  background: var(--c-ink-soft); position: relative;
}
.pr-hv-hero__illu img {
  width: 100%; height: 100%; object-fit: cover;
  filter: saturate(.95) contrast(1.05);
}
.pr-hv-hero__illu::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 60%, rgba(10,10,10,.45));
  pointer-events: none;
}

/* WHY NOT ZILLOW */
.pr-hv-why {
  background: var(--c-paper);
  padding: 96px var(--gutter);
  border-top: 1px solid var(--c-rule);
  border-bottom: 1px solid var(--c-rule);
}
.pr-hv-why__inner { max-width: var(--wrap-max); margin: 0 auto; }
.pr-hv-why__head { margin-bottom: 48px; }
.pr-hv-why__head h2 {
  font-size: 48px; font-weight: 300;
  max-width: 18ch; margin-top: 14px;
}
.pr-hv-why__head h2 em { color: var(--c-orange); font-style: italic; font-weight: 400; }
.pr-hv-why__grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px;
}
.pr-hv-why__card {
  background: var(--c-ink-soft); border: 1px solid var(--c-rule);
  padding: 32px 28px;
}
.pr-hv-why__card h3 {
  font-family: var(--f-display); font-size: 26px;
  font-weight: 400; margin: 14px 0 14px; line-height: 1.15;
}
.pr-hv-why__card h3 em { color: var(--c-orange); font-style: italic; font-weight: 400; }
.pr-hv-why__card p {
  font-size: 15px; line-height: 1.65; color: var(--c-cream-warm);
}

/* THE FORM */
.pr-hv-form-section {
  padding: 96px var(--gutter);
  max-width: var(--wrap-max); margin: 0 auto;
}
.pr-hv-form-section__inner {
  display: grid; grid-template-columns: 1fr 1.3fr;
  gap: 80px; align-items: start;
}
.pr-hv-form-section__copy h2 {
  font-size: 48px; font-weight: 300; margin: 14px 0 20px;
}
.pr-hv-form-section__copy h2 em { color: var(--c-orange); font-style: italic; font-weight: 400; }
.pr-hv-form-section__copy p {
  font-size: 17px; line-height: 1.7;
  color: var(--c-cream-warm); margin-bottom: 16px; max-width: 36ch;
}
.pr-hv-form-section__copy p strong { color: var(--c-cream); font-weight: 500; }
.pr-hv-bullets {
  list-style: none; padding: 0; margin: 0 0 18px;
  display: grid; gap: 12px;
}
.pr-hv-bullets li {
  padding-left: 20px; position: relative;
  font-size: 14px; color: var(--c-cream-warm); line-height: 1.5;
}
.pr-hv-bullets li::before {
  content: '•'; position: absolute; left: 0;
  color: var(--c-orange); font-size: 18px; line-height: 1;
}
.pr-hv-microcopy {
  font-size: 13px !important; color: var(--c-muted) !important;
  font-style: italic; max-width: 40ch !important;
}

.pr-hv-form {
  background: var(--c-ink-soft); border: 1px solid var(--c-rule);
  padding: 44px; position: relative;
}
.pr-hv-form .pr-hv-form__row { margin-bottom: 24px; }
.pr-hv-form label {
  display: block; font-size: 10px; letter-spacing: .22em;
  text-transform: uppercase; color: var(--c-orange);
  margin-bottom: 10px; font-weight: 500;
  font-family: var(--f-body); line-height: 1.4;
}
.pr-hv-form label .req {
  display: inline-block; margin-left: 8px;
  font-size: 9px; color: var(--c-muted); font-weight: 400;
  letter-spacing: .14em; font-style: italic;
}
.pr-hv-form input[type=text],
.pr-hv-form input[type=email],
.pr-hv-form input[type=tel],
.pr-hv-form select,
.pr-hv-form textarea {
  width: 100%; box-sizing: border-box; display: block;
  padding: 16px 18px;
  background: var(--c-ink); border: 1px solid var(--c-rule-strong);
  color: var(--c-cream); font-family: var(--f-body);
  font-size: 15px; font-weight: 300; line-height: 1.4;
  border-radius: 2px;
  transition: border-color .2s, box-shadow .2s;
  -webkit-appearance: none; -moz-appearance: none; appearance: none;
}
.pr-hv-form input::placeholder, .pr-hv-form textarea::placeholder {
  color: var(--c-muted); opacity: .65;
}
.pr-hv-form input:hover, .pr-hv-form select:hover, .pr-hv-form textarea:hover {
  border-color: var(--c-orange-bright);
}
.pr-hv-form input:focus, .pr-hv-form select:focus, .pr-hv-form textarea:focus {
  outline: none; border-color: var(--c-orange);
  box-shadow: 0 0 0 3px rgba(217,112,71,.18);
}
.pr-hv-form textarea { min-height: 96px; resize: vertical; }
.pr-hv-form select {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none'><path d='M1 1l5 5 5-5' stroke='%23d97047' stroke-width='1.5'/></svg>");
  background-repeat: no-repeat;
  background-position: right 18px center;
  padding-right: 42px;
}
.pr-hv-form__cols {
  display: grid; grid-template-columns: 1fr 1fr; gap: 18px;
}
.pr-hv-form__cols > div { margin-bottom: 24px; }
.pr-hv-form__triple {
  display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 18px;
  margin-bottom: 0;
}
.pr-hv-form__triple > div { margin-bottom: 24px; }
.pr-hv-form__foot {
  margin-top: 12px; display: flex;
  justify-content: space-between; align-items: center;
  gap: 18px; flex-wrap: wrap;
}
.pr-hv-form__foot .small {
  font-size: 11px; color: var(--c-muted); font-style: italic;
  max-width: 36ch; line-height: 1.5;
}
.pr-hv-form__hp {
  position: absolute !important; left: -9999px !important;
  opacity: 0 !important; pointer-events: none !important;
  height: 0; width: 0;
}
.pr-hv-form__status {
  margin-top: 14px; font-size: 14px; font-style: italic;
  min-height: 22px;
}
.pr-hv-form__status.success { color: var(--c-orange-bright); }
.pr-hv-form__status.error   { color: #e88; }

/* WHAT HAPPENS NEXT */
.pr-hv-next {
  background: var(--c-paper);
  padding: 96px var(--gutter);
  border-top: 1px solid var(--c-rule);
  border-bottom: 1px solid var(--c-rule);
}
.pr-hv-next__inner { max-width: var(--wrap-max); margin: 0 auto; }
.pr-hv-next__head { margin-bottom: 48px; }
.pr-hv-next__head h2 {
  font-size: 48px; font-weight: 300; max-width: 22ch; margin-top: 14px;
}
.pr-hv-next__head h2 em { color: var(--c-orange); font-style: italic; font-weight: 400; }
.pr-hv-next__grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px;
}
.pr-hv-next__step .num {
  font-family: var(--f-display); font-style: italic;
  font-size: 48px; color: var(--c-orange); line-height: 1; margin-bottom: 14px;
}
.pr-hv-next__step h3 {
  font-family: var(--f-display); font-size: 28px;
  font-weight: 400; margin-bottom: 10px;
}
.pr-hv-next__step h3 em { color: var(--c-orange); font-style: italic; font-weight: 400; }
.pr-hv-next__step p {
  font-size: 15px; line-height: 1.65; color: var(--c-cream-warm);
  max-width: 38ch;
}

/* RECENT SOLD PROOF */
.pr-hv-proof {
  padding: 96px var(--gutter);
  max-width: var(--wrap-max); margin: 0 auto;
}
.pr-hv-proof__head { margin-bottom: 40px; }
.pr-hv-proof__head h2 {
  font-size: 42px; font-weight: 300; margin-top: 14px;
}
.pr-hv-proof__head h2 em { color: var(--c-orange); font-style: italic; font-weight: 400; }
.pr-hv-proof__grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px;
}
.pr-hv-lcard { display: block; color: inherit; text-decoration: none; }
.pr-hv-lcard__img {
  aspect-ratio: 4/3; overflow: hidden;
  background: var(--c-ink-soft); position: relative; margin-bottom: 14px;
}
.pr-hv-lcard__img img {
  width: 100%; height: 100%; object-fit: cover; transition: transform .5s;
}
.pr-hv-lcard:hover .pr-hv-lcard__img img { transform: scale(1.04); }
.pr-hv-lcard__tag {
  position: absolute; top: 14px; left: 14px;
  background: rgba(10,10,10,.85); color: var(--c-cream);
  padding: 5px 10px; font-size: 10px; letter-spacing: .18em;
  text-transform: uppercase; font-weight: 600; border: 1px solid var(--c-rule-strong);
}
.pr-hv-lcard__loc {
  font-size: 10px; letter-spacing: .2em; text-transform: uppercase;
  color: var(--c-orange); margin-bottom: 6px; font-weight: 500;
}
.pr-hv-lcard h3 {
  font-family: var(--f-display); font-size: 22px;
  font-weight: 400; line-height: 1.2; margin-bottom: 8px;
}
.pr-hv-lcard h3 em { color: var(--c-orange); font-style: italic; font-weight: 400; }
.pr-hv-lcard__meta {
  display: flex; gap: 14px; font-size: 12px;
  color: var(--c-muted); margin-bottom: 8px;
}
.pr-hv-lcard__price {
  font-family: var(--f-display); font-size: 18px; color: var(--c-cream);
}
.pr-hv-proof__foot {
  margin-top: 40px; text-align: center;
}

/* CTA */
.pr-hv-cta {
  padding: 120px var(--gutter);
  text-align: center;
  max-width: var(--wrap-max); margin: 0 auto;
}
.pr-hv-cta h2 {
  font-size: clamp(48px, 5.5vw, 80px);
  font-weight: 300; line-height: 1.05;
  margin: 14px 0 24px;
}
.pr-hv-cta h2 em { color: var(--c-orange); font-style: italic; font-weight: 400; }
.pr-hv-cta p {
  font-family: var(--f-display); font-style: italic;
  font-size: 20px; color: var(--c-cream-warm); opacity: .85;
  max-width: 44ch; margin: 0 auto 40px;
}
.pr-hv-cta__actions {
  display: flex; gap: 16px; justify-content: center; flex-wrap: wrap;
}

/* RESPONSIVE */
@media (max-width: 980px) {
  .pr-hv-hero { grid-template-columns: 1fr; gap: 48px; }
  .pr-hv-why__grid { grid-template-columns: 1fr; gap: 24px; }
  .pr-hv-form-section__inner { grid-template-columns: 1fr; gap: 48px; }
  .pr-hv-form__cols { grid-template-columns: 1fr; }
  .pr-hv-form__triple { grid-template-columns: 1fr 1fr 1fr; gap: 12px; }
  .pr-hv-next__grid { grid-template-columns: 1fr; }
  .pr-hv-proof__grid { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .pr-hv-form__triple { grid-template-columns: 1fr; }
}


/* contact */
/* ============================================================
   /contact/ page
   Reuses brand language. Form pattern locked.
   ============================================================ */

.pr-contact-hero, .pr-contact-strip, .pr-contact-paths,
.pr-contact-form-section, .pr-contact-meet {
  width: 100% !important; box-sizing: border-box;
}

/* HERO */
.pr-contact-hero {
  padding: 64px var(--gutter) 96px;
  max-width: var(--wrap-max); margin: 0 auto;
  display: grid; grid-template-columns: 1.4fr 1fr;
  gap: 80px; align-items: end;
}
.pr-contact-hero h1 {
  font-size: clamp(56px, 7.5vw, 108px);
  line-height: .95; font-weight: 300;
  margin-top: 18px; margin-bottom: 32px;
}
.pr-contact-hero h1 em { color: var(--c-orange); font-style: italic; font-weight: 400; }
.pr-contact-hero__lead {
  font-family: var(--f-display); font-style: italic;
  font-size: 22px; color: var(--c-cream-warm); opacity: .95;
  max-width: 38ch; line-height: 1.45; margin-bottom: 40px;
}
.pr-contact-hero__actions { display: flex; gap: 16px; flex-wrap: wrap; }
.pr-contact-hero__illu {
  aspect-ratio: 4/5; overflow: hidden;
  background: var(--c-ink-soft); position: relative;
}
.pr-contact-hero__illu img {
  width: 100%; height: 100%; object-fit: cover;
  filter: saturate(.95) contrast(1.05);
}
.pr-contact-hero__illu::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 60%, rgba(10,10,10,.45));
  pointer-events: none;
}

/* OFFICE STRIP */
.pr-contact-strip {
  background: var(--c-paper);
  padding: 48px var(--gutter);
  border-top: 1px solid var(--c-rule);
  border-bottom: 1px solid var(--c-rule);
}
.pr-contact-strip__inner {
  max-width: var(--wrap-max); margin: 0 auto;
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 48px;
}
.pr-contact-strip .pr-eyebrow { margin-bottom: 10px; }
.pr-contact-strip__big {
  display: block;
  font-family: var(--f-display); font-size: 26px;
  color: var(--c-cream); line-height: 1.2; font-weight: 400;
  margin-bottom: 6px; word-wrap: break-word;
}
a.pr-contact-strip__big:hover { color: var(--c-orange-bright); }
.pr-contact-strip__sub {
  font-size: 13px; color: var(--c-muted);
  font-family: var(--f-body); font-style: italic;
}

/* 3 PATHS */
.pr-contact-paths {
  padding: 96px var(--gutter);
  max-width: var(--wrap-max); margin: 0 auto;
}
.pr-contact-paths__head { margin-bottom: 48px; }
.pr-contact-paths__head h2 {
  font-size: 48px; font-weight: 300; margin-top: 14px;
}
.pr-contact-paths__head h2 em { color: var(--c-orange); font-style: italic; font-weight: 400; }
.pr-contact-paths__grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px;
}
.pr-contact-path {
  display: block; padding: 36px 32px;
  background: var(--c-ink-soft);
  border: 1px solid var(--c-rule);
  transition: border-color .25s, transform .25s;
  color: inherit; text-decoration: none;
}
.pr-contact-path:hover { border-color: var(--c-orange); transform: translateY(-3px); }
.pr-contact-path .pr-eyebrow { margin-bottom: 14px; }
.pr-contact-path h3 {
  font-family: var(--f-display); font-size: 28px;
  font-weight: 400; line-height: 1.15; margin-bottom: 12px;
}
.pr-contact-path h3 em { color: var(--c-orange); font-style: italic; font-weight: 400; }
.pr-contact-path p {
  font-size: 14px; line-height: 1.65; color: var(--c-cream-warm);
  margin-bottom: 20px;
}
.pr-contact-path__link {
  font-size: 11px; letter-spacing: .22em; text-transform: uppercase;
  color: var(--c-orange); font-weight: 500;
}

/* CONTACT FORM SECTION */
.pr-contact-form-section {
  background: var(--c-paper);
  padding: 96px var(--gutter);
  border-top: 1px solid var(--c-rule);
  border-bottom: 1px solid var(--c-rule);
}
.pr-contact-form-section__inner {
  max-width: var(--wrap-max); margin: 0 auto;
  display: grid; grid-template-columns: 1fr 1.3fr;
  gap: 80px; align-items: start;
}
.pr-contact-form-section__copy h2 {
  font-size: 48px; font-weight: 300; margin: 14px 0 20px;
}
.pr-contact-form-section__copy h2 em { color: var(--c-orange); font-style: italic; font-weight: 400; }
.pr-contact-form-section__copy p {
  font-size: 17px; line-height: 1.7;
  color: var(--c-cream-warm); margin-bottom: 16px; max-width: 36ch;
}
.pr-contact-form-section__copy p strong { color: var(--c-cream); font-weight: 500; }

.pr-contact-partners {
  margin-top: 32px;
  padding-top: 24px;
  border-top: 1px solid var(--c-rule);
}
.pr-contact-partners .pr-eyebrow { margin-bottom: 18px; }
.pr-contact-partners__link {
  display: flex; align-items: center; gap: 16px;
  padding: 14px 18px; margin-bottom: 10px;
  border: 1px solid var(--c-rule);
  transition: border-color .2s, background .2s;
  cursor: pointer; color: inherit; text-decoration: none;
}
.pr-contact-partners__link:hover {
  border-color: var(--c-orange);
  background: rgba(217,112,71,.05);
}
.pr-contact-partners__link img {
  width: 44px; height: 44px; border-radius: 50%;
  object-fit: cover; filter: grayscale(.15);
}
.pr-contact-partners__link strong {
  display: block;
  font-family: var(--f-display); font-size: 17px;
  color: var(--c-cream); font-weight: 400; line-height: 1.2;
  margin-bottom: 2px;
}
.pr-contact-partners__link span {
  display: block;
  font-size: 10px; letter-spacing: .2em; text-transform: uppercase;
  color: var(--c-orange); font-weight: 500;
}

/* CONTACT FORM (same locked-in pattern) */
.pr-contact-form {
  background: var(--c-ink-soft); border: 1px solid var(--c-rule);
  padding: 44px; position: relative;
}
.pr-contact-form .pr-contact-form__row { margin-bottom: 24px; }
.pr-contact-form label {
  display: block; font-size: 10px; letter-spacing: .22em;
  text-transform: uppercase; color: var(--c-orange);
  margin-bottom: 10px; font-weight: 500;
  font-family: var(--f-body); line-height: 1.4;
}
.pr-contact-form input[type=text],
.pr-contact-form input[type=email],
.pr-contact-form input[type=tel],
.pr-contact-form select,
.pr-contact-form textarea {
  width: 100%; box-sizing: border-box; display: block;
  padding: 16px 18px;
  background: var(--c-ink); border: 1px solid var(--c-rule-strong);
  color: var(--c-cream); font-family: var(--f-body);
  font-size: 15px; font-weight: 300; line-height: 1.4;
  border-radius: 2px;
  transition: border-color .2s, box-shadow .2s;
  -webkit-appearance: none; -moz-appearance: none; appearance: none;
}
.pr-contact-form input::placeholder, .pr-contact-form textarea::placeholder {
  color: var(--c-muted); opacity: .65;
}
.pr-contact-form input:hover, .pr-contact-form select:hover, .pr-contact-form textarea:hover {
  border-color: var(--c-orange-bright);
}
.pr-contact-form input:focus, .pr-contact-form select:focus, .pr-contact-form textarea:focus {
  outline: none; border-color: var(--c-orange);
  box-shadow: 0 0 0 3px rgba(217,112,71,.18);
}
.pr-contact-form textarea { min-height: 140px; resize: vertical; }
.pr-contact-form select {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none'><path d='M1 1l5 5 5-5' stroke='%23d97047' stroke-width='1.5'/></svg>");
  background-repeat: no-repeat;
  background-position: right 18px center;
  padding-right: 42px;
}
.pr-contact-form__cols {
  display: grid; grid-template-columns: 1fr 1fr; gap: 18px;
}
.pr-contact-form__cols > div { margin-bottom: 24px; }
.pr-contact-form__foot {
  margin-top: 12px; display: flex;
  justify-content: space-between; align-items: center;
  gap: 18px; flex-wrap: wrap;
}
.pr-contact-form__foot .small {
  font-size: 11px; color: var(--c-muted); font-style: italic;
  max-width: 36ch; line-height: 1.5;
}
.pr-contact-form__hp {
  position: absolute !important; left: -9999px !important;
  opacity: 0 !important; pointer-events: none !important;
  height: 0; width: 0;
}
.pr-contact-form__status {
  margin-top: 14px; font-size: 14px; font-style: italic;
  min-height: 22px;
}
.pr-contact-form__status.success { color: var(--c-orange-bright); }
.pr-contact-form__status.error   { color: #e88; }

/* MEET THE PARTNERS BAND */
.pr-contact-meet {
  padding: 96px var(--gutter);
  max-width: var(--wrap-max); margin: 0 auto;
}
.pr-contact-meet__head { margin-bottom: 48px; }
.pr-contact-meet__head h2 {
  font-size: 48px; font-weight: 300; margin-top: 14px;
}
.pr-contact-meet__head h2 em { color: var(--c-orange); font-style: italic; font-weight: 400; }
.pr-contact-meet__grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 32px;
}
.pr-contact-meet__card {
  display: grid; grid-template-columns: 1fr 1.4fr; gap: 28px;
  padding: 28px; border: 1px solid var(--c-rule);
  transition: border-color .25s; align-items: center;
  color: inherit; text-decoration: none;
}
.pr-contact-meet__card:hover { border-color: var(--c-orange); }
.pr-contact-meet__img {
  aspect-ratio: 1; overflow: hidden; background: var(--c-ink-soft);
}
.pr-contact-meet__img img {
  width: 100%; height: 100%; object-fit: cover;
  filter: grayscale(.15) contrast(1.05);
}
.pr-contact-meet__body h3 {
  font-family: var(--f-display); font-size: 28px;
  font-weight: 400; line-height: 1.1; margin: 8px 0 8px;
}
.pr-contact-meet__body h3 em { color: var(--c-orange); font-style: italic; font-weight: 400; }
.pr-contact-meet__body .role {
  font-size: 11px; letter-spacing: .18em; text-transform: uppercase;
  color: var(--c-muted); margin-bottom: 14px;
}
.pr-contact-meet__body .link {
  font-size: 11px; letter-spacing: .22em; text-transform: uppercase;
  color: var(--c-orange); font-weight: 500;
}

@media (max-width: 980px) {
  .pr-contact-hero { grid-template-columns: 1fr; gap: 48px; }
  .pr-contact-strip__inner { grid-template-columns: 1fr; gap: 32px; }
  .pr-contact-paths__grid { grid-template-columns: 1fr; }
  .pr-contact-form-section__inner { grid-template-columns: 1fr; gap: 48px; }
  .pr-contact-form__cols { grid-template-columns: 1fr; }
  .pr-contact-meet__grid { grid-template-columns: 1fr; }
  .pr-contact-meet__card { grid-template-columns: 1fr; }
}


/* about */
/* ============================================================
   About page (/about/)
   ============================================================ */

.pr-about-hero,
.pr-about-story,
.pr-about-beliefs,
.pr-about-partners,
.pr-about-how,
.pr-about-cta {
  width: 100% !important; box-sizing: border-box;
}

/* HERO */
.pr-about-hero {
  padding: 80px var(--gutter) 96px;
  background: var(--c-ink);
  border-bottom: 1px solid var(--c-rule);
}
.pr-about-hero__inner {
  max-width: var(--wrap-max); margin: 0 auto;
  display: grid; grid-template-columns: 1.5fr 1fr; gap: 64px;
  align-items: end;
}
.pr-about-hero__copy h1 {
  font-size: clamp(48px, 6.5vw, 96px);
  line-height: .98; font-weight: 300;
  margin: 14px 0 24px;
}
.pr-about-hero__copy h1 em { color: var(--c-orange); font-style: italic; font-weight: 400; }
.pr-about-hero__lead {
  font-family: var(--f-display); font-style: italic;
  font-size: 22px; line-height: 1.5;
  color: var(--c-cream-warm); max-width: 56ch;
  margin-bottom: 36px;
}
.pr-about-hero__actions {
  display: flex; gap: 14px; flex-wrap: wrap;
}
.pr-about-hero__stats {
  display: grid; gap: 28px;
  border-left: 1px solid var(--c-rule);
  padding-left: 36px;
}
.pr-about-hero__stats > div { display: block; }
.pr-about-hero__stats strong {
  display: block;
  font-family: var(--f-display);
  font-size: 48px; font-weight: 300; line-height: 1;
  color: var(--c-orange);
  margin-bottom: 6px;
}
.pr-about-hero__stats span {
  display: block;
  font-size: 12px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--c-muted); font-weight: 500;
}

/* FOUNDING STORY */
.pr-about-story {
  padding: 96px var(--gutter);
  background: var(--c-ink-soft);
}
.pr-about-story__inner {
  max-width: var(--wrap-max); margin: 0 auto;
}
.pr-about-story__head {
  max-width: 820px; margin-bottom: 56px;
}
.pr-about-story__head h2 {
  font-family: var(--f-display); font-size: clamp(36px, 4.5vw, 56px);
  font-weight: 300; line-height: 1.08; margin-top: 14px;
}
.pr-about-story__head h2 em { color: var(--c-orange); font-style: italic; font-weight: 400; }
.pr-about-story__cols {
  display: grid; grid-template-columns: 1fr 1fr; gap: 64px;
}
.pr-about-story__col p {
  font-size: 17px; line-height: 1.75;
  color: var(--c-cream-warm);
  margin-bottom: 20px;
  max-width: 56ch;
}

/* BELIEFS */
.pr-about-beliefs {
  padding: 96px var(--gutter);
  background: var(--c-ink);
}
.pr-about-beliefs__inner {
  max-width: var(--wrap-max); margin: 0 auto;
}
.pr-about-beliefs__head {
  max-width: 820px; margin-bottom: 56px;
}
.pr-about-beliefs__head h2 {
  font-family: var(--f-display); font-size: clamp(36px, 4.5vw, 56px);
  font-weight: 300; line-height: 1.08; margin-top: 14px;
}
.pr-about-beliefs__head h2 em { color: var(--c-orange); font-style: italic; font-weight: 400; }
.pr-about-beliefs__grid {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 32px;
}
.pr-about-beliefs__grid article {
  padding: 32px;
  background: var(--c-ink-soft);
  border: 1px solid var(--c-rule);
  border-top: 3px solid var(--c-orange);
}
.pr-about-beliefs__grid .n {
  font-family: var(--f-display); font-style: italic;
  font-size: 28px; color: var(--c-orange);
  margin-bottom: 14px;
}
.pr-about-beliefs__grid h3 {
  font-family: var(--f-display); font-size: 26px;
  font-weight: 400; line-height: 1.2;
  margin-bottom: 14px;
  color: var(--c-cream);
}
.pr-about-beliefs__grid h3 em { color: var(--c-orange); font-style: italic; font-weight: 400; }
.pr-about-beliefs__grid p {
  font-size: 15px; line-height: 1.7;
  color: var(--c-cream-warm);
  max-width: 50ch;
}

/* PARTNERS */
.pr-about-partners {
  padding: 96px var(--gutter);
  background: var(--c-ink-soft);
  border-top: 1px solid var(--c-rule);
}
.pr-about-partners__head {
  max-width: 820px; margin: 0 auto 56px;
  text-align: center;
}
.pr-about-partners__head h2 {
  font-family: var(--f-display); font-size: clamp(36px, 4.5vw, 56px);
  font-weight: 300; line-height: 1.08; margin: 14px 0 18px;
}
.pr-about-partners__head h2 em { color: var(--c-orange); font-style: italic; font-weight: 400; }
.pr-about-partners__lead {
  font-family: var(--f-display); font-style: italic;
  font-size: 19px; line-height: 1.5;
  color: var(--c-cream-warm); max-width: 56ch;
  margin: 0 auto;
}
.pr-about-partners__grid {
  max-width: var(--wrap-max); margin: 0 auto;
  display: grid; grid-template-columns: 1fr 1fr; gap: 32px;
}
.pr-about-partner-card {
  display: grid; grid-template-columns: 220px 1fr; gap: 28px;
  padding: 28px;
  background: var(--c-ink);
  border: 1px solid var(--c-rule);
  color: inherit; text-decoration: none;
  transition: border-color .25s, transform .25s;
}
.pr-about-partner-card:hover { border-color: var(--c-orange); transform: translateY(-3px); }
.pr-about-partner-card__img {
  aspect-ratio: 3/4;
  background: var(--c-ink-soft);
  overflow: hidden;
}
.pr-about-partner-card__img img {
  width: 100%; height: 100%; object-fit: cover; filter: grayscale(15%);
}
.pr-about-partner-card__body .meta {
  font-size: 11px; letter-spacing: .18em; text-transform: uppercase;
  color: var(--c-orange); font-weight: 500; margin-bottom: 10px;
}
.pr-about-partner-card__body h3 {
  font-family: var(--f-display); font-size: 32px;
  font-weight: 400; line-height: 1.1;
  margin-bottom: 8px;
}
.pr-about-partner-card__body h3 em { color: var(--c-orange); font-style: italic; font-weight: 400; }
.pr-about-partner-card__body .role {
  font-size: 13px; color: var(--c-muted);
  margin-bottom: 16px;
  font-style: italic;
}
.pr-about-partner-card__body p {
  font-size: 14px; line-height: 1.6;
  color: var(--c-cream-warm); margin-bottom: 16px;
}
.pr-about-partner-card .read-more {
  font-size: 12px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--c-orange-bright); font-weight: 500;
}

/* HOW WE WORK */
.pr-about-how {
  padding: 96px var(--gutter);
  background: var(--c-ink);
}
.pr-about-how__inner {
  max-width: 920px; margin: 0 auto;
}
.pr-about-how__head {
  margin-bottom: 56px;
}
.pr-about-how__head h2 {
  font-family: var(--f-display); font-size: clamp(36px, 4.5vw, 56px);
  font-weight: 300; line-height: 1.08; margin-top: 14px;
}
.pr-about-how__head h2 em { color: var(--c-orange); font-style: italic; font-weight: 400; }
.pr-about-how__list article {
  display: grid; grid-template-columns: 100px 1fr; gap: 28px;
  padding: 32px 0;
  border-top: 1px solid var(--c-rule);
}
.pr-about-how__list article:last-child { border-bottom: 1px solid var(--c-rule); }
.pr-about-how__list .n {
  font-family: var(--f-display); font-style: italic;
  font-size: 48px; font-weight: 300;
  color: var(--c-orange); line-height: 1;
}
.pr-about-how__list h3 {
  font-family: var(--f-display); font-size: 26px;
  font-weight: 400; line-height: 1.2;
  margin-bottom: 12px;
  color: var(--c-cream);
}
.pr-about-how__list h3 em { color: var(--c-orange); font-style: italic; font-weight: 400; }
.pr-about-how__list p {
  font-size: 16px; line-height: 1.7;
  color: var(--c-cream-warm); max-width: 60ch;
}

/* CTA */
.pr-about-cta {
  padding: 96px var(--gutter) 120px;
  background: var(--c-ink-soft);
  border-top: 1px solid var(--c-rule);
}
.pr-about-cta__inner {
  max-width: 820px; margin: 0 auto;
  text-align: center;
}
.pr-about-cta__inner h2 {
  font-family: var(--f-display); font-size: clamp(40px, 5vw, 72px);
  font-weight: 300; line-height: 1.05; margin: 14px 0 18px;
}
.pr-about-cta__inner h2 em { color: var(--c-orange); font-style: italic; font-weight: 400; }
.pr-about-cta__inner p {
  font-family: var(--f-display); font-style: italic;
  font-size: 19px; line-height: 1.5;
  color: var(--c-cream-warm); max-width: 56ch;
  margin: 0 auto 32px;
}
.pr-about-cta__actions {
  display: flex; gap: 14px; flex-wrap: wrap; justify-content: center;
}

/* Responsive */
@media (max-width: 980px) {
  .pr-about-hero__inner { grid-template-columns: 1fr; gap: 48px; }
  .pr-about-hero__stats { border-left: 0; border-top: 1px solid var(--c-rule); padding: 32px 0 0; grid-template-columns: repeat(3,1fr); }
  .pr-about-story__cols { grid-template-columns: 1fr; gap: 24px; }
  .pr-about-beliefs__grid { grid-template-columns: 1fr; }
  .pr-about-partners__grid { grid-template-columns: 1fr; }
  .pr-about-partner-card { grid-template-columns: 1fr; }
  .pr-about-partner-card__img { max-width: 260px; aspect-ratio: 4/5; }
  .pr-about-how__list article { grid-template-columns: 1fr; gap: 12px; }
}


/* blog */
/* ============================================================
   Journal (blog index + single post)
   ============================================================ */

.pr-journal-hero,
.pr-journal-lead,
.pr-journal-grid-wrap,
.pr-journal-pagination,
.pr-journal-empty,
.pr-journal-cta,
.pr-post,
.pr-post-nav,
.pr-post-cta {
  width: 100% !important; box-sizing: border-box;
}

/* HERO */
.pr-journal-hero {
  padding: 80px var(--gutter) 64px;
  background: var(--c-ink);
  border-bottom: 1px solid var(--c-rule);
}
.pr-journal-hero__inner {
  max-width: var(--wrap-max); margin: 0 auto;
  display: grid; grid-template-columns: 1.6fr 1fr; gap: 64px;
  align-items: end;
}
.pr-journal-hero h1 {
  font-size: clamp(48px, 6.5vw, 96px);
  line-height: .98; font-weight: 300;
  margin: 14px 0 22px;
}
.pr-journal-hero h1 em { color: var(--c-orange); font-style: italic; font-weight: 400; }
.pr-journal-hero__lead {
  font-family: var(--f-display); font-style: italic;
  font-size: 20px; line-height: 1.5;
  color: var(--c-cream-warm); max-width: 56ch;
}
.pr-journal-hero__stats {
  display: grid; gap: 24px;
  border-left: 1px solid var(--c-rule);
  padding-left: 32px;
}
.pr-journal-hero__stats strong {
  display: block;
  font-family: var(--f-display);
  font-size: 40px; font-weight: 300; line-height: 1;
  color: var(--c-orange);
  margin-bottom: 6px;
}
.pr-journal-hero__stats span {
  font-size: 11px; letter-spacing: .16em; text-transform: uppercase;
  color: var(--c-muted); font-weight: 500;
}

/* LEAD (featured post) */
.pr-journal-lead {
  padding: 64px var(--gutter) 32px;
  background: var(--c-ink);
}
.pr-journal-lead__card {
  display: grid; grid-template-columns: 1.1fr 1fr; gap: 56px;
  max-width: var(--wrap-max); margin: 0 auto;
  align-items: center;
  color: inherit; text-decoration: none;
  background: var(--c-ink-soft);
  border: 1px solid var(--c-rule);
  transition: border-color .25s, transform .25s;
}
.pr-journal-lead__card:hover {
  border-color: var(--c-orange);
  transform: translateY(-3px);
}
.pr-journal-lead__img {
  aspect-ratio: 4/3;
  overflow: hidden;
  background: var(--c-ink);
}
.pr-journal-lead__img img {
  width: 100%; height: 100%; object-fit: cover;
}
.pr-journal-lead__body {
  padding: 36px 40px 36px 0;
}
.pr-journal-lead__body h2 {
  font-family: var(--f-display);
  font-size: clamp(28px, 3.5vw, 44px);
  font-weight: 400; line-height: 1.12;
  margin: 14px 0 18px;
  color: var(--c-cream);
}
.pr-journal-lead__body p {
  font-size: 16px; line-height: 1.7;
  color: var(--c-cream-warm); max-width: 54ch;
  margin-bottom: 18px;
}
.pr-journal-lead__more {
  font-size: 12px; letter-spacing: .16em; text-transform: uppercase;
  color: var(--c-orange-bright); font-weight: 500;
}

/* GRID */
.pr-journal-grid-wrap {
  padding: 64px var(--gutter);
  background: var(--c-ink-soft);
}
.pr-journal-grid-wrap__head {
  max-width: var(--wrap-max); margin: 0 auto 40px;
}
.pr-journal-grid-wrap__head h2 {
  font-family: var(--f-display); font-size: clamp(32px, 4vw, 48px);
  font-weight: 300; line-height: 1.1; margin-top: 10px;
}
.pr-journal-grid-wrap__head h2 em { color: var(--c-orange); font-style: italic; font-weight: 400; }
.pr-journal-grid {
  max-width: var(--wrap-max); margin: 0 auto;
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px;
}
.pr-journal-card {
  background: var(--c-ink);
  border: 1px solid var(--c-rule);
  color: inherit; text-decoration: none;
  transition: border-color .25s, transform .25s;
  display: flex; flex-direction: column;
}
.pr-journal-card:hover { border-color: var(--c-orange); transform: translateY(-3px); }
.pr-journal-card__img {
  aspect-ratio: 4/3; overflow: hidden;
  background: var(--c-ink-soft);
}
.pr-journal-card__img img {
  width: 100%; height: 100%; object-fit: cover;
}
.pr-journal-card__body {
  padding: 22px 24px 26px;
  display: flex; flex-direction: column; flex: 1;
}
.pr-journal-card__body .meta {
  font-size: 11px; letter-spacing: .16em; text-transform: uppercase;
  color: var(--c-muted); font-weight: 500;
  margin-bottom: 12px;
}
.pr-journal-card__body h3 {
  font-family: var(--f-display); font-size: 22px;
  font-weight: 400; line-height: 1.2;
  margin-bottom: 12px;
  color: var(--c-cream);
}
.pr-journal-card__body p {
  font-size: 14px; line-height: 1.6;
  color: var(--c-cream-warm);
  margin-bottom: 14px;
  flex: 1;
}
.pr-journal-card .read-more {
  font-size: 11px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--c-orange-bright); font-weight: 500;
}

/* PAGINATION */
.pr-journal-pagination {
  max-width: var(--wrap-max); margin: 48px auto;
  padding: 0 var(--gutter);
  display: flex; gap: 8px; flex-wrap: wrap; justify-content: center;
}
.pr-journal-pagination .page-numbers {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 40px; height: 40px; padding: 0 14px;
  background: var(--c-ink-soft);
  border: 1px solid var(--c-rule);
  color: var(--c-cream-warm);
  font-size: 14px; font-weight: 500;
  text-decoration: none;
  transition: border-color .2s, color .2s;
}
.pr-journal-pagination .page-numbers:hover,
.pr-journal-pagination .page-numbers.current {
  border-color: var(--c-orange);
  color: var(--c-cream);
}
.pr-journal-pagination .page-numbers.current {
  background: var(--c-orange);
  color: var(--c-ink);
}

/* EMPTY */
.pr-journal-empty {
  padding: 80px var(--gutter);
  text-align: center;
}
.pr-journal-empty__inner {
  max-width: 560px; margin: 0 auto;
}
.pr-journal-empty p {
  font-family: var(--f-display); font-style: italic;
  font-size: 20px; color: var(--c-cream-warm);
  margin-bottom: 28px;
}
.pr-journal-empty__actions {
  display: flex; gap: 12px; flex-wrap: wrap; justify-content: center;
}

/* JOURNAL CTA */
.pr-journal-cta,
.pr-post-cta {
  padding: 80px var(--gutter) 96px;
  background: var(--c-ink-soft);
  border-top: 1px solid var(--c-rule);
}
.pr-journal-cta__inner,
.pr-post-cta__inner {
  max-width: 720px; margin: 0 auto;
  text-align: center;
}
.pr-journal-cta h2,
.pr-post-cta h2 {
  font-family: var(--f-display);
  font-size: clamp(36px, 4.5vw, 56px);
  font-weight: 300; line-height: 1.08;
  margin: 14px 0 16px;
}
.pr-journal-cta h2 em,
.pr-post-cta h2 em { color: var(--c-orange); font-style: italic; font-weight: 400; }
.pr-journal-cta p,
.pr-post-cta p {
  font-family: var(--f-display); font-style: italic;
  font-size: 18px; line-height: 1.5;
  color: var(--c-cream-warm); max-width: 50ch;
  margin: 0 auto 28px;
}
.pr-journal-cta__actions,
.pr-post-cta__actions {
  display: flex; gap: 12px; flex-wrap: wrap; justify-content: center;
}

/* ============================================================
   SINGLE POST
   ============================================================ */
.pr-post {
  max-width: 760px; margin: 0 auto;
  padding: 56px var(--gutter) 64px;
  color: var(--c-cream-warm);
}
.pr-post__head {
  margin-bottom: 40px;
  padding-bottom: 28px;
  border-bottom: 1px solid var(--c-rule);
}
.pr-post__head h1 {
  font-size: clamp(36px, 5vw, 64px);
  line-height: 1.05; font-weight: 300;
  margin: 14px 0 16px;
}
.pr-post__byline {
  font-size: 13px; color: var(--c-muted);
  font-style: italic;
}
.pr-post__hero {
  margin: 0 0 40px;
}
.pr-post__hero img {
  width: 100%; height: auto; display: block;
}
.pr-post__body {
  font-size: 17px; line-height: 1.75;
}
.pr-post__body h2 {
  font-family: var(--f-display); font-size: 28px;
  font-weight: 400; line-height: 1.2;
  color: var(--c-cream);
  margin: 40px 0 14px;
}
.pr-post__body h3 {
  font-family: var(--f-display); font-size: 22px;
  font-weight: 400; color: var(--c-cream);
  margin: 32px 0 12px;
}
.pr-post__body p { margin-bottom: 20px; }
.pr-post__body a {
  color: var(--c-orange-bright);
  border-bottom: 1px solid currentColor;
}
.pr-post__body a:hover { color: var(--c-cream); }
.pr-post__body ul, .pr-post__body ol { margin: 0 0 20px 24px; }
.pr-post__body li { margin-bottom: 8px; }
.pr-post__body blockquote {
  margin: 32px 0;
  padding: 24px 28px;
  border-left: 3px solid var(--c-orange);
  background: var(--c-ink-soft);
  font-family: var(--f-display); font-style: italic;
  font-size: 19px; line-height: 1.5;
  color: var(--c-cream);
}
.pr-post__body img {
  max-width: 100%; height: auto; display: block;
  margin: 24px auto;
}
.pr-post__body strong { color: var(--c-cream); font-weight: 500; }
.pr-post__foot {
  margin-top: 48px;
  padding-top: 28px;
  border-top: 1px solid var(--c-rule);
  display: flex; flex-direction: column; gap: 12px;
}
.pr-post__taxonomy {
  font-size: 13px; color: var(--c-muted);
}
.pr-post__taxonomy .label {
  letter-spacing: .14em; text-transform: uppercase;
  font-size: 11px; margin-right: 8px;
}
.pr-post__taxonomy a {
  color: var(--c-orange-bright);
  margin-right: 10px;
  border-bottom: 1px solid currentColor;
}

/* POST NAV */
.pr-post-nav {
  max-width: 1100px; margin: 0 auto;
  padding: 0 var(--gutter) 48px;
  display: grid; grid-template-columns: 1fr 1fr; gap: 24px;
}
.pr-post-nav__col a {
  display: block;
  padding: 24px;
  background: var(--c-ink-soft);
  border: 1px solid var(--c-rule);
  color: inherit; text-decoration: none;
  transition: border-color .25s;
}
.pr-post-nav__col a:hover { border-color: var(--c-orange); }
.pr-post-nav__col--right a { text-align: right; }
.pr-post-nav__col .dir {
  display: block;
  font-size: 11px; letter-spacing: .16em; text-transform: uppercase;
  color: var(--c-orange-bright); font-weight: 500;
  margin-bottom: 8px;
}
.pr-post-nav__col .title {
  display: block;
  font-family: var(--f-display); font-size: 18px;
  font-weight: 400; line-height: 1.3;
  color: var(--c-cream);
}

/* Responsive */
@media (max-width: 980px) {
  .pr-journal-hero__inner { grid-template-columns: 1fr; gap: 36px; }
  .pr-journal-hero__stats { border-left: 0; border-top: 1px solid var(--c-rule); padding: 28px 0 0; grid-template-columns: repeat(2,1fr); }
  .pr-journal-lead__card { grid-template-columns: 1fr; }
  .pr-journal-lead__body { padding: 28px; }
  .pr-journal-grid { grid-template-columns: repeat(2, 1fr); }
  .pr-post-nav { grid-template-columns: 1fr; }
  .pr-post-nav__col--right a { text-align: left; }
}
@media (max-width: 640px) {
  .pr-journal-grid { grid-template-columns: 1fr; }
}


/* utility-pages */
/* ============================================================
   Utility page templates: legal, 404, search
   ============================================================ */

.pr-legal, .pr-404, .pr-search-results {
  width: 100% !important; box-sizing: border-box;
}

/* LEGAL (privacy, terms) */
.pr-legal {
  padding: 64px var(--gutter) 120px;
  max-width: 820px; margin: 0 auto;
}
.pr-legal__head {
  margin-bottom: 48px;
  padding-bottom: 32px;
  border-bottom: 1px solid var(--c-rule);
}
.pr-legal__head h1 {
  font-size: clamp(40px, 5vw, 64px);
  line-height: 1.05; font-weight: 300;
  margin: 14px 0 18px;
}
.pr-legal__head h1 em { color: var(--c-orange); font-style: italic; font-weight: 400; }
.pr-legal__updated {
  font-size: 11px; letter-spacing: .18em; text-transform: uppercase;
  color: var(--c-muted); font-weight: 500;
}
.pr-legal__body {
  font-size: 16px; line-height: 1.75;
  color: var(--c-cream-warm);
}
.pr-legal__body h2 {
  font-family: var(--f-display); font-size: 28px;
  font-weight: 400; line-height: 1.2;
  color: var(--c-cream);
  margin: 48px 0 16px;
  padding-top: 32px;
  border-top: 1px solid var(--c-rule);
}
.pr-legal__body h2:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.pr-legal__body h3 {
  font-family: var(--f-display); font-size: 20px;
  font-weight: 400; color: var(--c-cream);
  margin: 32px 0 12px;
}
.pr-legal__body p { margin-bottom: 20px; max-width: 64ch; }
.pr-legal__body ul, .pr-legal__body ol { margin: 0 0 20px 24px; }
.pr-legal__body li { margin-bottom: 10px; }
.pr-legal__body a { color: var(--c-orange-bright); border-bottom: 1px solid currentColor; }
.pr-legal__body a:hover { color: var(--c-cream); }
.pr-legal__body strong { color: var(--c-cream); font-weight: 500; }
.pr-legal__foot {
  margin-top: 64px;
  padding-top: 32px;
  border-top: 1px solid var(--c-rule);
  font-size: 14px;
  color: var(--c-muted);
}
.pr-legal__foot a { color: var(--c-orange-bright); }
.pr-legal__foot a:hover { color: var(--c-cream); }

/* 404 */
.pr-404 {
  padding: 96px var(--gutter) 120px;
  max-width: var(--wrap-max); margin: 0 auto;
}
.pr-404__inner {
  max-width: 980px; margin: 0 auto;
}
.pr-404 h1 {
  font-size: clamp(56px, 7.5vw, 108px);
  line-height: .95; font-weight: 300;
  margin: 14px 0 28px;
}
.pr-404 h1 em { color: var(--c-orange); font-style: italic; font-weight: 400; }
.pr-404__lead {
  font-family: var(--f-display); font-style: italic;
  font-size: 22px; color: var(--c-cream-warm); opacity: .95;
  max-width: 44ch; line-height: 1.45; margin-bottom: 48px;
}
.pr-404__paths {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px;
  margin-bottom: 64px;
}
.pr-404__path {
  display: block; padding: 28px;
  background: var(--c-ink-soft);
  border: 1px solid var(--c-rule);
  transition: border-color .25s, transform .25s;
  color: inherit; text-decoration: none;
}
.pr-404__path:hover { border-color: var(--c-orange); transform: translateY(-3px); }
.pr-404__path .pr-eyebrow { margin-bottom: 14px; }
.pr-404__path h3 {
  font-family: var(--f-display); font-size: 24px;
  font-weight: 400; line-height: 1.2; margin-bottom: 10px;
}
.pr-404__path h3 em { color: var(--c-orange); font-style: italic; font-weight: 400; }
.pr-404__path p {
  font-size: 14px; line-height: 1.6; color: var(--c-cream-warm);
}
.pr-404__search {
  padding: 32px;
  background: var(--c-ink-soft);
  border: 1px solid var(--c-rule);
}
.pr-404__search p { margin-bottom: 14px; }
.pr-404__search form { display: flex; gap: 12px; flex-wrap: wrap; }
.pr-404__search input[type=search] {
  flex: 1; min-width: 240px;
  padding: 14px 16px;
  background: var(--c-ink); border: 1px solid var(--c-rule-strong);
  color: var(--c-cream); font-family: var(--f-body);
  font-size: 15px; font-weight: 300;
  border-radius: 2px; -webkit-appearance: none;
}
.pr-404__search input::placeholder { color: var(--c-muted); opacity: .65; }
.pr-404__search input:focus {
  outline: none; border-color: var(--c-orange);
  box-shadow: 0 0 0 3px rgba(217,112,71,.18);
}

/* SEARCH RESULTS */
.pr-search-results {
  padding: 64px var(--gutter) 120px;
  max-width: var(--wrap-max); margin: 0 auto;
}
.pr-search-results__head {
  margin-bottom: 48px;
  padding-bottom: 32px;
  border-bottom: 1px solid var(--c-rule);
}
.pr-search-results__head h1 {
  font-size: clamp(40px, 5vw, 64px);
  line-height: 1.1; font-weight: 300;
  margin: 14px 0 14px;
}
.pr-search-results__head h1 em { color: var(--c-orange); font-style: italic; font-weight: 400; }
.pr-search-results__count {
  font-size: 14px; color: var(--c-muted); font-style: italic;
  margin-bottom: 28px;
}
.pr-search-results__form {
  display: flex; gap: 12px; flex-wrap: wrap; margin-top: 24px;
}
.pr-search-results__form input[type=search] {
  flex: 1; min-width: 240px;
  padding: 14px 16px;
  background: var(--c-ink); border: 1px solid var(--c-rule-strong);
  color: var(--c-cream); font-family: var(--f-body);
  font-size: 15px; font-weight: 300;
  border-radius: 2px; -webkit-appearance: none;
}
.pr-search-results__form input::placeholder { color: var(--c-muted); opacity: .65; }
.pr-search-results__form input:focus {
  outline: none; border-color: var(--c-orange);
  box-shadow: 0 0 0 3px rgba(217,112,71,.18);
}

.pr-search-bucket { margin-top: 48px; }
.pr-search-bucket__head {
  display: flex; align-items: baseline; gap: 14px;
  margin-bottom: 24px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--c-rule);
}
.pr-search-bucket__head h2 {
  font-family: var(--f-display); font-size: 28px;
  font-weight: 400;
}
.pr-search-bucket__count {
  font-size: 12px; letter-spacing: .18em; text-transform: uppercase;
  color: var(--c-orange); font-weight: 500;
}
.pr-search-bucket__list {
  display: grid; gap: 16px;
}
.pr-search-result {
  display: grid; grid-template-columns: 160px 1fr; gap: 24px;
  padding: 20px; border: 1px solid var(--c-rule);
  background: var(--c-ink-soft);
  transition: border-color .25s;
  color: inherit; text-decoration: none;
}
.pr-search-result:hover { border-color: var(--c-orange); }
.pr-search-result__img {
  aspect-ratio: 4/3; overflow: hidden; background: var(--c-ink);
}
.pr-search-result__img img {
  width: 100%; height: 100%; object-fit: cover;
}
.pr-search-result__body h3 {
  font-family: var(--f-display); font-size: 22px;
  font-weight: 400; line-height: 1.2; margin-bottom: 8px;
}
.pr-search-result__body p {
  font-size: 14px; line-height: 1.6;
  color: var(--c-cream-warm); margin-bottom: 12px;
}
.pr-search-result__url {
  font-size: 11px; letter-spacing: .14em; text-transform: lowercase;
  color: var(--c-muted); font-family: var(--f-body);
}

.pr-search-empty {
  margin-top: 32px; padding: 40px;
  background: var(--c-ink-soft); border: 1px solid var(--c-rule);
}
.pr-search-empty p { margin-bottom: 18px; color: var(--c-cream-warm); }
.pr-search-empty ul {
  margin: 0 0 24px 24px;
  color: var(--c-cream-warm); font-size: 15px; line-height: 1.7;
}
.pr-search-empty__actions {
  display: flex; gap: 12px; flex-wrap: wrap;
}

/* Responsive */
@media (max-width: 980px) {
  .pr-404__paths { grid-template-columns: 1fr; }
  .pr-search-result { grid-template-columns: 1fr; }
  .pr-search-result__img { max-width: 200px; }
}


/* journeys */
/* ============================================================
   Journeys section (homepage persona entry points)
   ============================================================ */
.pr-journeys {
  padding: 96px var(--gutter);
  background: var(--c-ink-soft);
  border-top: 1px solid var(--c-rule);
}
.pr-journeys__head {
  max-width: 820px; margin: 0 auto 56px;
  text-align: center;
}
.pr-journeys__head h2 {
  font-family: var(--f-display);
  font-size: clamp(36px, 5vw, 64px);
  font-weight: 300; line-height: 1.05;
  margin: 14px 0 18px;
}
.pr-journeys__head h2 em { color: var(--c-orange); font-style: italic; font-weight: 400; }
.pr-journeys__lead {
  font-family: var(--f-display); font-style: italic;
  font-size: 19px; line-height: 1.55;
  color: var(--c-cream-warm); max-width: 60ch;
  margin: 0 auto;
}
.pr-journeys__grid {
  max-width: var(--wrap-max); margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.pr-journey {
  display: block;
  padding: 32px 28px 30px;
  background: var(--c-ink);
  border: 1px solid var(--c-rule);
  color: inherit; text-decoration: none;
  transition: border-color .25s, transform .25s, background .25s;
}
.pr-journey:hover {
  border-color: var(--c-orange);
  transform: translateY(-4px);
}
.pr-journey--alt {
  background: linear-gradient(135deg, var(--c-ink) 0%, var(--c-ink-soft) 100%);
  border-top: 3px solid var(--c-orange);
}
.pr-journey__n {
  font-family: var(--f-display);
  font-style: italic;
  font-size: 28px; line-height: 1;
  color: var(--c-orange);
  margin-bottom: 18px;
  font-weight: 300;
}
.pr-journey h3 {
  font-family: var(--f-display);
  font-size: 26px; font-weight: 400;
  line-height: 1.15;
  color: var(--c-cream);
  margin-bottom: 12px;
}
.pr-journey h3 em { color: var(--c-orange); font-style: italic; font-weight: 400; }
.pr-journey p {
  font-size: 14px; line-height: 1.65;
  color: var(--c-cream-warm);
  margin-bottom: 16px;
}
.pr-journey__more {
  font-size: 11px; letter-spacing: .16em;
  text-transform: uppercase; font-weight: 500;
  color: var(--c-orange-bright);
}

@media (max-width: 980px) {
  .pr-journeys__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .pr-journeys__grid { grid-template-columns: 1fr; }
}


/* newsletter */
/* ============================================================
   Newsletter signup band
   ============================================================ */
.pr-newsletter {
  padding: 96px var(--gutter);
  background: var(--c-ink);
  border-top: 1px solid var(--c-rule);
}
.pr-newsletter__inner {
  max-width: var(--wrap-max); margin: 0 auto;
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 64px;
  align-items: center;
}
.pr-newsletter__copy h2 {
  font-family: var(--f-display);
  font-size: clamp(32px, 4.5vw, 56px);
  font-weight: 300; line-height: 1.08;
  margin: 14px 0 18px;
}
.pr-newsletter__copy h2 em { color: var(--c-orange); font-style: italic; font-weight: 400; }
.pr-newsletter__copy p {
  font-size: 16px; line-height: 1.7;
  color: var(--c-cream-warm);
  max-width: 54ch;
}

.pr-newsletter__form {
  display: flex; gap: 12px; flex-wrap: wrap;
  align-items: flex-start;
  position: relative;
}
.pr-newsletter__form input[type=email] {
  flex: 1; min-width: 220px;
  padding: 16px 18px;
  background: var(--c-ink-soft);
  border: 1px solid var(--c-rule-strong);
  color: var(--c-cream);
  font-family: var(--f-body);
  font-size: 15px; font-weight: 300;
  border-radius: 2px; -webkit-appearance: none;
  transition: border-color .2s, box-shadow .2s;
}
.pr-newsletter__form input[type=email]::placeholder { color: var(--c-muted); opacity: .65; }
.pr-newsletter__form input[type=email]:focus {
  outline: none;
  border-color: var(--c-orange);
  box-shadow: 0 0 0 3px rgba(217,112,71,.18);
}
.pr-newsletter__form button {
  padding: 16px 28px;
  background: var(--c-orange);
  color: var(--c-ink);
  border: 1px solid var(--c-orange);
  font-family: var(--f-body);
  font-size: 12px; letter-spacing: .18em;
  text-transform: uppercase; font-weight: 600;
  cursor: pointer;
  transition: background .2s, color .2s, border-color .2s;
}
.pr-newsletter__form button:hover {
  background: var(--c-orange-bright);
  border-color: var(--c-orange-bright);
}
.pr-newsletter__form button[disabled] { opacity: .5; cursor: wait; }
.pr-newsletter__hp {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important; height: 1px !important;
  opacity: 0 !important;
}
.pr-newsletter__status {
  flex-basis: 100%;
  font-size: 13px; font-style: italic;
  color: var(--c-cream-warm);
  margin-top: 6px; min-height: 18px;
}
.pr-newsletter__status.is-error { color: var(--c-orange-bright); }
.pr-newsletter__status.is-ok { color: var(--c-cream); }
.sr-only {
  position: absolute !important; width: 1px !important; height: 1px !important;
  padding: 0 !important; margin: -1px !important;
  overflow: hidden !important; clip: rect(0,0,0,0) !important;
  white-space: nowrap !important; border: 0 !important;
}

@media (max-width: 980px) {
  .pr-newsletter__inner { grid-template-columns: 1fr; gap: 36px; }
}


/* idx */
/* ============================================================
   IDX (dsIDXpress) — Brand Skin v2
   Matches /featured-listings/ aesthetic: ink-soft cards, orange
   accents (LOC eyebrow, tags, hover border), Fraunces italic
   price. Overrides dsIDX's bundled CSS via #dsidx scoping
   + !important on conflicts.
   ============================================================ */

/* ---------- 1. Page chrome (the /idx/* page background) ---------- */

/* Pinpoint the actual page ID + a :has() fallback for browsers that support it */
body.page-id-2440,
body.page-id-2440 main,
body.page-id-2440 .pr-main,
body.page-id-2440 .site-content,
body.page-id-2440 #page,
body.page-id-2440 #content,
body.page-id-2440 .entry-content,
body.page-id-2440 article,
body.page-id-2440 .container,
body.page-id-2440 .container-fluid,
body:has(#dsidx),
body:has(#dsidx) main,
body:has(#dsidx) .pr-main,
body:has(#dsidx) .site-content,
body:has(#dsidx) #page,
body:has(#dsidx) #content,
body:has(#dsidx) .entry-content,
body:has(#dsidx) article,
body:has(#dsidx) .container,
body:has(#dsidx) .container-fluid {
  background: var(--c-ink) !important;
  color: var(--c-cream) !important;
}

body.page-id-2440 h1,
body.page-id-2440 .entry-title,
body.page-id-2440 article h1,
body:has(#dsidx) h1,
body:has(#dsidx) .entry-title,
body:has(#dsidx) article h1 {
  color: var(--c-cream) !important;
  font-family: var(--f-display) !important;
  font-weight: 400 !important;
  font-size: clamp(36px, 5vw, 64px) !important;
  letter-spacing: -0.01em !important;
  padding: clamp(32px, 5vw, 64px) clamp(16px, 3vw, 40px) 0 !important;
  margin: 0 auto !important;
  max-width: 1280px;
}
body.page-id-2440 h1 em,
body:has(#dsidx) h1 em,
body:has(#dsidx) article h1 em {
  color: var(--c-orange) !important;
  font-style: italic !important;
  font-weight: 400 !important;
}

/* Kill all white/grey container backgrounds inside the IDX area.
   The dsIDX bundle injects white bgs on multiple wrappers
   (#dsidx-search-form-main, .row, columns, panel containers). */
#dsidx,
#dsidx > div,
#dsidx > form,
#dsidx-search-form,
#dsidx-search-form-main,
#dsidx-search-form > div,
#dsidx-search-form-main > div,
#dsidx-search-form .row,
#dsidx-search-form-main .row,
#expandableSearchFilters,
#expandableSearchFilters > div,
#expandableSearchFilters .row,
#dsidx .container,
#dsidx .container-fluid,
#dsidx [class*="col-"],
#dsidx .panel,
#dsidx .panel-body,
#dsidx .well,
#dsidx form,
#dsidx form > div {
  background: transparent !important;
  background-color: transparent !important;
}

/* Photo placeholder grey strip — kill it; use our paper color so loading
   state matches brand instead of showing a light grey block. */
#dsidx .dsidx-photo,
.dsidx-listing .dsidx-photo {
  background: var(--c-paper) !important;
  background-color: var(--c-paper) !important;
}

#dsidx {
  font-family: var(--f-body);
  color: var(--c-cream);
  background: var(--c-ink);
  padding: clamp(16px, 3vw, 32px) clamp(16px, 3vw, 40px) clamp(48px, 6vw, 96px);
  margin: 0 auto;
  max-width: 1280px;
  min-height: 60vh;
  font-size: 15px;
  line-height: 1.55;
}

#dsidx h1, #dsidx h2, #dsidx h3, #dsidx h4 {
  font-family: var(--f-display);
  color: var(--c-cream);
  font-weight: 400;
  letter-spacing: -0.01em;
  line-height: 1.12;
}
#dsidx h2 { font-size: clamp(24px, 3vw, 32px); margin: 1.4em 0 .5em; }
#dsidx h3 { font-size: 22px; }
#dsidx h2 em, #dsidx h3 em { color: var(--c-orange); font-style: italic; }

#dsidx a {
  color: var(--c-cream);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color .15s ease, color .15s ease;
}
#dsidx a:hover { color: var(--c-orange); border-color: var(--c-orange); }

/* ---------- 2. Top bar (Save Search + Profile/Searches/Listings/Login) ---------- */

#dsidx-profile-loggedout,
#dsidx-profile-header,
.dsidx-profile-bar {
  margin-bottom: 20px;
}
#dsidx .dsidx-profile-button,
#dsidx .dsidx-profile-button-light {
  background: transparent !important;
  color: var(--c-cream-warm) !important;
  border: 1px solid var(--c-rule-strong) !important;
  border-radius: 0 !important;
  padding: 10px 18px !important;
  min-height: 40px !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: .2em !important;
  text-transform: uppercase !important;
  font-family: var(--f-body) !important;
}
#dsidx .dsidx-profile-button:hover,
#dsidx .dsidx-profile-button-light:hover {
  border-color: var(--c-orange) !important;
  color: var(--c-orange) !important;
}
#dsidx .dsidx-profile-button-left  { border-radius: 4px 0 0 4px !important; border-right: none !important; }
#dsidx .dsidx-profile-button-right { border-radius: 0 4px 4px 0 !important; border-left: none !important; }

/* ---------- 3. Search filter bar ---------- */

#dsidx-search-filters,
#dsidx .dsidx-search-bar {
  background: var(--c-ink-soft);
  border: 1px solid var(--c-rule);
  padding: 24px;
  margin: 0 0 32px;
}

#dsidx label,
#dsidx .dsidx-search-label {
  color: var(--c-cream-warm) !important;
  font-size: 11px !important;
  letter-spacing: .2em !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
  margin-bottom: 8px !important;
  display: block;
}

/* Match the /contact/ form recipe: ink bg, rule-strong border, 2px radius,
   orange-bright hover, orange focus + box-shadow halo. */
#dsidx input[type="text"],
#dsidx input[type="email"],
#dsidx input[type="password"],
#dsidx input[type="search"],
#dsidx input[type="number"],
#dsidx input[type="tel"],
#dsidx select,
#dsidx textarea,
#dsidx .dsidx-search-field {
  background: var(--c-ink) !important;
  color: var(--c-cream) !important;
  border: 1px solid var(--c-rule-strong) !important;
  border-radius: 2px !important;
  padding: 16px 18px !important;
  font-family: var(--f-body) !important;
  font-size: 15px !important;
  font-weight: 300 !important;
  line-height: 1.4 !important;
  width: 100%;
  box-sizing: border-box;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  transition: border-color .2s, box-shadow .2s;
  min-height: 56px;
}
#dsidx input::placeholder,
#dsidx textarea::placeholder {
  color: var(--c-muted) !important;
  opacity: .65 !important;
}
#dsidx input:hover,
#dsidx select:hover,
#dsidx textarea:hover {
  border-color: var(--c-orange-bright) !important;
}
#dsidx input:focus,
#dsidx select:focus,
#dsidx textarea:focus {
  outline: none !important;
  border-color: var(--c-orange) !important;
  box-shadow: 0 0 0 3px rgba(217,112,71,.18) !important;
}

#dsidx select {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none'><path d='M1 1l5 5 5-5' stroke='%23d97047' stroke-width='1.5'/></svg>") !important;
  background-repeat: no-repeat !important;
  background-position: right 18px center !important;
  background-size: 12px 8px !important;
  padding-right: 42px !important;
}

/* Override dsIDX's inline display:table-cell on the expand row */
#dsidx-search-filters div[style*="display: table-cell"],
#dsidx-search-filters div[style*="display:table-cell"] {
  display: flex !important;
  align-items: center !important;
}
#dsidx-search-filters .dsidx-search-bar-more-filters {
  display: flex;
  align-items: center;
  gap: 12px;
}

/* Bootstrap row tightening */
#dsidx .row { margin: 0 -8px; }
#dsidx [class*="col-md-"],
#dsidx [class*="col-sm-"],
#dsidx [class*="col-xs-"] {
  padding-left: 8px;
  padding-right: 8px;
  margin: 0;
}
#dsidx .m-1 { margin: 4px !important; }

/* Section labels above each chip group */
#dsidx-top-search-by-status::before,
#dsidx-top-search-propertyTypes::before,
#dsidx-top-search-propertyFeatures::before {
  width: 100%;
  display: block;
  flex-basis: 100%;
  color: var(--c-orange);
  font-size: 10px;
  letter-spacing: .24em;
  text-transform: uppercase;
  font-weight: 600;
  margin: 12px 0 6px;
}
#dsidx-top-search-by-status::before        { content: "Status"; }
#dsidx-top-search-propertyTypes::before    { content: "Property type"; }
#dsidx-top-search-propertyFeatures::before { content: "Features"; }

/* Chip row */
#dsidx-top-search-by-status,
#dsidx-top-search-propertyTypes,
#dsidx-top-search-propertyFeatures {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 12px 0;
}
#dsidx-top-search-by-status label,
#dsidx-top-search-propertyTypes label,
#dsidx-top-search-propertyFeatures label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 10px 16px !important;
  background: var(--c-ink) !important;
  border: 1px solid var(--c-rule-strong) !important;
  border-radius: 0 !important;
  font-size: 11px !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
  cursor: pointer;
  margin: 0 !important;
  transition: border-color .15s, color .15s;
  color: var(--c-cream-warm) !important;
  min-height: 38px;
}
#dsidx-top-search-by-status label:hover,
#dsidx-top-search-propertyTypes label:hover,
#dsidx-top-search-propertyFeatures label:hover {
  border-color: var(--c-orange) !important;
  color: var(--c-orange) !important;
}
#dsidx input[type="checkbox"],
#dsidx input[type="radio"] {
  width: 16px !important;
  height: 16px !important;
  min-height: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
  accent-color: var(--c-orange) !important;
  border-radius: 0 !important;
  background: var(--c-ink) !important;
  border: 1px solid var(--c-rule-strong) !important;
  cursor: pointer;
  appearance: auto !important;
  -webkit-appearance: auto !important;
  -moz-appearance: auto !important;
}

/* ---------- 4. Buttons ---------- */

#dsidx button,
#dsidx input[type="submit"],
#dsidx input[type="button"],
#dsidx .dsidx-large-button,
#dsidx .dsidx-auth-large-button {
  background: var(--c-orange) !important;
  color: var(--c-ink) !important;
  border: 1px solid var(--c-orange) !important;
  border-radius: 0 !important;
  padding: 12px 28px !important;
  font-family: var(--f-body) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: .2em !important;
  text-transform: uppercase !important;
  cursor: pointer;
  transition: background .15s ease;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
}
#dsidx button:hover,
#dsidx input[type="submit"]:hover,
#dsidx .dsidx-large-button:hover,
#dsidx .dsidx-auth-large-button:hover {
  background: var(--c-orange-bright) !important;
  border-color: var(--c-orange-bright) !important;
}
#dsidx .dsidx-search-bar-expand-collapse-button {
  background: transparent !important;
  color: var(--c-cream) !important;
  border: 1px solid var(--c-rule-strong) !important;
  font-size: 11px !important;
  letter-spacing: .2em !important;
  min-height: 36px !important;
  padding: 8px 14px !important;
  border-radius: 2px !important;
}
#dsidx .dsidx-search-bar-expand-collapse-button:hover {
  border-color: var(--c-orange) !important;
  color: var(--c-orange) !important;
}

/* "Additional Filters/Criteria" expand row — dsIDX renders this with a
   light-grey strip; turn it into a thin dark divider. */
#dsidx .dsidx-search-bar-more-filters,
#dsidx-search-filters .dsidx-search-bar-more-filters {
  background: var(--c-ink) !important;
  border-top: 1px solid var(--c-rule) !important;
  border-bottom: 1px solid var(--c-rule) !important;
  padding: 14px 0 !important;
  margin: 16px -24px 0 !important;
  width: calc(100% + 48px) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 14px !important;
  font-size: 11px !important;
  letter-spacing: .2em !important;
  text-transform: uppercase !important;
  color: var(--c-cream-warm) !important;
  cursor: pointer;
}
#dsidx .dsidx-search-bar-more-filters > div,
#dsidx .dsidx-search-bar-more-filters .label {
  background: transparent !important;
  color: var(--c-cream-warm) !important;
  font-size: 11px !important;
  letter-spacing: .2em !important;
  text-transform: uppercase !important;
}
#dsidx .dsidx-search-bar-more-filters:hover,
#dsidx .dsidx-search-bar-more-filters:hover .label {
  color: var(--c-orange) !important;
}

/* The expanded filter panel + the bottom action row */
#expandableSearchFilters,
#dsidx #expandableSearchFilters {
  background: var(--c-ink-soft) !important;
  padding: 24px 24px 0 !important;
  margin: 16px -24px 0 !important;
  width: calc(100% + 48px) !important;
  box-sizing: border-box !important;
  border-top: 1px solid var(--c-rule) !important;
}
#dsidx .dsidx-search-submit-row,
#dsidx #dsidx-search-submit-row,
#dsidx .dsidx-search-bar-actions {
  background: var(--c-ink) !important;
  margin: 24px -24px -24px !important;
  padding: 20px 24px !important;
  width: calc(100% + 48px) !important;
  box-sizing: border-box !important;
  border-top: 1px solid var(--c-rule) !important;
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  gap: 12px !important;
}

/* Lot size / acres toggle text */
#dsidx #alternate-lot-measurement-unit,
#dsidx #dsidx-search-lotsize-unit {
  color: var(--c-cream-warm) !important;
  font-size: 12px !important;
  letter-spacing: .04em !important;
}

/* ---------- 5. View tabs (List / Map / Grid) ---------- */

#dsidx .dsidx-tabs,
#dsidx .dsidx-result-tabs,
#dsidx ul.dsidx-tabs {
  list-style: none !important;
  padding: 0 !important;
  margin: 24px 0 16px !important;
  display: flex !important;
  gap: 0 !important;
  border-bottom: 1px solid var(--c-rule) !important;
  background: transparent !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
}
#dsidx .dsidx-tab,
#dsidx ul.dsidx-tabs li.dsidx-tab,
#dsidx ul.dsidx-tabs > li {
  list-style: none !important;
  padding: 14px 24px !important;
  margin: 0 !important;
  font-size: 11px !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
  color: var(--c-cream-warm) !important;
  cursor: pointer !important;
  background: transparent !important;
  border: none !important;
  border-bottom: 2px solid transparent !important;
  border-radius: 0 !important;
  outline: none !important;
  box-shadow: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  transition: color .15s, border-color .15s;
}
#dsidx .dsidx-tab:hover {
  color: var(--c-orange) !important;
  border-bottom-color: var(--c-orange) !important;
}
/* Active (non-disabled) tab — orange underline */
#dsidx .dsidx-tab:not(.dsidx-tab-disabled) {
  color: var(--c-cream) !important;
  border-bottom-color: var(--c-orange) !important;
}
#dsidx .dsidx-tab.dsidx-tab-disabled {
  /* "Disabled" in dsIDX-speak means "not the current view" — still clickable */
  color: var(--c-cream-warm) !important;
  opacity: 1 !important;
  border-bottom-color: transparent !important;
}
#dsidx .dsidx-tab.dsidx-tab-disabled:hover {
  color: var(--c-orange) !important;
  border-bottom-color: var(--c-orange) !important;
}
#dsidx .dsidx-tab span {
  font: inherit !important;
  letter-spacing: inherit !important;
  text-transform: inherit !important;
  color: inherit !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* ---------- 6. Results header (count + page + sort) ---------- */

#dsidx .dsidx-results-header,
.dsidx-results-controls,
.dsidx-sort-by-controls {
  margin: 16px 0;
  font-size: 13px;
  color: var(--c-cream-warm);
}

/* ---------- 7. Listing tiles ---------- */

ol#dsidx-listings,
#dsidx-listings,
.dsidx-listings-grid {
  list-style: none !important;
  padding: 0 !important;
  margin: 24px 0 !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)) !important;
  gap: 32px !important;
}
ol#dsidx-listings > li,
#dsidx-listings > li { list-style: none; margin: 0; padding: 0; }
.dsidx-listings-grid-clear { display: none; }

.dsidx-listing,
.dsidx-listing-container,
#dsidx .dsidx-listing {
  background: var(--c-ink-soft) !important;
  border: 1px solid var(--c-rule) !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  position: relative !important;
  width: auto !important;
  height: auto !important;
  transition: transform var(--t-mid, .25s) ease, border-color var(--t-mid, .25s) ease !important;
  display: flex !important;
  flex-direction: column !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  color: var(--c-cream) !important;
  text-decoration: none !important;
}
.dsidx-listing:hover,
#dsidx .dsidx-listing:hover {
  transform: translateY(-6px) !important;
  border-color: var(--c-orange) !important;
}

/* Force full-width interior (kills dsIDX's hardcoded 38px width on .dsidx-data) */
.dsidx-listing .dsidx-data,
.dsidx-listing > .dsidx-data,
#dsidx .dsidx-listing .dsidx-data {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  float: none !important;
  display: block !important;
  box-sizing: border-box !important;
  padding: 24px 28px 28px !important;
  background: transparent !important;
  margin: 0 !important;
}
.dsidx-listing .dsidx-media,
.dsidx-listing > .dsidx-media {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  position: relative !important;
  background: var(--c-ink) !important;
}
.dsidx-listing .dsidx-primary-data,
.dsidx-listing .dsidx-secondary-data {
  width: 100% !important;
  float: none !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Photo container */
.dsidx-listing .dsidx-photo {
  position: relative;
  aspect-ratio: 4 / 3;
  overflow: hidden;
}
.dsidx-listing .dsidx-photo > a > img,
.dsidx-listing .dsidx-photo > img,
#dsidx .dsidx-listing .dsidx-photo img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  position: absolute;
  inset: 0;
  transition: transform var(--t-slow, .5s);
}
.dsidx-listing:hover .dsidx-photo img {
  transform: scale(1.05) !important;
}

/* FMLS attribution icon — hide on tiles, show subtle in disclaimer */
.dsidx-listing .dsidx-idx-icon,
.dsidx-listing img.dsidx-idx-icon,
.dsidx-listing .dsidx-idx-icon-right,
.dsidx-listing img[src*="mls-icons"] {
  display: none !important;
}
#dsidx-disclaimer .dsidx-idx-icon,
#dsidx-disclaimer img[src*="mls-icons"] {
  width: 32px !important;
  height: 32px !important;
  object-fit: contain !important;
  opacity: .7;
  margin: 0 6px;
  vertical-align: middle;
}

/* Photo toolbar (camera count + favorite) */
.dsidx-listing .dsidx-toolbar,
#dsidx .dsidx-listing .dsidx-toolbar {
  position: absolute !important;
  bottom: 14px !important;
  left: 14px !important;
  display: flex !important;
  gap: 6px !important;
  z-index: 4 !important;
  background: transparent !important;
}
.dsidx-listing .dsidx-toolbar-button,
#dsidx .dsidx-toolbar-button {
  background: rgba(10,10,10,.78) !important;
  color: var(--c-cream) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: .08em !important;
  padding: 6px 10px !important;
  border-radius: 0 !important;
  min-width: 30px !important;
  height: 26px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  border: 1px solid var(--c-rule-strong) !important;
}
.dsidx-toolbar-button:hover { border-color: var(--c-orange) !important; }
.dsidx-toolbar-content { color: var(--c-cream) !important; }
.dsidx-toolbar-button.dsidx-favorite::before { content: "♡"; font-size: 13px; }
.dsidx-toolbar-button.dsidx-favorite:hover::before { content: "♥"; color: var(--c-orange); }
.dsidx-toolbar a { text-decoration: none !important; border: none !important; }

/* MLS status tag (when present) */
.dsidx-listing .dsidx-mls-status:not(:empty),
.dsidx-listing-tag {
  position: absolute !important;
  top: 18px !important;
  left: 18px !important;
  background: var(--c-orange) !important;
  color: var(--c-ink) !important;
  font-size: 10px !important;
  letter-spacing: .2em !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  padding: 6px 12px !important;
  border-radius: 0 !important;
  z-index: 5 !important;
}
.dsidx-listing .dsidx-mls-status:empty { display: none !important; }

/* Address — small all-caps orange LOC eyebrow above price */
.dsidx-listing .dsidx-address,
.dsidx-listing .dsidx-address a,
#dsidx .dsidx-listing .dsidx-address,
#dsidx .dsidx-listing .dsidx-address a {
  font-family: var(--f-body) !important;
  font-size: 14px !important;
  color: var(--c-cream) !important;
  line-height: 1.35 !important;
  margin: 0 0 14px !important;
  padding: 0 !important;
  text-decoration: none !important;
  display: block !important;
  width: auto !important;
  text-align: left !important;
  float: none !important;
  border: none !important;
  font-weight: 500 !important;
}
.dsidx-listing .dsidx-address a:hover {
  color: var(--c-orange) !important;
}
.dsidx-listing .dsidx-address span {
  display: block !important;
  color: var(--c-orange) !important;
  font-size: 10px !important;
  letter-spacing: .24em !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  margin-bottom: 6px !important;
}

/* Price — Fraunces italic, cream, 26px (matches .pr-card__price) */
.dsidx-listing .dsidx-price,
#dsidx .dsidx-listing .dsidx-price {
  font-family: var(--f-display) !important;
  font-style: italic !important;
  font-size: 26px !important;
  font-weight: 400 !important;
  color: var(--c-cream) !important;
  margin: 0 0 12px !important;
  padding: 0 !important;
  letter-spacing: -0.005em !important;
  display: block !important;
  background: transparent !important;
  border: none !important;
  text-align: left !important;
  width: auto !important;
  float: none !important;
}

/* Beds / baths / sqft / MLS lines */
.dsidx-listing .dsidx-secondary-data-line,
.dsidx-listing .dsidx-secondary-data-bedsbaths,
#dsidx .dsidx-listing .dsidx-secondary-data-line,
#dsidx .dsidx-listing .dsidx-secondary-data-bedsbaths {
  font-size: 13px !important;
  color: var(--c-muted) !important;
  margin: 4px 0 !important;
  display: block !important;
  width: auto !important;
  float: none !important;
  text-align: left !important;
}
#dsidx .dsidx-listing .dsidx-results-bed,
#dsidx .dsidx-listing .dsidx-results-bath {
  font-weight: 600 !important;
  color: var(--c-cream) !important;
  font-size: 14px !important;
}
/* sqft value — orange like the LOC eyebrow.
   dsIDX wraps it in <span class="dsidx-results-home-size"> inside
   <div class="dsidx-secondary-data-lot-size">. */
#dsidx .dsidx-listing .dsidx-results-home,
#dsidx .dsidx-listing .dsidx-results-home-size,
#dsidx .dsidx-listing .dsidx-secondary-data-lot-size {
  font-weight: 600 !important;
  color: var(--c-orange) !important;
  font-size: 14px !important;
}
#dsidx .dsidx-listing .dsidx-secondary-data-lot-size {
  /* the trailing "sqft" text is unwrapped — dim it back to cream-warm */
  color: var(--c-cream-warm) !important;
  font-weight: 400 !important;
}
#dsidx .dsidx-listing .dsidx-secondary-data-lot-size .dsidx-results-home-size {
  color: var(--c-orange) !important;
  font-weight: 600 !important;
}

/* MLS line — dedicated class .dsidx-secondary-data-mls-number */
#dsidx .dsidx-listing .dsidx-secondary-data-mls-number {
  font-size: 12px !important;
  color: var(--c-cream-warm) !important;
  letter-spacing: .04em !important;
  margin-top: 10px !important;
  padding-top: 10px !important;
  border-top: 1px solid var(--c-rule) !important;
  display: block !important;
}
#dsidx .dsidx-listing .dsidx-secondary-data-mls-number span {
  color: var(--c-orange) !important;
  font-weight: 600 !important;
}

.dsidx-listing .dsidx-atribution {
  font-size: 10px !important;
  color: var(--c-muted) !important;
  margin-top: 8px !important;
  letter-spacing: .04em !important;
  display: block !important;
}

/* Stray clearfix divs */
.dsidx-listing .dsidx-clear,
.dsidx-listing div[style*="clear:right"],
.dsidx-listing div[style*="clear:both"] {
  clear: both;
  display: block;
  height: 0;
  margin: 0;
  padding: 0;
  background: none !important;
}

/* ---------- 8. Pagination ---------- */

.dsidx-paging-control {
  display: flex !important;
  gap: 4px !important;
  justify-content: center !important;
  align-items: center !important;
  margin: 40px 0 !important;
  flex-wrap: wrap;
  padding: 0 !important;
  list-style: none !important;
}
.dsidx-paging-control a,
.dsidx-paging-control span,
#dsidx .dsidx-paging-control a {
  padding: 10px 14px !important;
  border: 1px solid var(--c-rule-strong) !important;
  border-radius: 0 !important;
  color: var(--c-cream) !important;
  text-decoration: none !important;
  font-size: 12px !important;
  letter-spacing: .1em !important;
  font-weight: 500 !important;
  min-width: 40px !important;
  text-align: center !important;
  background: transparent !important;
}
.dsidx-paging-control a:hover {
  border-color: var(--c-orange) !important;
  color: var(--c-orange) !important;
}
.dsidx-paging-control .dsidx-paging-control-current,
.dsidx-paging-control span:not(.dsidx-paging-control-disabled) {
  background: var(--c-orange) !important;
  border-color: var(--c-orange) !important;
  color: var(--c-ink) !important;
}
.dsidx-paging-control-disabled {
  opacity: .35 !important;
  pointer-events: none !important;
}

/* ---------- 9. Map ---------- */

#dsidx-map,
.dsidx-map-container {
  border: 1px solid var(--c-rule);
  border-radius: 0;
  overflow: hidden;
  margin: 20px 0 32px;
  background: var(--c-ink-soft);
}
.dsidx-map-hover-divet { display: none; }
#dsidx-map-hover.dsidx-listing {
  background: var(--c-ink-soft) !important;
  border: 1px solid var(--c-orange) !important;
}

/* ---------- 10. Login / dialogs ---------- */

#dsidx-login,
#dsidx-passwordreset,
#dsidx-forgotpassword-confirm,
.dsidx-dialog-message {
  background: var(--c-ink-soft);
  color: var(--c-cream);
  border: 1px solid var(--c-rule-strong);
  border-radius: 0;
  padding: 32px;
  max-width: 480px;
}
.dsidx-auth-separator,
.dsidx-auth-separator-left,
.dsidx-auth-separator-right { color: var(--c-muted); }

/* ---------- 11. Single listing detail (inline) ---------- */

#dsidx .dsidx-listing-detail,
#dsidx .dsidx-singleListing,
.dsidx-singleListing {
  background: var(--c-ink);
  padding: 0;
  color: var(--c-cream);
}
#dsidx .dsidx-listing-detail h1 {
  font-family: var(--f-display);
  font-size: clamp(28px, 4vw, 44px);
  color: var(--c-cream);
}
#dsidx .dsidx-listing-detail .dsidx-price {
  font-family: var(--f-display);
  font-style: italic;
  font-size: 36px !important;
  color: var(--c-orange) !important;
}

/* === DETAIL PAGE: 2-column layout with sticky sidebar === */
body.pra-idx-detail #dsidx {
  /* Slightly wider gutters on detail to make room for sidebar */
  max-width: 1340px;
}
body.pra-idx-detail .pra-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 40px;
  align-items: start;
}
body.pra-idx-detail .pra-detail-main { min-width: 0; }
body.pra-idx-detail .pra-detail-aside {
  position: -webkit-sticky;
  position: sticky;
  top: 100px;  /* clear the fixed Park Realty header */
  align-self: start;
  overflow: visible !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
}
/* Make sure no ancestor cuts off the sticky positioning context */
body.pra-idx-detail #dsidx,
body.pra-idx-detail .pra-detail-main,
body.pra-idx-detail .pra-detail-grid {
  overflow: visible !important;
}
@media (max-width: 980px) {
  body.pra-idx-detail .pra-detail-grid {
    grid-template-columns: 1fr;
  }
  body.pra-idx-detail .pra-detail-aside {
    position: static;
    max-height: none;
    overflow: visible;
  }
}

/* === DETAIL PAGE: tables, headers, values === */

/* Kill all default <table> stripe/border styling */
#dsidx table.dsidx-supplemental-data,
#dsidx table.dsidx-supplemental-data tr,
#dsidx table.dsidx-supplemental-data td,
#dsidx table.dsidx-supplemental-data th,
#dsidx #dsidx-schools,
#dsidx #dsidx-schools tr,
#dsidx #dsidx-schools td,
#dsidx #dsidx-schools th {
  background: transparent !important;
  background-image: none !important;
  color: var(--c-cream) !important;
  border: none !important;
}
#dsidx table.dsidx-supplemental-data {
  width: 100% !important;
  margin: 8px 0 32px !important;
  border-collapse: collapse !important;
  border: 1px solid var(--c-rule) !important;
}
#dsidx table.dsidx-supplemental-data tr {
  border-bottom: 1px solid var(--c-rule) !important;
}
#dsidx table.dsidx-supplemental-data tr:last-child {
  border-bottom: none !important;
}
#dsidx table.dsidx-supplemental-data th {
  font-size: 10px !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  color: var(--c-cream-warm) !important;
  padding: 14px 18px !important;
  text-align: left !important;
  vertical-align: top !important;
  white-space: nowrap;
  background: rgba(254,235,211,.03) !important;
  width: 1%;
}
#dsidx table.dsidx-supplemental-data td {
  padding: 14px 18px !important;
  font-size: 14px !important;
  color: var(--c-cream) !important;
  vertical-align: top !important;
}
/* Brute-force the property data values to bright white. dsIDX wraps each
   datum in <span style="font-weight: bold" data-dsidx="..."> and combined
   with the zebra-row backgrounds the default rendering reads as a dim
   peach. We override at maximum specificity. */
body.pra-idx-detail #dsidx table.dsidx-supplemental-data tr td,
body.pra-idx-detail #dsidx table.dsidx-supplemental-data tr td span,
body.pra-idx-detail #dsidx table.dsidx-supplemental-data tr td span[style],
body.pra-idx-detail #dsidx table.dsidx-supplemental-data tr td span[data-dsidx],
body.pra-idx-detail #dsidx table.dsidx-supplemental-data tr td[data-dsidx],
body.pra-idx-detail #dsidx table.dsidx-supplemental-data tr.dsidx-secondary-row td,
body.pra-idx-detail #dsidx table.dsidx-supplemental-data tr.dsidx-secondary-row td span,
body.pra-idx-detail #dsidx [data-dsidx],
#dsidx table.dsidx-supplemental-data td[data-dsidx],
#dsidx table.dsidx-supplemental-data td span[data-dsidx],
#dsidx table.dsidx-supplemental-data td span,
#dsidx [data-dsidx] {
  color: #ffffff !important;
  font-weight: 500 !important;
  opacity: 1 !important;
  background: transparent !important;
}
/* Kill alternating-row zebra bg from EVERY source — Bricks parent
   theme, WP block library, and dsIDX itself all add nth-child rules. */
body.pra-idx-detail #dsidx table,
body.pra-idx-detail #dsidx table *,
body.pra-idx-detail #dsidx table tr,
body.pra-idx-detail #dsidx table tr td,
body.pra-idx-detail #dsidx table tr th,
body.pra-idx-detail #dsidx table tr:nth-child(odd),
body.pra-idx-detail #dsidx table tr:nth-child(even),
body.pra-idx-detail #dsidx table tr:nth-child(odd) td,
body.pra-idx-detail #dsidx table tr:nth-child(even) td,
body.pra-idx-detail #dsidx table.dsidx-supplemental-data tr,
body.pra-idx-detail #dsidx table.dsidx-supplemental-data tr.dsidx-secondary-row,
#dsidx table.dsidx-supplemental-data tr,
#dsidx table.dsidx-supplemental-data tr.dsidx-secondary-row {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}
/* Restore ONLY the subtle <th> column tint */
body.pra-idx-detail #dsidx table.dsidx-supplemental-data th,
#dsidx table.dsidx-supplemental-data th {
  background: rgba(254,235,211,.03) !important;
}
#dsidx .dsidx-table-right-border {
  border-right: 1px solid var(--c-rule) !important;
}
/* Secondary rows (zebra-stripe) — subtle warm tint */
#dsidx table.dsidx-supplemental-data tr.dsidx-secondary-row,
#dsidx #dsidx-schools tr.dsidx-secondary-row {
  background: rgba(254,235,211,.02) !important;
}
/* Schools table cells */
#dsidx #dsidx-schools {
  width: 100% !important;
  margin: 8px 0 32px !important;
  border: 1px solid var(--c-rule) !important;
  border-collapse: collapse !important;
}
#dsidx #dsidx-schools tr { border-bottom: 1px solid var(--c-rule) !important; }
#dsidx #dsidx-schools tr:last-child { border-bottom: none !important; }
#dsidx #dsidx-schools th.dsidx-type {
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: .04em !important;
  text-transform: none !important;
  color: var(--c-cream-warm) !important;
  background: rgba(254,235,211,.03) !important;
  padding: 12px 18px !important;
  text-align: left !important;
  width: 240px;
}
#dsidx #dsidx-schools td.dsidx-name {
  padding: 12px 18px !important;
  color: var(--c-cream) !important;
  font-weight: 500 !important;
}

/* Section header bars — kill default stripe, replace with eyebrow style */
#dsidx .dsidx-headerbar,
#dsidx .dsidx-table-header,
#dsidx tr.dsidx-table-header,
#dsidx tr.dsidx-table-header td,
#dsidx .dsidx-table-header td {
  background: transparent !important;
  background-image: none !important;
  padding: 0 !important;
  margin: 32px 0 8px !important;
  border: none !important;
}
#dsidx .dsidx-headerbar {
  margin: 36px 0 12px !important;
  padding: 0 0 8px !important;
  border-bottom: 1px solid var(--c-rule) !important;
}
#dsidx .dsidx-header-title,
#dsidx tr.dsidx-table-header .dsidx-header-title,
#dsidx .dsidx-table-header .dsidx-header-title {
  display: block !important;
  font-family: var(--f-body) !important;
  font-size: 11px !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  color: var(--c-orange) !important;
  background: transparent !important;
  padding: 8px 0 !important;
  margin: 0 !important;
}
#dsidx tr.dsidx-table-header td {
  padding: 8px 0 !important;
  border-bottom: 1px solid var(--c-rule) !important;
}

/* Top-of-detail summary table (Price / Beds / Baths / Home Size) */
#dsidx .dsidx-details,
#dsidx .dsidx-primary-data-values,
#dsidx .dsidx-details td,
#dsidx .dsidx-details th {
  color: var(--c-cream) !important;
}

/* "Call to action" — Request More Info + Schedule a Showing */
#dsidx .dsidx-call-to-action {
  background: transparent !important;
  background-image: none !important;
  display: flex !important;
  justify-content: center !important;
  gap: 12px !important;
  padding: 24px 0 !important;
  margin: 16px 0 !important;
  border-top: 1px solid var(--c-rule);
  border-bottom: 1px solid var(--c-rule);
  flex-wrap: wrap;
}
#dsidx .dsidx-call-to-action .dsidx-large-button {
  background: var(--c-orange) !important;
  color: var(--c-ink) !important;
  border: 1px solid var(--c-orange) !important;
  padding: 14px 28px !important;
  font-size: 11px !important;
  letter-spacing: .2em !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  border-radius: 2px !important;
  text-decoration: none !important;
}
#dsidx .dsidx-call-to-action .dsidx-large-button:hover {
  background: var(--c-orange-bright) !important;
  border-color: var(--c-orange-bright) !important;
}

/* Listing description paragraph */
#dsidx .dsidx-description,
#dsidx .dsidx-text {
  color: var(--c-cream-warm) !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
  margin: 24px 0 !important;
}

/* Top actions bar (Save / Print / Share) — already styled by profile-button
   rules above, but force consistent spacing */
#dsidx .dsidx-top-actions {
  display: flex !important;
  gap: 8px !important;
  flex-wrap: wrap;
  margin: 16px 0 24px !important;
  background: transparent !important;
}

/* === Detail page: hide redundant dsIDX action/profile bars ===
   The injected sidebar already has Schedule a Showing + Request More Info +
   phone + email. The dsIDX-shipped Save/Print/Share + Profile/Searches/
   Listings/Login row stacks above the photo as a 2-line bar that looks
   messy and adds nothing. Hide both on detail pages. */
body.pra-idx-detail #dsidx .dsidx-top-actions,
body.pra-idx-detail #dsidx-profile-loggedout,
body.pra-idx-detail #dsidx-profile-header {
  display: none !important;
}

/* "Listing provided courtesy of REMAX Center" */
#dsidx .dsidx-attribution,
#dsidx p:has(+ #divMortgageCalculator),
#dsidx .dsidx-listing-courtesy {
  color: var(--c-muted) !important;
  font-size: 11px !important;
  letter-spacing: .04em !important;
  font-style: italic;
  margin: 32px 0 16px !important;
}

/* Mortgage Calculator panel */
#dsidx #divMortgageCalculator,
#dsidx .dsidx-supplemental-data.ds-bs {
  background: transparent !important;
  background-image: none !important;
  border: 1px solid var(--c-rule) !important;
  padding: 28px !important;
  margin: 24px 0 !important;
}
#dsidx #divMortgageCalculator .dsidx-table-header {
  background: transparent !important;
  margin-bottom: 20px !important;
  text-align: left !important;
  border-bottom: 1px solid var(--c-rule) !important;
  padding-bottom: 12px !important;
}
#dsidx #divMortgageCalculator label,
#dsidx #divMortgageCalculator th {
  font-size: 11px !important;
  letter-spacing: .2em !important;
  text-transform: uppercase !important;
  color: var(--c-cream-warm) !important;
  background: transparent !important;
}
#dsidx #divMortgageCalculator .dsidx-total-month-amount,
#dsidx .dsidx-total-month-amount {
  font-family: var(--f-display) !important;
  font-style: italic !important;
  font-size: 36px !important;
  color: var(--c-orange) !important;
  background: transparent !important;
  text-align: center !important;
  margin: 8px 0 !important;
}
#dsidx #divMortgageCalculator .dsidx-small-button {
  background: var(--c-orange) !important;
  color: var(--c-ink) !important;
  border: 1px solid var(--c-orange) !important;
  padding: 10px 20px !important;
  font-size: 11px !important;
  letter-spacing: .2em !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  border-radius: 2px !important;
}
#dsidx #divMortgageCalculator .dsidx-small-button.dsidx-cancel {
  background: transparent !important;
  color: var(--c-cream-warm) !important;
  border-color: var(--c-rule-strong) !important;
}

/* "$1,795.00" total monthly text */
#dsidx .col-12.dsidx-total-month-amount {
  color: var(--c-orange) !important;
  font-family: var(--f-display) !important;
  font-style: italic !important;
}

/* === SIDEBAR contact card (injected via JS on detail pages) === */
.pra-listing-aside,
body.pra-idx-detail .pra-listing-aside {
  background: var(--c-ink-soft) !important;
  border: 1px solid var(--c-rule) !important;
  border-top: 3px solid var(--c-orange) !important;
  padding: 32px 28px !important;
  margin: 0 !important;
  color: var(--c-cream) !important;
  font-family: var(--f-body) !important;
  box-sizing: border-box !important;
  width: 100% !important;
  display: block !important;
}
.pra-listing-aside__eyebrow {
  font-size: 10px !important;
  letter-spacing: .24em !important;
  text-transform: uppercase !important;
  color: var(--c-orange) !important;
  font-weight: 600 !important;
  margin: 0 0 12px !important;
  padding: 0 !important;
  display: block !important;
}
.pra-listing-aside__title {
  font-family: var(--f-display) !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  margin: 0 0 14px !important;
  padding: 0 !important;
  color: var(--c-cream) !important;
  display: block !important;
}
.pra-listing-aside__title em {
  color: var(--c-orange) !important;
  font-style: italic !important;
  font-weight: 400 !important;
}
.pra-listing-aside__sub {
  font-size: 13px !important;
  color: var(--c-cream-warm) !important;
  margin: 0 0 22px !important;
  padding: 0 !important;
  line-height: 1.55 !important;
  display: block !important;
}
.pra-listing-aside__cta,
body.pra-idx-detail .pra-listing-aside__cta {
  display: block !important;
  background: var(--c-orange) !important;
  color: var(--c-ink) !important;
  text-align: center !important;
  padding: 14px 18px !important;
  font-size: 11px !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  border: 1px solid var(--c-orange) !important;
  border-radius: 2px !important;
  margin: 0 0 10px !important;
  transition: background .15s ease, border-color .15s ease;
  box-sizing: border-box !important;
  width: 100% !important;
}
.pra-listing-aside__cta:hover {
  background: var(--c-orange-bright) !important;
  border-color: var(--c-orange-bright) !important;
  color: var(--c-ink) !important;
}
.pra-listing-aside__cta--ghost,
body.pra-idx-detail .pra-listing-aside__cta--ghost {
  background: transparent !important;
  border-color: var(--c-rule-strong) !important;
  color: var(--c-cream) !important;
}
.pra-listing-aside__cta--ghost:hover {
  background: var(--c-ink) !important;
  border-color: var(--c-orange) !important;
  color: var(--c-orange) !important;
}
.pra-listing-aside__divider {
  height: 1px !important;
  background: var(--c-rule) !important;
  margin: 26px -28px !important;
  border: none !important;
  display: block !important;
}
.pra-listing-aside__list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: grid !important;
  gap: 14px !important;
}
.pra-listing-aside__row {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 12px !important;
  font-size: 13px !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}
.pra-listing-aside__label {
  font-size: 10px !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
  color: var(--c-cream-warm) !important;
  font-weight: 500 !important;
  flex-shrink: 0;
}
.pra-listing-aside__val {
  color: var(--c-cream) !important;
  font-weight: 500 !important;
  font-size: 13px !important;
  text-align: right !important;
  word-break: break-word;
}
.pra-listing-aside__val a,
body.pra-idx-detail .pra-listing-aside__val a {
  color: var(--c-cream) !important;
  border-bottom: 1px solid var(--c-rule-strong) !important;
  text-decoration: none !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
}
.pra-listing-aside__val a:hover {
  color: var(--c-orange) !important;
  border-color: var(--c-orange) !important;
}
.pra-listing-aside__fineprint {
  font-size: 11px !important;
  color: var(--c-muted) !important;
  line-height: 1.55 !important;
  margin: 18px 0 0 !important;
  padding: 0 !important;
  display: block !important;
  font-style: italic;
}

/* ---------- 11b. Similar Listings + Sold Listings (bottom of detail) ---------- */

#dsidx-similar-listings,
#dsidx-sold-listings,
#dsidx-similar-listings.one-col,
#dsidx-sold-listings.one-col,
body.pra-idx-detail #dsidx-similar-listings,
body.pra-idx-detail #dsidx-sold-listings {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  margin: 56px 0 8px !important;
  background: transparent !important;
  clear: both !important;
  display: block !important;
}

#dsidx-similar-listings .dsidx-headerbar,
#dsidx-sold-listings .dsidx-headerbar,
.dsidx-one-col-header {
  margin: 0 0 20px !important;
  padding: 0 0 12px !important;
  border-bottom: 1px solid var(--c-rule) !important;
  background: transparent !important;
}
#dsidx-similar-listings .dsidx-header-title,
#dsidx-sold-listings .dsidx-header-title,
.dsidx-one-col-header .dsidx-header-title {
  color: var(--c-orange) !important;
  font-family: var(--f-body) !important;
  font-size: 11px !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  background: transparent !important;
  display: block !important;
}

/* Results container — grid layout like search results */
.dsidx-one-col-results,
#dsidx-similar-listings .dsidx-one-col-results,
#dsidx-sold-listings .dsidx-one-col-results {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important;
  gap: 24px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  float: none !important;
}

/* Kill dsIDX's float-based 2-col layout for tiles */
.dsidx-one-col-results::before,
.dsidx-one-col-results::after,
.dsidx-one-col-results .dsidx-clear,
.dsidx-one-col-results > div[style*="clear"] {
  display: none !important;
  content: none !important;
}

/* Tile variant: dsidx-small-listing — reorder so photo is first */
.dsidx-listing.dsidx-small-listing,
#dsidx .dsidx-listing.dsidx-small-listing {
  background: var(--c-ink-soft) !important;
  border: 1px solid var(--c-rule) !important;
  display: flex !important;
  flex-direction: column !important;
  position: relative !important;
  overflow: hidden !important;
  cursor: pointer !important;
  margin: 0 !important;
  padding: 0 !important;
  width: auto !important;
  height: auto !important;
  float: none !important;
  transition: transform var(--t-mid, .25s) ease, border-color var(--t-mid, .25s) ease !important;
}
.dsidx-listing.dsidx-small-listing:hover {
  transform: translateY(-6px) !important;
  border-color: var(--c-orange) !important;
}

/* Order: photo first, then address (primary-data), then price+beds (.dsidx-data).
   The actual DOM has 3 direct children: .dsidx-primary-data, .dsidx-media,
   .dsidx-data — order flex so visual reads photo → address → price+beds. */
#dsidx .dsidx-listing.dsidx-small-listing .dsidx-media          { order: 1 !important; }
#dsidx .dsidx-listing.dsidx-small-listing .dsidx-primary-data   { order: 2 !important; padding: 18px 20px 0 !important; background: transparent !important; margin: 0 !important; }
#dsidx .dsidx-listing.dsidx-small-listing .dsidx-data           { order: 3 !important; padding: 0 20px 20px !important; background: transparent !important; width: auto !important; margin: 0 !important; }
#dsidx .dsidx-listing.dsidx-small-listing .dsidx-secondary-data { order: 3 !important; padding: 0 !important; background: transparent !important; }
#dsidx .dsidx-listing.dsidx-small-listing .dsidx-clear          { order: 4 !important; }

/* Photo */
.dsidx-listing.dsidx-small-listing .dsidx-media {
  width: 100% !important;
  aspect-ratio: 4 / 3 !important;
  background: var(--c-paper) !important;
}
.dsidx-listing.dsidx-small-listing .dsidx-photo {
  position: relative !important;
  width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
}
.dsidx-listing.dsidx-small-listing .dsidx-photo a,
.dsidx-listing.dsidx-small-listing .dsidx-photo img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  position: absolute !important;
  inset: 0 !important;
  transition: transform var(--t-slow, .5s);
}
.dsidx-listing.dsidx-small-listing:hover .dsidx-photo img {
  transform: scale(1.05) !important;
}

/* Address — dsidx-result-line-small */
.dsidx-listing.dsidx-small-listing .dsidx-address,
.dsidx-listing.dsidx-small-listing .dsidx-address.dsidx-result-line-small,
.dsidx-listing.dsidx-small-listing .dsidx-address a {
  font-family: var(--f-body) !important;
  font-size: 14px !important;
  color: var(--c-cream) !important;
  line-height: 1.35 !important;
  font-weight: 500 !important;
  margin: 0 0 12px !important;
  padding: 0 !important;
  text-decoration: none !important;
  display: block !important;
  border: none !important;
}
.dsidx-listing.dsidx-small-listing .dsidx-address span {
  display: block !important;
  color: var(--c-orange) !important;
  font-size: 10px !important;
  letter-spacing: .24em !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  margin-bottom: 6px !important;
}

/* Price */
.dsidx-listing.dsidx-small-listing .dsidx-price {
  font-family: var(--f-display) !important;
  font-style: italic !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  color: var(--c-cream) !important;
  margin: 0 0 10px !important;
  padding: 0 !important;
  display: block !important;
  background: transparent !important;
}

/* Beds / baths / sqft */
.dsidx-listing.dsidx-small-listing .dsidx-secondary-data-line,
.dsidx-listing.dsidx-small-listing .dsidx-secondary-data-bedsbaths {
  font-size: 13px !important;
  color: var(--c-muted) !important;
  margin: 4px 0 !important;
  display: block !important;
}
.dsidx-listing.dsidx-small-listing .dsidx-results-bed,
.dsidx-listing.dsidx-small-listing .dsidx-results-bath {
  color: var(--c-cream) !important;
  font-weight: 600 !important;
}
.dsidx-listing.dsidx-small-listing .dsidx-results-home,
.dsidx-listing.dsidx-small-listing .dsidx-results-home-size {
  color: var(--c-orange) !important;
  font-weight: 600 !important;
}
.dsidx-listing.dsidx-small-listing .dsidx-secondary-data-mls-number {
  font-size: 11px !important;
  color: var(--c-muted) !important;
  letter-spacing: .04em !important;
  margin-top: 8px !important;
  padding-top: 8px !important;
  border-top: 1px solid var(--c-rule) !important;
}
.dsidx-listing.dsidx-small-listing .dsidx-secondary-data-mls-number span {
  color: var(--c-orange) !important;
  font-weight: 600 !important;
}

/* SOLD listing tag — top-left orange pill */
#dsidx-sold-listings .dsidx-listing .dsidx-mls-status:not(:empty) {
  position: absolute !important;
  top: 14px !important;
  left: 14px !important;
  background: var(--c-orange-deep) !important;
  color: var(--c-cream) !important;
  font-size: 10px !important;
  letter-spacing: .2em !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  padding: 5px 11px !important;
  z-index: 5 !important;
}

/* Hide FMLS attribution icon on these tiles (consistent with main grid) */
.dsidx-listing.dsidx-small-listing .dsidx-idx-icon,
.dsidx-listing.dsidx-small-listing img[src*="mls-icons"] {
  display: none !important;
}

/* On mobile: single column */
@media (max-width: 720px) {
  .dsidx-one-col-results {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  .dsidx-listing.dsidx-small-listing .dsidx-price { font-size: 20px !important; }
}

/* ---------- 12. Disclaimer / attribution ---------- */

#dsidx-disclaimer,
#dsidx .dsidx-disclaimer {
  margin-top: 48px;
  padding-top: 24px;
  border-top: 1px solid var(--c-rule);
  color: var(--c-muted);
  font-size: 11px;
  letter-spacing: .02em;
  line-height: 1.7;
}
#dsidx-disclaimer a, #dsidx .dsidx-disclaimer a {
  color: var(--c-cream-warm);
  border-bottom: 1px solid var(--c-rule);
}
#dsidx-disclaimer a:hover { color: var(--c-orange); border-color: var(--c-orange); }

/* ---------- 13. Error state ---------- */

#dsidx .dsidx-error,
.dsidx-error {
  background: var(--c-ink-soft);
  border-left: 3px solid var(--c-orange);
  padding: 16px 20px;
  color: var(--c-cream-warm);
  font-size: 14px;
  border-radius: 0;
  margin: 16px 0;
}

/* ---------- 14. Autocomplete ---------- */

#dsidx .dsidx-autocomplete-box {
  background: var(--c-ink) !important;
  border: 1px solid var(--c-rule-strong) !important;
  border-radius: 0 !important;
  margin-top: 2px;
}
#dsidx .dsidx-autocomplete-box > div {
  padding: 10px 14px !important;
  color: var(--c-cream) !important;
  cursor: pointer;
  font-size: 13px;
}
#dsidx .dsidx-autocomplete-box > div:hover {
  background: var(--c-ink-soft) !important;
  color: var(--c-orange) !important;
}

/* ---------- 15. Responsive ---------- */

/* Tablet + small desktop */
@media (max-width: 980px) {
  #dsidx-listings,
  .dsidx-listings-grid {
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)) !important;
    gap: 20px !important;
  }
  /* Detail page summary table: 4 cols → 2 cols */
  #dsidx table.dsidx-supplemental-data th { width: 130px; }
}

/* Mobile */
@media (max-width: 720px) {
  #dsidx { padding: 16px !important; }
  body.page-id-2440 h1,
  body:has(#dsidx) h1,
  body.pra-idx-detail h1 {
    font-size: clamp(26px, 7vw, 36px) !important;
    padding: 20px 16px 0 !important;
    line-height: 1.15 !important;
  }
  /* Single-column listing grid */
  #dsidx-listings,
  .dsidx-listings-grid { grid-template-columns: 1fr !important; gap: 16px !important; }

  /* Search form: collapse columns, full-width inputs */
  #dsidx-search-filters,
  #dsidx .dsidx-search-bar { padding: 16px !important; }
  #dsidx .row { margin: 0 !important; }
  #dsidx [class*="col-"] {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    padding: 0 !important;
    margin: 8px 0 !important;
  }
  #dsidx input[type="text"],
  #dsidx input[type="number"],
  #dsidx select { font-size: 16px !important; /* prevent iOS zoom on focus */ }

  /* HIDE all tab/button rows on mobile — they don't display well.
     Keep only the search filter form + listings grid. */
  #dsidx-profile-loggedout,
  #dsidx-profile-header,
  #dsidx .dsidx-profile-bar,
  #dsidx .dsidx-top-actions,
  #dsidx .dsidx-tabs,
  #dsidx .dsidx-result-tabs,
  #dsidx ul.dsidx-tabs,
  #dsidx-button-save-search,
  #dsidx-button-save-search-row,
  #dsidx [id*="save-search"],
  #dsidx .dsidx-save-search,
  #dsidx-button-clear-search {
    display: none !important;
  }
  /* Sorted-by + page counter row — let it wrap */
  #dsidx .dsidx-results-header,
  .dsidx-sort-by-controls,
  .dsidx-results-controls {
    flex-wrap: wrap;
    gap: 8px;
  }

  /* Detail page: title, summary stats, CTA buttons */
  body.pra-idx-detail .pra-detail-grid {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
  body.pra-idx-detail .pra-detail-aside {
    position: static !important;
    max-height: none !important;
    overflow: visible !important;
  }
  /* Summary stats (Price/Beds/Baths/Home Size) — make rows compact */
  #dsidx .dsidx-details td,
  #dsidx .dsidx-details th {
    padding: 10px 14px !important;
    font-size: 13px !important;
  }
  /* Request More Info + Schedule a Showing — stack on mobile */
  #dsidx .dsidx-call-to-action {
    flex-direction: column !important;
    gap: 8px !important;
    padding: 16px 0 !important;
  }
  #dsidx .dsidx-call-to-action .dsidx-large-button {
    width: 100% !important;
    padding: 14px 18px !important;
  }
  /* Supplemental tables (Year Built / Status / etc.) — stack th + td */
  #dsidx table.dsidx-supplemental-data { display: block; }
  #dsidx table.dsidx-supplemental-data tbody { display: block; }
  #dsidx table.dsidx-supplemental-data tr {
    display: grid !important;
    grid-template-columns: 1fr !important;
    border-bottom: 1px solid var(--c-rule) !important;
  }
  /* But keep the 2-col rows (those with both th-td-th-td) split into 2 stacked pairs */
  #dsidx table.dsidx-supplemental-data tr:has(td.dsidx-table-right-border) {
    grid-template-columns: 1fr 1fr !important;
  }
  #dsidx table.dsidx-supplemental-data th {
    width: 100% !important;
    padding: 12px 14px 4px !important;
    font-size: 10px !important;
    letter-spacing: .18em !important;
    background: transparent !important;
  }
  #dsidx table.dsidx-supplemental-data td {
    padding: 0 14px 12px !important;
    font-size: 14px !important;
  }
  #dsidx .dsidx-table-right-border {
    border-right: none !important;
    border-bottom: 1px solid var(--c-rule) !important;
  }
  /* Schools table */
  #dsidx #dsidx-schools th.dsidx-type { width: 50% !important; padding: 12px 14px !important; }
  #dsidx #dsidx-schools td.dsidx-name { padding: 12px 14px !important; }

  /* Mortgage calculator: stack columns */
  #dsidx #divMortgageCalculator { padding: 18px !important; }
  #dsidx #divMortgageCalculator .row { display: block !important; }
  #dsidx #divMortgageCalculator [class*="col-"] {
    width: 100% !important;
    margin: 12px 0 !important;
  }
  #dsidx .dsidx-total-month-amount,
  #dsidx .col-12.dsidx-total-month-amount { font-size: 28px !important; }

  /* Sidebar contact card — full-width below content */
  .pra-listing-aside {
    padding: 24px 20px !important;
  }
  .pra-listing-aside__title { font-size: 20px !important; }

  /* Hide stray dsIDX UI noise that doesn't fit on phone */
  #dsidx .dsidx-sharing-spacer { display: none !important; }
}

/* Very narrow phones */
@media (max-width: 420px) {
  body.page-id-2440 h1,
  body:has(#dsidx) h1,
  body.pra-idx-detail h1 {
    font-size: 24px !important;
  }
  #dsidx .dsidx-profile-button,
  #dsidx .dsidx-profile-button-light {
    padding: 9px 4px !important;
    font-size: 9px !important;
    letter-spacing: .1em !important;
  }
  #dsidx-top-search-by-status label,
  #dsidx-top-search-propertyTypes label,
  #dsidx-top-search-propertyFeatures label {
    font-size: 10px !important;
    padding: 8px 12px !important;
  }
}


/* footer */
/* ============================================================
   Footer
   ============================================================ */
.pr-footer {
  background: var(--c-ink);
  color: var(--c-cream-warm);
  padding: 80px var(--gutter) 32px;
  border-top: 1px solid var(--c-rule);
}
.pr-footer__inner {
  max-width: var(--wrap-max); margin: 0 auto;
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr 1fr 1fr;
  gap: 56px;
  margin-bottom: 56px;
}
.pr-footer__brand {
  max-width: 36ch;
}
.pr-footer__logo {
  font-family: var(--f-display);
  font-size: 30px; letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--c-cream); font-weight: 400;
  margin-bottom: 18px;
}
.pr-footer__tagline {
  font-size: 14px; line-height: 1.65;
  color: var(--c-muted);
  margin-bottom: 22px;
}
.pr-footer__addr {
  font-style: normal;
  font-size: 14px; line-height: 1.7;
}
.pr-footer__addr a {
  color: var(--c-cream-warm);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color .2s, color .2s;
}
.pr-footer__addr a:hover {
  color: var(--c-orange-bright);
  border-bottom-color: currentColor;
}

.pr-footer__col h2 {
  font-size: 10px; letter-spacing: .24em; text-transform: uppercase;
  font-weight: 500; color: var(--c-orange);
  margin-bottom: 18px;
}
.pr-footer__col ul { list-style: none; padding: 0; margin: 0; }
.pr-footer__col li { margin-bottom: 10px; font-size: 14px; }
.pr-footer__col a {
  color: var(--c-cream-warm);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: color .2s, border-color .2s;
}
.pr-footer__col a:hover {
  color: var(--c-orange-bright);
  border-bottom-color: currentColor;
}

.pr-footer__rule {
  max-width: var(--wrap-max);
  margin: 0 auto;
  height: 1px;
  background: var(--c-rule);
}
.pr-footer__bottom {
  max-width: var(--wrap-max); margin: 0 auto;
  padding-top: 28px;
  display: flex; justify-content: space-between;
  flex-wrap: wrap; gap: 14px;
  font-size: 11px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--c-muted);
}
.pr-footer__legal { display: flex; gap: 18px; flex-wrap: wrap; align-items: center; }
.pr-footer__legal a {
  color: var(--c-muted);
  text-decoration: none;
}
.pr-footer__legal a:hover { color: var(--c-orange-bright); }
.pr-footer__mls { color: var(--c-muted); opacity: .85; }

@media (max-width: 1100px) {
  .pr-footer__inner { grid-template-columns: 1.6fr 1fr 1fr; }
}
@media (max-width: 780px) {
  .pr-footer__inner { grid-template-columns: 1fr 1fr; gap: 40px; }
  .pr-footer__brand { grid-column: 1 / -1; max-width: none; }
}
@media (max-width: 480px) {
  .pr-footer__inner { grid-template-columns: 1fr; gap: 32px; }
}

