/* Legal pages — Privacy, Terms, Cookies, AI Disclaimer. Bamboo style, reading-first. */
.legal { max-width: 820px; margin: 0 auto; padding: clamp(1.5rem, 4vw, 2.5rem) var(--space-4) var(--space-8); }
.legal__eyebrow { display: inline-flex; align-items: center; gap: 0.4rem; }
.legal__title { font-family: var(--font-display); font-weight: 500; font-size: var(--step-4); line-height: 1.1; color: var(--forest-deep, var(--forest)); margin: 0.6rem 0 0.4rem; }
.legal__updated { font-family: var(--font-mono); font-size: var(--step--1); color: var(--text-ter); margin-bottom: 1.4rem; }
.legal__intro { font-size: var(--step-1); line-height: 1.6; color: var(--text-sec); margin-bottom: 1.4rem; }

/* in-page table of contents */
.legal__toc { display: flex; flex-wrap: wrap; gap: 0.45rem; padding: 0.9rem 1rem; margin-bottom: 1.8rem;
  background: var(--glass-low); border: 1px solid var(--glass-hair); border-radius: var(--r-lg, 16px); }
.legal__toc a { font-family: var(--font-mono); font-size: 0.72rem; color: var(--text-sec); padding: 0.2rem 0.6rem; border-radius: var(--r-pill);
  background: var(--glass); border: 1px solid var(--glass-hair); transition: color .15s, border-color .15s; }
.legal__toc a:hover { color: var(--forest); border-color: var(--leaf); }

.legal h2 { font-family: var(--font-display); font-weight: 500; font-size: var(--step-2); color: var(--text); margin: 2.2rem 0 0.6rem; scroll-margin-top: 90px; }
.legal h3 { font-size: var(--step-0); font-weight: 700; color: var(--text); margin: 1.3rem 0 0.4rem; }
.legal p, .legal li { font-size: var(--step-0); line-height: 1.7; color: var(--text-sec); }
.legal p { margin: 0 0 0.9rem; }
.legal ul { margin: 0 0 1rem; padding-left: 1.2rem; display: flex; flex-direction: column; gap: 0.35rem; }
.legal li::marker { color: var(--leaf); }
.legal a.link, .legal p a, .legal li a { color: var(--forest); text-decoration: underline; text-underline-offset: 2px; }
.legal strong { color: var(--text); }

.legal__note { padding: 0.9rem 1.1rem; margin: 1.4rem 0; border-radius: var(--r-md);
  background: rgba(47,190,106,0.08); border: 1px solid rgba(47,190,106,0.28); color: var(--text-sec); font-size: var(--step--1); line-height: 1.6; }
.legal__note strong { color: var(--forest); }

.legal__contact { margin-top: 2.4rem; padding-top: 1.4rem; border-top: 1px solid var(--glass-hair); }
.legal__contact a { color: var(--forest); }

/* small print + cross-links footer area reuses .footer from landing.css */
.legal__crumbs { font-family: var(--font-mono); font-size: 0.7rem; color: var(--text-ter); margin-bottom: 1rem; }
.legal__crumbs a { color: var(--text-sec); }
