    /* ---- Page Layout ---- */
    .page-body {
      font-family: 'Inter', system-ui, sans-serif;
      overflow-x: hidden;
    }

    /* ---- Nav (matches index.html) ---- */
    .page-nav {
      position: fixed;
      top: 6.25rem;
      left: 0;
      right: 0;
      z-index: 100;
      background: var(--retire-bg);
      border-bottom: 0.0625rem solid var(--retire-border);
      box-shadow: var(--retire-shadow);
    }
    .nav-inner {
      max-width: 75rem;
      margin: 0 auto;
      padding: 0 1.5rem;
      display: flex;
      align-items: center;
      justify-content: space-between;
      min-height: 4.25rem;
    }
    .nav-logo {
      display: flex;
      align-items: center;
      gap: 0.625rem;
      text-decoration: none;
      color: var(--retire-text);
      font-weight: 800;
      font-size: 1.375rem;
    }
    .nav-logo-icon {
      width: 2.5rem;
      height: 2.5rem;
      background: var(--retire-primary);
      border-radius: 0.5rem;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #FFFFFF;
      font-size: 1.125rem;
    }
    .nav-links {
      display: none;
      align-items: center;
      gap: 0.25rem;
      list-style: none;
    }
    .nav-links a {
      display: inline-flex;
      align-items: center;
      padding: 0.5rem 1rem;
      color: var(--retire-text-secondary);
      text-decoration: none;
      font-size: var(--font-body);
      font-weight: 500;
      border-radius: 0.375rem;
      transition: color var(--transition-fast), background var(--transition-fast);
      min-height: var(--touch-min);
    }
    .nav-links a:hover {
      color: var(--retire-primary);
      background: var(--retire-bg-alt);
    }
    .nav-actions {
      display: flex;
      align-items: center;
      gap: 0.5rem;
    }
    .mobile-menu-btn {
      display: flex;
      align-items: center;
      justify-content: center;
      width: var(--touch-min);
      height: var(--touch-min);
      border: none;
      background: transparent;
      color: var(--retire-text);
      font-size: 1.375rem;
      cursor: pointer;
      border-radius: 0.375rem;
    }
    .mobile-menu-btn:hover { background: var(--retire-surface); }

    /* Mobile nav panel */
    .mobile-nav {
      display: none;
      position: fixed;
      top: 6.25rem;
      left: 0;
      right: 0;
      bottom: 0;
      background: var(--retire-bg);
      z-index: 99;
      padding: 1.5rem;
      overflow-y: auto;
    }
    .mobile-nav.open { display: block; }
    .mobile-nav a {
      display: flex;
      align-items: center;
      padding: 0.875rem 1rem;
      color: var(--retire-text);
      text-decoration: none;
      font-size: var(--font-label);
      font-weight: 500;
      border-radius: 0.5rem;
      min-height: var(--touch-min);
    }
    .mobile-nav a:hover { background: var(--retire-surface); }

    /* Theme toggle */
    .theme-btn {
      display: flex;
      align-items: center;
      justify-content: center;
      width: var(--touch-min);
      height: var(--touch-min);
      border: 0.0625rem solid var(--retire-border);
      background: var(--retire-surface);
      color: var(--retire-text);
      border-radius: 0.5rem;
      cursor: pointer;
      font-size: 1.125rem;
      transition: all var(--transition-fast);
    }
    .theme-btn:hover { background: var(--retire-card-hover-bg); }

    /* ---- Content Area ---- */
    .content-area {
      max-width: 50rem;
      margin: 0 auto;
      padding: 6.5rem 1.5rem 4rem;
    }

    /* ---- Page Header ---- */
    .page-header {
      margin-bottom: 2.5rem;
      padding-bottom: 1.5rem;
      border-bottom: 0.0625rem solid var(--retire-border);
    }
    .page-header h1 {
      font-size: var(--font-heading-xl);
      font-weight: 800;
      color: var(--retire-text);
      margin-bottom: 0.75rem;
      line-height: var(--line-height-heading);
    }
    .page-header .last-updated {
      font-size: var(--font-body);
      color: var(--retire-text-muted);
    }

    /* ---- Policy Sections ---- */
    .policy-section {
      margin-bottom: 2.5rem;
    }
    .policy-section h2 {
      font-size: var(--font-heading-md);
      font-weight: 700;
      color: var(--retire-text);
      margin-bottom: 1rem;
      line-height: var(--line-height-heading);
      display: flex;
      align-items: center;
      gap: 0.625rem;
    }
    .policy-section h2 i {
      color: var(--retire-primary);
      font-size: 1.25rem;
    }
    .policy-section h3 {
      font-size: var(--font-heading-sm);
      font-weight: 600;
      color: var(--retire-text);
      margin-top: 1.25rem;
      margin-bottom: 0.625rem;
      line-height: var(--line-height-heading);
    }
    .policy-section p {
      font-size: var(--font-body);
      color: var(--retire-text-secondary);
      line-height: var(--line-height-body);
      margin-bottom: 0.75rem;
    }
    .policy-section ul {
      list-style: none;
      padding: 0;
      margin: 0 0 1rem;
    }
    .policy-section ul li {
      display: flex;
      align-items: flex-start;
      gap: 0.625rem;
      padding: 0.375rem 0;
      font-size: var(--font-body);
      color: var(--retire-text-secondary);
      line-height: var(--line-height-body);
    }
    .policy-section ul li i {
      color: var(--retire-secondary);
      margin-top: 0.3125rem;
      flex-shrink: 0;
      font-size: 0.75rem;
    }
    .policy-section a {
      color: var(--retire-primary);
      text-decoration: underline;
      text-underline-offset: 0.125rem;
    }
    .policy-section a:hover {
      color: var(--retire-primary-dark);
    }

    /* ---- Footer ---- */
    .page-footer {
      background: var(--retire-surface);
      border-top: 0.0625rem solid var(--retire-border);
      padding: 2rem 1.5rem;
      text-align: center;
      color: var(--retire-text-muted);
      font-size: 0.875rem;
    }

    /* Desktop breakpoint */
    @media (min-width: 48rem) {
      .nav-links { display: flex; }
      .mobile-menu-btn { display: none; }
    }
