/* Hometown Anchor — legal/utility page typography (Town Line rev 5).
   Long-form reading set on cream, navy section headings, ink body. */

html,body{ margin:0; background:var(--color-surface); }
.legal-page{ margin:0; background:var(--color-surface); color:var(--color-text); font-family:var(--font-body); }

/* Title band */
.legal-head{ background:var(--color-surface); border-bottom:1px solid var(--color-border); }
.legal-head .inner{ max-width:1040px; margin:0 auto; padding:64px 32px 40px; }
.legal-head .eyebrow{ font-family:var(--font-display); font-weight:600; font-size:.72rem;
  letter-spacing:.16em; text-transform:uppercase; color:var(--color-text-muted); margin:0 0 16px; }
.legal-head h1{ font-family:var(--font-display); font-weight:800; text-transform:uppercase;
  font-size:var(--fs-h1); line-height:var(--lh-tight); letter-spacing:var(--tracking-display);
  color:var(--color-brand); margin:0; }
.legal-head .effective{ margin:18px 0 24px; font-size:var(--fs-label); color:var(--color-text-muted);
  font-family:var(--font-display); font-weight:600; letter-spacing:.04em; text-transform:uppercase; }

/* Article body */
.legal{ max-width:72ch; margin:0 auto; padding:56px 32px 88px; }
.legal > :first-child{ margin-top:0; }
.legal p{ font-size:var(--fs-body); line-height:var(--lh-body); color:var(--color-text); margin:0 0 18px; }
.legal h2{ font-family:var(--font-display); font-weight:800; text-transform:uppercase;
  font-size:var(--fs-h3); line-height:var(--lh-snug); letter-spacing:.01em; color:var(--color-brand);
  margin:44px 0 14px; }
.legal h2 + p{ margin-top:0; }
.legal strong{ font-weight:700; color:var(--color-text); }
.legal a{ color:var(--link-color); text-decoration:underline; text-decoration-color:var(--color-accent);
  text-underline-offset:2px; transition:color var(--duration-base); }
.legal a:hover{ color:var(--link-color-hover); }
.legal a:focus-visible{ outline:var(--focus-ring-width) solid var(--color-focus-ring);
  outline-offset:var(--focus-ring-offset); border-radius:2px; }
.legal .disclaimer{ margin-top:40px; padding-top:22px; border-top:1px solid var(--color-border);
  font-size:var(--fs-label); line-height:1.55; color:var(--color-text-muted); font-style:italic; }
.legal .disclaimer p{ font-size:var(--fs-label); color:var(--color-text-muted); }
