/* bel-blog-editorial.css — belrealtor.com blog article template (release bel-audit-20261004e).
   = shared editorial.css + tokens/bel.css + Bel integration overrides. Loaded only on /blog/ pages;
   every rule is scoped under .ed-article, so non-blog pages and bel.css are unchanged. */
/* editorial.css — shared premium blog editorial template (v1, 2026-10-04)
   Five sites, one structure. Consumes ONLY --ed-* custom properties; brand values live in tokens/<site>.css.
   Every selector is scoped under .ed-article, so nothing here can reach non-blog pages or site chrome.
   Defaults sit in :where(.ed-article) (specificity 0) so a site token file (.ed-article, 0-1-0) always wins
   regardless of load order. No images, no fonts, no JS, no !important. */

/* ---------- 0. Token defaults (neutral; every site overrides the brand ones) ---------- */
:where(.ed-article) {
  /* colour */
  --ed-bg: #ffffff;
  --ed-surface: #ffffff;
  --ed-ink: #1a1a1a;           /* headings */
  --ed-text: #333333;          /* body copy */
  --ed-muted: #5c5c5c;         /* meta, captions (must stay >= 4.5:1 on --ed-bg) */
  --ed-link: #1a4d8f;
  --ed-link-hover: var(--ed-ink);
  --ed-link-underline: currentColor;
  --ed-accent: #8a6d3b;        /* rules, list markers, answer rule (decorative; not text) */
  --ed-rule: rgba(0, 0, 0, .14);
  --ed-focus: #1a4d8f;
  --ed-hero-bg: var(--ed-bg);
  --ed-hero-bg-image: none;
  --ed-hero-fg: var(--ed-ink);
  --ed-hero-muted: var(--ed-muted);
  --ed-hero-accent: var(--ed-link);
  --ed-hero-rule: 1px solid var(--ed-rule);
  --ed-answer-bg: var(--ed-surface);
  --ed-answer-fg: var(--ed-text);
  --ed-answer-ink: var(--ed-ink);
  --ed-answer-rule: var(--ed-accent);
  --ed-answer-border: var(--ed-rule);
  --ed-answer-label: var(--ed-muted);
  --ed-cta-bg: var(--ed-ink);
  --ed-cta-bg-image: none;
  --ed-cta-fg: #ffffff;
  --ed-cta-muted: rgba(255, 255, 255, .86);
  --ed-btn-bg: var(--ed-accent);
  --ed-btn-fg: #111111;
  --ed-btn-bg-hover: var(--ed-btn-bg);
  --ed-btn-border: transparent;
  --ed-cta-link: var(--ed-cta-fg);
  --ed-card-bg: var(--ed-surface);
  --ed-card-border: var(--ed-rule);

  /* type */
  --ed-font-display: Georgia, serif;
  --ed-font-body: system-ui, sans-serif;
  --ed-font-ui: var(--ed-font-body);
  --ed-display-weight: 600;
  --ed-display-tracking: -.01em;
  --ed-ui-weight: 600;
  --ed-ui-transform: none;
  --ed-ui-tracking: .01em;
  --ed-eyebrow-font: var(--ed-font-ui);
  --ed-eyebrow-style: normal;
  --ed-eyebrow-transform: none;
  --ed-eyebrow-tracking: .02em;
  --ed-eyebrow-size: .875rem;
  --ed-eyebrow-weight: 600;
  /* display faces with a small x-height (Cormorant, Bodoni) set --ed-display-scale > 1 */
  --ed-display-scale: 1;
  --ed-fs-body: 1.0625rem;                                  /* 17px phones */
  --ed-fs-body-lg: 1.125rem;                                /* 18px >= 48rem */
  --ed-lh-body: 1.68;
  --ed-fs-dek: clamp(1.0625rem, 1rem + .35vw, 1.25rem);
  --ed-fs-h1: calc(var(--ed-display-scale) * clamp(2rem, 1.35rem + 2.4vw, 3.25rem));
  --ed-fs-h2: calc(var(--ed-display-scale) * clamp(1.5rem, 1.25rem + 1vw, 2rem));
  --ed-fs-h3: calc(var(--ed-display-scale) * clamp(1.1875rem, 1.1rem + .4vw, 1.375rem));
  --ed-fs-small: .9375rem;
  --ed-fs-meta: .875rem;
  --ed-lh-display: 1.12;
  --ed-lh-heading: 1.22;

  /* measure + layout */
  --ed-measure: 58ch;           /* CSS ch = width of "0", not an average letter: each site calibrates this so a full
                                   line lands at a median of ~66 characters (45-75 band), measured in shots/checks.json */
  --ed-h1-measure: 22ch;
  --ed-container: 72rem;        /* 1152px */
  --ed-rail: 20rem;             /* hero answer card + sticky TOC column */
  --ed-col-gap: clamp(2.5rem, 5vw, 4.5rem);
  --ed-gutter: 1rem;            /* 16px phone side gutter */
  --ed-sticky-offset: 6rem;     /* clears the site's sticky/fixed header for anchor jumps */

  /* spacing scale (4px base) */
  --ed-s-1: .25rem; --ed-s-2: .5rem; --ed-s-3: .75rem; --ed-s-4: 1rem; --ed-s-5: 1.5rem;
  --ed-s-6: 2rem;   --ed-s-7: 3rem; --ed-s-8: 4rem;    --ed-s-9: 6rem;
  --ed-hero-pt: clamp(1.75rem, 1rem + 3vw, 3.5rem);
  --ed-hero-pb: clamp(2rem, 1rem + 3.5vw, 3.75rem);
  --ed-section: clamp(3rem, 2rem + 4vw, 5rem);

  /* shape */
  --ed-radius: 4px;
  --ed-radius-card: var(--ed-radius);
  --ed-btn-radius: var(--ed-radius);
  --ed-answer-rule-w: 4px;
}

/* ---------- 1. Scope reset (only inside the article) ---------- */
.ed-article,
.ed-article *,
.ed-article *::before,
.ed-article *::after { box-sizing: border-box; }

.ed-article {
  display: block;
  background: var(--ed-bg);
  color: var(--ed-text);
  font-family: var(--ed-font-body);
  font-size: var(--ed-fs-body);
  line-height: var(--ed-lh-body);
  -webkit-text-size-adjust: 100%;
  text-rendering: optimizeLegibility;
  overflow-wrap: break-word;
}
@media (min-width: 48rem) { .ed-article { font-size: var(--ed-fs-body-lg); } }

.ed-article :where(h1, h2, h3, h4, p, ul, ol, dl, figure, blockquote, table) { margin: 0; }
.ed-article :where(h1, h2, h3, h4) {
  font-family: var(--ed-font-display);
  font-weight: var(--ed-display-weight);
  letter-spacing: var(--ed-display-tracking);
  color: var(--ed-ink);
  text-wrap: balance;
}
.ed-article :where(p, li) { text-wrap: pretty; }
.ed-article :where(img, svg, video) { max-width: 100%; height: auto; display: block; }

.ed-article a {
  color: var(--ed-link);
  text-decoration-line: underline;          /* links are never colour-only (WCAG 1.4.1) */
  text-decoration-color: var(--ed-link-underline);
  text-decoration-thickness: max(1px, .07em);
  text-underline-offset: .2em;
}
.ed-article a:hover { color: var(--ed-link-hover); text-decoration-thickness: max(2px, .1em); }
.ed-article :focus-visible {
  outline: 3px solid var(--ed-focus);
  outline-offset: 3px;
  border-radius: 2px;
}
.ed-article .ed-wrap {
  width: min(100% - 2 * var(--ed-gutter), var(--ed-container));
  margin-inline: auto;
}

/* ---------- 2. Hero: breadcrumb → eyebrow → H1 → dek → byline | answer card ---------- */
.ed-article .ed-hero {
  background-color: var(--ed-hero-bg);
  background-image: var(--ed-hero-bg-image);
  color: var(--ed-hero-fg);
  padding-block: var(--ed-hero-pt) var(--ed-hero-pb);
  border-bottom: var(--ed-hero-rule);
}
.ed-article .ed-hero__grid { display: grid; gap: var(--ed-s-6); }
@media (min-width: 64rem) {
  .ed-article .ed-hero__grid {
    grid-template-columns: minmax(0, 1fr) var(--ed-rail);
    column-gap: var(--ed-col-gap);
    align-items: end;                         /* the answer card sits on the byline baseline */
  }
}
.ed-article .ed-hero__main { display: grid; gap: var(--ed-s-4); min-width: 0; }

.ed-article .ed-crumbs ol {
  list-style: none; padding: 0; margin: 0;
  display: flex; flex-wrap: wrap; gap: var(--ed-s-1) var(--ed-s-2);
  font-family: var(--ed-font-ui); font-size: var(--ed-fs-meta); line-height: 1.4;
  color: var(--ed-hero-muted);
}
.ed-article .ed-crumbs li { display: inline-flex; gap: var(--ed-s-2); min-width: 0; }
.ed-article .ed-crumbs li + li::before { content: "/" / ""; opacity: .7; }
.ed-article .ed-crumbs a { color: inherit; text-decoration-color: transparent; }
.ed-article .ed-crumbs a:hover { text-decoration-color: currentColor; }
.ed-article .ed-crumbs [aria-current="page"] {
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 28ch;
}

.ed-article .ed-eyebrow {
  font-family: var(--ed-eyebrow-font);
  font-style: var(--ed-eyebrow-style);
  font-size: var(--ed-eyebrow-size);
  font-weight: var(--ed-eyebrow-weight);
  letter-spacing: var(--ed-eyebrow-tracking);
  text-transform: var(--ed-eyebrow-transform);
  line-height: 1.3;
  color: var(--ed-hero-accent);
  margin-top: var(--ed-s-2);
}
.ed-article .ed-eyebrow a { color: inherit; text-decoration-color: transparent; }
.ed-article .ed-eyebrow a:hover { text-decoration-color: currentColor; }

.ed-article .ed-title {
  font-size: var(--ed-fs-h1);
  line-height: var(--ed-lh-display);
  color: var(--ed-hero-fg);
  max-width: var(--ed-h1-measure);
}
.ed-article .ed-dek {
  font-size: var(--ed-fs-dek);
  line-height: 1.55;
  color: var(--ed-hero-muted);
  max-width: 58ch;
}

/* byline + dates: a quiet two-part row, separated by a hairline, never by middle dots */
.ed-article .ed-byline {
  display: flex; flex-wrap: wrap; align-items: center;
  gap: var(--ed-s-2) 0;
  margin-top: var(--ed-s-2);
  padding-top: var(--ed-s-4);
  border-top: 1px solid color-mix(in srgb, var(--ed-hero-fg) 18%, transparent);
  font-family: var(--ed-font-ui); font-size: var(--ed-fs-meta); line-height: 1.45;
  color: var(--ed-hero-muted);
}
.ed-article .ed-byline > * { margin: 0; padding-inline: var(--ed-s-4); }
.ed-article .ed-byline > :first-child { padding-left: 0; }
.ed-article .ed-byline > * + * { border-left: 1px solid color-mix(in srgb, var(--ed-hero-fg) 24%, transparent); }
.ed-article .ed-byline__author { color: var(--ed-hero-fg); font-weight: var(--ed-ui-weight); }
.ed-article .ed-byline__author a { color: inherit; text-decoration-color: color-mix(in srgb, currentColor 45%, transparent); }
.ed-article .ed-byline time { font-variant-numeric: tabular-nums; }
@media (max-width: 39.99rem) {             /* phones: stack, no separators (a rule must never start a wrapped line) */
  .ed-article .ed-byline { flex-direction: column; align-items: flex-start; gap: var(--ed-s-1); }
  .ed-article .ed-byline > * { padding-inline: 0; }
  .ed-article .ed-byline > * + * { border-left: 0; }
}

/* ---------- 3. Quick answer card (the one memorable element) ---------- */
.ed-article .ed-answer {
  position: relative;
  background: var(--ed-answer-bg);
  color: var(--ed-answer-fg);
  border: 1px solid var(--ed-answer-border);
  border-top: var(--ed-answer-rule-w) solid var(--ed-answer-rule);
  border-radius: var(--ed-radius-card);
  padding: var(--ed-s-5) var(--ed-s-5) var(--ed-s-5);
  font-size: var(--ed-fs-small);
  line-height: 1.6;
}
.ed-article .ed-answer__label {
  font-family: var(--ed-eyebrow-font);
  font-style: var(--ed-eyebrow-style);
  font-size: var(--ed-fs-meta);
  font-weight: var(--ed-eyebrow-weight);
  letter-spacing: var(--ed-eyebrow-tracking);
  text-transform: var(--ed-eyebrow-transform);
  color: var(--ed-answer-label);
  margin-bottom: var(--ed-s-2);
}
.ed-article .ed-answer p { color: var(--ed-answer-fg); }
.ed-article .ed-answer p + p,
.ed-article .ed-answer p + ul { margin-top: var(--ed-s-3); }
.ed-article .ed-answer ul { padding-left: 1.1em; display: grid; gap: var(--ed-s-1); }
.ed-article .ed-answer strong { color: var(--ed-answer-ink); }
@media (min-width: 64rem) {
  .ed-article .ed-answer { padding: var(--ed-s-6) var(--ed-s-5) var(--ed-s-5); }
}

/* ---------- 4. Body grid: reading column | rail (sticky TOC) ---------- */
.ed-article .ed-body { padding-block: var(--ed-section) 0; }
.ed-article .ed-body__grid { display: grid; gap: var(--ed-s-6); }
@media (min-width: 75rem) {
  .ed-article .ed-body__grid {
    grid-template-columns: minmax(0, 1fr) var(--ed-rail);
    column-gap: var(--ed-col-gap);
    align-items: start;
  }
  .ed-article .ed-body__grid > .ed-toc { grid-column: 2; grid-row: 1; position: sticky; top: var(--ed-sticky-offset); }
  .ed-article .ed-body__grid > .ed-prose { grid-column: 1; grid-row: 1; }
}

/* TOC: <details> — tap to open on phones/tablets; always visible in the desktop rail */
.ed-article .ed-toc {
  border: 1px solid var(--ed-rule);
  border-radius: var(--ed-radius-card);
  background: var(--ed-surface);
  font-family: var(--ed-font-ui);
  font-size: var(--ed-fs-meta);
  line-height: 1.45;
  max-width: var(--ed-measure);
}
.ed-article .ed-toc > summary {
  cursor: pointer;
  list-style: none;
  display: flex; justify-content: space-between; align-items: center; gap: var(--ed-s-3);
  min-height: 2.75rem;                         /* 44px target */
  padding: var(--ed-s-2) var(--ed-s-4);
  font-weight: var(--ed-ui-weight);
  color: var(--ed-ink);
}
.ed-article .ed-toc > summary::-webkit-details-marker { display: none; }
.ed-article .ed-toc > summary::after {
  content: ""; width: .5rem; height: .5rem; flex: none;
  border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
  transform: rotate(45deg) translateY(-2px);
}
.ed-article .ed-toc[open] > summary::after { transform: rotate(-135deg) translateY(-1px); }
.ed-article .ed-toc ol {
  margin: 0; padding: 0 var(--ed-s-4) var(--ed-s-4) var(--ed-s-4);
  list-style: none; counter-reset: ed-toc; display: grid; gap: var(--ed-s-1);
}
.ed-article .ed-toc li { counter-increment: ed-toc; display: grid; grid-template-columns: 1.6em 1fr; }
.ed-article .ed-toc li::before { content: counter(ed-toc); color: var(--ed-muted); font-variant-numeric: tabular-nums; }
.ed-article .ed-toc--numbered-headings li { grid-template-columns: 1fr; }   /* headings already carry "1." / "Step 1:" */
.ed-article .ed-toc--numbered-headings li::before { content: none; }
.ed-article .ed-toc a {
  color: var(--ed-text); text-decoration-color: transparent;
  display: block; padding-block: .3rem;                 /* >= 24px target (WCAG 2.2 2.5.8 head-room) */
}
.ed-article .ed-toc a:hover { color: var(--ed-link); text-decoration-color: currentColor; }
@media (min-width: 75rem) {
  .ed-article .ed-toc { background: transparent; border-width: 0 0 0 1px; border-radius: 0; }
  .ed-article .ed-toc > summary { cursor: default; pointer-events: none; padding-top: 0; min-height: 0; }
  .ed-article .ed-toc > summary::after { display: none; }
  .ed-article .ed-toc::details-content { content-visibility: visible; display: block; }
}

/* ---------- 5. Prose ---------- */
.ed-article .ed-prose { max-width: var(--ed-measure); min-width: 0; }
.ed-article .ed-prose > * + * { margin-top: 1.05em; }
.ed-article .ed-prose h2 {
  font-size: var(--ed-fs-h2);
  line-height: var(--ed-lh-heading);
  margin-top: 2.4em;
  scroll-margin-top: var(--ed-sticky-offset);
}
.ed-article .ed-prose h3 {
  font-size: var(--ed-fs-h3);
  line-height: 1.3;
  margin-top: 1.8em;
  scroll-margin-top: var(--ed-sticky-offset);
}
.ed-article .ed-prose h2 + *,
.ed-article .ed-prose h3 + * { margin-top: .6em; }
.ed-article .ed-prose > :first-child { margin-top: 0; }
.ed-article .ed-prose p,
.ed-article .ed-prose li { color: var(--ed-text); }
.ed-article .ed-prose strong { color: var(--ed-ink); font-weight: 600; }
.ed-article .ed-prose :where(ul, ol) { padding-left: 1.35em; display: grid; gap: .5em; }
.ed-article .ed-prose li { padding-left: .25em; }
.ed-article .ed-prose li::marker { color: var(--ed-accent); font-weight: 700; }
.ed-article .ed-prose ol > li::marker { font-variant-numeric: tabular-nums; }
.ed-article .ed-prose blockquote {
  border-left: 3px solid var(--ed-accent);
  padding-left: var(--ed-s-5);
  font-family: var(--ed-font-display);
  font-size: 1.15em; line-height: 1.5; color: var(--ed-ink);
}
.ed-article .ed-prose .ed-note {
  font-size: var(--ed-fs-small);
  color: var(--ed-muted);
  border-left: 2px solid var(--ed-rule);
  padding-left: var(--ed-s-4);
}

/* worksheet / comparison tables scroll inside their own box, never the page */
.ed-article .ed-table { overflow-x: auto; -webkit-overflow-scrolling: touch; border: 1px solid var(--ed-rule); border-radius: var(--ed-radius-card); }
.ed-article .ed-table:focus-visible { outline-offset: 2px; }
.ed-article .ed-table table { width: 100%; min-width: 30rem; border-collapse: collapse; font-size: var(--ed-fs-small); background: var(--ed-surface); }
.ed-article .ed-table caption { text-align: left; padding: var(--ed-s-3) var(--ed-s-4); color: var(--ed-muted); font-size: var(--ed-fs-meta); }
.ed-article .ed-table :where(th, td) { text-align: left; vertical-align: top; padding: var(--ed-s-3) var(--ed-s-4); border-top: 1px solid var(--ed-rule); }
.ed-article .ed-table thead th { font-family: var(--ed-font-ui); font-weight: var(--ed-ui-weight); color: var(--ed-ink); border-top: 0; background: color-mix(in srgb, var(--ed-accent) 9%, var(--ed-surface)); }
.ed-article .ed-table td { height: 3rem; }

/* FAQ: visible verbatim (FAQPage schema only mirrors what is shown here) */
.ed-article .ed-faq { margin-top: 2.4em; padding-top: var(--ed-s-6); border-top: 1px solid var(--ed-rule); }
.ed-article .ed-faq h2 { margin-top: 0; }
.ed-article .ed-faq h3 { font-size: var(--ed-fs-h3); margin-top: 1.4em; }

/* ---------- 6. End matter: author note → sources → related → CTA ---------- */
.ed-article .ed-end { padding-block: var(--ed-section); }
.ed-article .ed-end__inner { display: grid; gap: var(--ed-section); }
.ed-article .ed-end__col { max-width: var(--ed-measure); display: grid; gap: var(--ed-s-7); }
.ed-article .ed-end h2 { font-size: var(--ed-fs-h3); line-height: 1.3; }

.ed-article .ed-author {
  display: grid; gap: var(--ed-s-2);
  padding: var(--ed-s-5) 0 0;
  border-top: 2px solid var(--ed-ink);
  font-size: var(--ed-fs-small);
}
.ed-article .ed-author__label {
  font-family: var(--ed-eyebrow-font); font-style: var(--ed-eyebrow-style);
  font-size: var(--ed-fs-meta); font-weight: var(--ed-eyebrow-weight);
  letter-spacing: var(--ed-eyebrow-tracking); text-transform: var(--ed-eyebrow-transform);
  color: var(--ed-muted);
}
.ed-article .ed-author p { color: var(--ed-text); }

.ed-article .ed-sources { display: grid; gap: var(--ed-s-3); font-size: var(--ed-fs-small); }
.ed-article .ed-sources ol { padding-left: 1.6em; display: grid; gap: var(--ed-s-2); }
.ed-article .ed-sources li::marker { color: var(--ed-muted); font-variant-numeric: tabular-nums; }
.ed-article .ed-sources li { color: var(--ed-text); }
.ed-article .ed-sources .ed-sources__note,
.ed-article .ed-disclaimer { color: var(--ed-muted); font-size: var(--ed-fs-meta); line-height: 1.55; }

.ed-article .ed-related h2 { margin-bottom: var(--ed-s-4); }
.ed-article .ed-related__list { list-style: none; padding: 0; margin: 0; display: grid; gap: var(--ed-s-4); }
@media (min-width: 48rem) { .ed-article .ed-related__list { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.ed-article .ed-card {
  position: relative; height: 100%;
  display: grid; align-content: start; gap: var(--ed-s-2);
  padding: var(--ed-s-5);
  background: var(--ed-card-bg);
  border: 1px solid var(--ed-card-border);
  border-top: 2px solid var(--ed-accent);
  border-radius: var(--ed-radius-card);
}
.ed-article .ed-card__kicker { font-family: var(--ed-font-ui); font-size: var(--ed-fs-meta); color: var(--ed-muted); }
.ed-article .ed-card h3 { font-size: var(--ed-fs-h3); line-height: 1.28; }
.ed-article .ed-card h3 a { color: var(--ed-ink); text-decoration-color: transparent; }
.ed-article .ed-card h3 a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }  /* whole card is the target */
.ed-article .ed-card:hover h3 a { text-decoration-color: var(--ed-accent); }
.ed-article .ed-card h3 a:focus-visible { outline: none; }
.ed-article .ed-card:has(a:focus-visible) { outline: 3px solid var(--ed-focus); outline-offset: 3px; }
.ed-article .ed-card p { font-size: var(--ed-fs-small); line-height: 1.55; color: var(--ed-text); }

.ed-article .ed-cta {
  background-color: var(--ed-cta-bg);
  background-image: var(--ed-cta-bg-image);
  color: var(--ed-cta-fg);
  border-radius: var(--ed-radius-card);
  padding: clamp(1.75rem, 1rem + 3vw, 3rem);
  display: grid; gap: var(--ed-s-4);
}
@media (min-width: 64rem) {
  .ed-article .ed-cta { grid-template-columns: minmax(0, 1fr) auto; align-items: end; column-gap: var(--ed-s-8); }
}
.ed-article .ed-cta h2 { color: var(--ed-cta-fg); font-size: var(--ed-fs-h2); line-height: var(--ed-lh-heading); }
.ed-article .ed-cta p { color: var(--ed-cta-muted); max-width: 56ch; margin-top: var(--ed-s-3); }
.ed-article .ed-cta__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--ed-s-3) var(--ed-s-5); }
.ed-article .ed-btn {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 3rem; padding: .75rem 1.5rem;
  background: var(--ed-btn-bg); color: var(--ed-btn-fg);
  border: 1px solid var(--ed-btn-border);
  border-radius: var(--ed-btn-radius);
  font-family: var(--ed-font-ui); font-weight: var(--ed-ui-weight);
  letter-spacing: var(--ed-ui-tracking); text-transform: var(--ed-ui-transform);
  font-size: 1rem; line-height: 1.2;
  text-decoration: none;
}
.ed-article .ed-btn:hover { background: var(--ed-btn-bg-hover); color: var(--ed-btn-fg); text-decoration: none; }
.ed-article .ed-cta p a { color: var(--ed-cta-link); text-decoration-color: currentColor; }
.ed-article .ed-cta__alt { color: var(--ed-cta-link); font-family: var(--ed-font-ui); font-size: var(--ed-fs-small); }
.ed-article .ed-cta__alt a { color: var(--ed-cta-link); font-weight: var(--ed-ui-weight); }
.ed-article .ed-cta :focus-visible { outline-color: var(--ed-cta-focus, var(--ed-cta-fg)); }

/* ---------- 7. Print (worksheet posts are printed) ---------- */
@media print {
  .ed-article { background: #fff; color: #000; font-size: 11pt; }
  .ed-article .ed-hero { background: none; color: #000; padding: 0 0 12pt; border-bottom: 1pt solid #000; }
  .ed-article .ed-hero *, .ed-article .ed-answer * { color: #000; }
  .ed-article .ed-toc, .ed-article .ed-related, .ed-article .ed-cta, .ed-article .ed-crumbs { display: none; }
  .ed-article .ed-sources a::after { content: " (" attr(href) ")"; font-size: 9pt; word-break: break-all; }
  .ed-article .ed-table td { height: 28pt; }
}

/* tokens/bel.css — Bel the Realtor (belrealtor.com) editorial tokens.
   Source (read 2026-10-04, live, read-only): assets/bel.css?v=20261003 :root
     --gold #d09945 · --gold-light #e3bd8a · --gold-tint rgba(208,153,69,.10) · --gold-strong #96661f
     --gold-text #8a5e18 (AA gold for text) · --mid-text #6f6c68 · --rule rgba(176,124,44,.28)
     --charcoal #1e1a16 · --charcoal-2 #1a1a19 · --charcoal-3 #34322d · --ivory #f8f8f7 · --mid #5d5b57
     .answer-box: gold-tint bg, 4px gold left rule, 8px radius · .hero bg var(--charcoal), kicker gold-light
     post body p computed rgb(52,50,45) = --charcoal-3 · byline #5c6669 · CALL button bg #d09945 text #2b2118
   Fonts (Google Fonts, loaded site-wide): "Cormorant Garamond" 500 (display), Raleway (body). */
.ed-article {
  --ed-bg: #F8F8F7;
  --ed-surface: #FFFFFF;
  --ed-ink: #1E1A16;
  --ed-text: #34322D;
  --ed-muted: #5D5B57;
  --ed-link: #8A5E18;
  --ed-link-hover: #1E1A16;
  --ed-link-underline: #D09945;
  --ed-accent: #D09945;
  --ed-rule: rgba(176, 124, 44, .28);
  --ed-focus: #8A5E18;

  --ed-hero-bg: #1E1A16;
  --ed-hero-fg: #FFFFFF;
  --ed-hero-muted: rgba(255, 255, 255, .88);
  --ed-hero-accent: #E3BD8A;
  --ed-hero-rule: 0;

  --ed-answer-bg: #FFFFFF;
  --ed-answer-fg: #34322D;
  --ed-answer-ink: #1E1A16;
  --ed-answer-rule: #D09945;
  --ed-answer-border: rgba(208, 153, 69, .28);
  --ed-answer-label: #8A5D1A;

  --ed-cta-bg: #1E1A16;
  --ed-cta-fg: #FFFFFF;
  --ed-cta-muted: #CFC8BE;
  --ed-btn-bg: #D09945;
  --ed-btn-fg: #2B2118;
  --ed-btn-bg-hover: #E3BD8A;
  --ed-cta-link: #E3BD8A;
  --ed-cta-focus: #E3BD8A;
  --ed-card-bg: #FFFFFF;
  --ed-card-border: rgba(176, 124, 44, .28);

  --ed-font-display: "Cormorant Garamond", Georgia, serif;
  --ed-font-body: Raleway, "Helvetica Neue", Arial, sans-serif;
  --ed-font-ui: Raleway, "Helvetica Neue", Arial, sans-serif;
  --ed-display-weight: 500;
  --ed-display-tracking: -.005em;
  --ed-ui-weight: 600;
  --ed-ui-transform: uppercase;        /* live buttons: CALL (210) 932-3606 */
  --ed-ui-tracking: .08em;
  --ed-eyebrow-transform: uppercase;   /* live kicker */
  --ed-eyebrow-tracking: .16em;
  --ed-eyebrow-size: .75rem;
  --ed-eyebrow-weight: 600;
  --ed-display-scale: 1.2;             /* Cormorant's small x-height */
  --ed-lh-body: 1.72;
  --ed-h1-measure: 26ch;
  --ed-measure: 53ch;               /* Raleway, 1ch = 11px: 53ch = median ~66 characters per full line */

  --ed-radius: 4px;
  --ed-radius-card: 8px;
  --ed-btn-radius: 4px;
  --ed-sticky-offset: 6.5rem;          /* 88px nav */
}
.ed-article .ed-btn { font-size: .875rem; }

/* ---------- Bel integration (belrealtor.com only) ----------
   bel.css styles some bare elements site-wide (time, main p a, h1-h3). Inside the article the template must win.
   All selectors stay under .ed-article. */
.ed-article time { color: inherit; }
.ed-article .ed-prose p a:not(.ed-btn),
.ed-article .ed-prose li a:not(.ed-btn),
.ed-article .ed-end p a:not(.ed-btn),
.ed-article .ed-end li a:not(.ed-btn) {
  color: var(--ed-link);
  text-decoration-color: var(--ed-link-underline);
  text-decoration-thickness: max(1px, .07em);
  text-underline-offset: .2em;
}
.ed-article .ed-prose p a:not(.ed-btn):hover,
.ed-article .ed-prose li a:not(.ed-btn):hover,
.ed-article .ed-end p a:not(.ed-btn):hover,
.ed-article .ed-end li a:not(.ed-btn):hover { color: var(--ed-link-hover); }
.ed-article .ed-hero p a:not(.ed-btn),
.ed-article .ed-hero li a:not(.ed-btn) { color: inherit; }
.ed-article .ed-hero p a:not(.ed-btn):hover { color: var(--ed-hero-fg); }
.ed-article .ed-answer p a:not(.ed-btn),
.ed-article .ed-answer li a:not(.ed-btn) { color: var(--ed-link); }
.ed-article .ed-cta p a:not(.ed-btn),
.ed-article .ed-cta p a:not(.ed-btn):hover { color: var(--ed-cta-link); }
.ed-article .ed-card h3 a,
.ed-article .ed-card h3 a:hover { color: var(--ed-ink); }
.ed-article .ed-toc a:hover { color: var(--ed-link); }
.ed-article a.ed-btn,
.ed-article a.ed-btn:hover { color: var(--ed-btn-fg); text-decoration: none; }
.ed-article .ed-prose section[lang] > h2:first-child { margin-top: 2.4em; }
.ed-article .ed-prose section[lang] > * + * { margin-top: 1.05em; }
/* archive (/blog/) */
.ed-article .ed-topics { display: flex; flex-wrap: wrap; gap: var(--ed-s-2) var(--ed-s-3); margin-top: var(--ed-s-2); padding: 0; list-style: none; font-family: var(--ed-font-ui); font-size: var(--ed-fs-meta); }
.ed-article .ed-topics a { color: var(--ed-hero-fg); text-decoration-color: var(--ed-hero-accent); }
.ed-article .ed-topics a:hover { color: var(--ed-hero-accent); }
.ed-article .ed-archive { display: grid; gap: var(--ed-section); }
.ed-article .ed-archive__group h2 { font-size: var(--ed-fs-h2); line-height: var(--ed-lh-heading); margin-bottom: var(--ed-s-5); scroll-margin-top: var(--ed-sticky-offset); }
.ed-article .ed-archive .ed-faq { margin-top: 0; }
.ed-article .ed-archive .ed-faq h3 { font-size: var(--ed-fs-h3); margin-top: 1.4em; }
.ed-article .ed-archive .ed-faq p { margin-top: .6em; max-width: var(--ed-measure); }
/* bel.css "main li a:not(.btn):not(.more)" (0,2,3) underlines every list link; restore template link styles (0,3,2+) */
.ed-article .ed-crumbs li a:not(.ed-btn) { color: inherit; text-decoration-color: transparent; }
.ed-article .ed-crumbs li a:not(.ed-btn):hover { color: var(--ed-hero-fg); text-decoration-color: currentColor; }
.ed-article .ed-toc li a:not(.ed-btn) { color: var(--ed-text); text-decoration-color: transparent; }
.ed-article .ed-toc li a:not(.ed-btn):hover { color: var(--ed-link); text-decoration-color: currentColor; }
.ed-article .ed-related .ed-card h3 a:not(.ed-btn) { color: var(--ed-ink); text-decoration-color: transparent; }
.ed-article .ed-related .ed-card:hover h3 a:not(.ed-btn) { color: var(--ed-ink); text-decoration-color: var(--ed-accent); }
.ed-article .ed-byline p a:not(.ed-btn) { color: inherit; text-decoration-color: color-mix(in srgb, currentColor 45%, transparent); }
.ed-article .ed-cta .ed-cta__alt a:not(.ed-btn) { color: var(--ed-cta-link); }

/* 2026-10-09: article hero figure */
.ed-article .ed-figure{margin:0 0 1.75rem}
.ed-article .ed-figure img{display:block;width:100%;height:auto;border-radius:var(--ed-radius-card,12px);aspect-ratio:1672/941;object-fit:cover}
.ed-article .ed-figure figcaption{font-size:var(--ed-fs-meta,.85rem);color:var(--ed-muted,#5c6669);margin-top:.5rem}
@media print{
  body:has(.ed-article) .nav, body:has(.ed-article) footer{display:none!important}
  .ed-article .ed-hero__grid, .ed-article .ed-body__grid{display:block}
  .ed-article .ed-prose{max-width:none;width:auto}
  .ed-article .ed-hero h1{font-size:24pt;line-height:1.15}
  .ed-article .ed-byline a{color:#000!important}
  .ed-article h2, .ed-article h3{break-after:avoid}
  .ed-article figure, .ed-article .ed-answer{break-inside:avoid}
}
