/* ERG / Michael Emanuel: brand consistency refinement — 2026-10-11.
   Load AFTER erg-michael-brand.css and existing page styles.
   No positioning changes to transparent headers, heroes, sticky navigation, or footer bars. */
:root {
  --erg-navy:#0D1B4B;
  --erg-coral:#D85A30;
  --erg-cream:#F1EFE8;
  --erg-charcoal:#2C2C2A;
  --erg-gray:#5F5E5A;
}
/* Shared typography, only within known text elements */
body { font-family:'Montserrat',Arial,sans-serif; }
body :is(h1,h2,h3,h4,.serif,.listing-price,.erg-portfolio-heading h2,.erg-service h2,.erg-portrait h2,.erg-closing h2) { font-family:'Playfair Display',Georgia,serif; }
body :is(.erg-nav a,.nav a,.erg-menu-button,.menu-toggle,.eyebrow,.erg-eyebrow,.listing-pill,.listing-badge,.erg-section-index,.text-link,.erg-text-link,.button,.erg-outline-link,.erg-service-count) { font-family:'Montserrat',Arial,sans-serif; }
/* Central design tokens applied without changing structural CSS */
body :is(.erg-section-black,.erg-service-primary,.dark-banner,.footer,.erg-footer) { background-color:var(--erg-navy); }
body :is(.erg-opening,.erg-portrait,.erg-closing,.section:not(.section-dark):not(.dark-banner),.page-hero:not(.photo)) { background-color:var(--erg-cream); }
body :is(.erg-opening,.erg-portrait,.erg-closing,.section:not(.section-dark):not(.dark-banner),.page-hero:not(.photo)) { color:var(--erg-charcoal); }
body :is(.erg-footer,.footer,.erg-section-black,.erg-service-primary,.dark-banner) { color:var(--erg-cream); }
body :is(.erg-eyebrow,.eyebrow,.erg-section-index,.erg-portrait-kicker,.section-count) { letter-spacing:.16em; }
/* Accent, carefully limited. Don't repaint large blocks coral. */
body :is(.listing-badge,.listing-pill) { background:var(--erg-cream); color:var(--erg-navy); border-color:var(--erg-navy); }
body :is(.listing-pill,.listing-badge).coming-soon { border-color:var(--erg-coral); }
body :is(.button:not(.light):not(.outline-light)) { background:var(--erg-navy);border-color:var(--erg-navy);color:var(--erg-cream); }
body :is(.button:not(.light):not(.outline-light)):hover { background:var(--erg-coral);border-color:var(--erg-coral);color:#fff; }
body :is(a,button):focus-visible {outline:2px solid var(--erg-coral);outline-offset:4px;}
/* Real listings: stable visual rhythm and no distortion, only listings sections. */
body .listings-grid { align-items:start; }
body .listings-grid .listing-media,
body .listings-grid .listing-card:nth-child(3n + 2) .listing-media { aspect-ratio:3 / 2; }
body .listings-grid .listing-media img { width:100%;height:100%;object-fit:cover; }
body .listings-grid .listing-info { min-width:0; }
body .listings-grid .listing-info h3 { overflow-wrap:break-word; }
body .listings-grid .listing-details:empty {display:none;}
/* Preserve homepage listing-card sizing/footer improvements supplied by earlier updates. */
/* Make the property details panel no taller than its actual visible content. */
body :is(.listing-info,.listing-details) { min-height:0; }
/* The editorial marquee stays dark with a restrained accent and unobtrusive movement. */
body #erg-brand-ticker { background:var(--erg-navy)!important;color:var(--erg-cream)!important; }
body #erg-brand-ticker .erg-ticker-spark { color:var(--erg-coral)!important; }
/* Interior text flow: scoped to known content containers, not image/background sections. */
@media (max-width:700px) {
  body .section,body .page-hero { padding-left:max(22px,env(safe-area-inset-left));padding-right:max(22px,env(safe-area-inset-right)); }
  body :is(.section,.page-hero,.erg-opening,.erg-portrait-copy,.erg-closing) :is(h1,h2,h3,p) { overflow-wrap:break-word; }
  body .listings-grid {grid-template-columns:minmax(0,1fr);}
  body .listings-grid .listing-media,
  body .listings-grid .listing-card:nth-child(3n + 2) .listing-media {aspect-ratio:3 / 2;}
}
@media (prefers-reduced-motion:reduce) {body #erg-brand-ticker .erg-ticker-track { animation:none!important; }}
