/* ── Base element styling (opt-in reset + brand defaults) ────── */
*,*::before,*::after{box-sizing:border-box}
body{
  margin:0;
  font-family:var(--font-body);
  font-size:var(--fs-body);
  line-height:var(--lh-body);
  font-weight:var(--fw-regular);
  color:var(--text-primary);
  background:var(--surface-page);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
h1,h2,h3,h4,h5,h6{
  font-family:var(--font-display);
  font-weight:var(--fw-bold);
  line-height:var(--lh-heading);
  letter-spacing:var(--ls-tight);
  color:var(--text-primary);
  margin:0 0 .5em;
}
h1{font-size:var(--fs-h1)}
h2{font-size:var(--fs-h2)}
h3{font-size:var(--fs-h3)}
h4{font-size:var(--fs-h4)}
p{margin:0 0 1em;text-wrap:pretty}
a{color:var(--text-link);text-decoration:none;transition:color var(--dur-fast) var(--ease-standard)}
a:hover{color:var(--text-link-hover);text-decoration:underline}
strong{font-weight:var(--fw-bold)}
small{font-size:var(--fs-caption)}
:focus-visible{outline:var(--focus-width) solid var(--focus-ring);outline-offset:var(--focus-offset)}
/* Utility: uppercase eyebrow/locator label like "FT. TOTTEN" */
.cfa-eyebrow{font-weight:var(--fw-medium);text-transform:uppercase;letter-spacing:var(--ls-label);font-size:var(--fs-label);color:var(--text-secondary)}
