NVIDIA Nemotron 3 Ultra – Religion and Spirituality

via BaseTen · Generated

  • AIMAC Debt 7.95
  • Cost $0.06
  • Total Violations 15
  • HTML Size 80 KB
  • Em Dashes 3

Screenshot

View NVIDIA Nemotron 3 Ultra Religion and Spirituality page View Live Page

Accessibility Issues Found

15 Serious

  • color-contrast serious 12 instances

    Elements must meet minimum color contrast ratio thresholds

    Example HTML <span class="logo-tagline">Rooted. Growing. Reaching.</span>
  • target-size serious 3 instances

    All touch targets must be 24px large, or leave sufficient space

    Example HTML <input type="checkbox" name="share" value="pastors" checked="">

Artifacts

View Generated HTML
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="description" content="Cornerstone Fellowship - A community rooted in faith, growing in love, and reaching the world. Join us for worship, discipleship, and outreach.">
    <title>Cornerstone Fellowship | Rooted in Faith. Growing in Love. Reaching the World.</title>
    <link rel="preconnect" href="https://fonts.googleapis.com">
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
    <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Merriweather:ital,wght@0,400;0,700;1,400&display=swap" rel="stylesheet">
    <style>
        /* --- CSS Custom Properties (Design Tokens) --- */
        :root {
            --color-navy: #1B2A4A;
            --color-navy-light: #2C3E6B;
            --color-gold: #C8A951;
            --color-gold-dark: #B09340;
            --color-cream: #FDFBF7;
            --color-white: #FFFFFF;
            --color-text: #333333;
            --color-text-light: #555555;
            --color-border: #E8E4DB;
            --shadow-sm: 0 1px 3px rgba(0,0,0,0.05);
            --shadow-md: 0 4px 12px rgba(27, 42, 74, 0.08);
            --shadow-lg: 0 10px 30px rgba(27, 42, 74, 0.12);
            --radius-sm: 4px;
            --radius-md: 8px;
            --radius-lg: 16px;
            --transition-fast: 150ms ease;
            --transition-base: 250ms ease;
            --container-max: 1200px;
            --header-height: 80px;
        }

        /* --- Reset & Base --- */
        *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
        html { scroll-behavior: smooth; font-size: 16px; }
        @media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { animation: none !important; transition: none !important; } }

        body {
            font-family: 'Inter', sans-serif;
            background-color: var(--color-cream);
            color: var(--color-text);
            line-height: 1.7;
            -webkit-font-smoothing: antialiased;
            display: flex;
            flex-direction: column;
            min-height: 100vh;
        }

        h1, h2, h3, h4, h5, h6 { font-family: 'Merriweather', serif; font-weight: 700; line-height: 1.3; color: var(--color-navy); }
        h1 { font-size: clamp(2.5rem, 5vw, 4rem); letter-spacing: -0.02em; }
        h2 { font-size: clamp(2rem, 4vw, 3rem); margin-bottom: 1rem; }
        h3 { font-size: clamp(1.25rem, 2vw, 1.5rem); margin-bottom: 0.75rem; }
        p { margin-bottom: 1rem; color: var(--color-text-light); font-size: 1.05rem; }
        a { color: var(--color-navy); text-decoration: none; transition: color var(--transition-fast); }
        a:hover { color: var(--color-gold); }
        img { max-width: 100%; height: auto; display: block; border-radius: var(--radius-md); }
        ul { list-style: none; }
        button { font-family: inherit; cursor: pointer; border: none; background: none; font-size: 1rem; }

        .container { width: 100%; max-width: var(--container-max); margin: 0 auto; padding: 0 1.5rem; }
        .section { padding: 5rem 0; }
        .section-header { text-align: center; max-width: 700px; margin: 0 auto 3rem; }
        .section-header p { font-size: 1.15rem; color: var(--color-text); font-weight: 300; }
        .btn {
            display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem;
            padding: 0.875rem 2rem; border-radius: var(--radius-md); font-weight: 600; font-size: 0.95rem;
            transition: all var(--transition-base); border: 2px solid transparent;
        }
        .btn-primary { background: var(--color-navy); color: var(--color-white); border-color: var(--color-navy); }
        .btn-primary:hover { background: var(--color-navy-light); border-color: var(--color-navy-light); color: var(--color-white); transform: translateY(-2px); box-shadow: var(--shadow-md); }
        .btn-gold { background: var(--color-gold); color: var(--color-navy); border-color: var(--color-gold); }
        .btn-gold:hover { background: var(--color-gold-dark); border-color: var(--color-gold-dark); color: var(--color-navy); transform: translateY(-2px); box-shadow: var(--shadow-md); }
        .btn-outline { background: transparent; color: var(--color-navy); border-color: var(--color-navy); }
        .btn-outline:hover { background: var(--color-navy); color: var(--color-white); }

        /* --- Header & Navigation --- */
        .site-header {
            position: sticky; top: 0; z-index: 1000;
            background: rgba(253, 251, 247, 0.95); backdrop-filter: blur(10px);
            border-bottom: 1px solid var(--color-border); height: var(--header-height);
        }
        .header-inner { display: flex; align-items: center; justify-content: space-between; height: 100%; gap: 2rem; }
        .logo { display: flex; align-items: center; gap: 0.75rem; text-decoration: none; flex-shrink: 0; }
        .logo-img { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; box-shadow: var(--shadow-sm); }
        .logo-text { display: flex; flex-direction: column; line-height: 1.1; }
        .logo-name { font-family: 'Merriweather', serif; font-size: 1.25rem; font-weight: 700; color: var(--color-navy); letter-spacing: -0.01em; }
        .logo-tagline { font-size: 0.65rem; text-transform: uppercase; letter-spacing: 0.1em; color: var(--color-gold); font-weight: 600; }

        .main-nav { display: none; } /* Hidden mobile default */
        .main-nav-list { display: flex; gap: 0.5rem; align-items: center; }
        .main-nav-link { padding: 0.5rem 1rem; border-radius: var(--radius-sm); font-weight: 500; font-size: 0.9rem; color: var(--color-text); transition: all var(--transition-fast); white-space: nowrap; }
        .main-nav-link:hover, .main-nav-link.active { color: var(--color-gold); background: rgba(200, 169, 81, 0.1); }
        .nav-cta { margin-left: 0.5rem; padding: 0.6rem 1.25rem; }

        .mobile-menu-btn { display: flex; flex-direction: column; gap: 5px; padding: 0.5rem; z-index: 1001; }
        .mobile-menu-btn span { width: 24px; height: 2px; background: var(--color-navy); transition: var(--transition-fast); border-radius: 2px; }
        .mobile-menu-btn[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
        .mobile-menu-btn[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
        .mobile-menu-btn[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

        /* --- Mobile Nav Overlay --- */
        .mobile-nav-overlay {
            position: fixed; inset: 0; background: var(--color-cream); z-index: 999;
            display: flex; flex-direction: column; padding: calc(var(--header-height) + 2rem) 1.5rem 2rem;
            transform: translateX(100%); transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
            opacity: 0; visibility: hidden; overflow-y: auto;
        }
        .mobile-nav-overlay.open { transform: translateX(0); opacity: 1; visibility: visible; }
        .mobile-nav-list { display: flex; flex-direction: column; gap: 0.5rem; width: 100%; }
        .mobile-nav-link { display: block; padding: 1rem 1.5rem; font-size: 1.1rem; font-weight: 500; color: var(--color-navy); border-radius: var(--radius-md); border-left: 4px solid transparent; }
        .mobile-nav-link:hover, .mobile-nav-link.active { background: rgba(200, 169, 81, 0.1); border-left-color: var(--color-gold); color: var(--color-navy); }
        .mobile-nav-cta { margin-top: 1rem; text-align: center; }

        /* --- Hero Section --- */
        .hero { position: relative; min-height: calc(100vh - var(--header-height)); display: flex; align-items: center; background: var(--color-navy); color: var(--color-white); overflow: hidden; }
        .hero-bg { position: absolute; inset: 0; z-index: 0; opacity: 0.25; }
        .hero-bg img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(100%); }
        .hero-content { position: relative; z-index: 1; width: 100%; padding: 4rem 0; }
        .hero-badge { display: inline-block; background: rgba(200, 169, 81, 0.15); border: 1px solid var(--color-gold); color: var(--color-gold); padding: 0.5rem 1.25rem; border-radius: 100px; font-size: 0.85rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 1.5rem; }
        .hero h1 { max-width: 800px; margin-bottom: 1.5rem; color: var(--color-white); }
        .hero p.lead { font-size: clamp(1.1rem, 2.5vw, 1.35rem); max-width: 650px; margin-bottom: 2.5rem; color: rgba(255,255,255,0.85); font-weight: 300; line-height: 1.8; }
        .hero-actions { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; }
        .hero-scroll { display: none; margin-top: 3rem; text-align: center; color: rgba(255,255,255,0.5); font-size: 0.85rem; animation: bounce 2s infinite; }
        .hero-scroll svg { width: 24px; height: 24px; margin-top: 0.5rem; stroke: currentColor; }
        @keyframes bounce { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(6px); } }

        /* --- Feature Grid (Core Values) --- */
        .features { background: var(--color-white); }
        .features-grid { display: grid; grid-template-columns: 1fr; gap: 1.5rem; }
        .feature-card {
            background: var(--color-cream); border: 1px solid var(--color-border); border-radius: var(--radius-lg);
            padding: 2.5rem 2rem; text-align: center; transition: all var(--transition-base);
            position: relative; overflow: hidden;
        }
        .feature-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: var(--color-gold); transform: scaleX(0); transform-origin: left; transition: transform var(--transition-base); }
        .feature-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-lg); border-color: transparent; }
        .feature-card:hover::before { transform: scaleX(1); }
        .feature-icon { width: 64px; height: 64px; margin: 0 auto 1.5rem; background: linear-gradient(135deg, var(--color-navy), var(--color-navy-light)); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: var(--color-gold); font-size: 1.5rem; flex-shrink: 0; }
        .feature-card h3 { color: var(--color-navy); margin-bottom: 0.75rem; }
        .feature-card p { color: var(--color-text-light); margin: 0; font-size: 1rem; }

        /* --- Ministry/Events Section --- */
        .ministries { background: var(--color-cream); }
        .ministry-grid { display: grid; grid-template-columns: 1fr; gap: 1.5rem; }
        .ministry-card { background: var(--color-white); border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-sm); border: 1px solid var(--color-border); transition: all var(--transition-base); display: flex; flex-direction: column; }
        .ministry-card:hover { box-shadow: var(--shadow-lg); transform: translateY(-4px); }
        .ministry-img { width: 100%; height: 220px; object-fit: cover; }
        .ministry-body { padding: 1.75rem; display: flex; flex-direction: column; flex: 1; }
        .ministry-tag { display: inline-block; font-size: 0.7rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: var(--color-gold); background: rgba(200, 169, 81, 0.1); padding: 0.25rem 0.75rem; border-radius: 100px; width: fit-content; margin-bottom: 0.75rem; }
        .ministry-card h3 { margin-bottom: 0.5rem; font-size: 1.25rem; }
        .ministry-card p { flex: 1; margin-bottom: 1.25rem; font-size: 0.95rem; }
        .ministry-meta { display: flex; gap: 1.5rem; font-size: 0.8rem; color: var(--color-text-light); padding-top: 1rem; border-top: 1px solid var(--color-border); margin-top: auto; }
        .ministry-meta span { display: flex; align-items: center; gap: 0.35rem; }

        /* --- Media / Sermon Section --- */
        .media-section { background: var(--color-white); }
        .media-feature { display: grid; grid-template-columns: 1fr; gap: 2.5rem; align-items: center; }
        .media-video-wrapper { position: relative; aspect-ratio: 16/9; border-radius: var(--radius-lg); overflow: hidden; background: var(--color-navy); box-shadow: var(--shadow-lg); cursor: pointer; }
        .media-video-wrapper img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s ease; filter: brightness(0.7); }
        .media-video-wrapper:hover img { transform: scale(1.03); }
        .play-btn { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 80px; height: 80px; background: var(--color-gold); border-radius: 50%; display: flex; align-items: center; justify-content: center; box-shadow: var(--shadow-lg); transition: all var(--transition-base); z-index: 2; }
        .play-btn svg { width: 32px; height: 32px; fill: var(--color-navy); margin-left: 4px; }
        .media-video-wrapper:hover .play-btn { background: var(--color-white); transform: translate(-50%, -50%) scale(1.1); }
        .media-content h2 { text-align: left; max-width: none; margin-bottom: 1.5rem; }
        .media-content p { margin-bottom: 1.5rem; }
        .sermon-meta { display: flex; flex-wrap: wrap; gap: 1.5rem; margin-bottom: 2rem; font-size: 0.9rem; color: var(--color-text-light); }
        .sermon-meta strong { color: var(--color-navy); }
        .media-links { display: flex; flex-wrap: wrap; gap: 1rem; }

        /* --- Testimonials --- */
        .testimonials { background: var(--color-navy); color: var(--color-white); }
        .testimonials h2, .testimonials .section-header p { color: var(--color-white); }
        .testimonials .section-header p { color: rgba(255,255,255,0.7); }
        .testimonial-grid { display: grid; grid-template-columns: 1fr; gap: 1.5rem; }
        .testimonial-card { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius: var(--radius-lg); padding: 2.5rem; position: relative; }
        .testimonial-card::before { content: '\201C'; font-family: Georgia, serif; font-size: 6rem; color: var(--color-gold); opacity: 0.15; position: absolute; top: 1rem; left: 1.5rem; line-height: 1; font-weight: 400; }
        .testimonial-text { position: relative; z-index: 1; font-size: 1.1rem; line-height: 1.8; margin-bottom: 2rem; font-style: italic; color: rgba(255,255,255,0.9); }
        .testimonial-author { display: flex; align-items: center; gap: 1rem; }
        .author-avatar { width: 56px; height: 56px; border-radius: 50%; object-fit: cover; border: 2px solid var(--color-gold); flex-shrink: 0; }
        .author-info h4 { color: var(--color-white); margin: 0; font-size: 1rem; }
        .author-info p { margin: 0; color: var(--color-gold); font-size: 0.85rem; font-style: normal; font-family: 'Inter', sans-serif; font-weight: 500; }

        /* --- FAQ Accordion --- */
        .faq { background: var(--color-cream); }
        .faq-list { max-width: 800px; margin: 0 auto; }
        .faq-item { border-bottom: 1px solid var(--color-border); }
        .faq-item:first-child { border-top: 1px solid var(--color-border); }
        .faq-question { width: 100%; display: flex; justify-content: space-between; align-items: center; padding: 1.5rem 0; text-align: left; font-family: 'Merriweather', serif; font-size: 1.15rem; font-weight: 700; color: var(--color-navy); background: none; cursor: pointer; gap: 1rem; }
        .faq-question svg { width: 24px; height: 24px; stroke: var(--color-gold); flex-shrink: 0; transition: transform var(--transition-fast); }
        .faq-item.active .faq-question svg { transform: rotate(180deg); }
        .faq-answer { max-height: 0; overflow: hidden; transition: max-height 0.4s ease, padding 0.4s ease; }
        .faq-answer-inner { padding-bottom: 1.5rem; color: var(--color-text-light); line-height: 1.8; }
        .faq-answer-inner p:last-child { margin-bottom: 0; }

        /* --- Newsletter / Connect --- */
        .connect { background: linear-gradient(135deg, var(--color-navy) 0%, var(--color-navy-light) 100%); color: var(--color-white); text-align: center; position: relative; overflow: hidden; }
        .connect::before { content: ''; position: absolute; top: -50%; right: -10%; width: 60%; height: 200%; background: radial-gradient(circle, var(--color-gold) 0%, transparent 70%); opacity: 0.05; }
        .connect-content { position: relative; z-index: 1; max-width: 600px; margin: 0 auto; }
        .connect h2 { color: var(--color-white); margin-bottom: 1rem; }
        .connect p { color: rgba(255,255,255,0.8); margin-bottom: 2rem; }
        .newsletter-form { display: flex; flex-direction: column; gap: 0.75rem; max-width: 480px; margin: 0 auto; text-align: left; }
        .form-group { display: flex; flex-direction: column; gap: 0.35rem; }
        .form-group label { font-size: 0.85rem; font-weight: 500; color: rgba(255,255,255,0.8); }
        .form-group input, .form-group select { padding: 0.875rem 1rem; border-radius: var(--radius-md); border: 1px solid rgba(255,255,255,0.2); background: rgba(255,255,255,0.05); color: var(--color-white); font-family: inherit; font-size: 1rem; transition: border-color var(--transition-fast), box-shadow var(--transition-fast); }
        .form-group input::placeholder { color: rgba(255,255,255,0.4); }
        .form-group input:focus, .form-group select:focus { outline: none; border-color: var(--color-gold); box-shadow: 0 0 0 3px rgba(200, 169, 81, 0.2); }
        .form-submit { margin-top: 0.5rem; width: 100%; }
        .form-note { font-size: 0.75rem; color: rgba(255,255,255,0.5); text-align: center; margin-top: 0.5rem; }

        /* --- Footer --- */
        .site-footer { background: var(--color-navy); color: rgba(255,255,255,0.7); padding: 4rem 0 2rem; font-size: 0.9rem; }
        .footer-grid { display: grid; grid-template-columns: 1fr; gap: 2.5rem; margin-bottom: 3rem; }
        .footer-brand { max-width: 300px; }
        .footer-logo { margin-bottom: 1rem; }
        .footer-brand p { color: rgba(255,255,255,0.6); margin: 0; font-size: 0.9rem; }
        .footer-links h4 { color: var(--color-white); font-size: 1rem; text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 1.25rem; font-weight: 600; }
        .footer-links ul { display: flex; flex-direction: column; gap: 0.6rem; }
        .footer-links a { color: rgba(255,255,255,0.7); transition: color var(--transition-fast); }
        .footer-links a:hover { color: var(--color-gold); }
        .footer-contact address { font-style: normal; line-height: 2; }
        .footer-contact a { color: rgba(255,255,255,0.7); }
        .footer-contact a:hover { color: var(--color-gold); }
        .social-links { display: flex; gap: 1rem; margin-top: 1.5rem; }
        .social-links a { width: 40px; height: 40px; border-radius: 50%; background: rgba(255,255,255,0.05); display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,0.7); transition: all var(--transition-fast); }
        .social-links a:hover { background: var(--color-gold); color: var(--color-navy); transform: translateY(-2px); }
        .footer-bottom { border-top: 1px solid rgba(255,255,255,0.1); padding-top: 2rem; display: flex; flex-direction: column; align-items: center; gap: 1rem; text-align: center; }
        .footer-legal { display: flex; flex-wrap: wrap; justify-content: center; gap: 1.5rem; font-size: 0.8rem; color: rgba(255,255,255,0.5); }
        .footer-legal a { color: inherit; } .footer-legal a:hover { color: var(--color-gold); }

        /* --- Giving Modal (Interactive Element) --- */
        .modal-overlay { position: fixed; inset: 0; background: rgba(0,0,0,0.6); backdrop-filter: blur(4px); z-index: 2000; display: flex; align-items: center; justify-content: center; padding: 1.5rem; opacity: 0; visibility: hidden; transition: opacity 0.3s ease, visibility 0.3s ease; }
        .modal-overlay.open { opacity: 1; visibility: visible; }
        .modal { background: var(--color-white); border-radius: var(--radius-lg); max-width: 480px; width: 100%; max-height: 90vh; overflow-y: auto; transform: translateY(20px) scale(0.95); transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1); box-shadow: var(--shadow-lg); }
        .modal-overlay.open .modal { transform: translateY(0) scale(1); }
        .modal-header { padding: 1.5rem 2rem; border-bottom: 1px solid var(--color-border); display: flex; justify-content: space-between; align-items: center; position: sticky; top: 0; background: var(--color-white); z-index: 1; }
        .modal-header h3 { margin: 0; font-size: 1.25rem; }
        .modal-close { width: 40px; height: 40px; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: var(--color-text-light); transition: all var(--transition-fast); }
        .modal-close:hover { background: var(--color-cream); color: var(--color-navy); }
        .modal-body { padding: 2rem; }
        .giving-options { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.75rem; margin-bottom: 1.5rem; }
        .giving-btn { padding: 1rem; border: 2px solid var(--color-border); border-radius: var(--radius-md); text-align: center; font-weight: 600; color: var(--color-navy); background: var(--color-white); transition: all var(--transition-fast); cursor: pointer; }
        .giving-btn:hover { border-color: var(--color-gold); background: rgba(200, 169, 81, 0.05); }
        .giving-btn.active { border-color: var(--color-gold); background: var(--color-gold); color: var(--color-navy); }
        .custom-amount { display: flex; gap: 0.5rem; margin-bottom: 1.5rem; }
        .custom-amount input { flex: 1; padding: 0.875rem 1rem; border: 1px solid var(--color-border); border-radius: var(--radius-md); font-size: 1.1rem; font-family: inherit; color: var(--color-navy); }
        .custom-amount input:focus { outline: none; border-color: var(--color-gold); box-shadow: 0 0 0 3px rgba(200, 169, 81, 0.15); }
        .custom-amount span { display: flex; align-items: center; padding: 0 1rem; background: var(--color-cream); border: 1px solid var(--color-border); border-radius: var(--radius-md); color: var(--color-navy); font-weight: 600; font-size: 1.1rem; }
        .fund-select { margin-bottom: 1.5rem; }
        .fund-select label { display: block; margin-bottom: 0.5rem; font-weight: 500; font-size: 0.9rem; }
        .fund-select select { width: 100%; padding: 0.875rem 1rem; border: 1px solid var(--color-border); border-radius: var(--radius-md); font-family: inherit; font-size: 1rem; color: var(--color-navy); background: var(--color-white); }
        .recurring-toggle { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 2rem; padding: 1rem; background: var(--color-cream); border-radius: var(--radius-md); border: 1px solid var(--color-border); }
        .recurring-toggle input { width: 20px; height: 20px; accent-color: var(--color-gold); cursor: pointer; }
        .recurring-toggle label { cursor: pointer; font-weight: 500; color: var(--color-navy); margin: 0; }
        .recurring-toggle small { color: var(--color-text-light); font-size: 0.8rem; display: block; margin-top: 0.25rem; }
        .modal-footer { padding: 1.5rem 2rem; border-top: 1px solid var(--color-border); background: var(--color-cream); border-radius: 0 0 var(--radius-lg) var(--radius-lg); display: flex; justify-content: flex-end; gap: 1rem; }

        /* --- Sidebar (Desktop) --- */
        .page-layout { display: grid; grid-template-columns: 1fr; gap: 2.5rem; }
        .sidebar { display: none; }
        .sidebar-card { background: var(--color-white); border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: 1.5rem; margin-bottom: 1.5rem; box-shadow: var(--shadow-sm); position: sticky; top: calc(var(--header-height) + 1.5rem); }
        .sidebar-card h4 { font-size: 1rem; margin-bottom: 1rem; padding-bottom: 0.75rem; border-bottom: 1px solid var(--color-border); color: var(--color-navy); display: flex; align-items: center; gap: 0.5rem; }
        .sidebar-card h4 svg { width: 20px; height: 20px; stroke: var(--color-gold); }
        .prayer-form .form-group { margin-bottom: 1rem; }
        .prayer-form textarea { width: 100%; min-height: 100px; padding: 0.875rem; border: 1px solid var(--color-border); border-radius: var(--radius-md); font-family: inherit; font-size: 0.9rem; resize: vertical; }
        .prayer-form textarea:focus { outline: none; border-color: var(--color-gold); box-shadow: 0 0 0 3px rgba(200, 169, 81, 0.15); }
        .event-list { display: flex; flex-direction: column; gap: 1rem; }
        .event-item { display: flex; gap: 1rem; padding-bottom: 1rem; border-bottom: 1px solid var(--color-border); }
        .event-item:last-child { border-bottom: none; padding-bottom: 0; }
        .event-date { background: var(--color-navy); color: var(--color-white); border-radius: var(--radius-md); padding: 0.5rem 0.75rem; text-align: center; min-width: 55px; flex-shrink: 0; }
        .event-date .day { display: block; font-size: 1.5rem; font-weight: 700; line-height: 1; font-family: 'Merriweather', serif; }
        .event-date .month { display: block; font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.05em; color: var(--color-gold); }
        .event-info h5 { font-size: 0.9rem; margin: 0 0 0.25rem; color: var(--color-navy); }
        .event-info p { margin: 0; font-size: 0.8rem; color: var(--color-text-light); }
        .livestream-btn { display: block; width: 100%; text-align: center; margin-top: 1rem; padding: 0.75rem; background: var(--color-navy); color: var(--color-white); border-radius: var(--radius-md); font-weight: 600; }
        .livestream-btn:hover { background: var(--color-navy-light); color: var(--color-white); }
        .livestream-btn.live { background: #C0392B; animation: pulse 1.5s infinite; }
        @keyframes pulse { 0% { box-shadow: 0 0 0 0 rgba(192, 57, 43, 0.4); } 70% { box-shadow: 0 0 0 10px rgba(192, 57, 43, 0); } 100% { box-shadow: 0 0 0 0 rgba(192, 57, 43, 0); } }

        /* --- Responsive Breakpoints --- */
        @media (min-width: 640px) {
            .features-grid { grid-template-columns: repeat(2, 1fr); }
            .ministry-grid { grid-template-columns: repeat(2, 1fr); }
            .testimonial-grid { grid-template-columns: repeat(2, 1fr); }
            .giving-options { grid-template-columns: repeat(3, 1fr); }
            .newsletter-form { flex-direction: row; }
            .form-group { flex: 1; }
            .form-submit { width: auto; align-self: flex-end; }
        }

        @media (min-width: 768px) {
            .hero { padding-top: 6rem; padding-bottom: 6rem; }
            .media-feature { grid-template-columns: 1.2fr 1fr; }
            .media-content h2 { font-size: clamp(2rem, 3vw, 2.5rem); }
            .page-layout { grid-template-columns: 1fr 300px; }
            .sidebar { display: block; }
            .main-nav { display: block; }
            .mobile-menu-btn { display: none; }
            .hero-scroll { display: block; }
        }

        @media (min-width: 1024px) {
            .features-grid { grid-template-columns: repeat(4, 1fr); }
            .ministry-grid { grid-template-columns: repeat(3, 1fr); }
            .testimonial-grid { grid-template-columns: repeat(3, 1fr); }
        }

        /* --- Utility / Accessibility --- */
        .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
        :focus-visible { outline: 3px solid var(--color-gold); outline-offset: 2px; border-radius: var(--radius-sm); }
        .skip-link { position: absolute; top: -100%; left: 50%; transform: translateX(-50%); background: var(--color-navy); color: var(--color-white); padding: 1rem 2rem; border-radius: var(--radius-md); z-index: 9999; font-weight: 600; }
        .skip-link:focus { top: 1rem; }
    </style>
</head>
<body>
    <a href="#main-content" class="skip-link">Skip to main content</a>

    <!-- Header -->
    <header class="site-header" role="banner">
        <div class="container header-inner">
            <a href="/" class="logo" aria-label="Cornerstone Fellowship Home">
                <img src="https://placehold.co/44x44/1B2A4A/C8A951?text=CF&font=merriweather" alt="" class="logo-img" aria-hidden="true">
                <div class="logo-text">
                    <span class="logo-name">Cornerstone Fellowship</span>
                    <span class="logo-tagline">Rooted. Growing. Reaching.</span>
                </div>
            </a>

            <nav class="main-nav" aria-label="Primary Navigation">
                <ul class="main-nav-list">
                    <li><a href="#home" class="main-nav-link active" aria-current="page">Home</a></li>
                    <li><a href="#about" class="main-nav-link">About</a></li>
                    <li><a href="#ministries" class="main-nav-link">Ministries</a></li>
                    <li><a href="#media" class="main-nav-link">Media</a></li>
                    <li><a href="#services" class="main-nav-link">Services</a></li>
                    <li><a href="#connect" class="main-nav-link">Connect</a></li>
                    <li><a href="#" class="main-nav-link btn btn-gold nav-cta" data-modal-trigger="giving">Give</a></li>
                </ul>
            </nav>

            <button class="mobile-menu-btn" aria-expanded="false" aria-controls="mobile-nav" aria-label="Toggle navigation menu" id="mobileMenuBtn">
                <span></span><span></span><span></span>
            </button>
        </div>
    </header>

    <!-- Mobile Nav Overlay -->
    <div class="mobile-nav-overlay" id="mobileNav" role="dialog" aria-modal="true" aria-label="Navigation Menu">
        <nav class="mobile-nav-list" aria-label="Mobile Navigation">
            <a href="#home" class="mobile-nav-link active">Home</a>
            <a href="#about" class="mobile-nav-link">About Us</a>
            <a href="#ministries" class="mobile-nav-link">Ministries</a>
            <a href="#media" class="mobile-nav-link">Media & Sermons</a>
            <a href="#services" class="mobile-nav-link">Service Times</a>
            <a href="#connect" class="mobile-nav-link">Connect</a>
            <a href="#" class="mobile-nav-link btn btn-gold mobile-nav-cta" data-modal-trigger="giving">Give Online</a>
        </nav>
    </div>

    <!-- Main Content -->
    <main id="main-content" role="main">
        <!-- Hero Section -->
        <section class="hero" id="home" aria-labelledby="hero-title">
            <div class="hero-bg" aria-hidden="true">
                <img src="https://picsum.photos/seed/cornerstone-hero/1920/1080" alt="">
            </div>
            <div class="container hero-content">
                <span class="hero-badge">Sunday Worship: 9:00 & 10:45 AM</span>
                <h1 id="hero-title">Rooted in Faith. Growing in Love. Reaching the World.</h1>
                <p class="lead">Cornerstone Fellowship is a multi-generational community committed to the authority of Scripture, the power of the Holy Spirit, and the mission of making disciples who make disciples. Wherever you are on your spiritual journey, you have a place here.</p>
                <div class="hero-actions">
                    <a href="#connect" class="btn btn-gold" data-modal-trigger="giving"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path></svg> Give Securely</a>
                    <a href="#connect" class="btn btn-outline" style="border-color: var(--color-white); color: var(--color-white);"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg> Plan Your Visit</a>
                </div>
                <div class="hero-scroll" aria-hidden="true">
                    <span>Scroll to Explore</span>
                    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </div>
        </section>

        <!-- Core Values / Features -->
        <section class="features section" id="about" aria-labelledby="values-title">
            <div class="container">
                <header class="section-header">
                    <h2 id="values-title">Our Core Values</h2>
                    <p>These pillars define who we are as a body of believers and guide every ministry decision, from the pulpit to the parking lot.</p>
                </header>
                <div class="features-grid">
                    <article class="feature-card">
                        <div class="feature-icon" aria-hidden="true"><svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><path d="M12 2L2 7l10 5 10-5-10-5zM2 17l10 5 10-5M2 12l10 5 10-5"></path></svg></div>
                        <h3>Biblical Authority</h3>
                        <p>We hold the Scriptures as the inspired, inerrant Word of God. Our preaching is expository, working verse-by-verse through books of the Bible to equip the saints for the work of ministry.</p>
                    </article>
                    <article class="feature-card">
                        <div class="feature-icon" aria-hidden="true"><svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"></path><circle cx="9" cy="7" r="4"></circle><path d="M23 21v-2a4 4 0 0 0-3-3.87M16 3.13a4 4 0 0 1 0 7.75"></path></svg></div>
                        <h3>Authentic Community</h3>
                        <p>Faith is not a solo endeavor. We prioritize Life Groups meeting weekly in homes across the city—spaces for confession, prayer, accountability, and bearing one another's burdens.</p>
                    </article>
                    <article class="feature-card">
                        <div class="feature-icon" aria-hidden="true"><svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path></svg></div>
                        <h3>Spirit-Led Worship</h3>
                        <p>Our gatherings blend historic liturgy with contemporary expression. We create space for the Holy Spirit to move through song, sacrament, silence, and the proclaimed Word.</p>
                    </article>
                    <article class="feature-card">
                        <div class="feature-icon" aria-hidden="true"><svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><circle cx="12" cy="12" r="10"></circle><line x1="2" y1="12" x2="22" y2="12"></line><path d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"></path></svg></div>
                        <h3>Global & Local Mission</h3>
                        <p>We are sent people. From our Food Pantry and ESL classes downtown to church planting partnerships in Southeast Asia, we steward resources for the Great Commission.</p>
                    </article>
                </div>
            </div>
        </section>

        <!-- Page Layout with Sidebar -->
        <div class="container page-layout">
            <div class="main-content">
                <!-- Ministries Section -->
                <section class="ministries section" id="ministries" aria-labelledby="ministries-title">
                    <div class="container">
                        <header class="section-header">
                            <h2 id="ministries-title">Ministry Opportunities</h2>
                            <p>Discover where your gifts can serve the body and advance the Kingdom. We believe every member is a minister, equipped by the Spirit for the common good.</p>
                        </header>
                        <div class="ministry-grid">
                            <article class="ministry-card">
                                <img src="https://picsum.photos/seed/childrens-ministry/600/400" alt="Children learning during Sunday school" class="ministry-img" loading="lazy">
                                <div class="ministry-body">
                                    <span class="ministry-tag">Next Generation</span>
                                    <h3>Cornerstone Kids</h3>
                                    <p>Our children's ministry provides a safe, gospel-centered environment for infants through 5th grade. Using The Gospel Project curriculum, we walk kids through the grand narrative of Scripture every three years.</p>
                                    <div class="ministry-meta">
                                        <span><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg> Sundays 9 & 10:45 AM</span>
                                        <span><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"></path><circle cx="12" cy="10" r="3"></circle></svg> Bldg A, Wing 2</span>
                                    </div>
                                </div>
                            </article>
                            <article class="ministry-card">
                                <img src="https://picsum.photos/seed/youth-ministry/600/400" alt="Teenagers in worship" class="ministry-img" loading="lazy">
                                <div class="ministry-body">
                                    <span class="ministry-tag">Students</span>
                                    <h3>Cornerstone Students (6th-12th)</h3>
                                    <p>Wednesday nights feature high-energy worship, relevant teaching, and gender-specific small groups. Annual retreats, summer camps, and local outreach projects anchor discipleship rhythms.</p>
                                    <div class="ministry-meta">
                                        <span><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg> Wednesdays 6:30 PM</span>
                                        <span><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"></path><circle cx="12" cy="10" r="3"></circle></svg> The Loft (Bldg B)</span>
                                    </div>
                                </div>
                            </article>
                            <article class="ministry-card">
                                <img src="https://picsum.photos/seed/outreach-ministry/600/400" alt="Volunteers serving at food pantry" class="ministry-img" loading="lazy">
                                <div class="ministry-body">
                                    <span class="ministry-tag">Outreach</span>
                                    <h3>Compassion Ministries</h3>
                                    <p>Living out James 1:27, our teams operate a weekly Food Pantry, a Clothing Closet, and a Job Readiness program. We partner with local shelters for quarterly "Hope Weekends" serving the unhoused.</p>
                                    <div class="ministry-meta">
                                        <span><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg> Tuesdays 9 AM - 12 PM</span>
                                        <span><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"></path><circle cx="12" cy="10" r="3"></circle></svg> Community Center</span>
                                    </div>
                                </div>
                            </article>
                            <article class="ministry-card">
                                <img src="https://picsum.photos/seed/worship-arts/600/400" alt="Worship team leading" class="ministry-img" loading="lazy">
                                <div class="ministry-body">
                                    <span class="ministry-tag">Worship & Arts</span>
                                    <h3>Creative Arts</h3>
                                    <p>We steward musical and technical gifts for God's glory. Auditions for band, vocal team, and production (audio/visual/lighting) happen quarterly. Rehearsals emphasize excellence and heart preparation.</p>
                                    <div class="ministry-meta">
                                        <span><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg> Thursdays 7 PM</span>
                                        <span><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"></path><circle cx="12" cy="10" r="3"></circle></svg> Worship Center</span>
                                    </div>
                                </div>
                            </article>
                            <article class="ministry-card">
                                <img src="https://picsum.photos/seed/mens-ministry/600/400" alt="Men's breakfast fellowship" class="ministry-img" loading="lazy">
                                <div class="ministry-body">
                                    <span class="ministry-tag">Discipleship</span>
                                    <h3>Men's & Women's Ministries</h3>
                                    <p>Gender-specific Bible studies, mentorship cohorts, and annual conferences (Iron Sharpens Iron / Flourish) foster deep spiritual friendship and theological grounding for everyday life.</p>
                                    <div class="ministry-meta">
                                        <span><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg> Varies by Group</span>
                                        <span><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"></path><circle cx="12" cy="10" r="3"></circle></svg> Campus & Homes</span>
                                    </div>
                                </div>
                            </article>
                            <article class="ministry-card">
                                <img src="https://picsum.photos/seed/missions/600/400" alt="Mission team praying" class="ministry-img" loading="lazy">
                                <div class="ministry-body">
                                    <span class="ministry-tag">Missions</span>
                                    <h3>Global Partners</h3>
                                    <p>We support 12 missionary families across 7 countries. Our "Adopt a Missionary" program connects Life Groups with field workers for prayer, care packages, and short-term vision trips every summer.</p>
                                    <div class="ministry-meta">
                                        <span><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg> Ongoing Support</span>
                                        <span><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"></path><circle cx="12" cy="10" r="3"></circle></svg> Worldwide</span>
                                    </div>
                                </div>
                            </article>
                        </div>
                    </div>
                </section>

                <!-- Media / Sermon Section -->
                <section class="media-section section" id="media" aria-labelledby="media-title">
                    <div class="container">
                        <div class="media-feature">
                            <div class="media-video-wrapper" role="button" tabindex="0" aria-label="Watch latest sermon: The Anchor of the Soul, Hebrews 6:13-20">
                                <img src="https://placehold.co/800x450/1B2A4A/C8A951?text=Latest+Sermon+Series&font=merriweather" alt="Video thumbnail for sermon series 'The Anchor of the Soul'" loading="lazy">
                                <div class="play-btn" aria-hidden="true"><svg viewBox="0 0 24 24"><polygon points="5 3 19 12 5 21"></polygon></svg></div>
                            </div>
                            <div class="media-content">
                                <h2 id="media-title">Current Teaching Series</h2>
                                <p>Join Pastor David Chen as we walk through the book of Hebrews in our new series <strong>"Greater: The Supremacy of Christ."</strong> In a world of shifting shadows, we fix our eyes on Jesus—the better Prophet, Priest, and King who secures an unshakeable kingdom.</p>
                                <div class="sermon-meta">
                                    <span><strong>Speaker:</strong> Pastor David Chen</span>
                                    <span><strong>Date:</strong> December 15, 2024</span>
                                    <span><strong>Passage:</strong> Hebrews 6:13–20</span>
                                    <span><strong>Duration:</strong> 42 min</span>
                                </div>
                                <div class="media-links">
                                    <a href="#" class="btn btn-primary"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><polygon points="5 3 19 12 5 21"></polygon></svg> Watch Full Message</a>
                                    <a href="#" class="btn btn-outline"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><polyline points="7 10 12 15 17 10"></polyline><line x1="12" y1="15" x2="12" y2="3"></line></svg> Download Audio</a>
                                    <a href="#" class="btn btn-outline"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline><line x1="16" y1="13" x2="8" y2="13"></line><line x1="16" y1="17" x2="8" y2="17"></line><polyline points="10 9 9 9 8 9"></polyline></svg> Study Guide (PDF)</a>
                                </div>
                            </div>
                        </div>
                    </div>
                </section>

                <!-- Testimonials -->
                <section class="testimonials section" aria-labelledby="testimonials-title">
                    <div class="container">
                        <header class="section-header">
                            <h2 id="testimonials-title">Stories of Grace</h2>
                            <p>Real lives transformed by the power of the Gospel. Hear how God is moving in the hearts of our congregation.</p>
                        </header>
                        <div class="testimonial-grid">
                            <article class="testimonial-card">
                                <blockquote class="testimonial-text">"After walking through a painful divorce, I walked into Cornerstone broken. The Life Group leaders didn't just offer platitudes; they brought meals, prayed Psalm 147 over me weekly, and discipled me back to the cross. This church is the hands and feet of Jesus."</blockquote>
                                <footer class="testimonial-author">
                                    <img src="https://i.pravatar.cc/150?u=sarah-m" alt="Sarah M." class="author-avatar" loading="lazy">
                                    <div class="author-info">
                                        <h4>Sarah M.</h4>
                                        <p>Member since 2021</p>
                                    </div>
                                </footer>
                            </article>
                            <article class="testimonial-card">
                                <blockquote class="testimonial-text">"The expository preaching here changed how I read my Bible. I used to pick verses for comfort; now I study books for context. The elders model humility and accountability. It's rare to find a church this theologically robust yet this relationally warm."</blockquote>
                                <footer class="testimonial-author">
                                    <img src="https://i.pravatar.cc/150?u=james-k" alt="James K." class="author-avatar" loading="lazy">
                                    <div class="author-info">
                                        <h4>James K.</h4>
                                        <p>Deacon & Small Group Leader</p>
                                    </div>
                                </footer>
                            </article>
                            <article class="testimonial-card">
                                <blockquote class="testimonial-text">"Our family moved here from overseas. The ESL ministry and International Friendship Program welcomed us before we even spoke English well. My children thrive in Cornerstone Kids. We found a spiritual home 7,000 miles from our birth home."</blockquote>
                                <footer class="testimonial-author">
                                    <img src="https://i.pravatar.cc/150?u=leila-p" alt="Leila P." class="author-avatar" loading="lazy">
                                    <div class="author-info">
                                        <h4>Leila P.</h4>
                                        <p>International Member</p>
                                    </div>
                                </footer>
                            </article>
                        </div>
                    </div>
                </section>

                <!-- FAQ Section -->
                <section class="faq section" aria-labelledby="faq-title">
                    <div class="container">
                        <header class="section-header">
                            <h2 id="faq-title">Frequently Asked Questions</h2>
                            <p>We know visiting a new church brings questions. Here are answers to the most common inquiries we receive.</p>
                        </header>
                        <div class="faq-list">
                            <details class="faq-item">
                                <summary class="faq-question" aria-expanded="false">
                                    What denomination is Cornerstone Fellowship?
                                    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><polyline points="6 9 12 15 18 9"></polyline></svg>
                                </summary>
                                <div class="faq-answer">
                                    <div class="faq-answer-inner">
                                        <p>We are a non-denominational, elder-led church aligned with the historic, orthodox Christian faith. Our statement of faith mirrors the Baptist Faith & Message (2000) and the Nicene Creed. We partner with the Acts 29 network for church planting and the Gospel Coalition for theological resourcing.</p>
                                    </div>
                                </div>
                            </details>
                            <details class="faq-item">
                                <summary class="faq-question" aria-expanded="false">
                                    What should I expect on a Sunday morning?
                                    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><polyline points="6 9 12 15 18 9"></polyline></svg>
                                </summary>
                                <div class="faq-answer">
                                    <div class="faq-answer-inner">
                                        <p>Services last 75–80 minutes. We sing a blend of modern hymns and choruses led by a band, observe the Lord's Supper monthly, hear 40-minute expository sermons, and respond in prayer. Attire ranges from suits to jeans—come as you are. Coffee and pastries are served in the lobby before and after.</p>
                                    </div>
                                </div>
                            </details>
                            <details class="faq-item">
                                <summary class="faq-question" aria-expanded="false">
                                    How does Cornerstone handle child safety?
                                    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><polyline points="6 9 12 15 18 9"></polyline></svg>
                                </summary>
                                <div class="faq-answer">
                                    <div class="faq-answer-inner">
                                        <p>Child protection is paramount. Every volunteer undergoes a federal background check, reference checks, and MinistrySafe sexual abuse awareness training. We maintain a strict two-adult rule in every classroom, secure check-in/check-out via Planning Center, and hallway security teams during services.</p>
                                    </div>
                                </div>
                            </details>
                            <details class="faq-item">
                                <summary class="faq-question" aria-expanded="false">
                                    How can I join a Life Group?
                                    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><polyline points="6 9 12 15 18 9"></polyline></svg>
                                </summary>
                                <div class="faq-answer">
                                    <div class="faq-answer-inner">
                                        <p>Life Groups launch new quarters in January, April, July, and October. Visit the <a href="#connect" style="color: var(--color-gold);">Connect Center</a> in the lobby or fill out the "Find a Group" form on our app. Groups meet in homes across 15 zip codes on various nights; we match by life stage and geography.</p>
                                    </div>
                                </div>
                            </details>
                            <details class="faq-item">
                                <summary class="faq-question" aria-expanded="false">
                                    What is the process for church membership?
                                    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><polyline points="6 9 12 15 18 9"></polyline></svg>
                                </summary>
                                <div class="faq-answer">
                                    <div class="faq-answer-inner">
                                        <p>Membership is a covenant commitment to this local body. The pathway: 1) Attend a "Discover Cornerstone" lunch (monthly), 2) Complete the Membership Class (4 weeks), 3) Meet with an elder for a testimony conversation, 4) Affirm the Covenant at a Sunday service. Baptism by immersion is required for those not previously baptized as believers.</p>
                                    </div>
                                </div>
                            </details>
                        </div>
                    </div>
                </section>

                <!-- Newsletter / Connect Section -->
                <section class="connect section" id="connect" aria-labelledby="connect-title">
                    <div class="container">
                        <div class="connect-content">
                            <h2 id="connect-title">Stay Connected</h2>
                            <p>Receive weekly sermon notes, event updates, prayer requests, and the pastoral letter directly in your inbox. No spam, just shepherding.</p>
                            <form class="newsletter-form" action="#" method="POST" novalidate>
                                <div class="form-group">
                                    <label for="email">Email Address</label>
                                    <input type="email" id="email" name="email" placeholder="you@example.com" required autocomplete="email">
                                </div>
                                <div class="form-group">
                                    <label for="interest">I'm interested in...</label>
                                    <select id="interest" name="interest">
                                        <option value="general">General Updates</option>
                                        <option value="parents">Family & Parenting</option>
                                        <option value="students">Student Ministries</option>
                                        <option value="missions">Global Missions</option>
                                        <option value="worship">Worship & Arts</option>
                                    </select>
                                </div>
                                <button type="submit" class="btn btn-gold form-submit">Subscribe</button>
                            </form>
                            <p class="form-note">By submitting, you agree to our <a href="#" style="color: var(--color-gold); text-decoration: underline;">Privacy Policy</a>. Unsubscribe anytime.</p>
                        </div>
                    </div>
                </section>
            </div>

            <!-- Sidebar -->
            <aside class="sidebar" aria-label="Quick Links & Engagement">
                <div class="sidebar-card prayer-form" id="prayer-request">
                    <h4><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path></svg> Submit a Prayer Request</h4>
                    <form action="#" method="POST" novalidate>
                        <div class="form-group">
                            <label for="prayer-name">Name (Optional)</label>
                            <input type="text" id="prayer-name" name="name" placeholder="Anonymous is fine">
                        </div>
                        <div class="form-group">
                            <label for="prayer-email">Email (For follow-up)</label>
                            <input type="email" id="prayer-email" name="email" placeholder="you@example.com">
                        </div>
                        <div class="form-group">
                            <label for="prayer-text">Request</label>
                            <textarea id="prayer-text" name="request" placeholder="Cast your burden on the Lord..." required></textarea>
                        </div>
                        <fieldset style="border: none; padding: 0; margin-top: 0.5rem;">
                            <legend style="font-size: 0.8rem; color: var(--color-text-light); margin-bottom: 0.5rem;">Share with:</legend>
                            <label style="display: flex; align-items: center; gap: 0.5rem; font-size: 0.85rem; cursor: pointer;"><input type="checkbox" name="share" value="pastors" checked> Pastoral Staff Only</label>
                            <label style="display: flex; align-items: center; gap: 0.5rem; font-size: 0.85rem; cursor: pointer;"><input type="checkbox" name="share" value="team"> Prayer Team (Confidential)</label>
                            <label style="display: flex; align-items: center; gap: 0.5rem; font-size: 0.85rem; cursor: pointer;"><input type="checkbox" name="share" value="public"> Public Prayer Wall</label>
                        </fieldset>
                        <button type="submit" class="btn btn-primary" style="width: 100%; margin-top: 1rem;">Submit Request</button>
                    </form>
                </div>

                <div class="sidebar-card">
                    <h4><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="4" width="18" height="18" rx="2" ry="2"></rect><line x1="16" y1="2" x2="16" y2="6"></line><line x1="8" y1="2" x2="8" y2="6"></line><line x1="3" y1="10" x2="21" y2="10"></line></svg> Upcoming Events</h4>
                    <div class="event-list">
                        <article class="event-item">
                            <div class="event-date"><span class="day">18</span><span class="month">Dec</span></div>
                            <div class="event-info">
                                <h5>Christmas Cantata: "Glory to God"</h5>
                                <p>7:00 PM • Worship Center • Free Admission</p>
                            </div>
                        </article>
                        <article class="event-item">
                            <div class="event-date"><span class="day">24</span><span class="month">Dec</span></div>
                            <div class="event-info">
                                <h5>Christmas Eve Candlelight Services</h5>
                                <p>3, 5, & 7 PM • Nursery Provided</p>
                            </div>
                        </article>
                        <article class="event-item">
                            <div class="event-date"><span class="day">05</span><span class="month">Jan</span></div>
                            <div class="event-info">
                                <h5>Discover Cornerstone Membership Lunch</h5>
                                <p>12:30 PM • Fellowship Hall • RSVP Required</p>
                            </div>
                        </article>
                    </div>
                    <a href="#connect" class="btn btn-outline" style="width: 100%;">View Full Calendar</a>
                </div>

                <div class="sidebar-card">
                    <h4><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M21 12V7H5a2 2 0 0 1 0-4h14v4"></path><path d="M17 12v8a2 2 0 0 1-2 2H5a2 2 0 0 1 0-4h12v-4"></path></svg> Watch Live</h4>
                    <p style="margin-bottom: 1rem; color: var(--color-text-light); font-size: 0.9rem;">Can't make it in person? Join us via livestream every Sunday.</p>
                    <a href="#" class="livestream-btn live" aria-label="Watch live stream">▶ LIVE NOW - 10:45 AM Service</a>
                    <p style="margin-top: 0.75rem; font-size: 0.8rem; color: var(--color-text-light);">Next: Jan 5th, 9:00 AM</p>
                </div>

                <div class="sidebar-card">
                    <h4><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 2L2 7l10 5 10-5-10-5z"></path><path d="M2 17l10 5 10-5"></path><path d="M2 12l10 5 10-5"></path></svg> Giving Update</h4>
                    <div style="background: var(--color-cream); border-radius: var(--radius-md); padding: 1rem; text-align: center; margin-bottom: 1rem;">
                        <div style="font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.05em; color: var(--color-gold); font-weight: 600;">2024 General Fund</div>
                        <div style="font-size: 2rem; font-weight: 700; color: var(--color-navy); font-family: 'Merriweather', serif; line-height: 1;">$1.24M / $1.5M</div>
                        <div style="height: 8px; background: var(--color-border); border-radius: 4px; margin-top: 0.75rem; overflow: hidden;">
                            <div style="width: 83%; height: 100%; background: linear-gradient(90deg, var(--color-gold), var(--color-gold-dark)); border-radius: 4px;"></div>
                        </div>
                        <p style="margin: 0.5rem 0 0; font-size: 0.8rem; color: var(--color-text-light);">83% of Annual Goal</p>
                    </div>
                    <a href="#" class="btn btn-gold" style="width: 100%;" data-modal-trigger="giving">Give to General Fund</a>
                </div>
            </aside>
        </div>
    </main>

    <!-- Footer -->
    <footer class="site-footer" role="contentinfo">
        <div class="container">
            <div class="footer-grid">
                <div class="footer-brand">
                    <a href="/" class="footer-logo logo" aria-label="Cornerstone Fellowship Home">
                        <img src="https://placehold.co/44x44/1B2A4A/C8A951?text=CF&font=merriweather" alt="" class="logo-img" aria-hidden="true">
                        <div class="logo-text">
                            <span class="logo-name" style="color: var(--color-white);">Cornerstone Fellowship</span>
                            <span class="logo-tagline">Rooted. Growing. Reaching.</span>
                        </div>
                    </a>
                    <p>Existing to glorify God by making disciples of Jesus Christ who treasure Him above all things, through the power of the Holy Spirit, for the joy of all peoples.</p>
                    <div class="social-links" aria-label="Social Media Links">
                        <a href="#" aria-label="Facebook"><svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor"><path d="M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z"></path></svg></a>
                        <a href="#" aria-label="Instagram"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="2" y="2" width="20" height="20" rx="5" ry="5"></rect><path d="M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z"></path><line x1="17.5" y1="6.5" x2="17.51" y2="6.5"></line></svg></a>
                        <a href="#" aria-label="YouTube"><svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor"><path d="M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377 0.505A3.017 3.017 0 0 0 0.502 6.186C0 8.07 0 12 0 12s0 3.93 0.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-0.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-0.502-5.814zM9.545 15.568V8.432L15.818 12 9.545 15.568z"></path></svg></a>
                        <a href="#" aria-label="Podcast"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><path d="M17 18v-5a3 3 0 0 0-3-3H8a3 3 0 0 0-3 3v5M7 12v6"></path><path d="M17 12v6"></path></svg></a>
                    </div>
                </div>

                <nav class="footer-links" aria-label="Quick Links">
                    <h4>Quick Links</h4>
                    <ul>
                        <li><a href="#about">Our Beliefs</a></li>
                        <li><a href="#about">Leadership & Elders</a></li>
                        <li><a href="#ministries">Ministries</a></li>
                        <li><a href="#media">Sermon Archive</a></li>
                        <li><a href="#services">Service Times & Location</a></li>
                        <li><a href="#connect">Plan a Visit</a></li>
                        <li><a href="#" data-modal-trigger="giving">Online Giving</a></li>
                    </ul>
                </nav>

                <nav class="footer-links" aria-label="Resources">
                    <h4>Resources</h4>
                    <ul>
                        <li><a href="#">Daily Devotional</a></li>
                        <li><a href="#">Bible Reading Plans</a></li>
                        <li><a href="#">Theological Position Papers</a></li>
                        <li><a href="#">Membership Class Materials</a></li>
                        <li><a href="#">Premarital & Marriage Prep</a></li>
                        <li><a href="#">Counseling Referrals</a></li>
                    </ul>
                </nav>

                <address class="footer-contact" aria-label="Contact Information">
                    <h4>Contact Us</h4>
                    <p>1200 Cornerstone Drive<br>Franklin, TN 37064</p>
                    <p><a href="tel:+16155550199">(615) 555-0199</a><br><a href="mailto:info@cornerstonefellowship.org">info@cornerstonefellowship.org</a></p>
                    <p>Office Hours: Mon–Thu 9 AM–4 PM, Fri 9 AM–12 PM</p>
                </address>
            </div>

            <div class="footer-bottom">
                <p>&copy; 2025 Cornerstone Fellowship. All rights reserved.</p>
                <nav class="footer-legal" aria-label="Legal Links">
                    <a href="#">Privacy Policy</a>
                    <a href="#">Terms of Use</a>
                    <a href="#">Financial Accountability</a>
                    <a href="#">Safe Church Policies</a>
                    <a href="#">Accessibility Statement</a>
                </nav>
            </div>
        </div>
    </footer>

    <!-- Giving Modal -->
    <div class="modal-overlay" id="givingModal" role="dialog" aria-modal="true" aria-labelledby="giving-modal-title">
        <div class="modal">
            <header class="modal-header">
                <h3 id="giving-modal-title">Secure Online Giving</h3>
                <button class="modal-close" aria-label="Close giving modal" id="closeModalBtn"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg></button>
            </header>
            <div class="modal-body">
                <p style="margin-bottom: 1.5rem; color: var(--color-text-light);">Every gift advances the Gospel in Franklin and to the nations. Thank you for your cheerful generosity (2 Cor 9:7).</p>
                <fieldset class="giving-options" aria-label="Select giving amount">
                    <legend class="sr-only">Quick Give Amounts</legend>
                    <button type="button" class="giving-btn" data-amount="50">$50</button>
                    <button type="button" class="giving-btn" data-amount="100">$100</button>
                    <button type="button" class="giving-btn" data-amount="250">$250</button>
                    <button type="button" class="giving-btn" data-amount="500">$500</button>
                    <button type="button" class="giving-btn" data-amount="1000">$1,000</button>
                    <button type="button" class="giving-btn" data-amount="other">Other</button>
                </fieldset>
                <div class="custom-amount" id="customAmountWrapper" style="display: none;">
                    <span>$</span>
                    <input type="number" id="customAmount" name="amount" placeholder="Enter amount" min="1" step="1" aria-label="Custom donation amount">
                </div>
                <div class="fund-select">
                    <label for="fundSelect">Designate Fund</label>
                    <select id="fundSelect" name="fund">
                        <option value="general">General Fund (Where Most Needed)</option>
                        <option value="missions">Global Missions Fund</option>
                        <option value="benevolence">Benevolence & Compassion</option>
                        <option value="building">Building & Expansion Fund</option>
                        <option value="scholarship">Student Camp Scholarships</option>
                    </select>
                </div>
                <div class="recurring-toggle">
                    <input type="checkbox" id="recurring" name="recurring">
                    <label for="recurring">Make this a recurring gift <small>(Monthly on the 1st or 15th)</small></label>
                </div>
            </div>
            <footer class="modal-footer">
                <button type="button" class="btn btn-outline" id="cancelModalBtn">Cancel</button>
                <button type="button" class="btn btn-primary" id="continueGivingBtn">Continue to Payment <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg></button>
            </footer>
        </div>
    </div>

    <script>
        // --- Global State & Helpers ---
        const $ = (sel, ctx = document) => ctx.querySelector(sel);
        const $$ = (sel, ctx = document) => Array.from(ctx.querySelectorAll(sel));

        // --- Mobile Navigation ---
        const mobileMenuBtn = $('#mobileMenuBtn');
        const mobileNav = $('#mobileNav');
        mobileMenuBtn?.addEventListener('click', () => {
            const expanded = mobileMenuBtn.getAttribute('aria-expanded') === 'true';
            mobileMenuBtn.setAttribute('aria-expanded', !expanded);
            mobileNav.classList.toggle('open');
            document.body.style.overflow = mobileNav.classList.contains('open') ? 'hidden' : '';
        });
        $$('.mobile-nav-link').forEach(link => link.addEventListener('click', () => {
            mobileMenuBtn.setAttribute('aria-expanded', 'false');
            mobileNav.classList.remove('open');
            document.body.style.overflow = '';
        }));

        // --- Smooth Scroll Offset for Sticky Header ---
        $$('a[href^="#"]').forEach(anchor => {
            anchor.addEventListener('click', function(e) {
                const targetId = this.getAttribute('href');
                if (targetId === '#') return;
                const target = $(targetId);
                if (target) {
                    e.preventDefault();
                    const headerHeight = $('.site-header').offsetHeight;
                    const targetPosition = target.getBoundingClientRect().top + window.scrollY - headerHeight;
                    window.scrollTo({ top: targetPosition, behavior: 'smooth' });
                    target.setAttribute('tabindex', '-1');
                    target.focus({ preventScroll: true });
                }
            });
        });

        // --- Giving Modal Logic ---
        const givingModal = $('#givingModal');
        const openTriggers = $$('[data-modal-trigger="giving"]');
        const closeBtn = $('#closeModalBtn');
        const cancelBtn = $('#cancelModalBtn');
        const amountBtns = $$('.giving-btn');
        const customWrapper = $('#customAmountWrapper');
        const customInput = $('#customAmount');
        const continueBtn = $('#continueGivingBtn');

        function openModal() {
            givingModal.classList.add('open');
            document.body.style.overflow = 'hidden';
            // Trap focus
            const focusable = givingModal.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');
            focusable[0]?.focus();
            givingModal.dataset.focusTrap = 'true';
        }
        function closeModal() {
            givingModal.classList.remove('open');
            document.body.style.overflow = '';
            delete givingModal.dataset.focusTrap;
        }

        openTriggers.forEach(btn => btn.addEventListener('click', (e) => { e.preventDefault(); openModal(); }));
        [closeBtn, cancelBtn].forEach(btn => btn?.addEventListener('click', closeModal));
        givingModal.addEventListener('click', (e) => { if (e.target === givingModal) closeModal(); });

        // Focus Trap
        document.addEventListener('keydown', (e) => {
            if (e.key === 'Escape' && givingModal.classList.contains('open')) closeModal();
            if (e.key === 'Tab' && givingModal.dataset.focusTrap) {
                const focusable = givingModal.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');
                const first = focusable[0]; const last = focusable[focusable.length - 1];
                if (e.shiftKey && document.activeElement === first) { e.preventDefault(); last.focus(); }
                else if (!e.shiftKey && document.activeElement === last) { e.preventDefault(); first.focus(); }
            }
        });

        // Amount Selection
        amountBtns.forEach(btn => {
            btn.addEventListener('click', () => {
                amountBtns.forEach(b => b.classList.remove('active'));
                btn.classList.add('active');
                if (btn.dataset.amount === 'other') {
                    customWrapper.style.display = 'flex';
                    customInput.focus();
                } else {
                    customWrapper.style.display = 'none';
                    customInput.value = '';
                }
            });
        });
        customInput.addEventListener('input', () => {
            if (customInput.value) {
                amountBtns.forEach(b => b.classList.remove('active'));
                $('.giving-btn[data-amount="other"]')?.classList.add('active');
            }
        });

        // Form Submission Simulation
        continueBtn.addEventListener('click', () => {
            const amount = $('.giving-btn.active')?.dataset.amount === 'other' ? customInput.value : $('.giving-btn.active')?.dataset.amount;
            const fund = $('#fundSelect').value;
            const recurring = $('#recurring').checked;
            if (!amount || amount <= 0) { alert('Please select or enter an amount.'); return; }
            alert(`Processing $${amount} ${recurring ? '(Monthly)' : '(One-time)'} for ${fund}...\n\n[Demo Mode: Integration with Stripe/Tithe.ly would happen here]`);
            closeModal();
        });

        // --- FAQ Accordion Enhancement (Native <details> works, but we add animation) ---
        $$('.faq-item').forEach(item => {
            const summary = item.querySelector('.faq-question');
            const answer = item.querySelector('.faq-answer');
            item.addEventListener('toggle', () => {
                if (item.open) {
                    answer.style.maxHeight = answer.scrollHeight + 'px';
                } else {
                    answer.style.maxHeight = '0px';
                }
            });
            // Set initial height for CSS transition if open by default (none are)
        });

        // --- Header Shadow on Scroll ---
        const header = $('.site-header');
        window.addEventListener('scroll', () => {
            if (window.scrollY > 20) header.style.boxShadow = 'var(--shadow-md)';
            else header.style.boxShadow = 'none';
        }, { passive: true });

        // --- Intersection Observer for Animations ---
        const observerOptions = { threshold: 0.1, rootMargin: '0px 0px -50px 0px' };
        const observer = new IntersectionObserver((entries) => {
            entries.forEach(entry => {
                if (entry.isIntersecting) {
                    entry.target.style.opacity = '1';
                    entry.target.style.transform = 'translateY(0)';
                    observer.unobserve(entry.target);
                }
            });
        }, observerOptions);

        $$('.feature-card, .ministry-card, .testimonial-card, .faq-item, .sidebar-card').forEach(el => {
            el.style.opacity = '0';
            el.style.transform = 'translateY(20px)';
            el.style.transition = 'opacity 0.6s ease, transform 0.6s ease';
            observer.observe(el);
        });

        // --- Newsletter Form Submit ---
        $('.newsletter-form')?.addEventListener('submit', (e) => {
            e.preventDefault();
            const email = $('#email').value;
            if (email) {
                alert(`Thanks for subscribing, ${email}! You'll receive our next Weekly Update.`);
                e.target.reset();
            }
        });

        // --- Prayer Form Submit ---
        $('#prayer-request form')?.addEventListener('submit', (e) => {
            e.preventDefault();
            alert('Your prayer request has been submitted. Our team will lift this up this week.');
            e.target.reset();
        });

        // --- Current Year in Footer ---
        // Handled in HTML: 2025
    </script>
</body>
</html>
View Axe Report (JSON)
{
  "testEngine": {
    "name": "axe-core",
    "version": "4.10.2"
  },
  "testRunner": {
    "name": "axe"
  },
  "testEnvironment": {
    "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/156.0.8078.4 Safari/537.36",
    "windowWidth": 1280,
    "windowHeight": 720,
    "orientationAngle": 0,
    "orientationType": "landscape-primary"
  },
  "timestamp": "2026-11-12T09:42:49.286Z",
  "url": "https://benchmark.aimac.invalid/808317ab6880c369194c49c5780d51b6cec079236e53a7a9765b0fc240228f68.html",
  "toolOptions": {
    "runOnly": {
      "type": "tag",
      "values": [
        "wcag2a",
        "wcag2aa",
        "wcag21a",
        "wcag21aa",
        "wcag22a",
        "wcag22aa"
      ]
    },
    "resultTypes": [
      "violations"
    ],
    "reporter": "v1"
  },
  "inapplicable": [
    {
      "id": "area-alt",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag244",
        "wcag412",
        "section508",
        "section508.22.a",
        "TTv5",
        "TT6.a",
        "EN-301-549",
        "EN-9.2.4.4",
        "EN-9.4.1.2",
        "ACT"
      ],
      "description": "Ensure <area> elements of image maps have alternative text",
      "help": "Active <area> elements must have alternative text",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/area-alt?application=axeAPI",
      "nodes": []
    },
    {
      "id": "aria-braille-equivalent",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure aria-braillelabel and aria-brailleroledescription have a non-braille equivalent",
      "help": "aria-braille attributes must have a non-braille equivalent",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-braille-equivalent?application=axeAPI",
      "nodes": []
    },
    {
      "id": "aria-input-field-name",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "TTv5",
        "TT5.c",
        "EN-301-549",
        "EN-9.4.1.2",
        "ACT"
      ],
      "description": "Ensure every ARIA input field has an accessible name",
      "help": "ARIA input fields must have an accessible name",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-input-field-name?application=axeAPI",
      "nodes": []
    },
    {
      "id": "aria-meter-name",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag111",
        "EN-301-549",
        "EN-9.1.1.1"
      ],
      "description": "Ensure every ARIA meter node has an accessible name",
      "help": "ARIA meter nodes must have an accessible name",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-meter-name?application=axeAPI",
      "nodes": []
    },
    {
      "id": "aria-progressbar-name",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag111",
        "EN-301-549",
        "EN-9.1.1.1"
      ],
      "description": "Ensure every ARIA progressbar node has an accessible name",
      "help": "ARIA progressbar nodes must have an accessible name",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-progressbar-name?application=axeAPI",
      "nodes": []
    },
    {
      "id": "aria-required-children",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag131",
        "EN-301-549",
        "EN-9.1.3.1"
      ],
      "description": "Ensure elements with an ARIA role that require child roles contain them",
      "help": "Certain ARIA roles must contain particular children",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-required-children?application=axeAPI",
      "nodes": []
    },
    {
      "id": "aria-required-parent",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag131",
        "EN-301-549",
        "EN-9.1.3.1"
      ],
      "description": "Ensure elements with an ARIA role that require parent roles are contained by them",
      "help": "Certain ARIA roles must be contained by particular parents",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-required-parent?application=axeAPI",
      "nodes": []
    },
    {
      "id": "aria-toggle-field-name",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "TTv5",
        "TT5.c",
        "EN-301-549",
        "EN-9.4.1.2",
        "ACT"
      ],
      "description": "Ensure every ARIA toggle field has an accessible name",
      "help": "ARIA toggle fields must have an accessible name",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-toggle-field-name?application=axeAPI",
      "nodes": []
    },
    {
      "id": "aria-tooltip-name",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure every ARIA tooltip node has an accessible name",
      "help": "ARIA tooltip nodes must have an accessible name",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-tooltip-name?application=axeAPI",
      "nodes": []
    },
    {
      "id": "blink",
      "impact": null,
      "tags": [
        "cat.time-and-media",
        "wcag2a",
        "wcag222",
        "section508",
        "section508.22.j",
        "TTv5",
        "TT2.b",
        "EN-301-549",
        "EN-9.2.2.2"
      ],
      "description": "Ensure <blink> elements are not used",
      "help": "<blink> elements are deprecated and must not be used",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/blink?application=axeAPI",
      "nodes": []
    },
    {
      "id": "definition-list",
      "impact": null,
      "tags": [
        "cat.structure",
        "wcag2a",
        "wcag131",
        "EN-301-549",
        "EN-9.1.3.1"
      ],
      "description": "Ensure <dl> elements are structured correctly",
      "help": "<dl> elements must only directly contain properly-ordered <dt> and <dd> groups, <script>, <template> or <div> elements",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/definition-list?application=axeAPI",
      "nodes": []
    },
    {
      "id": "dlitem",
      "impact": null,
      "tags": [
        "cat.structure",
        "wcag2a",
        "wcag131",
        "EN-301-549",
        "EN-9.1.3.1"
      ],
      "description": "Ensure <dt> and <dd> elements are contained by a <dl>",
      "help": "<dt> and <dd> elements must be contained by a <dl>",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/dlitem?application=axeAPI",
      "nodes": []
    },
    {
      "id": "frame-focusable-content",
      "impact": null,
      "tags": [
        "cat.keyboard",
        "wcag2a",
        "wcag211",
        "TTv5",
        "TT4.a",
        "EN-301-549",
        "EN-9.2.1.1"
      ],
      "description": "Ensure <frame> and <iframe> elements with focusable content do not have tabindex=-1",
      "help": "Frames with focusable content must not have tabindex=-1",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/frame-focusable-content?application=axeAPI",
      "nodes": []
    },
    {
      "id": "frame-title-unique",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag412",
        "TTv5",
        "TT12.d",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure <iframe> and <frame> elements contain a unique title attribute",
      "help": "Frames must have a unique title attribute",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/frame-title-unique?application=axeAPI",
      "nodes": []
    },
    {
      "id": "frame-title",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag412",
        "section508",
        "section508.22.i",
        "TTv5",
        "TT12.d",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure <iframe> and <frame> elements have an accessible name",
      "help": "Frames must have an accessible name",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/frame-title?application=axeAPI",
      "nodes": []
    },
    {
      "id": "html-xml-lang-mismatch",
      "impact": null,
      "tags": [
        "cat.language",
        "wcag2a",
        "wcag311",
        "EN-301-549",
        "EN-9.3.1.1",
        "ACT"
      ],
      "description": "Ensure that HTML elements with both valid lang and xml:lang attributes agree on the base language of the page",
      "help": "HTML elements with lang and xml:lang must have the same base language",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/html-xml-lang-mismatch?application=axeAPI",
      "nodes": []
    },
    {
      "id": "input-button-name",
      "impact": null,
      "tags": [
        "cat.name-role-value",
        "wcag2a",
        "wcag412",
        "section508",
        "section508.22.a",
        "TTv5",
        "TT5.c",
        "EN-301-549",
        "EN-9.4.1.2",
        "ACT"
      ],
      "description": "Ensure input buttons have discernible text",
      "help": "Input buttons must have discernible text",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/input-button-name?application=axeAPI",
      "nodes": []
    },
    {
      "id": "input-image-alt",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag111",
        "wcag412",
        "section508",
        "section508.22.a",
        "TTv5",
        "TT7.a",
        "EN-301-549",
        "EN-9.1.1.1",
        "EN-9.4.1.2",
        "ACT"
      ],
      "description": "Ensure <input type=\"image\"> elements have alternative text",
      "help": "Image buttons must have alternative text",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/input-image-alt?application=axeAPI",
      "nodes": []
    },
    {
      "id": "marquee",
      "impact": null,
      "tags": [
        "cat.parsing",
        "wcag2a",
        "wcag222",
        "TTv5",
        "TT2.b",
        "EN-301-549",
        "EN-9.2.2.2"
      ],
      "description": "Ensure <marquee> elements are not used",
      "help": "<marquee> elements are deprecated and must not be used",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/marquee?application=axeAPI",
      "nodes": []
    },
    {
      "id": "meta-refresh",
      "impact": null,
      "tags": [
        "cat.time-and-media",
        "wcag2a",
        "wcag221",
        "TTv5",
        "TT8.a",
        "EN-301-549",
        "EN-9.2.2.1"
      ],
      "description": "Ensure <meta http-equiv=\"refresh\"> is not used for delayed refresh",
      "help": "Delayed refresh under 20 hours must not be used",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/meta-refresh?application=axeAPI",
      "nodes": []
    },
    {
      "id": "object-alt",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag111",
        "section508",
        "section508.22.a",
        "EN-301-549",
        "EN-9.1.1.1"
      ],
      "description": "Ensure <object> elements have alternative text",
      "help": "<object> elements must have alternative text",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/object-alt?application=axeAPI",
      "nodes": []
    },
    {
      "id": "role-img-alt",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag111",
        "section508",
        "section508.22.a",
        "TTv5",
        "TT7.a",
        "EN-301-549",
        "EN-9.1.1.1",
        "ACT"
      ],
      "description": "Ensure [role=\"img\"] elements have alternative text",
      "help": "[role=\"img\"] elements must have an alternative text",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/role-img-alt?application=axeAPI",
      "nodes": []
    },
    {
      "id": "scrollable-region-focusable",
      "impact": null,
      "tags": [
        "cat.keyboard",
        "wcag2a",
        "wcag211",
        "wcag213",
        "TTv5",
        "TT4.a",
        "EN-301-549",
        "EN-9.2.1.1",
        "EN-9.2.1.3"
      ],
      "description": "Ensure elements that have scrollable content are accessible by keyboard",
      "help": "Scrollable region must have keyboard access",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/scrollable-region-focusable?application=axeAPI",
      "nodes": []
    },
    {
      "id": "server-side-image-map",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag211",
        "section508",
        "section508.22.f",
        "TTv5",
        "TT4.a",
        "EN-301-549",
        "EN-9.2.1.1"
      ],
      "description": "Ensure that server-side image maps are not used",
      "help": "Server-side image maps must not be used",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/server-side-image-map?application=axeAPI",
      "nodes": []
    },
    {
      "id": "svg-img-alt",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag111",
        "section508",
        "section508.22.a",
        "TTv5",
        "TT7.a",
        "EN-301-549",
        "EN-9.1.1.1",
        "ACT"
      ],
      "description": "Ensure <svg> elements with an img, graphics-document or graphics-symbol role have an accessible text",
      "help": "<svg> elements with an img role must have an alternative text",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/svg-img-alt?application=axeAPI",
      "nodes": []
    },
    {
      "id": "td-headers-attr",
      "impact": null,
      "tags": [
        "cat.tables",
        "wcag2a",
        "wcag131",
        "section508",
        "section508.22.g",
        "TTv5",
        "TT14.b",
        "EN-301-549",
        "EN-9.1.3.1"
      ],
      "description": "Ensure that each cell in a table that uses the headers attribute refers only to other cells in that table",
      "help": "Table cells that use the headers attribute must only refer to cells in the same table",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/td-headers-attr?application=axeAPI",
      "nodes": []
    },
    {
      "id": "th-has-data-cells",
      "impact": null,
      "tags": [
        "cat.tables",
        "wcag2a",
        "wcag131",
        "section508",
        "section508.22.g",
        "TTv5",
        "TT14.b",
        "EN-301-549",
        "EN-9.1.3.1"
      ],
      "description": "Ensure that <th> elements and elements with role=columnheader/rowheader have data cells they describe",
      "help": "Table headers in a data table must refer to data cells",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/th-has-data-cells?application=axeAPI",
      "nodes": []
    },
    {
      "id": "valid-lang",
      "impact": null,
      "tags": [
        "cat.language",
        "wcag2aa",
        "wcag312",
        "TTv5",
        "TT11.b",
        "EN-301-549",
        "EN-9.3.1.2",
        "ACT"
      ],
      "description": "Ensure lang attributes have valid values",
      "help": "lang attribute must have a valid value",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/valid-lang?application=axeAPI",
      "nodes": []
    },
    {
      "id": "video-caption",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag122",
        "section508",
        "section508.22.a",
        "TTv5",
        "TT17.a",
        "EN-301-549",
        "EN-9.1.2.2"
      ],
      "description": "Ensure <video> elements have captions",
      "help": "<video> elements must have captions",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/video-caption?application=axeAPI",
      "nodes": []
    },
    {
      "id": "no-autoplay-audio",
      "impact": null,
      "tags": [
        "cat.time-and-media",
        "wcag2a",
        "wcag142",
        "TTv5",
        "TT2.a",
        "EN-301-549",
        "EN-9.1.4.2",
        "ACT"
      ],
      "description": "Ensure <video> or <audio> elements do not autoplay audio for more than 3 seconds without a control mechanism to stop or mute the audio",
      "help": "<video> or <audio> elements must not play automatically",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/no-autoplay-audio?application=axeAPI",
      "nodes": []
    }
  ],
  "passes": [
    {
      "id": "aria-allowed-attr",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure an element's role supports its ARIA attributes",
      "help": "Elements must only use supported ARIA attributes",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-allowed-attr?application=axeAPI",
      "nodes": [
        {
          "any": [],
          "all": [
            {
              "id": "aria-allowed-attr",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "ARIA attributes are used correctly for the defined role"
            }
          ],
          "none": [
            {
              "id": "aria-unsupported-attr",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "ARIA attribute is supported"
            }
          ],
          "impact": null,
          "html": "<a href=\"/\" class=\"logo\" aria-label=\"Cornerstone Fellowship Home\">",
          "target": [
            ".header-inner > .logo[href=\"/\"][aria-label=\"Cornerstone Fellowship Home\"]"
          ]
        }
      ]
    },
    {
      "id": "aria-command-name",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "TTv5",
        "TT6.a",
        "EN-301-549",
        "EN-9.4.1.2",
        "ACT"
      ],
      "description": "Ensure every ARIA button, link and menuitem has an accessible name",
      "help": "ARIA commands must have an accessible name",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-command-name?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "has-visible-text",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "Element has text that is visible to screen readers"
            },
            {
              "id": "aria-label",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "aria-label attribute exists and is not empty"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<div class=\"media-video-wrapper\" role=\"button\" tabindex=\"0\" aria-label=\"Watch latest sermon: The Anchor of the Soul, Hebrews 6:13-20\">",
          "target": [
            ".media-video-wrapper"
          ]
        }
      ]
    },
    {
      "id": "aria-conditional-attr",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure ARIA attributes are used as described in the specification of the element's role",
      "help": "ARIA attributes must be used as specified for the element's role",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-conditional-attr?application=axeAPI",
      "nodes": [
        {
          "any": [],
          "all": [
            {
              "id": "aria-conditional-attr",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "ARIA attribute is allowed"
            }
          ],
          "none": [],
          "impact": null,
          "html": "<a href=\"/\" class=\"logo\" aria-label=\"Cornerstone Fellowship Home\">",
          "target": [
            ".header-inner > .logo[href=\"/\"][aria-label=\"Cornerstone Fellowship Home\"]"
          ]
        }
      ]
    },
    {
      "id": "aria-deprecated-role",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure elements do not use deprecated roles",
      "help": "Deprecated ARIA roles must not be used",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-deprecated-role?application=axeAPI",
      "nodes": [
        {
          "any": [],
          "all": [],
          "none": [
            {
              "id": "deprecatedrole",
              "data": null,
              "relatedNodes": [],
              "impact": "minor",
              "message": "ARIA role is not deprecated"
            }
          ],
          "impact": null,
          "html": "<header class=\"site-header\" role=\"banner\">",
          "target": [
            ".site-header"
          ]
        }
      ]
    },
    {
      "id": "aria-hidden-body",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag131",
        "wcag412",
        "EN-301-549",
        "EN-9.1.3.1",
        "EN-9.4.1.2"
      ],
      "description": "Ensure aria-hidden=\"true\" is not present on the document body.",
      "help": "aria-hidden=\"true\" must not be present on the document body",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-hidden-body?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "aria-hidden-body",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "No aria-hidden attribute is present on document body"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<body>",
          "target": [
            "body"
          ]
        }
      ]
    },
    {
      "id": "aria-hidden-focus",
      "impact": null,
      "tags": [
        "cat.name-role-value",
        "wcag2a",
        "wcag412",
        "TTv5",
        "TT6.a",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure aria-hidden elements are not focusable nor contain focusable elements",
      "help": "ARIA hidden element must not be focusable or contain focusable elements",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-hidden-focus?application=axeAPI",
      "nodes": [
        {
          "any": [],
          "all": [
            {
              "id": "focusable-modal-open",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "No focusable elements while a modal is open"
            },
            {
              "id": "focusable-disabled",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "No focusable elements contained within element"
            },
            {
              "id": "focusable-not-tabbable",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "No focusable elements contained within element"
            }
          ],
          "none": [],
          "impact": null,
          "html": "<img src=\"https://placehold.co/44x44/1B2A4A/C8A951?text=CF&amp;font=merriweather\" alt=\"\" class=\"logo-img\" aria-hidden=\"true\">",
          "target": [
            ".header-inner > .logo[href=\"/\"][aria-label=\"Cornerstone Fellowship Home\"] > .logo-img[alt=\"\"]"
          ]
        }
      ]
    },
    {
      "id": "aria-prohibited-attr",
      "impact": "serious",
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure ARIA attributes are not prohibited for an element's role",
      "help": "Elements must only use permitted ARIA attributes",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-prohibited-attr?application=axeAPI",
      "nodes": [
        {
          "any": [],
          "all": [],
          "none": [
            {
              "id": "aria-prohibited-attr",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "ARIA attribute is allowed"
            }
          ],
          "impact": null,
          "html": "<a href=\"/\" class=\"logo\" aria-label=\"Cornerstone Fellowship Home\">",
          "target": [
            ".header-inner > .logo[href=\"/\"][aria-label=\"Cornerstone Fellowship Home\"]"
          ]
        }
      ]
    },
    {
      "id": "aria-required-attr",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure elements with ARIA roles have all required ARIA attributes",
      "help": "Required ARIA attributes must be provided",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-required-attr?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "aria-required-attr",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "All required ARIA attributes are present"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<header class=\"site-header\" role=\"banner\">",
          "target": [
            ".site-header"
          ]
        }
      ]
    },
    {
      "id": "aria-roles",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure all elements with a role attribute use a valid value",
      "help": "ARIA roles used must conform to valid values",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-roles?application=axeAPI",
      "nodes": [
        {
          "any": [],
          "all": [],
          "none": [
            {
              "id": "invalidrole",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "ARIA role is valid"
            },
            {
              "id": "abstractrole",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "Abstract roles are not used"
            },
            {
              "id": "unsupportedrole",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "ARIA role is supported"
            }
          ],
          "impact": null,
          "html": "<header class=\"site-header\" role=\"banner\">",
          "target": [
            ".site-header"
          ]
        }
      ]
    },
    {
      "id": "aria-valid-attr-value",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure all ARIA attributes have valid values",
      "help": "ARIA attributes must conform to valid values",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-valid-attr-value?application=axeAPI",
      "nodes": [
        {
          "any": [],
          "all": [
            {
              "id": "aria-valid-attr-value",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "ARIA attribute values are valid"
            },
            {
              "id": "aria-errormessage",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "aria-errormessage exists and references elements visible to screen readers that use a supported aria-errormessage technique"
            },
            {
              "id": "aria-level",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "aria-level values are valid"
            }
          ],
          "none": [],
          "impact": null,
          "html": "<a href=\"/\" class=\"logo\" aria-label=\"Cornerstone Fellowship Home\">",
          "target": [
            ".header-inner > .logo[href=\"/\"][aria-label=\"Cornerstone Fellowship Home\"]"
          ]
        }
      ]
    },
    {
      "id": "aria-valid-attr",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure attributes that begin with aria- are valid ARIA attributes",
      "help": "ARIA attributes must conform to valid names",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-valid-attr?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "aria-valid-attr",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "ARIA attribute name is valid"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<a href=\"/\" class=\"logo\" aria-label=\"Cornerstone Fellowship Home\">",
          "target": [
            ".header-inner > .logo[href=\"/\"][aria-label=\"Cornerstone Fellowship Home\"]"
          ]
        }
      ]
    },
    {
      "id": "autocomplete-valid",
      "impact": null,
      "tags": [
        "cat.forms",
        "wcag21aa",
        "wcag135",
        "EN-301-549",
        "EN-9.1.3.5",
        "ACT"
      ],
      "description": "Ensure the autocomplete attribute is correct and suitable for the form field",
      "help": "autocomplete attribute must be used correctly",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/autocomplete-valid?application=axeAPI",
      "nodes": [
        {
          "any": [],
          "all": [
            {
              "id": "autocomplete-valid",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "the autocomplete attribute is correctly formatted"
            }
          ],
          "none": [],
          "impact": null,
          "html": "<input type=\"email\" id=\"email\" name=\"email\" placeholder=\"you@example.com\" required=\"\" autocomplete=\"email\">",
          "target": [
            "#email"
          ]
        }
      ]
    },
    {
      "id": "avoid-inline-spacing",
      "impact": null,
      "tags": [
        "cat.structure",
        "wcag21aa",
        "wcag1412",
        "EN-301-549",
        "EN-9.1.4.12",
        "ACT"
      ],
      "description": "Ensure that text spacing set through style attributes can be adjusted with custom stylesheets",
      "help": "Inline text spacing must be adjustable with custom stylesheets",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/avoid-inline-spacing?application=axeAPI",
      "nodes": [
        {
          "any": [],
          "all": [
            {
              "id": "important-letter-spacing",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "Letter-spacing in the style attribute is not set to !important, or meets the minimum"
            },
            {
              "id": "important-word-spacing",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "word-spacing in the style attribute is not set to !important, or meets the minimum"
            },
            {
              "id": "important-line-height",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "line-height in the style attribute is not set to !important, or meets the minimum"
            }
          ],
          "none": [],
          "impact": null,
          "html": "<a href=\"#connect\" class=\"btn btn-outline\" style=\"border-color: var(--color-white); color: var(--color-white);\">",
          "target": [
            ".hero-actions > .btn-outline.btn[href$=\"#connect\"]"
          ]
        }
      ]
    },
    {
      "id": "button-name",
      "impact": null,
      "tags": [
        "cat.name-role-value",
        "wcag2a",
        "wcag412",
        "section508",
        "section508.22.a",
        "TTv5",
        "TT6.a",
        "EN-301-549",
        "EN-9.4.1.2",
        "ACT"
      ],
      "description": "Ensure buttons have discernible text",
      "help": "Buttons must have discernible text",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/button-name?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "button-has-visible-text",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "Element has inner text that is visible to screen readers"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<button type=\"submit\" class=\"btn btn-gold form-submit\">Subscribe</button>",
          "target": [
            ".form-submit"
          ]
        }
      ]
    },
    {
      "id": "bypass",
      "impact": null,
      "tags": [
        "cat.keyboard",
        "wcag2a",
        "wcag241",
        "section508",
        "section508.22.o",
        "TTv5",
        "TT9.a",
        "EN-301-549",
        "EN-9.2.4.1"
      ],
      "description": "Ensure each page has at least one mechanism for a user to bypass navigation and jump straight to the content",
      "help": "Page must have means to bypass repeated blocks",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/bypass?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "internal-link-present",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "Valid skip link found"
            },
            {
              "id": "header-present",
              "data": null,
              "relatedNodes": [
                {
                  "html": "<h1 id=\"hero-title\">Rooted in Faith. Growing in Love. Reaching the World.</h1>",
                  "target": [
                    "#hero-title"
                  ]
                },
                {
                  "html": "<h2 id=\"values-title\">Our Core Values</h2>",
                  "target": [
                    "#values-title"
                  ]
                },
                {
                  "html": "<h3>Biblical Authority</h3>",
                  "target": [
                    ".feature-card:nth-child(1) > h3"
                  ]
                },
                {
                  "html": "<h3>Authentic Community</h3>",
                  "target": [
                    ".feature-card:nth-child(2) > h3"
                  ]
                },
                {
                  "html": "<h3>Spirit-Led Worship</h3>",
                  "target": [
                    ".feature-card:nth-child(3) > h3"
                  ]
                },
                {
                  "html": "<h3>Global &amp; Local Mission</h3>",
                  "target": [
                    ".feature-card:nth-child(4) > h3"
                  ]
                },
                {
                  "html": "<h2 id=\"ministries-title\">Ministry Opportunities</h2>",
                  "target": [
                    "#ministries-title"
                  ]
                },
                {
                  "html": "<h3>Cornerstone Kids</h3>",
                  "target": [
                    ".ministry-card:nth-child(1) > .ministry-body > h3"
                  ]
                },
                {
                  "html": "<h3>Cornerstone Students (6th-12th)</h3>",
                  "target": [
                    ".ministry-card:nth-child(2) > .ministry-body > h3"
                  ]
                },
                {
                  "html": "<h3>Compassion Ministries</h3>",
                  "target": [
                    ".ministry-card:nth-child(3) > .ministry-body > h3"
                  ]
                },
                {
                  "html": "<h3>Creative Arts</h3>",
                  "target": [
                    ".ministry-card:nth-child(4) > .ministry-body > h3"
                  ]
                },
                {
                  "html": "<h3>Men's &amp; Women's Ministries</h3>",
                  "target": [
                    ".ministry-card:nth-child(5) > .ministry-body > h3"
                  ]
                },
                {
                  "html": "<h3>Global Partners</h3>",
                  "target": [
                    ".ministry-card:nth-child(6) > .ministry-body > h3"
                  ]
                },
                {
                  "html": "<h2 id=\"media-title\">Current Teaching Series</h2>",
                  "target": [
                    "#media-title"
                  ]
                },
                {
                  "html": "<h2 id=\"testimonials-title\">Stories of Grace</h2>",
                  "target": [
                    "#testimonials-title"
                  ]
                },
                {
                  "html": "<h4>Sarah M.</h4>",
                  "target": [
                    ".testimonial-card:nth-child(1) > .testimonial-author > .author-info > h4"
                  ]
                },
                {
                  "html": "<h4>James K.</h4>",
                  "target": [
                    ".testimonial-card:nth-child(2) > .testimonial-author > .author-info > h4"
                  ]
                },
                {
                  "html": "<h4>Leila P.</h4>",
                  "target": [
                    ".testimonial-card:nth-child(3) > .testimonial-author > .author-info > h4"
                  ]
                },
                {
                  "html": "<h2 id=\"faq-title\">Frequently Asked Questions</h2>",
                  "target": [
                    "#faq-title"
                  ]
                },
                {
                  "html": "<h2 id=\"connect-title\">Stay Connected</h2>",
                  "target": [
                    "#connect-title"
                  ]
                },
                {
                  "html": "<h4><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z\"></path></svg> Submit a Prayer Request</h4>",
                  "target": [
                    "#prayer-request > h4"
                  ]
                },
                {
                  "html": "<h4><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><rect x=\"3\" y=\"4\" width=\"18\" height=\"18\" rx=\"2\" ry=\"2\"></rect><line x1=\"16\" y1=\"2\" x2=\"16\" y2=\"6\"></line><line x1=\"8\" y1=\"2\" x2=\"8\" y2=\"6\"></line><line x1=\"3\" y1=\"10\" x2=\"21\" y2=\"10\"></line></svg> Upcoming Events</h4>",
                  "target": [
                    ".sidebar-card:nth-child(2) > h4"
                  ]
                },
                {
                  "html": "<h5>Christmas Cantata: \"Glory to God\"</h5>",
                  "target": [
                    ".event-item:nth-child(1) > .event-info > h5"
                  ]
                },
                {
                  "html": "<h5>Christmas Eve Candlelight Services</h5>",
                  "target": [
                    ".event-item:nth-child(2) > .event-info > h5"
                  ]
                },
                {
                  "html": "<h5>Discover Cornerstone Membership Lunch</h5>",
                  "target": [
                    ".event-item:nth-child(3) > .event-info > h5"
                  ]
                },
                {
                  "html": "<h4><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M21 12V7H5a2 2 0 0 1 0-4h14v4\"></path><path d=\"M17 12v8a2 2 0 0 1-2 2H5a2 2 0 0 1 0-4h12v-4\"></path></svg> Watch Live</h4>",
                  "target": [
                    ".sidebar-card:nth-child(3) > h4"
                  ]
                },
                {
                  "html": "<h4><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M12 2L2 7l10 5 10-5-10-5z\"></path><path d=\"M2 17l10 5 10-5\"></path><path d=\"M2 12l10 5 10-5\"></path></svg> Giving Update</h4>",
                  "target": [
                    ".sidebar-card:nth-child(4) > h4"
                  ]
                },
                {
                  "html": "<h4>Quick Links</h4>",
                  "target": [
                    "nav[aria-label=\"Quick Links\"] > h4"
                  ]
                },
                {
                  "html": "<h4>Resources</h4>",
                  "target": [
                    "nav[aria-label=\"Resources\"] > h4"
                  ]
                },
                {
                  "html": "<h4>Contact Us</h4>",
                  "target": [
                    "address > h4"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Page has a heading"
            },
            {
              "id": "landmark",
              "data": null,
              "relatedNodes": [
                {
                  "html": "<main id=\"main-content\" role=\"main\">",
                  "target": [
                    "#main-content"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Page has a landmark region"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<html lang=\"en\">",
          "target": [
            "html"
          ]
        }
      ]
    },
    {
      "id": "color-contrast",
      "impact": "serious",
      "tags": [
        "cat.color",
        "wcag2aa",
        "wcag143",
        "TTv5",
        "TT13.c",
        "EN-301-549",
        "EN-9.1.4.3",
        "ACT"
      ],
      "description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds",
      "help": "Elements must meet minimum color contrast ratio thresholds",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/color-contrast?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#1b2a4a",
                "bgColor": "#fdfbf7",
                "contrastRatio": 13.75,
                "fontSize": "15.0pt (20px)",
                "fontWeight": "bold",
                "messageKey": null,
                "expectedContrastRatio": "3:1",
                "shadowColor": null
              },
              "relatedNodes": [],
              "impact": "serious",
              "message": "Element has sufficient color contrast of 13.75"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<span class=\"logo-name\">Cornerstone Fellowship</span>",
          "target": [
            ".header-inner > .logo[href=\"/\"][aria-label=\"Cornerstone Fellowship Home\"] > .logo-text > .logo-name"
          ]
        }
      ]
    },
    {
      "id": "document-title",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag242",
        "TTv5",
        "TT12.a",
        "EN-301-549",
        "EN-9.2.4.2",
        "ACT"
      ],
      "description": "Ensure each HTML document contains a non-empty <title> element",
      "help": "Documents must have <title> element to aid in navigation",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/document-title?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "doc-has-title",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "Document has a non-empty <title> element"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<html lang=\"en\">",
          "target": [
            "html"
          ]
        }
      ]
    },
    {
      "id": "duplicate-id-aria",
      "impact": null,
      "tags": [
        "cat.parsing",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure every id attribute value used in ARIA and in labels is unique",
      "help": "IDs used in ARIA and labels must be unique",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/duplicate-id-aria?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "duplicate-id-aria",
              "data": "hero-title",
              "relatedNodes": [],
              "impact": "critical",
              "message": "Document has no elements referenced with ARIA or labels that share the same id attribute"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<h1 id=\"hero-title\">Rooted in Faith. Growing in Love. Reaching the World.</h1>",
          "target": [
            "#hero-title"
          ]
        }
      ]
    },
    {
      "id": "form-field-multiple-labels",
      "impact": null,
      "tags": [
        "cat.forms",
        "wcag2a",
        "wcag332",
        "TTv5",
        "TT5.c",
        "EN-301-549",
        "EN-9.3.3.2"
      ],
      "description": "Ensure form field does not have multiple label elements",
      "help": "Form field must not have multiple label elements",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/form-field-multiple-labels?application=axeAPI",
      "nodes": [
        {
          "any": [],
          "all": [],
          "none": [
            {
              "id": "multiple-label",
              "data": null,
              "relatedNodes": [
                {
                  "html": "<label for=\"email\">Email Address</label>",
                  "target": [
                    "label[for=\"email\"]"
                  ]
                }
              ],
              "impact": "moderate",
              "message": "Form field does not have multiple label elements"
            }
          ],
          "impact": null,
          "html": "<input type=\"email\" id=\"email\" name=\"email\" placeholder=\"you@example.com\" required=\"\" autocomplete=\"email\">",
          "target": [
            "#email"
          ]
        }
      ]
    },
    {
      "id": "html-has-lang",
      "impact": null,
      "tags": [
        "cat.language",
        "wcag2a",
        "wcag311",
        "TTv5",
        "TT11.a",
        "EN-301-549",
        "EN-9.3.1.1",
        "ACT"
      ],
      "description": "Ensure every HTML document has a lang attribute",
      "help": "<html> element must have a lang attribute",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/html-has-lang?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "has-lang",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "The <html> element has a lang attribute"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<html lang=\"en\">",
          "target": [
            "html"
          ]
        }
      ]
    },
    {
      "id": "html-lang-valid",
      "impact": null,
      "tags": [
        "cat.language",
        "wcag2a",
        "wcag311",
        "TTv5",
        "TT11.a",
        "EN-301-549",
        "EN-9.3.1.1",
        "ACT"
      ],
      "description": "Ensure the lang attribute of the <html> element has a valid value",
      "help": "<html> element must have a valid value for the lang attribute",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/html-lang-valid?application=axeAPI",
      "nodes": [
        {
          "any": [],
          "all": [],
          "none": [
            {
              "id": "valid-lang",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "Value of lang attribute is included in the list of valid languages"
            }
          ],
          "impact": null,
          "html": "<html lang=\"en\">",
          "target": [
            "html"
          ]
        }
      ]
    },
    {
      "id": "image-alt",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag111",
        "section508",
        "section508.22.a",
        "TTv5",
        "TT7.a",
        "TT7.b",
        "EN-301-549",
        "EN-9.1.1.1",
        "ACT"
      ],
      "description": "Ensure <img> elements have alternative text or a role of none or presentation",
      "help": "Images must have alternative text",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/image-alt?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "has-alt",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "Element has an alt attribute"
            }
          ],
          "all": [],
          "none": [
            {
              "id": "alt-space-value",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "Element has a valid alt attribute value"
            }
          ],
          "impact": null,
          "html": "<img src=\"https://picsum.photos/seed/childrens-ministry/600/400\" alt=\"Children learning during Sunday school\" class=\"ministry-img\" loading=\"lazy\">",
          "target": [
            ".ministry-card:nth-child(1) > .ministry-img[loading=\"lazy\"]"
          ]
        }
      ]
    },
    {
      "id": "label",
      "impact": null,
      "tags": [
        "cat.forms",
        "wcag2a",
        "wcag412",
        "section508",
        "section508.22.n",
        "TTv5",
        "TT5.c",
        "EN-301-549",
        "EN-9.4.1.2",
        "ACT"
      ],
      "description": "Ensure every form element has a label",
      "help": "Form elements must have labels",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/label?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "explicit-label",
              "data": {
                "explicitLabel": "Email Address"
              },
              "relatedNodes": [
                {
                  "html": "<label for=\"email\">Email Address</label>",
                  "target": [
                    "label[for=\"email\"]"
                  ]
                }
              ],
              "impact": "critical",
              "message": "Element has an explicit <label>"
            },
            {
              "id": "non-empty-placeholder",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "Element has a placeholder attribute"
            }
          ],
          "all": [],
          "none": [
            {
              "id": "hidden-explicit-label",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "Form element has a visible explicit <label>"
            }
          ],
          "impact": null,
          "html": "<input type=\"email\" id=\"email\" name=\"email\" placeholder=\"you@example.com\" required=\"\" autocomplete=\"email\">",
          "target": [
            "#email"
          ]
        }
      ]
    },
    {
      "id": "link-in-text-block",
      "impact": null,
      "tags": [
        "cat.color",
        "wcag2a",
        "wcag141",
        "TTv5",
        "TT13.a",
        "EN-301-549",
        "EN-9.1.4.1"
      ],
      "description": "Ensure links are distinguished from surrounding text in a way that does not rely on color",
      "help": "Links must be distinguishable without relying on color",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/link-in-text-block?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "link-in-text-block-style",
              "data": null,
              "relatedNodes": [
                {
                  "html": "<p class=\"form-note\">By submitting, you agree to our <a href=\"#\" style=\"color: var(--color-gold); text-decoration: underline;\">Privacy Policy</a>. Unsubscribe anytime.</p>",
                  "target": [
                    ".form-note"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Links can be distinguished from surrounding text by visual styling"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<a href=\"#\" style=\"color: var(--color-gold); text-decoration: underline;\">Privacy Policy</a>",
          "target": [
            ".form-note > a[href=\"#\"]"
          ]
        }
      ]
    },
    {
      "id": "link-name",
      "impact": null,
      "tags": [
        "cat.name-role-value",
        "wcag2a",
        "wcag244",
        "wcag412",
        "section508",
        "section508.22.a",
        "TTv5",
        "TT6.a",
        "EN-301-549",
        "EN-9.2.4.4",
        "EN-9.4.1.2",
        "ACT"
      ],
      "description": "Ensure links have discernible text",
      "help": "Links must have discernible text",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/link-name?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "has-visible-text",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "Element has text that is visible to screen readers"
            }
          ],
          "all": [],
          "none": [
            {
              "id": "focusable-no-name",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "Element is not in tab order or has accessible text"
            }
          ],
          "impact": null,
          "html": "<a href=\"#main-content\" class=\"skip-link\">Skip to main content</a>",
          "target": [
            ".skip-link"
          ]
        }
      ]
    },
    {
      "id": "list",
      "impact": null,
      "tags": [
        "cat.structure",
        "wcag2a",
        "wcag131",
        "EN-301-549",
        "EN-9.1.3.1"
      ],
      "description": "Ensure that lists are structured correctly",
      "help": "<ul> and <ol> must only directly contain <li>, <script> or <template> elements",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/list?application=axeAPI",
      "nodes": [
        {
          "any": [],
          "all": [],
          "none": [
            {
              "id": "only-listitems",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "List element only has direct children that are allowed inside <li> elements"
            }
          ],
          "impact": null,
          "html": "<ul class=\"main-nav-list\">",
          "target": [
            ".main-nav-list"
          ]
        }
      ]
    },
    {
      "id": "listitem",
      "impact": null,
      "tags": [
        "cat.structure",
        "wcag2a",
        "wcag131",
        "EN-301-549",
        "EN-9.1.3.1"
      ],
      "description": "Ensure <li> elements are used semantically",
      "help": "<li> elements must be contained in a <ul> or <ol>",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/listitem?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "listitem",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "List item has a <ul>, <ol> or role=\"list\" parent element"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<li><a href=\"#home\" class=\"main-nav-link active\" aria-current=\"page\">Home</a></li>",
          "target": [
            ".main-nav-list > li:nth-child(1)"
          ]
        }
      ]
    },
    {
      "id": "meta-viewport",
      "impact": null,
      "tags": [
        "cat.sensory-and-visual-cues",
        "wcag2aa",
        "wcag144",
        "EN-301-549",
        "EN-9.1.4.4",
        "ACT"
      ],
      "description": "Ensure <meta name=\"viewport\"> does not disable text scaling and zooming",
      "help": "Zooming and scaling must not be disabled",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/meta-viewport?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "meta-viewport",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "<meta> tag does not disable zooming on mobile devices"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">",
          "target": [
            "meta[name=\"viewport\"]"
          ]
        }
      ]
    },
    {
      "id": "nested-interactive",
      "impact": null,
      "tags": [
        "cat.keyboard",
        "wcag2a",
        "wcag412",
        "TTv5",
        "TT6.a",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure interactive controls are not nested as they are not always announced by screen readers or can cause focus problems for assistive technologies",
      "help": "Interactive controls must not be nested",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/nested-interactive?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "no-focusable-content",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "Element does not have focusable descendants"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<img src=\"https://picsum.photos/seed/childrens-ministry/600/400\" alt=\"Children learning during Sunday school\" class=\"ministry-img\" loading=\"lazy\">",
          "target": [
            ".ministry-card:nth-child(1) > .ministry-img[loading=\"lazy\"]"
          ]
        }
      ]
    },
    {
      "id": "select-name",
      "impact": null,
      "tags": [
        "cat.forms",
        "wcag2a",
        "wcag412",
        "section508",
        "section508.22.n",
        "TTv5",
        "TT5.c",
        "EN-301-549",
        "EN-9.4.1.2",
        "ACT"
      ],
      "description": "Ensure select element has an accessible name",
      "help": "Select element must have an accessible name",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/select-name?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "explicit-label",
              "data": {
                "explicitLabel": "I'm interested in..."
              },
              "relatedNodes": [
                {
                  "html": "<label for=\"interest\">I'm interested in...</label>",
                  "target": [
                    "label[for=\"interest\"]"
                  ]
                }
              ],
              "impact": "critical",
              "message": "Element has an explicit <label>"
            }
          ],
          "all": [],
          "none": [
            {
              "id": "hidden-explicit-label",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "Form element has a visible explicit <label>"
            }
          ],
          "impact": null,
          "html": "<select id=\"interest\" name=\"interest\">",
          "target": [
            "#interest"
          ]
        }
      ]
    },
    {
      "id": "summary-name",
      "impact": null,
      "tags": [
        "cat.name-role-value",
        "wcag2a",
        "wcag412",
        "section508",
        "section508.22.a",
        "TTv5",
        "TT6.a",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure summary elements have discernible text",
      "help": "Summary elements must have discernible text",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/summary-name?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "has-visible-text",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "Element has text that is visible to screen readers"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<summary class=\"faq-question\" aria-expanded=\"false\">",
          "target": [
            "details:nth-child(1) > summary"
          ]
        }
      ]
    },
    {
      "id": "target-size",
      "impact": null,
      "tags": [
        "cat.sensory-and-visual-cues",
        "wcag22aa",
        "wcag258"
      ],
      "description": "Ensure touch targets have sufficient size and space",
      "help": "All touch targets must be 24px large, or leave sufficient space",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/target-size?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "target-size",
              "data": {
                "minSize": 24,
                "width": 221.8,
                "height": 59.2
              },
              "relatedNodes": [],
              "impact": "serious",
              "message": "Control has sufficient size (221.8px by 59.2px, should be at least 24px by 24px)"
            },
            {
              "id": "target-offset",
              "data": {
                "closestOffset": 24,
                "minOffset": 24
              },
              "relatedNodes": [],
              "impact": "serious",
              "message": "Target has sufficient space from its closest neighbors. Safe clickable space has a diameter of 24px which is at least 24px."
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<a href=\"#main-content\" class=\"skip-link\">Skip to main content</a>",
          "target": [
            ".skip-link"
          ]
        }
      ]
    }
  ],
  "incomplete": [
    {
      "id": "aria-prohibited-attr",
      "impact": "serious",
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure ARIA attributes are not prohibited for an element's role",
      "help": "Elements must only use permitted ARIA attributes",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-prohibited-attr?application=axeAPI",
      "nodes": [
        {
          "any": [],
          "all": [],
          "none": [
            {
              "id": "aria-prohibited-attr",
              "data": {
                "role": null,
                "nodeName": "div",
                "messageKey": "noRoleSingular",
                "prohibited": [
                  "aria-label"
                ]
              },
              "relatedNodes": [],
              "impact": "serious",
              "message": "aria-label attribute is not well supported on a div with no valid role attribute."
            }
          ],
          "impact": "serious",
          "html": "<div class=\"social-links\" aria-label=\"Social Media Links\">",
          "target": [
            ".social-links"
          ],
          "failureSummary": "Fix all of the following:\n  aria-label attribute is not well supported on a div with no valid role attribute."
        }
      ]
    },
    {
      "id": "color-contrast",
      "impact": "serious",
      "tags": [
        "cat.color",
        "wcag2aa",
        "wcag143",
        "TTv5",
        "TT13.c",
        "EN-301-549",
        "EN-9.1.4.3",
        "ACT"
      ],
      "description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds",
      "help": "Elements must meet minimum color contrast ratio thresholds",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/color-contrast?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": null,
                "bgColor": null,
                "contrastRatio": 0,
                "fontSize": "10.2pt (13.6px)",
                "fontWeight": "normal",
                "messageKey": "imgNode",
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<span class=\"hero-badge\">Sunday Worship: 9:00 &amp; 10:45 AM</span>",
                  "target": [
                    ".hero-badge"
                  ]
                },
                {
                  "html": "<img src=\"https://picsum.photos/seed/cornerstone-hero/1920/1080\" alt=\"\">",
                  "target": [
                    ".hero-bg > img[alt=\"\"]"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element's background color could not be determined because element contains an image node"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span class=\"hero-badge\">Sunday Worship: 9:00 &amp; 10:45 AM</span>",
          "target": [
            ".hero-badge"
          ],
          "failureSummary": "Fix any of the following:\n  Element's background color could not be determined because element contains an image node"
        }
      ]
    }
  ],
  "violations": [
    {
      "id": "color-contrast",
      "impact": "serious",
      "tags": [
        "cat.color",
        "wcag2aa",
        "wcag143",
        "TTv5",
        "TT13.c",
        "EN-301-549",
        "EN-9.1.4.3",
        "ACT"
      ],
      "description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds",
      "help": "Elements must meet minimum color contrast ratio thresholds",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/color-contrast?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#c8a951",
                "bgColor": "#fdfbf7",
                "contrastRatio": 2.19,
                "fontSize": "7.8pt (10.4px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<header class=\"site-header\" role=\"banner\">",
                  "target": [
                    ".site-header"
                  ]
                },
                {
                  "html": "<body>",
                  "target": [
                    "body"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 2.19 (foreground color: #c8a951, background color: #fdfbf7, font size: 7.8pt (10.4px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span class=\"logo-tagline\">Rooted. Growing. Reaching.</span>",
          "target": [
            ".header-inner > .logo[href=\"/\"][aria-label=\"Cornerstone Fellowship Home\"] > .logo-text > .logo-tagline"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 2.19 (foreground color: #c8a951, background color: #fdfbf7, font size: 7.8pt (10.4px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#c8a951",
                "bgColor": "#f7f2e7",
                "contrastRatio": 2.03,
                "fontSize": "10.8pt (14.4px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<a href=\"#home\" class=\"main-nav-link active\" aria-current=\"page\">Home</a>",
                  "target": [
                    "a[aria-current=\"page\"]"
                  ]
                },
                {
                  "html": "<header class=\"site-header\" role=\"banner\">",
                  "target": [
                    ".site-header"
                  ]
                },
                {
                  "html": "<body>",
                  "target": [
                    "body"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 2.03 (foreground color: #c8a951, background color: #f7f2e7, font size: 10.8pt (14.4px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<a href=\"#home\" class=\"main-nav-link active\" aria-current=\"page\">Home</a>",
          "target": [
            "a[aria-current=\"page\"]"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 2.03 (foreground color: #c8a951, background color: #f7f2e7, font size: 10.8pt (14.4px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#555555",
                "bgColor": "#1b2a4a",
                "contrastRatio": 1.9,
                "fontSize": "12.6pt (16.8px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<footer class=\"site-footer\" role=\"contentinfo\">",
                  "target": [
                    ".site-footer"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 1.9 (foreground color: #555555, background color: #1b2a4a, font size: 12.6pt (16.8px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<p>1200 Cornerstone Drive<br>Franklin, TN 37064</p>",
          "target": [
            "address > p:nth-child(2)"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 1.9 (foreground color: #555555, background color: #1b2a4a, font size: 12.6pt (16.8px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#555555",
                "bgColor": "#1b2a4a",
                "contrastRatio": 1.9,
                "fontSize": "12.6pt (16.8px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<footer class=\"site-footer\" role=\"contentinfo\">",
                  "target": [
                    ".site-footer"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 1.9 (foreground color: #555555, background color: #1b2a4a, font size: 12.6pt (16.8px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<p>Office Hours: Mon\u2013Thu 9 AM\u20134 PM, Fri 9 AM\u201312 PM</p>",
          "target": [
            "address > p:nth-child(4)"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 1.9 (foreground color: #555555, background color: #1b2a4a, font size: 12.6pt (16.8px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#555555",
                "bgColor": "#1b2a4a",
                "contrastRatio": 1.9,
                "fontSize": "12.6pt (16.8px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<footer class=\"site-footer\" role=\"contentinfo\">",
                  "target": [
                    ".site-footer"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 1.9 (foreground color: #555555, background color: #1b2a4a, font size: 12.6pt (16.8px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<p>\u00a9 2025 Cornerstone Fellowship. All rights reserved.</p>",
          "target": [
            ".footer-bottom > p"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 1.9 (foreground color: #555555, background color: #1b2a4a, font size: 12.6pt (16.8px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#c8a951",
                "bgColor": "#faf6ee",
                "contrastRatio": 2.1,
                "fontSize": "8.4pt (11.2px)",
                "fontWeight": "bold",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<span class=\"ministry-tag\">Next Generation</span>",
                  "target": [
                    ".ministry-card:nth-child(1) > .ministry-body > .ministry-tag"
                  ]
                },
                {
                  "html": "<article class=\"ministry-card\" style=\"opacity: 1; transform: translateY(0px); transition: opacity 0.6s, transform 0.6s;\">",
                  "target": [
                    ".ministry-card:nth-child(1)"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 2.1 (foreground color: #c8a951, background color: #faf6ee, font size: 8.4pt (11.2px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span class=\"ministry-tag\">Next Generation</span>",
          "target": [
            ".ministry-card:nth-child(1) > .ministry-body > .ministry-tag"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 2.1 (foreground color: #c8a951, background color: #faf6ee, font size: 8.4pt (11.2px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#c8a951",
                "bgColor": "#faf6ee",
                "contrastRatio": 2.1,
                "fontSize": "8.4pt (11.2px)",
                "fontWeight": "bold",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<span class=\"ministry-tag\">Students</span>",
                  "target": [
                    ".ministry-card:nth-child(2) > .ministry-body > .ministry-tag"
                  ]
                },
                {
                  "html": "<article class=\"ministry-card\" style=\"opacity: 1; transform: translateY(0px); transition: opacity 0.6s, transform 0.6s;\">",
                  "target": [
                    ".ministry-card:nth-child(2)"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 2.1 (foreground color: #c8a951, background color: #faf6ee, font size: 8.4pt (11.2px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span class=\"ministry-tag\">Students</span>",
          "target": [
            ".ministry-card:nth-child(2) > .ministry-body > .ministry-tag"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 2.1 (foreground color: #c8a951, background color: #faf6ee, font size: 8.4pt (11.2px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#c8a951",
                "bgColor": "#faf6ee",
                "contrastRatio": 2.1,
                "fontSize": "8.4pt (11.2px)",
                "fontWeight": "bold",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<span class=\"ministry-tag\">Outreach</span>",
                  "target": [
                    ".ministry-card:nth-child(3) > .ministry-body > .ministry-tag"
                  ]
                },
                {
                  "html": "<article class=\"ministry-card\" style=\"opacity: 1; transform: translateY(0px); transition: opacity 0.6s, transform 0.6s;\">",
                  "target": [
                    ".ministry-card:nth-child(3)"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 2.1 (foreground color: #c8a951, background color: #faf6ee, font size: 8.4pt (11.2px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span class=\"ministry-tag\">Outreach</span>",
          "target": [
            ".ministry-card:nth-child(3) > .ministry-body > .ministry-tag"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 2.1 (foreground color: #c8a951, background color: #faf6ee, font size: 8.4pt (11.2px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#c8a951",
                "bgColor": "#faf6ee",
                "contrastRatio": 2.1,
                "fontSize": "8.4pt (11.2px)",
                "fontWeight": "bold",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<span class=\"ministry-tag\">Worship &amp; Arts</span>",
                  "target": [
                    ".ministry-card:nth-child(4) > .ministry-body > .ministry-tag"
                  ]
                },
                {
                  "html": "<article class=\"ministry-card\" style=\"opacity: 1; transform: translateY(0px); transition: opacity 0.6s, transform 0.6s;\">",
                  "target": [
                    ".ministry-card:nth-child(4)"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 2.1 (foreground color: #c8a951, background color: #faf6ee, font size: 8.4pt (11.2px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span class=\"ministry-tag\">Worship &amp; Arts</span>",
          "target": [
            ".ministry-card:nth-child(4) > .ministry-body > .ministry-tag"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 2.1 (foreground color: #c8a951, background color: #faf6ee, font size: 8.4pt (11.2px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#c8a951",
                "bgColor": "#faf6ee",
                "contrastRatio": 2.1,
                "fontSize": "8.4pt (11.2px)",
                "fontWeight": "bold",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<span class=\"ministry-tag\">Discipleship</span>",
                  "target": [
                    ".ministry-card:nth-child(5) > .ministry-body > .ministry-tag"
                  ]
                },
                {
                  "html": "<article class=\"ministry-card\" style=\"opacity: 1; transform: translateY(0px); transition: opacity 0.6s, transform 0.6s;\">",
                  "target": [
                    ".ministry-card:nth-child(5)"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 2.1 (foreground color: #c8a951, background color: #faf6ee, font size: 8.4pt (11.2px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span class=\"ministry-tag\">Discipleship</span>",
          "target": [
            ".ministry-card:nth-child(5) > .ministry-body > .ministry-tag"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 2.1 (foreground color: #c8a951, background color: #faf6ee, font size: 8.4pt (11.2px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#c8a951",
                "bgColor": "#faf6ee",
                "contrastRatio": 2.1,
                "fontSize": "8.4pt (11.2px)",
                "fontWeight": "bold",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<span class=\"ministry-tag\">Missions</span>",
                  "target": [
                    ".ministry-card:nth-child(6) > .ministry-body > .ministry-tag"
                  ]
                },
                {
                  "html": "<article class=\"ministry-card\" style=\"opacity: 1; transform: translateY(0px); transition: opacity 0.6s, transform 0.6s;\">",
                  "target": [
                    ".ministry-card:nth-child(6)"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 2.1 (foreground color: #c8a951, background color: #faf6ee, font size: 8.4pt (11.2px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span class=\"ministry-tag\">Missions</span>",
          "target": [
            ".ministry-card:nth-child(6) > .ministry-body > .ministry-tag"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 2.1 (foreground color: #c8a951, background color: #faf6ee, font size: 8.4pt (11.2px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#c8a951",
                "bgColor": "#fdfbf7",
                "contrastRatio": 2.19,
                "fontSize": "9.0pt (12px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<div style=\"background: var(--color-cream); border-radius: var(--radius-md); padding: 1rem; text-align: center; margin-bottom: 1rem;\">",
                  "target": [
                    ".sidebar-card:nth-child(4) > div"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 2.19 (foreground color: #c8a951, background color: #fdfbf7, font size: 9.0pt (12px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<div style=\"font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.05em; color: var(--color-gold); font-weight: 600;\">2024 General Fund</div>",
          "target": [
            ".sidebar-card:nth-child(4) > div > div:nth-child(1)"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 2.19 (foreground color: #c8a951, background color: #fdfbf7, font size: 9.0pt (12px), font weight: normal). Expected contrast ratio of 4.5:1"
        }
      ]
    },
    {
      "id": "target-size",
      "impact": "serious",
      "tags": [
        "cat.sensory-and-visual-cues",
        "wcag22aa",
        "wcag258"
      ],
      "description": "Ensure touch targets have sufficient size and space",
      "help": "All touch targets must be 24px large, or leave sufficient space",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/target-size?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "target-size",
              "data": {
                "minSize": 24,
                "width": 13,
                "height": 13
              },
              "relatedNodes": [],
              "impact": "serious",
              "message": "Target has insufficient size (13px by 13px, should be at least 24px by 24px)"
            },
            {
              "id": "target-offset",
              "data": {
                "closestOffset": 22.2,
                "minOffset": 24
              },
              "relatedNodes": [
                {
                  "html": "<input type=\"checkbox\" name=\"share\" value=\"team\">",
                  "target": [
                    "input[value=\"team\"]"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Target has insufficient space to its closest neighbors. Safe clickable space has a diameter of 22.2px instead of at least 24px."
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<input type=\"checkbox\" name=\"share\" value=\"pastors\" checked=\"\">",
          "target": [
            "input[value=\"pastors\"]"
          ],
          "failureSummary": "Fix any of the following:\n  Target has insufficient size (13px by 13px, should be at least 24px by 24px)\n  Target has insufficient space to its closest neighbors. Safe clickable space has a diameter of 22.2px instead of at least 24px."
        },
        {
          "any": [
            {
              "id": "target-size",
              "data": {
                "minSize": 24,
                "width": 13,
                "height": 13
              },
              "relatedNodes": [],
              "impact": "serious",
              "message": "Target has insufficient size (13px by 13px, should be at least 24px by 24px)"
            },
            {
              "id": "target-offset",
              "data": {
                "closestOffset": 22.2,
                "minOffset": 24
              },
              "relatedNodes": [
                {
                  "html": "<input type=\"checkbox\" name=\"share\" value=\"pastors\" checked=\"\">",
                  "target": [
                    "input[value=\"pastors\"]"
                  ]
                },
                {
                  "html": "<input type=\"checkbox\" name=\"share\" value=\"public\">",
                  "target": [
                    "input[value=\"public\"]"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Target has insufficient space to its closest neighbors. Safe clickable space has a diameter of 22.2px instead of at least 24px."
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<input type=\"checkbox\" name=\"share\" value=\"team\">",
          "target": [
            "input[value=\"team\"]"
          ],
          "failureSummary": "Fix any of the following:\n  Target has insufficient size (13px by 13px, should be at least 24px by 24px)\n  Target has insufficient space to its closest neighbors. Safe clickable space has a diameter of 22.2px instead of at least 24px."
        },
        {
          "any": [
            {
              "id": "target-size",
              "data": {
                "minSize": 24,
                "width": 13,
                "height": 13
              },
              "relatedNodes": [],
              "impact": "serious",
              "message": "Target has insufficient size (13px by 13px, should be at least 24px by 24px)"
            },
            {
              "id": "target-offset",
              "data": {
                "closestOffset": 22.2,
                "minOffset": 24
              },
              "relatedNodes": [
                {
                  "html": "<input type=\"checkbox\" name=\"share\" value=\"team\">",
                  "target": [
                    "input[value=\"team\"]"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Target has insufficient space to its closest neighbors. Safe clickable space has a diameter of 22.2px instead of at least 24px."
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<input type=\"checkbox\" name=\"share\" value=\"public\">",
          "target": [
            "input[value=\"public\"]"
          ],
          "failureSummary": "Fix any of the following:\n  Target has insufficient size (13px by 13px, should be at least 24px by 24px)\n  Target has insufficient space to its closest neighbors. Safe clickable space has a diameter of 22.2px instead of at least 24px."
        }
      ]
    }
  ],
  "coverage": {
    "contract": "main-document-vertical-scroll",
    "complete": true,
    "positions": [
      {
        "y": 0,
        "height": 8273
      },
      {
        "y": 576,
        "height": 8273
      },
      {
        "y": 1152,
        "height": 8273
      },
      {
        "y": 1728,
        "height": 8273
      },
      {
        "y": 2304,
        "height": 8273
      },
      {
        "y": 2880,
        "height": 8273
      },
      {
        "y": 3456,
        "height": 8273
      },
      {
        "y": 4032,
        "height": 8273
      },
      {
        "y": 4608,
        "height": 8273
      },
      {
        "y": 5184,
        "height": 8273
      },
      {
        "y": 5760,
        "height": 8273
      },
      {
        "y": 6336,
        "height": 8273
      },
      {
        "y": 6912,
        "height": 8273
      },
      {
        "y": 7488,
        "height": 8273
      },
      {
        "y": 7553,
        "height": 8273
      }
    ],
    "scans": 16,
    "max_states": 512,
    "settle_ms": 5000,
    "page_timeout_seconds": 150,
    "layout_stability": "consecutive 100ms size samples within one CSS pixel",
    "animation_settling": "finite animations present when scroll resources are ready finish or are cancelled",
    "interactive_states": "not exercised",
    "horizontal_scroll": "not exercised"
  }
}
System Prompt
You are a lead web developer at a top digital agency, tasked with creating a one-page website for a new client based on the given specifications, delivered as an HTML file. First non-whitespace char '<', last non-whitespace char '>'. Use the following services to generate placeholder images where needed:
- placehold.co (text): https://placehold.co/[{w}x{h}|{size}][/{bg-color}/{text-color}]?text={text}&font=[lato|lora|montserrat|noto sans|open sans|oswald|playfair display|poppins|pt sans|raleway|roboto|source sans|source sans pro]
- picsum.photos (photos): https://picsum.photos/[{w}/{h}|{size}]?[grayscale][&blur={1-10}]
- pravatar.cc (avatars): https://i.pravatar.cc/{size}?u={identifier}
Choose sizes appropriate to layout.
User Prompt
Create a **complete, polished, production-quality** primary web page for a new client in the "Religion and Spirituality" sector.
Your goal is to generate the full HTML code for a page that is not just functional but also visually compelling, content-rich, and feels like a finished product ready for launch.

**Client & Category:**
- Industry: "Religion and Spirituality"
- Description: Religious organizations, spiritual resources, faith communities, and worship services.

**Your Creative Task:**
1.  **Invent:** Create a unique, professional-sounding site name and a strong tagline fitting the "Religion and Spirituality" category.
2.  **Define Page:** Determine the most effective primary page type (e.g., homepage, service landing page, category portal) to showcase this fictional entity.
3.  **Design:** Develop an opinionated, modern, and professional layout. Make distinct choices about structure and flow.

**Content & Structure Requirements (Deliver a COMPLETE page):**
-   **Overall:** The final page must feel substantial and complete, with realistic amounts of text (multiple paragraphs per section where appropriate, avoid single sentences), well-integrated placeholder images, and logical flow. It should look like a real website a business would proudly use.
-   **HEADER:** Include the invented site name, tagline, a logo placeholder image, and a primary navigation bar. Ensure the navigation has **at least 5-7 clearly defined, relevant links** including: "Give", "Services", "Media".
-   **MAIN CONTENT:** Structure this area with **at least 3-4 distinct, well-developed sections**.
    -   Address key topics relevant to the "Religion and Spirituality" category. Consider themes similar to: "Volunteer Opportunities", "Outreach Ministry", "Faith Formation".
    -   **Content Depth:** Populate each section with **substantial, realistic text** (multiple sentences/paragraphs). Use authentic industry language and terminology like: "sacrament", "ministry", "faith formation".
    -   **Visuals:** Integrate relevant placeholder images logically within the content sections.
    -   **Calls to Action:** Include clear and contextually relevant CTAs. Use strong verbs similar to: "Get Involved", "Connect", "Sign Up".
-   **ENGAGEMENT (Recommended):** Strongly consider incorporating **one meaningful interactive element** that would genuinely benefit a user in the "Religion and Spirituality" sector. Ideas similar but not limited to: "giving portal".
-   **SIDEBAR (Optional):** If your design includes a sidebar, populate it with **useful, relevant content**. Ideas: "recent sermons", "ministry updates", "member stories".
-   **FOOTER:** Include a professional footer with invented contact details, copyright (current year), social media links, and standard links (Privacy, Terms).
-   **MODERN WEB PATTERNS:** Include modern web patterns like testimonial cards, feature grids, or FAQ accordions where appropriate.