/* Legal-page styling, matched to the current DuoFaith website. */
/* privacy.html and terms.html load only this file, not home.css, so the display
   face has to be declared again here or they would be the one corner of the site
   still set in the system serif. Same two files, same cache entry. */
@font-face {
  font-family: 'Fraunces';
  src: url('/fonts/fraunces-latin-full-normal.woff2') format('woff2');
  font-weight: 100 900; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Fraunces';
  src: url('/fonts/fraunces-latin-wonk-italic.woff2') format('woff2');
  font-weight: 100 900; font-style: italic; font-display: swap;
}
:root {
  color-scheme: dark;
  --bg: #0f0a1a;
  --white: #e6e2ef;      /* neutral body, matching home.css --text */
  --cream: #faf5ee;      /* warm, serif headings only */
  --dim: #cdc6d6;
  --faint: #9a92a8;
  --line: rgba(219,203,238,.14);
  --line-soft: rgba(219,203,238,.1);
  --gold: #e8ab4a;
  --font: -apple-system,BlinkMacSystemFont,system-ui,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
  --serif: 'Fraunces',ui-serif,'New York',Georgia,'Times New Roman',serif;
}
/* These headings are set at 700, which in a variable face is a real weight rather
   than a synthesised one — but they still want the display optical size and the
   softened corners the rest of the site uses. `wght` is left out of the settings
   so the 700 above keeps working. */
.brand span, .legal h1, .legal h2 { font-variation-settings: 'opsz' 144, 'SOFT' 24, 'WONK' 1; }
html, body { background: var(--bg); color: var(--white); }
.nav { top: 0; left: 0; transform: none; width: 100%; max-width: none; background: rgba(15,10,26,.95); border-bottom: 1px solid var(--line); }
.nav-inner { max-width: 1160px; margin: auto; padding: 20px 24px; min-height: 82px; background: none; border: 0; border-radius: 0; }
.brand span { font-family: var(--serif); font-size: 26px; font-weight: 700; letter-spacing: -.02em; color: var(--cream); }
.brand img { width: 34px; height: 34px; border-radius: 9px; }
.nav-cta { padding: 11px 18px; font-size: 12px; border-radius: 7px; background: var(--gold); color: #1a1024; }
.nav-cta:hover { background: #f2c072; box-shadow: none; }
.legal h1 { font-family: var(--serif); font-size: clamp(42px,6vw,62px); font-weight: 700; letter-spacing: -.022em; color: var(--cream); }
.legal h2 { font-family: var(--serif); font-size: 29px; font-weight: 700; letter-spacing: -.02em; color: var(--cream); }
.legal p, .legal li { line-height: 1.9; }
.legal a { text-decoration: underline; text-underline-offset: 4px; }
.legal strong { color: var(--cream); }
footer { background: var(--bg); border-color: var(--line); }
:focus-visible { outline: 2px solid var(--gold); outline-offset: 5px; }
@media(max-width:580px) {
  .nav-inner { min-height: 72px; padding: 15px 20px; }
  .brand span { font-size: 22px; }
  .brand img { width: 29px; height: 29px; }
  .nav-cta { font-size: 10px; padding: 10px 13px; }
  .legal { padding: 110px 22px 55px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior: auto; } *, *:before, *:after { animation: none!important; transition: none!important; } }
