.wrap { max-width: 720px; margin: 0 auto; padding: 48px 24px 80px; }
        .hero { text-align: center; margin-bottom: 48px; }
        .hero .tag { display: inline-block; padding: 4px 12px; border-radius: 20px; background: var(--accent-light); color: var(--accent); font-size: 12px; font-weight: 700; margin-bottom: 12px; text-transform: uppercase; letter-spacing: 0.5px; }
        .hero h1 { font-size: 40px; font-weight: 800; line-height: 1.15; margin-bottom: 16px; }
        .hero p { font-size: 17px; color: var(--text-secondary); line-height: 1.6; max-width: 560px; margin: 0 auto 28px; }
        .hero a { display: inline-block; padding: 14px 28px; background: var(--accent); color: white; border-radius: 10px; font-weight: 700; text-decoration: none; }
        .pain-points { margin-bottom: 48px; }
        .pain-points h2 { font-size: 24px; font-weight: 800; margin-bottom: 20px; }
        .pain { display: flex; gap: 12px; margin-bottom: 16px; align-items: flex-start; }
        .pain i { color: #ef4444; flex-shrink: 0; margin-top: 2px; }
        .pain .text { font-size: 15px; color: var(--text-secondary); line-height: 1.5; }
        .pain .text strong { color: var(--text-primary); }
        .solution { background: var(--bg-muted); border-radius: 14px; padding: 32px; margin-bottom: 48px; }
        .solution h2 { font-size: 24px; font-weight: 800; margin-bottom: 20px; }
        .benefit { display: flex; gap: 12px; margin-bottom: 14px; align-items: flex-start; }
        .benefit i { color: var(--accent); flex-shrink: 0; margin-top: 2px; }
        .benefit .text { font-size: 15px; color: var(--text-secondary); line-height: 1.5; }
        .section { margin-bottom: 48px; }
        .section h2 { font-size: 24px; font-weight: 800; margin-bottom: 20px; }
        .watches { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin: 24px 0; }
        .watch { padding: 12px 20px; border: 1.5px solid var(--border); border-radius: 10px; font-size: 14px; font-weight: 600; background: white; text-align: center; }
        .use-cases h2 { font-size: 24px; font-weight: 800; margin-bottom: 20px; }
        .use-case { padding: 16px; border: 1.5px solid var(--border); border-radius: 10px; margin-bottom: 10px; }
        .use-case h3 { font-size: 15px; font-weight: 700; margin-bottom: 4px; }
        .use-case p { font-size: 13px; color: var(--text-secondary); line-height: 1.5; margin: 0; }
        .cta-bottom { text-align: center; padding: 48px 0; }
        .cta-bottom h2 { font-size: 28px; font-weight: 800; margin-bottom: 8px; }
        .cta-bottom p { color: var(--text-secondary); margin-bottom: 20px; }
        .cta-bottom a { display: inline-block; padding: 14px 28px; background: var(--accent); color: white; border-radius: 10px; font-weight: 700; text-decoration: none; }

        /* Swim-specific mockup and section styles */
        .strava-note { text-align: center; font-size: 13px; color: var(--text-muted); }
        .section-header { text-align: center; margin: 24px 0 16px; }
        .section-header h2 { font-size: 24px; font-weight: 800; margin-bottom: 4px; }
        .section-header p { font-size: 14px; color: var(--text-secondary); }
        .mockup-center-top { text-align: center; padding-top: 8px; }
        .mockup-import-wrap { text-align: center; margin: 16px 0; }
        .mockup-import-title { font-size: 14px; margin-bottom: 12px; }
        .strava-btn { display: flex; align-items: center; justify-content: center; gap: 6px; padding: 10px; border: 1.5px solid #FC4C02; border-radius: 8px; margin-bottom: 8px; }
        .strava-btn span { font-weight: 700; color: #FC4C02; font-size: 13px; }
        .fitbit-btn { display: flex; align-items: center; justify-content: center; gap: 6px; padding: 10px; border: 1.5px solid #00B0B9; border-radius: 8px; }
        .fitbit-btn span { font-weight: 700; color: #00B0B9; font-size: 13px; }
        .mockup-badge-wrap { margin-top: 8px; }
        .mockup-pool-detail { font-size: 9px; color: #9ca3af; margin-top: 6px; }
        @media (max-width: 600px) { .hero h1 { font-size: 28px; } }
