
    .max-w-3xl { max-width: 48rem; }
    .pt-12 { padding-top: 3rem; }
    .pb-8 { padding-bottom: 2rem; }
    .pb-12 { padding-bottom: 3rem; }
    .mb-3 { margin-bottom: 0.75rem; }
    .pt-1 { padding-top: 0.25rem; }
    .letter-block { background: #fafbfc; border-left: 4px solid #2563eb; padding: 2rem; margin-bottom: 2rem; border-radius: 0 8px 8px 0; }
    .letter-block p { line-height: 1.8; color: #374151; }
    .letter-sig { color: #1e40af; font-weight: 600; }
    .guarantee-card { border: 1px solid #e5e7eb; border-radius: 12px; padding: 1.5rem; transition: box-shadow 0.2s; }
    .guarantee-card:hover { box-shadow: 0 4px 12px rgba(0,0,0,0.08); }
    .step-num { background: #2563eb; color: white; width: 2rem; height: 2rem; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 0.875rem; flex-shrink: 0; }
    .faq-q { font-weight: 600; font-size: 1.125rem; color: #111827; }
    .faq-a { color: #4b5563; line-height: 1.7; }
    .section-divider { height: 1px; background: #e5e7eb; margin: 3rem 0; }
    .form-section { background: #f9fafb; border-radius: 12px; padding: 2rem; }
    .terms-section { border-bottom: 1px solid #f3f4f6; padding-bottom: 1.5rem; margin-bottom: 1.5rem; }
    .consent-item { padding: 0.75rem 0; border-bottom: 1px solid #f3f4f6; }
    .datasource-row { padding: 0.5rem 0; }
    .nav-link { color: #6b7280; text-decoration: none; font-size: 0.875rem; }
    .nav-link:hover { color: #111827; }
    .hero-text { color: #6b7280; font-size: 1.125rem; max-width: 36rem; }
    .page-footer { border-top: 1px solid #e5e7eb; }
    .signup-card { border: 2px solid #2563eb; border-radius: 12px; padding: 2rem; text-align: center; transition: box-shadow 0.2s; }
    .signup-card:hover { box-shadow: 0 4px 16px rgba(37,99,235,0.15); }
    .back-link { color: #2563eb; text-decoration: none; font-size: 0.875rem; }
    .back-link:hover { text-decoration: underline; }
