/* Homeowner legal pages (Privacy, Terms, Referral terms) in the Calm design.
   Builds on /calm.css. The text itself lives in each page's HTML. */
.container { width: 100%; max-width: var(--wrap); margin: 0 auto; padding: 0 var(--gutter); }
.legal-hero { position: relative; overflow: hidden; overflow: clip; padding: calc(var(--nav-h) + 72px) 0 52px; border-bottom: 1px solid var(--line); }
.legal-hero .container { position: relative; z-index: 1; }
.legal-hero h1 { font-family: var(--f-display); font-size: clamp(36px, 5vw, 60px); font-weight: 800; letter-spacing: -0.03em; line-height: 1.02; margin-bottom: 14px; }
.legal-meta { font-size: 14.5px; color: var(--text-2); }
.legal-meta strong { color: var(--text); font-weight: 600; }
.legal-back { display: inline-flex; align-items: center; gap: 6px; font-family: var(--f-mono); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--orange-hi); margin-bottom: 24px; transition: color .2s; }
.legal-back:hover { color: #ffd0b8; }
.legal-back svg { flex-shrink: 0; }
.legal-body { padding: 64px 0 110px; }
.legal-content { max-width: 740px; }
.legal-content p { font-size: 16px; line-height: 1.78; color: #c9c9ce; margin-bottom: 18px; }
.legal-content a { color: #f4b896; text-decoration: underline; text-decoration-color: rgba(244, 184, 150, 0.4); text-underline-offset: 3px; }
.legal-content a:hover { text-decoration-color: #f4b896; }
.legal-content strong { color: var(--text); font-weight: 600; }
.legal-section { margin-bottom: 52px; scroll-margin-top: calc(var(--nav-h) + 24px); }
.legal-section h2 { font-family: var(--f-display); font-size: 24px; font-weight: 700; letter-spacing: -0.02em; line-height: 1.25; margin-bottom: 16px; padding-bottom: 12px; border-bottom: 1px solid var(--line); }
.legal-section h3 { font-family: var(--f-display); font-size: 17px; font-weight: 700; margin: 26px 0 10px; }
.legal-section ul, .legal-section ol { margin: 0 0 20px; padding-left: 24px; }
.legal-section ul { list-style: disc; }
.legal-section ol { list-style: decimal; }
.legal-section li { font-size: 16px; line-height: 1.75; color: #c9c9ce; margin-bottom: 6px; }
.legal-section li::marker { color: var(--orange-hi); }
.legal-callout { background: rgba(255, 255, 255, 0.03); border: 1px solid var(--line); border-left: 2px solid var(--orange); border-radius: 0 16px 16px 0; padding: 20px 24px; margin-bottom: 20px; font-size: 15px; line-height: 1.7; color: #c9c9ce; }
.legal-callout strong { display: block; font-family: var(--f-mono); font-size: 11.5px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--orange-hi); margin-bottom: 6px; }
.legal-warning { font-size: 15px; font-weight: 600; color: var(--text); line-height: 1.7; letter-spacing: 0.01em; }
.legal-divider { border: none; border-top: 1px solid var(--line); margin: 0 0 52px; }
