/* Extracted from site/how-it-works.html on 2026-04-14 */

.wrap { max-width: 720px; margin: 0 auto; padding: 48px 24px 80px; }
        h1 { font-size: 32px; font-weight: 800; margin-bottom: 8px; }
        .sub { color: var(--text-secondary); margin-bottom: 40px; font-size: 15px; }
        .step-block { display: flex; gap: 20px; margin-bottom: 40px; align-items: flex-start; }
        .step-num { width: 48px; height: 48px; background: var(--accent); color: white; border-radius: 50%;
            display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 20px; flex-shrink: 0; }
        .step-body h2 { font-size: 20px; font-weight: 700; margin-bottom: 8px; }
        .step-body p { font-size: 15px; color: var(--text-secondary); line-height: 1.7; }
        .step-body .detail { margin-top: 12px; background: var(--bg-muted); border-radius: 10px; padding: 16px; font-size: 13px; color: var(--text-secondary); line-height: 1.6; }
        .step-body .detail strong { color: var(--text-primary); }
        .features { margin-top: 48px; }
        .features h2 { font-size: 24px; font-weight: 800; margin-bottom: 24px; }
        .feature-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
        .feature { padding: 20px; border: 1.5px solid var(--border); border-radius: 12px; }
        .feature i { color: var(--accent); margin-bottom: 8px; display: block; }
        .feature svg { stroke: var(--accent); color: var(--accent); }
        .feature h3 { font-size: 15px; font-weight: 700; margin-bottom: 4px; }
        .feature p { font-size: 13px; color: var(--text-secondary); line-height: 1.5; margin: 0; }
        .cta { text-align: center; margin-top: 48px; }
        .cta a { display: inline-block; padding: 14px 32px; background: var(--accent); color: white;
            border-radius: 10px; font-weight: 700; font-size: 16px; text-decoration: none; }
        @media (max-width: 600px) { .feature-grid { grid-template-columns: 1fr; } }

/* Page-specific classes for athon section */
.athon-section { margin-top: 48px; }
.athon-heading { font-size: 24px; font-weight: 800; margin-bottom: 8px; }
.athon-sub { color: var(--text-secondary); margin-bottom: 32px; font-size: 15px; }
.hiw-link { color: var(--accent); }
