DeepSeek DeepSeek V4.1 Flash 1017 – Health and Fitness

via DeepInfra · Generated

  • AIMAC Debt 7.78
  • Cost $0.01
  • Total Violations 13
  • HTML Size 66 KB
  • Em Dashes 24

Screenshot

View DeepSeek DeepSeek V4.1 Flash 1017 Health and Fitness page View Live Page

Accessibility Issues Found

13 Serious

  • aria-prohibited-attr serious 3 instances

    Elements must only use permitted ARIA attributes

    Example HTML <div class="quote__stars" aria-label="Rated 5 out of 5">
  • color-contrast serious 10 instances

    Elements must meet minimum color contrast ratio thresholds

    Example HTML <span class="num">01</span>

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">
<title>Cadence Health &amp; Performance — Clinical Care, Movement &amp; Nutrition in Nashville</title>
<meta name="description" content="Cadence Health &amp; Performance unites primary care, physical therapy, nutrition coaching, and small-group training under one roof in Nashville, Tennessee.">
<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=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600;9..144,700&family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet">
<style>
  /* ============ RESET & TOKENS ============ */
  *, *::before, *::after { box-sizing: border-box; }

  :root {
    --ink: #0F221E;
    --forest: #123B32;
    --moss: #1F6F5C;
    --sage: #BFD6C8;
    --cream: #F8F5EE;
    --sand: #EDE5D6;
    --coral: #DD5E3E;
    --gold: #E3B04B;
    --body: #4A5B55;
    --line: rgba(15, 34, 30, 0.12);
    --radius: 20px;
    --max: 1180px;
    --shadow-sm: 0 10px 24px -18px rgba(15, 34, 30, 0.55);
    --shadow-md: 0 24px 44px -28px rgba(15, 34, 30, 0.5);
  }

  html { scroll-behavior: smooth; }

  body {
    margin: 0;
    font-family: 'Inter', system-ui, -apple-system, Segoe UI, sans-serif;
    color: var(--ink);
    background: var(--cream);
    line-height: 1.68;
    font-size: 16px;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
  }

  h1, h2, h3, h4 {
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 600;
    line-height: 1.1;
    letter-spacing: -0.015em;
    margin: 0;
  }

  p { margin: 0 0 1rem; }
  img { max-width: 100%; }
  a { color: var(--moss); }

  .wrap {
    width: min(100% - 2.5rem, var(--max));
    margin-inline: auto;
  }

  section[id] { scroll-margin-top: 96px; }

  .skip-link {
    position: absolute;
    left: -9999px;
    top: 0;
    background: var(--forest);
    color: #fff;
    padding: 0.85rem 1.4rem;
    border-radius: 0 0 12px 0;
    z-index: 999;
    font-weight: 600;
    text-decoration: none;
  }
  .skip-link:focus { left: 0; }

  /* ============ BUTTONS ============ */
  .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.55rem;
    padding: 0.9rem 1.6rem;
    border-radius: 999px;
    font-family: inherit;
    font-weight: 600;
    font-size: 0.94rem;
    line-height: 1;
    text-decoration: none;
    border: 1px solid transparent;
    cursor: pointer;
    transition: transform 0.22s ease, background 0.22s ease, color 0.22s ease, box-shadow 0.22s ease;
  }
  .btn--primary { background: var(--forest); color: #fff; }
  .btn--primary:hover { background: var(--moss); transform: translateY(-2px); box-shadow: var(--shadow-sm); }
  .btn--accent { background: var(--coral); color: #fff; }
  .btn--accent:hover { background: #c74f31; transform: translateY(-2px); }
  .btn--ghost { border-color: rgba(15, 34, 30, 0.25); color: var(--ink); background: transparent; }
  .btn--ghost:hover { background: var(--ink); color: var(--cream); border-color: var(--ink); transform: translateY(-2px); }
  .btn--light { background: #fff; color: var(--forest); }
  .btn--light:hover { background: var(--sand); transform: translateY(-2px); }
  .btn--sm { padding: 0.65rem 1.15rem; font-size: 0.85rem; }

  /* ============ HEADER ============ */
  .topbar {
    background: var(--forest);
    color: #D9E7E0;
    font-size: 0.79rem;
    letter-spacing: 0.01em;
  }
  .topbar .wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
    padding-block: 0.6rem;
  }
  .topbar strong { color: #fff; font-weight: 600; }
  .topbar__right { display: flex; align-items: center; gap: 1.4rem; }
  .topbar a { color: #D9E7E0; text-decoration: none; border-bottom: 1px solid rgba(217, 231, 224, 0.35); }
  .topbar a:hover { color: #fff; border-color: #fff; }

  .site-header {
    position: sticky;
    top: 0;
    z-index: 60;
    background: rgba(248, 245, 238, 0.93);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border-bottom: 1px solid var(--line);
  }

  .nav {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.25rem;
    padding-block: 0.85rem;
  }

  .brand { display: flex; align-items: center; gap: 0.8rem; text-decoration: none; color: inherit; }
  .brand img { width: 48px; height: 48px; border-radius: 14px; display: block; flex: none; }
  .brand__name { font-family: 'Fraunces', serif; font-size: 1.12rem; font-weight: 700; letter-spacing: -0.02em; line-height: 1.15; }
  .brand__tag { display: block; font-family: 'Inter', sans-serif; font-size: 0.66rem; letter-spacing: 0.13em; text-transform: uppercase; color: var(--moss); font-weight: 600; margin-top: 0.15rem; }

  .nav__links {
    display: flex;
    align-items: center;
    gap: 0.15rem;
    list-style: none;
    margin: 0;
    padding: 0;
  }
  .nav__links a {
    display: block;
    padding: 0.5rem 0.65rem;
    font-size: 0.88rem;
    font-weight: 500;
    color: #2A3E39;
    text-decoration: none;
    border-radius: 999px;
    transition: background 0.2s ease, color 0.2s ease;
  }
  .nav__links a:hover { background: var(--sand); color: var(--forest); }

  .nav__actions { display: flex; align-items: center; gap: 0.6rem; }

  .nav__toggle {
    display: none;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 12px;
    border: 1px solid var(--line);
    background: #fff;
    cursor: pointer;
    color: var(--forest);
  }

  /* ============ HERO ============ */
  .hero { position: relative; padding: 4.5rem 0 3.5rem; overflow: hidden; }
  .hero::before {
    content: "";
    position: absolute;
    width: 640px;
    height: 640px;
    right: -220px;
    top: -260px;
    background: radial-gradient(circle, rgba(191, 214, 200, 0.55), rgba(191, 214, 200, 0) 68%);
    border-radius: 50%;
    pointer-events: none;
  }
  .hero::after {
    content: "";
    position: absolute;
    width: 380px;
    height: 380px;
    left: -180px;
    bottom: -200px;
    background: radial-gradient(circle, rgba(227, 176, 75, 0.22), rgba(227, 176, 75, 0) 70%);
    border-radius: 50%;
    pointer-events: none;
  }

  .hero__grid {
    position: relative;
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap: 3.5rem;
    align-items: center;
  }

  .hero h1 {
    font-size: clamp(2.5rem, 5vw, 3.9rem);
    letter-spacing: -0.035em;
    margin: 0.9rem 0 1.25rem;
  }
  .hero h1 em { font-style: italic; color: var(--moss); }

  .hero__lede {
    font-size: 1.09rem;
    color: var(--body);
    max-width: 34rem;
    margin-bottom: 1.9rem;
  }

  .hero__cta { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-bottom: 2rem; }

  .hero__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem 1.6rem;
    list-style: none;
    margin: 0;
    padding: 0;
    font-size: 0.86rem;
    color: var(--body);
    font-weight: 500;
  }
  .hero__meta li { display: flex; align-items: center; gap: 0.45rem; }
  .hero__meta svg { color: var(--moss); flex: none; }

  .hero__media { position: relative; }
  .hero__img-main {
    width: 100%;
    display: block;
    border-radius: 28px;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    box-shadow: var(--shadow-md);
  }
  .hero__img-small {
    position: absolute;
    left: -2.2rem;
    bottom: -2rem;
    width: 46%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: 20px;
    border: 6px solid var(--cream);
    box-shadow: var(--shadow-md);
  }
  .hero__badge {
    position: absolute;
    top: 1.3rem;
    right: -1rem;
    background: #fff;
    border-radius: 16px;
    padding: 0.8rem 1.05rem;
    box-shadow: var(--shadow-md);
    display: flex;
    align-items: center;
    gap: 0.65rem;
    font-size: 0.78rem;
    font-weight: 600;
    line-height: 1.3;
    color: var(--forest);
    max-width: 190px;
  }
  .hero__badge span.dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--coral);
    flex: none;
    box-shadow: 0 0 0 4px rgba(221, 94, 62, 0.18);
  }

  /* ============ SECTION SHELL ============ */
  .section { padding: 5rem 0; }
  .section--tight { padding: 3.5rem 0; }
  .section--sand { background: var(--sand); }
  .section--cream2 { background: #F1EDE2; }

  .eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--moss);
  }
  .eyebrow::before {
    content: "";
    width: 26px;
    height: 2px;
    border-radius: 2px;
    background: var(--coral);
  }
  .eyebrow--light { color: var(--sage); }
  .eyebrow--light::before { background: var(--gold); }

  .section__head { max-width: 660px; margin-bottom: 2.75rem; }
  .section__head h2 { font-size: clamp(1.9rem, 3.4vw, 2.7rem); margin: 0.8rem 0 1rem; }
  .section__head p { color: var(--body); margin: 0; font-size: 1.02rem; }

  .section__head--split {
    max-width: none;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 2rem;
    flex-wrap: wrap;
  }
  .section__head--split > div { max-width: 640px; }

  /* ============ STATS ============ */
  .stats-band { background: var(--forest); color: #E6F0EA; }
  .stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1px;
    background: rgba(255, 255, 255, 0.12);
    border-radius: 22px;
    overflow: hidden;
  }
  .stat { background: var(--forest); padding: 2rem 1.5rem; }
  .stat__num {
    font-family: 'Fraunces', serif;
    font-size: clamp(1.9rem, 3vw, 2.5rem);
    font-weight: 600;
    color: #fff;
    line-height: 1;
    letter-spacing: -0.03em;
  }
  .stat__num span { color: var(--gold); }
  .stat__label { font-size: 0.82rem; color: #B6CCC1; margin-top: 0.55rem; line-height: 1.45; }

  /* ============ CARDS / PROGRAMS ============ */
  .grid-3 {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(285px, 1fr));
    gap: 1.4rem;
  }

  .card {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 1.85rem 1.75rem;
    display: flex;
    flex-direction: column;
    transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
  }
  .card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-md);
    border-color: rgba(31, 111, 92, 0.35);
  }
  .card__icon {
    width: 50px;
    height: 50px;
    border-radius: 15px;
    background: var(--sand);
    color: var(--forest);
    display: grid;
    place-items: center;
    margin-bottom: 1.15rem;
    transition: background 0.28s ease, color 0.28s ease;
  }
  .card:hover .card__icon { background: var(--forest); color: #fff; }
  .card h3 { font-size: 1.22rem; margin-bottom: 0.6rem; }
  .card p { color: var(--body); font-size: 0.94rem; margin-bottom: 1.2rem; }
  .card__link {
    margin-top: auto;
    font-size: 0.86rem;
    font-weight: 600;
    color: var(--moss);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
  }
  .card__link svg { transition: transform 0.25s ease; }
  .card__link:hover svg { transform: translateX(4px); }

  /* ============ READINESS TOOL ============ */
  .check {
    position: relative;
    background: var(--forest);
    color: #E9F1EC;
    border-radius: 32px;
    padding: 3rem;
    overflow: hidden;
  }
  .check::before {
    content: "";
    position: absolute;
    width: 420px;
    height: 420px;
    right: -160px;
    top: -180px;
    background: radial-gradient(circle, rgba(227, 176, 75, 0.2), rgba(227, 176, 75, 0) 70%);
    border-radius: 50%;
    pointer-events: none;
  }
  .check__grid {
    position: relative;
    display: grid;
    grid-template-columns: 1.08fr 0.92fr;
    gap: 3rem;
    align-items: start;
  }
  .check h2 { color: #fff; font-size: clamp(1.8rem, 3vw, 2.4rem); margin: 0.8rem 0 1rem; }
  .check__lede { color: #B6CCC1; font-size: 0.96rem; max-width: 34rem; margin-bottom: 1.9rem; }

  .field { margin-bottom: 1.35rem; }
  .field__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.55rem;
  }
  .field__top label { font-size: 0.88rem; font-weight: 600; color: #E9F1EC; }
  .field__top output {
    font-family: 'Fraunces', serif;
    font-size: 0.95rem;
    font-weight: 600;
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
    min-width: 34px;
    text-align: center;
    padding: 0.12rem 0.5rem;
    border-radius: 8px;
  }
  .field__scale {
    display: flex;
    justify-content: space-between;
    font-size: 0.7rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #8FAEA1;
    margin-top: 0.35rem;
  }

  input[type="range"] {
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    height: 6px;
    border-radius: 99px;
    background: rgba(255, 255, 255, 0.18);
    outline: none;
    margin: 0.35rem 0 0;
    cursor: pointer;
  }
  input[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: var(--coral);
    border: 3px solid #fff;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.35);
    cursor: pointer;
  }
  input[type="range"]::-moz-range-thumb {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: var(--coral);
    border: 3px solid #fff;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.35);
    cursor: pointer;
  }
  input[type="range"]:focus-visible { box-shadow: 0 0 0 4px rgba(221, 94, 62, 0.35); }

  .result {
    background: var(--cream);
    color: var(--ink);
    border-radius: 22px;
    padding: 1.9rem;
    box-shadow: 0 30px 60px -40px rgba(0, 0, 0, 0.7);
  }
  .result__label {
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--moss);
    margin-bottom: 0.5rem;
  }
  .result__score { display: flex; align-items: baseline; gap: 0.3rem; line-height: 1; }
  .result__score span:first-child {
    font-family: 'Fraunces', serif;
    font-size: 3.4rem;
    font-weight: 600;
    letter-spacing: -0.04em;
  }
  .result__of { font-size: 1rem; color: #7B8B84; font-weight: 500; }
  .result__bar {
    height: 8px;
    border-radius: 99px;
    background: rgba(15, 34, 30, 0.1);
    margin: 1rem 0 1.4rem;
    overflow: hidden;
  }
  .result__bar span {
    display: block;
    height: 100%;
    width: 65%;
    border-radius: 99px;
    background: var(--moss);
    transition: width 0.45s cubic-bezier(0.22, 1, 0.36, 1), background 0.3s ease;
  }
  .result h3 { font-size: 1.28rem; margin-bottom: 0.6rem; transition: color 0.3s ease; }
  .result p { font-size: 0.9rem; color: var(--body); margin-bottom: 1.35rem; }
  .result .btn { width: 100%; }
  .result__note {
    font-size: 0.72rem;
    color: #7B8B84;
    margin: 0.9rem 0 0;
    line-height: 1.5;
  }

  /* ============ ABOUT / APPROACH ============ */
  .about__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3.5rem;
    align-items: center;
  }
  .about__media { position: relative; }
  .about__media img {
    width: 100%;
    border-radius: 26px;
    aspect-ratio: 5 / 6;
    object-fit: cover;
    display: block;
    box-shadow: var(--shadow-md);
  }
  .about__pill {
    position: absolute;
    right: -1rem;
    bottom: 1.75rem;
    background: #fff;
    border-radius: 18px;
    padding: 1rem 1.2rem;
    box-shadow: var(--shadow-md);
    max-width: 210px;
    font-size: 0.8rem;
    line-height: 1.45;
    color: var(--forest);
    font-weight: 500;
  }
  .about__pill strong { display: block; font-family: 'Fraunces', serif; font-size: 1.45rem; color: var(--moss); line-height: 1.1; }

  .about h2 { font-size: clamp(1.9rem, 3.3vw, 2.6rem); margin: 0.8rem 0 1.1rem; }
  .about p { color: var(--body); }

  .pillars { list-style: none; margin: 1.9rem 0 2rem; padding: 0; display: grid; gap: 1.1rem; }
  .pillars li { display: grid; grid-template-columns: auto 1fr; gap: 0.9rem; align-items: start; }
  .pillars .num {
    font-family: 'Fraunces', serif;
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--coral);
    border: 1px solid rgba(221, 94, 62, 0.4);
    background: rgba(221, 94, 62, 0.07);
    width: 34px;
    height: 34px;
    border-radius: 10px;
    display: grid;
    place-items: center;
    flex: none;
  }
  .pillars h4 { font-size: 1rem; margin-bottom: 0.15rem; }
  .pillars p { font-size: 0.9rem; margin: 0; }

  /* ============ CLASSES ============ */
  .classes { display: grid; grid-template-columns: repeat(auto-fit, minmax(255px, 1fr)); gap: 1.4rem; }
  .class-card {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: transform 0.28s ease, box-shadow 0.28s ease;
  }
  .class-card:hover { transform: translateY(-5px); box-shadow: var(--shadow-md); }
  .class-card img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; display: block; }
  .class-card__body { padding: 1.4rem 1.4rem 1.5rem; display: flex; flex-direction: column; flex: 1; }
  .class-card h3 { font-size: 1.1rem; margin-bottom: 0.5rem; }
  .class-card p { font-size: 0.88rem; color: var(--body); margin-bottom: 1.1rem; }
  .class-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-top: auto;
    padding-top: 0.2rem;
  }
  .tag {
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    padding: 0.28rem 0.62rem;
    border-radius: 999px;
    background: var(--sand);
    color: var(--forest);
  }
  .tag--moss { background: rgba(31, 111, 92, 0.12); color: var(--moss); }
  .class-card__coach {
    font-size: 0.78rem;
    color: #7B8B84;
    margin-top: 0.9rem;
    padding-top: 0.85rem;
    border-top: 1px solid var(--line);
    font-weight: 500;
  }

  /* ============ TESTIMONIALS ============ */
  .quotes { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1.4rem; }
  .quote {
    background: #fff;
    border-radius: var(--radius);
    padding: 1.9rem 1.75rem;
    border: 1px solid var(--line);
    display: flex;
    flex-direction: column;
  }
  .quote__stars { display: flex; gap: 0.18rem; color: var(--gold); margin-bottom: 1rem; }
  .quote blockquote {
    margin: 0 0 1.5rem;
    font-family: 'Fraunces', serif;
    font-size: 1.02rem;
    line-height: 1.55;
    color: var(--ink);
    letter-spacing: -0.01em;
  }
  .quote__person { display: flex; align-items: center; gap: 0.8rem; margin-top: auto; }
  .quote__person img { width: 46px; height: 46px; border-radius: 50%; object-fit: cover; flex: none; }
  .quote__name { font-weight: 600; font-size: 0.88rem; line-height: 1.3; }
  .quote__role { font-size: 0.76rem; color: #7B8B84; }

  /* ============ PROVIDERS ============ */
  .providers { display: grid; grid-template-columns: repeat(auto-fit, minmax(270px, 1fr)); gap: 1.4rem; }
  .provider {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 1.9rem 1.7rem;
    text-align: center;
    transition: transform 0.28s ease, box-shadow 0.28s ease;
  }
  .provider:hover { transform: translateY(-5px); box-shadow: var(--shadow-md); }
  .provider img {
    width: 92px;
    height: 92px;
    border-radius: 50%;
    object-fit: cover;
    margin-bottom: 1.1rem;
    border: 3px solid var(--sand);
  }
  .provider h3 { font-size: 1.1rem; margin-bottom: 0.2rem; }
  .provider__cred { font-size: 0.76rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--moss); margin-bottom: 0.85rem; }
  .provider p { font-size: 0.88rem; color: var(--body); margin-bottom: 1.2rem; }

  /* ============ FAQ ============ */
  .faq { max-width: 820px; margin-inline: auto; }
  .faq details {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 0 1.4rem;
    margin-bottom: 0.8rem;
    transition: border-color 0.25s ease, box-shadow 0.25s ease;
  }
  .faq details[open] { border-color: rgba(31, 111, 92, 0.35); box-shadow: var(--shadow-sm); }
  .faq summary {
    cursor: pointer;
    list-style: none;
    padding: 1.2rem 0;
    font-weight: 600;
    font-size: 0.98rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.25rem;
    color: var(--ink);
  }
  .faq summary::-webkit-details-marker { display: none; }
  .faq summary::after {
    content: "+";
    font-family: 'Inter', sans-serif;
    font-size: 1.45rem;
    font-weight: 400;
    color: var(--moss);
    line-height: 1;
    transition: transform 0.25s ease;
    flex: none;
  }
  .faq details[open] summary::after { transform: rotate(45deg); }
  .faq details p { margin: 0 0 1.3rem; color: var(--body); font-size: 0.93rem; }

  /* ============ CTA BAND ============ */
  .cta-band {
    position: relative;
    background: linear-gradient(135deg, #123B32 0%, #0F221E 62%, #1B4E42 100%);
    color: #fff;
    overflow: hidden;
  }
  .cta-band::after {
    content: "";
    position: absolute;
    width: 560px;
    height: 560px;
    right: -180px;
    bottom: -300px;
    background: radial-gradient(circle, rgba(221, 94, 62, 0.35), rgba(221, 94, 62, 0) 70%);
    border-radius: 50%;
  }
  .cta__inner {
    position: relative;
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap: 3rem;
    align-items: center;
  }
  .cta__inner h2 { font-size: clamp(1.9rem, 3.4vw, 2.7rem); color: #fff; margin: 0.8rem 0 1rem; }
  .cta__inner p { color: #B6CCC1; margin-bottom: 0; }
  .cta__form { display: grid; gap: 0.75rem; }
  .cta__form label { font-size: 0.78rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--sage); }
  .cta__row { display: flex; gap: 0.6rem; flex-wrap: wrap; }
  .cta__row input {
    flex: 1 1 200px;
    min-width: 0;
    padding: 0.95rem 1.2rem;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.25);
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
    font-family: inherit;
    font-size: 0.94rem;
    outline: none;
    transition: border-color 0.2s ease, background 0.2s ease;
  }
  .cta__row input::placeholder { color: #9DB6A9; }
  .cta__row input:focus { border-color: var(--gold); background: rgba(255, 255, 255, 0.14); }
  .cta__fine { font-size: 0.75rem; color: #8FAEA1; margin: 0; }

  /* ============ FOOTER ============ */
  .site-footer { background: var(--ink); color: #A9BEB4; padding: 4rem 0 0; font-size: 0.9rem; }
  .footer__grid {
    display: grid;
    grid-template-columns: 1.5fr 1fr 1fr 1.2fr;
    gap: 2.5rem;
    padding-bottom: 3rem;
  }
  .footer__brand { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 1.1rem; }
  .footer__brand img { width: 44px; height: 44px; border-radius: 13px; display: block; }
  .footer__brand span { font-family: 'Fraunces', serif; font-size: 1.05rem; font-weight: 700; color: #fff; letter-spacing: -0.01em; }
  .site-footer h4 {
    font-family: 'Inter', sans-serif;
    font-size: 0.74rem;
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: #fff;
    margin-bottom: 1.1rem;
  }
  .site-footer p { color: #A9BEB4; font-size: 0.88rem; line-height: 1.65; }
  .footer__links { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.6rem; }
  .footer__links a { color: #A9BEB4; text-decoration: none; font-size: 0.88rem; transition: color 0.2s ease; }
  .footer__links a:hover { color: #fff; }
  .footer__social { display: flex; gap: 0.55rem; margin-top: 1.4rem; }
  .footer__social a {
    width: 38px;
    height: 38px;
    border-radius: 11px;
    background: rgba(255, 255, 255, 0.07);
    display: grid;
    place-items: center;
    color: #C9DAD1;
    transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
  }
  .footer__social a:hover { background: var(--moss); color: #fff; transform: translateY(-2px); }
  .footer__bottom {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    padding: 1.5rem 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.8rem 1.5rem;
    font-size: 0.8rem;
    color: #83998F;
  }
  .footer__bottom ul { display: flex; flex-wrap: wrap; gap: 1.2rem; list-style: none; margin: 0; padding: 0; }
  .footer__bottom a { color: #83998F; text-decoration: none; }
  .footer__bottom a:hover { color: #fff; }

  /* ============ RESPONSIVE ============ */
  @media (max-width: 1040px) {
    .nav__links {
      position: absolute;
      top: calc(100% + 0.85rem);
      left: 0;
      right: 0;
      flex-direction: column;
      align-items: stretch;
      background: var(--cream);
      border: 1px solid var(--line);
      border-radius: 18px;
      padding: 0.75rem;
      display: none;
      box-shadow: 0 30px 50px -30px rgba(15, 34, 30, 0.6);
    }
    .nav__links.is-open { display: flex; }
    .nav__links a { padding: 0.7rem 0.9rem; border-radius: 12px; }
    .nav__toggle { display: inline-flex; }
    .nav__actions .btn { display: none; }
  }

  @media (max-width: 960px) {
    .hero__grid { grid-template-columns: 1fr; gap: 3rem; }
    .hero__media { max-width: 480px; margin-inline: auto; width: 100%; }
    .hero__img-small { left: 0; bottom: -1.5rem; }
    .hero__badge { right: 0; }
    .check__grid { grid-template-columns: 1fr; gap: 2rem; }
    .check { padding: 2.25rem; border-radius: 26px; }
    .about__grid { grid-template-columns: 1fr; gap: 2.5rem; }
    .about__media { max-width: 460px; }
    .cta__inner { grid-template-columns: 1fr; gap: 2rem; }
    .footer__grid { grid-template-columns: 1fr 1fr; gap: 2rem; }
  }

  @media (max-width: 720px) {
    .section { padding: 3.5rem 0; }
    .hero { padding: 3rem 0 2.5rem; }
    .stats { grid-template-columns: 1fr 1fr; }
    .stat { padding: 1.5rem 1.15rem; }
    .hero__img-small { width: 48%; border-width: 5px; }
    .hero__badge { top: 0.85rem; padding: 0.65rem 0.85rem; font-size: 0.72rem; max-width: 160px; }
    .topbar__right { gap: 1rem; }
    .check { padding: 1.6rem; }
    .result { padding: 1.5rem; }
    .about__pill { right: 0; }
    .footer__grid { grid-template-columns: 1fr; }
    .section__head--split { align-items: flex-start; }
  }

  @media (max-width: 460px) {
    .hero__cta .btn { width: 100%; }
    .hero__badge { display: none; }
    .stats { grid-template-columns: 1fr; }
    .cta__row input { flex-basis: 100%; }
  }

  @media (prefers-reduced-motion: reduce) {
    * { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  }
</style>
</head>
<body>

<a class="skip-link" href="#main">Skip to main content</a>

<!-- ============ TOP BAR ============ -->
<div class="topbar">
  <div class="wrap">
    <div><strong>Now booking:</strong> new patient appointments for the April cohort &middot; 3-day average wait</div>
    <div class="topbar__right">
      <a href="tel:+16155550142">(615) 555-0142</a>
      <a href="#trial">Patient Portal</a>
    </div>
  </div>
</div>

<!-- ============ HEADER ============ -->
<header class="site-header">
  <div class="wrap">
    <nav class="nav" aria-label="Primary">
      <a class="brand" href="#top">
        <img src="https://placehold.co/96x96/123B32/F8F5EE?text=CH&amp;font=montserrat" alt="Cadence Health and Performance logo">
        <span>
          <span class="brand__name">Cadence</span>
          <span class="brand__tag">Health &amp; Performance</span>
        </span>
      </a>

      <ul class="nav__links" id="navLinks">
        <li><a href="#about">About</a></li>
        <li><a href="#programs">Programs</a></li>
        <li><a href="#classes">Fitness Classes</a></li>
        <li><a href="#nutrition">Nutrition</a></li>
        <li><a href="#providers">Providers</a></li>
        <li><a href="#blog">Blog</a></li>
        <li><a href="#contact">Contact</a></li>
      </ul>

      <div class="nav__actions">
        <a class="btn btn--primary btn--sm" href="#trial">Start Trial</a>
        <button class="nav__toggle" id="navToggle" aria-expanded="false" aria-controls="navLinks" aria-label="Toggle navigation menu">
          <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" aria-hidden="true">
            <path d="M4 7h16M4 12h16M4 17h16"/>
          </svg>
        </button>
      </div>
    </nav>
  </div>
</header>

<main id="main">

  <!-- ============ HERO ============ -->
  <section class="hero" id="top">
    <div class="wrap hero__grid">
      <div class="hero__copy">
        <span class="eyebrow">Nashville &middot; Est. 2014</span>
        <h1>Care that keeps up with <em>your life</em>.</h1>
        <p class="hero__lede">
          Cadence brings primary care, physical therapy, nutrition counseling, and coached training under one roof —
          so recovery, strength, and medical follow-through stop being three separate projects.
        </p>
        <div class="hero__cta">
          <a class="btn btn--primary" href="#trial">Start Your 14-Day Trial</a>
          <a class="btn btn--ghost" href="#classes">View Class Schedule</a>
        </div>
        <ul class="hero__meta">
          <li>
            <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M20 6 9 17l-5-5"/></svg>
            Most major insurance accepted
          </li>
          <li>
            <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M20 6 9 17l-5-5"/></svg>
            Same-week physical therapy
          </li>
          <li>
            <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M20 6 9 17l-5-5"/></svg>
            No long-term contracts
          </li>
        </ul>
      </div>

      <div class="hero__media">
        <img class="hero__img-main" src="https://picsum.photos/720/900" alt="Coach guiding a member through a kettlebell movement in a sunlit training studio">
        <img class="hero__img-small" src="https://picsum.photos/400/300" alt="Clinician reviewing lab results with a patient at a consultation desk">
        <div class="hero__badge">
          <span class="dot" aria-hidden="true"></span>
          <span>94% report better mobility in 8 weeks</span>
        </div>
      </div>
    </div>
  </section>

  <!-- ============ STATS ============ -->
  <section class="section--tight stats-band" aria-label="Cadence by the numbers">
    <div class="wrap">
      <div class="stats">
        <div class="stat">
          <div class="stat__num">12,400<span>+</span></div>
          <div class="stat__label">Members coached since 2014</div>
        </div>
        <div class="stat">
          <div class="stat__num">94<span>%</span></div>
          <div class="stat__label">Report measurable mobility gains within 8 weeks</div>
        </div>
        <div class="stat">
          <div class="stat__num">38</div>
          <div class="stat__label">Licensed clinicians, dietitians, and coaches</div>
        </div>
        <div class="stat">
          <div class="stat__num">6</div>
          <div class="stat__label">Studios across Middle Tennessee</div>
        </div>
      </div>
    </div>
  </section>

  <!-- ============ PROGRAMS ============ -->
  <section class="section" id="programs">
    <div class="wrap">
      <div class="section__head">
        <span class="eyebrow">Programs &amp; services</span>
        <h2>Six disciplines, one coordinated plan.</h2>
        <p>
          Every Cadence program is led by a licensed specialist and documented in the same clinical record.
          Choose the entry point that fits where you are today — your team will assemble the rest around it.
        </p>
      </div>

      <div class="grid-3">

        <article class="card">
          <div class="card__icon" aria-hidden="true">
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round"><path d="M3 12h4l2.5-6 3.5 12 2.5-6h5.5"/></svg>
          </div>
          <h3>Recovery Programs</h3>
          <p>
            Structured return-to-activity plans built by physical therapists and sports-medicine physicians.
            We pair manual therapy and load management with objective re-testing, so you know precisely when
            tissue tolerance has caught up with ambition — not just when the pain stopped.
          </p>
          <a class="card__link" href="#readiness">
            Explore recovery
            <svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg>
          </a>
        </article>

        <article class="card">
          <div class="card__icon" aria-hidden="true">
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round"><path d="M4 5.5A2.5 2.5 0 0 1 6.5 3H20v15H6.5A2.5 2.5 0 0 0 4 20.5V5.5Z"/><path d="M20 18v3H6.5"/></svg>
          </div>
          <h3>Health Education</h3>
          <p>
            Small-group workshops and one-to-one coaching on resting metabolic rate, lab literacy, sleep hygiene,
            and medication adherence. Think of it as the plain-language translation of what your chart actually says —
            taught by the clinicians who wrote it.
          </p>
          <a class="card__link" href="#faq">
            See the curriculum
            <svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg>
          </a>
        </article>

        <article class="card">
          <div class="card__icon" aria-hidden="true">
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="5"/><path d="M12 8v8M8 12h8"/></svg>
          </div>
          <h3>Medical Services</h3>
          <p>
            Primary care, chronic care management, and preventive screening delivered by clinicians who share a
            chart with your coach. Annual physicals, immunizations, specialist referrals, and same-week sick visits
            for members and their families.
          </p>
          <a class="card__link" href="#providers">
            Meet the clinicians
            <svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg>
          </a>
        </article>

        <article class="card" id="nutrition">
          <div class="card__icon" aria-hidden="true">
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round"><path d="M12 8c3.2-3.2 7.4-1.9 7.4 2.4 0 4.5-3.3 9.6-7.4 9.6s-7.4-5.1-7.4-9.6C4.6 6.1 8.8 4.8 12 8Z"/><path d="M12 8V4.5"/></svg>
          </div>
          <h3>Nutrition Coaching</h3>
          <p>
            Registered dietitians build flexible plans around real schedules: macronutrient strategy, indirect
            calorimetry, and lifestyle modification that survives a busy Tuesday. No photocopied meal sheets,
            no elimination diets you can't sustain past week three.
          </p>
          <a class="card__link" href="#trial">
            Book a nutrition consult
            <svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg>
          </a>
        </article>

        <article class="card">
          <div class="card__icon" aria-hidden="true">
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round"><path d="M4 9v6M7 6.5v11M17 6.5v11M20 9v6M7 12h10"/></svg>
          </div>
          <h3>Strength &amp; Conditioning</h3>
          <p>
            Small-group training capped at eight athletes and programmed in eight-week blocks with progressive
            overload, VO2 max testing, and quarterly movement screens. Every session is scaled to the individual,
            never to the group average.
          </p>
          <a class="card__link" href="#classes">
            View the schedule
            <svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg>
          </a>
        </article>

        <article class="card">
          <div class="card__icon" aria-hidden="true">
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round"><path d="M20 14.5A8.5 8.5 0 1 1 10.5 4a6.8 6.8 0 0 0 9.5 10.5Z"/></svg>
          </div>
          <h3>Sleep &amp; Stress</h3>
          <p>
            HRV-guided recovery tracking, guided down-regulation breathing, and cognitive behavioral therapy for
            insomnia (CBT-I). Adaptation happens between sessions, not during them — so we treat sleep as a
            training variable, not an afterthought.
          </p>
          <a class="card__link" href="#readiness">
            Check your readiness
            <svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg>
          </a>
        </article>

      </div>
    </div>
  </section>

  <!-- ============ INTERACTIVE READINESS CHECK ============ -->
  <section class="section section--tight" id="readiness">
    <div class="wrap">
      <div class="check">
        <div class="check__grid">

          <div>
            <span class="eyebrow eyebrow--light">Interactive &middot; 30 seconds</span>
            <h2>How ready are you to train today?</h2>
            <p class="check__lede">
              Our coaches run this same four-input check with members every morning. Move the sliders to match how
              you actually feel — the score updates live and tells you how to adjust today's session.
            </p>

            <div class="field">
              <div class="field__top">
                <label for="sleep">Sleep quality (last night)</label>
                <output for="sleep" id="sleepOut">7</output>
              </div>
              <input class="js-readiness" id="sleep" type="range" min="0" max="10" step="1" value="7">
              <div class="field__scale"><span>Restless</span><span>Deep &amp; unbroken</span></div>
            </div>

            <div class="field">
              <div class="field__top">
                <label for="freshness">Muscle freshness</label>
                <output for="freshness" id="freshnessOut">6</output>
              </div>
              <input class="js-readiness" id="freshness" type="range" min="0" max="10" step="1" value="6">
              <div class="field__scale"><span>Very sore</span><span>Fresh</span></div>
            </div>

            <div class="field">
              <div class="field__top">
                <label for="stress">Stress resilience</label>
                <output for="stress" id="stressOut">6</output>
              </div>
              <input class="js-readiness" id="stress" type="range" min="0" max="10" step="1" value="6">
              <div class="field__scale"><span>Wound up</span><span>Calm &amp; settled</span></div>
            </div>

            <div class="field" style="margin-bottom:0;">
              <div class="field__top">
                <label for="energy">Energy &amp; motivation</label>
                <output for="energy" id="energyOut">7</output>
              </div>
              <input class="js-readiness" id="energy" type="range" min="0" max="10" step="1" value="7">
              <div class="field__scale"><span>Drained</span><span>Energized</span></div>
            </div>
          </div>

          <div class="result" aria-live="polite">
            <p class="result__label">Readiness score</p>
            <div class="result__score">
              <span id="scoreValue">65</span>
              <span class="result__of">/ 100</span>
            </div>
            <div class="result__bar"><span id="scoreBar"></span></div>
            <h3 id="scoreTitle">Amber — modify intensity</h3>
            <p id="scoreText">
              You're not broken, just under-recovered. Drop one working set, cap intensity around RPE 7, and add ten
              minutes to your cooldown.
            </p>
            <a class="btn btn--accent" id="scoreCta" href="#classes">Book a recovery session</a>
            <p class="result__note">
              This tool offers general training guidance only and is not a medical diagnosis. Persistent low scores
              should be reviewed by a clinician.
            </p>
          </div>

        </div>
      </div>
    </div>
  </section>

  <!-- ============ ABOUT / APPROACH ============ -->
  <section class="section" id="about">
    <div class="wrap about__grid">
      <div class="about__media">
        <img src="https://picsum.photos/700/840" alt="Physical therapist assessing a member's shoulder mobility in a bright clinical studio" loading="lazy">
        <div class="about__pill">
          <strong>1 chart</strong>
          Shared by your physician, PT, dietitian, and coach.
        </div>
      </div>

      <div class="about">
        <span class="eyebrow">Our approach</span>
        <h2>One chart. One team. One plan that actually gets followed.</h2>
        <p>
          Most people don't struggle with health because they lack information. They struggle because the
          information lives in four different buildings, none of which talk to each other. Cadence was built to
          collapse that distance: your primary care physician, physical therapist, dietitian, and strength coach
          document in the same record and review the same quarterly testing.
        </p>
        <p>
          That means when a member's resting heart rate climbs and their sleep score falls for two weeks straight,
          the coach flags it, the clinician orders labs, and the dietitian adjusts fueling — usually before anything
          becomes an injury or a diagnosis. It is preventive care that behaves like performance coaching, and
          performance coaching that behaves like preventive care.
        </p>

        <ul class="pillars">
          <li>
            <span class="num">01</span>
            <div>
              <h4>Shared clinical record</h4>
              <p>Every note, lab, and training block lives in one encrypted chart you can open from the member portal.</p>
            </div>
          </li>
          <li>
            <span class="num">02</span>
            <div>
              <h4>Objective re-testing every 8 weeks</h4>
              <p>Movement screens, VO2 max, grip strength, and bloodwork — so progress is measured, never assumed.</p>
            </div>
          </li>
          <li>
            <span class="num">03</span>
            <div>
              <h4>Coaching built around adherence</h4>
              <p>Plans are designed for the weeks you're traveling, injured, or unmotivated. We adjust rather than restart.</p>
            </div>
          </li>
        </ul>

        <div class="hero__cta" style="margin-bottom:0;">
          <a class="btn btn--primary" href="#providers">Meet the Team</a>
          <a class="btn btn--ghost" href="#faq">Learn More</a>
        </div>
      </div>
    </div>
  </section>

  <!-- ============ CLASSES ============ -->
  <section class="section section--sand" id="classes">
    <div class="wrap">
      <div class="section__head section__head--split">
        <div>
          <span class="eyebrow">Fitness classes</span>
          <h2>This week at Cadence.</h2>
          <p>
            Small-group sessions capped at eight members, led by the same coaches who review your quarterly testing.
            Drop in with a trial pass or add unlimited classes to any membership.
          </p>
        </div>
        <a class="btn btn--primary" href="#trial">View Full Schedule</a>
      </div>

      <div class="classes">

        <article class="class-card">
          <img src="https://picsum.photos/600/380" alt="Members moving through a morning mobility flow on mats" loading="lazy">
          <div class="class-card__body">
            <h3>Sunrise Mobility</h3>
            <p>
              A joint-by-joint flow that opens hips, thoracic spine, and ankles before the workday starts.
              Finishes with five minutes of guided down-regulation breathing.
            </p>
            <div class="class-card__meta">
              <span class="tag">45 min</span>
              <span class="tag">All levels</span>
              <span class="tag tag--moss">Mon / Wed / Fri 6:15am</span>
            </div>
            <div class="class-card__coach">Coach Dana Whitfield, CPT</div>
          </div>
        </article>

        <article class="class-card">
          <img src="https://picsum.photos/600/381" alt="Coach teaching barbell technique to a small group in the strength studio" loading="lazy">
          <div class="class-card__body">
            <h3>Barbell Foundations</h3>
            <p>
              Squat, hinge, press, and pull taught from the ground up. Capped at eight athletes so every single rep
              gets a set of trained eyes on it — ideal for a first strength block.
            </p>
            <div class="class-card__meta">
              <span class="tag">60 min</span>
              <span class="tag">Beginner</span>
              <span class="tag tag--moss">Tue / Thu 7:00pm</span>
            </div>
            <div class="class-card__coach">Coach Marcus Reed, CSCS</div>
          </div>
        </article>

        <article class="class-card">
          <img src="https://picsum.photos/600/382" alt="Member working through an interval on a rowing ergometer" loading="lazy">
          <div class="class-card__body">
            <h3>Metabolic Conditioning</h3>
            <p>
              Interval work on rower, bike, and sled at heart-rate zones set by your most recent VO2 max test —
              not by a group average or last year's spreadsheet.
            </p>
            <div class="class-card__meta">
              <span class="tag">50 min</span>
              <span class="tag">Intermediate</span>
              <span class="tag tag--moss">Sat 9:00am</span>
            </div>
            <div class="class-card__coach">Coach Priya Raman, RD, CSSD</div>
          </div>
        </article>

        <article class="class-card">
          <img src="https://picsum.photos/600/383" alt="Members resting in supported restorative yoga postures" loading="lazy">
          <div class="class-card__body">
            <h3>Restorative Yoga &amp; Breathwork</h3>
            <p>
              Slow, supported postures paired with paced breathing, designed for members in heavy training blocks
              or high-stress seasons who need the nervous system to catch up.
            </p>
            <div class="class-card__meta">
              <span class="tag">40 min</span>
              <span class="tag">All levels</span>
              <span class="tag tag--moss">Sun 5:30pm</span>
            </div>
            <div class="class-card__coach">Coach Elena Cruz, RYT-500</div>
          </div>
        </article>

      </div>
    </div>
  </section>

  <!-- ============ PROVIDERS ============ -->
  <section class="section" id="providers">
    <div class="wrap">
      <div class="section__head">
        <span class="eyebrow">Provider spotlight</span>
        <h2>The people writing your plan.</h2>
        <p>
          Cadence clinicians hold hospital privileges across Middle Tennessee and teach in their specialties.
          Here are three of the forty professionals you may work with.
        </p>
      </div>

      <div class="providers">

        <article class="provider">
          <img src="https://i.pravatar.cc/184?u=cadence-osei" alt="Portrait of Dr. Amara Osei" loading="lazy">
          <h3>Dr. Amara Osei, MD</h3>
          <div class="provider__cred">Internal Medicine &amp; Chronic Care</div>
          <p>
            Board-certified internist focused on metabolic health, hypertension, and long-term chronic care
            management. Twelve years in primary care; leads Cadence's diabetes prevention cohort.
          </p>
          <a class="btn btn--ghost btn--sm" href="#trial">Book a Visit</a>
        </article>

        <article class="provider">
          <img src="https://i.pravatar.cc/184?u=cadence-bui" alt="Portrait of Dr. Nathan Bui" loading="lazy">
          <h3>Dr. Nathan Bui, DPT, SCS</h3>
          <div class="provider__cred">Orthopedic &amp; Sports PT</div>
          <p>
            Sports-certified physical therapist who builds return-to-sport timelines around objective strength and
            hop-test benchmarks. Former rehab lead for a Division I track program.
          </p>
          <a class="btn btn--ghost btn--sm" href="#readiness">Start Recovery</a>
        </article>

        <article class="provider">
          <img src="https://i.pravatar.cc/184?u=cadence-raman" alt="Portrait of Priya Raman" loading="lazy">
          <h3>Priya Raman, RD, CSSD</h3>
          <div class="provider__cred">Sports Nutrition &amp; Metabolic Testing</div>
          <p>
            Board-certified specialist in sports dietetics. Runs our resting metabolic rate testing, fueling
            workshops, and the nutrition side of every chronic care plan.
          </p>
          <a class="btn btn--ghost btn--sm" href="#nutrition">Book a Consult</a>
        </article>

      </div>
    </div>
  </section>

  <!-- ============ TESTIMONIALS ============ -->
  <section class="section section--cream2" id="blog">
    <div class="wrap">
      <div class="section__head">
        <span class="eyebrow">Member stories</span>
        <h2>Results that hold up after the program ends.</h2>
        <p>
          We publish member outcomes every quarter, with permission and without cherry-picking. Here is what
          that looks like in practice.
        </p>
      </div>

      <div class="quotes">

        <article class="quote">
          <div class="quote__stars" aria-label="Rated 5 out of 5">
            <svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="m12 2 3 6.6 7 .8-5.2 4.8 1.4 7L12 17.7 5.8 21.2l1.4-7L2 9.4l7-.8Z"/></svg>
            <svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="m12 2 3 6.6 7 .8-5.2 4.8 1.4 7L12 17.7 5.8 21.2l1.4-7L2 9.4l7-.8Z"/></svg>
            <svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="m12 2 3 6.6 7 .8-5.2 4.8 1.4 7L12 17.7 5.8 21.2l1.4-7L2 9.4l7-.8Z"/></svg>
            <svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="m12 2 3 6.6 7 .8-5.2 4.8 1.4 7L12 17.7 5.8 21.2l1.4-7L2 9.4l7-.8Z"/></svg>
            <svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="m12 2 3 6.6 7 .8-5.2 4.8 1.4 7L12 17.7 5.8 21.2l1.4-7L2 9.4l7-.8Z"/></svg>
          </div>
          <blockquote>
            "I'd been told my knee was 'just something to manage.' Eight weeks into the return-to-sport protocol
            I ran a half marathon pain-free — and I understood every step of the plan along the way."
          </blockquote>
          <div class="quote__person">
            <img src="https://i.pravatar.cc/92?u=cadence-jordan" alt="" loading="lazy">
            <div>
              <div class="quote__name">Jordan Alvarez</div>
              <div class="quote__role">Marathoner &middot; Member since 2022</div>
            </div>
          </div>
        </article>

        <article class="quote">
          <div class="quote__stars" aria-label="Rated 5 out of 5">
            <svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="m12 2 3 6.6 7 .8-5.2 4.8 1.4 7L12 17.7 5.8 21.2l1.4-7L2 9.4l7-.8Z"/></svg>
            <svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="m12 2 3 6.6 7 .8-5.2 4.8 1.4 7L12 17.7 5.8 21.2l1.4-7L2 9.4l7-.8Z"/></svg>
            <svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="m12 2 3 6.6 7 .8-5.2 4.8 1.4 7L12 17.7 5.8 21.2l1.4-7L2 9.4l7-.8Z"/></svg>
            <svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="m12 2 3 6.6 7 .8-5.2 4.8 1.4 7L12 17.7 5.8 21.2l1.4-7L2 9.4l7-.8Z"/></svg>
            <svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="m12 2 3 6.6 7 .8-5.2 4.8 1.4 7L12 17.7 5.8 21.2l1.4-7L2 9.4l7-.8Z"/></svg>
          </div>
          <blockquote>
            "My A1c dropped 1.4 points in nine months. Nobody handed me a photocopied diet sheet — my dietitian
            rebuilt how I shop and cook, and my physician tracked the labs the whole way."
          </blockquote>
          <div class="quote__person">
            <img src="https://i.pravatar.cc/92?u=cadence-beatrice" alt="" loading="lazy">
            <div>
              <div class="quote__name">Beatrice Okafor</div>
              <div class="quote__role">Chronic care member &middot; Age 58</div>
            </div>
          </div>
        </article>

        <article class="quote">
          <div class="quote__stars" aria-label="Rated 5 out of 5">
            <svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="m12 2 3 6.6 7 .8-5.2 4.8 1.4 7L12 17.7 5.8 21.2l1.4-7L2 9.4l7-.8Z"/></svg>
            <svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="m12 2 3 6.6 7 .8-5.2 4.8 1.4 7L12 17.7 5.8 21.2l1.4-7L2 9.4l7-.8Z"/></svg>
            <svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="m12 2 3 6.6 7 .8-5.2 4.8 1.4 7L12 17.7 5.8 21.2l1.4-7L2 9.4l7-.8Z"/></svg>
            <svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="m12 2 3 6.6 7 .8-5.2 4.8 1.4 7L12 17.7 5.8 21.2l1.4-7L2 9.4l7-.8Z"/></svg>
            <svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="m12 2 3 6.6 7 .8-5.2 4.8 1.4 7L12 17.7 5.8 21.2l1.4-7L2 9.4l7-.8Z"/></svg>
          </div>
          <blockquote>
            "My coach, my PT, and my doctor are literally looking at the same chart. I've never once had to
            explain my history twice, and I've never had to guess whether I was cleared to lift."
          </blockquote>
          <div class="quote__person">
            <img src="https://i.pravatar.cc/92?u=cadence-sam" alt="" loading="lazy">
            <div>
              <div class="quote__name">Sam Whitaker</div>
              <div class="quote__role">Small-group training &middot; Member since 2021</div>
            </div>
          </div>
        </article>

      </div>
    </div>
  </section>

  <!-- ============ FAQ ============ -->
  <section class="section" id="faq">
    <div class="wrap">
      <div class="section__head" style="margin-inline:auto;text-align:center;">
        <span class="eyebrow" style="justify-content:center;">Questions</span>
        <h2>Before you book.</h2>
        <p>
          The five things new members ask most often. If your question isn't here, our front desk answers the phone
          between 7am and 7pm on weekdays.
        </p>
      </div>

      <div class="faq">
        <details open>
          <summary>Do I need a referral to become a member?</summary>
          <p>
            No. You can join for training and nutrition coaching alone, or begin with a primary care visit. If your
            insurance plan requires a referral for physical therapy, our front desk will help you request one — most
            members are seen within three business days.
          </p>
        </details>

        <details>
          <summary>Is Cadence covered by insurance?</summary>
          <p>
            Clinical services — primary care, physical therapy, and nutrition counseling — are billed to most major
            plans, including BlueCross, Aetna, Cigna, and United. Coaching and small-group training are
            membership-based and not billed to insurance. We verify your benefits in writing before your first visit,
            so there are no surprises.
          </p>
        </details>

        <details>
          <summary>What does the 14-day trial include?</summary>
          <p>
            Two coached small-group sessions, one full movement screen, a resting metabolic rate estimate, and a
            30-minute consult with a registered dietitian. There's no contract and no cancellation fee — and you keep
            your assessment results whether or not you continue.
          </p>
        </details>

        <details>
          <summary>Can I keep my current doctor?</summary>
          <p>
            Absolutely. Many members use Cadence for training, recovery, and nutrition while their existing physician
            manages primary care. With your written permission, we send quarterly progress summaries to your provider
            so everyone stays aligned on labs, medications, and load progression.
          </p>
        </details>

        <details>
          <summary>How do you handle an injury mid-training-block?</summary>
          <p>
            Same-week triage with our physical therapy team, a written modification plan sent directly to your coach,
            and objective re-testing before you return to full load. Members never have to guess whether they're
            cleared — the criteria are printed, measurable, and shared in your portal.
          </p>
        </details>
      </div>
    </div>
  </section>

  <!-- ============ CTA BAND ============ -->
  <section class="section cta-band" id="trial">
    <div class="wrap cta__inner">
      <div>
        <span class="eyebrow eyebrow--light">Start here</span>
        <h2>Your first two weeks are on us.</h2>
        <p>
          Two coached sessions, a full movement screen, a metabolic rate estimate, and a nutrition consult.
          No contract, no pressure — and you keep your results either way.
        </p>
      </div>

      <form class="cta__form" action="#trial" method="post" novalidate>
        <label for="ctaEmail">Enter your email to claim a trial pass</label>
        <div class="cta__row">
          <input id="ctaEmail" name="email" type="email" placeholder="you@example.com" required autocomplete="email">
          <button class="btn btn--accent" type="submit">Start Trial</button>
        </div>
        <p class="cta__fine">We'll never share your email. Unsubscribe any time.</p>
      </form>
    </div>
  </section>

</main>

<!-- ============ FOOTER ============ -->
<footer class="site-footer" id="contact">
  <div class="wrap">
    <div class="footer__grid">

      <div>
        <div class="footer__brand">
          <img src="https://placehold.co/88x88/1F6F5C/F8F5EE?text=CH&amp;font=montserrat" alt="Cadence Health and Performance logo" loading="lazy">
          <span>Cadence Health &amp; Performance</span>
        </div>
        <p>
          Clinical care, human movement, and the habits that hold them together. Serving Middle Tennessee since 2014.
        </p>
        <p>
          1420 Meridian Row, Suite 300<br>
          Nashville, TN 37203
        </p>
        <div class="footer__social">
          <a href="#contact" aria-label="Cadence on Instagram">
            <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="3" y="3" width="18" height="18" rx="5"/><circle cx="12" cy="12" r="4"/><circle cx="17.2" cy="6.8" r="1"/></svg>
          </a>
          <a href="#contact" aria-label="Cadence on X">
            <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.1" stroke-linecap="round" aria-hidden="true"><path d="M5 5l14 14M19 5 5 19"/></svg>
          </a>
          <a href="#contact" aria-label="Cadence on LinkedIn">
            <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="3" y="3" width="18" height="18" rx="4"/><path d="M8 10.5V17M8 7.2v.01M12.5 17v-3.6a2.2 2.2 0 0 1 4.4 0V17"/></svg>
          </a>
          <a href="#contact" aria-label="Cadence on YouTube">
            <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="2.5" y="5.5" width="19" height="13" rx="4"/><path d="M11 9.6l4 2.4-4 2.4z"/></svg>
          </a>
        </div>
      </div>

      <div>
        <h4>Explore</h4>
        <ul class="footer__links">
          <li><a href="#about">About Cadence</a></li>
          <li><a href="#programs">Programs</a></li>
          <li><a href="#classes">Fitness Classes</a></li>
          <li><a href="#nutrition">Nutrition Coaching</a></li>
          <li><a href="#providers">Our Providers</a></li>
        </ul>
      </div>

      <div>
        <h4>Resources</h4>
        <ul class="footer__links">
          <li><a href="#blog">Blog &amp; Health Education</a></li>
          <li><a href="#readiness">Readiness Check</a></li>
          <li><a href="#trial">Patient Portal</a></li>
          <li><a href="#faq">Insurance &amp; Billing</a></li>
          <li><a href="#contact">Careers</a></li>
        </ul>
      </div>

      <div>
        <h4>Visit &amp; Contact</h4>
        <ul class="footer__links">
          <li><a href="tel:+16155550142">(615) 555-0142</a></li>
          <li><a href="mailto:hello@cadencehealth.co">hello@cadencehealth.co</a></li>
          <li><a href="#contact">Mon–Fri · 6:00am – 7:00pm</a></li>
          <li><a href="#contact">Sat · 8:00am – 2:00pm</a></li>
          <li><a href="#contact">Sun · Classes only</a></li>
        </ul>
      </div>

    </div>

    <div class="footer__bottom">
      <div>&copy; <span id="year">2025</span> Cadence Health &amp; Performance, PLLC. All rights reserved.</div>
      <ul>
        <li><a href="#contact">Privacy Policy</a></li>
        <li><a href="#contact">Terms of Service</a></li>
        <li><a href="#contact">Accessibility</a></li>
        <li><a href="#contact">HIPAA Notice</a></li>
      </ul>
    </div>
  </div>
</footer>

<script>
  /* ---------- Mobile navigation ---------- */
  (function () {
    var toggle = document.getElementById('navToggle');
    var links = document.getElementById('navLinks');
    if (!toggle || !links) return;

    toggle.addEventListener('click', function () {
      var open = links.classList.toggle('is-open');
      toggle.setAttribute('aria-expanded', open ? 'true' : 'false');
    });

    links.addEventListener('click', function (e) {
      if (e.target.tagName === 'A') {
        links.classList.remove('is-open');
        toggle.setAttribute('aria-expanded', 'false');
      }
    });
  })();

  /* ---------- Readiness check ---------- */
  (function () {
    var sliders = Array.prototype.slice.call(document.querySelectorAll('.js-readiness'));
    if (!sliders.length) return;

    var scoreValue = document.getElementById('scoreValue');
    var scoreBar = document.getElementById('scoreBar');
    var scoreTitle = document.getElementById('scoreTitle');
    var scoreText = document.getElementById('scoreText');
    var scoreCta = document.getElementById('scoreCta');

    var bands = [
      {
        min: 80,
        title: 'Green light — train as planned',
        color: '#1F6F5C',
        text: "Sleep, soreness, and stress are all in a range where hard work should land well. Keep your scheduled session and log how you feel in the Cadence app so your coach can adjust the next block.",
        cta: 'View class schedule',
        href: '#classes'
      },
      {
        min: 60,
        title: 'Amber — modify intensity',
        color: '#A9761A',
        text: "You're not broken, just under-recovered. Drop one working set, cap intensity around RPE 7, and add ten minutes to your cooldown. If this is your third amber day in a row, ask us for a deload week.",
        cta: 'Book a recovery session',
        href: '#trial'
      },
      {
        min: 40,
        title: 'Recovery focus today',
        color: '#C2572F',
        text: "Today is better spent on mobility, easy aerobic work, and sleep. Skip the heavy barbell, book a soft-tissue session, and revisit your nutrition log — under-fueling is the most common driver we see at this score.",
        cta: 'Explore Recovery Programs',
        href: '#programs'
      },
      {
        min: 0,
        title: 'Rest and check in',
        color: '#A33024',
        text: "Take a full rest day. If you're scoring here for three or more days running, book a same-week clinical visit — persistent fatigue can point to iron deficiency, thyroid issues, or sleep apnea, all of which we can test on site.",
        cta: 'Book a clinical visit',
        href: '#trial'
      }
    ];

    function update() {
      var total = 0;

      sliders.forEach(function (slider) {
        total += Number(slider.value);
        var out = document.getElementById(slider.id + 'Out');
        if (out) out.textContent = slider.value;
      });

      var score = Math.round((total / (sliders.length * 10)) * 100);

      var band = bands[bands.length - 1];
      for (var i = 0; i < bands.length; i++) {
        if (score >= bands[i].min) { band = bands[i]; break; }
      }

      scoreValue.textContent = score;
      scoreBar.style.width = score + '%';
      scoreBar.style.background = band.color;
      scoreTitle.textContent = band.title;
      scoreTitle.style.color = band.color;
      scoreText.textContent = band.text;
      scoreCta.textContent = band.cta;
      scoreCta.setAttribute('href', band.href);
    }

    sliders.forEach(function (slider) {
      slider.addEventListener('input', update);
      slider.addEventListener('change', update);
    });

    update();
  })();

  /* ---------- Footer year ---------- */
  (function () {
    var year = document.getElementById('year');
    if (year) year.textContent = new Date().getFullYear();
  })();
</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-12T10:08:41.732Z",
  "url": "https://benchmark.aimac.invalid/2090de8a5586aa5fc5263edc46570036418d44d6e249277ef1e4324106135c7f.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-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": []
    },
    {
      "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": []
    },
    {
      "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-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": []
    },
    {
      "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-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": []
    },
    {
      "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": "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": []
    },
    {
      "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": "<nav class=\"nav\" aria-label=\"Primary\">",
          "target": [
            "nav"
          ]
        }
      ]
    },
    {
      "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": "<nav class=\"nav\" aria-label=\"Primary\">",
          "target": [
            "nav"
          ]
        }
      ]
    },
    {
      "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": "<svg width=\"22\" height=\"22\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" aria-hidden=\"true\">\n            <path d=\"M4 7h16M4 12h16M4 17h16\"></path>\n          </svg>",
          "target": [
            "svg[width=\"22\"]"
          ]
        }
      ]
    },
    {
      "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": "<nav class=\"nav\" aria-label=\"Primary\">",
          "target": [
            "nav"
          ]
        }
      ]
    },
    {
      "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": "<nav class=\"nav\" aria-label=\"Primary\">",
          "target": [
            "nav"
          ]
        }
      ]
    },
    {
      "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": "<nav class=\"nav\" aria-label=\"Primary\">",
          "target": [
            "nav"
          ]
        }
      ]
    },
    {
      "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 id=\"ctaEmail\" name=\"email\" type=\"email\" placeholder=\"you@example.com\" required=\"\" autocomplete=\"email\">",
          "target": [
            "#ctaEmail"
          ]
        }
      ]
    },
    {
      "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": "<div class=\"field\" style=\"margin-bottom:0;\">",
          "target": [
            ".field:nth-child(7)"
          ]
        }
      ]
    },
    {
      "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 class=\"btn btn--accent\" type=\"submit\">Start Trial</button>",
          "target": [
            "button[type=\"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>Care that keeps up with <em>your life</em>.</h1>",
                  "target": [
                    "h1"
                  ]
                },
                {
                  "html": "<h2>Six disciplines, one coordinated plan.</h2>",
                  "target": [
                    "#programs > .wrap > .section__head > h2"
                  ]
                },
                {
                  "html": "<h3>Recovery Programs</h3>",
                  "target": [
                    ".card:nth-child(1) > h3"
                  ]
                },
                {
                  "html": "<h3>Health Education</h3>",
                  "target": [
                    ".card:nth-child(2) > h3"
                  ]
                },
                {
                  "html": "<h3>Medical Services</h3>",
                  "target": [
                    ".card:nth-child(3) > h3"
                  ]
                },
                {
                  "html": "<h3>Nutrition Coaching</h3>",
                  "target": [
                    "#nutrition > h3"
                  ]
                },
                {
                  "html": "<h3>Strength &amp; Conditioning</h3>",
                  "target": [
                    ".card:nth-child(5) > h3"
                  ]
                },
                {
                  "html": "<h3>Sleep &amp; Stress</h3>",
                  "target": [
                    ".card:nth-child(6) > h3"
                  ]
                },
                {
                  "html": "<h2>How ready are you to train today?</h2>",
                  "target": [
                    ".check__grid > div:nth-child(1) > h2"
                  ]
                },
                {
                  "html": "<h3 id=\"scoreTitle\" style=\"color: rgb(169, 118, 26);\">Amber \u2014 modify intensity</h3>",
                  "target": [
                    "#scoreTitle"
                  ]
                },
                {
                  "html": "<h2>One chart. One team. One plan that actually gets followed.</h2>",
                  "target": [
                    ".about > h2"
                  ]
                },
                {
                  "html": "<h4>Shared clinical record</h4>",
                  "target": [
                    "li:nth-child(1) > div > h4"
                  ]
                },
                {
                  "html": "<h4>Objective re-testing every 8 weeks</h4>",
                  "target": [
                    "li:nth-child(2) > div > h4"
                  ]
                },
                {
                  "html": "<h4>Coaching built around adherence</h4>",
                  "target": [
                    "li:nth-child(3) > div > h4"
                  ]
                },
                {
                  "html": "<h2>This week at Cadence.</h2>",
                  "target": [
                    ".section__head--split > div > h2"
                  ]
                },
                {
                  "html": "<h3>Sunrise Mobility</h3>",
                  "target": [
                    ".class-card:nth-child(1) > .class-card__body > h3"
                  ]
                },
                {
                  "html": "<h3>Barbell Foundations</h3>",
                  "target": [
                    ".class-card:nth-child(2) > .class-card__body > h3"
                  ]
                },
                {
                  "html": "<h3>Metabolic Conditioning</h3>",
                  "target": [
                    ".class-card:nth-child(3) > .class-card__body > h3"
                  ]
                },
                {
                  "html": "<h3>Restorative Yoga &amp; Breathwork</h3>",
                  "target": [
                    ".class-card:nth-child(4) > .class-card__body > h3"
                  ]
                },
                {
                  "html": "<h2>The people writing your plan.</h2>",
                  "target": [
                    "#providers > .wrap > .section__head > h2"
                  ]
                },
                {
                  "html": "<h3>Dr. Amara Osei, MD</h3>",
                  "target": [
                    ".provider:nth-child(1) > h3"
                  ]
                },
                {
                  "html": "<h3>Dr. Nathan Bui, DPT, SCS</h3>",
                  "target": [
                    ".provider:nth-child(2) > h3"
                  ]
                },
                {
                  "html": "<h3>Priya Raman, RD, CSSD</h3>",
                  "target": [
                    ".provider:nth-child(3) > h3"
                  ]
                },
                {
                  "html": "<h2>Results that hold up after the program ends.</h2>",
                  "target": [
                    "#blog > .wrap > .section__head > h2"
                  ]
                },
                {
                  "html": "<h2>Before you book.</h2>",
                  "target": [
                    "#faq > .wrap > .section__head > h2"
                  ]
                },
                {
                  "html": "<h2>Your first two weeks are on us.</h2>",
                  "target": [
                    ".cta__inner > div > h2"
                  ]
                },
                {
                  "html": "<h4>Explore</h4>",
                  "target": [
                    ".footer__grid > div:nth-child(2) > h4"
                  ]
                },
                {
                  "html": "<h4>Resources</h4>",
                  "target": [
                    "div:nth-child(3) > h4"
                  ]
                },
                {
                  "html": "<h4>Visit &amp; Contact</h4>",
                  "target": [
                    "div:nth-child(4) > h4"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Page has a heading"
            },
            {
              "id": "landmark",
              "data": null,
              "relatedNodes": [
                {
                  "html": "<main id=\"main\">",
                  "target": [
                    "#main"
                  ]
                }
              ],
              "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": "#d9e7e0",
                "bgColor": "#123b32",
                "contrastRatio": 9.69,
                "fontSize": "9.5pt (12.64px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [],
              "impact": "serious",
              "message": "Element has sufficient color contrast of 9.69"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<div><strong>Now booking:</strong> new patient appointments for the April cohort \u00b7 3-day average wait</div>",
          "target": [
            ".topbar > .wrap > div:nth-child(1)"
          ]
        }
      ]
    },
    {
      "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": "navLinks",
              "relatedNodes": [],
              "impact": "critical",
              "message": "Document has no elements referenced with ARIA or labels that share the same id attribute"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<ul class=\"nav__links\" id=\"navLinks\">",
          "target": [
            "#navLinks"
          ]
        }
      ]
    },
    {
      "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=\"sleep\">Sleep quality (last night)</label>",
                  "target": [
                    "label[for=\"sleep\"]"
                  ]
                }
              ],
              "impact": "moderate",
              "message": "Form field does not have multiple label elements"
            }
          ],
          "impact": null,
          "html": "<input class=\"js-readiness\" id=\"sleep\" type=\"range\" min=\"0\" max=\"10\" step=\"1\" value=\"7\">",
          "target": [
            "#sleep"
          ]
        }
      ]
    },
    {
      "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://placehold.co/96x96/123B32/F8F5EE?text=CH&amp;font=montserrat\" alt=\"Cadence Health and Performance logo\">",
          "target": [
            ".brand > img"
          ]
        }
      ]
    },
    {
      "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": "Sleep quality (last night)"
              },
              "relatedNodes": [
                {
                  "html": "<label for=\"sleep\">Sleep quality (last night)</label>",
                  "target": [
                    "label[for=\"sleep\"]"
                  ]
                }
              ],
              "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": "<input class=\"js-readiness\" id=\"sleep\" type=\"range\" min=\"0\" max=\"10\" step=\"1\" value=\"7\">",
          "target": [
            "#sleep"
          ]
        }
      ]
    },
    {
      "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": "<div class=\"result\" aria-live=\"polite\">",
                  "target": [
                    ".result"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Links can be distinguished from surrounding text by visual styling"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<a class=\"btn btn--accent\" id=\"scoreCta\" href=\"#trial\">Book a recovery session</a>",
          "target": [
            "#scoreCta"
          ]
        }
      ]
    },
    {
      "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 class=\"skip-link\" href=\"#main\">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=\"nav__links\" id=\"navLinks\">",
          "target": [
            "#navLinks"
          ]
        }
      ]
    },
    {
      "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=\"#about\">About</a></li>",
          "target": [
            "#navLinks > 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://placehold.co/96x96/123B32/F8F5EE?text=CH&amp;font=montserrat\" alt=\"Cadence Health and Performance logo\">",
          "target": [
            ".brand > img"
          ]
        }
      ]
    },
    {
      "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>Do I need a referral to become a member?</summary>",
          "target": [
            "details[open=\"\"] > 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": 202.6,
                "height": 54.1
              },
              "relatedNodes": [],
              "impact": "serious",
              "message": "Control has sufficient size (202.6px by 54.1px, 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 class=\"skip-link\" href=\"#main\">Skip to main content</a>",
          "target": [
            ".skip-link"
          ]
        }
      ]
    }
  ],
  "incomplete": [
    {
      "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": {
                "fontSize": "8.6pt (11.52px)",
                "fontWeight": "bold",
                "messageKey": "pseudoContent",
                "expectedContrastRatio": "4.5:1"
              },
              "relatedNodes": [
                {
                  "html": "<section class=\"hero\" id=\"top\">",
                  "target": [
                    "#top"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element's background color could not be determined due to a pseudo element"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span class=\"eyebrow\">Nashville \u00b7 Est. 2014</span>",
          "target": [
            ".hero__copy > .eyebrow"
          ],
          "failureSummary": "Fix any of the following:\n  Element's background color could not be determined due to a pseudo element"
        }
      ]
    }
  ],
  "violations": [
    {
      "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 cannot be used on a div with no valid role attribute."
            }
          ],
          "impact": "serious",
          "html": "<div class=\"quote__stars\" aria-label=\"Rated 5 out of 5\">",
          "target": [
            ".quote:nth-child(1) > .quote__stars[aria-label=\"Rated 5 out of 5\"]"
          ],
          "failureSummary": "Fix all of the following:\n  aria-label attribute cannot be used on a div with no valid role attribute."
        },
        {
          "any": [],
          "all": [],
          "none": [
            {
              "id": "aria-prohibited-attr",
              "data": {
                "role": null,
                "nodeName": "div",
                "messageKey": "noRoleSingular",
                "prohibited": [
                  "aria-label"
                ]
              },
              "relatedNodes": [],
              "impact": "serious",
              "message": "aria-label attribute cannot be used on a div with no valid role attribute."
            }
          ],
          "impact": "serious",
          "html": "<div class=\"quote__stars\" aria-label=\"Rated 5 out of 5\">",
          "target": [
            ".quote:nth-child(2) > .quote__stars[aria-label=\"Rated 5 out of 5\"]"
          ],
          "failureSummary": "Fix all of the following:\n  aria-label attribute cannot be used on a div with no valid role attribute."
        },
        {
          "any": [],
          "all": [],
          "none": [
            {
              "id": "aria-prohibited-attr",
              "data": {
                "role": null,
                "nodeName": "div",
                "messageKey": "noRoleSingular",
                "prohibited": [
                  "aria-label"
                ]
              },
              "relatedNodes": [],
              "impact": "serious",
              "message": "aria-label attribute cannot be used on a div with no valid role attribute."
            }
          ],
          "impact": "serious",
          "html": "<div class=\"quote__stars\" aria-label=\"Rated 5 out of 5\">",
          "target": [
            ".quote:nth-child(3) > .quote__stars[aria-label=\"Rated 5 out of 5\"]"
          ],
          "failureSummary": "Fix all of the following:\n  aria-label attribute cannot be used 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": "#dd5e3e",
                "bgColor": "#f6eae2",
                "contrastRatio": 3.09,
                "fontSize": "10.8pt (14.4px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<span class=\"num\">01</span>",
                  "target": [
                    "li:nth-child(1) > .num"
                  ]
                },
                {
                  "html": "<body>",
                  "target": [
                    "body"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.09 (foreground color: #dd5e3e, background color: #f6eae2, font size: 10.8pt (14.4px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span class=\"num\">01</span>",
          "target": [
            "li:nth-child(1) > .num"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.09 (foreground color: #dd5e3e, background color: #f6eae2, font size: 10.8pt (14.4px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#dd5e3e",
                "bgColor": "#f6eae2",
                "contrastRatio": 3.09,
                "fontSize": "10.8pt (14.4px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<span class=\"num\">02</span>",
                  "target": [
                    "li:nth-child(2) > .num"
                  ]
                },
                {
                  "html": "<body>",
                  "target": [
                    "body"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.09 (foreground color: #dd5e3e, background color: #f6eae2, font size: 10.8pt (14.4px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span class=\"num\">02</span>",
          "target": [
            "li:nth-child(2) > .num"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.09 (foreground color: #dd5e3e, background color: #f6eae2, font size: 10.8pt (14.4px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#dd5e3e",
                "bgColor": "#f6eae2",
                "contrastRatio": 3.09,
                "fontSize": "10.8pt (14.4px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<span class=\"num\">03</span>",
                  "target": [
                    "li:nth-child(3) > .num"
                  ]
                },
                {
                  "html": "<body>",
                  "target": [
                    "body"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.09 (foreground color: #dd5e3e, background color: #f6eae2, font size: 10.8pt (14.4px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span class=\"num\">03</span>",
          "target": [
            "li:nth-child(3) > .num"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.09 (foreground color: #dd5e3e, background color: #f6eae2, font size: 10.8pt (14.4px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#7b8b84",
                "bgColor": "#ffffff",
                "contrastRatio": 3.57,
                "fontSize": "9.4pt (12.48px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<article class=\"class-card\">",
                  "target": [
                    ".class-card:nth-child(1)"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.57 (foreground color: #7b8b84, background color: #ffffff, font size: 9.4pt (12.48px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<div class=\"class-card__coach\">Coach Dana Whitfield, CPT</div>",
          "target": [
            ".class-card:nth-child(1) > .class-card__body > .class-card__coach"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.57 (foreground color: #7b8b84, background color: #ffffff, font size: 9.4pt (12.48px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#7b8b84",
                "bgColor": "#ffffff",
                "contrastRatio": 3.57,
                "fontSize": "9.4pt (12.48px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<article class=\"class-card\">",
                  "target": [
                    ".class-card:nth-child(2)"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.57 (foreground color: #7b8b84, background color: #ffffff, font size: 9.4pt (12.48px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<div class=\"class-card__coach\">Coach Marcus Reed, CSCS</div>",
          "target": [
            ".class-card:nth-child(2) > .class-card__body > .class-card__coach"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.57 (foreground color: #7b8b84, background color: #ffffff, font size: 9.4pt (12.48px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#7b8b84",
                "bgColor": "#ffffff",
                "contrastRatio": 3.57,
                "fontSize": "9.4pt (12.48px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<article class=\"class-card\">",
                  "target": [
                    ".class-card:nth-child(3)"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.57 (foreground color: #7b8b84, background color: #ffffff, font size: 9.4pt (12.48px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<div class=\"class-card__coach\">Coach Priya Raman, RD, CSSD</div>",
          "target": [
            ".class-card:nth-child(3) > .class-card__body > .class-card__coach"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.57 (foreground color: #7b8b84, background color: #ffffff, font size: 9.4pt (12.48px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#7b8b84",
                "bgColor": "#ffffff",
                "contrastRatio": 3.57,
                "fontSize": "9.4pt (12.48px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<article class=\"class-card\">",
                  "target": [
                    ".class-card:nth-child(4)"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.57 (foreground color: #7b8b84, background color: #ffffff, font size: 9.4pt (12.48px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<div class=\"class-card__coach\">Coach Elena Cruz, RYT-500</div>",
          "target": [
            ".class-card:nth-child(4) > .class-card__body > .class-card__coach"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.57 (foreground color: #7b8b84, background color: #ffffff, font size: 9.4pt (12.48px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#7b8b84",
                "bgColor": "#ffffff",
                "contrastRatio": 3.57,
                "fontSize": "9.1pt (12.16px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<article class=\"quote\">",
                  "target": [
                    ".quote:nth-child(1)"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.57 (foreground color: #7b8b84, background color: #ffffff, font size: 9.1pt (12.16px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<div class=\"quote__role\">Marathoner \u00b7 Member since 2022</div>",
          "target": [
            ".quote:nth-child(1) > .quote__person > div > .quote__role"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.57 (foreground color: #7b8b84, background color: #ffffff, font size: 9.1pt (12.16px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#7b8b84",
                "bgColor": "#ffffff",
                "contrastRatio": 3.57,
                "fontSize": "9.1pt (12.16px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<article class=\"quote\">",
                  "target": [
                    ".quote:nth-child(2)"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.57 (foreground color: #7b8b84, background color: #ffffff, font size: 9.1pt (12.16px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<div class=\"quote__role\">Chronic care member \u00b7 Age 58</div>",
          "target": [
            ".quote:nth-child(2) > .quote__person > div > .quote__role"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.57 (foreground color: #7b8b84, background color: #ffffff, font size: 9.1pt (12.16px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#7b8b84",
                "bgColor": "#ffffff",
                "contrastRatio": 3.57,
                "fontSize": "9.1pt (12.16px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<article class=\"quote\">",
                  "target": [
                    ".quote:nth-child(3)"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.57 (foreground color: #7b8b84, background color: #ffffff, font size: 9.1pt (12.16px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<div class=\"quote__role\">Small-group training \u00b7 Member since 2021</div>",
          "target": [
            ".quote:nth-child(3) > .quote__person > div > .quote__role"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.57 (foreground color: #7b8b84, background color: #ffffff, font size: 9.1pt (12.16px), font weight: normal). Expected contrast ratio of 4.5:1"
        }
      ]
    }
  ],
  "coverage": {
    "contract": "main-document-vertical-scroll",
    "complete": true,
    "positions": [
      {
        "y": 0,
        "height": 8383
      },
      {
        "y": 576,
        "height": 8383
      },
      {
        "y": 1152,
        "height": 8383
      },
      {
        "y": 1728,
        "height": 8383
      },
      {
        "y": 2304,
        "height": 8383
      },
      {
        "y": 2880,
        "height": 8383
      },
      {
        "y": 3456,
        "height": 8383
      },
      {
        "y": 4032,
        "height": 8383
      },
      {
        "y": 4608,
        "height": 8383
      },
      {
        "y": 5184,
        "height": 8383
      },
      {
        "y": 5760,
        "height": 8383
      },
      {
        "y": 6336,
        "height": 8383
      },
      {
        "y": 6912,
        "height": 8383
      },
      {
        "y": 7488,
        "height": 8383
      },
      {
        "y": 7663,
        "height": 8383
      }
    ],
    "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 "Health and Fitness" 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: "Health and Fitness"
- Description: Healthcare, wellness, fitness tips, nutrition, and medical resources.

**Your Creative Task:**
1.  **Invent:** Create a unique, professional-sounding site name and a strong tagline fitting the "Health and Fitness" 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: "About", "Blog", "Fitness Classes".
-   **MAIN CONTENT:** Structure this area with **at least 3-4 distinct, well-developed sections**.
    -   Address key topics relevant to the "Health and Fitness" category. Consider themes similar to: "Recovery Programs", "Health Education", "Medical Services".
    -   **Content Depth:** Populate each section with **substantial, realistic text** (multiple sentences/paragraphs). Use authentic industry language and terminology like: "metabolic rate", "chronic care", "lifestyle modification".
    -   **Visuals:** Integrate relevant placeholder images logically within the content sections.
    -   **Calls to Action:** Include clear and contextually relevant CTAs. Use strong verbs similar to: "Start Trial", "View Schedule", "Learn More".
-   **ENGAGEMENT (Recommended):** Strongly consider incorporating **one meaningful interactive element** that would genuinely benefit a user in the "Health and Fitness" sector. Ideas similar but not limited to: "symptom checker".
-   **SIDEBAR (Optional):** If your design includes a sidebar, populate it with **useful, relevant content**. Ideas: "health alerts", "patient testimonials", "provider spotlights".
-   **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.