/*
 * Foundation: palette, tokens, base rails, early local chrome rules.
 * Extracted from accepted Argent 1.1.57 visual/audit state during 1.1.58
 * WordPress-conventional CSS stack reconstruction.
 */

/*
 * Local website-owned choices only.
 * Amphora decides where these tokens apply; this child theme provides
 * local color/mode/brand preferences and local home/search presentation.
 */

:root {
  /* Argent local light palette 0.2.8: muted blue-slate field,
   * warm silver/off-white surfaces, and quiet steel accents. */
  --amphora-local-site-field: #2f4a56;
  --amphora-local-site-surface: transparent;
  --amphora-local-header-surface: #fbfaf4;
  --amphora-local-article-surface: #fbfaf4;
  --amphora-local-footer-shell-surface: transparent;

  --amphora-local-card-surface: #fbfaf4;
  --amphora-local-panel-surface: #fffdf8;
  --amphora-local-line: #d9d4c8;
  --amphora-local-ink: #172033;
  --amphora-local-muted-ink: #5f6f78;
  --amphora-local-accent: #4f7180;

  --amphora-local-page-width: 1160px;
  --amphora-local-edge-air: 20px;

  --amphora-local-header-top-air: 14px;
  --amphora-local-card-top-gap: 18px;
  --amphora-local-bottom-air: 44px;


  --argent-local-prose-size: clamp(1.04rem, 0.98rem + 0.18vw, 1.12rem);
  --argent-local-prose-line-height: 1.58;
  --argent-local-prose-weight: 600;

  /* Argent canonical typography tokens 1.2.1.
   * Local profile CSS owns visual font selection; component rules consume
   * these tokens instead of restating profile-specific font families.
   */
  --argent-body-font: inherit;
  --argent-heading-font: var(--argent-body-font);
  --argent-nav-font: var(--argent-heading-font);

  /* Argent shared visual-system defaults 1.1.83.
   *
   * These are the low-level design tokens.  Later component files should not
   * invent border/radius/shadow values; they should choose one of these
   * roles.  The default surface remains quiet: radius is shared, visible
   * border is absent until a component role opts in.
   */
  /* Radius acid-test 1.1.76: deliberately doubled from 9px to 18px so any
   * hard-coded or orphaned corner radii are visually exposed. */
  --argent-radius-base: 18px;
  --argent-radius-default: var(--argent-radius-base);
  --argent-radius-shell: var(--argent-radius-base);
  --argent-radius-page: var(--argent-radius-shell);
  --argent-radius-card: var(--argent-radius-base);
  --argent-radius-control: var(--argent-radius-base);
  --argent-radius-chip: var(--argent-radius-base);
  --argent-radius-media: var(--argent-radius-base);

  /* Compatibility radius aliases. Older local layers still name Amphora/profile
   * card variables; make them resolve to the single Argent radius during the
   * acid test instead of preserving stale 16px/9px defaults. */
  --amphora-card-radius: var(--argent-radius-base);
  --amphora-site-card-radius: var(--argent-radius-base);
  --amphora-profile-card-radius: var(--argent-radius-base);
  --amphora-profile-control-radius: var(--argent-radius-base);

  --argent-surface-default: transparent;
  /* Page/shell surfaces are borderless by default, but not transparent.
   * The background belongs to the page role; child wrappers remain quiet
   * unless they opt into card/control/chip/media roles. */
  --argent-surface-shell: var(--amphora-local-article-surface, #fbfaf4);
  --argent-surface-page: var(--argent-surface-shell);
  --argent-surface-frame: var(--argent-surface-page);
  --argent-surface-canvas: var(--argent-surface-page);

  /* Page canvas tokens.  The canvas contributes background and dimensions only;
   * inner content wrappers retain natural spacing and component roles own
   * borders/radii/shadows.  Keep frame aliases for compatibility with earlier
   * local rules while treating them as canvas dimensions. */
  --argent-page-canvas-width: var(--amphora-local-page-width, 1160px);
  --argent-page-canvas-edge-air: var(--amphora-local-edge-air, 20px);
  --argent-page-canvas-margin-block-start: var(--amphora-local-card-top-gap, 18px);
  --argent-page-canvas-margin-block-end: var(--amphora-local-bottom-air, 44px);

  --argent-page-frame-width: var(--argent-page-canvas-width);
  --argent-page-frame-edge-air: var(--argent-page-canvas-edge-air);
  --argent-page-frame-margin-block-start: var(--argent-page-canvas-margin-block-start);
  --argent-page-frame-margin-block-end: var(--argent-page-canvas-margin-block-end);
  --argent-page-frame-padding: clamp(24px, 3vw, 52px);
  --argent-page-inner-gap: clamp(16px, 2vw, 28px);
  --argent-page-grid-gap: clamp(18px, 2.4vw, 32px);
  --argent-card-min-inline: min(100%, 17rem);
  --argent-result-card-min-inline: min(100%, 28rem);
  --argent-member-card-min-inline: min(100%, 13rem);
  --argent-page-footer-band-padding-block: clamp(18px, 2.6vw, 30px);
  /* Single governed content rail. The page canvas remains a canvas; this
   * inset is available to the one active content rail/footer band only;
   * structural roots must not add a second inset around governed content. */
  --argent-governed-content-inset: var(--amphora-site-inner-pad, clamp(18px, 3vw, 34px));
  /* Global page-header slot 1.1.80.
   * The breadcrumb text line remains the accepted 25px line box, but the
   * page-header slot is the full reserved vertical band above first content.
   * The breadcrumb, when present, is centered inside this band; when absent,
   * the same band is reserved invisibly.  Content wrappers then start with
   * zero top padding/margin after the slot. */
  --argent-breadcrumb-reserve-line-block: 25px;
  --argent-breadcrumb-reserve-block: var(--argent-breadcrumb-reserve-line-block);
  --argent-breadcrumb-rail-padding-block-start: 0px;
  --argent-breadcrumb-rail-padding-block-end: 0px;
  --argent-governed-content-start-reserve: 0px;
  --argent-page-header-slot-line-block: var(--argent-breadcrumb-reserve-line-block, 25px);
  --argent-page-header-slot-block: 52px;
  --argent-page-header-slot-padding-block-start: 0px;
  --argent-page-header-slot-padding-block-end: 0px;
  --argent-page-header-slot-gap-after: 0px;
  --argent-page-header-slot-inset-inline: var(--argent-governed-content-inset);
  --argent-page-breadcrumb-visual-balance-shift: 7px;

  /* Unified listing-card shell contract 1.1.85.  These are component tokens;
   * parent grids own inter-card spacing, card shells own internal breathing room.
   */
  --argent-listing-card-padding-block: clamp(12px, 1.05vw, 17px);
  --argent-listing-card-padding-inline: clamp(26px, 2.35vw, 36px);
  --argent-listing-card-row-gap: clamp(3px, .36vw, 6px);
  --argent-listing-card-stack-gap: clamp(18px, 1.85vw, 28px);
  --argent-listing-card-section-gap: clamp(18px, 1.8vw, 30px);
  --argent-listing-card-min-block-size: 78px;

  /* Graphic-first detail pages 1.1.86.  Pages whose first substantial content
   * after the global breadcrumb/header row is media/profile imagery use one
   * shared after-breadcrumb gap.  This keeps agent, complex, listing, and
   * search-return listing detail pages on the same vertical rhythm without
   * creating page-specific spacers.
   */
  --argent-page-graphic-start-gap: clamp(6px, .55vw, 10px);

  /* Listing detail nav/header correction 1.1.87.  The listing nav chrome is
   * an alias of the shared page-header band, not an additional padded wrapper.
   */
  --argent-listing-nav-chrome-block: var(--argent-page-header-slot-block, 52px);

  /* Compact data-section contract 1.1.88.  Property Details, Disclosures,
   * and equivalent key/value fact panels use these tokens instead of
   * page-specific or panel-specific air.
   */
  --argent-data-section-padding-block: clamp(8px, 0.70vw, 12px);
  --argent-data-section-padding-inline: clamp(14px, 1.35vw, 24px);
  --argent-data-section-row-gap: clamp(2px, 0.24vw, 5px);
  --argent-data-section-column-gap: clamp(28px, 5vw, 92px);
  --argent-data-section-heading-size: var(--argent-estate-section-title-size, clamp(1.75rem, 1.9vw, 2.20rem));
  --argent-data-section-heading-line: var(--argent-estate-section-title-line, 1.08);
  --argent-data-section-heading-weight: var(--argent-estate-page-title-weight, 700);
  --argent-data-section-heading-tracking: var(--argent-estate-section-title-tracking, 0.012em);
  --argent-data-section-row-line: 1.20;
  --argent-page-breadcrumb-font-size: 19px;
  --argent-page-breadcrumb-line-height: var(--argent-page-header-slot-line-block, 25px);
  --argent-page-breadcrumb-font-weight: 850;
  --argent-page-breadcrumb-color: var(--amphora-local-ink, #122233);
  --argent-page-title-color: var(--argent-local-heading-accent, var(--argent-local-warm-accent, #8A4A2A));
  /* Unified page-header contract 1.1.83: governed Pagecache and local WordPress page headers share one breadcrumb/title token set. Local tokens are compatibility aliases only. */
  --argent-page-title-size: clamp(1.70rem, 3vw, 2.65rem);
  --argent-page-title-weight: var(--argent-estate-page-title-weight, 700);
  --argent-page-title-line: var(--argent-estate-page-title-line, 1.06);
  --argent-page-title-tracking: var(--argent-estate-page-title-tracking, -0.018em);
  --argent-local-page-title-size: var(--argent-page-title-size);
  --argent-surface-card: var(--amphora-local-card-surface, #fbfaf4);
  --argent-surface-panel: var(--amphora-local-panel-surface, #fffdf8);
  --argent-surface-control: var(--amphora-local-panel-surface, #fffdf8);
  --argent-surface-chip: var(--amphora-local-panel-surface, #fffdf8);
  --argent-surface-media: transparent;

  --argent-line-card: color-mix(in srgb, var(--amphora-local-line, #d9d4c8) 96%, var(--amphora-local-ink, #122233) 4%);
  --argent-line-control: color-mix(in srgb, var(--amphora-local-accent, #4f7180) 42%, var(--amphora-local-line, #d9d4c8) 58%);
  --argent-line-chip: color-mix(in srgb, var(--amphora-local-line, #d9d4c8) 92%, var(--amphora-local-ink, #122233) 8%);
  --argent-line-media: var(--amphora-local-line, #d9d4c8);

  --argent-border-none: 0 solid transparent;
  --argent-border-default: var(--argent-border-none);
  --argent-border-shell: var(--argent-border-none);
  --argent-border-page: var(--argent-border-shell);
  --argent-border-card: 1px solid var(--argent-line-card);
  --argent-border-control: 1px solid var(--argent-line-control);
  --argent-border-chip: 1px solid var(--argent-line-chip);
  --argent-border-media: 1px solid var(--argent-line-media);
  --argent-footer-divider: 1px solid color-mix(in srgb, var(--amphora-local-line, #d9d4c8) 82%, transparent);

  --argent-shadow-none: none;
  --argent-shadow-default: none;
  --argent-shadow-shell: none;
  --argent-shadow-page: var(--argent-shadow-shell);
  --argent-shadow-card: 0 14px 30px rgba(18, 34, 52, .085), 0 3px 8px rgba(18, 34, 52, .055);
  --argent-shadow-control: 0 7px 16px rgba(18, 34, 52, .065);
  --argent-shadow-chip: 0 4px 10px rgba(18, 34, 52, .035);
  --argent-shadow-media: 0 10px 24px rgba(18, 34, 52, .10);

  /* Compatibility aliases used by older Argent CSS layers. */
  --argent-surface-bg: var(--argent-surface-card);
  --argent-panel-bg: var(--argent-surface-panel);
  --argent-line-subtle: var(--argent-line-card);
  --argent-control-line: var(--argent-line-control);
  --argent-no-border: var(--argent-border-none);
  --argent-card-border: var(--argent-border-card);
  --argent-control-border: var(--argent-border-control);
  --argent-chip-border: var(--argent-border-chip);
  --argent-media-border: var(--argent-border-media);
  --argent-card-radius: var(--argent-radius-card);
  --argent-control-radius: var(--argent-radius-control);
  --argent-chip-radius: var(--argent-radius-chip);
  --argent-media-radius: var(--argent-radius-media);
  --argent-shell-radius: var(--argent-radius-shell);
  --argent-page-radius: var(--argent-radius-page);
  --argent-page-border: var(--argent-border-page);
  --argent-page-shadow: var(--argent-shadow-page);
  --argent-frame-radius: var(--argent-radius-page);
  --argent-frame-border: var(--argent-border-page);
  --argent-frame-shadow: var(--argent-shadow-page);
  --argent-canvas-radius: var(--argent-radius-page);
  --argent-footer-band-bg: var(--argent-surface-canvas);
  --argent-footer-band-radius: 0 0 var(--argent-canvas-radius) var(--argent-canvas-radius);
  --argent-card-shadow: var(--argent-shadow-card);
  --argent-control-shadow: var(--argent-shadow-control);
  --argent-chip-shadow: var(--argent-shadow-chip);
  --argent-media-shadow: var(--argent-shadow-media);

}


body.argent-color-mode-dark {
  --amphora-local-site-field: #121820;
  --amphora-local-site-surface: transparent;
  --amphora-local-header-surface: #1d2630;
  --amphora-local-article-surface: #1d2630;
  --amphora-local-footer-shell-surface: transparent;

  --amphora-local-card-surface: #1d2630;
  --amphora-local-panel-surface: #26313c;
  --amphora-local-line: #3a4652;
  --amphora-local-ink: #f4f1e8;
  --amphora-local-muted-ink: #c9c3b6;
  --amphora-local-accent: #c3dbe3;
}

@media (prefers-color-scheme: dark) {
  body.argent-color-mode-auto {
    --amphora-local-site-field: #121820;
    --amphora-local-site-surface: transparent;
    --amphora-local-header-surface: #1d2630;
    --amphora-local-article-surface: #1d2630;
    --amphora-local-footer-shell-surface: transparent;

    --amphora-local-card-surface: #1d2630;
    --amphora-local-panel-surface: #26313c;
    --amphora-local-line: #3a4652;
    --amphora-local-ink: #f4f1e8;
    --amphora-local-muted-ink: #c9c3b6;
    --amphora-local-accent: #c3dbe3;
  }
}

body.argent-local-branding .site-title a,
body.argent-local-branding .site-title a:visited {
  color: var(--amphora-local-ink);
}

body.argent-local-branding .site-title a.argent-brand-logo-link {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  inline-size: min(var(--argent-local-header-logo-width), 44vw);
  max-inline-size: 100%;
  block-size: var(--argent-local-header-logo-max-height);
  color: var(--amphora-local-ink);
  text-decoration: none;
  line-height: 1;
}

body.argent-local-branding .argent-brand-logo-svg {
  display: block;
  inline-size: 100%;
  block-size: 100%;
  overflow: visible;
  color: currentColor;
}

body.argent-local-branding.argent-brand-mode-logo .site-title a.argent-brand-logo-link,
body.argent-local-branding.argent-brand-mode-logo_and_text .site-title a.argent-brand-logo-link {
  font-size: 0;
}

/* Local chrome first-paint geometry stabilization 0.2.41.
 * Apply the final logo slot dimensions before `argent-branding.js` replaces the
 * text title with the SVG mark so page-to-page navigation does not vertically
 * hop when the header settles after DOMContentLoaded.
 */
body.argent-local-branding:is(.argent-brand-mode-logo, .argent-brand-mode-logo_and_text) .site-title,
body.argent-local-branding:is(.argent-brand-mode-logo, .argent-brand-mode-logo_and_text) .site-title a {
  line-height: 1 !important;
}

body.argent-local-branding:is(.argent-brand-mode-logo, .argent-brand-mode-logo_and_text) .site-title a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  inline-size: min(var(--argent-local-header-logo-width), 40vw) !important;
  max-inline-size: 100% !important;
  block-size: var(--argent-local-header-logo-max-height) !important;
  min-block-size: var(--argent-local-header-logo-max-height) !important;
  color: var(--amphora-local-ink) !important;
  text-decoration: none !important;
  overflow: hidden !important;
}


/* Argent local chrome top-section stabilization 0.2.42.
   Keep the visible masthead row, logo slot, and nav row geometrically stable
   before the branding script swaps the text site title for the SVG logo. */
html body.argent-local-branding:is(.argent-brand-mode-logo, .argent-brand-mode-logo_and_text) #masthead,
html body.argent-local-branding:is(.argent-brand-mode-logo, .argent-brand-mode-logo_and_text) #ast-desktop-header,
html body.argent-local-branding:is(.argent-brand-mode-logo, .argent-brand-mode-logo_and_text) #ast-mobile-header,
html body.argent-local-branding:is(.argent-brand-mode-logo, .argent-brand-mode-logo_and_text) #masthead .ast-main-header-wrap,
html body.argent-local-branding:is(.argent-brand-mode-logo, .argent-brand-mode-logo_and_text) #masthead .main-header-bar,
html body.argent-local-branding:is(.argent-brand-mode-logo, .argent-brand-mode-logo_and_text) #masthead .site-primary-header-wrap,
html body.argent-local-branding:is(.argent-brand-mode-logo, .argent-brand-mode-logo_and_text) #masthead .ast-primary-header-bar,
html body.argent-local-branding:is(.argent-brand-mode-logo, .argent-brand-mode-logo_and_text) #masthead .ast-builder-grid-row-container,
html body.argent-local-branding:is(.argent-brand-mode-logo, .argent-brand-mode-logo_and_text) #masthead .ast-builder-grid-row {
  min-block-size: calc(var(--argent-local-header-logo-max-height) + 28px) !important;
}

html body.argent-local-branding:is(.argent-brand-mode-logo, .argent-brand-mode-logo_and_text) #masthead .ast-builder-grid-row,
html body.argent-local-branding:is(.argent-brand-mode-logo, .argent-brand-mode-logo_and_text) #masthead .site-branding,
html body.argent-local-branding:is(.argent-brand-mode-logo, .argent-brand-mode-logo_and_text) #masthead .ast-site-identity,
html body.argent-local-branding:is(.argent-brand-mode-logo, .argent-brand-mode-logo_and_text) #masthead .ast-site-title-wrap {
  align-items: center !important;
  min-block-size: var(--argent-local-header-logo-max-height) !important;
}

html body.argent-local-branding:is(.argent-brand-mode-logo, .argent-brand-mode-logo_and_text) #masthead .site-title {
  display: flex !important;
  align-items: center !important;
  min-block-size: var(--argent-local-header-logo-max-height) !important;
  margin-block: 0 !important;
}

html body.argent-local-branding:is(.argent-brand-mode-logo, .argent-brand-mode-logo_and_text) #masthead .site-title a:not(.argent-brand-logo-link) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  inline-size: min(var(--argent-local-header-logo-width), 40vw) !important;
  max-inline-size: 100% !important;
  block-size: var(--argent-local-header-logo-max-height) !important;
  min-block-size: var(--argent-local-header-logo-max-height) !important;
  font-size: 0 !important;
  line-height: 1 !important;
  color: transparent !important;
  overflow: hidden !important;
  text-decoration: none !important;
}

html body.argent-local-branding #masthead #ast-desktop-header .main-header-menu > li.menu-item > a.menu-link,
html body.argent-local-branding #masthead #ast-desktop-header nav#primary-site-navigation-desktop a.menu-link,
html body.argent-local-branding #masthead #ast-desktop-header .ast-builder-menu-1 .main-header-menu > li.menu-item > a.menu-link {
  display: flex !important;
  align-items: center !important;
  min-block-size: 34px !important;
}



body.argent-local-branding .main-header-menu .menu-link,
body.argent-local-branding .main-header-menu .menu-link:visited {
  color: var(--amphora-local-ink);
}

body.argent-local-branding .main-header-menu .current-menu-item > .menu-link,
body.argent-local-branding .main-header-menu .current_page_item > .menu-link {
  color: var(--amphora-local-accent);
}

.argent-home-main,
.argent-search-main {
  inline-size: min(var(--amphora-local-page-width, 1160px), calc(100vw - (2 * var(--amphora-local-edge-air, 20px))));
  margin: var(--amphora-local-card-top-gap, 18px) auto var(--amphora-local-bottom-air, 44px);
  color: var(--amphora-local-ink);
}

.argent-home-card {
  background: var(--amphora-local-card-surface);
  border: 1px solid var(--amphora-local-line);
  border-radius: var(--amphora-card-radius, 16px);
  box-shadow: 0 18px 42px rgba(12, 32, 48, 0.13);
  overflow: hidden;
}

.argent-home-card + .argent-home-card {
  margin-top: 18px;
}

.argent-home-hero,
.argent-search-hero {
  padding: clamp(32px, 5vw, 62px);
  background:
    radial-gradient(circle at 18% 12%, rgba(79, 113, 128, 0.18), transparent 34%),
    linear-gradient(135deg, var(--amphora-local-card-surface), var(--amphora-local-panel-surface));
}

body.argent-color-mode-dark .argent-home-hero,
body.argent-color-mode-dark .argent-search-hero {
  background:
    radial-gradient(circle at 18% 12%, rgba(195, 219, 227, 0.13), transparent 34%),
    linear-gradient(135deg, var(--amphora-local-card-surface), var(--amphora-local-panel-surface));
}

@media (prefers-color-scheme: dark) {
  body.argent-color-mode-auto .argent-home-hero,
  body.argent-color-mode-auto .argent-search-hero {
    background:
      radial-gradient(circle at 18% 12%, rgba(195, 219, 227, 0.13), transparent 34%),
      linear-gradient(135deg, var(--amphora-local-card-surface), var(--amphora-local-panel-surface));
  }
}

.argent-home-kicker {
  margin: 0 0 10px;
  color: var(--amphora-local-accent);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.argent-home-hero h1,
.argent-search-hero h1 {
  max-inline-size: 820px;
  margin: 0;
  color: var(--amphora-local-ink);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(2.25rem, 5vw, 4.25rem);
  line-height: 0.99;
  letter-spacing: -0.045em;
}

.argent-home-lede,
.argent-search-status {
  max-inline-size: 760px;
  margin: 20px 0 0;
  color: var(--amphora-local-muted-ink);
  font-size: clamp(1.04rem, 1.6vw, 1.28rem);
  line-height: 1.55;
}

.argent-home-search {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 10px;
  max-inline-size: 870px;
  margin-top: 28px;
  padding: 10px;
  background: color-mix(in srgb, var(--amphora-local-panel-surface) 88%, white 12%);
  border: 1px solid var(--amphora-local-line);
  border-radius: calc(var(--amphora-card-radius, 16px) - 2px);
  box-shadow: 0 12px 28px rgba(12, 32, 48, 0.10);
}

.argent-home-search input[type='search'] {
  min-inline-size: 0;
  inline-size: 100%;
  padding: 14px 16px;
  color: var(--amphora-local-ink);
  background: var(--amphora-local-card-surface);
  border: 1px solid transparent;
  border-radius: 10px;
  font-size: 1rem;
  outline: none;
}

.argent-home-search input[type='search']:focus {
  border-color: var(--amphora-local-accent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--amphora-local-accent) 24%, transparent);
}

.argent-home-search button,
.argent-home-search .argent-search-clear-button {
  padding: 0 24px;
  color: #fff;
  background: var(--amphora-local-accent);
  border: 0;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  cursor: pointer;
}

body.argent-color-mode-dark .argent-home-search button,
body.argent-color-mode-dark .argent-home-search .argent-search-clear-button {
  color: #121820;
  background: var(--amphora-local-accent);
}

@media (prefers-color-scheme: dark) {
  body.argent-color-mode-auto .argent-home-search button,
  body.argent-color-mode-auto .argent-home-search .argent-search-clear-button {
    color: #071923;
    background: #8fc7ff;
  }
}

.argent-home-search-note {
  margin-top: 14px;
  color: var(--amphora-local-muted-ink);
  font-size: 0.9rem;
}

.argent-home-gateways,
.argent-home-intro,
.argent-search-lanes {
  padding: clamp(22px, 3vw, 34px);
}

.argent-section-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 18px;
}

.argent-section-heading h2,
.argent-home-intro h2,
.argent-search-lanes h2 {
  margin: 0;
  color: var(--amphora-local-ink);
  font-size: clamp(1.35rem, 2.2vw, 2rem);
  line-height: 1.08;
}

.argent-gateway-grid,
.argent-search-lane-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.argent-gateway-card,
.argent-search-lane-card {
  display: block;
  min-block-size: 132px;
  padding: 20px;
  color: var(--amphora-local-ink);
  background: var(--amphora-local-panel-surface);
  border: 1px solid var(--amphora-local-line);
  border-radius: 14px;
  text-decoration: none;
  transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.argent-gateway-card:hover,
.argent-gateway-card:focus-visible,
.argent-search-lane-card:hover {
  transform: translateY(-2px);
  border-color: color-mix(in srgb, var(--amphora-local-accent) 55%, var(--amphora-local-line));
  box-shadow: 0 12px 26px rgba(12, 32, 48, 0.10);
}

.argent-gateway-label,
.argent-search-lane-card h3 {
  display: block;
  margin: 0 0 9px;
  color: var(--amphora-local-ink);
  font-size: 1.1rem;
  font-weight: 800;
}

.argent-gateway-description,
.argent-search-lane-card p,
.argent-home-intro p {
  margin: 0;
  color: var(--amphora-local-muted-ink);
  font-size: 0.96rem;
  line-height: 1.45;
}

.argent-home-intro {
  display: grid;
  grid-template-columns: minmax(0, 0.78fr) minmax(0, 1fr);
  gap: clamp(22px, 4vw, 46px);
  align-items: center;
}

.argent-search-lane-card a,
.argent-search-pending {
  display: inline-flex;
  margin-top: 16px;
  color: var(--amphora-local-accent);
  font-weight: 800;
  text-decoration: none;
}

.argent-search-pending {
  color: var(--amphora-local-muted-ink);
}

@media (max-width: 820px) {
  .argent-home-search {
    grid-template-columns: 1fr;
  }

  .argent-home-search button,
  .argent-home-search .argent-search-clear-button {
    min-block-size: 48px;
  }

  .argent-section-heading,
  .argent-home-intro {
    display: block;
  }

  .argent-gateway-grid,
  .argent-search-lane-grid {
    grid-template-columns: 1fr;
  }
}


/* -------------------------------------------------------------------------
 * Local home/search rail correction 0.2.1.
 *
 * The Amphora adapter stylesheet loads after the child theme and deliberately
 * normalizes `.site-main` for governed pagecache artifacts.  Local WP-owned
 * home/search pages are also `.site-main`, so they need a higher-specificity
 * local rail declaration loaded after adapter CSS.  Keep these pages in the
 * same centered visual rail as the header/cartouche and governed artifacts.
 * ---------------------------------------------------------------------- */
body.argent-local-home .argent-home-main,
body.argent-local-search .argent-search-main {
  width: min(var(--amphora-local-page-width, 1160px), calc(100vw - (2 * var(--amphora-local-edge-air, 20px)))) !important;
  max-width: min(var(--amphora-local-page-width, 1160px), calc(100vw - (2 * var(--amphora-local-edge-air, 20px)))) !important;
  margin: var(--amphora-local-card-top-gap, 18px) auto var(--amphora-local-bottom-air, 44px) !important;
  padding: 0 !important;
  background: transparent !important;
  box-sizing: border-box !important;
}

body.argent-local-home .argent-home-card,
body.argent-local-search .argent-home-card {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

body.argent-local-home .argent-section-heading,
body.argent-local-search .argent-section-heading {
  display: block !important;
  margin-bottom: 18px !important;
}

body.argent-local-home .argent-section-heading .argent-home-kicker,
body.argent-local-search .argent-section-heading .argent-home-kicker {
  margin-bottom: 8px !important;
}

body.argent-local-home .argent-section-heading h2,
body.argent-local-search .argent-section-heading h2 {
  max-width: 760px !important;
}

body.argent-local-home .argent-home-hero,
body.argent-local-search .argent-search-hero {
  min-height: auto !important;
}

@media (max-width: 760px) {
  body.argent-local-home .argent-home-main,
  body.argent-local-search .argent-search-main {
    width: min(100%, calc(100vw - (2 * var(--amphora-local-edge-air, 20px)))) !important;
    max-width: min(100%, calc(100vw - (2 * var(--amphora-local-edge-air, 20px)))) !important;
  }
}


/* -------------------------------------------------------------------------
 * Local home/search rail hardening 0.2.2.
 *
 * Keep ordinary governed artifacts under the adapter chassis, but make local
 * WP-owned home/search pages use the same centered visible rail.  This block
 * is intentionally scoped to local pages only and is printed after the
 * adapter artifact CSS through the stylesheet dependency in functions.php.
 * ---------------------------------------------------------------------- */
body.argent-local-home :is(.site-content, .site-content > .ast-container, .content-area),
body.argent-local-search :is(.site-content, .site-content > .ast-container, .content-area) {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  background: transparent !important;
  box-sizing: border-box !important;
}

body.argent-local-home #primary.site-main.argent-home-main,
body.argent-local-search #primary.site-main.argent-search-main {
  display: block !important;
  inline-size: min(var(--amphora-local-page-width, 1160px), calc(100vw - (2 * var(--amphora-local-edge-air, 20px)))) !important;
  width: min(var(--amphora-local-page-width, 1160px), calc(100vw - (2 * var(--amphora-local-edge-air, 20px)))) !important;
  max-inline-size: min(var(--amphora-local-page-width, 1160px), calc(100vw - (2 * var(--amphora-local-edge-air, 20px)))) !important;
  max-width: min(var(--amphora-local-page-width, 1160px), calc(100vw - (2 * var(--amphora-local-edge-air, 20px)))) !important;
  margin: var(--amphora-local-card-top-gap, 18px) auto var(--amphora-local-bottom-air, 44px) !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

body.argent-local-home #primary.argent-home-main > .argent-home-card,
body.argent-local-search #primary.argent-search-main > .argent-home-card {
  inline-size: 100% !important;
  width: 100% !important;
  max-inline-size: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
}

body.argent-local-home #primary.argent-home-main > .argent-home-card:first-child,
body.argent-local-search #primary.argent-search-main > .argent-home-card:first-child {
  margin-top: 0 !important;
}

body.argent-local-home .argent-section-heading,
body.argent-local-search .argent-section-heading {
  display: block !important;
}


/* -------------------------------------------------------------------------
 * Local home/search unified card and governed footer integration 0.2.3.
 *
 * The home page now reads like the other Amphora pages: one visible off-white
 * card containing search, gateway links, and the governed publisher footer.
 * Other ordinary WP pages continue to receive the adapter's governed global
 * footer through wp_footer; this local block only styles home/search inline
 * footers and preserves the centered rail.
 * ---------------------------------------------------------------------- */
body.argent-local-home #primary.argent-home-main > .argent-home-unified,
body.argent-local-search #primary.argent-search-main > .argent-search-unified {
  display: block !important;
  inline-size: 100% !important;
  max-inline-size: 100% !important;
  overflow: hidden !important;
  background: var(--amphora-local-card-surface) !important;
  border: 1px solid var(--amphora-local-line) !important;
  border-radius: var(--amphora-card-radius, 16px) !important;
  box-shadow: 0 18px 42px rgba(12, 32, 48, 0.13) !important;
}

body.argent-local-home .argent-home-unified > .argent-home-hero,
body.argent-local-search .argent-search-unified > .argent-search-hero {
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body.argent-local-home .argent-home-unified > .argent-home-gateways,
body.argent-local-search .argent-search-unified > .argent-search-lanes {
  border-top: 1px solid var(--amphora-local-line) !important;
}

body.argent-local-home #primary.argent-home-main > .argent-home-card + .argent-home-card,
body.argent-local-search #primary.argent-search-main > .argent-home-card + .argent-home-card {
  margin-top: 0 !important;
}


/* -------------------------------------------------------------------------
 * Local ordinary WP page card/footer correction 0.2.5.
 *
 * Ordinary WP-owned pages such as About/Contact are not governed pagecache
 * artifacts, but they should still participate in the same local site rail and
 * carry the governed publisher footer inside a coherent off-white card.  Keep
 * this scoped away from pagecache routes and local home/search templates.
 * ---------------------------------------------------------------------- */

body.argent-local-branding.argent-local-ordinary #primary.site-main {
  display: block !important;
  inline-size: min(var(--amphora-local-page-width, 1160px), calc(100vw - (2 * var(--amphora-local-edge-air, 20px)))) !important;
  width: min(var(--amphora-local-page-width, 1160px), calc(100vw - (2 * var(--amphora-local-edge-air, 20px)))) !important;
  max-inline-size: min(var(--amphora-local-page-width, 1160px), calc(100vw - (2 * var(--amphora-local-edge-air, 20px)))) !important;
  max-width: min(var(--amphora-local-page-width, 1160px), calc(100vw - (2 * var(--amphora-local-edge-air, 20px)))) !important;
  margin: var(--amphora-local-card-top-gap, 18px) auto var(--amphora-local-bottom-air, 44px) !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

body.argent-local-branding.argent-local-ordinary #primary.site-main > .ast-article-single,
body.argent-local-branding.argent-local-ordinary #primary.site-main > article {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--amphora-local-ink) !important;
  background: var(--amphora-local-card-surface) !important;
  border: 1px solid var(--amphora-local-line) !important;
  border-radius: var(--amphora-card-radius, 16px) !important;
  box-shadow: 0 18px 42px rgba(12, 32, 48, 0.13) !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

body.argent-local-branding.argent-local-ordinary #primary.site-main > article :is(.entry-header, .entry-content) {
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

body.argent-local-branding.argent-local-ordinary #primary.site-main > article .entry-title {
  margin: 0 !important;
  padding: clamp(26px, 4vw, 44px) clamp(28px, 5vw, 58px) 0 !important;
  color: var(--amphora-local-ink) !important;
  font-size: clamp(1.7rem, 3vw, 2.65rem) !important;
  line-height: 1.08 !important;
}

body.argent-local-branding.argent-local-ordinary #primary.site-main > article .entry-content > :not(.argent-local-governed-footer) {
  margin-left: clamp(28px, 5vw, 58px) !important;
  margin-right: clamp(28px, 5vw, 58px) !important;
}

body.argent-local-branding.argent-local-ordinary #primary.site-main > article .entry-content > :first-child:not(.argent-local-governed-footer) {
  margin-top: clamp(20px, 2.6vw, 32px) !important;
}

body.argent-local-branding.argent-local-ordinary #primary.site-main > article .entry-content > :last-child:not(.argent-local-governed-footer) {
  margin-bottom: clamp(24px, 3.2vw, 42px) !important;
}

/* Logo tuning 0.2.5: a little larger than the original text mark, but able to
 * shrink enough to avoid forcing the last menu item onto a second row.
 */
body.argent-local-branding .main-header-bar-navigation,
body.argent-local-branding .main-header-menu,
body.argent-local-branding .main-header-menu > .menu-item {
  flex-wrap: nowrap;
}

@media (max-width: 980px) {
  body.argent-local-branding .main-header-menu .menu-link {
    padding-left: 0.62em;
    padding-right: 0.62em;
  }
}

/* -------------------------------------------------------------------------
 * Local ordinary WP page template/card correction 0.2.6.
 *
 * The Astra parent page template can allow ordinary page titles/content to
 * escape the visible rail after the adapter normalizes the site chassis.  The
 * local child page.php renders pages in `.argent-ordinary-main`; this block
 * gives those local WP pages the same single-card treatment as home/search and
 * keeps the governed footer attached inside the card.
 * ---------------------------------------------------------------------- */
body.argent-local-branding.argent-local-ordinary :is(.site-content, .site-content > .ast-container, .content-area) {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  background: transparent !important;
  box-sizing: border-box !important;
}

body.argent-local-branding.argent-local-ordinary #primary.site-main.argent-ordinary-main {
  display: block !important;
  inline-size: min(var(--amphora-local-page-width, 1160px), calc(100vw - (2 * var(--amphora-local-edge-air, 20px)))) !important;
  width: min(var(--amphora-local-page-width, 1160px), calc(100vw - (2 * var(--amphora-local-edge-air, 20px)))) !important;
  max-inline-size: min(var(--amphora-local-page-width, 1160px), calc(100vw - (2 * var(--amphora-local-edge-air, 20px)))) !important;
  max-width: min(var(--amphora-local-page-width, 1160px), calc(100vw - (2 * var(--amphora-local-edge-air, 20px)))) !important;
  margin: var(--amphora-local-card-top-gap, 18px) auto var(--amphora-local-bottom-air, 44px) !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

body.argent-local-branding.argent-local-ordinary .argent-ordinary-card {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--amphora-local-ink) !important;
  background: var(--amphora-local-card-surface) !important;
  border: 1px solid var(--amphora-local-line) !important;
  border-radius: var(--amphora-card-radius, 16px) !important;
  box-shadow: 0 18px 42px rgba(12, 32, 48, 0.13) !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

body.argent-local-branding.argent-local-ordinary .argent-ordinary-header {
  padding: clamp(26px, 4vw, 44px) clamp(28px, 5vw, 58px) 0 !important;
  background: transparent !important;
}

body.argent-local-branding.argent-local-ordinary .argent-ordinary-header .entry-title {
  margin: 0 !important;
  color: var(--amphora-local-ink) !important;
  font-size: clamp(1.7rem, 3vw, 2.65rem) !important;
  line-height: 1.08 !important;
}

body.argent-local-branding.argent-local-ordinary .argent-ordinary-content {
  padding: 0 !important;
  background: transparent !important;
}

body.argent-local-branding.argent-local-ordinary .argent-ordinary-content > :not(.argent-local-governed-footer) {
  margin-left: clamp(28px, 5vw, 58px) !important;
  margin-right: clamp(28px, 5vw, 58px) !important;
}

body.argent-local-branding.argent-local-ordinary .argent-ordinary-content > :first-child:not(.argent-local-governed-footer) {
  margin-top: clamp(20px, 2.6vw, 32px) !important;
}

body.argent-local-branding.argent-local-ordinary .argent-ordinary-content > :last-child:not(.argent-local-governed-footer) {
  margin-bottom: clamp(24px, 3.2vw, 42px) !important;
}

/* Logo/menu balance 0.2.6.
 * Keep the custom logo larger than the initial demo, but reduce enough and
 * tighten menu spacing enough to avoid forcing Blog onto a second row.
 */
:root {
  --argent-local-header-logo-width: clamp(214px, 20vw, 292px);
  --argent-local-header-logo-max-height: 58px;
}

body.argent-local-branding .site-title a.argent-brand-logo-link {
  inline-size: min(var(--argent-local-header-logo-width), 40vw);
}

body.argent-local-branding :is(.main-header-bar-navigation, .main-navigation, .main-header-menu, .main-header-menu > .menu-item) {
  flex-wrap: nowrap !important;
  white-space: nowrap !important;
}

body.argent-local-branding .main-header-menu .menu-link {
  padding-left: 0.62em !important;
  padding-right: 0.62em !important;
  font-size: clamp(0.86rem, 0.95vw, 0.96rem) !important;
}

@media (max-width: 980px) {
  :root {
    --argent-local-header-logo-width: clamp(176px, 30vw, 230px);
    --argent-local-header-logo-max-height: 50px;
  }

  body.argent-local-branding .main-header-menu .menu-link {
    padding-left: 0.48em !important;
    padding-right: 0.48em !important;
    font-size: 0.86rem !important;
  }
}

/* -------------------------------------------------------------------------
 * Local blog index card/footer correction 0.2.7.
 *
 * The WordPress posts index does not render through ordinary page content, so
 * the 0.2.6 page.php footer path does not apply.  Render the blog index as a
 * local WP-owned card and attach the governed publisher footer inside it.
 * ---------------------------------------------------------------------- */
body.argent-local-branding :is(.site-content, .site-content > .ast-container, .content-area):has(.argent-blog-main) {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  background: transparent !important;
  box-sizing: border-box !important;
}

body.argent-local-branding #primary.site-main.argent-blog-main {
  display: block !important;
  inline-size: min(var(--amphora-local-page-width, 1160px), calc(100vw - (2 * var(--amphora-local-edge-air, 20px)))) !important;
  width: min(var(--amphora-local-page-width, 1160px), calc(100vw - (2 * var(--amphora-local-edge-air, 20px)))) !important;
  max-inline-size: min(var(--amphora-local-page-width, 1160px), calc(100vw - (2 * var(--amphora-local-edge-air, 20px)))) !important;
  max-width: min(var(--amphora-local-page-width, 1160px), calc(100vw - (2 * var(--amphora-local-edge-air, 20px)))) !important;
  margin: var(--amphora-local-card-top-gap, 18px) auto var(--amphora-local-bottom-air, 44px) !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

.argent-blog-card {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--amphora-local-ink) !important;
  background: var(--amphora-local-card-surface) !important;
  border: 1px solid var(--amphora-local-line) !important;
  border-radius: var(--amphora-card-radius, 16px) !important;
  box-shadow: 0 18px 42px rgba(12, 32, 48, 0.13) !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

.argent-blog-header {
  padding: clamp(26px, 4vw, 44px) clamp(28px, 5vw, 58px) 0 !important;
}

.argent-blog-header h1 {
  margin: 0 !important;
  color: var(--amphora-local-ink) !important;
  font-size: clamp(1.7rem, 3vw, 2.65rem) !important;
  line-height: 1.08 !important;
}

.argent-blog-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: clamp(18px, 3vw, 32px) !important;
  padding: clamp(24px, 4vw, 42px) clamp(28px, 5vw, 58px) clamp(30px, 4.4vw, 48px) !important;
}

.argent-blog-item {
  display: block !important;
  min-height: 260px !important;
  padding: clamp(18px, 2.4vw, 26px) !important;
  background: var(--amphora-local-panel-surface) !important;
  border: 1px solid var(--amphora-local-line) !important;
  border-radius: 12px !important;
  box-shadow: 0 10px 24px rgba(12, 32, 48, 0.06) !important;
}

.argent-blog-meta-top,
.argent-blog-meta {
  margin: 0 0 12px !important;
  color: var(--amphora-local-accent) !important;
  font-size: 0.86rem !important;
  font-weight: 800 !important;
}

.argent-blog-meta-top a,
.argent-blog-meta a,
.argent-blog-item-title a {
  color: var(--amphora-local-accent) !important;
  text-decoration: none !important;
}

.argent-blog-item-title {
  margin: 0 0 10px !important;
  color: var(--amphora-local-ink) !important;
  font-size: clamp(1.1rem, 1.7vw, 1.45rem) !important;
  line-height: 1.18 !important;
}

.argent-blog-item-title a {
  color: var(--amphora-local-ink) !important;
}

.argent-blog-excerpt,
.argent-blog-excerpt p,
.argent-blog-empty {
  color: var(--amphora-local-ink) !important;
  font-size: 0.98rem !important;
  line-height: 1.55 !important;
}

.argent-blog-excerpt p:last-child {
  margin-bottom: 0 !important;
}

.argent-blog-empty {
  padding: clamp(24px, 4vw, 42px) clamp(28px, 5vw, 58px) !important;
}

@media (max-width: 900px) {
  .argent-blog-grid {
    grid-template-columns: 1fr !important;
  }
}

/* -------------------------------------------------------------------------
 * Local readable rail alignment 0.2.9.
 *
 * The 0.2.8 local demo site used several different horizontal insets inside
 * the same visible card: home/search hero copy, gateway/lane sections, blog
 * cards, ordinary page copy, and embedded governed footers did not always sit
 * on the same readable rail.  This pass defines one customer-site readable
 * inset and applies it only to local WP-owned pages.  Governed pagecache
 * listing/complex/gallery/footer mechanics remain owned by Amphora/Schemas and
 * are intentionally not restyled here.
 * ---------------------------------------------------------------------- */
:root {
  --amphora-local-readable-inset: clamp(28px, 5vw, 58px);
  --amphora-local-readable-inset-mobile: clamp(22px, 5.5vw, 34px);
}

body.argent-local-home .argent-home-unified > :is(.argent-home-hero, .argent-home-gateways),
body.argent-local-search .argent-search-unified > :is(.argent-search-hero, .argent-search-lanes) {
  padding-left: var(--amphora-local-readable-inset) !important;
  padding-right: var(--amphora-local-readable-inset) !important;
  box-sizing: border-box !important;
}

body.argent-local-home .argent-home-unified > .argent-home-hero,
body.argent-local-search .argent-search-unified > .argent-search-hero {
  padding-top: clamp(32px, 5vw, 62px) !important;
  padding-bottom: clamp(32px, 5vw, 62px) !important;
}

body.argent-local-home .argent-home-unified > .argent-home-gateways,
body.argent-local-search .argent-search-unified > .argent-search-lanes {
  padding-top: clamp(24px, 3vw, 36px) !important;
  padding-bottom: clamp(28px, 3.8vw, 46px) !important;
}

body.argent-local-branding.argent-local-ordinary .argent-ordinary-header,
body.argent-local-branding .argent-blog-header,
body.argent-local-branding .argent-blog-grid,
body.argent-local-branding .argent-blog-empty {
  padding-left: var(--amphora-local-readable-inset) !important;
  padding-right: var(--amphora-local-readable-inset) !important;
  box-sizing: border-box !important;
}

body.argent-local-branding.argent-local-ordinary .argent-ordinary-content > :not(.argent-local-governed-footer) {
  margin-left: var(--amphora-local-readable-inset) !important;
  margin-right: var(--amphora-local-readable-inset) !important;
}

@media (max-width: 680px) {
  body.argent-local-home .argent-home-unified > :is(.argent-home-hero, .argent-home-gateways),
  body.argent-local-search .argent-search-unified > :is(.argent-search-hero, .argent-search-lanes),
  body.argent-local-branding.argent-local-ordinary .argent-ordinary-header,
  body.argent-local-branding .argent-blog-header,
  body.argent-local-branding .argent-blog-grid,
  body.argent-local-branding .argent-blog-empty {
    padding-left: var(--amphora-local-readable-inset-mobile) !important;
    padding-right: var(--amphora-local-readable-inset-mobile) !important;
  }

  body.argent-local-branding.argent-local-ordinary .argent-ordinary-content > :not(.argent-local-governed-footer) {
    margin-left: var(--amphora-local-readable-inset-mobile) !important;
    margin-right: var(--amphora-local-readable-inset-mobile) !important;
  }
}


/* -------------------------------------------------------------------------
 * Local ordinary WP readable rail correction 0.2.10.
 * -------------------------------------------------------------------------
 * About/Contact and other ordinary WP-owned pages should participate in the
 * same readable rail rhythm as governed artifacts, but the 0.2.9 local pass
 * used the wider home/search marketing inset for ordinary page title/content.
 * That made page titles and prose feel detached from the card/footer rail.
 * Keep the local WP card and governed footer, but make ordinary pages use the
 * same compact site-inner rail as governed pagecache pages.
 */
body.argent-local-branding.argent-local-ordinary {
  --amphora-local-ordinary-readable-inset: var(--amphora-site-inner-pad, clamp(18px, 3vw, 34px));
}

body.argent-local-branding.argent-local-ordinary .argent-ordinary-header {
  padding-top: clamp(24px, 3.4vw, 42px) !important;
}

body.argent-local-branding.argent-local-ordinary .argent-ordinary-content > :first-child:not(.argent-local-governed-footer) {
  margin-top: clamp(16px, 2.2vw, 28px) !important;
}

body.argent-local-branding.argent-local-ordinary .argent-ordinary-content > :last-child:not(.argent-local-governed-footer) {
  margin-bottom: clamp(22px, 3vw, 38px) !important;
}


@media (max-width: 680px) {
  body.argent-local-branding.argent-local-ordinary {
    --amphora-local-ordinary-readable-inset: var(--amphora-local-readable-inset-mobile, clamp(22px, 5.5vw, 34px));
  }
}


/* -------------------------------------------------------------------------
 * Local ordinary WP title rail/top de-duplication 0.2.11.
 * -------------------------------------------------------------------------
 * The ordinary page header already owns the readable rail and vertical lead-in.
 * A surviving legacy `.entry-title` rule also supplied its own padding, which
 * made About/Contact titles look like they were floating inside a second,
 * invisible title box.  Reset title padding inside the local ordinary-page
 * header only; leave home/search/blog and governed pagecache artifacts alone.
 */
body.argent-local-branding.argent-local-ordinary .argent-ordinary-header .entry-title,
body.argent-local-branding.argent-local-ordinary #primary.site-main.argent-ordinary-main > article .argent-ordinary-header .entry-title {
  margin: 0 !important;
  padding: 0 !important;
  max-width: none !important;
  box-sizing: border-box !important;
}


/* -------------------------------------------------------------------------
 * Local ordinary WP stylesheet cache/version synchronization 0.2.12.
 * -------------------------------------------------------------------------
 * This release pairs the ordinary-page rail corrections with a matching
 * functions.php version bump so WordPress serves style.css with a fresh cache
 * key.  No additional layout rule is needed here; the active ordinary-page
 * rail owner remains the 0.2.10/0.2.11 correction above.
 */


/* -------------------------------------------------------------------------
 * Local ordinary WP final readable rail tightening 0.2.13.
 * -------------------------------------------------------------------------
 * The ordinary page footer row already exposes the intended readable rail.
 * The 0.2.12 rules still allowed ordinary body paragraphs to resolve through
 * the wider marketing-page inset on some pages, leaving About/Contact prose
 * slightly inside the title/footer rail.  Pin ordinary page prose and footer
 * padding to the compact local ordinary rail directly, independent of the
 * broader home/search marketing inset.
 */

body.argent-local-branding.argent-local-ordinary .argent-ordinary-header,
body.argent-local-branding.argent-local-ordinary .argent-ordinary-content > :not(.argent-local-governed-footer){
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
}

body.argent-local-branding.argent-local-ordinary .argent-ordinary-content > :not(.argent-local-governed-footer) {
  width: 100% !important;
  max-width: 100% !important;
}

body.argent-local-branding.argent-local-ordinary .argent-ordinary-content > :first-child:not(.argent-local-governed-footer) {
  margin-top: clamp(12px, 1.8vw, 22px) !important;
}



/* -------------------------------------------------------------------------
 * Local ordinary WP rail correction and contact-title/menu split 0.2.14.
 * -------------------------------------------------------------------------
 * 0.2.13 pinned prose by adding padding to the prose leaves, which moved the
 * visible text to the right of the ordinary-page title rail.  The ordinary
 * readable rail should be owned as leaf margins, not leaf padding: title,
 * prose, and footer content all resolve to the same content edge while the
 * full footer band remains card-width.
 */
body.argent-local-branding.argent-local-ordinary {
  --amphora-local-ordinary-readable-inset: clamp(18px, 3vw, 34px) !important;
}

body.argent-local-branding.argent-local-ordinary .argent-ordinary-header {
  padding-left: var(--amphora-local-ordinary-readable-inset) !important;
  padding-right: var(--amphora-local-ordinary-readable-inset) !important;
  box-sizing: border-box !important;
}

body.argent-local-branding.argent-local-ordinary .argent-ordinary-content > :not(.argent-local-governed-footer) {
  width: auto !important;
  max-width: none !important;
  margin-left: var(--amphora-local-ordinary-readable-inset) !important;
  margin-right: var(--amphora-local-ordinary-readable-inset) !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}

@media (max-width: 680px) {
  body.argent-local-branding.argent-local-ordinary {
    --amphora-local-ordinary-readable-inset: clamp(18px, 5vw, 30px) !important;
  }
}


/* -------------------------------------------------------------------------
 * Local ordinary WP final notch correction 0.2.15.
 * -------------------------------------------------------------------------
 * About/Contact ordinary-page prose still matched older local readable-margin
 * rules and resolved to the wider 58px prose rail.  The ordinary page title
 * and governed footer row already resolve through the Amphora site inner pad.
 * Pin the ordinary prose leaves to that same rail directly so title, prose,
 * and footer content share the same left and right edge.
 */
body.argent-local-branding.argent-local-ordinary #primary.site-main.argent-ordinary-main > article.argent-ordinary-card .argent-ordinary-content > :not(.argent-local-governed-footer),
body.argent-local-branding.argent-local-ordinary #primary.site-main.argent-ordinary-main > article .argent-ordinary-content > :not(.argent-local-governed-footer) {
  width: auto !important;
  max-width: none !important;
  margin-left: var(--amphora-site-inner-pad, clamp(18px, 3vw, 34px)) !important;
  margin-right: var(--amphora-site-inner-pad, clamp(18px, 3vw, 34px)) !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}

body.argent-local-branding.argent-local-ordinary #primary.site-main.argent-ordinary-main > article.argent-ordinary-card .argent-ordinary-content > :first-child:not(.argent-local-governed-footer),
body.argent-local-branding.argent-local-ordinary #primary.site-main.argent-ordinary-main > article .argent-ordinary-content > :first-child:not(.argent-local-governed-footer) {
  margin-top: clamp(16px, 2.2vw, 28px) !important;
}


/* -------------------------------------------------------------------------
 * Local menu weight normalization 0.2.16.
 *
 * Keep locally owned WordPress/Astra navigation labels optically consistent
 * after the Contact page title/display-title split.  This does not alter
 * governed pagecache artifact controls or content.
 * ---------------------------------------------------------------------- */

/* Argent local chrome text-logo suppression 0.2.43.
   In logo modes, keep the pre-script text title invisible and non-animating
   while the head-loaded branding script replaces it with the SVG logo. */
html body.argent-local-branding:is(.argent-brand-mode-logo, .argent-brand-mode-logo_and_text) #masthead .site-title a,
html body.argent-local-branding:is(.argent-brand-mode-logo, .argent-brand-mode-logo_and_text) #masthead .site-title a.argent-brand-logo-link,
html body.argent-local-branding:is(.argent-brand-mode-logo, .argent-brand-mode-logo_and_text) #masthead .argent-brand-logo-svg {
  transition: none !important;
  animation: none !important;
}

html body.argent-local-branding:is(.argent-brand-mode-logo, .argent-brand-mode-logo_and_text) #masthead .site-title a:not(.argent-brand-logo-link) {
  opacity: 0 !important;
}

html body.argent-local-branding:is(.argent-brand-mode-logo, .argent-brand-mode-logo_and_text) #masthead .site-title a.argent-brand-logo-link {
  opacity: 1 !important;
}

body.argent-local-branding .main-header-menu .menu-link,
body.argent-local-branding .main-header-menu .menu-link:visited,
body.argent-local-branding .main-header-menu .current-menu-item > .menu-link,
body.argent-local-branding .main-header-menu .current_page_item > .menu-link {
  font-weight: 700;
}

/* -------------------------------------------------------------------------
 * Local home/search typography and rail parity 0.2.17.
 * -------------------------------------------------------------------------
 * The local home/search gateway is customer-site presentation, but it should
 * read as part of the same visual system as governed pagecache artifacts.  The
 * prior home page kept a display-serif hero headline and a wider marketing
 * inset than the governed footer/header rail.  This pass keeps the home/search
 * card structure intact while normalizing the readable rail, typography scale,
 * and search/explore measures to the site artifact rhythm.
 * ---------------------------------------------------------------------- */
body.argent-local-home,
body.argent-local-search {
  --amphora-local-home-readable-inset: var(--amphora-site-inner-pad, clamp(18px, 3vw, 34px));
}

body.argent-local-home .argent-home-unified > :is(.argent-home-hero, .argent-home-gateways),
body.argent-local-search .argent-search-unified > :is(.argent-search-hero, .argent-search-lanes) {
  padding-left: var(--amphora-local-home-readable-inset) !important;
  padding-right: var(--amphora-local-home-readable-inset) !important;
}

body.argent-local-home .argent-home-hero h1,
body.argent-local-search .argent-search-hero h1 {
  max-inline-size: min(100%, 940px) !important;
  color: var(--amphora-local-ink) !important;
  font-family: inherit !important;
  font-size: clamp(2.05rem, 3.85vw, 3.45rem) !important;
  font-weight: 800 !important;
  line-height: 1.08 !important;
  letter-spacing: -0.035em !important;
}

body.argent-local-home .argent-home-kicker,
body.argent-local-search .argent-home-kicker {
  font-size: clamp(0.72rem, 0.88vw, 0.82rem) !important;
  letter-spacing: 0.12em !important;
}

body.argent-local-home .argent-home-lede,
body.argent-local-search .argent-search-status {
  max-inline-size: min(100%, 940px) !important;
  color: var(--amphora-local-muted-ink) !important;
  font-size: clamp(1rem, 1.2vw, 1.12rem) !important;
  line-height: 1.5 !important;
}

body.argent-local-home .argent-home-search,
body.argent-local-search .argent-home-search {
  max-inline-size: min(100%, 980px) !important;
}

body.argent-local-home .argent-section-heading h2,
body.argent-local-search .argent-section-heading h2,
body.argent-local-home .argent-home-intro h2,
body.argent-local-search .argent-search-lanes h2 {
  max-inline-size: min(100%, 940px) !important;
  color: var(--amphora-local-ink) !important;
  font-family: inherit !important;
  font-size: clamp(1.55rem, 2.2vw, 2.25rem) !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  letter-spacing: -0.025em !important;
}

body.argent-local-home .argent-gateway-label,
body.argent-local-search .argent-search-lane-card h3 {
  font-size: clamp(1rem, 1.2vw, 1.12rem) !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
}

body.argent-local-home .argent-gateway-description,
body.argent-local-search .argent-search-lane-card p,
body.argent-local-home .argent-home-intro p {
  font-size: clamp(0.95rem, 1vw, 1.02rem) !important;
  line-height: 1.48 !important;
}

body.argent-local-home .argent-home-gateways,
body.argent-local-search .argent-search-lanes {
  padding-top: clamp(22px, 2.6vw, 34px) !important;
  padding-bottom: clamp(28px, 3.2vw, 42px) !important;
}

@media (max-width: 680px) {
  body.argent-local-home,
  body.argent-local-search {
    --amphora-local-home-readable-inset: var(--amphora-local-readable-inset-mobile, clamp(18px, 5vw, 30px));
  }

  body.argent-local-home .argent-home-hero h1,
  body.argent-local-search .argent-search-hero h1 {
    font-size: clamp(2rem, 9vw, 2.65rem) !important;
    line-height: 1.05 !important;
  }
}



html body.argent-local-branding {
  /* Borderless listing data-section alignment/rhythm 1.1.90.  Property
   * Details and Disclosures are textual facts sections, not bordered mini-cards;
   * their content starts on the common content rail with one shared vertical
   * rhythm for section headings and key/value blocks.
   */
  --argent-data-section-borderless-padding-block: 0px;
  --argent-data-section-borderless-padding-inline: 0px;
  --argent-data-section-borderless-row-gap: clamp(2px, 0.24vw, 5px);
  --argent-data-section-borderless-column-gap: var(--argent-data-section-column-gap, clamp(28px, 5vw, 92px));
  --argent-data-section-borderless-heading-gap: clamp(6px, 0.55vw, 10px);
  --argent-data-section-borderless-section-gap: clamp(14px, 0.95vw, 22px);
  --argent-data-section-borderless-first-heading-offset: clamp(8px, 0.55vw, 12px);
  --argent-data-section-borderless-contact-gap: clamp(20px, 1.35vw, 32px);

  /* Listing detail section/prose rhythm 1.1.91.  Features, Property Details,
   * Disclosures, and Contact headings share the Amenities & Features visual
   * role.  Prose paragraphs use one compact paragraph-gap token rather than
   * carrying browser/theme-default vertical margins.
   */
  --argent-listing-section-heading-size: var(--argent-estate-section-title-size, clamp(1.75rem, 1.9vw, 2.20rem));
  --argent-listing-section-heading-line: var(--argent-estate-section-title-line, 1.08);
  --argent-listing-section-heading-weight: var(--argent-estate-page-title-weight, 700);
  --argent-listing-section-heading-tracking: var(--argent-estate-section-title-tracking, 0.012em);
  --argent-listing-section-heading-color: var(--argent-page-title-color, var(--argent-local-warm-accent, #8A4A2A));
  --argent-listing-section-heading-content-gap: clamp(7px, 0.62vw, 12px);
  --argent-listing-section-gap: clamp(20px, 1.45vw, 34px);
  --argent-listing-section-inner-gap: clamp(16px, 1.05vw, 24px);
  --argent-prose-paragraph-gap: clamp(0.72rem, 0.68vw, 0.96rem);

  /* Listing prose column probe 1.1.92.  Long listing narrative panels may
   * switch to two columns on desktop only.  The trigger is structural, not a
   * page-specific override: only localized prose panels with several paragraph
   * children opt into the column layout.
   */
  --argent-prose-column-gap: clamp(2.15rem, 4vw, 4.25rem);
  --argent-prose-column-rule: 0 solid transparent;
  --argent-prose-column-min-width: 28rem;

  /* Listing prose section-column contract 1.1.93.  The theme upgrades long
   * prose into explicit heading+body section groups, then splits those groups
   * into ordered columns so headings do not strand near a column bottom.
   */
  --argent-prose-column-row-gap: clamp(1.20rem, 1.35vw, 1.85rem);
  --argent-prose-subhead-size: clamp(1.18rem, 1.35vw, 1.48rem);
  --argent-prose-subhead-line: 1.16;
  --argent-prose-subhead-weight: 760;
  --argent-prose-subhead-tracking: 0.002em;
  --argent-prose-subhead-color: var(--argent-listing-section-heading-color, var(--argent-page-title-color, #8A4A2A));
  --argent-prose-subhead-content-gap: clamp(0.45rem, 0.55vw, 0.70rem);
}

/* Argent typography governance contract 1.4.4.
 *
 * Argent owns vessel presentation across native WordPress/editorial surfaces.
 * Schemas remains authoritative for content and Amphora remains authoritative
 * for governed artifact rendering. These tokens provide a stable visual
 * language without imposing Astra-specific presentation inside Amphora core.
 */
body.argent-local-branding {
  --argent-font-display:
    "Times New Roman",
    Times,
    serif;

  --argent-font-text:
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Roboto,
    Ubuntu,
    Cantarell,
    "Helvetica Neue",
    sans-serif;

  --argent-type-page-title-size:
    clamp(2.1rem, 3vw, 2.565rem);

  --argent-type-section-title-size:
    clamp(1.55rem, 2.15vw, 1.9rem);

  --argent-type-subsection-title-size:
    clamp(1.15rem, 1.45vw, 1.35rem);

  --argent-type-body-size: 1rem;
  --argent-type-lead-size: 1.0625rem;
  --argent-type-small-size: 0.9375rem;

  --argent-type-page-title-line: 1.06;
  --argent-type-section-title-line: 1.12;
  --argent-type-subsection-title-line: 1.2;
  --argent-type-body-line: 1.5;

  --argent-type-body-weight: 400;
  --argent-type-lead-weight: 500;
  --argent-type-strong-weight: 700;
  --argent-type-link-weight: 700;

  --argent-type-readable-measure: 72ch;
  --argent-type-narrow-measure: 62ch;

  --argent-type-paragraph-gap: 0.85rem;
  --argent-type-section-gap: clamp(1.5rem, 3vw, 2.25rem);
  --argent-type-subsection-gap: clamp(1.25rem, 2.2vw, 1.75rem);
}

/*
 * Native WordPress page-title adapter.
 *
 * The title sits outside .argent-ordinary-content in the Astra vessel, so it
 * receives the shared page-title token through the ordinary-page header.
 */
body.argent-local-branding.argent-local-ordinary
.argent-ordinary-header .entry-title {
  font-family: var(--argent-font-display) !important;
  font-size: var(--argent-type-page-title-size) !important;
  font-weight: 600 !important;
  line-height: var(--argent-type-page-title-line) !important;
  letter-spacing: -0.015em !important;
}

/*
 * Native WordPress/editorial content measure.
 *
 * Direct editorial children use a controlled reading width, while the attached
 * governed footer remains full-width inside the vessel.
 */
body.argent-local-branding.argent-local-ordinary
.argent-ordinary-content > :not(.argent-local-governed-footer) {
  width:
    min(
      calc(100% - 2 * clamp(28px, 5vw, 58px)),
      var(--argent-type-readable-measure)
    )
    !important;

  max-width: var(--argent-type-readable-measure) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/*
 * Editorial body copy.
 */
body.argent-local-branding.argent-local-ordinary
.argent-ordinary-content :is(p, li) {
  font-family: var(--argent-font-text) !important;
  font-size: var(--argent-type-body-size) !important;
  font-weight: var(--argent-type-body-weight) !important;
  line-height: var(--argent-type-body-line) !important;
}

/*
 * Lead paragraph.
 *
 * The first editorial paragraph receives restrained emphasis without becoming
 * a second heading or competing with the page title.
 */
body.argent-local-branding.argent-local-ordinary
.argent-ordinary-content > p:first-of-type {
  font-size: var(--argent-type-lead-size) !important;
  font-weight: var(--argent-type-lead-weight) !important;
  line-height: var(--argent-type-body-line) !important;
}

/*
 * Editorial section hierarchy.
 */
body.argent-local-branding.argent-local-ordinary
.argent-ordinary-content h2 {
  margin-top: var(--argent-type-section-gap) !important;
  margin-bottom: 0.55rem !important;

  font-family: var(--argent-font-display) !important;
  font-size: var(--argent-type-section-title-size) !important;
  font-weight: 700 !important;
  line-height: var(--argent-type-section-title-line) !important;
  letter-spacing: -0.012em !important;
}

body.argent-local-branding.argent-local-ordinary
.argent-ordinary-content h3 {
  margin-top: var(--argent-type-subsection-gap) !important;
  margin-bottom: 0.45rem !important;

  font-family: var(--argent-font-text) !important;
  font-size: var(--argent-type-subsection-title-size) !important;
  font-weight: 750 !important;
  line-height: var(--argent-type-subsection-title-line) !important;
  letter-spacing: -0.006em !important;
}

/*
 * Editorial rhythm and inline emphasis.
 */
body.argent-local-branding.argent-local-ordinary
.argent-ordinary-content p {
  margin-top: 0 !important;
  margin-bottom: var(--argent-type-paragraph-gap) !important;
}

body.argent-local-branding.argent-local-ordinary
.argent-ordinary-content :is(strong, b) {
  font-weight: var(--argent-type-strong-weight) !important;
}

body.argent-local-branding.argent-local-ordinary
.argent-ordinary-content a {
  font-weight: var(--argent-type-link-weight) !important;
}

body.argent-local-branding.argent-local-ordinary
.argent-ordinary-content :is(ul, ol) {
  margin-top: 0.5rem !important;
  margin-bottom: 1rem !important;
  padding-left: 1.4rem !important;
}

body.argent-local-branding.argent-local-ordinary
.argent-ordinary-content li + li {
  margin-top: 0.35rem !important;
}

/*
 * Small editorial text remains readable and uses the same font system.
 */
body.argent-local-branding.argent-local-ordinary
.argent-ordinary-content small {
  font-family: var(--argent-font-text) !important;
  font-size: var(--argent-type-small-size) !important;
  line-height: 1.45 !important;
}

/* Argent foundation footer tear-out 1.4.9.
 *
 * Direct governed-footer presentation and attachment selectors were removed
 * from the foundation layer. Foundation retains only low-level design tokens;
 * argent-10-chrome-footer.css owns footer geometry, attachment, typography,
 * marks, divider, and page-termination behavior.
 */

/* Argent 1.5.21 governed global link/action color authority. */

/*
 * Text links and governed action components share one action identity.
 * Profile accents remain available for headings, cartouches, and surfaces.
 */
html body.savvy-amphora-site-chassis.argent-local-branding {
  --amphora-local-link: #0b72d9 !important;
  --amphora-local-link-hover: #075fb8 !important;
  --argent-local-link:
    var(--amphora-local-link, #0b72d9) !important;
  --amphora-governed-action-foreground: #ffffff;
  --amphora-governed-action-weight: 900;
  --amphora-governed-action-radius: 999px;
}

html body.savvy-amphora-site-chassis.argent-local-branding
:is(
  main .argent-ordinary-content,
  main .pagecache-public-root,
  .savvy-pagecache-embed .pagecache-footer
)
a:not(
  .pagecache-action,
  .pagecache-action-button,
  .pagecache-document-action,
  .localized-tab,
  .localized-tab-button,
  .amphora-listing-inquiry-cta,
  .pagecache-saved-listings-link,
  .button,
  .wp-block-button__link,
  [role="button"],
  [role="tab"]
) {
  color:
    var(--amphora-local-link, #0b72d9) !important;
}

html body.savvy-amphora-site-chassis.argent-local-branding
:is(
  main .argent-ordinary-content,
  main .pagecache-public-root,
  .savvy-pagecache-embed .pagecache-footer
)
a:not(
  .pagecache-action,
  .pagecache-action-button,
  .pagecache-document-action,
  .localized-tab,
  .localized-tab-button,
  .amphora-listing-inquiry-cta,
  .pagecache-saved-listings-link,
  .button,
  .wp-block-button__link,
  [role="button"],
  [role="tab"]
):is(:hover, :focus-visible) {
  color:
    var(--amphora-local-link-hover, #075fb8) !important;
}
