/* WanderJosh legal pages — intentionally scoped to .legal-page. */
.legal-page { margin:0; background:var(--paper,#faf9f6); color:var(--ink,#142d43); }
.legal-shell { width:min(1160px,calc(100% - 64px)); margin-inline:auto; }
.legal-topbar { min-height:92px; display:flex; align-items:center; justify-content:space-between; gap:20px; border-bottom:1px solid var(--line,#d7dfe2); }
.legal-topbar .wordmark { flex-shrink:0; }
.legal-topnav { display:flex; align-items:center; justify-content:flex-end; gap:24px; font-size:14px; font-weight:600; }
.legal-topnav > a { white-space:nowrap; padding:8px 0; }
.legal-topnav > a:hover { color:var(--blue,#146c9b); }
.legal-topnav .legal-nav-cta { background:var(--ink,#142d43); color:#fff; padding:11px 15px; border-radius:6px; }
.legal-topnav .legal-nav-cta:hover { background:var(--blue,#146c9b); color:#fff; }
.legal-hero { padding:78px 0 58px; border-bottom:1px solid var(--line,#d7dfe2); }
.legal-kicker { display:block; font:700 12px/1.5 'DM Sans',Arial,sans-serif; color:var(--blue,#146c9b); letter-spacing:.15em; text-transform:uppercase; margin-bottom:18px; }
.legal-hero h1 { max-width:880px; font-size:clamp(42px,5.6vw,70px); line-height:1.08; letter-spacing:-.06em; margin:0 0 23px; }
.legal-intro { max-width:770px; color:var(--muted,#4e6170); font-size:19px; line-height:1.7; margin:0 0 18px; }
.legal-updated { font-size:13px; color:var(--muted,#4e6170); margin:24px 0 0; }
.legal-grid { display:grid; grid-template-columns:242px minmax(0,1fr); gap:clamp(48px,7vw,108px); padding:50px 0 100px; align-items:start; }
.legal-toc { position:sticky; top:28px; border-left:2px solid var(--line,#d7dfe2); padding:6px 0 6px 20px; }
.legal-toc strong { display:block; font-size:12px; text-transform:uppercase; letter-spacing:.1em; margin-bottom:14px; }
.legal-toc a { display:block; font-size:14px; line-height:1.5; color:var(--muted,#4e6170); padding:7px 0; }
.legal-toc a:hover { color:var(--blue,#146c9b); }
.legal-body { min-width:0; max-width:790px; }
.legal-body section { padding:0 0 34px; margin-bottom:38px; border-bottom:1px solid var(--line,#d7dfe2); scroll-margin-top:40px; }
.legal-body section:last-child { border-bottom:0; }
.legal-body h2 { font-size:clamp(24px,2.6vw,32px); line-height:1.25; margin:0 0 15px; }
.legal-body h3 { font-size:19px; margin:24px 0 10px; }
.legal-body p, .legal-body li { color:var(--muted,#4e6170); font-size:16px; line-height:1.85; }
.legal-body p { margin:0 0 17px; }
.legal-body ul { padding-left:24px; margin:12px 0 24px; }
.legal-body li { padding-left:3px; margin:8px 0; }
.legal-body a:not(.button) { text-decoration:underline; text-decoration-color:#9bb6c4; text-underline-offset:4px; }
.legal-body a:not(.button):hover { color:var(--blue,#146c9b); }
.legal-summary { background:#e9f2f6; border:1px solid #c9dce5; border-radius:10px; padding:23px 27px; margin:0 0 40px; }
.legal-summary strong { display:block; margin-bottom:9px; font-size:16px; }
.legal-summary p { margin:0; }
.legal-placeholder { color:#8e4b22; font-weight:700; }
.legal-footer { border-top:1px solid var(--line,#d7dfe2); padding:32px 0; display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:18px; font-size:13px; color:var(--muted,#4e6170); }
.legal-footer nav { display:flex; gap:18px; align-items:center; flex-wrap:wrap; font-size:13px; }
.legal-footer a:hover { color:var(--blue,#146c9b); }
.legal-footer .wordmark { color:var(--ink,#142d43); font-size:22px; }
@media(max-width:960px) {
  .legal-topnav { gap:15px; }
  .legal-grid { grid-template-columns:190px minmax(0,1fr); gap:40px; }
}
@media(max-width:700px) {
  .legal-shell { width:calc(100% - 40px); }
  .legal-topbar { min-height:76px; }
  .legal-topbar .wordmark { font-size:25px; }
  .legal-topbar .wordmark svg { display:none; }
  .legal-topnav > a:not(.legal-nav-cta) { display:none; }
  .legal-hero { padding:54px 0 42px; }
  .legal-intro { font-size:17px; }
  .legal-grid { display:block; padding:34px 0 64px; }
  .legal-toc { position:static; border-left:0; padding:0 0 24px; margin-bottom:34px; border-bottom:1px solid var(--line,#d7dfe2); }
  .legal-toc a { display:inline-block; margin-right:18px; padding:4px 0; }
  .legal-summary { padding:18px 19px; }
  .legal-body section { margin-bottom:31px; }
}
@media(max-width:390px) {
  .legal-topnav .legal-nav-cta { font-size:12px; padding:10px 11px; }
  .legal-topbar .wordmark { font-size:22px; }
}
