/* Legal / policy pages. Colours, type and spacing come from /assets/hopewick-tokens.css. */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0; font-family: var(--font); line-height: var(--leading); color: var(--text); font-size: 17px;
  background: var(--bg); -webkit-font-smoothing: antialiased;
}
a { color: var(--accent); text-underline-offset: 2px; }
a:hover { color: var(--accent-strong); }
:focus-visible { outline: 3px solid var(--focus-color); outline-offset: 2px; border-radius: 6px; }
.skip-link { position: absolute; left: 12px; top: -60px; background: var(--accent); color: var(--accent-contrast); padding: 8px 14px; border-radius: 10px; z-index: 15; text-decoration: none; }
.skip-link:focus { top: 12px; }
.wrap { max-width: 760px; margin: 0 auto; padding: 0 var(--space-5); }
header.site-header { border-bottom: 1px solid var(--border); background: var(--surface); position: sticky; top: 0; z-index: 10; }
.nav { display: flex; align-items: center; gap: var(--space-3); min-height: 64px; flex-wrap: wrap; padding-top: 8px; padding-bottom: 8px; }
.logo { display: flex; align-items: center; gap: 10px; font-weight: var(--weight-bold); font-size: var(--text-lg); text-decoration: none; color: var(--text); margin-right: auto; }
.logo-mark { width: 36px; height: auto; flex: none; display: block; }
.nav a.quiet { color: var(--muted); text-decoration: none; font-weight: var(--weight-semibold); min-height: var(--tap); display: inline-flex; align-items: center; padding: 0 4px; }
.nav a.quiet:hover { color: var(--text); }
main { padding: var(--space-8) 0 var(--space-12); }
h1 { font-family: var(--font-display); font-size: clamp(1.7rem, 4vw, 2.2rem); line-height: 1.15; margin: 0 0 8px; letter-spacing: -.02em; }
h2 { font-size: var(--text-lg); margin: var(--space-8) 0 var(--space-2); }
p, li { color: var(--text); }
.lede { color: var(--muted); margin-top: 0; }
ul, ol { padding-left: 1.3em; }
li { margin: 6px 0; }
.note { border-left: 4px solid var(--accent); background: var(--surface); padding: 12px 16px; border-radius: 0 var(--radius-sm) var(--radius-sm) 0; }
.note.warn { border-left-color: var(--danger); }
footer { border-top: 1px solid var(--border); padding: 22px 0 36px; color: var(--muted); font-size: .92rem; }
footer p { margin: 6px 0; color: var(--muted); }
.links { display: flex; flex-wrap: wrap; gap: 12px 16px; list-style: none; padding: 0; }
@media (max-width: 520px) {
  .nav { gap: 8px; flex-wrap: nowrap; }
  .nav .hw-theme-toggle [data-theme-label], .nav .crisis-long { display: none; }
  .nav a.quiet[href="./#safety"] { display: none; }  /* Get help is the safety entry on phones */
  .logo { font-size: 1.05rem; gap: 6px; }
}
@media (max-width: 400px) {
  /* Keep Get help fully on screen when the phone's default font runs wide. */
  .nav { gap: 4px; }
  .nav .hw-crisis-btn { padding: 8px 10px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
