/* legal.css — Legal/info pages (About, Disclaimer, Terms, Privacy) + 404.
   global.css supplies nav/banner/buttons/flag-divider/footer. */

/* HERO */
.legal-hero { background: var(--navy); position: relative; overflow: hidden; padding: 64px 56px 52px; border-bottom: 3px solid var(--crimson); }
.legal-hero-bg { position: absolute; inset: 0; background-image: repeating-linear-gradient(0deg,transparent,transparent 29px,rgba(178,34,52,0.04) 29px,rgba(178,34,52,0.04) 30px), repeating-linear-gradient(90deg,transparent,transparent 29px,rgba(178,34,52,0.04) 29px,rgba(178,34,52,0.04) 30px); }
.legal-hero-inner { position: relative; z-index: 1; max-width: 820px; margin: 0 auto; }
.legal-eyebrow { font-family: var(--font-ui); font-size: 11px; font-weight: 600; letter-spacing: 0.26em; text-transform: uppercase; color: rgba(255,100,120,0.85); margin-bottom: 12px; }
.legal-title { font-family: var(--font-display); font-size: clamp(32px,4.5vw,52px); font-weight: 700; color: var(--white); line-height: 1.1; margin-bottom: 14px; }
.legal-lede { font-size: 16px; font-weight: 300; color: rgba(255,255,255,0.6); line-height: 1.7; max-width: 620px; }

/* BODY */
.legal-body { background: var(--off-white); padding: 56px 56px 80px; }
.legal-prose { max-width: 820px; margin: 0 auto; }
.legal-prose h2 { font-family: var(--font-display); font-size: 22px; font-weight: 700; color: var(--navy); margin: 34px 0 12px; }
.legal-prose h2:first-child { margin-top: 0; }
.legal-prose p { font-size: 15px; font-weight: 300; color: var(--text-mid); line-height: 1.8; margin-bottom: 14px; }
.legal-prose a { color: var(--crimson); text-decoration: none; border-bottom: 1px solid rgba(178,34,52,0.3); }
.legal-prose a:hover { border-bottom-color: var(--crimson); }

.legal-callout { background: rgba(30,92,50,0.08); border-left: 4px solid var(--green-dark); padding: 18px 22px; margin-bottom: 30px; font-size: 15px; color: var(--text-dark); line-height: 1.65; }
.legal-callout strong { color: var(--green-dark); }
.legal-callout a { color: var(--green-dark); }

.legal-updated { margin-top: 40px; padding-top: 20px; border-top: 1px solid rgba(13,27,42,0.1); font-size: 13px; color: var(--text-muted); font-style: italic; }

/* 404 */
.notfound { max-width: 640px; margin: 0 auto; padding: 110px 40px 130px; text-align: center; }
.notfound-stars { color: var(--crimson); letter-spacing: 8px; font-size: 16px; margin-bottom: 20px; }
.notfound-code { font-family: var(--font-display); font-size: clamp(80px,14vw,150px); font-weight: 700; color: var(--navy); line-height: 1; }
.notfound-title { font-family: var(--font-display); font-size: 30px; font-weight: 700; color: var(--crimson); margin: 8px 0 14px; }
.notfound-text { font-size: 16px; font-weight: 300; color: var(--text-mid); line-height: 1.7; margin-bottom: 30px; }
.notfound-actions { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }

@media (max-width: 720px) {
  .legal-hero { padding: 44px 24px 36px; }
  .legal-body { padding: 40px 24px 60px; }
}
