/* Reuse the website shell and brand; keep long policies comfortably readable. */
.hdm-legal { min-height: 100vh; }
.legal-main { width: min(92vw, 70rem); margin: var(--section-space) auto; padding: 0; }
.legal-back { display: inline-flex; align-items: center; min-height: 2.75rem; color: var(--maroon); font-weight: 600; }
.legal-draft { margin: 0 0 1rem; padding: .75rem 1rem; border: 1px solid #d5c1ad; border-radius: .75rem; background: var(--cream); color: #634029; font-size: .875rem; }
.legal-card { padding: clamp(1.25rem, 4vw, 3rem); background: #fff; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
.legal-card h1 { font-size: clamp(2rem, 4vw, 3rem); line-height: 1.15; margin-bottom: 1rem; }
.legal-card > section, .legal-contents { max-width: 76ch; margin-inline: auto; }
.legal-card h2, .legal-index h2 { font-family: Inter, system-ui, sans-serif; font-size: 1.125rem; font-weight: 800; line-height: 1.45; letter-spacing: 0; margin: 1.75rem 0 .5rem; }
.legal-card h3 { font-family: Inter, system-ui, sans-serif; font-size: 1rem; font-weight: 700; line-height: 1.5; margin: 1.25rem 0 .25rem; }
.legal-card p { color: var(--soft); margin-block: .75rem; overflow-wrap: anywhere; line-height: 1.75; }
.legal-card .legal-meta { max-width: none; font-size: .875rem; margin: 0 0 1.5rem; }
.legal-main a { color: var(--maroon); text-decoration: underline; text-underline-offset: .2em; }
.legal-main a:hover { color: var(--red); }
.legal-main section { scroll-margin-top: 7rem; }
.legal-index { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; margin-top: 1.5rem; }
.legal-index section { padding: 1.25rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--cream); min-width: 0; }
.legal-index h2 { margin: 0 0 .5rem; }
.legal-index ul { list-style: none; padding: 0; margin: 0; }
.legal-index a { display: block; min-height: 2.75rem; padding: .625rem 0; line-height: 1.5; }
.legal-index a[aria-current="page"] { font-weight: 800; }
.legal-contents { padding: .75rem 1rem; border: 1px solid var(--line); border-radius: .75rem; background: var(--crm-canvas); }
.legal-contents summary { cursor: pointer; font-weight: 600; min-height: 1.75rem; }
.legal-contents ol { list-style: none; padding: .5rem 0 0; }
.legal-contents a { display: inline-block; padding: .5rem 0; }
.legal-skip { position: fixed; top: .5rem; left: 1rem; z-index: 200; transform: translateY(-200%); background: #fff; padding: .75rem 1rem; color: var(--maroon); border-radius: .5rem; }
.legal-skip:focus { transform: translateY(0); }
.hdm-legal :focus-visible { outline: 3px solid var(--maroon); outline-offset: 4px; }
.hdm-legal .site-footer { background: #171717; }
@media (max-width: 600px) { .legal-index { grid-template-columns: 1fr; } }
@media print {
  .hdm-legal { background: #fff; }
  .hdm-legal .site-header, .hdm-legal .site-footer, .legal-back, .legal-contents, .legal-index { display: none; }
  .legal-main { width: 100%; margin: 0; }
  .legal-card { border: 0; box-shadow: none; padding: 0; }
}
