/* PrimeNest theme stylesheet — visual parity with the approved MagicPath design (revision 452725884785430528). */
:root {
  --pn-ink: #1B222B; --pn-slate: #4B5560; --pn-stone: #5E656E; --pn-navy: #22334A; --pn-navy-deep: #182636;
  --pn-brass-deep: #8A6420; --pn-brass: #A87B2D; --pn-rust: #A9482F; --pn-sage: #5F7146;
  --pn-paper: #F7F4EE; --pn-bone: #EDE7DC; --pn-linen: #DDD3C2;
  --pn-serif: 'Newsreader', Georgia, 'Times New Roman', serif;
  --pn-sans: 'DM Sans', ui-sans-serif, system-ui, -apple-system, sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.pn-body { margin: 0; background: var(--pn-paper); color: var(--pn-ink); font-family: var(--pn-sans); font-size: 16px; line-height: 1.5; -webkit-font-smoothing: antialiased; }
body.pn-body img { max-width: 100%; display: block; }
h1, h2, h3, p, ul, ol, figure { margin: 0; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
.pn-wrap { width: 100%; max-width: 1200px; margin: 0 auto; padding-left: 20px; padding-right: 20px; }
@media (min-width: 768px) { .pn-wrap { padding-left: 32px; padding-right: 32px; } }
.pn-icon { width: 20px; height: 20px; flex: none; }

/* typography */
.pn-h1 { font-family: var(--pn-serif); font-weight: 600; font-size: 32px; line-height: 1.25; color: var(--pn-ink); }
@media (min-width: 768px) { .pn-h1 { font-size: 40px; } }
.pn-h1--l { font-size: 34px; }
@media (min-width: 768px) { .pn-h1--l { font-size: 44px; } }
.pn-h1--c { font-size: 28px; line-height: 1.25; }
.pn-h1--c, .pn-sub--c { text-align: center; }
.pn-h2 { font-family: var(--pn-serif); font-weight: 600; font-size: 26px; line-height: 1.2; color: var(--pn-ink); }
.pn-h2--s { font-size: 20px; }
.pn-h2--mt { margin-top: 40px; }
.pn-h2--light { color: var(--pn-paper); }
.pn-sub { margin-top: 8px; max-width: 640px; font-size: 14px; line-height: 1.625; color: var(--pn-slate); }
.pn-sub--light { color: #E9E4DA; }
.pn-body { font-size: 15px; line-height: 1.65; color: var(--pn-slate); margin-top: 12px; }
.pn-body--l { margin-top: 16px; max-width: 760px; }
.pn-kicker { margin-bottom: 8px; font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.18em; color: var(--pn-brass-deep); }
.pn-kicker--light { color: #D9C9A0; }
.pn-fine { font-size: 12px; color: var(--pn-stone); }
.pn-meta-line { margin-top: 16px; font-size: 14px; color: var(--pn-slate); }

/* buttons, chips, badges */
.pn-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 0; border-radius: 8px; padding: 10px 16px; font-size: 14px; font-weight: 600; line-height: 1.35; cursor: pointer; background: var(--pn-navy); color: var(--pn-paper); transition: background-color .15s ease, border-color .15s ease; }
.pn-btn:hover { background: var(--pn-navy-deep); }
.pn-btn--secondary { border: 1px solid var(--pn-linen); background: rgba(255, 255, 255, 0.7); color: var(--pn-ink); }
.pn-btn--secondary:hover { background: #fff; border-color: var(--pn-navy); }
.pn-btn--shrink { flex: none; }
.pn-link { display: inline-flex; align-items: center; gap: 4px; font-size: 14px; font-weight: 600; color: var(--pn-brass-deep); }
.pn-link:hover { text-decoration: underline; text-underline-offset: 4px; }
.pn-link--s { font-size: 12px; }
.pn-row { display: flex; align-items: center; }
.pn-row--gap { gap: 12px; flex-wrap: wrap; }
.pn-row--center { justify-content: center; }
.pn-row-between { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.pn-mt { margin-top: 20px; } .pn-mt-s { margin-top: 12px; }
.pn-pad { padding-top: 48px; padding-bottom: 48px; }
.pn-pad-xl { padding-top: 80px; padding-bottom: 80px; }
.pn-center { text-align: center; }
.pn-center .pn-sub { margin-left: auto; margin-right: auto; }
.pn-badge { display: inline-flex; align-items: center; border-radius: 999px; padding: 4px 10px; font-size: 11px; font-weight: 600; letter-spacing: .02em; color: #fff; background: var(--pn-navy); }
.pn-badge--new { background: var(--pn-sage); }
.pn-badge--coming-soon { background: var(--pn-brass-deep); } /* a11y: white on brass fails AA (2.9:1); brass-deep passes (~5.1:1); documented deviation from the design pin */
.pn-badge--price-reduced { background: var(--pn-rust); }
.pn-tag { display: inline-flex; align-items: center; border: 1px solid var(--pn-linen); border-radius: 999px; padding: 4px 10px; font-size: 11px; font-weight: 600; color: var(--pn-slate); background: #fff; }
.pn-tag--bone { border: 0; background: var(--pn-bone); color: var(--pn-navy); }
.pn-chip, .pn-chip-static { display: inline-flex; align-items: center; gap: 6px; border: 1px solid var(--pn-linen); border-radius: 999px; padding: 6px 12px; font-size: 14px; color: var(--pn-ink); background: rgba(255,255,255,.7); }
.pn-chip.is-active { border-color: var(--pn-navy); background: var(--pn-navy); color: var(--pn-paper); }
.pn-chip__x { font-size: 13px; color: var(--pn-stone); }
.pn-chip-filter { display: inline-flex; align-items: center; border: 1px solid var(--pn-linen); border-radius: 999px; padding: 6px 12px; font-size: 14px; background: rgba(255,255,255,.7); cursor: pointer; }
.pn-chip-filter.is-active { border-color: var(--pn-navy); background: var(--pn-navy); color: var(--pn-paper); }
.pn-chips { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 16px 0; }
.pn-chips__empty { font-size: 12px; color: var(--pn-stone); }
.pn-chips__clear { font-size: 12px; font-weight: 600; color: var(--pn-brass-deep); }
.pn-chips__clear:hover { text-decoration: underline; }

/* bands + sections */
.pn-band--tint { background: rgba(237, 231, 220, 0.5); }
.pn-band--tint-40 { background: rgba(237, 231, 220, 0.4); }
.pn-band--tint-50 { background: rgba(237, 231, 220, 0.5); padding-top: 48px; padding-bottom: 48px; }
.pn-band--tint-border { border-top: 1px solid var(--pn-linen); border-bottom: 1px solid var(--pn-linen); background: rgba(237, 231, 220, 0.5); padding-top: 40px; padding-bottom: 40px; }
.pn-band--navy { background: var(--pn-navy); color: var(--pn-paper); padding-top: 56px; padding-bottom: 56px; }
.pn-band-grid { display: grid; gap: 24px; }
@media (min-width: 768px) { .pn-band-grid { grid-template-columns: repeat(3, 1fr); } }
.pn-band__t { font-weight: 600; color: var(--pn-ink); }
.pn-band__s { margin-top: 4px; font-size: 14px; line-height: 1.65; color: var(--pn-slate); }

/* header */
.pn-header { position: sticky; top: 0; z-index: 30; border-bottom: 1px solid var(--pn-linen); background: rgba(247, 244, 238, 0.95); backdrop-filter: blur(6px); }
body.admin-bar .pn-header { top: 32px; }
.pn-header__inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; height: 64px; }
.pn-logo { font-family: var(--pn-serif); font-weight: 600; font-size: 22px; color: var(--pn-navy); }
.pn-logo i { font-style: italic; }
.pn-nav { display: none; align-items: center; gap: 24px; }
.pn-nav__link { font-size: 14px; font-weight: 500; color: var(--pn-slate); }
.pn-nav__link:hover { color: var(--pn-navy); }
.pn-header__actions { display: flex; align-items: center; gap: 8px; }
.pn-saved { display: inline-flex; align-items: center; gap: 6px; border: 1px solid var(--pn-linen); border-radius: 999px; padding: 6px 12px; font-size: 12px; font-weight: 600; color: var(--pn-slate); }
.pn-saved:hover { border-color: var(--pn-navy); }
.pn-saved svg { width: 16px; height: 16px; }
.pn-saved.is-on svg { fill: var(--pn-rust); stroke: var(--pn-rust); }
.pn-menu-btn { display: inline-flex; width: 40px; height: 40px; flex-direction: column; align-items: center; justify-content: center; gap: 4px; border: 1px solid var(--pn-linen); border-radius: 8px; background: transparent; cursor: pointer; }
.pn-menu-btn span { display: block; width: 16px; height: 1.75px; background: var(--pn-ink); }
.pn-menu-btn--x { font-size: 20px; line-height: 1; }
@media (min-width: 768px) { .pn-nav { display: flex; } .pn-menu-btn { display: none; } .pn-btn--hide-m { display: inline-flex; } }
@media (max-width: 767.98px) { .pn-btn--hide-m { display: none; } }

/* drawer */
.pn-drawer { position: fixed; inset: 0; z-index: 50; }
.pn-drawer__backdrop { position: absolute; inset: 0; background: rgba(27, 34, 43, .5); }
.pn-drawer__panel { position: absolute; top: 0; right: 0; height: 100%; width: 86%; max-width: 384px; overflow: auto; background: var(--pn-paper); padding: 24px; box-shadow: 0 20px 40px rgba(0,0,0,.2); }
.pn-drawer__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 24px; }
.pn-drawer__nav { display: grid; gap: 4px; }
.pn-drawer__link { display: block; padding: 12px; border-radius: 8px; font-size: 18px; font-weight: 500; color: var(--pn-ink); }
.pn-drawer__link:hover { background: var(--pn-bone); }
.pn-drawer__cta { margin-top: 24px; width: 100%; }

/* hero */
.pn-hero { position: relative; }
.pn-hero__media { position: relative; height: 440px; overflow: hidden; }
.pn-hero__media img { width: 100%; height: 100%; object-fit: cover; }
.pn-hero__scrim { position: absolute; inset: 0; background: linear-gradient(to top, rgba(27,34,43,.7), rgba(27,34,43,.2) 55%, transparent); }
.pn-hero__content { position: absolute; left: 0; right: 0; bottom: 0; padding-bottom: 40px; }
.pn-hero__kicker { font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .2em; color: #E9E4DA; }
.pn-hero__title { margin-top: 8px; max-width: 620px; font-family: var(--pn-serif); font-weight: 600; font-size: 34px; line-height: 1.15; color: var(--pn-paper); }
.pn-hero__sub { margin-top: 8px; font-size: 14px; color: #E9E4DA; }
.pn-hero__search, .pn-search { margin-top: 20px; display: flex; align-items: center; gap: 8px; max-width: 560px; border-radius: 12px; background: #fff; padding: 8px 12px; box-shadow: 0 10px 24px rgba(0,0,0,.15); }
.pn-hero__search svg, .pn-search svg { color: var(--pn-stone); }
.pn-hero__search input, .pn-search input { flex: 1; min-width: 0; border: 0; padding: 6px 0; font: inherit; font-size: 14px; background: transparent; outline: none; }
.pn-search { margin-top: 20px; box-shadow: none; border: 1px solid var(--pn-linen); }

/* stats */
.pn-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; padding-top: 0; padding-bottom: 0; }
.pn-stat__num { font-family: var(--pn-serif); font-size: 28px; color: var(--pn-navy); }
.pn-stat__label { font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; color: var(--pn-stone); }
@media (min-width: 768px) { .pn-stats { grid-template-columns: repeat(4, 1fr); } }

/* grids */
.pn-grid-3 { display: grid; gap: 20px; }
.pn-grid-2 { display: grid; gap: 20px; }
@media (min-width: 768px) { .pn-grid-2 { grid-template-columns: repeat(2, 1fr); } .pn-grid-3 { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .pn-grid-3 { grid-template-columns: repeat(3, 1fr); } }
.pn-grid-3--gap { margin-top: 32px; }
.pn-row-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px; }

/* cards */
.pn-card { position: relative; display: block; overflow: hidden; border: 1px solid var(--pn-linen); border-radius: 12px; background: #fff; transition: border-color .15s ease; }
.pn-card:hover { border-color: var(--pn-navy); }
.pn-card__media { display: block; height: 176px; overflow: hidden; background: var(--pn-bone); }
.pn-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.pn-card:hover .pn-card__media img { transform: scale(1.02); }
.pn-card__body { display: block; padding: 16px; }
.pn-card__row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; }
.pn-card__price { font-family: var(--pn-serif); font-size: 20px; color: var(--pn-ink); }
.pn-card__facts { display: block; margin-top: 4px; font-size: 14px; color: var(--pn-slate); }
.pn-card__title { display: block; margin-top: 8px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 14px; font-weight: 500; color: var(--pn-ink); }
.pn-card__addr { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; color: var(--pn-stone); }
.pn-heart { position: absolute; top: 12px; right: 12px; z-index: 2; display: inline-flex; align-items: center; gap: 6px; border: 1px solid var(--pn-linen); border-radius: 999px; padding: 6px 10px; font-size: 12px; font-weight: 600; color: var(--pn-slate); background: rgba(255,255,255,.85); backdrop-filter: blur(4px); cursor: pointer; }
.pn-heart:hover { border-color: var(--pn-navy); }
.pn-heart svg { width: 16px; height: 16px; }
.pn-heart[aria-pressed="true"] { border-color: var(--pn-rust); color: var(--pn-rust); }
.pn-heart[aria-pressed="true"] svg { fill: var(--pn-rust); }
.pn-heart--inline { position: static; border-radius: 8px; padding: 10px 12px; font-size: 14px; background: #fff; }

/* hood cards + minis */
.pn-hood-card { display: block; overflow: hidden; border: 1px solid var(--pn-linen); border-radius: 12px; background: #fff; transition: border-color .15s ease; }
.pn-hood-card:hover { border-color: var(--pn-navy); }
.pn-hood-card__media { display: block; height: 144px; overflow: hidden; }
.pn-hood-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.pn-hood-card:hover .pn-hood-card__media img { transform: scale(1.03); }
.pn-hood-card__body { display: block; padding: 16px; }
.pn-hood-card__row { display: flex; align-items: center; justify-content: space-between; }
.pn-hood-card__name { font-family: var(--pn-serif); font-size: 18px; color: var(--pn-ink); }
.pn-hood-card__count { font-size: 12px; font-weight: 600; color: var(--pn-stone); }
.pn-hood-card__tag { display: block; margin-top: 4px; font-size: 14px; color: var(--pn-slate); }
.pn-hood-card__band { display: block; margin-top: 8px; font-size: 12px; color: var(--pn-brass-deep); }
.pn-hood-mini { display: block; border: 1px solid var(--pn-linen); border-radius: 12px; background: #fff; padding: 20px; }
.pn-hood-mini:hover { border-color: var(--pn-navy); }
.pn-hood-mini__name { font-family: var(--pn-serif); font-size: 18px; color: var(--pn-ink); }
.pn-hood-mini__tag { margin-top: 4px; font-size: 14px; color: var(--pn-slate); }
.pn-hood-mini__meta { margin-top: 8px; font-size: 12px; font-weight: 600; color: var(--pn-brass-deep); }

/* steps + notes + feature band */
.pn-how { display: grid; gap: 32px; }
@media (min-width: 768px) { .pn-how { grid-template-columns: 1fr 1.1fr; align-items: start; } }
.pn-steps { list-style: none; padding: 0; display: grid; gap: 20px; margin: 0; }
.pn-step { display: flex; gap: 16px; }
.pn-step__num { display: flex; width: 36px; height: 36px; flex: none; align-items: center; justify-content: center; border-radius: 999px; background: var(--pn-navy); font-family: var(--pn-serif); font-size: 18px; color: var(--pn-paper); }
.pn-step__t { display: block; font-weight: 600; color: var(--pn-ink); }
.pn-step__s { display: block; margin-top: 2px; font-size: 14px; line-height: 1.65; color: var(--pn-slate); }
.pn-feature { display: grid; gap: 32px; }
@media (min-width: 768px) { .pn-feature { grid-template-columns: 1fr 1fr; align-items: center; } }
.pn-demo { border: 1px solid #3D4C63; border-radius: 12px; background: #1B2A41; padding: 20px; }
.pn-demo__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.pn-chip-demo { border: 1px solid #55637A; border-radius: 999px; padding: 6px 12px; font-size: 12px; font-weight: 600; color: #E9E4DA; }
.pn-chip-demo--active { border-color: var(--pn-paper); background: var(--pn-paper); color: var(--pn-navy); }
.pn-demo__count { margin-top: 16px; font-size: 14px; color: #E9E4DA; }
.pn-demo__cards { margin-top: 12px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.pn-demo__cards span { display: block; height: 64px; border-radius: 8px; background: #3D4C63; }
.pn-notes { display: grid; gap: 24px; padding-top: 32px; padding-bottom: 32px; border-top: 1px solid var(--pn-linen); }
@media (min-width: 768px) { .pn-notes { grid-template-columns: repeat(3, 1fr); } }
.pn-notes__t { font-family: var(--pn-serif); font-size: 18px; color: var(--pn-ink); }
.pn-notes__s { margin-top: 4px; font-size: 14px; line-height: 1.65; color: var(--pn-slate); }

/* spotlight + estimator teaser */
.pn-spotlight { display: grid; gap: 32px; padding-top: 56px; padding-bottom: 56px; }
@media (min-width: 768px) { .pn-spotlight { grid-template-columns: 1.1fr 1fr; align-items: center; } }
.pn-spotlight__img { height: 288px; width: 100%; object-fit: cover; border-radius: 12px; }
@media (min-width: 768px) { .pn-spotlight__img { height: 384px; } }
.pn-estimator-teaser { display: grid; gap: 32px; padding-top: 56px; padding-bottom: 56px; }
@media (min-width: 768px) { .pn-estimator-teaser { grid-template-columns: 1fr 1fr; align-items: center; } }
.pn-teaser-card { border: 1px solid var(--pn-linen); border-radius: 12px; background: #fff; padding: 24px; }
.pn-teaser-card__kicker { font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; color: var(--pn-stone); }
.pn-teaser-card__num { margin-top: 8px; font-family: var(--pn-serif); font-size: 30px; color: var(--pn-navy); }
.pn-teaser-card__sub { margin-top: 4px; font-size: 14px; color: var(--pn-slate); }
.pn-teaser-card__note { margin-top: 12px; font-size: 12px; color: var(--pn-stone); }

/* agents */
.pn-agents-strip { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; text-align: center; margin-top: 32px; }
@media (min-width: 768px) { .pn-agents-strip { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1024px) { .pn-agents-strip { grid-template-columns: repeat(6, 1fr); } }
.pn-agent-mini img { width: 96px; height: 96px; margin: 0 auto; border-radius: 999px; object-fit: cover; box-shadow: 0 0 0 1px var(--pn-linen); }
.pn-agent-mini__name { display: block; margin-top: 12px; font-size: 14px; font-weight: 600; color: var(--pn-ink); }
.pn-agent-mini__role { display: block; font-size: 12px; color: var(--pn-stone); }
.pn-agent-card { border: 1px solid var(--pn-linen); border-radius: 12px; background: #fff; padding: 20px; }
.pn-agent-line { display: flex; align-items: center; gap: 16px; }
.pn-agent-line img { width: 64px; height: 64px; border-radius: 999px; object-fit: cover; flex: none; }
.pn-agent-line--card { border-top: 1px solid var(--pn-linen); padding-top: 16px; margin-top: 16px; }
.pn-agent-line__name { font-family: var(--pn-serif); font-size: 18px; color: var(--pn-ink); }
.pn-agent-line__role { font-size: 12px; color: var(--pn-stone); }
.pn-agent-card__name { font-family: var(--pn-serif); font-size: 18px; color: var(--pn-ink); }
.pn-agent-card__role { font-size: 12px; color: var(--pn-stone); }
.pn-agent-card__focus { margin-top: 12px; font-size: 14px; color: var(--pn-slate); }
.pn-agent-card .pn-row { margin-top: 16px; }
.pn-agent-hero { display: grid; gap: 32px; padding-top: 48px; padding-bottom: 48px; }
@media (min-width: 768px) { .pn-agent-hero { grid-template-columns: auto 1fr; align-items: center; } }
.pn-agent-portrait { width: 160px; height: 160px; border-radius: 999px; object-fit: cover; box-shadow: 0 0 0 1px var(--pn-linen); }
.pn-agent-role { margin-top: 4px; font-size: 14px; font-weight: 600; color: var(--pn-brass-deep); }

/* band sections with border (agents/hoods/favorites/contact/etc.) */
.pn-side__card { border: 1px solid var(--pn-linen); border-radius: 12px; background: #fff; padding: 20px; }
.pn-side__t { font-family: var(--pn-serif); font-size: 20px; color: var(--pn-ink); }
.pn-side__t--s { font-size: 16px; font-weight: 600; }
.pn-side__t--xs { font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; color: var(--pn-stone); font-family: var(--pn-sans); }
.pn-side__s { margin-top: 8px; font-size: 14px; line-height: 1.65; color: var(--pn-slate); }
.pn-side { display: grid; gap: 20px; align-content: start; }
.pn-list { margin: 12px 0 0; padding: 0; list-style: none; display: grid; gap: 8px; font-size: 14px; color: var(--pn-slate); }
.pn-list--num { padding-left: 18px; list-style: decimal; }
.pn-list--check li { display: flex; gap: 8px; }
.pn-list--check li::before { content: "✓"; color: var(--pn-sage); }

/* filters */
.pn-filters-bar { border-bottom: 1px solid var(--pn-linen); }
.pn-filters { padding-top: 20px; padding-bottom: 20px; }
.pn-filters__row { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px; }
.pn-filters__row--feat { margin-top: 16px; align-items: center; }
.pn-filters__label { font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; color: var(--pn-stone); }
.pn-field { display: flex; flex-direction: column; font-size: 12px; font-weight: 600; color: var(--pn-slate); }
.pn-field input, .pn-field select, .pn-field textarea { margin-top: 4px; border: 1px solid var(--pn-linen); border-radius: 8px; background: #fff; padding: 8px 10px; font: inherit; font-size: 14px; font-weight: 400; color: var(--pn-ink); }
.pn-field input[inputmode="numeric"] { width: 80px; }
.pn-field--wide input { width: 112px; }
.pn-select { position: relative; display: inline-flex; margin-top: 4px; }
.pn-select select { appearance: none; -webkit-appearance: none; width: 100%; border: 1px solid var(--pn-linen); border-radius: 8px; background: #fff; padding: 8px 32px 8px 10px; font: inherit; font-size: 14px; font-weight: 400; color: var(--pn-ink); }
.pn-select--sm { width: 72px; } .pn-select--md { width: 112px; } .pn-select--lg { width: 136px; } .pn-select--xl { width: 176px; } .pn-select--full { width: 100%; }
.pn-select__chev { position: absolute; right: 10px; top: 50%; width: 14px; height: 14px; transform: translateY(-50%); color: var(--pn-stone); pointer-events: none; }
.pn-filters [name="beds"] ~ .pn-select__chev, .pn-filters .pn-select { margin-top: 0; }
.pn-viewtoggle { margin-left: auto; display: inline-flex; overflow: hidden; border: 1px solid var(--pn-linen); border-radius: 8px; }
.pn-viewtoggle .pn-viewtoggle__btn { border: 0; padding: 8px 12px; font-size: 14px; font-weight: 600; background: #fff; color: var(--pn-slate); cursor: pointer; }
.pn-viewtoggle .pn-viewtoggle__btn.is-active { background: var(--pn-navy); color: var(--pn-paper); }
@media (min-width: 1200px) { .pn-filters__row { flex-wrap: nowrap; } }
.pn-summary { font-size: 14px; color: var(--pn-slate); padding: 8px 0 2px; }
.pn-summary__sort { font-size: 12px; color: var(--pn-stone); }
.pn-loadmore { margin-top: 32px; text-align: center; }
.pn-empty { border: 1px solid var(--pn-linen); border-radius: 12px; background: #fff; padding: 40px; text-align: center; }
.pn-empty__t { font-family: var(--pn-serif); font-size: 20px; color: var(--pn-ink); }
.pn-empty__s { margin-top: 4px; font-size: 14px; color: var(--pn-slate); }

/* map */
.pn-map { position: relative; overflow: hidden; border: 1px solid var(--pn-linen); border-radius: 12px; background: #F0EDE4; }
.pn-map__bg { position: absolute; inset: 0; width: 100%; height: 100%; }
.pn-pin { position: absolute; width: 12px; height: 12px; transform: translate(-50%, -50%); border: 1px solid var(--pn-paper); border-radius: 999px; background: var(--pn-navy); box-shadow: 0 1px 2px rgba(0,0,0,.2); cursor: pointer; transition: transform .12s ease, background-color .12s ease; }
.pn-pin:hover, .pn-pin:focus-visible { transform: translate(-50%, -50%) scale(1.25); background: var(--pn-rust); }
.pn-map__note { position: absolute; left: 12px; top: 12px; border-radius: 999px; background: rgba(255,255,255,.9); padding: 4px 12px; font-size: 12px; color: var(--pn-slate); }
.pn-pincard { position: absolute; left: 16px; bottom: 16px; z-index: 3; width: 320px; max-width: calc(100% - 32px); overflow: hidden; border: 1px solid var(--pn-linen); border-radius: 12px; background: #fff; box-shadow: 0 12px 32px rgba(0,0,0,.15); }
.pn-pincard img { width: 100%; height: 128px; object-fit: cover; }
.pn-pincard__body { padding: 12px; }
.pn-pincard__price { font-family: var(--pn-serif); font-size: 18px; color: var(--pn-ink); }
.pn-pincard__facts { font-size: 14px; color: var(--pn-slate); }
.pn-pincard__addr { margin-top: 4px; font-size: 12px; color: var(--pn-stone); }
.pn-pincard__close { position: absolute; top: 8px; right: 8px; border: 0; border-radius: 999px; background: rgba(255,255,255,.85); width: 24px; height: 24px; cursor: pointer; }

/* detail */
.pn-detail__grid { display: grid; gap: 32px; padding-top: 32px; padding-bottom: 32px; }
@media (min-width: 768px) { .pn-detail__grid { grid-template-columns: 1.55fr 1fr; } }
.pn-mosaic { position: relative; display: grid; grid-template-columns: repeat(2, 1fr); grid-auto-rows: 128px; gap: 8px; overflow: hidden; border-radius: 12px; }
.pn-mosaic__main { grid-row: span 2; border: 0; padding: 0; cursor: pointer; }
.pn-mosaic__main img, .pn-mosaic__thumb img { width: 100%; height: 100%; object-fit: cover; }
.pn-mosaic__thumb { border: 0; padding: 0; cursor: pointer; display: none; }
@media (min-width: 768px) { .pn-mosaic { grid-template-columns: repeat(4, 1fr); } .pn-mosaic__main { grid-column: span 2; } .pn-mosaic__thumb { display: block; } }
.pn-mosaic__all { position: absolute; right: 12px; bottom: 12px; border: 1px solid var(--pn-linen); border-radius: 8px; background: rgba(255,255,255,.92); padding: 8px 12px; font-size: 12px; font-weight: 600; cursor: pointer; }
.pn-rail__price { font-family: var(--pn-serif); font-size: 32px; color: var(--pn-ink); }
.pn-rail__addr { margin-top: 8px; font-size: 14px; color: var(--pn-slate); }
.pn-rail__id { margin-top: 4px; font-size: 12px; color: var(--pn-stone); }
.pn-rail__stats { margin-top: 16px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; border: 1px solid var(--pn-linen); border-radius: 12px; background: #fff; padding: 16px; text-align: center; }
.pn-rail__num { font-family: var(--pn-serif); font-size: 24px; color: var(--pn-navy); }
.pn-rail__k { font-size: 12px; text-transform: uppercase; letter-spacing: .04em; color: var(--pn-stone); }
.pn-rail__actions { margin-top: 16px; display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.pn-rail__est { margin-top: 16px; border: 1px solid var(--pn-linen); border-radius: 12px; background: #fff; padding: 16px; }
.pn-rail__estsub { margin-top: 4px; font-size: 14px; color: var(--pn-slate); }
.pn-rail__estsub a { color: var(--pn-brass-deep); font-weight: 600; }
.pn-facts { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; padding-top: 32px; padding-bottom: 32px; }
@media (min-width: 768px) { .pn-facts { grid-template-columns: repeat(4, 1fr); } }
.pn-fact { border: 1px solid var(--pn-linen); border-radius: 8px; background: #fff; padding: 12px 16px; }
.pn-fact__k { font-size: 12px; text-transform: uppercase; letter-spacing: .04em; color: var(--pn-stone); }
.pn-fact__v { margin-top: 4px; font-size: 14px; font-weight: 600; color: var(--pn-ink); }
.pn-detail__body { display: grid; gap: 40px; padding-top: 48px; padding-bottom: 48px; }
@media (min-width: 768px) { .pn-detail__body { grid-template-columns: 1.5fr 1fr; } }
.pn-features { margin-top: 16px; display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
@media (min-width: 768px) { .pn-features { grid-template-columns: repeat(3, 1fr); } }
.pn-feat-chip { display: inline-flex; align-items: center; gap: 8px; border: 1px solid var(--pn-linen); border-radius: 8px; background: #fff; padding: 8px 12px; font-size: 14px; color: var(--pn-stone); }
.pn-feat-chip.is-on { border-color: var(--pn-sage); background: rgba(95, 113, 70, .1); color: var(--pn-ink); }
.pn-feat-chip.is-on::before { content: "✓"; color: var(--pn-sage); }
.pn-place { display: flex; gap: 16px; border: 1px solid var(--pn-linen); border-radius: 12px; background: #fff; padding: 16px; }
.pn-places { margin-top: 16px; display: grid; gap: 12px; }
.pn-place__pin { width: 20px; height: 20px; margin-top: 2px; flex: none; border-radius: 999px; border: 2px solid var(--pn-brass-deep); }
.pn-place__t { font-size: 14px; font-weight: 600; color: var(--pn-ink); }
.pn-place__s { margin-top: 4px; font-size: 14px; color: var(--pn-slate); }
.pn-guide-hero { position: relative; }
.pn-guide-hero__media { position: relative; height: 320px; overflow: hidden; }
@media (min-width: 768px) { .pn-guide-hero__media { height: 380px; } }
.pn-guide-hero__media img { width: 100%; height: 100%; object-fit: cover; }
.pn-guide-hero__scrim { position: absolute; inset: 0; background: linear-gradient(to top, rgba(27,34,43,.75), rgba(27,34,43,.1)); }
.pn-guide-hero__content { position: absolute; left: 0; right: 0; bottom: 0; padding-bottom: 32px; }
.pn-guide-hero__title { margin-top: 4px; font-family: var(--pn-serif); font-weight: 600; font-size: 34px; color: var(--pn-paper); }
.pn-guide-hero__sub { margin-top: 4px; font-size: 14px; color: #E9E4DA; }
.pn-404__num { font-family: var(--pn-serif); font-size: 64px; line-height: 1; color: var(--pn-navy); }

/* favorites + inquiry + estimator */
.pn-fav-summary { font-size: 14px; color: var(--pn-slate); }
.pn-fav-summary strong { color: var(--pn-ink); }
.pn-fav-clear { border: 0; background: none; font-size: 12px; font-weight: 600; color: var(--pn-rust); cursor: pointer; }
.pn-fav-clear:hover { text-decoration: underline; }
.pn-inq__grid2 { display: grid; gap: 32px; padding-top: 48px; padding-bottom: 48px; }
@media (min-width: 768px) { .pn-inq__grid2 { grid-template-columns: 1.3fr 1fr; } }
.pn-inq__card { border: 1px solid var(--pn-linen); border-radius: 12px; background: rgba(237, 231, 220, 0.4); padding: 24px; }
.pn-inq__grid { display: grid; gap: 16px; margin-top: 16px; }
@media (min-width: 768px) { .pn-inq__grid { grid-template-columns: 1fr 1fr; } .pn-est__full { grid-column: span 2; } }
.pn-inq__dates { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.pn-consent { display: flex; gap: 12px; font-size: 14px; color: var(--pn-slate); }
.pn-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.pn-err { font-size: 13px; color: var(--pn-rust); }
.pn-err--block { margin-top: 8px; }
.pn-ctx { display: flex; gap: 16px; margin-top: 12px; }
.pn-ctx img { width: 112px; height: 80px; border-radius: 8px; object-fit: cover; flex: none; }
.pn-ctx__addr { font-size: 14px; font-weight: 600; color: var(--pn-ink); }
.pn-ctx__facts { margin-top: 2px; font-size: 12px; color: var(--pn-stone); }
.pn-lookup { margin-top: 8px; display: flex; align-items: flex-end; gap: 12px; }
.pn-statusline { margin-top: 12px; border: 1px solid var(--pn-linen); border-radius: 8px; padding: 10px 12px; font-size: 13px; color: var(--pn-slate); }
.pn-statusline--ok { border-color: var(--pn-sage); background: rgba(95,113,70,.1); color: var(--pn-ink); }
.pn-statusline--err { border-color: var(--pn-rust); color: var(--pn-rust); }
.pn-receipt { text-align: center; max-width: 640px; margin: 0 auto; padding-top: 64px; padding-bottom: 48px; }
.pn-receipt__icon { display: inline-flex; width: 56px; height: 56px; border-radius: 999px; background: rgba(95,113,70,.15); }
.pn-receipt__icon::after { content: "✓"; margin: auto; color: var(--pn-sage); font-size: 24px; }
.pn-receipt__title { margin-top: 16px; font-family: var(--pn-serif); font-size: 30px; color: var(--pn-ink); }
.pn-receipt__card { margin-top: 32px; text-align: left; }
.pn-est__grid2 { display: grid; gap: 32px; padding-top: 48px; padding-bottom: 48px; }
@media (min-width: 768px) { .pn-est__grid2 { grid-template-columns: 1fr 1fr; } }
.pn-est__card { border: 1px solid var(--pn-linen); border-radius: 12px; background: #fff; padding: 24px; }
.pn-est__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 16px; }
.pn-est__full { grid-column: span 2; }
.pn-est__error { margin-top: 16px; border: 1px solid var(--pn-rust); background: rgba(169,72,47,.05); border-radius: 8px; padding: 12px; font-size: 14px; color: var(--pn-rust); }
.pn-est__result { border: 1px solid var(--pn-linen); border-radius: 12px; background: var(--pn-navy); color: var(--pn-paper); padding: 24px; }
.pn-est__kicker { font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; color: #D9C9A0; }
.pn-est__num { margin-top: 8px; font-family: var(--pn-serif); font-size: 34px; }
.pn-est__sub { margin-top: 8px; font-size: 14px; line-height: 1.65; color: #E9E4DA; }
.pn-est__note { margin-top: 16px; border-top: 1px solid rgba(255,255,255,.15); padding-top: 12px; font-size: 12px; color: #C9CFD9; }
.pn-disclaimer { border: 1px solid var(--pn-linen); border-radius: 12px; background: #fff; padding: 20px; font-size: 12px; line-height: 1.65; color: var(--pn-stone); }

/* style guide + misc */
.pn-swatches { margin-top: 16px; display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
@media (min-width: 768px) { .pn-swatches { grid-template-columns: repeat(4, 1fr); } }
.pn-swatch { border: 1px solid var(--pn-linen); border-radius: 8px; background: #fff; padding: 12px; }
.pn-swatch span { display: block; height: 40px; border-radius: 8px; }
.pn-swatch__n { margin-top: 8px; font-size: 12px; font-weight: 600; color: var(--pn-ink); }
.pn-swatch__v { font-size: 12px; color: var(--pn-stone); }
.pn-spec-xl { font-family: var(--pn-serif); font-size: 44px; line-height: 1.1; }
.pn-spec-l { font-family: var(--pn-serif); font-size: 30px; }
.pn-spec-b { font-size: 16px; }
.pn-spec-label { font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; color: var(--pn-stone); }
.pn-skel { display: grid; gap: 8px; margin: 12px 0; }
.pn-skel span { display: block; height: 14px; border-radius: 8px; background: var(--pn-bone); animation: pn-pulse 1.6s ease-in-out infinite; }
@keyframes pn-pulse { 0%, 100% { opacity: 1; } 50% { opacity: .55; } }
.pn-prose { max-width: 760px; margin: 0 auto; display: grid; gap: 28px; padding-top: 48px; padding-bottom: 48px; }
.pn-contact__grid { display: grid; gap: 32px; padding-top: 48px; padding-bottom: 48px; }
@media (min-width: 768px) { .pn-contact__grid { grid-template-columns: 1fr 1.2fr; } }
.pn-contact__line { margin-top: 12px; font-size: 14px; color: var(--pn-slate); }

/* footer */
.pn-footer { border-top: 1px solid var(--pn-linen); background: rgba(237, 231, 220, 0.6); margin-top: 0; }
.pn-footer__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 32px; padding-top: 48px; padding-bottom: 48px; }
@media (min-width: 768px) { .pn-footer__grid { grid-template-columns: repeat(4, 1fr); } }
.pn-footer__logo { font-family: var(--pn-serif); font-size: 20px; color: var(--pn-navy); }
.pn-footer__text { margin-top: 8px; font-size: 14px; line-height: 1.65; color: var(--pn-slate); }
.pn-footer__h { font-size: 14px; font-weight: 600; color: var(--pn-ink); }
.pn-footer__list { margin: 8px 0 0; padding: 0; list-style: none; display: grid; gap: 4px; font-size: 14px; color: var(--pn-slate); }
.pn-footer__list a:hover { color: var(--pn-navy); }
.pn-footer__bottom { border-top: 1px solid var(--pn-linen); }
.pn-footer__bottomrow { display: flex; flex-direction: column; gap: 8px; padding-top: 20px; padding-bottom: 20px; font-size: 12px; color: var(--pn-stone); }
@media (min-width: 768px) { .pn-footer__bottomrow { flex-direction: row; align-items: center; justify-content: space-between; } }

/* CTA band — flush tail (feedback FB-07): no vertical margins; footer follows directly */
.pn-cta { background: var(--pn-navy); color: var(--pn-paper); padding-top: 56px; padding-bottom: 56px; margin: 0; }
.pn-cta__grid { display: flex; flex-direction: column; align-items: flex-start; gap: 24px; }
@media (min-width: 768px) { .pn-cta__grid { flex-direction: row; align-items: center; justify-content: space-between; } }
.pn-cta__title { font-family: var(--pn-serif); font-weight: 600; font-size: 26px; }
@media (min-width: 768px) { .pn-cta__title { font-size: 32px; } }
.pn-cta__sub { margin-top: 8px; max-width: 560px; font-size: 14px; line-height: 1.65; color: #E9E4DA; }

/* tools + lightbox + toast */
.pn-lightbox { position: fixed; inset: 0; z-index: 60; display: flex; align-items: center; justify-content: center; background: rgba(27,34,43,.85); padding: 16px; }
.pn-lightbox__inner { position: relative; width: 100%; max-width: 1024px; }
.pn-lightbox__inner img { max-height: 78vh; width: 100%; object-fit: contain; border-radius: 12px; }
.pn-lightbox__bar { margin-top: 12px; display: flex; align-items: center; justify-content: space-between; color: var(--pn-paper); font-size: 14px; }
.pn-lb-btn { border: 1px solid rgba(247,244,238,.4); border-radius: 999px; background: none; color: var(--pn-paper); padding: 8px 12px; cursor: pointer; }
.pn-lb-close { position: absolute; top: -12px; right: -12px; border: 0; border-radius: 999px; background: var(--pn-paper); width: 32px; height: 32px; font-size: 18px; cursor: pointer; }
.pn-toast { position: fixed; right: 16px; bottom: 16px; z-index: 40; max-width: 320px; border: 1px solid var(--pn-linen); border-radius: 12px; background: #fff; padding: 12px 16px; font-size: 14px; color: var(--pn-ink); box-shadow: 0 12px 24px rgba(0,0,0,.12); }

/* focus visibility */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 2px solid var(--pn-brass-deep); outline-offset: 2px; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
  .pn-card:hover .pn-card__media img, .pn-hood-card:hover .pn-hood-card__media img { transform: none; }
}

.pn-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* ensure authored display rules never defeat the hidden attribute (lightbox/drawer/panels) */
[hidden] { display: none !important; }

/* grid hardening: allow tracks to shrink below content min-width (mobile overflow fix) */
.pn-grid-2, .pn-grid-3, .pn-contact__grid, .pn-inq__grid2, .pn-est__grid2, .pn-detail__grid, .pn-detail__body, .pn-agent-hero { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 768px) {
  .pn-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pn-grid-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pn-contact__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); }
  .pn-inq__grid2 { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); }
  .pn-est__grid2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pn-detail__grid { grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); }
  .pn-detail__body { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); }
  .pn-agent-hero { grid-template-columns: auto minmax(0, 1fr); }
}
@media (min-width: 1024px) { .pn-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.pn-est__grid, .pn-inq__grid, .pn-inq__dates { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 768px) {
  .pn-inq__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.pn-field, .pn-side__card, .pn-side, .pn-empty, .pn-teaser-card, .pn-est__card, .pn-est__result, .pn-inq__card { min-width: 0; }
.pn-field input, .pn-field select, .pn-field textarea { max-width: 100%; min-width: 0; }
input[type="date"] { width: 100%; min-width: 0; }
.pn-body, .pn-sub, .pn-side__s, .pn-band__s { overflow-wrap: break-word; }

/* section padding map — mirrors the approved design (Tailwind py-* per section) */
[data-pn-section="curated-listings"], [data-pn-section="hood-grid"], [data-pn-section="how-it-works"], [data-pn-section="agents-strip"],
[data-pn-section="about-hero"], [data-pn-section="about-how"], [data-pn-section="about-team"], [data-pn-section="about-trust"] { padding-top: 56px; padding-bottom: 56px; }
[data-pn-section="listings-hero"] { padding-top: 40px; padding-bottom: 40px; }
[data-pn-section="results-grid"] { padding-bottom: 32px; }
[data-pn-section="quick-stats"], [data-pn-section="guide-snapshot"] { padding-top: 28px; padding-bottom: 28px; }
[data-pn-section="similar-homes"], [data-pn-section="agent-listings"], [data-pn-section="agent-hoods"], [data-pn-section="agent-contact"],
[data-pn-section="hoods-grid"], [data-pn-section="guide-streets"], [data-pn-section="guide-listings"], [data-pn-section="guide-agents"],
[data-pn-section="fav-grid"], [data-pn-section="fav-empty"], [data-pn-section="fav-hoods"],
[data-pn-section="mortgage-how"] { padding-top: 48px; padding-bottom: 48px; }
[data-pn-section="fav-summary"] { padding-top: 20px; padding-bottom: 20px; }
[data-pn-section="fav-note"], [data-pn-section="inq-alt"], [data-pn-section="contact-map"], [data-pn-section="style-guide-hero"] { padding-top: 40px; padding-bottom: 40px; }
[data-pn-section="mortgage-disclaimer"] { padding-top: 32px; padding-bottom: 32px; }
[data-pn-section="sg-hero"], [data-pn-section="sg-tokens"], [data-pn-section="sg-type"], [data-pn-section="sg-components"], [data-pn-section="sg-notes"] { padding-top: 40px; padding-bottom: 40px; }
[data-pn-section="nf-hero"] { padding-top: 80px; padding-bottom: 80px; }

/* md3 overrides — sections that use md:grid-cols-3 in the approved design */
@media (min-width: 768px) {
  [data-pn-section="similar-homes"] .pn-grid-3, [data-pn-section="hood-grid"] .pn-grid-3,
  [data-pn-section="hoods-grid"] .pn-grid-3, [data-pn-section="fav-hoods"] .pn-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* margin reset — core styles add default heading/paragraph margins; the design system owns spacing */
:where(.pn-body) :where(h1, h2, h3, p, ul, ol, figure, blockquote) { margin-top: 0; margin-bottom: 0; }

/* heading weight parity — the approved design uses Newsreader 400 for display headings */
.pn-h1, .pn-h2, .pn-cta__title, .pn-receipt__title, .pn-404__num, .pn-guide-hero__title, .pn-hero__title { font-weight: 400; }
.pn-h2 { line-height: 1.5; }

/* responsive type parity with the approved design */
@media (min-width: 768px) {
  .pn-hero__title { font-size: 46px; }
  .pn-guide-hero__title { font-size: 44px; }
  .pn-h1 { font-size: 42px; }
  [data-pn-section="listings-hero"] .pn-h1 { font-size: 40px; }
  .pn-h1--l { font-size: 44px; }
  .pn-h2 { font-size: 32px; }
}
.pn-demo__card { overflow: hidden; border-radius: 8px; background: #22334A; }
.pn-demo__thumb { height: 64px; background: #3D4C63; }
.pn-demo__lines { padding: 8px; }
.pn-demo__bar1 { height: 10px; width: 64px; margin-top: 6px; border-radius: 4px; background: #55637A; }
.pn-demo__bar2 { height: 8px; width: 80px; margin-top: 6px; border-radius: 4px; background: #3D4C63; }

/* hero padding restore (sections whose wrap padding moved to the section) */
[data-pn-section="agents-hero"], [data-pn-section="hoods-hero"], [data-pn-section="fav-hero"], [data-pn-section="mortgage-hero"],
[data-pn-section="inq-hero"], [data-pn-section="contact-hero"], [data-pn-section="privacy-hero"] { padding-top: 48px; padding-bottom: 48px; }

/* final parity patch batch */
.pn-h2--s { font-size: 20px; line-height: 1.5; }
.pn-summary { padding: 0 0 8px; }
[data-pn-section="hoods-grid"] .pn-hood-card__media { height: 160px; }
[data-pn-section="agents-grid"], [data-pn-section="hoods-grid"] { padding-top: 48px; padding-bottom: 48px; }
