Anthropic Claude Sonnet 5.5 – Health and Fitness

via Anthropic · Generated

  • AIMAC Debt 9.90
  • Cost $0.29
  • Total Violations 22
  • HTML Size 65 KB
  • Em Dashes 10

Screenshot

View Anthropic Claude Sonnet 5.5 Health and Fitness page View Live Page

Accessibility Issues Found

1 Critical 21 Serious

  • aria-required-children critical 1 instance

    Certain ARIA roles must contain particular children

    Example HTML <div class="tabs" id="schedTabs" role="tablist">
  • color-contrast serious 21 instances

    Elements must meet minimum color contrast ratio thresholds

    Example HTML <a class="cta" href="#book">Schedule Appointment</a>

Artifacts

View Generated HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Vitalis Health &amp; Performance — Move Better. Eat Smarter. Live Longer.</title>
<meta name="description" content="Vitalis Health & Performance combines primary care, preventive screening, personal training, nutrition counseling and mental health support under one roof.">
<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=Montserrat:wght@500;600;700;800&family=Open+Sans:wght@400;500;600&display=swap" rel="stylesheet">
<style>
:root{
  --green-900:#06302e;
  --green-800:#0a4a45;
  --green-700:#0f6b63;
  --green-600:#13867b;
  --green-100:#dff3ef;
  --green-50:#f0faf8;
  --coral:#ff6b4a;
  --coral-dark:#e5502f;
  --sun:#ffc857;
  --ink:#16252b;
  --muted:#5a6b72;
  --line:#e2eceb;
  --white:#fff;
  --radius:16px;
  --shadow:0 10px 30px rgba(6,48,46,.10);
  --shadow-sm:0 4px 14px rgba(6,48,46,.08);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{font-family:'Open Sans',system-ui,sans-serif;color:var(--ink);line-height:1.7;background:#fff;font-size:16px}
img{max-width:100%;display:block}
a{color:var(--green-700);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3,h4{font-family:'Montserrat',sans-serif;line-height:1.2;color:var(--green-900)}
h1{font-size:clamp(2.2rem,5vw,3.6rem);font-weight:800;letter-spacing:-.02em}
h2{font-size:clamp(1.7rem,3.2vw,2.4rem);font-weight:700;letter-spacing:-.01em;margin-bottom:.6rem}
h3{font-size:1.15rem;font-weight:700;margin-bottom:.5rem}
p{margin-bottom:1rem}
.container{width:min(1200px,92%);margin-inline:auto}
.eyebrow{display:inline-block;font-family:'Montserrat',sans-serif;font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--coral-dark);margin-bottom:.7rem}
.section{padding:88px 0}
.section-head{max-width:720px;margin-bottom:44px}
.section-head p{color:var(--muted);font-size:1.05rem}
.center{text-align:center;margin-inline:auto}
.btn{display:inline-flex;align-items:center;gap:.5rem;font-family:'Montserrat',sans-serif;font-weight:600;font-size:.95rem;padding:14px 26px;border-radius:999px;border:2px solid transparent;cursor:pointer;transition:.2s;text-decoration:none!important}
.btn-primary{background:var(--coral);color:#fff}
.btn-primary:hover{background:var(--coral-dark);transform:translateY(-2px);box-shadow:0 8px 20px rgba(255,107,74,.35)}
.btn-outline{border-color:var(--green-700);color:var(--green-700);background:transparent}
.btn-outline:hover{background:var(--green-700);color:#fff}
.btn-light{background:#fff;color:var(--green-800)}
.btn-light:hover{background:var(--green-100)}
.btn-ghost-light{border-color:rgba(255,255,255,.6);color:#fff}
.btn-ghost-light:hover{background:rgba(255,255,255,.12)}
.btn-sm{padding:9px 18px;font-size:.85rem}
.skip{position:absolute;left:-999px;top:0;background:#fff;padding:10px 16px;z-index:200}
.skip:focus{left:10px;top:10px}
:focus-visible{outline:3px solid var(--sun);outline-offset:2px}

/* Top bar + header */
.topbar{background:var(--green-900);color:#cfe7e3;font-size:.85rem}
.topbar .container{display:flex;justify-content:space-between;gap:16px;padding:8px 0;flex-wrap:wrap}
.topbar a{color:#fff}
.topbar span+span{margin-left:22px}
header.site{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:12px 0;gap:20px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none!important}
.brand img{width:52px;height:52px;border-radius:14px}
.brand-text strong{display:block;font-family:'Montserrat',sans-serif;font-size:1.2rem;color:var(--green-900);line-height:1.1;letter-spacing:-.01em}
.brand-text small{display:block;font-size:.72rem;color:var(--muted);font-style:italic;margin-top:3px}
nav.primary ul{list-style:none;display:flex;align-items:center;gap:4px}
nav.primary a{display:block;padding:9px 13px;border-radius:999px;font-family:'Montserrat',sans-serif;font-weight:600;font-size:.88rem;color:var(--green-900);text-decoration:none}
nav.primary a:hover{background:var(--green-100)}
nav.primary a.cta{background:var(--coral);color:#fff;margin-left:6px}
nav.primary a.cta:hover{background:var(--coral-dark)}
.menu-toggle{display:none;background:none;border:2px solid var(--green-700);color:var(--green-800);border-radius:10px;padding:8px 12px;font-weight:700;cursor:pointer;font-family:'Montserrat',sans-serif}

/* Hero */
.hero{background:linear-gradient(135deg,var(--green-50) 0%,#fff 60%);position:relative;overflow:hidden;padding:72px 0 90px}
.hero::before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;background:var(--green-100);right:-140px;top:-160px;z-index:0}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.hero h1 span{color:var(--green-600)}
.hero p.lead{font-size:1.15rem;color:var(--muted);margin:20px 0 28px;max-width:560px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.hero-stats{display:flex;gap:34px;margin-top:40px;flex-wrap:wrap}
.hero-stats div strong{display:block;font-family:'Montserrat',sans-serif;font-size:1.8rem;color:var(--green-800)}
.hero-stats div span{font-size:.85rem;color:var(--muted)}
.hero-media{position:relative}
.hero-media>img{border-radius:28px;box-shadow:var(--shadow);aspect-ratio:5/6;object-fit:cover;width:100%}
.float-card{position:absolute;background:#fff;border-radius:14px;box-shadow:var(--shadow);padding:14px 18px;display:flex;align-items:center;gap:12px;font-size:.85rem}
.float-card.a{left:-28px;bottom:48px}
.float-card.b{right:-14px;top:36px}
.float-card .dot{width:42px;height:42px;border-radius:12px;background:var(--green-100);display:grid;place-items:center;font-size:1.3rem}
.float-card strong{display:block;font-family:'Montserrat',sans-serif;color:var(--green-900);line-height:1.2}
.float-card span{color:var(--muted)}

/* Trust strip */
.strip{background:var(--green-800);color:#d5eeea;padding:20px 0}
.strip ul{list-style:none;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 28px;font-family:'Montserrat',sans-serif;font-size:.85rem;font-weight:600}
.strip li::before{content:"✓";color:var(--sun);margin-right:8px}

/* Services grid */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px;transition:.25s;box-shadow:var(--shadow-sm)}
.card:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:var(--green-100)}
.card .icon{width:56px;height:56px;border-radius:16px;background:var(--green-100);display:grid;place-items:center;font-size:1.7rem;margin-bottom:18px}
.card p{color:var(--muted);font-size:.95rem}
.card a.more{font-family:'Montserrat',sans-serif;font-weight:600;font-size:.88rem}

/* Split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.split.reverse .split-media{order:2}
.split-media{position:relative}
.split-media img{border-radius:24px;box-shadow:var(--shadow);width:100%;object-fit:cover}
.split-media .badge{position:absolute;right:-18px;bottom:-18px;background:var(--sun);color:var(--green-900);border-radius:18px;padding:16px 20px;font-family:'Montserrat',sans-serif;font-weight:700;box-shadow:var(--shadow);text-align:center;line-height:1.2}
.split-media .badge b{display:block;font-size:1.8rem}
.checklist{list-style:none;margin:18px 0 28px}
.checklist li{padding-left:34px;position:relative;margin-bottom:12px}
.checklist li::before{content:"✓";position:absolute;left:0;top:2px;width:22px;height:22px;border-radius:50%;background:var(--green-600);color:#fff;font-size:.75rem;display:grid;place-items:center;font-weight:700}
.bg-soft{background:var(--green-50)}
.bg-dark{background:var(--green-900);color:#cfe3e0}
.bg-dark h2,.bg-dark h3{color:#fff}

/* Tools */
.tools{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.tool{background:#fff;border-radius:22px;padding:34px;box-shadow:var(--shadow);border:1px solid var(--line)}
.tool h3{font-size:1.35rem;display:flex;align-items:center;gap:10px}
.tool>p.sub{color:var(--muted);font-size:.93rem}
.seg{display:inline-flex;background:var(--green-100);border-radius:999px;padding:4px;margin:10px 0 18px}
.seg button{border:0;background:transparent;padding:8px 18px;border-radius:999px;font-family:'Montserrat',sans-serif;font-weight:600;font-size:.82rem;cursor:pointer;color:var(--green-800)}
.seg button.active{background:var(--green-700);color:#fff}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
label{display:block;font-weight:600;font-size:.85rem;margin-bottom:5px;color:var(--green-900)}
input,select,textarea{width:100%;font:inherit;padding:12px 14px;border:1.5px solid #cfdcda;border-radius:12px;background:#fff;color:var(--ink);margin-bottom:14px}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--green-600);box-shadow:0 0 0 3px rgba(19,134,123,.18)}
.bmi-result{margin-top:10px;padding:20px;border-radius:16px;background:var(--green-50);display:none}
.bmi-result.show{display:block}
.bmi-value{font-family:'Montserrat',sans-serif;font-size:2.4rem;font-weight:800;color:var(--green-800);line-height:1}
.bmi-cat{font-weight:700;margin-left:8px}
.gauge{position:relative;height:12px;border-radius:99px;margin:22px 0 8px;background:linear-gradient(90deg,#5aa9ff 0%,#3ecf8e 28%,#ffc857 55%,#ff6b4a 100%)}
.gauge i{position:absolute;top:-6px;width:6px;height:24px;border-radius:4px;background:var(--green-900);transform:translateX(-50%);transition:left .5s}
.gauge-labels{display:flex;justify-content:space-between;font-size:.72rem;color:var(--muted)}
.fine{font-size:.78rem;color:var(--muted);margin-top:14px}
.metric{margin-bottom:20px}
.metric-head{display:flex;justify-content:space-between;align-items:center;font-weight:600;font-size:.92rem;margin-bottom:8px}
.metric-head span.val{font-family:'Montserrat',sans-serif;color:var(--green-700)}
.bar{height:10px;background:var(--green-100);border-radius:99px;overflow:hidden}
.bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--green-600),#3ecf8e);border-radius:99px;transition:width .4s}
.stepper{display:flex;gap:8px;margin-top:10px}
.stepper button{flex:1;border:1.5px solid var(--green-100);background:#fff;border-radius:10px;padding:7px 0;font-weight:700;cursor:pointer;color:var(--green-800);font-size:.85rem}
.stepper button:hover{background:var(--green-100)}
.score{display:flex;align-items:center;gap:14px;background:var(--green-900);color:#fff;border-radius:16px;padding:16px 20px;margin-top:6px}
.score strong{font-family:'Montserrat',sans-serif;font-size:2rem;color:var(--sun);line-height:1}
.score span{font-size:.88rem;color:#cfe3e0}
.link-btn{background:none;border:0;color:var(--green-700);text-decoration:underline;cursor:pointer;font-size:.8rem;margin-top:10px}

/* Content with sidebar */
.with-sidebar{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:48px;align-items:start}
.article-block{margin-bottom:72px}
.article-block:last-child{margin-bottom:0}
.post-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:26px}
.post{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff;box-shadow:var(--shadow-sm);transition:.25s}
.post:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.post img{width:100%;aspect-ratio:16/10;object-fit:cover}
.post-body{padding:20px}
.tag{display:inline-block;font-size:.7rem;font-weight:700;font-family:'Montserrat',sans-serif;text-transform:uppercase;letter-spacing:.08em;background:var(--green-100);color:var(--green-800);padding:4px 10px;border-radius:99px;margin-bottom:10px}
.post h3{font-size:1.05rem}
.post p{font-size:.9rem;color:var(--muted);margin-bottom:10px}
.post .meta{font-size:.78rem;color:var(--muted)}
.feature-img{border-radius:20px;width:100%;aspect-ratio:16/8;object-fit:cover;margin:22px 0;box-shadow:var(--shadow-sm)}
.macro{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:24px 0}
.macro div{text-align:center;border-radius:14px;padding:18px 10px;background:var(--green-50);border:1px solid var(--line)}
.macro b{display:block;font-family:'Montserrat',sans-serif;font-size:1.6rem;color:var(--green-700)}
.macro span{font-size:.82rem;color:var(--muted)}
blockquote.pull{border-left:5px solid var(--coral);padding:8px 0 8px 22px;margin:26px 0;font-size:1.15rem;font-family:'Montserrat',sans-serif;font-weight:600;color:var(--green-800);line-height:1.5}

aside.sidebar{position:sticky;top:104px;display:grid;gap:24px}
.widget{border:1px solid var(--line);border-radius:var(--radius);padding:24px;background:#fff;box-shadow:var(--shadow-sm)}
.widget h3{font-size:1.05rem;margin-bottom:14px;display:flex;align-items:center;gap:8px}
.tabs{display:flex;gap:4px;margin-bottom:14px;flex-wrap:wrap}
.tabs button{flex:1;min-width:44px;border:0;background:var(--green-50);padding:8px 0;border-radius:10px;cursor:pointer;font-family:'Montserrat',sans-serif;font-weight:600;font-size:.78rem;color:var(--green-800)}
.tabs button.active{background:var(--green-700);color:#fff}
.sched{list-style:none}
.sched li{display:flex;gap:14px;align-items:center;padding:11px 0;border-bottom:1px dashed var(--line)}
.sched li:last-child{border:0}
.sched time{font-family:'Montserrat',sans-serif;font-weight:700;font-size:.82rem;color:var(--coral-dark);min-width:68px}
.sched div strong{display:block;font-size:.92rem;line-height:1.3}
.sched div span{font-size:.78rem;color:var(--muted)}
.challenge{background:linear-gradient(135deg,var(--green-700),var(--green-900));color:#d8eeea;border:0}
.challenge h3{color:#fff}
.challenge .bar{background:rgba(255,255,255,.2);margin:10px 0 6px}
.challenge .bar i{background:var(--sun)}
.challenge small{color:#bfe0da}
.avatars{display:flex;margin:14px 0}
.avatars img{width:34px;height:34px;border-radius:50%;border:2px solid var(--green-800);margin-left:-8px}
.avatars img:first-child{margin-left:0}
.mini-quote{font-size:.92rem;font-style:italic;color:var(--muted)}
.mini-who{display:flex;align-items:center;gap:12px;margin-top:14px}
.mini-who img{width:44px;height:44px;border-radius:50%}
.mini-who strong{display:block;font-size:.9rem;font-family:'Montserrat',sans-serif}
.mini-who span{font-size:.78rem;color:var(--muted)}
.news-form input{margin-bottom:10px}
.hotline{background:#fff4f1;border-color:#ffd9cf}
.hotline a.big{font-family:'Montserrat',sans-serif;font-size:1.4rem;font-weight:800;color:var(--coral-dark)}

/* Team */
.team{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.member{text-align:center}
.member img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:22px;margin-bottom:14px;box-shadow:var(--shadow-sm)}
.member p{font-size:.85rem;color:var(--muted);margin:0}

/* Testimonials */
.t-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.t-card{background:#fff;border-radius:var(--radius);padding:30px;box-shadow:var(--shadow-sm);border:1px solid var(--line);position:relative}
.t-card::before{content:"“";position:absolute;top:6px;right:22px;font-size:5rem;font-family:'Lora',serif;color:var(--green-100);line-height:1}
.stars{color:#f5a623;letter-spacing:2px;margin-bottom:10px}
.t-card p{font-size:.95rem;color:var(--muted)}
.t-card footer{display:flex;gap:12px;align-items:center;margin-top:18px}
.t-card footer img{width:48px;height:48px;border-radius:50%}
.t-card footer strong{display:block;font-family:'Montserrat',sans-serif;font-size:.92rem}
.t-card footer span{font-size:.8rem;color:var(--muted)}

/* Pricing / plans */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:stretch}
.plan{background:#fff;border:1px solid var(--line);border-radius:22px;padding:34px;display:flex;flex-direction:column;position:relative}
.plan.featured{background:var(--green-900);color:#cfe3e0;transform:scale(1.03);box-shadow:var(--shadow);border:0}
.plan.featured h3,.plan.featured .price{color:#fff}
.plan .flag{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--sun);color:var(--green-900);font-family:'Montserrat',sans-serif;font-size:.72rem;font-weight:800;padding:5px 14px;border-radius:99px;letter-spacing:.06em;text-transform:uppercase}
.price{font-family:'Montserrat',sans-serif;font-size:2.6rem;font-weight:800;color:var(--green-800);margin:8px 0}
.price small{font-size:.9rem;font-weight:500;color:var(--muted)}
.plan.featured .price small{color:#9ec6c0}
.plan ul{list-style:none;margin:16px 0 28px;flex:1}
.plan li{padding:8px 0 8px 28px;position:relative;font-size:.93rem;border-bottom:1px solid rgba(128,160,156,.2)}
.plan li::before{content:"✓";position:absolute;left:0;color:var(--green-600);font-weight:800}
.plan.featured li::before{color:var(--sun)}

/* FAQ */
.faq-wrap{max-width:860px;margin-inline:auto}
details{background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:12px;box-shadow:var(--shadow-sm)}
summary{cursor:pointer;list-style:none;padding:20px 56px 20px 24px;font-family:'Montserrat',sans-serif;font-weight:600;color:var(--green-900);position:relative}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";position:absolute;right:22px;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;background:var(--green-100);display:grid;place-items:center;font-size:1.2rem;color:var(--green-800);transition:.2s}
details[open] summary::after{content:"–";background:var(--coral);color:#fff}
details[open]{border-color:var(--green-600)}
details .answer{padding:0 24px 20px;color:var(--muted)}

/* Booking CTA */
.book{background:linear-gradient(135deg,var(--green-800),var(--green-900));color:#d2e8e4;position:relative;overflow:hidden}
.book::after{content:"";position:absolute;width:420px;height:420px;border-radius:50%;background:rgba(255,255,255,.04);left:-120px;bottom:-200px}
.book-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.book h2{color:#fff}
.book ul{list-style:none;margin:20px 0}
.book li{padding-left:30px;position:relative;margin-bottom:10px}
.book li::before{content:"→";position:absolute;left:0;color:var(--sun);font-weight:700}
.form-card{background:#fff;color:var(--ink);padding:34px;border-radius:22px;box-shadow:0 20px 50px rgba(0,0,0,.25)}
.form-card h3{font-size:1.3rem;margin-bottom:18px}
.form-msg{display:none;background:var(--green-100);color:var(--green-800);padding:14px 16px;border-radius:12px;margin-top:12px;font-weight:600;font-size:.92rem}
.form-msg.show{display:block}

/* Footer */
footer.site{background:#04201f;color:#a9c4c0;padding:72px 0 0;font-size:.92rem}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.3fr;gap:40px;padding-bottom:48px}
footer.site h4{color:#fff;font-size:.95rem;margin-bottom:16px}
footer.site ul{list-style:none}
footer.site li{margin-bottom:9px}
footer.site a{color:#a9c4c0}
footer.site a:hover{color:#fff}
.foot-brand{display:flex;gap:12px;align-items:center;margin-bottom:14px}
.foot-brand img{width:48px;height:48px;border-radius:12px}
.foot-brand strong{font-family:'Montserrat',sans-serif;color:#fff;font-size:1.1rem}
.social{display:flex;gap:10px;margin-top:18px}
.social a{width:40px;height:40px;border-radius:12px;background:rgba(255,255,255,.08);display:grid;place-items:center;font-family:'Montserrat',sans-serif;font-weight:700;font-size:.8rem;color:#fff;transition:.2s}
.social a:hover{background:var(--coral);text-decoration:none}
.foot-bottom{border-top:1px solid rgba(255,255,255,.1);padding:22px 0;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:.84rem}
.foot-bottom ul{display:flex;gap:22px}
.disclaimer{font-size:.78rem;color:#7fa09b;padding-bottom:22px;max-width:900px}

/* Responsive */
@media (max-width:1060px){
  .with-sidebar{grid-template-columns:1fr}
  aside.sidebar{position:static;grid-template-columns:1fr 1fr}
  .team{grid-template-columns:repeat(2,1fr)}
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:900px){
  .menu-toggle{display:block}
  nav.primary{position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line);display:none;padding:12px 4%}
  nav.primary.open{display:block}
  nav.primary ul{flex-direction:column;align-items:stretch}
  nav.primary a.cta{margin:6px 0 0;text-align:center}
  .hero-grid,.split,.tools,.book-grid{grid-template-columns:1fr}
  .split.reverse .split-media{order:0}
  .grid-3,.t-grid,.plans{grid-template-columns:1fr 1fr}
  .plan.featured{transform:none}
  .float-card.a{left:10px}
  .float-card.b{right:10px}
  .split-media .badge{right:10px}
}
@media (max-width:640px){
  .section{padding:64px 0}
  .grid-3,.t-grid,.plans,.post-grid,aside.sidebar,.foot-grid,.form-row{grid-template-columns:1fr}
  .topbar .container{justify-content:center;text-align:center}
  .hero{padding-top:44px}
  .brand-text small{display:none}
  .macro{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
</style>
</head>
<body>
<a class="skip" href="#main">Skip to main content</a>

<div class="topbar">
  <div class="container">
    <div><span>📍 482 Harbor Street, Suite 200, Portland, OR 97204</span><span>🕒 Mon–Sat 6:00am – 9:00pm</span></div>
    <div><span>Questions? <a href="tel:+15035550142">(503) 555-0142</a></span></div>
  </div>
</div>

<header class="site">
  <div class="container header-inner" style="position:relative">
    <a href="#top" class="brand" aria-label="Vitalis Health and Performance home">
      <img src="https://placehold.co/104x104/0f6b63/ffffff?text=V&font=montserrat" alt="Vitalis logo" width="52" height="52">
      <span class="brand-text"><strong>Vitalis Health &amp; Performance</strong><small>Move better. Eat smarter. Live longer.</small></span>
    </a>
    <button class="menu-toggle" id="menuToggle" aria-expanded="false" aria-controls="primaryNav">☰ Menu</button>
    <nav class="primary" id="primaryNav" aria-label="Primary">
      <ul>
        <li><a href="#services">Services</a></li>
        <li><a href="#wellness-center">Wellness Center</a></li>
        <li><a href="#fitness">Fitness</a></li>
        <li><a href="#nutrition">Nutrition</a></li>
        <li><a href="#mental-health">Mental Health</a></li>
        <li><a href="#tools">Health Tools</a></li>
        <li><a href="#faq">Resources</a></li>
        <li><a class="cta" href="#book">Schedule Appointment</a></li>
      </ul>
    </nav>
  </div>
</header>

<main id="main">
<span id="top"></span>

<!-- HERO -->
<section class="hero">
  <div class="container hero-grid">
    <div>
      <span class="eyebrow">Integrated care · Evidence-based coaching</span>
      <h1>One team for your <span>whole health</span> — from checkups to personal bests.</h1>
      <p class="lead">Vitalis brings physicians, registered dietitians, licensed therapists and certified personal trainers together under one roof, so your care plan, your meal plan and your training plan finally speak the same language.</p>
      <div class="hero-actions">
        <a class="btn btn-primary" href="#book">Get Started — Free Consult</a>
        <a class="btn btn-outline" href="#tools">Calculate BMI</a>
      </div>
      <div class="hero-stats">
        <div><strong>12,400+</strong><span>Active members &amp; patients</span></div>
        <div><strong>38</strong><span>Licensed clinicians &amp; coaches</span></div>
        <div><strong>4.9/5</strong><span>Average satisfaction score</span></div>
      </div>
    </div>
    <div class="hero-media">
      <img src="https://picsum.photos/seed/vitalis-hero/800/960" alt="Member stretching during a guided training session" width="800" height="960">
      <div class="float-card a"><div class="dot">❤️</div><div><strong>Resting HR: 62 bpm</strong><span>Down 9 bpm in 12 weeks</span></div></div>
      <div class="float-card b"><div class="dot">🥗</div><div><strong>Meal plan synced</strong><span>Reviewed by your dietitian</span></div></div>
    </div>
  </div>
</section>

<div class="strip">
  <div class="container">
    <ul>
      <li>Board-certified physicians</li>
      <li>Registered dietitians (RD)</li>
      <li>NASM &amp; ACSM certified trainers</li>
      <li>Licensed mental health clinicians</li>
      <li>Most major insurance accepted</li>
    </ul>
  </div>
</div>

<!-- SERVICES -->
<section class="section" id="services">
  <div class="container">
    <div class="section-head">
      <span class="eyebrow">Medical &amp; Wellness Services</span>
      <h2>Care that connects the dots</h2>
      <p>Most people juggle a doctor, a gym, a diet app and a therapist who never talk to each other. At Vitalis, every discipline shares one record and one goal: your long-term health. Choose a single service or build a fully coordinated program.</p>
    </div>
    <div class="grid-3">
      <article class="card">
        <div class="icon">🩺</div>
        <h3>Primary Care &amp; Preventive Screening</h3>
        <p>Annual physicals, vital signs monitoring, lipid and glucose panels, blood pressure management and age-appropriate preventive screening — all designed to catch concerns early and keep you ahead of chronic disease.</p>
        <a class="more" href="#book">Schedule Appointment →</a>
      </article>
      <article class="card">
        <div class="icon">🏋️</div>
        <h3>Personal Training &amp; Strength Coaching</h3>
        <p>One-on-one personal training built around your movement screen, injury history and goals. Progressive overload, mobility work and honest accountability — whether you're rebuilding after surgery or chasing a marathon PR.</p>
        <a class="more" href="#fitness">Explore training →</a>
      </article>
      <article class="card">
        <div class="icon">🥑</div>
        <h3>Nutrition Counseling</h3>
        <p>Registered dietitians translate the science into groceries you actually enjoy. Support for weight management, diabetes and prediabetes, heart health, digestive concerns, pregnancy and sports performance.</p>
        <a class="more" href="#nutrition">See nutrition programs →</a>
      </article>
      <article class="card">
        <div class="icon">🧠</div>
        <h3>Mental Health &amp; Stress Care</h3>
        <p>Confidential therapy, stress-management coaching and sleep support from licensed clinicians. Because mental health and physical health are one system, not two separate appointments.</p>
        <a class="more" href="#mental-health">Meet our clinicians →</a>
      </article>
      <article class="card">
        <div class="icon">🦴</div>
        <h3>Physical Therapy &amp; Recovery</h3>
        <p>Movement-based rehabilitation for sprains, back pain, post-operative recovery and overuse injuries, with a clear return-to-activity plan and hand-offs to your trainer when you're ready.</p>
        <a class="more" href="#book">Book an evaluation →</a>
      </article>
      <article class="card">
        <div class="icon">👵</div>
        <h3>Healthy Aging &amp; Longevity</h3>
        <p>Balance training, bone-density support, hormone health and cognitive wellness programs that help adults 55+ stay strong, independent and active for decades to come.</p>
        <a class="more" href="#book">Learn more →</a>
      </article>
    </div>
  </div>
</section>

<!-- WELLNESS CENTER -->
<section class="section bg-soft" id="wellness-center">
  <div class="container split">
    <div class="split-media">
      <img src="https://picsum.photos/seed/vitalis-wellness/900/1000" alt="Bright open wellness center with studio and recovery spaces" width="900" height="1000" style="aspect-ratio:9/10">
      <div class="badge"><b>28,000</b>sq ft of care &amp; training space</div>
    </div>
    <div>
      <span class="eyebrow">The Wellness Center</span>
      <h2>A clinic that feels like a studio, and a studio that thinks like a clinic</h2>
      <p>Our flagship Wellness Center in downtown Portland was designed with one idea in mind: remove the friction between getting care and getting stronger. You can have your blood pressure checked, meet your dietitian, and complete a strength session without ever leaving the building.</p>
      <p>Every new member begins with a 75-minute Baseline Assessment. We record vital signs, body composition, movement quality, cardiovascular fitness and a short lifestyle and stress questionnaire. The result is a clear, plain-language snapshot of where you are and a prioritized roadmap for where you want to go.</p>
      <ul class="checklist">
        <li>Physician-led Baseline Assessment with body composition scan and lab review</li>
        <li>Strength floor, cardio deck, heated studio, lap pool and recovery suite</li>
        <li>Private consultation rooms for medical, nutrition and therapy visits</li>
        <li>Shared digital care plan accessible to your entire team and to you</li>
      </ul>
      <a class="btn btn-primary" href="#book">Book Your Baseline Assessment</a>
    </div>
  </div>
</section>

<!-- FITNESS -->
<section class="section" id="fitness">
  <div class="container split reverse">
    <div class="split-media">
      <img src="https://picsum.photos/seed/vitalis-training/900/700" alt="Personal trainer coaching a client through a kettlebell lift" width="900" height="700" style="aspect-ratio:9/7">
    </div>
    <div>
      <span class="eyebrow">Fitness &amp; Personal Training</span>
      <h2>Training that respects your body and your calendar</h2>
      <p>Great programming isn't about punishing workouts; it's about consistent, progressive effort matched to your current capacity. Our certified coaches use a movement screen to identify limitations before they become injuries, then build a plan around strength, mobility, aerobic base and recovery.</p>
      <p>Prefer a group atmosphere? Our small-group strength, cycling, yoga and mobility classes are capped at 12 participants so every session still gets individual coaching cues. Members also receive monthly progress reviews with a clinician to confirm that training load, sleep and nutrition are trending in the right direction.</p>
      <div class="macro">
        <div><b>3×</b><span>average weekly sessions kept by members</span></div>
        <div><b>91%</b><span>report improved energy within 8 weeks</span></div>
        <div><b>–7 mmHg</b><span>median systolic drop in 6 months</span></div>
      </div>
      <a class="btn btn-primary" href="#plans">Compare Membership Plans</a>
    </div>
  </div>
</section>

<!-- TOOLS -->
<section class="section bg-soft" id="tools">
  <div class="container">
    <div class="section-head center" style="text-align:center">
      <span class="eyebrow">Free Health Tools</span>
      <h2>Know your numbers. Build better habits.</h2>
      <p>Two quick tools to help you check in with yourself. Neither replaces a clinical evaluation, but both give you useful context to bring to your next appointment.</p>
    </div>
    <div class="tools">
      <!-- BMI -->
      <div class="tool" id="bmiTool">
        <h3>⚖️ BMI Calculator</h3>
        <p class="sub">Body Mass Index is a screening measure that compares weight to height.</p>
        <div class="seg" role="group" aria-label="Unit system">
          <button type="button" class="active" data-unit="metric">Metric</button>
          <button type="button" data-unit="imperial">Imperial</button>
        </div>
        <form id="bmiForm" novalidate>
          <div class="form-row" id="metricFields">
            <div><label for="cm">Height (cm)</label><input type="number" id="cm" min="100" max="250" placeholder="e.g. 170"></div>
            <div><label for="kg">Weight (kg)</label><input type="number" id="kg" min="25" max="300" placeholder="e.g. 68"></div>
          </div>
          <div class="form-row" id="imperialFields" hidden>
            <div><label for="ft">Height (ft)</label><input type="number" id="ft" min="3" max="8" placeholder="5"></div>
            <div><label for="inch">Height (in)</label><input type="number" id="inch" min="0" max="11" placeholder="7"></div>
            <div style="grid-column:1/-1"><label for="lb">Weight (lb)</label><input type="number" id="lb" min="55" max="660" placeholder="e.g. 150"></div>
          </div>
          <button class="btn btn-primary" type="submit">Calculate BMI</button>
        </form>
        <div class="bmi-result" id="bmiResult" aria-live="polite">
          <div><span class="bmi-value" id="bmiValue">--</span><span class="bmi-cat" id="bmiCat"></span></div>
          <div class="gauge"><i id="bmiMarker" style="left:0"></i></div>
          <div class="gauge-labels"><span>15</span><span>18.5</span><span>25</span><span>30</span><span>40</span></div>
          <p id="bmiAdvice" style="margin-top:14px;font-size:.92rem;color:var(--muted)"></p>
          <a class="btn btn-outline btn-sm" href="#book">Discuss results with a clinician</a>
        </div>
        <p class="fine">BMI doesn't distinguish muscle from fat and may not suit athletes, older adults or some ethnic groups. Use it as a conversation starter, not a diagnosis.</p>
      </div>

      <!-- Tracker -->
      <div class="tool" id="trackerTool">
        <h3>📈 Daily Health Tracker</h3>
        <p class="sub">Log today's water, movement and sleep. Your entries are saved privately in this browser.</p>

        <div class="metric">
          <div class="metric-head"><span>💧 Water (goal 8 glasses)</span><span class="val" id="waterVal">0 / 8</span></div>
          <div class="bar"><i id="waterBar"></i></div>
          <div class="stepper"><button type="button" data-m="water" data-d="-1">– 1</button><button type="button" data-m="water" data-d="1">+ 1 glass</button></div>
        </div>
        <div class="metric">
          <div class="metric-head"><span>👟 Steps (goal 8,000)</span><span class="val" id="stepsVal">0</span></div>
          <div class="bar"><i id="stepsBar"></i></div>
          <div class="stepper"><button type="button" data-m="steps" data-d="-500">– 500</button><button type="button" data-m="steps" data-d="500">+ 500</button><button type="button" data-m="steps" data-d="2000">+ 2,000</button></div>
        </div>
        <div class="metric">
          <div class="metric-head"><span>😴 Sleep (goal 7–9 hrs)</span><span class="val" id="sleepVal">0 h</span></div>
          <div class="bar"><i id="sleepBar"></i></div>
          <div class="stepper"><button type="button" data-m="sleep" data-d="-0.5">– 0.5 h</button><button type="button" data-m="sleep" data-d="0.5">+ 0.5 h</button></div>
        </div>
        <div class="score"><strong id="scoreVal">0%</strong><span id="scoreMsg">Start logging to see your daily wellness score.</span></div>
        <button class="link-btn" id="resetTracker" type="button">Reset today's entries</button>
      </div>
    </div>
  </div>
</section>

<!-- MAIN + SIDEBAR -->
<section class="section" id="education">
  <div class="container with-sidebar">
    <div>
      <!-- Nutrition -->
      <div class="article-block" id="nutrition">
        <span class="eyebrow">Nutrition</span>
        <h2>Eat for energy, not for rules</h2>
        <p>Nutrition advice online is loud, contradictory and often wrong. Our registered dietitians focus on a handful of principles with decades of research behind them: prioritize minimally processed foods, build meals around protein and fiber, eat enough to fuel your training, and stay flexible enough to enjoy your life.</p>
        <p>Whether you're managing blood sugar, lowering cholesterol or simply tired of afternoon crashes, a personalized plan starts with your labs, your schedule and your food preferences — not a template.</p>
        <img class="feature-img" src="https://picsum.photos/seed/vitalis-nutrition/1100/560" alt="Colorful balanced meal with vegetables, grains and lean protein" width="1100" height="560">
        <div class="macro">
          <div><b>25–35 g</b><span>protein per meal supports muscle maintenance</span></div>
          <div><b>25+ g</b><span>daily fiber for gut and heart health</span></div>
          <div><b>30+</b><span>different plants per week boosts diversity</span></div>
        </div>
        <div class="post-grid">
          <article class="post">
            <img src="https://picsum.photos/seed/vitalis-meal-prep/640/400" alt="Meal prep containers" loading="lazy" width="640" height="400">
            <div class="post-body"><span class="tag">Meal Planning</span><h3>The 90-Minute Sunday Reset: Meal Prep for Busy People</h3><p>A dietitian-approved framework for prepping proteins, grains and vegetables that stay fresh all week.</p><span class="meta">8 min read · By Dana Whitfield, RD</span></div>
          </article>
          <article class="post">
            <img src="https://picsum.photos/seed/vitalis-protein/640/400" alt="High-protein breakfast" loading="lazy" width="640" height="400">
            <div class="post-body"><span class="tag">Sports Nutrition</span><h3>How Much Protein Do You Really Need After 40?</h3><p>Muscle protein synthesis changes with age. Here's how to adjust your intake, timing and sources.</p><span class="meta">6 min read · By Marcus Lee, MS, RD</span></div>
          </article>
        </div>
        <p style="margin-top:24px"><a class="btn btn-outline" href="#book">Book a Nutrition Consultation</a></p>
      </div>

      <!-- Mental health -->
      <div class="article-block" id="mental-health">
        <span class="eyebrow">Mental Health</span>
        <h2>Strong minds build strong bodies</h2>
        <p>Chronic stress raises cortisol, disrupts sleep, stalls recovery and quietly undermines every health goal you set. That's why mental health care sits at the center of Vitalis rather than at its edges. Our licensed therapists offer cognitive behavioral therapy, anxiety and burnout support, grief counseling and mindfulness-based stress reduction.</p>
        <blockquote class="pull">“You can't out-train chronic stress or out-eat poor sleep. Resilience is a skill, and like any skill it can be coached.”<br><small style="font-size:.8rem;color:var(--muted);font-weight:500">— Dr. Priya Raman, PsyD, Director of Behavioral Health</small></blockquote>
        <p>Sessions are available in person or by secure video, with evening appointments for working professionals. If you're not sure where to start, a 20-minute intake call helps match you with the right clinician and approach — no pressure and no long waitlists.</p>
        <img class="feature-img" src="https://picsum.photos/seed/vitalis-mindful/1100/560" alt="Person meditating in a calm, sunlit room" loading="lazy" width="1100" height="560">
        <div class="post-grid">
          <article class="post">
            <img src="https://picsum.photos/seed/vitalis-sleep/640/400" alt="Peaceful bedroom at night" loading="lazy" width="640" height="400">
            <div class="post-body"><span class="tag">Sleep</span><h3>Seven Evening Habits That Improve Sleep Quality</h3><p>From light exposure to caffeine cutoffs, small changes that deliver deeper, more restorative rest.</p><span class="meta">5 min read · By Dr. Priya Raman</span></div>
          </article>
          <article class="post">
            <img src="https://picsum.photos/seed/vitalis-breathe/640/400" alt="Breathing exercise outdoors" loading="lazy" width="640" height="400">
            <div class="post-body"><span class="tag">Stress</span><h3>Box Breathing and Other 5-Minute Tools for Stressful Days</h3><p>Evidence-based techniques to calm your nervous system at your desk, in traffic or before a big meeting.</p><span class="meta">4 min read · By Jordan Ellis, LCSW</span></div>
          </article>
        </div>
        <p style="margin-top:24px"><a class="btn btn-outline" href="#book">Schedule a Free Intake Call</a></p>
      </div>

      <!-- Health education -->
      <div class="article-block" id="education-hub">
        <span class="eyebrow">Health Education &amp; Patient Resources</span>
        <h2>Understand your health, in plain language</h2>
        <p>Informed patients make better decisions and get better outcomes. Our education library explains common conditions, lab results and preventive screening guidelines without the jargon. Every article is written or reviewed by a Vitalis clinician and updated at least once a year.</p>
        <p>Looking for something specific? Members can access printable guides, recipe collections, home exercise videos and secure messaging with their care team through the Vitalis patient portal.</p>
        <div class="post-grid">
          <article class="post"><div class="post-body"><span class="tag">Screening</span><h3>Preventive Screening Checklist by Age</h3><p>From blood pressure and cholesterol to colon and skin checks — know which screenings to schedule in your 30s, 40s, 50s and beyond.</p><a href="#book">Download the checklist →</a></div></article>
          <article class="post"><div class="post-body"><span class="tag">Heart Health</span><h3>Reading Your Vital Signs and Lab Results</h3><p>What blood pressure, resting heart rate, A1C and LDL numbers mean, and when to talk to your doctor.</p><a href="#book">Read the guide →</a></div></article>
          <article class="post"><div class="post-body"><span class="tag">Recovery</span><h3>Training Through Pain: When to Push, When to Rest</h3><p>A simple traffic-light framework for deciding whether discomfort is normal soreness or a warning sign.</p><a href="#book">Read the guide →</a></div></article>
          <article class="post"><div class="post-body"><span class="tag">Patient Portal</span><h3>Getting the Most From Your Member Portal</h3><p>Book visits, message your clinicians, view results and track your care plan from any device.</p><a href="#book">Take the tour →</a></div></article>
        </div>
      </div>
    </div>

    <!-- SIDEBAR -->
    <aside class="sidebar" aria-label="Sidebar">
      <div class="widget">
        <h3>🗓️ Class Schedule</h3>
        <div class="tabs" id="schedTabs" role="tablist">
          <button class="active" data-day="mon">Mon</button><button data-day="tue">Tue</button><button data-day="wed">Wed</button><button data-day="thu">Thu</button><button data-day="fri">Fri</button><button data-day="sat">Sat</button>
        </div>
        <ul class="sched" id="schedList"></ul>
        <a class="btn btn-primary btn-sm" href="#book" style="margin-top:12px">Reserve a Spot</a>
      </div>

      <div class="widget challenge">
        <h3>🔥 30-Day Strength Challenge</h3>
        <p style="font-size:.9rem">Join 1,284 members building a daily movement habit. Weekly coach check-ins, a leaderboard and prizes for consistency.</p>
        <div class="avatars">
          <img src="https://i.pravatar.cc/68?u=vitalis-a" alt="" width="34" height="34"><img src="https://i.pravatar.cc/68?u=vitalis-b" alt="" width="34" height="34"><img src="https://i.pravatar.cc/68?u=vitalis-c" alt="" width="34" height="34"><img src="https://i.pravatar.cc/68?u=vitalis-d" alt="" width="34" height="34">
        </div>
        <div class="bar"><i style="width:62%"></i></div>
        <small>Next cohort starts in 6 days · 62% of spots filled</small>
        <p style="margin-top:14px"><a class="btn btn-light btn-sm" href="#book">Join the Challenge</a></p>
      </div>

      <div class="widget">
        <h3>💬 Member Spotlight</h3>
        <p class="mini-quote">“After my diagnosis I was overwhelmed. Having my doctor, dietitian and trainer on the same page changed everything. My A1C is in the normal range for the first time in ten years.”</p>
        <div class="mini-who"><img src="https://i.pravatar.cc/88?u=vitalis-spot" alt="Portrait of Elena R." width="44" height="44"><div><strong>Elena R.</strong><span>Member since 2021</span></div></div>
      </div>

      <div class="widget">
        <h3>📬 Weekly Wellness Digest</h3>
        <p style="font-size:.9rem;color:var(--muted)">One practical tip, one recipe and one research update every Thursday.</p>
        <form class="news-form" id="newsForm">
          <label for="newsEmail" class="sr" style="position:absolute;left:-9999px">Email</label>
          <input type="email" id="newsEmail" placeholder="you@email.com" required>
          <button class="btn btn-primary btn-sm" type="submit" style="width:100%;justify-content:center">Subscribe</button>
          <div class="form-msg" id="newsMsg">Thanks! Check your inbox to confirm.</div>
        </form>
      </div>

      <div class="widget hotline">
        <h3>🚨 Need support now?</h3>
        <p style="font-size:.88rem;color:var(--muted)">If you or someone you know is in crisis, call or text the 988 Suicide &amp; Crisis Lifeline any time. For medical emergencies, dial 911.</p>
        <a class="big" href="tel:988">Call / Text 988</a>
      </div>
    </aside>
  </div>
</section>

<!-- TEAM -->
<section class="section bg-soft" id="team">
  <div class="container">
    <div class="section-head">
      <span class="eyebrow">Meet Your Care Team</span>
      <h2>Credentialed experts who actually collaborate</h2>
      <p>Our clinicians and coaches meet weekly to review member progress, so your plan evolves with you. Here are a few of the people you may work with.</p>
    </div>
    <div class="team">
      <div class="member"><img src="https://i.pravatar.cc/400?u=vitalis-dr-amara" alt="Dr. Amara Okafor" loading="lazy" width="400" height="400"><h3>Dr. Amara Okafor, MD</h3><p>Medical Director · Internal &amp; Preventive Medicine</p></div>
      <div class="member"><img src="https://i.pravatar.cc/400?u=vitalis-marcus" alt="Marcus Lee" loading="lazy" width="400" height="400"><h3>Marcus Lee, MS, RD</h3><p>Lead Dietitian · Sports &amp; Metabolic Nutrition</p></div>
      <div class="member"><img src="https://i.pravatar.cc/400?u=vitalis-priya" alt="Dr. Priya Raman" loading="lazy" width="400" height="400"><h3>Dr. Priya Raman, PsyD</h3><p>Director of Behavioral Health</p></div>
      <div class="member"><img src="https://i.pravatar.cc/400?u=vitalis-tomas" alt="Tomás Herrera" loading="lazy" width="400" height="400"><h3>Tomás Herrera, CSCS</h3><p>Head of Performance &amp; Personal Training</p></div>
    </div>
  </div>
</section>

<!-- PLANS -->
<section class="section" id="plans">
  <div class="container">
    <div class="section-head center" style="text-align:center">
      <span class="eyebrow">Membership</span>
      <h2>Simple plans. No long-term lock-in.</h2>
      <p>Every plan includes your Baseline Assessment and access to the member portal. Upgrade, pause or cancel anytime with 30 days' notice.</p>
    </div>
    <div class="plans">
      <div class="plan">
        <h3>Essentials</h3>
        <p style="color:var(--muted);font-size:.9rem">For self-directed movers who want a clinical safety net.</p>
        <div class="price">$59<small>/month</small></div>
        <ul><li>Full Wellness Center access</li><li>Baseline Assessment &amp; annual retest</li><li>Unlimited group classes</li><li>Digital education library</li></ul>
        <a class="btn btn-outline" href="#book">Get Started</a>
      </div>
      <div class="plan featured">
        <span class="flag">Most Popular</span>
        <h3>Integrated Care</h3>
        <p style="font-size:.9rem">The complete coordinated program for lasting change.</p>
        <div class="price">$189<small>/month</small></div>
        <ul><li>Everything in Essentials</li><li>4 personal training sessions monthly</li><li>2 dietitian visits monthly</li><li>Quarterly physician review &amp; labs</li><li>Therapy or stress coaching credit</li></ul>
        <a class="btn btn-primary" href="#book">Get Started</a>
      </div>
      <div class="plan">
        <h3>Concierge</h3>
        <p style="color:var(--muted);font-size:.9rem">Priority access and high-touch support for complex goals.</p>
        <div class="price">$449<small>/month</small></div>
        <ul><li>Everything in Integrated Care</li><li>Unlimited physician messaging</li><li>8 personal training sessions monthly</li><li>Same-day appointments</li><li>Annual advanced preventive screening</li></ul>
        <a class="btn btn-outline" href="#book">Talk to Our Team</a>
      </div>
    </div>
  </div>
</section>

<!-- TESTIMONIALS -->
<section class="section bg-dark" id="stories">
  <div class="container">
    <div class="section-head center" style="text-align:center">
      <span class="eyebrow" style="color:var(--sun)">Member Stories</span>
      <h2>Real people. Measurable progress.</h2>
    </div>
    <div class="t-grid">
      <article class="t-card" style="color:var(--ink)">
        <div class="stars" aria-label="5 out of 5 stars">★★★★★</div>
        <p>I came in with high blood pressure and a lot of fear about exercising. My trainer worked directly with my physician, and in six months I'm off one medication and I just finished my first 10K.</p>
        <footer><img src="https://i.pravatar.cc/96?u=vitalis-t1" alt="David M." width="48" height="48"><div><strong>David M.</strong><span>Integrated Care member</span></div></footer>
      </article>
      <article class="t-card" style="color:var(--ink)">
        <div class="stars" aria-label="5 out of 5 stars">★★★★★</div>
        <p>The therapy and nutrition support were game changers. I stopped yo-yo dieting, sleep through the night, and for the first time my fitness routine feels like self-care instead of punishment.</p>
        <footer><img src="https://i.pravatar.cc/96?u=vitalis-t2" alt="Sofia L." width="48" height="48"><div><strong>Sofia L.</strong><span>Integrated Care member</span></div></footer>
      </article>
      <article class="t-card" style="color:var(--ink)">
        <div class="stars" aria-label="5 out of 5 stars">★★★★★</div>
        <p>At 67 I thought my best years of strength were behind me. The balance and strength program proved me wrong. I'm lifting, hiking with my grandkids, and my bone density scan improved.</p>
        <footer><img src="https://i.pravatar.cc/96?u=vitalis-t3" alt="Robert K." width="48" height="48"><div><strong>Robert K.</strong><span>Healthy Aging program</span></div></footer>
      </article>
    </div>
  </div>
</section>

<!-- FAQ -->
<section class="section" id="faq">
  <div class="container">
    <div class="section-head center" style="text-align:center">
      <span class="eyebrow">Patient Resources</span>
      <h2>Frequently asked questions</h2>
      <p>Straight answers about appointments, insurance and how Vitalis works.</p>
    </div>
    <div class="faq-wrap">
      <details open>
        <summary>Do I need a referral to see a physician or specialist at Vitalis?</summary>
        <div class="answer">No referral is required for primary care, nutrition counseling, therapy or personal training. For certain specialist services, such as advanced imaging, your Vitalis physician will coordinate referrals and share results with your care team.</div>
      </details>
      <details>
        <summary>Which insurance plans do you accept?</summary>
        <div class="answer">We are in-network with most major commercial plans and Medicare for primary care, physical therapy, nutrition counseling and behavioral health. Gym membership and personal training are self-pay, though many members use HSA and FSA funds. Our billing team will verify your benefits before your first visit.</div>
      </details>
      <details>
        <summary>What happens during the Baseline Assessment?</summary>
        <div class="answer">You'll meet with a clinician for a health history review and vital signs check, complete a movement screen and cardiovascular fitness test, and receive a body composition scan. Within 48 hours you'll get a written summary and a recommended plan. The visit takes about 75 minutes.</div>
      </details>
      <details>
        <summary>I'm brand new to exercise. Is Vitalis right for me?</summary>
        <div class="answer">Absolutely. Many members start with little or no exercise experience. Your plan begins at your current ability level, with modifications for injuries or medical conditions, and progresses at a pace that feels sustainable.</div>
      </details>
      <details>
        <summary>Are telehealth appointments available?</summary>
        <div class="answer">Yes. Nutrition counseling, therapy, physician follow-ups and many coaching check-ins can be completed by secure video. Initial assessments and physical therapy evaluations are completed in person.</div>
      </details>
      <details>
        <summary>How do I cancel or pause my membership?</summary>
        <div class="answer">Send a message through the member portal or email billing@vitalishealth.example at least 30 days in advance. You can pause for up to three months per year for travel, injury or life events without losing your member rate.</div>
      </details>
    </div>
  </div>
</section>

<!-- BOOKING -->
<section class="section book" id="book">
  <div class="container book-grid">
    <div>
      <span class="eyebrow" style="color:var(--sun)">Take the first step</span>
      <h2>Schedule your appointment today</h2>
      <p>Tell us a little about your goals and we'll match you with the right clinician or coach. A member of our care team will reach out within one business day to confirm your visit.</p>
      <ul>
        <li>Complimentary 20-minute discovery consult</li>
        <li>Same-week appointments usually available</li>
        <li>In-person or secure video visits</li>
        <li>Your information is protected and never sold</li>
      </ul>
      <p><a class="btn btn-ghost-light" href="tel:+15035550142">Or call (503) 555-0142</a></p>
    </div>
    <div class="form-card">
      <h3>Request an appointment</h3>
      <form id="bookForm">
        <div class="form-row">
          <div><label for="fname">Full name</label><input id="fname" type="text" required placeholder="Jane Doe"></div>
          <div><label for="phone">Phone</label><input id="phone" type="tel" placeholder="(503) 555-0000"></div>
        </div>
        <label for="email">Email</label>
        <input id="email" type="email" required placeholder="you@email.com">
        <div class="form-row">
          <div>
            <label for="service">Service</label>
            <select id="service">
              <option>Baseline Assessment</option>
              <option>Primary Care / Preventive Screening</option>
              <option>Personal Training</option>
              <option>Nutrition Counseling</option>
              <option>Mental Health Intake</option>
              <option>Physical Therapy</option>
            </select>
          </div>
          <div><label for="date">Preferred date</label><input id="date" type="date"></div>
        </div>
        <label for="notes">Anything we should know?</label>
        <textarea id="notes" rows="3" placeholder="Goals, concerns, accessibility needs…"></textarea>
        <button class="btn btn-primary" type="submit" style="width:100%;justify-content:center">Schedule Appointment</button>
        <div class="form-msg" id="bookMsg" role="status"></div>
      </form>
    </div>
  </div>
</section>
</main>

<footer class="site">
  <div class="container">
    <div class="foot-grid">
      <div>
        <div class="foot-brand"><img src="https://placehold.co/96x96/13867b/ffffff?text=V&font=montserrat" alt="Vitalis logo" width="48" height="48"><strong>Vitalis Health &amp; Performance</strong></div>
        <p>Integrated medical care, fitness, nutrition and mental health support for people who want to feel and perform their best at every age.</p>
        <div class="social" aria-label="Social media">
          <a href="#" aria-label="Instagram">IG</a><a href="#" aria-label="Facebook">FB</a><a href="#" aria-label="YouTube">YT</a><a href="#" aria-label="LinkedIn">in</a><a href="#" aria-label="X">X</a>
        </div>
      </div>
      <div>
        <h4>Explore</h4>
        <ul>
          <li><a href="#services">Services</a></li>
          <li><a href="#wellness-center">Wellness Center</a></li>
          <li><a href="#fitness">Fitness</a></li>
          <li><a href="#nutrition">Nutrition</a></li>
          <li><a href="#mental-health">Mental Health</a></li>
        </ul>
      </div>
      <div>
        <h4>Resources</h4>
        <ul>
          <li><a href="#tools">Calculate BMI</a></li>
          <li><a href="#education-hub">Health Education</a></li>
          <li><a href="#plans">Membership Plans</a></li>
          <li><a href="#faq">FAQ</a></li>
          <li><a href="#book">Patient Portal</a></li>
        </ul>
      </div>
      <div>
        <h4>Contact</h4>
        <ul>
          <li>482 Harbor Street, Suite 200<br>Portland, OR 97204</li>
          <li><a href="tel:+15035550142">(503) 555-0142</a></li>
          <li><a href="mailto:care@vitalishealth.example">care@vitalishealth.example</a></li>
          <li>Mon–Sat 6am – 9pm · Sun 8am – 5pm</li>
        </ul>
      </div>
    </div>
    <p class="disclaimer">The information on this website is for educational purposes only and is not a substitute for professional medical advice, diagnosis or treatment. Always consult a qualified healthcare provider with questions about a medical condition. In an emergency, call 911.</p>
    <div class="foot-bottom">
      <span>© <span id="year">2025</span> Vitalis Health &amp; Performance, LLC. All rights reserved.</span>
      <ul>
        <li><a href="#">Privacy Policy</a></li>
        <li><a href="#">Terms of Service</a></li>
        <li><a href="#">Accessibility</a></li>
        <li><a href="#">Notice of Privacy Practices</a></li>
      </ul>
    </div>
  </div>
</footer>

<script>
(function(){
  // Year
  document.getElementById('year').textContent = new Date().getFullYear();

  // Mobile nav
  var toggle = document.getElementById('menuToggle'), nav = document.getElementById('primaryNav');
  toggle.addEventListener('click', function(){
    var open = nav.classList.toggle('open');
    toggle.setAttribute('aria-expanded', open);
  });
  nav.querySelectorAll('a').forEach(function(a){ a.addEventListener('click', function(){ nav.classList.remove('open'); toggle.setAttribute('aria-expanded','false'); }); });

  // BMI
  var unit = 'metric';
  var segBtns = document.querySelectorAll('#bmiTool .seg button');
  segBtns.forEach(function(b){
    b.addEventListener('click', function(){
      segBtns.forEach(function(x){ x.classList.remove('active'); });
      b.classList.add('active');
      unit = b.dataset.unit;
      document.getElementById('metricFields').hidden = unit !== 'metric';
      document.getElementById('imperialFields').hidden = unit !== 'imperial';
      document.getElementById('bmiResult').classList.remove('show');
    });
  });
  document.getElementById('bmiForm').addEventListener('submit', function(e){
    e.preventDefault();
    var bmi;
    if(unit === 'metric'){
      var cm = parseFloat(document.getElementById('cm').value), kg = parseFloat(document.getElementById('kg').value);
      if(!cm || !kg){ alert('Please enter your height and weight.'); return; }
      bmi = kg / Math.pow(cm/100, 2);
    } else {
      var ft = parseFloat(document.getElementById('ft').value)||0, inch = parseFloat(document.getElementById('inch').value)||0, lb = parseFloat(document.getElementById('lb').value);
      var totalIn = ft*12 + inch;
      if(!totalIn || !lb){ alert('Please enter your height and weight.'); return; }
      bmi = 703 * lb / (totalIn*totalIn);
    }
    var cat, color, advice;
    if(bmi < 18.5){ cat='Underweight'; color='#2f7fd6'; advice='A BMI below 18.5 can sometimes signal under-nutrition. A dietitian can help you build a nutrient-dense plan to support strength and energy.'; }
    else if(bmi < 25){ cat='Healthy range'; color='#1c9e68'; advice='Your BMI falls in the typical healthy range. Keep up regular activity, balanced nutrition and routine preventive screening to stay on track.'; }
    else if(bmi < 30){ cat='Overweight'; color='#d98b00'; advice='A BMI in this range may raise long-term risk for some conditions. Consider a baseline assessment to look at waist circumference, blood pressure and labs for a fuller picture.'; }
    else { cat='Obesity range'; color='#e5502f'; advice='A BMI of 30 or above is associated with higher cardiometabolic risk. Our clinicians can create a supportive, medically guided plan combining nutrition, movement and behavior change.'; }
    document.getElementById('bmiValue').textContent = bmi.toFixed(1);
    var c = document.getElementById('bmiCat'); c.textContent = cat; c.style.color = color;
    document.getElementById('bmiAdvice').textContent = advice;
    var pos = Math.max(0, Math.min(100, (bmi-15)/(40-15)*100));
    document.getElementById('bmiMarker').style.left = pos + '%';
    document.getElementById('bmiResult').classList.add('show');
  });

  // Tracker
  var KEY = 'vitalis-tracker-' + new Date().toISOString().slice(0,10);
  var goals = {water:8, steps:8000, sleep:8};
  var state = {water:0, steps:0, sleep:0};
  try { var saved = JSON.parse(localStorage.getItem(KEY)); if(saved) state = saved; } catch(e){}
  function save(){ try { localStorage.setItem(KEY, JSON.stringify(state)); } catch(e){} }
  function render(){
    document.getElementById('waterVal').textContent = state.water + ' / 8';
    document.getElementById('stepsVal').textContent = state.steps.toLocaleString();
    document.getElementById('sleepVal').textContent = state.sleep + ' h';
    var pw = Math.min(1, state.water/goals.water), ps = Math.min(1, state.steps/goals.steps), pl = Math.min(1, state.sleep/goals.sleep);
    document.getElementById('waterBar').style.width = pw*100 + '%';
    document.getElementById('stepsBar').style.width = ps*100 + '%';
    document.getElementById('sleepBar').style.width = pl*100 + '%';
    var score = Math.round((pw+ps+pl)/3*100);
    document.getElementById('scoreVal').textContent = score + '%';
    var msg;
    if(score === 0) msg = 'Start logging to see your daily wellness score.';
    else if(score < 40) msg = 'Good start. Small steps add up — keep going!';
    else if(score < 80) msg = 'Solid progress. You\'re building momentum today.';
    else if(score < 100) msg = 'Nearly there! Great work on your habits today.';
    else msg = 'Goals crushed! Celebrate and rest well tonight.';
    document.getElementById('scoreMsg').textContent = msg;
  }
  document.querySelectorAll('#trackerTool .stepper button').forEach(function(b){
    b.addEventListener('click', function(){
      var m = b.dataset.m, d = parseFloat(b.dataset.d);
      var max = {water:20, steps:60000, sleep:14}[m];
      state[m] = Math.max(0, Math.min(max, +(state[m] + d).toFixed(1)));
      save(); render();
    });
  });
  document.getElementById('resetTracker').addEventListener('click', function(){ state = {water:0, steps:0, sleep:0}; save(); render(); });
  render();

  // Class schedule
  var schedule = {
    mon:[['6:00 AM','Power Strength','Coach Tomás · 45 min'],['9:30 AM','Gentle Mobility Flow','Coach Ana · 50 min'],['12:15 PM','Lunchtime HIIT','Coach Devin · 30 min'],['6:00 PM','Indoor Cycling','Coach Maya · 45 min']],
    tue:[['6:30 AM','Yoga Foundations','Coach Ana · 60 min'],['10:00 AM','Balance &amp; Bone Health 55+','PT Lena · 45 min'],['5:30 PM','Kettlebell Basics','Coach Tomás · 45 min'],['7:00 PM','Mindful Stress Reset','Dr. Raman · 40 min']],
    wed:[['6:00 AM','Indoor Cycling','Coach Maya · 45 min'],['12:15 PM','Core &amp; Back Care','PT Lena · 30 min'],['5:45 PM','Power Strength','Coach Tomás · 45 min'],['7:15 PM','Restorative Yoga','Coach Ana · 60 min']],
    thu:[['6:30 AM','Lap Pool Conditioning','Coach Devin · 45 min'],['9:00 AM','Nutrition Lab: Label Reading','Marcus Lee, RD · 40 min'],['12:15 PM','Lunchtime HIIT','Coach Devin · 30 min'],['6:00 PM','Strength for Runners','Coach Maya · 50 min']],
    fri:[['6:00 AM','Power Strength','Coach Tomás · 45 min'],['10:00 AM','Gentle Mobility Flow','Coach Ana · 50 min'],['4:30 PM','Friday Foam &amp; Stretch','PT Lena · 30 min']],
    sat:[['8:00 AM','Community Boot Camp','All coaches · 60 min'],['9:30 AM','Family Fitness Play','Coach Devin · 45 min'],['11:00 AM','Healthy Cooking Demo','Marcus Lee, RD · 60 min']]
  };
  var list = document.getElementById('schedList');
  function showDay(d){
    list.innerHTML = schedule[d].map(function(c){ return '<li><time>'+c[0]+'</time><div><strong>'+c[1]+'</strong><span>'+c[2]+'</span></div></li>'; }).join('');
  }
  document.querySelectorAll('#schedTabs button').forEach(function(b){
    b.addEventListener('click', function(){
      document.querySelectorAll('#schedTabs button').forEach(function(x){ x.classList.remove('active'); });
      b.classList.add('active'); showDay(b.dataset.day);
    });
  });
  var dayMap = ['mon','mon','tue','wed','thu','fri','sat'];
  var today = dayMap[new Date().getDay()];
  document.querySelectorAll('#schedTabs button').forEach(function(b){ b.classList.toggle('active', b.dataset.day === today); });
  showDay(today);

  // Forms
  document.getElementById('newsForm').addEventListener('submit', function(e){
    e.preventDefault(); document.getElementById('newsMsg').classList.add('show'); this.reset();
  });
  var dateInput = document.getElementById('date');
  dateInput.min = new Date().toISOString().slice(0,10);
  document.getElementById('bookForm').addEventListener('submit', function(e){
    e.preventDefault();
    var name = document.getElementById('fname').value.split(' ')[0] || 'there';
    var msg = document.getElementById('bookMsg');
    msg.textContent = 'Thank you, ' + name + '! Your request for ' + document.getElementById('service').value + ' has been received. Our care team will contact you within one business day.';
    msg.classList.add('show');
    this.reset();
  });
})();
</script>
</body>
</html>
View Axe Report (JSON)
{
  "testEngine": {
    "name": "axe-core",
    "version": "4.10.2"
  },
  "testRunner": {
    "name": "axe"
  },
  "testEnvironment": {
    "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/156.0.8078.4 Safari/537.36",
    "windowWidth": 1280,
    "windowHeight": 720,
    "orientationAngle": 0,
    "orientationType": "landscape-primary"
  },
  "timestamp": "2026-11-12T09:52:26.900Z",
  "url": "https://benchmark.aimac.invalid/3f8925cee9901a7a6b96523bfc45cc0669199edc6928c2bcaa15b18941498fe6.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-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": []
    },
    {
      "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-parent",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag131",
        "EN-301-549",
        "EN-9.1.3.1"
      ],
      "description": "Ensure elements with an ARIA role that require parent roles are contained by them",
      "help": "Certain ARIA roles must be contained by particular parents",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-required-parent?application=axeAPI",
      "nodes": []
    },
    {
      "id": "aria-toggle-field-name",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "TTv5",
        "TT5.c",
        "EN-301-549",
        "EN-9.4.1.2",
        "ACT"
      ],
      "description": "Ensure every ARIA toggle field has an accessible name",
      "help": "ARIA toggle fields must have an accessible name",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-toggle-field-name?application=axeAPI",
      "nodes": []
    },
    {
      "id": "aria-tooltip-name",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure every ARIA tooltip node has an accessible name",
      "help": "ARIA tooltip nodes must have an accessible name",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-tooltip-name?application=axeAPI",
      "nodes": []
    },
    {
      "id": "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": []
    },
    {
      "id": "blink",
      "impact": null,
      "tags": [
        "cat.time-and-media",
        "wcag2a",
        "wcag222",
        "section508",
        "section508.22.j",
        "TTv5",
        "TT2.b",
        "EN-301-549",
        "EN-9.2.2.2"
      ],
      "description": "Ensure <blink> elements are not used",
      "help": "<blink> elements are deprecated and must not be used",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/blink?application=axeAPI",
      "nodes": []
    },
    {
      "id": "definition-list",
      "impact": null,
      "tags": [
        "cat.structure",
        "wcag2a",
        "wcag131",
        "EN-301-549",
        "EN-9.1.3.1"
      ],
      "description": "Ensure <dl> elements are structured correctly",
      "help": "<dl> elements must only directly contain properly-ordered <dt> and <dd> groups, <script>, <template> or <div> elements",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/definition-list?application=axeAPI",
      "nodes": []
    },
    {
      "id": "dlitem",
      "impact": null,
      "tags": [
        "cat.structure",
        "wcag2a",
        "wcag131",
        "EN-301-549",
        "EN-9.1.3.1"
      ],
      "description": "Ensure <dt> and <dd> elements are contained by a <dl>",
      "help": "<dt> and <dd> elements must be contained by a <dl>",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/dlitem?application=axeAPI",
      "nodes": []
    },
    {
      "id": "frame-focusable-content",
      "impact": null,
      "tags": [
        "cat.keyboard",
        "wcag2a",
        "wcag211",
        "TTv5",
        "TT4.a",
        "EN-301-549",
        "EN-9.2.1.1"
      ],
      "description": "Ensure <frame> and <iframe> elements with focusable content do not have tabindex=-1",
      "help": "Frames with focusable content must not have tabindex=-1",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/frame-focusable-content?application=axeAPI",
      "nodes": []
    },
    {
      "id": "frame-title-unique",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag412",
        "TTv5",
        "TT12.d",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure <iframe> and <frame> elements contain a unique title attribute",
      "help": "Frames must have a unique title attribute",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/frame-title-unique?application=axeAPI",
      "nodes": []
    },
    {
      "id": "frame-title",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag412",
        "section508",
        "section508.22.i",
        "TTv5",
        "TT12.d",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure <iframe> and <frame> elements have an accessible name",
      "help": "Frames must have an accessible name",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/frame-title?application=axeAPI",
      "nodes": []
    },
    {
      "id": "html-xml-lang-mismatch",
      "impact": null,
      "tags": [
        "cat.language",
        "wcag2a",
        "wcag311",
        "EN-301-549",
        "EN-9.3.1.1",
        "ACT"
      ],
      "description": "Ensure that HTML elements with both valid lang and xml:lang attributes agree on the base language of the page",
      "help": "HTML elements with lang and xml:lang must have the same base language",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/html-xml-lang-mismatch?application=axeAPI",
      "nodes": []
    },
    {
      "id": "input-button-name",
      "impact": null,
      "tags": [
        "cat.name-role-value",
        "wcag2a",
        "wcag412",
        "section508",
        "section508.22.a",
        "TTv5",
        "TT5.c",
        "EN-301-549",
        "EN-9.4.1.2",
        "ACT"
      ],
      "description": "Ensure input buttons have discernible text",
      "help": "Input buttons must have discernible text",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/input-button-name?application=axeAPI",
      "nodes": []
    },
    {
      "id": "input-image-alt",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag111",
        "wcag412",
        "section508",
        "section508.22.a",
        "TTv5",
        "TT7.a",
        "EN-301-549",
        "EN-9.1.1.1",
        "EN-9.4.1.2",
        "ACT"
      ],
      "description": "Ensure <input type=\"image\"> elements have alternative text",
      "help": "Image buttons must have alternative text",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/input-image-alt?application=axeAPI",
      "nodes": []
    },
    {
      "id": "marquee",
      "impact": null,
      "tags": [
        "cat.parsing",
        "wcag2a",
        "wcag222",
        "TTv5",
        "TT2.b",
        "EN-301-549",
        "EN-9.2.2.2"
      ],
      "description": "Ensure <marquee> elements are not used",
      "help": "<marquee> elements are deprecated and must not be used",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/marquee?application=axeAPI",
      "nodes": []
    },
    {
      "id": "meta-refresh",
      "impact": null,
      "tags": [
        "cat.time-and-media",
        "wcag2a",
        "wcag221",
        "TTv5",
        "TT8.a",
        "EN-301-549",
        "EN-9.2.2.1"
      ],
      "description": "Ensure <meta http-equiv=\"refresh\"> is not used for delayed refresh",
      "help": "Delayed refresh under 20 hours must not be used",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/meta-refresh?application=axeAPI",
      "nodes": []
    },
    {
      "id": "object-alt",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag111",
        "section508",
        "section508.22.a",
        "EN-301-549",
        "EN-9.1.1.1"
      ],
      "description": "Ensure <object> elements have alternative text",
      "help": "<object> elements must have alternative text",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/object-alt?application=axeAPI",
      "nodes": []
    },
    {
      "id": "role-img-alt",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag111",
        "section508",
        "section508.22.a",
        "TTv5",
        "TT7.a",
        "EN-301-549",
        "EN-9.1.1.1",
        "ACT"
      ],
      "description": "Ensure [role=\"img\"] elements have alternative text",
      "help": "[role=\"img\"] elements must have an alternative text",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/role-img-alt?application=axeAPI",
      "nodes": []
    },
    {
      "id": "scrollable-region-focusable",
      "impact": null,
      "tags": [
        "cat.keyboard",
        "wcag2a",
        "wcag211",
        "wcag213",
        "TTv5",
        "TT4.a",
        "EN-301-549",
        "EN-9.2.1.1",
        "EN-9.2.1.3"
      ],
      "description": "Ensure elements that have scrollable content are accessible by keyboard",
      "help": "Scrollable region must have keyboard access",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/scrollable-region-focusable?application=axeAPI",
      "nodes": []
    },
    {
      "id": "server-side-image-map",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag211",
        "section508",
        "section508.22.f",
        "TTv5",
        "TT4.a",
        "EN-301-549",
        "EN-9.2.1.1"
      ],
      "description": "Ensure that server-side image maps are not used",
      "help": "Server-side image maps must not be used",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/server-side-image-map?application=axeAPI",
      "nodes": []
    },
    {
      "id": "svg-img-alt",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag111",
        "section508",
        "section508.22.a",
        "TTv5",
        "TT7.a",
        "EN-301-549",
        "EN-9.1.1.1",
        "ACT"
      ],
      "description": "Ensure <svg> elements with an img, graphics-document or graphics-symbol role have an accessible text",
      "help": "<svg> elements with an img role must have an alternative text",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/svg-img-alt?application=axeAPI",
      "nodes": []
    },
    {
      "id": "td-headers-attr",
      "impact": null,
      "tags": [
        "cat.tables",
        "wcag2a",
        "wcag131",
        "section508",
        "section508.22.g",
        "TTv5",
        "TT14.b",
        "EN-301-549",
        "EN-9.1.3.1"
      ],
      "description": "Ensure that each cell in a table that uses the headers attribute refers only to other cells in that table",
      "help": "Table cells that use the headers attribute must only refer to cells in the same table",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/td-headers-attr?application=axeAPI",
      "nodes": []
    },
    {
      "id": "th-has-data-cells",
      "impact": null,
      "tags": [
        "cat.tables",
        "wcag2a",
        "wcag131",
        "section508",
        "section508.22.g",
        "TTv5",
        "TT14.b",
        "EN-301-549",
        "EN-9.1.3.1"
      ],
      "description": "Ensure that <th> elements and elements with role=columnheader/rowheader have data cells they describe",
      "help": "Table headers in a data table must refer to data cells",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/th-has-data-cells?application=axeAPI",
      "nodes": []
    },
    {
      "id": "valid-lang",
      "impact": null,
      "tags": [
        "cat.language",
        "wcag2aa",
        "wcag312",
        "TTv5",
        "TT11.b",
        "EN-301-549",
        "EN-9.3.1.2",
        "ACT"
      ],
      "description": "Ensure lang attributes have valid values",
      "help": "lang attribute must have a valid value",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/valid-lang?application=axeAPI",
      "nodes": []
    },
    {
      "id": "video-caption",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag122",
        "section508",
        "section508.22.a",
        "TTv5",
        "TT17.a",
        "EN-301-549",
        "EN-9.1.2.2"
      ],
      "description": "Ensure <video> elements have captions",
      "help": "<video> elements must have captions",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/video-caption?application=axeAPI",
      "nodes": []
    },
    {
      "id": "no-autoplay-audio",
      "impact": null,
      "tags": [
        "cat.time-and-media",
        "wcag2a",
        "wcag142",
        "TTv5",
        "TT2.a",
        "EN-301-549",
        "EN-9.1.4.2",
        "ACT"
      ],
      "description": "Ensure <video> or <audio> elements do not autoplay audio for more than 3 seconds without a control mechanism to stop or mute the audio",
      "help": "<video> or <audio> elements must not play automatically",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/no-autoplay-audio?application=axeAPI",
      "nodes": []
    }
  ],
  "passes": [
    {
      "id": "aria-allowed-attr",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure an element's role supports its ARIA attributes",
      "help": "Elements must only use supported ARIA attributes",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-allowed-attr?application=axeAPI",
      "nodes": [
        {
          "any": [],
          "all": [
            {
              "id": "aria-allowed-attr",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "ARIA attributes are used correctly for the defined role"
            }
          ],
          "none": [
            {
              "id": "aria-unsupported-attr",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "ARIA attribute is supported"
            }
          ],
          "impact": null,
          "html": "<a href=\"#top\" class=\"brand\" aria-label=\"Vitalis Health and Performance home\">",
          "target": [
            ".brand"
          ]
        }
      ]
    },
    {
      "id": "aria-conditional-attr",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure ARIA attributes are used as described in the specification of the element's role",
      "help": "ARIA attributes must be used as specified for the element's role",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-conditional-attr?application=axeAPI",
      "nodes": [
        {
          "any": [],
          "all": [
            {
              "id": "aria-conditional-attr",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "ARIA attribute is allowed"
            }
          ],
          "none": [],
          "impact": null,
          "html": "<a href=\"#top\" class=\"brand\" aria-label=\"Vitalis Health and Performance home\">",
          "target": [
            ".brand"
          ]
        }
      ]
    },
    {
      "id": "aria-deprecated-role",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure elements do not use deprecated roles",
      "help": "Deprecated ARIA roles must not be used",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-deprecated-role?application=axeAPI",
      "nodes": [
        {
          "any": [],
          "all": [],
          "none": [
            {
              "id": "deprecatedrole",
              "data": null,
              "relatedNodes": [],
              "impact": "minor",
              "message": "ARIA role is not deprecated"
            }
          ],
          "impact": null,
          "html": "<div class=\"seg\" role=\"group\" aria-label=\"Unit system\">\n          <button type=\"button\" class=\"active\" data-unit=\"metric\">Metric</button>\n          <button type=\"button\" data-unit=\"imperial\">Imperial</button>\n        </div>",
          "target": [
            ".seg"
          ]
        }
      ]
    },
    {
      "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-prohibited-attr",
      "impact": "serious",
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure ARIA attributes are not prohibited for an element's role",
      "help": "Elements must only use permitted ARIA attributes",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-prohibited-attr?application=axeAPI",
      "nodes": [
        {
          "any": [],
          "all": [],
          "none": [
            {
              "id": "aria-prohibited-attr",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "ARIA attribute is allowed"
            }
          ],
          "impact": null,
          "html": "<a href=\"#top\" class=\"brand\" aria-label=\"Vitalis Health and Performance home\">",
          "target": [
            ".brand"
          ]
        }
      ]
    },
    {
      "id": "aria-required-attr",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure elements with ARIA roles have all required ARIA attributes",
      "help": "Required ARIA attributes must be provided",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-required-attr?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "aria-required-attr",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "All required ARIA attributes are present"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<div class=\"seg\" role=\"group\" aria-label=\"Unit system\">\n          <button type=\"button\" class=\"active\" data-unit=\"metric\">Metric</button>\n          <button type=\"button\" data-unit=\"imperial\">Imperial</button>\n        </div>",
          "target": [
            ".seg"
          ]
        }
      ]
    },
    {
      "id": "aria-roles",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure all elements with a role attribute use a valid value",
      "help": "ARIA roles used must conform to valid values",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-roles?application=axeAPI",
      "nodes": [
        {
          "any": [],
          "all": [],
          "none": [
            {
              "id": "invalidrole",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "ARIA role is valid"
            },
            {
              "id": "abstractrole",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "Abstract roles are not used"
            },
            {
              "id": "unsupportedrole",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "ARIA role is supported"
            }
          ],
          "impact": null,
          "html": "<div class=\"seg\" role=\"group\" aria-label=\"Unit system\">\n          <button type=\"button\" class=\"active\" data-unit=\"metric\">Metric</button>\n          <button type=\"button\" data-unit=\"imperial\">Imperial</button>\n        </div>",
          "target": [
            ".seg"
          ]
        }
      ]
    },
    {
      "id": "aria-valid-attr-value",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure all ARIA attributes have valid values",
      "help": "ARIA attributes must conform to valid values",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-valid-attr-value?application=axeAPI",
      "nodes": [
        {
          "any": [],
          "all": [
            {
              "id": "aria-valid-attr-value",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "ARIA attribute values are valid"
            },
            {
              "id": "aria-errormessage",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "aria-errormessage exists and references elements visible to screen readers that use a supported aria-errormessage technique"
            },
            {
              "id": "aria-level",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "aria-level values are valid"
            }
          ],
          "none": [],
          "impact": null,
          "html": "<a href=\"#top\" class=\"brand\" aria-label=\"Vitalis Health and Performance home\">",
          "target": [
            ".brand"
          ]
        }
      ]
    },
    {
      "id": "aria-valid-attr",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure attributes that begin with aria- are valid ARIA attributes",
      "help": "ARIA attributes must conform to valid names",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-valid-attr?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "aria-valid-attr",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "ARIA attribute name is valid"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<a href=\"#top\" class=\"brand\" aria-label=\"Vitalis Health and Performance home\">",
          "target": [
            ".brand"
          ]
        }
      ]
    },
    {
      "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=\"container header-inner\" style=\"position:relative\">",
          "target": [
            ".header-inner"
          ]
        }
      ]
    },
    {
      "id": "button-name",
      "impact": null,
      "tags": [
        "cat.name-role-value",
        "wcag2a",
        "wcag412",
        "section508",
        "section508.22.a",
        "TTv5",
        "TT6.a",
        "EN-301-549",
        "EN-9.4.1.2",
        "ACT"
      ],
      "description": "Ensure buttons have discernible text",
      "help": "Buttons must have discernible text",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/button-name?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "button-has-visible-text",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "Element has inner text that is visible to screen readers"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<button type=\"button\" class=\"active\" data-unit=\"metric\">Metric</button>",
          "target": [
            "button[data-unit=\"metric\"]"
          ]
        }
      ]
    },
    {
      "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>One team for your <span>whole health</span> \u2014 from checkups to personal bests.</h1>",
                  "target": [
                    "h1"
                  ]
                },
                {
                  "html": "<h2>Care that connects the dots</h2>",
                  "target": [
                    "#services > .container > .section-head > h2"
                  ]
                },
                {
                  "html": "<h3>Primary Care &amp; Preventive Screening</h3>",
                  "target": [
                    ".card:nth-child(1) > h3"
                  ]
                },
                {
                  "html": "<h3>Personal Training &amp; Strength Coaching</h3>",
                  "target": [
                    ".card:nth-child(2) > h3"
                  ]
                },
                {
                  "html": "<h3>Nutrition Counseling</h3>",
                  "target": [
                    ".card:nth-child(3) > h3"
                  ]
                },
                {
                  "html": "<h3>Mental Health &amp; Stress Care</h3>",
                  "target": [
                    ".card:nth-child(4) > h3"
                  ]
                },
                {
                  "html": "<h3>Physical Therapy &amp; Recovery</h3>",
                  "target": [
                    ".card:nth-child(5) > h3"
                  ]
                },
                {
                  "html": "<h3>Healthy Aging &amp; Longevity</h3>",
                  "target": [
                    ".card:nth-child(6) > h3"
                  ]
                },
                {
                  "html": "<h2>A clinic that feels like a studio, and a studio that thinks like a clinic</h2>",
                  "target": [
                    "#wellness-center > .split.container > div:nth-child(2) > h2"
                  ]
                },
                {
                  "html": "<h2>Training that respects your body and your calendar</h2>",
                  "target": [
                    ".reverse > div:nth-child(2) > h2"
                  ]
                },
                {
                  "html": "<h2>Know your numbers. Build better habits.</h2>",
                  "target": [
                    "#tools > .container > .center.section-head > h2"
                  ]
                },
                {
                  "html": "<h3>\u2696\ufe0f BMI Calculator</h3>",
                  "target": [
                    "#bmiTool > h3"
                  ]
                },
                {
                  "html": "<h3>\ud83d\udcc8 Daily Health Tracker</h3>",
                  "target": [
                    "#trackerTool > h3"
                  ]
                },
                {
                  "html": "<h2>Eat for energy, not for rules</h2>",
                  "target": [
                    "#nutrition > h2"
                  ]
                },
                {
                  "html": "<h3>The 90-Minute Sunday Reset: Meal Prep for Busy People</h3>",
                  "target": [
                    "#nutrition > .post-grid > .post:nth-child(1) > .post-body > h3"
                  ]
                },
                {
                  "html": "<h3>How Much Protein Do You Really Need After 40?</h3>",
                  "target": [
                    "#nutrition > .post-grid > .post:nth-child(2) > .post-body > h3"
                  ]
                },
                {
                  "html": "<h2>Strong minds build strong bodies</h2>",
                  "target": [
                    "#mental-health > h2"
                  ]
                },
                {
                  "html": "<h3>Seven Evening Habits That Improve Sleep Quality</h3>",
                  "target": [
                    "#mental-health > .post-grid > .post:nth-child(1) > .post-body > h3"
                  ]
                },
                {
                  "html": "<h3>Box Breathing and Other 5-Minute Tools for Stressful Days</h3>",
                  "target": [
                    "#mental-health > .post-grid > .post:nth-child(2) > .post-body > h3"
                  ]
                },
                {
                  "html": "<h2>Understand your health, in plain language</h2>",
                  "target": [
                    "#education-hub > h2"
                  ]
                },
                {
                  "html": "<h3>Preventive Screening Checklist by Age</h3>",
                  "target": [
                    "#education-hub > .post-grid > .post:nth-child(1) > .post-body > h3"
                  ]
                },
                {
                  "html": "<h3>Reading Your Vital Signs and Lab Results</h3>",
                  "target": [
                    "#education-hub > .post-grid > .post:nth-child(2) > .post-body > h3"
                  ]
                },
                {
                  "html": "<h3>Training Through Pain: When to Push, When to Rest</h3>",
                  "target": [
                    ".post:nth-child(3) > .post-body > h3"
                  ]
                },
                {
                  "html": "<h3>Getting the Most From Your Member Portal</h3>",
                  "target": [
                    ".post:nth-child(4) > .post-body > h3"
                  ]
                },
                {
                  "html": "<h3>\ud83d\uddd3\ufe0f Class Schedule</h3>",
                  "target": [
                    ".widget:nth-child(1) > h3"
                  ]
                },
                {
                  "html": "<h3>\ud83d\udd25 30-Day Strength Challenge</h3>",
                  "target": [
                    ".challenge > h3"
                  ]
                },
                {
                  "html": "<h3>\ud83d\udcac Member Spotlight</h3>",
                  "target": [
                    ".widget:nth-child(3) > h3"
                  ]
                },
                {
                  "html": "<h3>\ud83d\udcec Weekly Wellness Digest</h3>",
                  "target": [
                    ".widget:nth-child(4) > h3"
                  ]
                },
                {
                  "html": "<h3>\ud83d\udea8 Need support now?</h3>",
                  "target": [
                    ".hotline > h3"
                  ]
                },
                {
                  "html": "<h2>Credentialed experts who actually collaborate</h2>",
                  "target": [
                    "#team > .container > .section-head > h2"
                  ]
                },
                {
                  "html": "<h3>Dr. Amara Okafor, MD</h3>",
                  "target": [
                    ".member:nth-child(1) > h3"
                  ]
                },
                {
                  "html": "<h3>Marcus Lee, MS, RD</h3>",
                  "target": [
                    ".member:nth-child(2) > h3"
                  ]
                },
                {
                  "html": "<h3>Dr. Priya Raman, PsyD</h3>",
                  "target": [
                    ".member:nth-child(3) > h3"
                  ]
                },
                {
                  "html": "<h3>Tom\u00e1s Herrera, CSCS</h3>",
                  "target": [
                    ".member:nth-child(4) > h3"
                  ]
                },
                {
                  "html": "<h2>Simple plans. No long-term lock-in.</h2>",
                  "target": [
                    "#plans > .container > .center.section-head > h2"
                  ]
                },
                {
                  "html": "<h3>Essentials</h3>",
                  "target": [
                    ".plan:nth-child(1) > h3"
                  ]
                },
                {
                  "html": "<h3>Integrated Care</h3>",
                  "target": [
                    ".featured > h3"
                  ]
                },
                {
                  "html": "<h3>Concierge</h3>",
                  "target": [
                    ".plan:nth-child(3) > h3"
                  ]
                },
                {
                  "html": "<h2>Real people. Measurable progress.</h2>",
                  "target": [
                    "#stories > .container > .center.section-head > h2"
                  ]
                },
                {
                  "html": "<h2>Frequently asked questions</h2>",
                  "target": [
                    "#faq > .container > .center.section-head > h2"
                  ]
                },
                {
                  "html": "<h2>Schedule your appointment today</h2>",
                  "target": [
                    ".book-grid > div:nth-child(1) > h2"
                  ]
                },
                {
                  "html": "<h3>Request an appointment</h3>",
                  "target": [
                    ".form-card > h3"
                  ]
                },
                {
                  "html": "<h4>Explore</h4>",
                  "target": [
                    "div:nth-child(2) > h4"
                  ]
                },
                {
                  "html": "<h4>Resources</h4>",
                  "target": [
                    "div:nth-child(3) > h4"
                  ]
                },
                {
                  "html": "<h4>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": "#cfe7e3",
                "bgColor": "#06302e",
                "contrastRatio": 11.01,
                "fontSize": "10.2pt (13.6px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [],
              "impact": "serious",
              "message": "Element has sufficient color contrast of 11.01"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<span>\ud83d\udccd 482 Harbor Street, Suite 200, Portland, OR 97204</span>",
          "target": [
            ".topbar > .container > div:nth-child(1) > span: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": "primaryNav",
              "relatedNodes": [],
              "impact": "critical",
              "message": "Document has no elements referenced with ARIA or labels that share the same id attribute"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<nav class=\"primary\" id=\"primaryNav\" aria-label=\"Primary\">",
          "target": [
            "#primaryNav"
          ]
        }
      ]
    },
    {
      "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=\"cm\">Height (cm)</label>",
                  "target": [
                    "label[for=\"cm\"]"
                  ]
                }
              ],
              "impact": "moderate",
              "message": "Form field does not have multiple label elements"
            }
          ],
          "impact": null,
          "html": "<input type=\"number\" id=\"cm\" min=\"100\" max=\"250\" placeholder=\"e.g. 170\">",
          "target": [
            "#cm"
          ]
        }
      ]
    },
    {
      "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/104x104/0f6b63/ffffff?text=V&amp;font=montserrat\" alt=\"Vitalis logo\" width=\"52\" height=\"52\">",
          "target": [
            "img[width=\"52\"]"
          ]
        }
      ]
    },
    {
      "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": "Height (cm)"
              },
              "relatedNodes": [
                {
                  "html": "<label for=\"cm\">Height (cm)</label>",
                  "target": [
                    "label[for=\"cm\"]"
                  ]
                }
              ],
              "impact": "critical",
              "message": "Element has an explicit <label>"
            },
            {
              "id": "non-empty-placeholder",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "Element has a placeholder attribute"
            }
          ],
          "all": [],
          "none": [
            {
              "id": "hidden-explicit-label",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "Form element has a visible explicit <label>"
            }
          ],
          "impact": null,
          "html": "<input type=\"number\" id=\"cm\" min=\"100\" max=\"250\" placeholder=\"e.g. 170\">",
          "target": [
            "#cm"
          ]
        }
      ]
    },
    {
      "id": "link-in-text-block",
      "impact": "serious",
      "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": "<article class=\"card\">",
                  "target": [
                    ".card:nth-child(1)"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Links can be distinguished from surrounding text by visual styling"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<a class=\"more\" href=\"#book\">Schedule Appointment \u2192</a>",
          "target": [
            ".card:nth-child(1) > .more[href$=\"#book\"]"
          ]
        }
      ]
    },
    {
      "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\" href=\"#main\">Skip to main content</a>",
          "target": [
            ".skip"
          ]
        }
      ]
    },
    {
      "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>",
          "target": [
            "#primaryNav > ul"
          ]
        }
      ]
    },
    {
      "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=\"#services\">Services</a></li>",
          "target": [
            "#primaryNav > ul > 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\">",
          "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/104x104/0f6b63/ffffff?text=V&amp;font=montserrat\" alt=\"Vitalis logo\" width=\"52\" height=\"52\">",
          "target": [
            "img[width=\"52\"]"
          ]
        }
      ]
    },
    {
      "id": "select-name",
      "impact": null,
      "tags": [
        "cat.forms",
        "wcag2a",
        "wcag412",
        "section508",
        "section508.22.n",
        "TTv5",
        "TT5.c",
        "EN-301-549",
        "EN-9.4.1.2",
        "ACT"
      ],
      "description": "Ensure select element has an accessible name",
      "help": "Select element must have an accessible name",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/select-name?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "explicit-label",
              "data": {
                "explicitLabel": "Service"
              },
              "relatedNodes": [
                {
                  "html": "<label for=\"service\">Service</label>",
                  "target": [
                    "label[for=\"service\"]"
                  ]
                }
              ],
              "impact": "critical",
              "message": "Element has an explicit <label>"
            }
          ],
          "all": [],
          "none": [
            {
              "id": "hidden-explicit-label",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "Form element has a visible explicit <label>"
            }
          ],
          "impact": null,
          "html": "<select id=\"service\">",
          "target": [
            "#service"
          ]
        }
      ]
    },
    {
      "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 see a physician or specialist at Vitalis?</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": 185.7,
                "height": 47.2
              },
              "relatedNodes": [],
              "impact": "serious",
              "message": "Control has sufficient size (185.7px by 47.2px, should be at least 24px by 24px)"
            },
            {
              "id": "target-offset",
              "data": {
                "closestOffset": 24,
                "minOffset": 24
              },
              "relatedNodes": [],
              "impact": "serious",
              "message": "Target has sufficient space from its closest neighbors. Safe clickable space has a diameter of 24px which is at least 24px."
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<a class=\"skip\" href=\"#main\">Skip to main content</a>",
          "target": [
            ".skip"
          ]
        }
      ]
    }
  ],
  "incomplete": [
    {
      "id": "aria-prohibited-attr",
      "impact": "serious",
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure ARIA attributes are not prohibited for an element's role",
      "help": "Elements must only use permitted ARIA attributes",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-prohibited-attr?application=axeAPI",
      "nodes": [
        {
          "any": [],
          "all": [],
          "none": [
            {
              "id": "aria-prohibited-attr",
              "data": {
                "role": null,
                "nodeName": "div",
                "messageKey": "noRoleSingular",
                "prohibited": [
                  "aria-label"
                ]
              },
              "relatedNodes": [],
              "impact": "serious",
              "message": "aria-label attribute is not well supported on a div with no valid role attribute."
            }
          ],
          "impact": "serious",
          "html": "<div class=\"stars\" aria-label=\"5 out of 5 stars\">\u2605\u2605\u2605\u2605\u2605</div>",
          "target": [
            ".t-card:nth-child(1) > .stars[aria-label=\"5 out of 5 stars\"]"
          ],
          "failureSummary": "Fix all of the following:\n  aria-label attribute is not well supported on a div with no valid role attribute."
        }
      ]
    },
    {
      "id": "color-contrast",
      "impact": "serious",
      "tags": [
        "cat.color",
        "wcag2aa",
        "wcag143",
        "TTv5",
        "TT13.c",
        "EN-301-549",
        "EN-9.1.4.3",
        "ACT"
      ],
      "description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds",
      "help": "Elements must meet minimum color contrast ratio thresholds",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/color-contrast?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fontSize": "9.4pt (12.48px)",
                "fontWeight": "bold",
                "messageKey": "pseudoContent",
                "expectedContrastRatio": "4.5:1"
              },
              "relatedNodes": [
                {
                  "html": "<section class=\"hero\">",
                  "target": [
                    ".hero"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element's background color could not be determined due to a pseudo element"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span class=\"eyebrow\">Integrated care \u00b7 Evidence-based coaching</span>",
          "target": [
            ".hero-grid > div:nth-child(1) > .eyebrow"
          ],
          "failureSummary": "Fix any of the following:\n  Element's background color could not be determined due to a pseudo element"
        }
      ]
    },
    {
      "id": "link-in-text-block",
      "impact": "serious",
      "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",
              "data": {
                "messageKey": "bgOverlap"
              },
              "relatedNodes": [
                {
                  "html": "<div class=\"post-body\"><span class=\"tag\">Screening</span><h3>Preventive Screening Checklist by Age</h3><p>From blood pressure and cholesterol to colon and skin checks \u2014 know which screenings to schedule in your 30s, 40s, 50s and beyond.</p><a href=\"#book\">Download the checklist \u2192</a></div>",
                  "target": [
                    "#education-hub > .post-grid > .post:nth-child(1) > .post-body"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element's contrast ratio could not be determined because of element overlap"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<a href=\"#book\">Download the checklist \u2192</a>",
          "target": [
            ".post:nth-child(1) > .post-body > a[href$=\"#book\"]"
          ],
          "failureSummary": "Fix any of the following:\n  Element's contrast ratio could not be determined because of element overlap"
        }
      ]
    }
  ],
  "violations": [
    {
      "id": "aria-required-children",
      "impact": "critical",
      "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": [
        {
          "any": [
            {
              "id": "aria-required-children",
              "data": {
                "messageKey": "unallowed",
                "values": "button[tabindex]"
              },
              "relatedNodes": [
                {
                  "html": "<button class=\"\" data-day=\"mon\">Mon</button>",
                  "target": [
                    "button[data-day=\"mon\"]"
                  ]
                },
                {
                  "html": "<button data-day=\"tue\">Tue</button>",
                  "target": [
                    "button[data-day=\"tue\"]"
                  ]
                },
                {
                  "html": "<button data-day=\"wed\">Wed</button>",
                  "target": [
                    "button[data-day=\"wed\"]"
                  ]
                },
                {
                  "html": "<button data-day=\"thu\" class=\"active\">Thu</button>",
                  "target": [
                    "button[data-day=\"thu\"]"
                  ]
                },
                {
                  "html": "<button data-day=\"fri\">Fri</button>",
                  "target": [
                    "button[data-day=\"fri\"]"
                  ]
                },
                {
                  "html": "<button data-day=\"sat\">Sat</button>",
                  "target": [
                    "button[data-day=\"sat\"]"
                  ]
                }
              ],
              "impact": "critical",
              "message": "Element has children which are not allowed: button[tabindex]"
            }
          ],
          "all": [],
          "none": [],
          "impact": "critical",
          "html": "<div class=\"tabs\" id=\"schedTabs\" role=\"tablist\">",
          "target": [
            "#schedTabs"
          ],
          "failureSummary": "Fix any of the following:\n  Element has children which are not allowed: button[tabindex]"
        }
      ]
    },
    {
      "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": "#ffffff",
                "bgColor": "#ff6b4a",
                "contrastRatio": 2.81,
                "fontSize": "10.6pt (14.08px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<a class=\"cta\" href=\"#book\">Schedule Appointment</a>",
                  "target": [
                    ".cta"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 2.81 (foreground color: #ffffff, background color: #ff6b4a, font size: 10.6pt (14.08px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<a class=\"cta\" href=\"#book\">Schedule Appointment</a>",
          "target": [
            ".cta"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 2.81 (foreground color: #ffffff, background color: #ff6b4a, font size: 10.6pt (14.08px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#e5502f",
                "bgColor": "#ffffff",
                "contrastRatio": 3.8,
                "fontSize": "9.4pt (12.48px)",
                "fontWeight": "bold",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<body>",
                  "target": [
                    "body"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.8 (foreground color: #e5502f, background color: #ffffff, font size: 9.4pt (12.48px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span class=\"eyebrow\">Medical &amp; Wellness Services</span>",
          "target": [
            "#services > .container > .section-head > .eyebrow"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.8 (foreground color: #e5502f, background color: #ffffff, font size: 9.4pt (12.48px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#e5502f",
                "bgColor": "#f0faf8",
                "contrastRatio": 3.57,
                "fontSize": "9.4pt (12.48px)",
                "fontWeight": "bold",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<section class=\"section bg-soft\" id=\"wellness-center\">",
                  "target": [
                    "#wellness-center"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.57 (foreground color: #e5502f, background color: #f0faf8, font size: 9.4pt (12.48px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span class=\"eyebrow\">The Wellness Center</span>",
          "target": [
            "#wellness-center > .split.container > div:nth-child(2) > .eyebrow"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.57 (foreground color: #e5502f, background color: #f0faf8, font size: 9.4pt (12.48px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#ffffff",
                "bgColor": "#ff6b4a",
                "contrastRatio": 2.81,
                "fontSize": "11.4pt (15.2px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<a class=\"btn btn-primary\" href=\"#book\">Book Your Baseline Assessment</a>",
                  "target": [
                    ".split.container > div:nth-child(2) > .btn-primary.btn[href$=\"#book\"]"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 2.81 (foreground color: #ffffff, background color: #ff6b4a, font size: 11.4pt (15.2px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<a class=\"btn btn-primary\" href=\"#book\">Book Your Baseline Assessment</a>",
          "target": [
            ".split.container > div:nth-child(2) > .btn-primary.btn[href$=\"#book\"]"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 2.81 (foreground color: #ffffff, background color: #ff6b4a, font size: 11.4pt (15.2px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#e5502f",
                "bgColor": "#ffffff",
                "contrastRatio": 3.8,
                "fontSize": "9.4pt (12.48px)",
                "fontWeight": "bold",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<body>",
                  "target": [
                    "body"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.8 (foreground color: #e5502f, background color: #ffffff, font size: 9.4pt (12.48px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span class=\"eyebrow\">Fitness &amp; Personal Training</span>",
          "target": [
            ".reverse > div:nth-child(2) > .eyebrow"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.8 (foreground color: #e5502f, background color: #ffffff, font size: 9.4pt (12.48px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#ffffff",
                "bgColor": "#ff6b4a",
                "contrastRatio": 2.81,
                "fontSize": "11.4pt (15.2px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<a class=\"btn btn-primary\" href=\"#plans\">Compare Membership Plans</a>",
                  "target": [
                    ".btn-primary.btn[href$=\"#plans\"]"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 2.81 (foreground color: #ffffff, background color: #ff6b4a, font size: 11.4pt (15.2px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<a class=\"btn btn-primary\" href=\"#plans\">Compare Membership Plans</a>",
          "target": [
            ".btn-primary.btn[href$=\"#plans\"]"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 2.81 (foreground color: #ffffff, background color: #ff6b4a, font size: 11.4pt (15.2px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#e5502f",
                "bgColor": "#f0faf8",
                "contrastRatio": 3.57,
                "fontSize": "9.4pt (12.48px)",
                "fontWeight": "bold",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<section class=\"section bg-soft\" id=\"tools\">",
                  "target": [
                    "#tools"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.57 (foreground color: #e5502f, background color: #f0faf8, font size: 9.4pt (12.48px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span class=\"eyebrow\">Free Health Tools</span>",
          "target": [
            "#tools > .container > .center.section-head > .eyebrow"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.57 (foreground color: #e5502f, background color: #f0faf8, font size: 9.4pt (12.48px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#ffffff",
                "bgColor": "#ff6b4a",
                "contrastRatio": 2.81,
                "fontSize": "11.4pt (15.2px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<button class=\"btn btn-primary\" type=\"submit\">Calculate BMI</button>",
                  "target": [
                    "#bmiForm > .btn-primary.btn[type=\"submit\"]"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 2.81 (foreground color: #ffffff, background color: #ff6b4a, font size: 11.4pt (15.2px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<button class=\"btn btn-primary\" type=\"submit\">Calculate BMI</button>",
          "target": [
            "#bmiForm > .btn-primary.btn[type=\"submit\"]"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 2.81 (foreground color: #ffffff, background color: #ff6b4a, font size: 11.4pt (15.2px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#e5502f",
                "bgColor": "#ffffff",
                "contrastRatio": 3.8,
                "fontSize": "9.4pt (12.48px)",
                "fontWeight": "bold",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<body>",
                  "target": [
                    "body"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.8 (foreground color: #e5502f, background color: #ffffff, font size: 9.4pt (12.48px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span class=\"eyebrow\">Nutrition</span>",
          "target": [
            "#nutrition > .eyebrow"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.8 (foreground color: #e5502f, background color: #ffffff, font size: 9.4pt (12.48px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#e5502f",
                "bgColor": "#ffffff",
                "contrastRatio": 3.8,
                "fontSize": "9.4pt (12.48px)",
                "fontWeight": "bold",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<body>",
                  "target": [
                    "body"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.8 (foreground color: #e5502f, background color: #ffffff, font size: 9.4pt (12.48px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span class=\"eyebrow\">Mental Health</span>",
          "target": [
            "#mental-health > .eyebrow"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.8 (foreground color: #e5502f, background color: #ffffff, font size: 9.4pt (12.48px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#e5502f",
                "bgColor": "#ffffff",
                "contrastRatio": 3.8,
                "fontSize": "9.4pt (12.48px)",
                "fontWeight": "bold",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<body>",
                  "target": [
                    "body"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.8 (foreground color: #e5502f, background color: #ffffff, font size: 9.4pt (12.48px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span class=\"eyebrow\">Health Education &amp; Patient Resources</span>",
          "target": [
            "#education-hub > .eyebrow"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.8 (foreground color: #e5502f, background color: #ffffff, font size: 9.4pt (12.48px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#e5502f",
                "bgColor": "#ffffff",
                "contrastRatio": 3.8,
                "fontSize": "9.8pt (13.12px)",
                "fontWeight": "bold",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<div class=\"widget\">",
                  "target": [
                    ".widget:nth-child(1)"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.8 (foreground color: #e5502f, background color: #ffffff, font size: 9.8pt (13.12px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<time>6:30 AM</time>",
          "target": [
            "li:nth-child(1) > time"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.8 (foreground color: #e5502f, background color: #ffffff, font size: 9.8pt (13.12px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#e5502f",
                "bgColor": "#ffffff",
                "contrastRatio": 3.8,
                "fontSize": "9.8pt (13.12px)",
                "fontWeight": "bold",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<div class=\"widget\">",
                  "target": [
                    ".widget:nth-child(1)"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.8 (foreground color: #e5502f, background color: #ffffff, font size: 9.8pt (13.12px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<time>9:00 AM</time>",
          "target": [
            "li:nth-child(2) > time"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.8 (foreground color: #e5502f, background color: #ffffff, font size: 9.8pt (13.12px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#e5502f",
                "bgColor": "#ffffff",
                "contrastRatio": 3.8,
                "fontSize": "9.8pt (13.12px)",
                "fontWeight": "bold",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<div class=\"widget\">",
                  "target": [
                    ".widget:nth-child(1)"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.8 (foreground color: #e5502f, background color: #ffffff, font size: 9.8pt (13.12px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<time>12:15 PM</time>",
          "target": [
            "li:nth-child(3) > time"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.8 (foreground color: #e5502f, background color: #ffffff, font size: 9.8pt (13.12px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#e5502f",
                "bgColor": "#ffffff",
                "contrastRatio": 3.8,
                "fontSize": "9.8pt (13.12px)",
                "fontWeight": "bold",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<div class=\"widget\">",
                  "target": [
                    ".widget:nth-child(1)"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.8 (foreground color: #e5502f, background color: #ffffff, font size: 9.8pt (13.12px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<time>6:00 PM</time>",
          "target": [
            "li:nth-child(4) > time"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.8 (foreground color: #e5502f, background color: #ffffff, font size: 9.8pt (13.12px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#ffffff",
                "bgColor": "#ff6b4a",
                "contrastRatio": 2.81,
                "fontSize": "10.2pt (13.6px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<a class=\"btn btn-primary btn-sm\" href=\"#book\" style=\"margin-top:12px\">Reserve a Spot</a>",
                  "target": [
                    ".widget:nth-child(1) > .btn-sm.btn-primary.btn"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 2.81 (foreground color: #ffffff, background color: #ff6b4a, font size: 10.2pt (13.6px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<a class=\"btn btn-primary btn-sm\" href=\"#book\" style=\"margin-top:12px\">Reserve a Spot</a>",
          "target": [
            ".widget:nth-child(1) > .btn-sm.btn-primary.btn"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 2.81 (foreground color: #ffffff, background color: #ff6b4a, font size: 10.2pt (13.6px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#ffffff",
                "bgColor": "#ff6b4a",
                "contrastRatio": 2.81,
                "fontSize": "10.2pt (13.6px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<button class=\"btn btn-primary btn-sm\" type=\"submit\" style=\"width:100%;justify-content:center\">Subscribe</button>",
                  "target": [
                    ".btn-sm.btn-primary[type=\"submit\"]"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 2.81 (foreground color: #ffffff, background color: #ff6b4a, font size: 10.2pt (13.6px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<button class=\"btn btn-primary btn-sm\" type=\"submit\" style=\"width:100%;justify-content:center\">Subscribe</button>",
          "target": [
            ".btn-sm.btn-primary[type=\"submit\"]"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 2.81 (foreground color: #ffffff, background color: #ff6b4a, font size: 10.2pt (13.6px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#e5502f",
                "bgColor": "#f0faf8",
                "contrastRatio": 3.57,
                "fontSize": "9.4pt (12.48px)",
                "fontWeight": "bold",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<section class=\"section bg-soft\" id=\"team\">",
                  "target": [
                    "#team"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.57 (foreground color: #e5502f, background color: #f0faf8, font size: 9.4pt (12.48px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span class=\"eyebrow\">Meet Your Care Team</span>",
          "target": [
            "#team > .container > .section-head > .eyebrow"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.57 (foreground color: #e5502f, background color: #f0faf8, font size: 9.4pt (12.48px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#e5502f",
                "bgColor": "#ffffff",
                "contrastRatio": 3.8,
                "fontSize": "9.4pt (12.48px)",
                "fontWeight": "bold",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<body>",
                  "target": [
                    "body"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.8 (foreground color: #e5502f, background color: #ffffff, font size: 9.4pt (12.48px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span class=\"eyebrow\">Membership</span>",
          "target": [
            "#plans > .container > .center.section-head > .eyebrow"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.8 (foreground color: #e5502f, background color: #ffffff, font size: 9.4pt (12.48px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#ffffff",
                "bgColor": "#ff6b4a",
                "contrastRatio": 2.81,
                "fontSize": "11.4pt (15.2px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<a class=\"btn btn-primary\" href=\"#book\">Get Started</a>",
                  "target": [
                    ".featured > .btn-primary.btn[href$=\"#book\"]"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 2.81 (foreground color: #ffffff, background color: #ff6b4a, font size: 11.4pt (15.2px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<a class=\"btn btn-primary\" href=\"#book\">Get Started</a>",
          "target": [
            ".featured > .btn-primary.btn[href$=\"#book\"]"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 2.81 (foreground color: #ffffff, background color: #ff6b4a, font size: 11.4pt (15.2px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#e5502f",
                "bgColor": "#ffffff",
                "contrastRatio": 3.8,
                "fontSize": "9.4pt (12.48px)",
                "fontWeight": "bold",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<body>",
                  "target": [
                    "body"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.8 (foreground color: #e5502f, background color: #ffffff, font size: 9.4pt (12.48px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span class=\"eyebrow\">Patient Resources</span>",
          "target": [
            "#faq > .container > .center.section-head > .eyebrow"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.8 (foreground color: #e5502f, background color: #ffffff, font size: 9.4pt (12.48px), font weight: bold). Expected contrast ratio of 4.5:1"
        }
      ]
    }
  ],
  "coverage": {
    "contract": "main-document-vertical-scroll",
    "complete": true,
    "positions": [
      {
        "y": 0,
        "height": 14898
      },
      {
        "y": 576,
        "height": 14898
      },
      {
        "y": 1152,
        "height": 14898
      },
      {
        "y": 1728,
        "height": 14898
      },
      {
        "y": 2304,
        "height": 14898
      },
      {
        "y": 2880,
        "height": 14898
      },
      {
        "y": 3456,
        "height": 14898
      },
      {
        "y": 4032,
        "height": 14898
      },
      {
        "y": 4608,
        "height": 14898
      },
      {
        "y": 5184,
        "height": 14898
      },
      {
        "y": 5760,
        "height": 14898
      },
      {
        "y": 6336,
        "height": 14898
      },
      {
        "y": 6912,
        "height": 14898
      },
      {
        "y": 7488,
        "height": 14898
      },
      {
        "y": 8064,
        "height": 14898
      },
      {
        "y": 8640,
        "height": 14898
      },
      {
        "y": 9216,
        "height": 14898
      },
      {
        "y": 9792,
        "height": 14898
      },
      {
        "y": 10368,
        "height": 14898
      },
      {
        "y": 10944,
        "height": 14898
      },
      {
        "y": 11520,
        "height": 14898
      },
      {
        "y": 12096,
        "height": 14898
      },
      {
        "y": 12672,
        "height": 14898
      },
      {
        "y": 13248,
        "height": 14898
      },
      {
        "y": 13824,
        "height": 14898
      },
      {
        "y": 14178,
        "height": 14898
      }
    ],
    "scans": 27,
    "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: "Wellness Center", "Nutrition", "Mental Health".
-   **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: "Health Education", "Patient Resources", "Medical Services".
    -   **Content Depth:** Populate each section with **substantial, realistic text** (multiple sentences/paragraphs). Use authentic industry language and terminology like: "personal training", "preventive screening", "vital signs".
    -   **Visuals:** Integrate relevant placeholder images logically within the content sections.
    -   **Calls to Action:** Include clear and contextually relevant CTAs. Use strong verbs similar to: "Schedule Appointment", "Calculate BMI", "Get Started".
-   **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: "health tracker".
-   **SIDEBAR (Optional):** If your design includes a sidebar, populate it with **useful, relevant content**. Ideas: "class schedule", "patient testimonials", "fitness challenges".
-   **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.