* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; color: #111827; line-height: 1.6; }

/* Hero - dark gradient like the PDF report */
.hero { background: linear-gradient(135deg, #1e3a5f, #0c4a6e); color: white; padding: 80px 20px; text-align: center; }
.hero h1 { font-size: 42px; font-weight: 800; margin-bottom: 16px; }
.hero p { font-size: 18px; opacity: 0.85; max-width: 600px; margin: 0 auto; }

/* Features grid - 4 cards */
.features { padding: 80px 20px; max-width: 1000px; margin: 0 auto; }
.features h2 { text-align: center; font-size: 28px; margin-bottom: 40px; }
.features-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.feature-card { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 12px; padding: 28px; }
.feature-card h3 { font-size: 18px; margin-bottom: 8px; color: #1e3a5f; }
.feature-card p { font-size: 14px; color: #64748b; }

/* Form section */
.form-section { background: #f8fafc; padding: 80px 20px; }
.form-container { max-width: 500px; margin: 0 auto; }
.form-section h2 { text-align: center; font-size: 28px; margin-bottom: 8px; }
.form-section .subtitle { text-align: center; color: #64748b; margin-bottom: 32px; }
.form-group { margin-bottom: 20px; }
.form-group label { display: block; font-size: 14px; font-weight: 600; margin-bottom: 6px; color: #374151; }
.form-group input { width: 100%; padding: 12px 16px; border: 1px solid #d1d5db; border-radius: 8px; font-size: 16px; }
.form-group input:focus { outline: none; border-color: #1e3a5f; box-shadow: 0 0 0 3px rgba(30, 58, 95, 0.1); }
.submit-btn { width: 100%; padding: 14px; background: #1e3a5f; color: white; border: none; border-radius: 8px; font-size: 16px; font-weight: 700; cursor: pointer; }
.submit-btn:hover { background: #0c4a6e; }
.submit-btn:disabled { opacity: 0.6; cursor: not-allowed; }
.form-message { text-align: center; margin-top: 16px; padding: 12px; border-radius: 8px; font-size: 14px; }
.form-message.success { background: #f0fdf4; color: #166534; border: 1px solid #bbf7d0; }
.form-message.error { background: #fef2f2; color: #991b1b; border: 1px solid #fecaca; }

/* Footer */
.footer { text-align: center; padding: 32px 20px; color: #9ca3af; font-size: 13px; border-top: 1px solid #e2e8f0; }

/* Mobile */
@media (max-width: 768px) {
    .hero h1 { font-size: 28px; }
    .features-grid { grid-template-columns: 1fr; }
}
