/* Argent local presentation — production stylesheet.
 *
 * Ownership:
 *   Schemas: governed content semantics and intrinsic component structure.
 *   Amphora: CMS-neutral component mechanics and presentation primitives.
 *   Argent: customer chrome, palette, atmosphere, site composition, and optical styling.
 *
 * Organization follows stable responsibilities rather than change history. Selectors are
 * semantic/capability based; route-specific repair rules do not belong in this layer.
 */

:root {
  --argent-field: var(--argent-first-paint-color, #6e99be);
  --argent-surface: #fffdf8;
  --argent-panel: #f7f3eb;
  --argent-ink: #18201c;
  --argent-muted: #66706a;
  --argent-line: #d8d3c8;
  --argent-accent: #9a6a3a;
  --argent-dark: #101713;
  --argent-rust: #7a312b;
  --argent-blue: #2f6f9f;
  --argent-action: var(--argent-blue);
  --argent-chrome: var(--argent-rust);
  --argent-chrome-ink: #fffdf8;
  --argent-site-width: 1220px;
  --argent-edge: clamp(16px, 4vw, 56px);
  --argent-rail: clamp(22px, 2.1vw, 30px);
  --argent-block: clamp(24px, 2.4vw, 34px);
  --argent-page-gap: 24px;
  --argent-radius: 24px;
  --argent-card-radius: 18px;
  --argent-card-title-size: clamp(1.18rem, .16vw + 1.15rem, 1.3rem);
  --argent-card-title-line: 1.08;
  --argent-card-meta-size: clamp(.92rem, .10vw + .90rem, 1rem);
  --argent-card-meta-line: 1.2;
  --argent-card-prose-line: 1.48;
  --argent-footer-width: 880px;
  --argent-control-radius: 999px;
  --argent-field-radius: 8px;
  --argent-field-focus: var(--argent-dark);
  --argent-form-control-surface: color-mix(in srgb,var(--argent-blue) 11%,var(--argent-surface));
  --argent-font-ui: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --argent-font-reading: Georgia, Cambria, serif;
  --argent-breadcrumb-size: 1rem;
  --argent-breadcrumb-line: 1.25;
  --argent-header-height: 56px;
  --argent-scrollbar-native-width: 0px;
  --argent-scrollbar-layout-reserve: 0px;
  --argent-local-favorite-off-image: url("../images/favorite-heart-off.svg");
  --argent-local-favorite-on-image: url("../images/favorite-heart-on.svg?v=0.3.13-cumulative-convergence-r13");
  --amphora-listing-page-favorite-off-image: var(--argent-local-favorite-off-image);
  --amphora-listing-page-favorite-on-image: var(--argent-local-favorite-on-image);
}

* { box-sizing: border-box; }
html {
  background-color: var(--argent-field);
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: cover;
  background-attachment: fixed;
  color: var(--argent-ink);
}
body.site {
  position: relative;
  isolation: isolate;
  min-height: 100vh;
  margin: 0;
  background: transparent;
  color: var(--argent-ink);
  font: 400 1rem/1.55 var(--argent-font-ui);
  letter-spacing: normal;
  text-rendering: optimizeLegibility;
  --amphora-site-card-surface: var(--argent-surface);
  --amphora-site-panel-surface: var(--argent-panel);
  --amphora-site-line: var(--argent-line);
  --amphora-site-ink: var(--argent-ink);
  --amphora-site-width: var(--argent-site-width);
  --amphora-site-inner-pad: var(--argent-rail);
  --amphora-site-card-radius: var(--argent-radius);
  --amphora-site-standard-vertical-gap: var(--argent-page-gap);
  --heading: var(--argent-blue);
  --amphora-control-line: var(--argent-dark);
  --amphora-control-border: 1px solid var(--argent-dark);
}
body.site a { color: var(--argent-action); text-decoration: none; text-underline-offset: .16em; }
body.site a:hover,
body.site a:focus-visible { color: var(--argent-rust); text-decoration: none; }
/* Argent owns customer link decoration. Schemas/CMS may provide portable/default
   affordances, but customer content links never add an underline on hover/focus. */
body.site :is(.container-component,.pagecache-public-root) a:is(:hover,:focus-visible) { text-decoration: none; }
/* Generic keyboard focus applies to controls that do not own a field-border focus state. */
body.site :focus-visible:not(:is(
  input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
  select,
  textarea
)) { outline: 2px solid var(--argent-dark); outline-offset: 2px; }
:is(input, button, select, optgroup, textarea) { font: inherit; line-height: inherit; }

/* ---------- Site shell ---------- */
.site-grid {
  position: relative;
  display: block;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  padding-inline-end: 0;
}
.amphora-joomla-publisher-footer { display: block; width: 100%; max-width: none; margin: 0; padding: 0; }
/* Center shell rails against the physical viewport so scrollbar appearance cannot
   alter masthead or content-rail geometry. */
.container-component {
  position: relative;
  isolation: isolate;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}
.container-component::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: var(--argent-page-gap);
  bottom: 0;
  left: calc(50% + ((100vw - 100%) / 2));
  width: min(calc(100vw - 2 * var(--argent-edge)), var(--argent-site-width));
  transform: translateX(-50%);
  border-radius: var(--argent-radius) var(--argent-radius) 0 0;
  background: var(--argent-surface);
  box-shadow: none;
  pointer-events: none;
}
/* One site-level masthead-to-page gap. The CMS main is the placement owner;
   governed/native/Home content must not add a second outer Y offset. */
.container-component > main {
  width: min(calc(100vw - 2 * var(--argent-edge)), var(--argent-site-width));
  max-width: var(--argent-site-width);
  margin-top: var(--argent-page-gap);
  margin-inline: auto;
  position: relative;
  left: calc((100vw - 100%) / 2);
  z-index: 1;
}
.site-grid > .container-sidebar-right, #back-top, .back-to-top-link,
.container-header .navbar-brand, .container-header > .grid-child:not(.container-nav),
.site-grid > .container-component > .mod-breadcrumbs__wrapper:not(.argent-native-breadcrumbs),
.container-component :is(.com-content-article,.item-page,.blog-item) :is(.article-info,.article-info-term),
.container-component :is(.com-content-article,.item-page) :is(nav.pagenavigation,.pagenavigation) { display: none; }

/* ---------- Masthead ---------- */
.container-header {
  position: sticky;
  top: 0;
  z-index: 1100;
  min-height: var(--argent-header-height);
  padding-inline-end: 0;
  background: var(--argent-chrome);
  color: var(--argent-chrome-ink);
  border-bottom: 0;
  box-shadow: inset 0 -1px 0 rgba(255,253,248,.12);
}
.grid-child.container-nav {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  width: min(calc(100vw - 2 * var(--argent-edge)), var(--argent-site-width));
  min-height: var(--argent-header-height);
  margin-inline: auto;
  position: relative;
  left: calc((100vw - 100%) / 2);
  padding-inline: var(--argent-rail);
  overflow: hidden;
}
.argent-joomla-masthead { display: flex; flex: 0 0 auto; align-items: center; min-width: 0; }
.argent-joomla-masthead__home { display: inline-flex; align-items: center; color: var(--argent-chrome-ink); }
.argent-joomla-masthead__home img,
.argent-joomla-masthead__home svg { display: block; width: clamp(170px, 14vw, 205px); height: auto; max-height: 48px; }
.argent-mobile-menu-toggle {
  display: none;
  flex: 0 0 auto;
  width: 42px;
  height: 42px;
  margin: 0;
  padding: 0;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255,253,248,.34);
  border-radius: 999px;
  background: transparent;
  color: var(--argent-chrome-ink);
  box-shadow: none;
  cursor: pointer;
  font: inherit;
}
.argent-mobile-menu-toggle__icon,
.argent-mobile-menu-toggle__icon::before,
.argent-mobile-menu-toggle__icon::after {
  display: block;
  width: 18px;
  height: 2px;
  border-radius: 2px;
  background: currentColor;
}
.argent-mobile-menu-toggle__icon { position: relative; }
.argent-mobile-menu-toggle__icon::before,
.argent-mobile-menu-toggle__icon::after { content: ""; position: absolute; left: 0; }
.argent-mobile-menu-toggle__icon::before { top: -6px; }
.argent-mobile-menu-toggle__icon::after { top: 6px; }
.argent-mobile-menu-toggle:hover,
.argent-mobile-menu-toggle:focus-visible {
  background: rgba(255,253,248,.12);
  color: var(--argent-chrome-ink);
}
.container-header .container-nav .mod-menu {
  display: flex;
  flex: 1 1 auto;
  justify-content: safe flex-end;
  align-items: center;
  gap: clamp(1px,.28vw,4px);
  min-width: 0;
  margin: 0 0 0 auto;
  padding: 0;
  list-style: none;
  overflow-x: auto;
  scrollbar-width: none;
  transform: none;
  animation: none;
  transition: none;
}
.container-header .container-nav .mod-menu::-webkit-scrollbar { display: none; }
.container-header .container-nav .mod-menu > li {
  display: block;
  flex: 0 0 auto;
  margin: 0;
  padding: 0;
  border: 0;
  transform: none;
  animation: none;
  transition: none;
}
.container-header .container-nav .mod-menu > li > a {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  margin: 0;
  padding: 0 clamp(8px,.7vw,12px);
  border: 0;
  border-radius: 18px;
  box-shadow: none;
  background: transparent;
  color: var(--argent-chrome-ink);
  font: 700 .9rem/1 var(--argent-font-ui);
  letter-spacing: .06em;
  text-transform: uppercase;
  white-space: nowrap;
  transform: none;
  animation: none;
  transition: none;
}
/* CMS current/active classes are retained for routing/accessibility semantics only.
   They must not create a visible selected-menu state or alter masthead geometry. */
.container-header .container-nav .mod-menu > li:is(.active,.current) {
  margin: 0;
  padding: 0;
  border: 0;
  transform: none;
  animation: none;
  transition: none;
}
.container-header .container-nav .mod-menu > li:is(.active,.current) > a,
.container-header .container-nav .mod-menu > li > a[aria-current="page"] {
  margin: 0;
  border: 0;
  box-shadow: none;
  background: transparent;
  color: var(--argent-chrome-ink);
  text-decoration: none;
  transform: none;
  animation: none;
  transition: none;
}
.container-header .container-nav .mod-menu > li > a:hover,
.container-header .container-nav .mod-menu > li > a:focus-visible {
  color: var(--argent-chrome-ink);
  background: rgba(255,253,248,.12);
  text-decoration: none;
}

/* ---------- Canonical governed page chassis ---------- */
body.site [data-amphora-representation] {
  width: 100%;
  max-width: var(--argent-site-width);
  margin: 0 auto;
  padding: 0;
  overflow: hidden;
  border-radius: 0;
  color: var(--argent-ink);
  --pagecache-icon-height: 18px;
  --pagecache-prose-subhead-font: var(--argent-font-ui);
}
body.site [data-amphora-representation] > .pagecache-public-root {
  width: 100%;
  max-width: none;
  padding: var(--argent-block) 0;
  background: transparent;
  --pagecache-artifact-width: 100%;
  --pagecache-artifact-outer-pad: 0px;
  --pagecache-artifact-content-inset: var(--argent-rail);
}
body.site [data-amphora-representation] > .pagecache-public-root::before {
  width: 100%;
  max-width: none;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
body.site [data-amphora-representation] > .pagecache-public-root .pagecache-stack { padding-inline: 0; }
/* Neighborhood hero follows the same horizontal content rail as the governed
   breadcrumb and identity copy; the media remains a single bounded component. */
body.site [data-amphora-representation] > .pagecache-public-root.pagecache-neighborhood-page .pagecache-neighborhood-hero-media {
  margin-inline: var(--argent-rail);
}
body.site [data-amphora-representation] > .pagecache-public-root .pagecache-detail-gallery {
  width: calc(100% - 2 * var(--argent-rail));
  max-width: none;
  margin-inline: var(--argent-rail);
}
/* Detail-page rhythm: Team/Office identity follows the canonical breadcrumb directly;
   Listing gallery keeps one compact control reserve. */
body.site [data-amphora-representation] > .pagecache-public-root :is(.pagecache-team-identity-in-presentation,.pagecache-office-identity-in-presentation) {
  padding-top: 0;
}
body.site [data-amphora-representation] > .pagecache-public-root.pagecache-listing-page .pagecache-detail-gallery {
  margin-top: 12px;
}
body.site [data-amphora-representation] .pagecache-complex-identity-in-presentation { padding-inline: 0; }
html body.site [data-amphora-representation] > .pagecache-public-root.pagecache-complex-page .pagecache-complex-properties-in-presentation { padding-inline: 0; }

/* Governed breadcrumb is always the canonical rail. */
body.site [data-amphora-representation] > .pagecache-public-root > :is(.breadcrumbs,.pagecache-breadcrumbs) {
  width: auto;
  max-width: none;
  margin: 0 var(--argent-rail) .7rem;
  padding: 0;
  background: transparent;
  color: var(--argent-dark);
  line-height: 1.15;
  min-height: 1.15em;
}
body.site [data-amphora-representation] .pagecache-listing-nav-chrome {
  width: calc(100% - 2 * var(--argent-rail));
  max-width: none;
  margin-inline: var(--argent-rail);
  padding: 0 0 6px;
}
body.site [data-amphora-representation] .pagecache-listing-nav-chrome .breadcrumbs {
  width: 100%; max-width: none; margin: 0 0 .7rem; padding: 0; line-height: 1.15; min-height: 1.15em;
}
body.site [data-amphora-representation] .pagecache-listing-nav-chrome .breadcrumb-line {
  width: 100%; max-width: none; margin: 0;
}
.breadcrumb-line {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: .2rem .55rem;
  min-width: 0;
  padding-inline-end: calc(96px + .75rem);
  line-height: var(--argent-breadcrumb-line);
}
.breadcrumb-line > :is(a,a:visited) { color: var(--argent-blue); font: 600 var(--argent-breadcrumb-size)/var(--argent-breadcrumb-line) var(--argent-font-ui); text-decoration: none; }
.breadcrumb-line > .breadcrumb-current { color: var(--argent-dark); font: 600 var(--argent-breadcrumb-size)/var(--argent-breadcrumb-line) var(--argent-font-ui); text-decoration: none; }
.breadcrumb-line > a { flex: 0 1 auto; min-width: 0; }
.breadcrumb-separator { flex: 0 0 auto; }
.breadcrumb-current { flex: 1 1 8ch; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* ---------- Local/search/saved outer chassis ---------- */
body.site .container-component > main:has(> .com-content-article),
body.site .container-component > main:has(> .blog),
body.site .container-component > main:has(> .amphora-search),
body.site .container-component > main:has(> .amphora-saved-listings) {
  padding: var(--argent-block) var(--argent-rail);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
body.site .container-component > main > :is(.amphora-search,.amphora-saved-listings.pagecache-public-root),
body.site .container-component > main > :is(.com-content-article,.blog) {
  width: 100%; max-width: none; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none;
}
body.site .container-component > main > .amphora-saved-listings.pagecache-public-root::before { content: none; }
.argent-native-breadcrumbs,
.argent-local-page-breadcrumbs,
.amphora-search-breadcrumbs,
.amphora-saved-listings-breadcrumbs {
  width: 100%; max-width: none; margin: 0 0 .7rem; padding: 0; background: transparent; color: var(--argent-dark);
  line-height: 1.15; min-height: 1.15em; font-family: var(--argent-font-ui);
}

/* ---------- Home ---------- */
body.site [data-amphora-representation] > .pagecache-publisher-vessel-home {
  /* Home has no breadcrumb; the additional top inset places its principal H1 on the same visual rail as ordinary top-level H1s. */
  padding: calc(var(--argent-block) + 1.95rem) var(--argent-rail) var(--argent-block);
  background: transparent;
  border-radius: 0;
  box-shadow: none;
}
body.site:has(.pagecache-publisher-vessel-home) [data-amphora-site-controls-test-mount="1"] { display: none; }
.pagecache-publisher-vessel-home .pagecache-publisher-identity-in-presentation { min-width: 0; width: 100%; }

/* Home search is a reusable component contract: the form's own classes activate it. */
form.pagecache-search-actions.pagecache-home-search {
  width: 100%;
  min-width: 0;
}
.pagecache-home-search .pagecache-search-actions-left {
  min-width: 0;
}
.pagecache-saved-listings-link-favorite,
.pagecache-listing-summary-favorite > button.pagecache-listing-favorite-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.pagecache-saved-listings-link-favorite :is(.pagecache-listing-favorite-icon-slot,.pagecache-listing-favorite-icon),
.pagecache-listing-summary-favorite > button.pagecache-listing-favorite-toggle :is(.pagecache-listing-favorite-icon-slot,.pagecache-listing-favorite-icon) {
  display: block;
  width: 20px;
  min-width: 20px;
  max-width: 20px;
  height: 18px;
  min-height: 18px;
  max-height: 18px;
  margin: 0;
  padding: 0;
  border: 0;
  background-color: transparent;
}
.pagecache-saved-listings-link-favorite .pagecache-listing-favorite-icon,
.pagecache-listing-summary-favorite > button.pagecache-listing-favorite-toggle .pagecache-listing-favorite-icon {
  background: transparent var(--argent-local-favorite-off-image) center/20px 18px no-repeat;
  -webkit-mask: none;
  mask: none;
}
.pagecache-saved-listings-link-favorite:is(.is-saved,[aria-pressed="true"]) .pagecache-listing-favorite-icon,
.pagecache-listing-summary-favorite > button.pagecache-listing-favorite-toggle:is(.is-saved,[aria-pressed="true"]) .pagecache-listing-favorite-icon {
  background-image: var(--argent-local-favorite-on-image);
  -webkit-mask: none;
  mask: none;
}
.pagecache-search-actions-favorites .pagecache-saved-listings-link-favorite {
  margin-inline-end: 8px;
}

@media (min-width: 721px) {
  form.pagecache-search-actions.pagecache-home-search {
    display: grid;
    grid-template-columns: max-content minmax(0,1fr);
    align-items: center;
    column-gap: 20px;
  }
  .pagecache-home-search > .pagecache-search-actions-left {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 12px;
  }
  .pagecache-home-search > .pagecache-search-actions-favorites {
    grid-column: 2;
    justify-self: end;
    position: static;
    inset: auto;
    transform: none;
    margin: 0;
  }
  .pagecache-home-search :is(input[type="search"],.pagecache-search-actions-input) {
    flex: 0 0 clamp(20rem,34vw,30.6rem);
    width: clamp(20rem,34vw,30.6rem);
    min-width: min(100%,20rem);
    max-width: 30.6rem;
  }
}

/* Customer-local Home testimonials. The complete search/footer card keeps its
   accepted pre-testimonial dimensions; this section sits after that card.
   Callouts prefer the golden ratio (phi ≈ 1.618:1) and may grow vertically
   when editorial content requires more room. The visual shell includes the
   leader so directional reveal and uniform exit always treat both as one unit. */
@property --argent-testimonial-reveal-stop {
  syntax: "<percentage>";
  inherits: false;
  initial-value: -18%;
}
.argent-testimonial-stage {
  position: relative;
  z-index: 1;
  width: min(calc(100% - 2 * var(--argent-edge)), 900px);
  min-height: 345px;
  margin: 62px auto 0;
}
.argent-testimonial-shell {
  position: absolute;
  top: -62px;
  width: min(80vw, 500px);
  padding-top: 62px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: scale(1);
  transform-origin: 50% 50%;
}
.argent-testimonial-shell.is-left { left: 10%; }
.argent-testimonial-shell.is-right { right: 10%; }
.argent-testimonial-bubble {
  position: relative;
  width: 100%;
  aspect-ratio: 1.61803398875 / 1;
  height: auto;
  padding: 30px 34px 28px;
  border: 1px solid color-mix(in srgb, var(--argent-rust) 40%, var(--argent-line));
  border-radius: 10px;
  background: color-mix(in srgb, var(--argent-surface) 94%, transparent);
  box-shadow: 0 12px 30px rgba(16,23,19,.08);
  color: var(--argent-ink);
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
/* The testimonial leader is anchored at the exact horizontal center of each
   callout. JavaScript supplies only the inward skew required to aim its apex
   toward the actual center of the footer information above. Skewing rather than
   rotating keeps the leader base horizontal and attached cleanly to the card. */
.argent-testimonial-bubble::before,
.argent-testimonial-bubble::after {
  content: "";
  position: absolute;
  left: 50%;
  pointer-events: none;
  clip-path: polygon(50% 0, 100% 100%, 0 100%);
  transform-origin: 50% 100%;
  transform: translateX(-50%) skewX(var(--argent-testimonial-leader-skew, 0deg));
}
.argent-testimonial-bubble::before {
  top: -62px;
  width: 36px;
  height: 62px;
  background: color-mix(in srgb, var(--argent-rust) 58%, transparent);
}
.argent-testimonial-bubble::after {
  top: -59px;
  width: 32px;
  height: 60px;
  background: color-mix(in srgb, var(--argent-surface) 94%, transparent);
}
/* Entrance is a true bottom-to-top opacity mask: no translate/slide/lift is
   involved. Exit deliberately does not reuse the mask; the complete shell
   (leader + card) fades uniformly as one unit. */
.argent-testimonial-stage[data-argent-testimonial-revealed="1"] .argent-testimonial-shell.is-current {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.argent-testimonial-stage[data-argent-testimonial-revealed="1"] .argent-testimonial-shell.is-current.is-entering {
  --argent-testimonial-reveal-stop: -18%;
  visibility: visible;
  pointer-events: none;
  -webkit-mask-image: linear-gradient(to top,
    #000 0%,
    #000 var(--argent-testimonial-reveal-stop),
    transparent calc(var(--argent-testimonial-reveal-stop) + 18%),
    transparent 100%);
  mask-image: linear-gradient(to top,
    #000 0%,
    #000 var(--argent-testimonial-reveal-stop),
    transparent calc(var(--argent-testimonial-reveal-stop) + 18%),
    transparent 100%);
  animation: argent-testimonial-enter-bottom-up 1000ms ease both;
}
.argent-testimonial-stage[data-argent-testimonial-revealed="1"] .argent-testimonial-shell.is-current.is-exiting {
  opacity: 0;
  visibility: visible;
  pointer-events: none;
  -webkit-mask-image: none;
  mask-image: none;
  transform: scale(.985);
  transition: opacity 900ms ease, transform 900ms ease;
}
.argent-testimonial-stage:not([data-argent-testimonial-revealed="1"]) .argent-testimonial-shell.is-current {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  animation: none;
  -webkit-mask-image: none;
  mask-image: none;
}
@keyframes argent-testimonial-enter-bottom-up {
  from {
    --argent-testimonial-reveal-stop: -18%;
    opacity: 0;
  }
  to {
    --argent-testimonial-reveal-stop: 100%;
    opacity: 1;
  }
}
.argent-testimonial-agent {
  margin: 0 0 .22rem;
  color: var(--argent-blue);
  font: 700 1.08rem/1.2 var(--argent-font-ui);
  text-align: left;
}
.argent-testimonial-specialty {
  margin: 0 0 1.15rem;
  color: var(--argent-rust);
  font: 700 .78rem/1.25 var(--argent-font-ui);
  letter-spacing: .105em;
  text-transform: uppercase;
  text-align: left;
}
.argent-testimonial-quote {
  margin: 0;
  padding: 0;
  border: 0;
  color: var(--argent-ink);
  font-family: var(--argent-font-reading);
  text-align: left;
}
.argent-testimonial-quote p {
  margin: 0;
  font-size: clamp(1.02rem, .3vw + .96rem, 1.16rem);
  line-height: 1.58;
  text-align: left;
}
.argent-testimonial-quote cite {
  display: block;
  margin-top: 1.15rem;
  color: var(--argent-muted);
  font: 600 .92rem/1.25 var(--argent-font-ui);
  font-style: normal;
  text-align: right;
}
@media (prefers-reduced-motion: reduce) {
  .argent-testimonial-shell,
  .argent-testimonial-shell.is-entering,
  .argent-testimonial-shell.is-exiting {
    animation: none;
    transition: none;
    -webkit-mask-image: none;
    mask-image: none;
  }
}
@media (max-width: 720px) {
  .argent-testimonial-stage {
    min-height: 365px;
    margin-top: 58px;
  }
  .argent-testimonial-shell,
  .argent-testimonial-shell.is-left,
  .argent-testimonial-shell.is-right {
    left: 0;
    right: 0;
    width: 100%;
  }
}

/* ---------- Typography ---------- */
h1,h2,h3,h4,h5,h6,
.page-header,
.pagecache-publisher-identity-in-presentation,
.pagecache-detail-heading { font-family: var(--argent-font-ui); }
body.site [data-amphora-representation] .pagecache-detail-secondary-identity {
  font-family: var(--argent-font-ui);
}
html body.site .container-component > main :is(h1,h3,h5) { color: var(--argent-blue); }
html body.site .container-component > main :is(h2,h4,h6) { color: var(--argent-rust); }
h1 { margin: 0 0 .7rem; font-size: clamp(2rem,2.2vw,2.5rem); line-height: 1.08; font-weight: 700; letter-spacing: -.025em; }
h2 { margin: 0 0 .65rem; font-size: clamp(1.55rem,1.8vw,2rem); line-height: 1.12; font-weight: 700; letter-spacing: -.02em; }
h3 { margin: 0 0 .55rem; font-size: clamp(1.25rem,1.4vw,1.55rem); line-height: 1.16; font-weight: 700; }
h4 { margin: 0 0 .45rem; font-size: 1rem; line-height: 1.22; font-weight: 700; }
.com-content-article__body,
.blog-item .item-content,
[data-amphora-role="prose"],
.amphora-artifact-prose,
.pagecache-listing-narrative-lede,
.pagecache-neighborhood-listing-lede,
.amphora-search-result-excerpt { font-family: var(--argent-font-reading); }
:where(p) { margin-top: 0; }

/* ---------- Editorial rhythm: whitespace, not compartment lines ---------- */
body.site [data-amphora-representation] .pagecache-embedded-section {
  margin-top: 28px;
  padding-top: 0;
  border-top: 0;
}
body.site [data-amphora-representation] .pagecache-listing-titlebar { border: 0; }
body.site [data-amphora-representation] .pagecache-public-root.pagecache-listing-page .pagecache-meta {
  border-top: 0;
}
body.site [data-amphora-representation] .pagecache-listing-titlebar-in-gallery {
  padding-top: .33em;
  background: transparent;
  box-shadow: none;
}

/* ---------- Common control vocabulary ---------- */
/* Interactive labels are application UI, never reading prose.  This is a site-wide
   semantic contract and intentionally covers native controls plus button-like roles. */
body.site :is(
  button,
  input[type="button"],
  input[type="submit"],
  input[type="reset"],
  [role="button"],
  [role="tab"],
  summary.amphora-listing-inquiry-cta,
  .pagecache-action,
  .pagecache-action-button,
  .localized-tab,
  .localized-tab-button,
  .pagecache-listing-feature-button,
  .argent-vessel-switcher__item
) {
  font-family: var(--argent-font-ui);
}

/* Canonical control presentation owner: structure is shared; visual state is semantic. */
:is(.pagecache-action,.pagecache-action-button,.pagecache-search-actions-clear,.pagecache-search-actions-submit,
    .pagecache-saved-listings-link,.amphora-saved-listings-clear,.amphora-saved-listing-remove,
    .localized-tab,.localized-tab-button,.pagecache-listings-tab,.pagecache-listing-feature-button,
    .amphora-listing-inquiry-cta,.amphora-listing-inquiry-submit) {
  appearance: none;
  border-radius: var(--argent-control-radius);
  box-shadow: none;
  font-family: var(--argent-font-ui);
  font-weight: 650;
  text-decoration: none;
}

/* Ordinary actions are light/blue in normal state. Filled blue is reserved for
 * selected/active stateful selectors, not used as a generic action treatment. */
body.site :is(.pagecache-action,.pagecache-action-button,.pagecache-search-actions-clear,.pagecache-search-actions-submit,
    .pagecache-saved-listings-link,.amphora-saved-listings-clear,.amphora-saved-listing-remove,
    .amphora-saved-listing-link,.amphora-listing-inquiry-cta,.amphora-listing-inquiry-submit,
    .pagecache-listings-view-all-button) {
  border: 1px solid var(--argent-blue);
  background: var(--argent-surface);
  color: var(--argent-blue);
}
body.site :is(.pagecache-search-actions-clear,.pagecache-search-actions-submit) :is(svg,path,use),
body.site .pagecache-saved-listings-link :is(svg,path,use),
body.site :is(.amphora-saved-listings-clear,.amphora-saved-listing-remove,.amphora-saved-listing-link,
    .amphora-listing-inquiry-cta,.amphora-listing-inquiry-submit) :is(svg,path,use) {
  color: currentColor;
  stroke: currentColor;
}
form.pagecache-search-actions :is(.pagecache-search-actions-clear,.pagecache-search-actions-submit) { border-radius: 50%; }

/* Stateful selectors are light until selected. */
body.site :is(.localized-tab,.localized-tab-button,.pagecache-listings-tab,.pagecache-listing-feature-button,
    .pagecache-action.pagecache-action--toggle,[role="tab"]):not(:disabled):not([aria-disabled="true"]) {
  border: 1px solid var(--argent-blue);
  background: var(--argent-surface);
  color: var(--argent-blue);
}
body.site :is(.localized-tab,.localized-tab-button,.pagecache-listings-tab,.pagecache-listing-feature-button,
    .pagecache-action.pagecache-action--toggle,[role="tab"]):not(:disabled):not([aria-disabled="true"]):is(
      :active,[aria-pressed="true"],[aria-expanded="true"],[aria-selected="true"],[aria-current="page"],.is-active,.is-current,.is-saved
    ) {
  border-color: var(--argent-blue);
  background: var(--argent-blue);
  color: var(--argent-surface);
}

/* Hover/focus is a whole-control saturated-blue treatment, never generic link hover.
 * Stateful selectors use the same blue/light vocabulary for selected/current. */
body.site :is(.pagecache-action,.pagecache-action-button,.pagecache-search-actions-clear,.pagecache-search-actions-submit,
    .pagecache-saved-listings-link,.amphora-saved-listings-clear,.amphora-saved-listing-remove,
    .amphora-saved-listing-link,.amphora-listing-inquiry-cta,.amphora-listing-inquiry-submit,
    .pagecache-listings-view-all-button):not(:disabled):not([aria-disabled="true"]):is(:hover,:focus-visible) {
  border-color: var(--argent-blue);
  background: var(--argent-blue);
  color: var(--argent-surface);
  text-decoration: none;
}
body.site :is(.localized-tab,.localized-tab-button,.pagecache-listings-tab,.pagecache-listing-feature-button,
    .pagecache-action.pagecache-action--toggle,[role="tab"]):not(:disabled):not([aria-disabled="true"]):not(
      :active,[aria-pressed="true"],[aria-expanded="true"],[aria-selected="true"],[aria-current="page"],.is-active,.is-current,.is-saved
    ):is(:hover,:focus-visible) {
  border-color: var(--argent-blue);
  background: var(--argent-blue);
  color: var(--argent-surface);
  text-decoration: none;
}
body.site :is(.localized-tab,.localized-tab-button,.pagecache-listings-tab,.pagecache-listing-feature-button,
    .pagecache-action.pagecache-action--toggle,[role="tab"]):not(:disabled):not([aria-disabled="true"]):is(
      [aria-pressed="true"],[aria-expanded="true"],[aria-selected="true"],[aria-current="page"],.is-active,.is-current,.is-saved
    ):is(:hover,:focus-visible) {
  border-color: var(--argent-blue);
  background: var(--argent-blue);
  color: var(--argent-surface);
  text-decoration: none;
}

/* Global Argent interactive inversion contract. When an action control becomes
   blue, dark brand pictograms invert with its label instead of disappearing into
   the active surface. */
body.site :is(.pagecache-action,.pagecache-action-button,.pagecache-search-actions-clear,.pagecache-search-actions-submit,
    .pagecache-saved-listings-link,.amphora-saved-listings-clear,.amphora-saved-listing-remove,
    .amphora-saved-listing-link,.amphora-listing-inquiry-cta,.amphora-listing-inquiry-submit,
    .pagecache-listings-view-all-button):not(:disabled):not([aria-disabled="true"]):is(:hover,:focus-visible)
    .pagecache-listing-favorite-icon {
  filter: brightness(0) invert(1);
}
body.site [data-amphora-representation] summary.pagecache-listing-utility-summary:is(:hover,:focus-visible)
    .pagecache-listing-utility-summary-map-pin {
  border-color: var(--argent-blue);
  background: var(--argent-blue);
}
body.site [data-amphora-representation] summary.pagecache-listing-utility-summary:is(:hover,:focus-visible)
    .pagecache-listing-utility-summary-map-pin .pin-body {
  fill: var(--argent-surface);
  stroke: var(--argent-surface);
}
body.site [data-amphora-representation] summary.pagecache-listing-utility-summary:is(:hover,:focus-visible)
    .pagecache-listing-utility-summary-map-pin .pin-hole {
  fill: var(--argent-blue);
}

/* Listing filter geometry is customer-local composition. Keep the semantic
   producer controls intrinsic: the Segment selector hugs its content on wide
   rails, while Select Features owns the far-right edge. */
body.site .pagecache-public-root .pagecache-listing-filter-row { width: 100%; }
body.site .pagecache-public-root .pagecache-listing-segment-control {
  flex: 0 1 auto;
  min-width: 0;
}
body.site .pagecache-public-root .pagecache-listing-segment-select {
  flex: 0 1 auto;
  width: auto;
  min-width: 0;
  max-width: min(100%, 30rem);
  padding-block: 9px;
  outline: none;
  box-shadow: none;
}
@supports (field-sizing: content) {
  body.site .pagecache-public-root .pagecache-listing-segment-select { field-sizing: content; }
}
body.site .pagecache-public-root .pagecache-listing-segment-select:focus-visible {
  border-color: var(--argent-blue);
  outline: none;
  outline-offset: 0;
}
body.site .pagecache-public-root .pagecache-listing-feature-control {
  flex: 0 0 auto;
  min-width: 0;
  margin-left: auto;
}
body.site .pagecache-public-root .pagecache-listing-feature-button.pagecache-action-button {
  width: auto;
  min-width: 0;
}
@media (max-width: 640px) {
  body.site .pagecache-public-root .pagecache-listing-segment-control {
    flex: 1 1 100%;
    min-width: 0;
  }
  body.site .pagecache-public-root .pagecache-listing-segment-select {
    flex: 1 1 auto;
    width: 0;
    min-width: 0;
    max-width: 100%;
  }
}

/* ---------- Search ---------- */
.amphora-search { color: var(--argent-ink); }
.amphora-search-hero,
.amphora-search-result-lane,
.amphora-search-no-results { margin: 0; padding: 0; border: 0; background: transparent; box-shadow: none; }
.amphora-search-lanes { display: grid; gap: 30px; }
.amphora-search-result-lane + .amphora-search-result-lane { margin-top: 26px; }
.amphora-search-result-card { padding: 12px 0; border: 0; border-bottom: 1px solid color-mix(in srgb,var(--argent-line) 72%,transparent); background: transparent; }
.amphora-search-result-card:last-child { border-bottom: 0; }
.amphora-search-result-card a { color: var(--argent-ink); font-weight: 750; }
.amphora-search-lane-heading h3 { color: var(--argent-rust); }
.amphora-search-lane-count { color: inherit; }
.amphora-search-result-offer-action {
  margin: 4px 0 5px;
  color: var(--argent-ink);
  font-family: var(--argent-font-ui);
  font-weight: 400;
}
.amphora-search-status,.amphora-search-result-card p:not(.amphora-search-result-offer-action) { color: var(--argent-muted); }

/* ---------- Collection grammar ---------- */
/* Flat cards are structural; contained cards are intentionally bounded components. */
:is(.pagecache-listing-result-card,.pagecache-person.pagecache-collection-card,.pagecache-publisher-index-item.pagecache-collection-card,.amphora-search-result-card),
.amphora-saved-listing-card,
.amphora-search-listing-summary,
body.site .pagecache-public-root .pagecache-neighborhood-listing-card {
  min-width: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  font-family: var(--argent-font-ui);
}
/* Argent flat collection items use grid/flex gap for separation; portable card
   padding is not part of the local flat-list grammar. */
body.site .pagecache-public-root :is(
  .pagecache-listing-result-card,
  .pagecache-person.pagecache-collection-card,
  .pagecache-publisher-index-item.pagecache-collection-card,
  .pagecache-search-result.pagecache-collection-card,
  .pagecache-neighborhood-listing-card
) {
  padding: 0;
}
.pagecache-listing-card-headline {
  margin: 0 0 6px;
  color: var(--argent-blue);
  font-family: var(--argent-font-ui);
  font-size: var(--argent-card-title-size);
  line-height: var(--argent-card-title-line);
  font-weight: 750;
}
/* Listing-summary color is a component role, not a side effect of whether the
   semantic heading level is H2 (full lane) or H3 (overview preview). */
html body.site .container-component > main .pagecache-listing-card-headline {
  color: var(--argent-blue);
}
:is(.amphora-search-result-headline,
    .pagecache-neighborhood-listing-title,
    .pagecache-person.pagecache-collection-card :is(h2,h3,h4),
    .pagecache-publisher-index-item.pagecache-collection-card :is(h2,h3,h4)) {
  margin: 0 0 6px;
  color: #343a40;
  font-family: var(--argent-font-ui);
  font-size: 1rem;
  line-height: 1.22;
  font-weight: 800;
}
:is(.pagecache-listing-summary-primary-facts,
    .pagecache-listing-summary-address-link,
    .pagecache-neighborhood-listing-facts,
    .pagecache-person.pagecache-collection-card :is(.pagecache-person-meta,.pagecache-person-role),
    .pagecache-publisher-index-item.pagecache-collection-card :is(.pagecache-publisher-meta,.pagecache-publisher-index-meta)) {
  min-width: 0;
  font-family: var(--argent-font-ui);
  font-size: var(--argent-card-meta-size);
  line-height: var(--argent-card-meta-line);
}
:is(.pagecache-listing-result-card p,
    .pagecache-neighborhood-listing-card :is(p,.pagecache-neighborhood-listing-lede),
    .pagecache-person.pagecache-collection-card p,
    .pagecache-publisher-index-item.pagecache-collection-card p) {
  min-width: 0;
  font-family: var(--argent-font-reading);
  line-height: var(--argent-card-prose-line);
}

/* ---------- Facts / detail ---------- */
:is(.pagecache-data-label,.pc-data-label,.pagecache-detail-fact-label,.pagecache-listing-fact-label) {
  font-family: var(--argent-font-ui); font-style: normal; font-weight: 400; color: var(--argent-ink);
}
:is(.pagecache-data-value,.pc-data-value,.pagecache-detail-fact-value,.pagecache-listing-fact-value) {
  font-family: var(--argent-font-ui); font-style: normal; font-weight: 650; color: var(--argent-ink);
}
.pagecache-shopper-fact-table { grid-template-columns: max-content minmax(0,1fr); column-gap: 16px; row-gap: 8px; align-items: baseline; }
.pagecache-detail-address,
:is(details.pagecache-listing-utility,details.pagecache-listing-utility-address-reveal):not([open]) { border: 0; border-radius: 0; background: transparent; box-shadow: none; }

/* Listing-detail small metadata is deliberately a step larger than portable
   fallback copy; keep the producer semantic roles and change presentation only. */
body.site .pagecache-public-root.pagecache-listing-page {
  --pagecache-listing-metadata-size: 1.0625rem;
  --pagecache-listing-metadata-line-height: 1.28;
}
body.site .pagecache-public-root.pagecache-listing-page .pagecache-listing-external-link {
  display: inline-flex;
  align-items: center;
  gap: .2rem;
}
body.site .pagecache-public-root.pagecache-listing-page .pagecache-listing-external-link-icon {
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
}
/* Complex and neighborhood links are peer location-context entities. Preserve
   the producer's typography scale, but present both with the same bold emphasis. */
body.site [data-amphora-representation] .pagecache-public-root.pagecache-listing-page
.pagecache-listing-location-context-outside-qr .pagecache-listing-neighborhood-anchor {
  font-weight: 900;
}

/* ---------- Listing gallery/control presentation ---------- */
:is(.pagecache-gallery,.pagecache-listing-hero-selector,.pagecache-gallery-media-shell) { border-radius: var(--argent-card-radius); }
.pagecache-gallery-media-shell { overflow: hidden; }
/* The detail-gallery section is structural: only its media shell is a bounded
   visual component. Keeping the section transparent prevents the producer's
   portable gallery surface from reappearing behind the title/address block. */
body.site [data-amphora-representation] .pagecache-detail-gallery.pagecache-gallery {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  overflow: visible;
}
:is(.pagecache-gallery-control,.pagecache-gallery-control-prev,.pagecache-gallery-control-next),
:is(.pagecache-gallery,.pagecache-listing-hero-selector) :is([data-prev],[data-next]) {
  border: 0;
  border-radius: 50%;
  background: rgba(16,23,19,.78);
  color: var(--argent-surface);
  box-shadow: 0 6px 18px rgba(16,23,19,.18);
}

/* ---------- Footer ---------- */
/* The existing footer content remains unchanged. The outer footer owns only
   the shared rail and atmospheric bottom gap; its grid-child is the lower
   continuation of the site-shell page card. */
.container-footer {
  display: block;
  flex: 0 0 auto;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0 0 var(--argent-page-gap);
  color: color-mix(in srgb,var(--argent-ink) 88%,var(--argent-surface));
  background: transparent;
}
.container-footer > .grid-child {
  display: block;
  width: min(calc(100vw - 2 * var(--argent-edge)),var(--argent-site-width));
  max-width: var(--argent-site-width);
  margin: 0 auto;
  position: relative;
  left: calc((100vw - 100%) / 2);
  padding: clamp(14px,1.6vw,18px) 0 clamp(14px,1.8vw,18px);
  border-radius: 0 0 var(--argent-radius) var(--argent-radius);
  color: inherit;
  background: var(--argent-surface);
}
:is(.amphora-joomla-publisher-footer,.publisher-footer-component) {
  display: block;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  color: inherit;
  background: transparent;
}
.publisher-footer-component-row {
  display: grid;
  grid-template-columns: 64px minmax(0,1fr) 64px;
  align-items: center;
  justify-items: center;
  gap: clamp(14px,2.2vw,28px);
  width: min(100%,var(--argent-footer-width));
  max-width: var(--argent-footer-width);
  margin-inline: auto;
}
.footer-mark {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
  color: inherit;
  line-height: 0;
  overflow: hidden;
}
:is(.footer-mark-realtor,.footer-mark-fairhousing) { max-width: 64px; }
:is(.footer-mark-realtor,.footer-mark-fairhousing) svg {
  display: block;
  width: auto;
  height: 46px;
  max-width: 64px;
  max-height: 46px;
  margin: 0;
  padding: 0;
  overflow: visible;
}
.footer-mark-realtor svg :is(path,polygon) { fill: currentColor; stroke: none; }
.publisher-footer-contact,.footer-center { min-width: 0; text-align: center; }
.footer-line { margin: 0; color: inherit; font-size: .9rem; line-height: 1.5; }
.footer-line + .footer-line { margin-top: .22rem; }
.footer-line-primary { font-weight: 400; letter-spacing: .01em; }
.footer-line-primary .footer-copyright { font-weight: 400; }
.footer-line-primary .footer-company-name { font-weight: 750; }
.container-footer a { color: var(--argent-action); text-decoration-color: currentColor; }

/* ---------- Vessel switcher: latent far-right masthead utility ---------- */
/* The known far-right masthead hit area is intentionally invisible at rest.
   The selector is promoted to a direct child of .container-header, outside the
   clipped nav rail. Hover, keyboard focus, or a first tap reveals a downward
   stack that opens inward and never consumes masthead/navigation width. */
.container-header .argent-vessel-switcher,
.argent-vessel-switcher {
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1300;
  display: block;
  width: 30px;
  height: var(--argent-header-height);
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  transform: none;
  font: 600 12px/1 var(--argent-font-ui);
  outline: 0;
}
.argent-vessel-switcher__item {
  position: absolute;
  right: 6px;
  left: auto;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 74px;
  min-height: 28px;
  padding: 0 9px;
  border: 1px solid var(--argent-blue);
  border-radius: 8px;
  background: var(--argent-surface);
  color: var(--argent-blue);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  white-space: nowrap;
  text-decoration: none;
  transition: opacity 90ms linear;
}
.argent-vessel-switcher__item:nth-child(1) { top: calc(100% - 4px); }
.argent-vessel-switcher__item:nth-child(2) { top: calc(100% + 25px); }
.argent-vessel-switcher__item:nth-child(3) { top: calc(100% + 54px); }
.argent-vessel-switcher:is(:hover,:focus,:focus-within) .argent-vessel-switcher__item,
.argent-vessel-switcher[data-argent-vessel-switcher-open="1"] .argent-vessel-switcher__item {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
body.site .argent-vessel-switcher .argent-vessel-switcher__item:is(:hover,:focus-visible) {
  border-color: var(--argent-dark);
  background: var(--argent-dark);
  color: var(--argent-surface);
  text-decoration: none;
}
body.site .argent-vessel-switcher .argent-vessel-switcher__item.is-current,
body.site .argent-vessel-switcher .argent-vessel-switcher__item.is-current:visited {
  border-color: var(--argent-blue);
  background: var(--argent-blue);
  color: var(--argent-surface);
  text-decoration: none;
}
body.site .argent-vessel-switcher .argent-vessel-switcher__item.is-current:is(:hover,:focus-visible) {
  border-color: var(--argent-blue);
  background: var(--argent-blue);
  color: var(--argent-surface);
  text-decoration: none;
}

/* ---------- Compact chassis ---------- */
@media (max-width: 1180px) {
  :root {
    --argent-edge: clamp(12px,3.5vw,20px);
    --argent-rail: clamp(18px,5vw,24px);
    --argent-block: clamp(20px,5vw,28px);
    --argent-page-gap: 18px;
    --argent-header-height: 68px;
  }
  body.site { padding-top: 0; }
  .container-header { position: relative; min-height: var(--argent-header-height); }
  .grid-child.container-nav {
    flex-flow: row nowrap;
    align-items: center;
    gap: 12px;
    min-height: var(--argent-header-height);
    padding-block: 5px;
  }
  .argent-joomla-masthead__home img,
  .argent-joomla-masthead__home svg { width: clamp(150px,24vw,182px); }
  body.site .container-header .container-nav .mod-menu {
    flex: 1 1 auto;
    width: auto;
    flex-flow: row nowrap;
    justify-content: flex-start;
    gap: 2px;
    overflow-x: auto;
    overflow-y: hidden;
  }
  .container-header .mod-menu > li { flex: 0 0 auto; }
  .container-header .mod-menu > li > a { min-height: 34px; padding-inline: 7px; font-size: .69rem; }
}

@media (max-width: 640px) {
  :root { --argent-edge: 12px; --argent-rail: 18px; --argent-block: 20px; --argent-radius: 20px; }
  .grid-child.container-nav[data-argent-mobile-nav-ready="1"] {
    flex-wrap: wrap;
    overflow: visible;
  }
  .grid-child.container-nav[data-argent-mobile-nav-ready="1"] .argent-joomla-masthead {
    flex: 1 1 100%;
    width: 100%;
    justify-content: space-between;
  }
  .grid-child.container-nav[data-argent-mobile-nav-ready="1"] .argent-mobile-menu-toggle {
    display: inline-flex;
  }
  .grid-child.container-nav[data-argent-mobile-nav-ready="1"] .container-nav,
  .grid-child.container-nav[data-argent-mobile-nav-ready="1"] nav {
    min-width: 0;
  }
  body.site .container-header .grid-child.container-nav[data-argent-mobile-nav-ready="1"] .mod-menu {
    display: none;
    position: absolute;
    z-index: 1200;
    top: 100%;
    left: 0;
    right: 0;
    width: 100%;
    max-height: calc(100vh - var(--argent-header-height) - 12px);
    margin: 0;
    padding: 10px;
    flex-flow: column nowrap;
    align-items: stretch;
    gap: 2px;
    overflow-x: hidden;
    overflow-y: auto;
    border: 1px solid rgba(255,253,248,.16);
    border-top: 0;
    border-radius: 0 0 14px 14px;
    background: var(--argent-chrome);
    box-shadow: 0 12px 22px rgba(16,23,19,.16);
  }
  body.site .container-header .grid-child.container-nav[data-argent-mobile-nav-ready="1"].is-argent-mobile-nav-open .mod-menu {
    display: flex;
  }
  .grid-child.container-nav[data-argent-mobile-nav-ready="1"] .mod-menu > li,
  .grid-child.container-nav[data-argent-mobile-nav-ready="1"] .mod-menu > li > a {
    width: 100%;
  }
  .grid-child.container-nav[data-argent-mobile-nav-ready="1"] .mod-menu > li > a {
    justify-content: flex-start;
    min-height: 40px;
    padding-inline: 12px;
    border-radius: 10px;
    font-size: .82rem;
  }
  .grid-child.container-nav[data-argent-mobile-nav-ready="1"].is-argent-mobile-nav-open .argent-mobile-menu-toggle {
    background: rgba(255,253,248,.12);
  }
  /* At compact widths, anchor the shell to the document client width rather
     than the physical viewport. Traditional scrollbars otherwise make the
     100vw compensation extend a few pixels beneath the scrollbar. */
  .container-component::before {
    left: 50%;
    width: calc(100% - 2 * var(--argent-edge));
  }
  .container-component > main,
  .grid-child.container-nav,
  .container-footer > .grid-child {
    width: calc(100% - 2 * var(--argent-edge));
    left: 0;
  }
  h1 { font-size: clamp(1.75rem,8vw,2.15rem); }
  .publisher-footer-component-row {
    grid-template-columns: 1fr;
    width: min(100%,520px);
    max-width: 520px;
    gap: 12px;
  }
  .footer-mark-realtor { max-width: 34px; }
  .footer-mark-fairhousing { max-width: 40px; }
  :is(.footer-mark-realtor,.footer-mark-fairhousing) svg { max-height: 42px; }
  .container-footer > .grid-child { padding-top: 14px; padding-bottom: 14px; }
  .argent-vessel-switcher { width: 28px; height: var(--argent-header-height); }
  .argent-vessel-switcher__item { min-width: 70px; min-height: 27px; padding-inline: 8px; font-size: 11px; }
  .argent-vessel-switcher__item:nth-child(2) { top: calc(100% + 24px); }
  .argent-vessel-switcher__item:nth-child(3) { top: calc(100% + 52px); }
}

@media print {
  body.site { padding-top: 0; background: #fff; }
  .container-component > main { margin-top: 0; }
  .container-header,.container-footer,.argent-vessel-switcher,[data-amphora-site-controls-test-mount="1"] { display: none; }
}

/* Structural collection/detail wrappers do not compound the canonical rail. */
body.site [data-amphora-representation] .pagecache-publisher-presentation { padding-inline: 0; }
body.site [data-amphora-representation] .pagecache-publisher-presentation > :is(.pagecache-publisher-identity-in-presentation,.pagecache-publisher-collection-results-in-presentation) { padding-inline: var(--argent-rail); }

/* Cassiopeia integration: keep the masthead fixed above phone width; responsive tokens still own its height. */
@media (min-width: 921px) {
  body.site { padding-top: var(--argent-header-height); }
  .container-header { position: fixed; left: 0; right: 0; top: 0; }
  .container-header .grid-child.container-nav { min-height: var(--argent-header-height); max-width: none; padding: 3px var(--argent-rail); }
  .argent-joomla-masthead svg { width: clamp(148px,13.5vw,188px); max-height: none; }
  .container-header .mod-menu > li > a { min-height: 34px; padding-inline: clamp(4px,.45vw,7px); font-size: .90rem; }
}

/* Small semantic corrections retained by the clean design system. */
.container-header .argent-joomla-masthead__home,
.container-header .argent-joomla-masthead__home:visited,
.container-header .argent-joomla-masthead__home:hover,
.container-header .argent-joomla-masthead__home:focus-visible { color: var(--argent-chrome-ink); }
.pagecache-listing-narrative-lede,
.pagecache-neighborhood-listing-lede,
.pagecache-listing-result-card p { font-weight: 400; }

/* Responsive telephone role: render exactly one presentation. */
.pagecache-telephone-responsive { white-space: nowrap; font-weight: inherit; }
.pagecache-telephone-desktop { display: inline; color: inherit; }
.pagecache-telephone-mobile { display: none; color: var(--argent-action); }
body.site a[href^="mailto:"] { color: var(--argent-action); font-weight: 700; text-decoration: none; }

@media (max-width: 720px) {
  .pagecache-telephone-desktop { display: none; }
  .pagecache-telephone-mobile { display: inline; }
  body.site .pagecache-public-root.pagecache-listing-page .pagecache-listing-contact-row-with-headshot {
    grid-template-columns: 54px minmax(0,1fr) minmax(0,1fr);
    column-gap: 8px;
    max-width: 100%;
  }
  .pagecache-listing-contact-item { min-width: 0; overflow-wrap: anywhere; }
  .pagecache-contact-agent-headshot { width: 54px; height: 54px; }
}

/* ---------- Semantic state and interaction contracts ---------- */

.amphora-listing-inquiry-details :is(input:not([type]),input[type="text"],input[type="email"],input[type="tel"],textarea),
form.pagecache-search-actions :is(input[type="search"],.pagecache-search-actions-input) {
  appearance: none;
  border: 1px solid var(--argent-dark);
  border-radius: var(--argent-field-radius);
  color: var(--argent-ink);
  box-shadow: none;
  font-family: var(--argent-font-ui);
}

/* Public form fields have one customer-local resting surface. */
body.site form :is(
  input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="file"]):not([type="range"]):not([type="color"]),
  select,
  textarea
) {
  background: var(--argent-form-control-surface);
}

/* Browser autofill remains the same field state instead of inventing a palette. */
body.site input:-webkit-autofill,
body.site input:-webkit-autofill:hover,
body.site input:-webkit-autofill:focus,
body.site input:-webkit-autofill:active {
  -webkit-text-fill-color: var(--argent-ink);
  caret-color: var(--argent-ink);
  -webkit-box-shadow: 0 0 0 1000px var(--argent-form-control-surface) inset;
  box-shadow: 0 0 0 1000px var(--argent-form-control-surface) inset;
}
body.site input:autofill {
  color: var(--argent-ink);
  background: var(--argent-form-control-surface);
  box-shadow: 0 0 0 1000px var(--argent-form-control-surface) inset;
}

/* Text-entry/select controls use one focus line only.
   The control border owns focus; buttons and custom checkbox/radio controls retain
   their existing keyboard-focus indicators. */
body.site :is(
  input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
  select,
  textarea
):focus-visible {
  border-color: var(--argent-field-focus);
  outline: none;
  outline-offset: 0;
}

.pagecache-action--language { white-space: nowrap; }

/* Customer-local icon palette and local action-rail ownership. */
body.site :is(.pagecache-map-qr-pin,.pagecache-listing-utility-qr-map-pin) .pin-body {
  fill: var(--argent-rust);
  stroke: var(--argent-rust);
}

/* Listing-summary location pin: Schemas owns the canonical red-body/white-center
   artwork and shared 64x64 geometry. Argent only supplies its brand tint plus the
   accepted local optical scale/alignment. */
body.site .pagecache-listing-summary-address-icon {
  --pagecache-location-pin-body: var(--argent-rust);
  --pagecache-location-pin-stroke: var(--argent-rust);
  --pagecache-location-pin-center: #fff;
  align-self: start;
  overflow: visible;
}
body.site .pagecache-listing-summary-address-icon > .pagecache-icon--location {
  overflow: visible;
  transform: translateY(1px) scale(1.52);
  transform-origin: 50% 0;
}
body[data-amphora-listing-workspace-active="1"] :is(
  .argent-local-action-rail,
  [data-argent-action-rail]
) {
  visibility: hidden;
  pointer-events: none;
}

/* Preserve the accepted enquiry/Site Controls lifecycle without moving its host. */
body.site:has(details[data-amphora-listing-inquiry-details="1"].amphora-inquiry-is-opening) [data-amphora-site-controls-test-mount="1"],
body.site:has(details[data-amphora-listing-inquiry-details="1"][open]) [data-amphora-site-controls-test-mount="1"],
body.site:has(details[data-amphora-listing-inquiry-details="1"].amphora-inquiry-is-closing) [data-amphora-site-controls-test-mount="1"] {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
}
amphora-site-controls::part(heart) { left: 11px; }
amphora-site-controls::part(favorite-label) { margin-left: 40px; }
amphora-site-controls[data-amphora-site-controls-test="1"] {
  --amphora-site-controls-background: rgba(255,253,248,.82);
  --amphora-site-controls-border-color: rgb(24,32,28);
  --amphora-site-controls-border-width: 1px;
  --amphora-site-controls-shadow: none;
  --amphora-site-controls-label-color: rgb(24,32,28);
  --amphora-site-controls-on-color: var(--argent-rust);
}
[data-amphora-site-controls-test-mount="1"][data-argent-controls-collision-clear="1"] {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
}

/* Customer-local Listing Links composition: intrinsic content remains Schemas-owned. */
.pagecache-address-map-qr-line
> [data-amphora-component="listing-external-links"][data-argent-listing-links-mounted="address-location-v1"] {
  display: block;
  flex: 1 0 100%;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: .7rem 0 0;
  padding: 0;
}
.pagecache-address-map-qr-line
> [data-amphora-component="listing-external-links"][data-argent-listing-links-mounted="address-location-v1"] .pagecache-listing-external-links-group {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .35rem .9rem;
}

/* Complex property-section heading composition. The governed Video URL remains
   authoritative; site JS projects the currently applicable Video action beside
   the governed section title and fails inert if the required structure is absent. */
.argent-complex-properties-heading-row {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: .45rem .9rem;
  margin: 0 0 .72rem;
}
html body.site [data-amphora-representation] > .pagecache-public-root.pagecache-complex-page .argent-complex-properties-heading-row > h2 { margin: 0; }
.argent-complex-properties-video {
  display: inline-flex;
  align-items: center;
  gap: .3em;
  color: var(--argent-action);
  font: 700 1rem/1.2 var(--argent-font-ui);
  text-decoration: none;
}
html body.site [data-amphora-representation] > .pagecache-public-root.pagecache-complex-page[data-argent-complex-video-relocated="1"]
.pagecache-complex-identity-in-presentation .pagecache-aux-link-video { display: none; }


/* First-paint atmosphere: the family poster/static image is the actual page background
 * before the decorative atmosphere layer or Home video is ready. The same veil is
 * composed into this fallback so navigation never exposes the old tan field. */
html[data-argent-atmosphere-family="home"] { --argent-first-paint-image: url("/argent-assets/images/argent_sf_home_intro_poster.webp"); --argent-first-paint-color: #afb0b0; }
html[data-argent-atmosphere-family="listings"] { --argent-first-paint-image: url("/argent-assets/images/argent_sf_listings_background.webp"); --argent-first-paint-color: #8eb2c8; }
html[data-argent-atmosphere-family="people"] { --argent-first-paint-image: url("/argent-assets/images/argent_sf_people_background.webp"); --argent-first-paint-color: #a8bfcf; }
html[data-argent-atmosphere-family="company"] { --argent-first-paint-image: url("/argent-assets/images/argent_sf_company_background.webp"); --argent-first-paint-color: #6e99be; }
html[data-argent-atmosphere-family="journal"] { --argent-first-paint-image: url("/argent-assets/images/argent_sf_journal_background.webp"); --argent-first-paint-color: #a8bdc3; }
html[data-argent-atmosphere-family] {
  --argent-atmosphere-veil: rgba(235,231,222,.40);
  background-color: var(--argent-first-paint-color);
  background-image:
    linear-gradient(to bottom, var(--argent-chrome) 0 var(--argent-header-height), transparent var(--argent-header-height)),
    linear-gradient(var(--argent-atmosphere-veil), var(--argent-atmosphere-veil)),
    var(--argent-first-paint-image);
}
html[data-argent-atmosphere-family="home"] {
  --argent-atmosphere-veil: rgba(235,231,222,.33);
}
@media (max-width: 640px) {
  html[data-argent-atmosphere-family] {
    --argent-atmosphere-veil: rgba(235,231,222,.48);
  }
  html[data-argent-atmosphere-family="home"] { --argent-atmosphere-veil: rgba(235,231,222,.40); --argent-first-paint-color: #75a3cd; }
  html[data-argent-atmosphere-family="listings"] { --argent-first-paint-color: #83b1d2; }
  html[data-argent-atmosphere-family="people"] { --argent-first-paint-color: #9ab1c3; }
  html[data-argent-atmosphere-family="company"] { --argent-first-paint-color: #6694c9; }
  html[data-argent-atmosphere-family="journal"] { --argent-first-paint-color: #c1d4e0; }
}

.argent-site-atmosphere {
  position: fixed;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
  background: transparent;
}
.argent-site-atmosphere::before,
.argent-site-atmosphere::after {
  content: "";
  position: absolute;
  inset: 0;
}
.argent-site-atmosphere::before {
  z-index: 0;
  background-image: var(--argent-atmosphere-image);
  background-position: var(--argent-atmosphere-position, 50% 50%);
  background-repeat: no-repeat;
  background-size: cover;
}
.argent-site-atmosphere::after {
  z-index: 3;
  background: var(--argent-atmosphere-veil, rgba(235,231,222,.40));
}
.argent-site-atmosphere__video {
  position: absolute;
  z-index: 1;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  object-fit: cover;
  object-position: 50% 50%;
}
.argent-site-atmosphere__video--ambient,
.argent-site-atmosphere__video--intro {
  transition: opacity .28s ease;
}
.argent-site-atmosphere__video--ambient { opacity: 0; }
.argent-site-atmosphere__video--intro { z-index: 2; opacity: 1; }
.argent-site-atmosphere[data-argent-atmosphere-phase="transition"] .argent-site-atmosphere__video--ambient,
.argent-site-atmosphere[data-argent-atmosphere-phase="ambient"] .argent-site-atmosphere__video--ambient { opacity: 1; }
.argent-site-atmosphere[data-argent-atmosphere-phase="transition"] .argent-site-atmosphere__video--intro,
.argent-site-atmosphere[data-argent-atmosphere-phase="ambient"] .argent-site-atmosphere__video--intro { opacity: 0; }
.site-grid,
.container-footer {
  position: relative;
  z-index: 1;
}
html[data-argent-atmosphere-family="home"] .argent-site-atmosphere {
  --argent-atmosphere-image: url("/argent-assets/images/argent_sf_home_intro_poster.webp");
  --argent-atmosphere-position: 50% 50%;
}
html[data-argent-atmosphere-family="home"] .argent-site-atmosphere[data-argent-atmosphere-motion="static"],
html[data-argent-atmosphere-family="home"] .argent-site-atmosphere[data-argent-atmosphere-motion="static-fallback"] {
  --argent-atmosphere-image: url("/argent-assets/images/argent_sf_home_poster.webp");
}
html[data-argent-atmosphere-family="listings"] .argent-site-atmosphere {
  --argent-atmosphere-image: url("/argent-assets/images/argent_sf_listings_background.webp");
  --argent-atmosphere-position: 50% 50%;
}
html[data-argent-atmosphere-family="people"] .argent-site-atmosphere {
  --argent-atmosphere-image: url("/argent-assets/images/argent_sf_people_background.webp");
  --argent-atmosphere-position: 50% 50%;
}
html[data-argent-atmosphere-family="company"] .argent-site-atmosphere {
  --argent-atmosphere-image: url("/argent-assets/images/argent_sf_company_background.webp");
  --argent-atmosphere-position: 50% 50%;
}
html[data-argent-atmosphere-family="journal"] .argent-site-atmosphere {
  --argent-atmosphere-image: url("/argent-assets/images/argent_sf_journal_background.webp");
  --argent-atmosphere-position: 50% 50%;
}
@media print {
  html[data-argent-atmosphere-family] { background-image: none; background-color: #fff; }
  body.site { background: #fff; }
  .argent-site-atmosphere { display: none; }
}


body.site .pagecache-listing-summary-address-icon > .pagecache-icon--location .pin-body {
  fill: var(--pagecache-location-pin-body,var(--argent-rust));
  stroke: var(--pagecache-location-pin-stroke,var(--argent-rust));
  stroke-width: 1.2px;
  vector-effect: non-scaling-stroke;
}
body.site .pagecache-listing-summary-address-icon > .pagecache-icon--location :is(.pin-hole,.pin-center-accent,.pagecache-location-pin-center) {
  fill: var(--pagecache-location-pin-center,#fff);
}


body.site [data-amphora-representation] .pagecache-listing-summary-address-row {
  align-items: start;
  margin-top: 4px;
}

/* Saved and Search listing summaries consume the same canonical semantic pin.
   Normalize only the local optical box; Amphora retains portable structure and spacing. */
body.site :is(.amphora-saved-listing-address-row,.amphora-search-listing-summary-address-row) { align-items: start; }
body.site :is(.amphora-saved-listing-address-finger,.amphora-search-listing-summary-address-finger) { align-self: start; }
body.site :is(.amphora-saved-listing-address-finger,.amphora-search-listing-summary-address-finger) > svg.pagecache-listing-summary-address-finger-svg {
  width: 18px;
  min-width: 18px;
  max-width: 18px;
  height: 18px;
  min-height: 18px;
  max-height: 18px;
}


/* Shared compact Listing-summary optical alignment: the portable component owns
   the grid; Argent supplies the one-pixel correction for Saved and Search modes. */
body.site .amphora-listing-summary-copy:is(.amphora-saved-listing-copy,.amphora-search-listing-summary-copy) {
  padding-top: 0;
  transform: translateY(-1px);
}

/* ARGENT_LIGHTTABLE_L2_LISTING_TOP_RHYTHM
 * Listing detail retains the common page surface/rail while using a smaller
 * desktop top reserve for breadcrumb + Save/navigation controls. Compact
 * presentation keeps the established mobile rhythm. */
@media (min-width: 921px) {
  body.site [data-amphora-representation] > .pagecache-public-root.pagecache-listing-page {
    padding-top: 24px;
  }
}

/* ARGENT_LIGHTTABLE_L5_SEMANTIC_EDITORIAL_OWNERSHIP
 * One customer-local presentation contract for native editorial content and
 * governed collection summaries. CMS wrappers remain integration structure;
 * they do not own normal-state typography or editorial rhythm. */

/* Governed collection summaries must not inherit platform .small defaults. */
body.site .container-component > main .pagecache-publisher-index-summary {
  font-family: var(--argent-font-ui);
  font-size: .875em;
  line-height: 1.55;
}

/* All native/editorial prose consumes the common reading face. */
body.site .container-component > main :is(
  .com-content-article__body,
  .blog-item .item-content,
  .argent-wordpress-local-content,
  .argent-drupal-local-page__body,
  .argent-wordpress-blog-item__body,
  .argent-drupal-blog-item__body,
  .argent-wordpress-blog-article__body,
  .argent-drupal-blog-article__body
) {
  font-family: var(--argent-font-reading);
}

/* Native/local H1s participate in the same title rhythm regardless of CMS. */
body.site .container-component > main :is(
  .page-header > h1,
  h1.argent-wordpress-local-title,
  h1.argent-drupal-local-page__title
) {
  margin: 0 0 .7rem;
  margin-block: 0 .7rem;
}

/* Ordinary/article section H2s remain semantic H2 but use the next visual tier. */
body.site .container-component > main :is(
  .com-content-article__body,
  .argent-wordpress-local-content,
  .argent-drupal-local-page__body,
  .argent-wordpress-blog-item__body,
  .argent-drupal-blog-item__body,
  .argent-wordpress-blog-article__body,
  .argent-drupal-blog-article__body
) > h2,
body.site .container-component > main .blog-item .item-content > h2 {
  margin: 0 0 .65rem;
  margin-block: 0 .65rem;
  font-size: clamp(1.25rem,1.4vw,1.55rem);
  line-height: 1.16;
  font-weight: 700;
  letter-spacing: 0;
  color: var(--argent-rust);
}

/* Market article/index titles retain the H2 title tier, but their spacing is
 * shared rather than inherited from Cassiopeia, TT5, or Drupal defaults. */
body.site .container-component > main :is(
  .com-content-article > .page-header > h2,
  .item-page > .page-header > h2,
  h2.argent-wordpress-blog-article__title,
  h2.argent-drupal-blog-article__title,
  .com-content-category-blog__item > .item-content > .page-header > h2,
  .argent-wordpress-blog-card > .wp-block-post-title,
  .argent-drupal-blog-item__title
) {
  margin: 0 0 .65rem;
  margin-block: 0 .65rem;
  font-size: clamp(1.55rem,1.8vw,2rem);
  line-height: 1.12;
  font-weight: 700;
  letter-spacing: -.02em;
  color: var(--argent-dark);
}

/* Common editorial paragraph/list rhythm. Direct-child scoping avoids changing
 * governed component internals while neutralizing CMS block/UA defaults. */
body.site .container-component > main :is(
  .com-content-article__body,
  .blog-item .item-content,
  .argent-wordpress-local-content,
  .argent-drupal-local-page__body,
  .argent-wordpress-blog-item__body,
  .argent-drupal-blog-item__body,
  .argent-wordpress-blog-article__body,
  .argent-drupal-blog-article__body
) > p {
  margin: 0 0 1rem;
  margin-block: 0 1rem;
}
body.site .container-component > main :is(
  .com-content-article__body,
  .blog-item .item-content,
  .argent-wordpress-local-content,
  .argent-drupal-local-page__body,
  .argent-wordpress-blog-item__body,
  .argent-drupal-blog-item__body,
  .argent-wordpress-blog-article__body,
  .argent-drupal-blog-article__body
) > p:last-child {
  margin-bottom: 0;
  margin-block-end: 0;
}
body.site .container-component > main :is(
  .com-content-article__body,
  .blog-item .item-content,
  .argent-wordpress-local-content,
  .argent-drupal-local-page__body,
  .argent-wordpress-blog-item__body,
  .argent-drupal-blog-item__body,
  .argent-wordpress-blog-article__body,
  .argent-drupal-blog-article__body
) > :is(ol,ul) {
  margin: .55rem 0 1rem;
  margin-block: .55rem 1rem;
  padding-inline-start: 1.35rem;
}
body.site .container-component > main :is(
  .com-content-article__body,
  .blog-item .item-content,
  .argent-wordpress-local-content,
  .argent-drupal-local-page__body,
  .argent-wordpress-blog-item__body,
  .argent-drupal-blog-item__body,
  .argent-wordpress-blog-article__body,
  .argent-drupal-blog-article__body
) > :is(ol,ul) > li {
  margin: 0 0 .4rem;
  margin-block: 0 .4rem;
}

/* Market index introduction uses the same reading face and one shared gap. */
body.site .container-component > main :is(
  .category-desc > p,
  .argent-wordpress-blog-index__intro,
  .argent-drupal-blog-index__intro
) {
  margin: 0 0 1.25rem;
  margin-block: 0 1.25rem;
  font-family: var(--argent-font-reading);
}

/* Market index is one flat editorial stream. Normalize article boundaries at
 * the customer-local semantic layer instead of inheriting CMS list/card gaps. */
body.site .container-component > main :is(
  .com-content-category-blog__items,
  .argent-wordpress-blog-query .wp-block-post-template,
  .argent-drupal-blog-list
) {
  margin: 0;
  padding: 0;
  row-gap: 0;
  gap: 0;
}
body.site .container-component > main .argent-wordpress-blog-query .wp-block-post {
  margin: 0;
  padding: 0;
  list-style: none;
}
body.site .container-component > main :is(
  .com-content-category-blog__item,
  .argent-wordpress-blog-card,
  .argent-drupal-blog-item
) {
  margin: 0;
  margin-block: 0;
  padding: 1.35rem 0 0;
  border: 0;
  border-top: 1px solid var(--argent-line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
body.site .container-component > main :is(
  .com-content-category-blog__items.items-leading .com-content-category-blog__item:first-child,
  .argent-wordpress-blog-query .wp-block-post:first-child .argent-wordpress-blog-card,
  .argent-drupal-blog-item:first-child
) {
  padding-top: 0;
  border-top: 0;
}

/* Listings filter controls and chooser: customer-local visual vocabulary. */
/* Listings filter bar: Segment and Features are one visual control family.
 * They retain their native semantics and click/tap/keyboard opening behavior. */
body.site .pagecache-public-root .pagecache-listing-filter-label {
  color: var(--argent-rust);
  font-family: var(--argent-font-ui);
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: -.01em;
}
body.site .pagecache-public-root :is(
  .pagecache-listing-segment-select,
  .pagecache-listing-feature-button.pagecache-action-button
) {
  min-height: 3rem;
  border: 1px solid color-mix(in srgb,var(--argent-blue) 46%,var(--argent-line));
  border-radius: var(--argent-control-radius);
  background: color-mix(in srgb,var(--argent-blue) 7%,var(--argent-surface));
  color: var(--argent-blue);
  box-shadow: 0 5px 14px rgba(16,23,19,.05);
  font-family: var(--argent-font-ui);
  font-weight: 750;
  transition: background-color .14s ease,border-color .14s ease,color .14s ease,box-shadow .14s ease;
}
body.site .pagecache-public-root :is(
  .pagecache-listing-segment-select,
  .pagecache-listing-feature-button.pagecache-action-button
):is(:hover,:focus-visible) {
  border-color: var(--argent-blue);
  background: color-mix(in srgb,var(--argent-blue) 13%,var(--argent-surface));
  color: var(--argent-blue);
  outline: none;
  outline-offset: 0;
  box-shadow: 0 5px 14px rgba(16,23,19,.07);
}
/* A genuinely active Features filter gets the saturated selected state. */
body.site .pagecache-public-root .pagecache-listing-segment-filter:has(
  [data-pagecache-feature-checkbox="1"]:checked
) .pagecache-listing-feature-button.pagecache-action-button {
  border-color: var(--argent-blue);
  background: var(--argent-blue);
  color: var(--argent-surface);
}
body.site .pagecache-public-root .pagecache-listing-segment-filter:has(
  [data-pagecache-feature-checkbox="1"]:checked
) .pagecache-listing-feature-button.pagecache-action-button:is(:hover,:focus-visible) {
  border-color: var(--argent-blue);
  background: color-mix(in srgb,var(--argent-blue) 88%,var(--argent-dark));
  color: var(--argent-surface);
}

/* Feature chooser: preserve the neutral modal shell, but make each feature a
 * deliberate selectable cartouche using the same pale-blue surface vocabulary. */
body.site .pagecache-public-root .pagecache-listing-feature-modal-title {
  color: var(--argent-blue);
  font-family: var(--argent-font-ui);
  font-weight: 800;
  letter-spacing: -.01em;
}
body.site .pagecache-public-root .pagecache-listing-feature-modal-intro {
  color: color-mix(in srgb,var(--argent-ink) 78%,var(--argent-muted));
  font-family: var(--argent-font-reading);
  font-size: .98rem;
}
body.site .pagecache-public-root .pagecache-listing-feature-options {
  scrollbar-width: thin;
  scrollbar-color: color-mix(in srgb,var(--argent-blue) 55%,var(--argent-line)) transparent;
}
body.site .pagecache-public-root .pagecache-listing-feature-option {
  border-color: color-mix(in srgb,var(--argent-blue) 25%,var(--argent-line));
  background: color-mix(in srgb,var(--argent-blue) 7%,var(--argent-surface));
  cursor: pointer;
  transition: background-color .14s ease,border-color .14s ease,box-shadow .14s ease;
}
body.site .pagecache-public-root .pagecache-listing-feature-option:hover {
  border-color: color-mix(in srgb,var(--argent-blue) 62%,var(--argent-line));
  background: color-mix(in srgb,var(--argent-blue) 13%,var(--argent-surface));
}
body.site .pagecache-public-root .pagecache-listing-feature-option:has(.pagecache-listing-feature-checkbox:checked) {
  border-color: var(--argent-blue);
  background: color-mix(in srgb,var(--argent-blue) 18%,var(--argent-surface));
  box-shadow: inset 0 0 0 1px color-mix(in srgb,var(--argent-blue) 20%,transparent);
}
body.site .pagecache-public-root .pagecache-listing-feature-option:has(.pagecache-listing-feature-checkbox:focus-visible) {
  border-color: var(--argent-blue);
  background: color-mix(in srgb,var(--argent-blue) 15%,var(--argent-surface));
}
body.site .pagecache-public-root .pagecache-listing-feature-count {
  color: color-mix(in srgb,var(--argent-blue) 70%,var(--argent-ink));
}


/* ARGENT_JOOMLA_CSS_PURIFICATION_P2: JREF3-equivalent stable ownership baseline. */

/* ARGENT_ENQUIRY_CONFORMANCE_R1
 * Enquiry behavior remains portable Amphora. Argent owns only the customer
 * typography/control optical treatment for the governed enquiry semantics. */
body.site .amphora-listing-inquiry-fields > label {
  font-family: var(--argent-font-ui);
  font-weight: 700;
}

body.site .amphora-listing-inquiry-favorites-title {
  color: var(--argent-blue);
  font-family: var(--argent-font-ui);
  font-size: 1rem;
  line-height: 1.25;
  font-weight: 700;
}
body.site .amphora-listing-inquiry-favorites-list :is(
  .amphora-listing-inquiry-favorite-title,
  .amphora-listing-summary-title
) {
  font-family: var(--argent-font-ui);
  font-weight: 750;
}
body.site .amphora-listing-inquiry-favorites-list :is(
  .amphora-listing-inquiry-favorite-summary,
  .amphora-listing-summary-facts,
  .amphora-listing-inquiry-favorite-address,
  .amphora-listing-summary-address
) {
  font-family: var(--argent-font-ui);
  font-weight: 650;
}
body.site .amphora-listing-inquiry-action-note {
  color: var(--argent-muted);
  font-family: var(--argent-font-ui);
  font-size: .9rem;
  line-height: 1.35;
  font-weight: 500;
}
body.site .amphora-listing-inquiry-action-note[data-amphora-inquiry-error="1"] {
  color: #9d2f35;
  font-weight: 600;
}
body.site .amphora-listing-inquiry-action-note[data-amphora-inquiry-confirm="1"] {
  color: var(--argent-ink);
  font-weight: 650;
}

body.site .amphora-listing-inquiry-confirmation-title {
  color: var(--argent-blue);
  font-family: var(--argent-font-ui);
  font-weight: 700;
}
body.site .amphora-listing-inquiry-confirmation-intro {
  color: var(--argent-muted);
  font-family: var(--argent-font-ui);
  font-size: 1rem;
  line-height: 1.4;
  font-weight: 400;
}
body.site .amphora-listing-inquiry-confirmation-label {
  color: var(--argent-muted);
  font-family: var(--argent-font-ui);
  font-weight: 400;
}
body.site .amphora-listing-inquiry-confirmation-value,
body.site .amphora-listing-inquiry-confirmation-favorites {
  color: var(--argent-ink);
  font-family: var(--argent-font-ui);
  font-size: 1rem;
  line-height: 1.4;
  font-weight: 650;
}

/* Argent controls are flat: retain the governed action/state vocabulary while
 * removing producer fallback elevation through the customer action owner. */
body.site .pagecache-public-root {
  --pagecache-action-shadow: none;
  --pagecache-action-shadow-hover: none;
}

/* Successful enquiry acknowledgement uses the portable Amphora dialog
 * mechanics and the local Argent surface/control vocabulary. */
body.site .amphora-listing-inquiry-status.amphora-listing-inquiry-receipt {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: grid;
  place-items: center;
  box-sizing: border-box;
  width: 100vw;
  height: 100vh;
  max-width: none;
  margin: 0;
  padding: clamp(18px,4vw,36px);
  color: var(--argent-ink);
  font-family: var(--argent-font-ui);
  text-align: left;
}
body.site .amphora-listing-inquiry-status.amphora-listing-inquiry-receipt[hidden] {
  display: none;
}
body.site .amphora-listing-inquiry-receipt-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(16,23,19,.48);
}
body.site .amphora-listing-inquiry-receipt-card {
  position: relative;
  z-index: 1;
  display: grid;
  gap: .8rem;
  width: min(420px,100%);
  box-sizing: border-box;
  padding: clamp(22px,4vw,30px);
  border: 1px solid var(--argent-line);
  border-radius: 16px;
  background: var(--argent-surface);
  box-shadow: none;
}
body.site .amphora-listing-inquiry-receipt-title {
  margin: 0;
  color: var(--argent-blue);
  font-family: var(--argent-font-ui);
  font-size: clamp(1.25rem,2vw,1.45rem);
  line-height: 1.15;
  font-weight: 700;
}
body.site .amphora-listing-inquiry-receipt-message {
  margin: 0;
  color: var(--argent-ink);
  font-family: var(--argent-font-ui);
  font-size: 1rem;
  line-height: 1.45;
  font-weight: 400;
}
body.site .amphora-listing-inquiry-receipt-actions {
  display: flex;
  justify-content: flex-end;
  margin-top: .2rem;
}
body.site button.amphora-listing-inquiry-receipt-ok {
  min-width: 88px;
  min-height: 40px;
  padding-inline: 1.25rem;
}

